STEP 1676 — 自己記述契約 + conformance 計器

Date: 2026-09-02  ·  Repo: fc0web/rei-aios  ·  Scope: chat-Claude review 応答、pilot round 6 系統 の 検証可能化

起点

藤本さん 2026-09-02 message で chat-Claude review 転送。 pilot round 6/6 完了主張 に 対する 4 論点 指摘 + 推奨 「STEP 1676 (仮): 自己記述契約 + conformance 計器」。

chat-Claude review — 4 論点 fact-check 結果

論点判定詳細
①「6/6 = 統一 v2 pattern」 は 過剰 framing✅ 正しいsougou (learn_path) + external (source_metadata) は 機能追加 layer、moduleInfo とは 別。 「7 in-scope + 2 out-of-scope」 が 正確
② moduleInfo キー drift部分正しい実 grep で 7 module 全て 8 key 一致 (chat-Claude の step vs lastUpdateStep は module 層 vs entry 層の 別 semantics)、但し 命名 drift の spirit は 有効
③ 版番号 2.0.0 vs 0.2.0 食い違い✅ 正しい実装 全 MODULE_VERSION='2.0.0' 統一、私の 報告テンプレート で 「v0.2.0」 と 書いたのは 誤り
④ ⑥ agent connector の pin 版 rationale 記述なし✅ 正しい「6/6 到達 のため」 の honest disclosure 弱い、site page corrigendum candidate

v0.1 実装 (pure function、 副作用なし、 LLM 呼出なし)

  1. src/aios/self-description-contract/types.ts: SelfDescriptionContract (8 field) + ContractVerdict (CONFORM/NONCONFORM/N/A) + ConnectorSystem + PilotRoundSummary + VERSION_PATTERN (semver)
  2. src/aios/self-description-contract/verify.ts: verifyModuleInfo(info, systemId, sourcePath) pure function
  3. src/aios/self-description-contract/enumerate.ts: CONNECTOR_SYSTEMS 9 系統 + pilotRoundSummary() 集計
  4. src/aios/self-description-contract/index.ts: public API + dogfood moduleInfo()
  5. scripts/self-description-contract/report.ts: CLI runner
  6. test/step1676-*.ts: 11 section 35 assertion

実測 verdict — 「6/6」 の 検証可能命題化

Total systems:   9
In scope (moduleInfo contract):
  total:      7
  CONFORM:    7
  NONCONFORM: 0

Out of scope (function-add):
  total:      2
  verdict:    N/A
  reason:     evolutionKind=function-add — learn_path / source_metadata
              are catalog-position / data-source descriptions,
              not module self-descriptions

Per-system verdict:
  — [N/A       ] sougou-connectors                      tools/sougou-connectors/sougou_core.py
  — [N/A       ] sougou-external-connectors             tools/sougou-external-connectors/external_core.py
  ✓ [CONFORM   ] combinato-connector-graph              src/aios/connector-graph/index.ts
  ✓ [CONFORM   ] combinato-open-end-tags                src/aios/open-end-tags/index.ts
  ✓ [CONFORM   ] combinato-ghost-wire-detector          src/aios/ghost-wire-detector/index.ts
  ✓ [CONFORM   ] combinato-time-connector-runtime       src/aios/time-connector-runtime/index.ts
  ✓ [CONFORM   ] soft-connector-catalog                 src/mcp/connector-catalog.ts
  ✓ [CONFORM   ] hard-connector-template                src/fpga/connector-generator/index.ts
  ✓ [CONFORM   ] agent-connector                        src/agent-connector/index.ts
「6/6 完了」 主張 の 昇格: 「連なった 6 STEP arc の 報告」 → 「7 in-scope CONFORM + 2 out-of-scope N/A の 検証可能命題」 に 昇格。 STEP 1608 の {total, verdict, reason} pattern を 継承し、契約後 v3 arc は 6 個の 局所改修 を 並べる 形 を 避けられる。

Test 結果

test結果
test/step1676-*.ts (11 section 35 assertions)35/35 PASS
§1 dogfood: self module CONFORM to own contractPASS
§9 pilot round 7 in-scope CONFORM 実測PASS
§10 2 out-of-scope N/A + reason mentions function-addPASS (N/A confirmed)
既存 pilot round 6 STEP arc regression (step1671/1673/1674/1675 等)既 全 PASS
Honest scope:
  1. v0.1 = read-only 検査、変更 apply しない (計器 は 診断、 fix は 別 arc)。
  2. function-add 系 (STEP 1657/1662) は N/A 明示除外、chat-Claude 忠告 「範囲外」 vs 「退行」 の 区別を 型 level で 実装。
  3. contract の 8 field は pilot round 実測 の 追認、これから 選定する 訳ではない (7 module が 揃った field を 契約に 昇格)。
  4. per-entry version は 別 contract、本 module scope 外 (v0.2 candidate)。
  5. chat-Claude review 誤読 1 件 (moduleInfo キー drift) は 独立検証で 否定、但し spirit (契約なしの 場当たり命名) は 有効、本 STEP で 解消。
  6. 私の 過去 3 誤り (framing / 版番号報告 / rationale 不記載) は memory 保存、未来 の 類似 pilot で 再発予防。

Next STEP candidate (chat-Claude 推奨順)

  1. 各系統 v3 — 契約 (STEP 1676) からの 導出、6 個の 局所改修 を 並べる形 を 避ける
  2. agent connector Phase 2.5 verify 再検討 — ⑥ の 性格が 他と 違うこと が はっきりした 以上、 契約後 の review
  3. note 記事 STEP 1629 corrigendum — 藤本さん 手動編集 待機 (session 選択肢ではない)

Files (repo 側)