docs(phase29ao): add p28 shadow adopt observability instruction

This commit is contained in:
2025-12-30 13:47:35 +09:00
parent bbd1194a26
commit 6acda7f15d
6 changed files with 107 additions and 8 deletions

View File

@ -19,8 +19,8 @@ Scope: Repo root の旧リンク互換。現行の入口は `docs/development/cu
`docs/development/current/main/design/coreplan-migration-roadmap-ssot.md` が移行タスクの Done 判定の入口。
**Next implementation (Phase 29ao P28)**
- 目的: TBD
- 指示書: TBD
- 目的: strict/dev shadow adoptFacts→CorePlanが “実際に踏まれている” ことを安定タグと回帰スモークで SSOT 化する(仕様不変)
- 指示書: `docs/development/current/main/phases/phase-29ao/P28-SHADOW-ADOPT-OBSERVABILITY-TAGS-AND-GATE-SMOKES-INSTRUCTIONS.md`
**2025-12-30: Phase 29ao P25 COMPLETE (Pattern5 strict/dev adopt from facts)**
Pattern5Infinite Early-Exitを strict/dev で Facts→CorePlan に寄せ、DomainPlan 経路との差分を Fail-Fast で検知できるようにした。

View File

@ -2,8 +2,8 @@
## Current Focus: Phase 29aoCorePlan composition
Next: Phase 29ao P28TBD
指示書: TBD
Next: Phase 29ao P28Shadow adopt observability: tags + gate smokes
指示書: `docs/development/current/main/phases/phase-29ao/P28-SHADOW-ADOPT-OBSERVABILITY-TAGS-AND-GATE-SMOKES-INSTRUCTIONS.md`
運用ルール: integration filter で phase143_* は回さないJoinIR 回帰は phase29ae pack のみ)
運用ルール: phase286_pattern9_* は legacy pack (SKIP) を使う
移行道筋 SSOT: `docs/development/current/main/design/coreplan-migration-roadmap-ssot.md`

View File

@ -15,8 +15,8 @@ Related:
- **Phase 29aoactive: CorePlan composition from Skeleton/Feature**
- 入口: `docs/development/current/main/phases/phase-29ao/README.md`
- 状況: P0P27 ✅ 完了 / Next: P28TBD
- Next 指示書: TBD
- 状況: P0P27 ✅ 完了 / Next: P28Shadow adopt observability
- Next 指示書: `docs/development/current/main/phases/phase-29ao/P28-SHADOW-ADOPT-OBSERVABILITY-TAGS-AND-GATE-SMOKES-INSTRUCTIONS.md`
- **Phase 29af✅ COMPLETE: Boundary hygiene / regression entrypoint / carrier layout SSOT**
- 入口: `docs/development/current/main/phases/phase-29af/README.md`

View File

@ -34,7 +34,7 @@ Related:
## 1.1 Current (active)
- Active phase: `docs/development/current/main/phases/phase-29ao/README.md`
- Next step: TBD (Phase 29ao P28)
- Next step: `docs/development/current/main/phases/phase-29ao/P28-SHADOW-ADOPT-OBSERVABILITY-TAGS-AND-GATE-SMOKES-INSTRUCTIONS.md`
## 2. すでに固めた SSOT再発防止の土台

View File

@ -0,0 +1,92 @@
---
Status: Ready
Scope: code+tests+docsstrict/dev のみ、仕様不変)
Related:
- docs/development/current/main/phases/phase-29ao/README.md
- tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh
- src/mir/builder/control_flow/joinir/patterns/router.rs
- docs/development/current/main/design/coreplan-migration-roadmap-ssot.md
---
# Phase 29ao P28: Shadow adopt observabilitystrict/dev tags + gate smokes
Date: 2025-12-30
Status: Ready for execution
Goal: strict/dev の shadow adoptFacts→CorePlan経路が **本当に踏まれている**ことを、安定タグと回帰スモークで SSOT 化する。
## 背景
- P17/P23/P24/P25/P26/P27 で複数 pattern に strict/dev shadow adopt を入れた。
- しかし「strict/dev で実行して PASS」だけだと、
- planner が `Ok(None)` に倒れて fallback が選ばれた
- ルール順序の都合で別経路になった
などで “shadow adopt が実際には踏まれていない” 可能性を検知しづらい。
P28 は **挙動を変えずに**「踏んだか」を機械的に検証可能にする。
## 非目的
- release 既定のログ/出力を増やす
- 新しい env var を追加する
- shadow adopt の適用範囲を広げるP28 は観測のみ)
## 実装方針
### 1) 安定タグを strict/dev のみ出力SSOT
対象:
- `src/mir/builder/control_flow/joinir/patterns/router.rs`
方針:
- `strict_or_dev` が true のときに限り、shadow adopt を **実際に採用した**タイミングで `eprintln!` する
- タグ文字列は固定・短い・検索しやすい形にするSSOT
推奨タグ:
- Pattern6: `[coreplan/shadow_adopt:pattern6_scan_with_init]`
- Pattern7: `[coreplan/shadow_adopt:pattern7_split_scan]`
(必要なら Pattern1/3/5/2subset も後で追加できるが、P28 では “P24/P27 を確実に踏む” 目的で 6/7 を優先)
注意:
- strict/dev onlyrelease 既定では出ない)
- 既存の promotion hint タグと同じく “診断用” として扱い、恒常ログ増加は起こさない
### 2) adopt 専用 smoke を追加し、回帰パックに組み込む
既存の `phase29ab_pattern6_` / `phase29ab_pattern7_` は複数 fixture を含み、contract/freezes も混ざるため、
“tag が出る fixture” を 1 本に固定する smoke を新設する。
追加ファイル:
- `tools/smokes/v2/profiles/integration/joinir/phase29ao_pattern6_strict_shadow_vm.sh`
- fixture: `apps/tests/phase29ab_pattern6_scan_with_init_ok_min.hako`
- strict: `HAKO_JOINIR_STRICT=1`
- 期待: exit=1既存 smoke と同じ)かつ tag を含む
- `tools/smokes/v2/profiles/integration/joinir/phase29ao_pattern7_strict_shadow_vm.sh`
- fixture: `apps/tests/phase29ab_pattern7_splitscan_ok_min.hako`
- strict: `HAKO_JOINIR_STRICT=1`
- 期待: exit=3既存 smoke と同じ)かつ tag を含む
回帰パックに追加:
- `tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
- `run_filter "pattern6_strict_shadow_vm" "phase29ao_pattern6_strict_shadow_vm"`
- `run_filter "pattern7_strict_shadow_vm" "phase29ao_pattern7_strict_shadow_vm"`
docs 更新:
- `docs/development/current/main/phases/phase-29ae/README.md` に pack 項目として追記
## テスト(必須)
- `cargo build --release`
- `./tools/smokes/v2/run.sh --profile quick`
- `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
## docs 更新
- `docs/development/current/main/phases/phase-29ao/README.md`P28 追加、Next 更新)
- `docs/development/current/main/10-Now.md` / `docs/development/current/main/30-Backlog.md` / `CURRENT_TASK.md`
- `docs/development/current/main/design/coreplan-migration-roadmap-ssot.md`Current/Next 更新)
## コミット
- `git add -A`
- `git commit -m "phase29ao(p28): add shadow adopt tags + gate smokes for p6/p7"`

View File

@ -162,6 +162,13 @@ GateSSOT:
- 指示書: `docs/development/current/main/phases/phase-29ao/P27-STRICT-ADOPT-PATTERN6-SCANWITHINIT-SUBSET-FROM-FACTS-INSTRUCTIONS.md`
- ねらい: Pattern6 のうち planner subsetFacts由来だけを strict/dev で Facts→CorePlan に寄せ、reverse/matchscan 等の variant は fallback 維持(既定挙動は不変)
## P28: Shadow adopt observabilitystrict/dev tags + gate smokes
- 指示書: `docs/development/current/main/phases/phase-29ao/P28-SHADOW-ADOPT-OBSERVABILITY-TAGS-AND-GATE-SMOKES-INSTRUCTIONS.md`
- ねらい: strict/dev の shadow adopt が “実際に踏まれている” ことを安定タグと回帰スモークで SSOT 化(仕様不変)
## Nextplanned
- Next: P28TBD
- Next: P28実装
- 指示書: `docs/development/current/main/phases/phase-29ao/P28-SHADOW-ADOPT-OBSERVABILITY-TAGS-AND-GATE-SMOKES-INSTRUCTIONS.md`
- After P28: P29TBD