Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
af43ba8
feat(loop-monitor): add durable core runtime
j5ik2o Aug 3, 2026
d5e3f67
fix(loop-monitor): synchronize generated artifacts
j5ik2o Aug 3, 2026
5aa344c
feat(quality-repair): add bounded repair runtime
j5ik2o Aug 3, 2026
da19c20
docs(intent-autonomy): record runtime design
j5ik2o Aug 3, 2026
58192f3
feat(intent-autonomy): add durable intent-scoped runtime
j5ik2o Aug 3, 2026
c981968
fix(quality-repair): avoid legacy observe callsite
j5ik2o Aug 3, 2026
98e3ca0
docs(autonomy-review): record observability design
j5ik2o Aug 3, 2026
f695ec3
feat(autonomy): add decision review observability
j5ik2o Aug 4, 2026
49081ca
docs(autonomy-review): add code generation artifacts
j5ik2o Aug 4, 2026
e792254
docs(intent-completion): record five-harness design
j5ik2o Aug 4, 2026
bf59bb1
feat(intent-completion): require five live harness receipts
j5ik2o Aug 4, 2026
4d0b948
feat(intent-autonomy): complete autonomous workflow integration
j5ik2o Aug 4, 2026
f628340
test(coverage): measure autonomy production lifecycle
j5ik2o Aug 4, 2026
df3acc2
refactor(doctor): isolate Pi probe complexity
j5ik2o Aug 4, 2026
4f63c6c
test(coverage): exercise autonomy fail-closed paths
j5ik2o Aug 4, 2026
12f1be1
fix(autonomy): remove legacy standing grant authorization
j5ik2o Aug 4, 2026
8945e8f
test(no-silent-drop): rebind adoption evidence
j5ik2o Aug 4, 2026
b21d335
fix(autonomy): restore complexity gate after grant removal
j5ik2o Aug 4, 2026
e112b6a
test(no-silent-drop): rebind adoption evidence
j5ik2o Aug 4, 2026
6670d49
fix(autonomy): address review feedback
j5ik2o Aug 4, 2026
ee1d4c9
fix(autonomy): preserve fail-closed validation after rebase
j5ik2o Aug 4, 2026
af93f5d
test(no-silent-drop): rebind baseline provenance
j5ik2o Aug 4, 2026
55b6377
test(no-silent-drop): rebind adoption evidence
j5ik2o Aug 4, 2026
a06b681
test(coverage): refresh autonomy status selectors
j5ik2o Aug 4, 2026
a8f1617
test(autonomy): gate semi-autonomous swarm dispatch
j5ik2o Aug 4, 2026
a0467d1
test(coverage): allowlist defensive replay cleanup
j5ik2o Aug 4, 2026
faeae38
test(no-silent-drop): rebind baseline after rebase
j5ik2o Aug 4, 2026
079a4ce
test(no-silent-drop): rebind adoption evidence
j5ik2o Aug 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# 260803-intent-autonomy 差分リフレッシュ

## 実行メタデータ

- Date: `2026-08-03T04:37:56Z`
- Base: `47574fbabf274e11cb8e0b37bf35a0309a7b3d42`
- Observed: `affe83afe9e60c48d608aef65b7035287a70aaad`
- Distance: `54 commits`
- Focus: [#2095](https://github.com/amadeus-dlc/amadeus/issues/2095) → [#2096](https://github.com/amadeus-dlc/amadeus/issues/2096) → [#2067](https://github.com/amadeus-dlc/amadeus/issues/2067)、GAP-01〜13、現行5harness、将来harness adapter境界
- Scan mode: Developer Code Scanを上流入力にしたArchitect differential synthesis。隔離worktree `/tmp/amadeus-re-scan.3qbico/repo` のobserved commitを独立再確認した静的scan。テスト・lint・typecheck・live smokeは未実行。
- 判定: 3 Issueは未実装。GAP-01〜13はすべて現行contractとの接続点を持つ。Developerが報告した追加8件をGAP-14〜21として独立再確認でき、結論差はない。未記載仕様は解決せず後続stageへ送る。

## BaseからObservedの差分

- `git rev-list --count base..observed`: `54`
- `git diff --shortstat`: `1,947 files changed, 193,980 insertions(+), 11,990 deletions(-)`
- 主な変更群: execution observability baseline(#2031)、scope-grid parity(#2041)、plugin opt-in永続化と全self-install面投影(#2049 / #2092)、durable convergence budget(#2048)、review / interaction contract(#2063)、fixed-width unit pool(#2071)、registry / election / state codec hardening(#2080 / #2085 / #2097 / #2099)、生成面とmetrics。
- 3 Issueの語彙・event・plugin・monitor実装は区間に含まれない。

## Packages・Modules・技術断面

| 項目 | observed実測 |
|---|---|
| workspace packages | `@amadeus-dlc/framework`、`@amadeus-dlc/setup` |
| Core tools | 103 TypeScript files |
| Core hooks | 13 TypeScript files |
| stage definitions | 32 Markdown files |
| packaged harness manifests | 7(claude / codex / cursor / opencode / kimi / kiro / kiro-ide) |
| authoring plugins | 1(`formal-model-check`) |
| runtime / language | Bun / TypeScript |
| quality stack | Biome、fast-check、TypeScript compiler |
| observability | OpenTelemetry API / Logs / async context |

責務は`packages/framework/core/`をharness-neutral正本、`packages/framework/harness/<name>/`をnative shell、`packages/setup/`をinstall domain、`plugins/`をfirst-party authoring sourceとする。Loop Monitor Core、Quality Repair Plugin、自動裁定review surfaceはまだ存在しない。

## 独立再確認した主要引用

| claim | observed file:line | 確認内容 |
|---|---|---|
| 現行autonomy語彙 | `packages/framework/core/tools/amadeus-orchestrate.ts:1545-1559` | fieldは`Construction Autonomy Mode`、値は`autonomous | gated | null` |
| Walking Skeleton常時gate | `amadeus-orchestrate.ts:1716-1761` | `on` / `off` / `scope-dependent`の全分岐が`true` |
| 一般stage gate | `amadeus-orchestrate.ts:2056-2070` | initialization以外は原則`true` |
| reviewer上限投影 | `amadeus-orchestrate.ts:2187-2191` | reviewerがあれば既定2 |
| standing grant domain | `amadeus-lib.ts:3840-3855` | 4h TTL、`stage-gates`、expiry、phase boundary |
| active grant判定 | `amadeus-lib.ts:3960-4008` | expired / revoked / provenanceで選別。suspend軸なし |
| grant発行 | `amadeus-state.ts:3911-3956` | scope固定、TTL入力、random 8 hex、`GRANT_ISSUED` |
| grant revoke | `amadeus-state.ts:3973-4008` | `GRANT_REVOKED`のみ |
| park | `amadeus-state.ts:1224-1269` | reason codeなし。現行autonomousではparkを拒否 |
| event vocabulary | `amadeus-audit.ts:123-137` | grant eventはISSUED / REVOKED、route receipt |
| completed audit seal | `amadeus-audit.ts:436-457` | status completeで一般appendを抑止 |
| lifecycle例外writer | `amadeus-audit.ts:475-485` | archive / unarchiveだけがpost-complete sealを迂回 |
| runtime graph schema | `amadeus-runtime.ts:124-137` | graph revision / monitor projectionなし |
| gate revision | `amadeus-state.ts:4040-4103` | `Revision Count`はhuman rejectionでincrement |
| reviewer canonical verdict | `amadeus-reviewer-runtime.ts:400-416` | `READY | NOT-READY`、BLOCKER整合を検証 |
| reviewer cap enforcement | `amadeus-reviewer-runtime.ts:580-590` | directive上限超過を拒否 |
| sensor script error | `amadeus-sensor.ts:682-720` | non-zero / signal / throwを`kind: passed`へ畳む |
| sensor terminal event | `amadeus-sensor.ts:817-852` | passed armは`SENSOR_PASSED`をemit |
| execution harness union | `amadeus-harness-capability.ts:8-15` | 7 harness closed union |
| capability record | `amadeus-harness-capability.ts:128-173` | union全件をclosed Recordへ列挙 |
| setup harness union | `packages/setup/src/domain/harness.ts:9-29` | 同じ7 harnessを別union / all配列で列挙 |
| package / self-install matrix | `scripts/plugin-projection.ts:41-59` | package 7 face、self-install 5 faceのclosed tuples |

Developer報告の主要所在・機序・結論と差はなかった。Architect側の精密化は、現行`park`がreason不足だけでなく`autonomous`時に明示拒否すること、およびcompleted audit sealにはarchive / unarchiveだけの限定例外が既にあることの2点である。

## GAP-01〜13の実装証拠

| GAP | 現行証拠 | 後続へ送る論点 |
|---|---|---|
| GAP-01 | active grantはexpiry / revokeで単一有効性判定。suspend軸なし | authorization lifecycleとexecution availabilityをどう分けるか |
| GAP-02 | park event / stateにreason codeなし。machine-readable envelope不在 | permission / irreversible / scope / waiver stopの閉包 |
| GAP-03 | grantはCore gate authorization、quality pluginは不在 | plugin resultとautonomy transitionのowner |
| GAP-04 | sensor script errorも`SENSOR_PASSED` | blocking obligationに採用するsensor / outcome集合 |
| GAP-05 | reviewer既定上限2、runtimeが超過拒否 | bounded reviewerとunbounded quality repairのhandoff |
| GAP-06 | replan / monitor implementation不在 | replan自身をどのcycle identityで監視するか |
| GAP-07 | directiveはstage既存producesだけを投影 | plugin mandatory outputのschema / owner / stage |
| GAP-08 | `decision_policies` / past-ruling index不在 | applicability / expiry / precedence / conflict |
| GAP-09 | terminal result envelope不在 | outcomeごとの`retryable`意味 |
| GAP-10 | quality plugin不在、none opt-in面なし | setting / audit contract |
| GAP-11 | live E2Eはharness別、部分完了contractなし | #1717の5harness部分の客観境界 |
| GAP-12 | current autonomyとstanding grantは別系統 | semiのauthorization provenance |
| GAP-13 | `autonomous/gated/unset`、Bolt1常時gate | migration / single source / legacy Intent compatibility |

## 追加で確認したGAP-14〜21

1. **GAP-14 — 完了済みIntentのreview audit保存先:** 一般auditはcompleteでsealed。`AUTO_DECISION_REVIEWED`をsame Intent auditへ書くには既存不変条件と衝突する。archive / unarchive専用例外はあるが、このeventを例外へ加えるべきかはIssue未記載。
2. **GAP-15 — 自動判断の安定ID:** grant IDとroute IDはあるが、`AUTO_DECIDED`と後日のaccept / flagを束縛するdecision ID、identity tuple、collision / replay規則がない。
3. **GAP-16 — graph revision導出規則:** runtime graphにrevision fieldがなく、state `Revision Count`はgate rejection count。#2095が履歴を束縛するgraph revisionの正本がない。
4. **GAP-17 — sensor擬似成功:** script errorが`SENSOR_PASSED`となるため、event名だけで品質成功と判定するとfalse greenになる。
5. **GAP-18 — reviewer `NOT-READY`表記:** Issueは`NOT READY`、runtime wireは`NOT-READY`。正規化しないとobligation fingerprintが表記で分裂する。
6. **GAP-19 — grant終了 / 置換event:** Event Registryの現行grant lifecycleはISSUED / REVOKEDのみ。Intent完了、新modeによる置換、suspend / resumeを区別するeventがない。
7. **GAP-20 — fixed retry上限の適用範囲:** reviewer cap、Stop/swarm durable convergence budget、Quality Repairの「通常経路上限なし」が並存するが、どのloopへどれを適用するか未定。
8. **GAP-21 — future harness closed union拡張点:** Core capability、Core detection、setup domain、package projection、self-install projectionにharness集合が分散。現状はadapterディレクトリ追加だけでは済まない。

## 不在claimと検索範囲

検索範囲は`packages/framework/core/`、`packages/framework/harness/`、`plugins/`、`tests/`。完全一致・識別子近似として`AUTO_DECIDED`、`AUTO_DECISION_REVIEWED`、`GRANT_EXERCISED`、`REPAIR_STALLED`、`NORM_CONFLICT`、`loop_monitors`、`quality-repair`、`decision_policies`を検索し0件。近似語`standing grant`、`Construction Autonomy Mode`、`reviewer_max_iterations`、`SENSOR_PASSED`、`WORKFLOW_PARKED`、`Revision Count`、`event_set_digest`は存在し、上記接続点を確認した。

`loop monitor`の一般語、`fixed point`、`churn`はknowledge / norm metrics / test commentsに別文脈で存在するため、識別子・plugin・runtime routeの実装証拠としては数えていない。

## API・依存・テスト所見

- API: 現行directive、grant CLI、review result、sensor audit、runtime graph、harness capabilityを拡張する必要がある。新しい公開HTTP APIはない。
- 依存順: #2095 → #2096 → #2067。Core Monitorへgrant意味論を逆流させない。
- 外部dependency: 新規追加の根拠なし。taktは参考実装でありruntime dependencyではない。
- テスト景観: unit 347、integration 400、e2e 89、smoke 15。現行autonomy / grant / reviewer関連43ファイル、3 Issueのtarget event / monitor語彙は0ファイル。
- live挙動: 全て未確認。5harness contract tests、opt-in live smoke、solo election / loud degradation、crash / resume、別clone、same fingerprint short-circuitは実行していない。

## 更新した成果物

1. `business-overview.md`
2. `architecture.md`
3. `code-structure.md`
4. `api-documentation.md`
5. `component-inventory.md`
6. `technology-stack.md`
7. `dependencies.md`
8. `code-quality-assessment.md`
9. `reverse-engineering-timestamp.md`
10. 本ファイル

直前の現在断面`260802-scope-grid-face-sync`は削除せず履歴へ降格した。履歴節のfile:lineは当時のobserved commitを指す。

## 未確認事項

- 5harnessの実行時behavior、live model / tool capability、headless modeは未確認。
- Issue本文にない8件の解決案は未確認・未決定。
- GAP-01〜13のcontract裁定はRequirements / Design待ち。
- base..observedの全1,947ファイルを逐語精査してはいない。diff統計、commit分類、対象moduleと近似語検索、主要引用の独立再確認で差分refreshした。
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"kind": "original",
"electionId": "E-AUTIC-S13",
"voter": "subagent-1",
"voterKind": "subagent",
"choiceInternalNo": 2,
"goa": 3,
"reservation": "候補2は新規の独立規範として重複追加せず、既存 cid:intent-capture:c4-2 の今回 Intent への適用証拠として統合し、Issue番号と実装順はこの Intent 固有の記録に留めること。",
"rationale": "候補2を選ぶ。独立実測では、amadeus/spaces/default/memory/project.md:12 に『大規模 initiative を規模だけで複数 intent へ分割せず、Unit 設計と Construction Bolt で分割し、依存グラフを確認する』という既存規範 cid:intent-capture:c4-2 があり、team.md:115 に Bolt を独立に切る既定がある。今回の intent-statement.md:40,48 と amadeus-state.md:4 は #2095→#2096→#2067 統合を1つの Intent 内の独立検証可能 Bolt として具体化しており、既存規範への適合が実証されている。一方、候補1を将来の一般規範として『Issueを正本』とすると、team.md:55,135 の『Intent record が仕様の正本で、Issue は record からの一方向ミラー』という既存規範と衝突する。intent-statement.md:53-55 の Issue Fidelity Rule は当該3 Issueの初期 contract に暗黙補完を加えず、9件の不足・矛盾を後続裁定へ送るという本 Intent 固有の安全策としては妥当だが、project 全体の一般則にはそのまま昇格できない。したがって、矛盾なく永続化できるのは候補2の一般原理であり、ただし既存 cid への追補として扱う。自案非採用時の受容度: 候補1は『当該3 Issueの初期 contract を入力根拠とするが、裁定後の正本は Intent record』と適用範囲を限定して team.md の正本規範との衝突を除けば GoA6 で受容する。",
"submittedAt": "2026-08-03T03:56:30Z"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"kind": "original",
"electionId": "E-AUTIC-S13",
"voter": "subagent-2",
"voterKind": "subagent",
"choiceInternalNo": 2,
"goa": 2,
"reservation": "既存の cid:intent-capture:c4-2 と重複するため、独立規範を新設せず、今回の3 Issueの依存順を同 cid の適用実例として追補してください。",
"rationale": "#2096 は #2095 を Blocker、#2067 を Consumer と明記し、#2067 も #2095 と #2096 を Blocker としているため、#2095→#2096→#2067統合の順序は一次証拠から確定する。project.md には論理的に1つのinitiativeを1 Intentに保ち、Unit/Boltで分割する既存則があり候補2はこれと整合する。候補1は今回のIntent限定のユーザー指示としては妥当だが、恒久的なproject規範にするとteam.mdの『Intent recordを仕様の正本、Issueを一方向の共有ビュー』と衝突する。",
"submittedAt": "2026-08-03T03:55:54Z"
}
22 changes: 22 additions & 0 deletions amadeus/spaces/default/elections/260803-e-autic-s13/election.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"electionId": "E-AUTIC-S13",
"kind": "learning-selection",
"question": "Intent Capture で記録した学習候補のうち、今後の実行規範として永続化する候補を選んでください。",
"choices": [
{
"internalNo": 1,
"label": "3件のIssueを正本として扱う",
"description": "Issueに未記載の仕様は暗黙補完せず、抜け漏れと矛盾だけを明示して後続stageへ渡す。→ project.md ## Corrections"
},
{
"internalNo": 2,
"label": "1つのumbrella Intentで依存順を維持する",
"description": "#2095、#2096、#2067統合を独立検証可能なBoltに分け、Intentの目的と実装順を分離する。→ project.md ## Corrections"
}
],
"voters": [
"subagent-1",
"subagent-2"
],
"state": "recorded"
}
27 changes: 27 additions & 0 deletions amadeus/spaces/default/elections/260803-e-autic-s13/ledger.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"ballots": [
{
"kind": "original",
"electionId": "E-AUTIC-S13",
"voter": "subagent-1",
"voterKind": "subagent",
"choiceInternalNo": 2,
"goa": 3,
"reservation": "候補2は新規の独立規範として重複追加せず、既存 cid:intent-capture:c4-2 の今回 Intent への適用証拠として統合し、Issue番号と実装順はこの Intent 固有の記録に留めること。",
"rationale": "候補2を選ぶ。独立実測では、amadeus/spaces/default/memory/project.md:12 に『大規模 initiative を規模だけで複数 intent へ分割せず、Unit 設計と Construction Bolt で分割し、依存グラフを確認する』という既存規範 cid:intent-capture:c4-2 があり、team.md:115 に Bolt を独立に切る既定がある。今回の intent-statement.md:40,48 と amadeus-state.md:4 は #2095→#2096→#2067 統合を1つの Intent 内の独立検証可能 Bolt として具体化しており、既存規範への適合が実証されている。一方、候補1を将来の一般規範として『Issueを正本』とすると、team.md:55,135 の『Intent record が仕様の正本で、Issue は record からの一方向ミラー』という既存規範と衝突する。intent-statement.md:53-55 の Issue Fidelity Rule は当該3 Issueの初期 contract に暗黙補完を加えず、9件の不足・矛盾を後続裁定へ送るという本 Intent 固有の安全策としては妥当だが、project 全体の一般則にはそのまま昇格できない。したがって、矛盾なく永続化できるのは候補2の一般原理であり、ただし既存 cid への追補として扱う。自案非採用時の受容度: 候補1は『当該3 Issueの初期 contract を入力根拠とするが、裁定後の正本は Intent record』と適用範囲を限定して team.md の正本規範との衝突を除けば GoA6 で受容する。",
"submittedAt": "2026-08-03T03:56:30Z"
},
{
"kind": "original",
"electionId": "E-AUTIC-S13",
"voter": "subagent-2",
"voterKind": "subagent",
"choiceInternalNo": 2,
"goa": 2,
"reservation": "既存の cid:intent-capture:c4-2 と重複するため、独立規範を新設せず、今回の3 Issueの依存順を同 cid の適用実例として追補してください。",
"rationale": "#2096 は #2095 を Blocker、#2067 を Consumer と明記し、#2067 も #2095 と #2096 を Blocker としているため、#2095→#2096→#2067統合の順序は一次証拠から確定する。project.md には論理的に1つのinitiativeを1 Intentに保ち、Unit/Boltで分割する既存則があり候補2はこれと整合する。候補1は今回のIntent限定のユーザー指示としては妥当だが、恒久的なproject規範にするとteam.mdの『Intent recordを仕様の正本、Issueを一方向の共有ビュー』と衝突する。",
"submittedAt": "2026-08-03T03:55:54Z"
}
],
"late": []
}
10 changes: 10 additions & 0 deletions amadeus/spaces/default/elections/260803-e-autic-s13/record.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Election Record — E-AUTIC-S13

- question: Intent Capture で記録した学習候補のうち、今後の実行規範として永続化する候補を選んでください。

裁定: 1つのumbrella Intentで依存順を維持する(choice 2: 2票)
内訳: choice1=0票 choice2=2票
- 留保(subagent-1, GoA3): 候補2は新規の独立規範として重複追加せず、既存 cid:intent-capture:c4-2 の今回 Intent への適用証拠として統合し、Issue番号と実装順はこの Intent 固有の記録に留めること。
- 留保(subagent-2, GoA2): 既存の cid:intent-capture:c4-2 と重複するため、独立規範を新設せず、今回の3 Issueの依存順を同 cid の適用実例として追補してください。
票タイムライン: 配信 2026-08-03T03:54:13Z → 配信 2026-08-03T03:54:13Z → subagent-1 2026-08-03T03:56:30Z(受理 2026-08-03T03:55:33Z) → subagent-2 2026-08-03T03:55:54Z(受理 2026-08-03T03:56:24Z) → 開票 2026-08-03T03:56:37Z
GoA[E-AUTIC-S13]: 1x0 2x1 3x1 4x0 5x0 6x0 7x0 8x0
Loading
Loading