Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/nightly-todo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,9 +167,17 @@ jobs:
# (summary / target_files / caution) が含まれる。**step ログも public repo では
# 第三者に可視**なので、tee は決定 14 の screening を迂回する公開面になっていた。
# 生の出力はファイルに留め ($GITHUB_OUTPUT 経由でのみ使う)、ログへは安全な行だけを出す。
# --summary-file は順位 table の照合先。台帳に残っているのに順位 table から
# 消えた順位は「完了/取り下げ済みなのに後始末が漏れた行」なので選ばせない
# (人間が手で実装してマージした場合、台帳の後始末は人手のため漏れる)。
# **順位 220 以降は todo-summary2.md にあるので両方渡す** — 片方だけだと、
# もう一方に載っている順位が「消えた」と判定されて候補から落ちる。
# exe 側は 1 つでも読めなければ exit 2 (fail-closed)。
master-ref/target/release/cli-nightly-task-select \
--ledger master-ref/docs/claude-code-web-tasks.md \
--exclude-ranks "${{ steps.inflight.outputs.exclude_ranks }}" \
--summary-file master-ref/docs/todo-summary.md \
--summary-file master-ref/docs/todo-summary2.md \
> "$RUNNER_TEMP/selected.txt"
# 許可リスト方式 — exe が出す key のうち、ここに列挙したものだけを転送する。
# 想定外の key 注入を防ぐ fail-closed だが、**exe 側に出力を足したらここも足す**
Expand Down Expand Up @@ -219,6 +227,8 @@ jobs:
else
echo "理由: タスクを選べませんでした。"
echo " 直前の [NIGHTLY_SKIP] 行を参照してください (exit 3 = 該当タスク無し / exit 2 = 台帳の解釈失敗)。"
echo " [NIGHTLY_WARN] 行があれば、台帳に残っているが順位 table から消えた順位です"
echo " (完了/取り下げ済みの行が台帳に残っている = 後始末漏れ)。台帳の該当行を確認してください。"
fi

- name: Checkout master (agent workspace)
Expand Down
1 change: 0 additions & 1 deletion docs/todo-summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@
| 180 | 🔧 Tier 2 | **`lib-report-formatter` に markdown pipe / newline escape を追加 (週次レビュー 2026-05-30 C01 採用)** | todo12.md | S | なし (Phase D dogfood で発見、`src/lib-report-formatter/src/lib.rs:51-79` の `format_table()` が PR title / commit message の `|` / `\n`を escape せず markdown table 構造を破壊 → downstream AI facet で prompt injection リスク、`escape_markdown_pipe()` 5 行 utility + call site escape + 5 variant test で defense-in-depth 確立、本セッション 5 PR chain で AI facet 連鎖が systemic 化したため継続価値高) |
| 181 | 🔧 Tier 2 | **`aggregate-weekly` facet の `findings.json` 出力を raw JSON にする (Phase D dogfood D-A 採用)** | todo12.md | XS-S | なし (本セッション 2026-05-30 Phase D dogfood で実観測した facet 出力 bug、`aggregate-weekly.md` instruction が「raw JSON 出力必須、markdown code fence で囲まない」を明示せず facet LLM が `\`\`\`json...\`\`\` ` で wrap してしまう、skill 側の手動 fence strip workaround を不要化、修正後の次 `/weekly-review` で raw JSON 出力を dogfood 観測、Phase E 試験運用前の整備) |
| 182 | 🔧 Tier 2 | **`/weekly-review` skill に重複検出 (簡易 grep) を Phase 4 で追加 (Phase D dogfood D-B 採用)** | todo12.md | XS-S | なし (本セッション 2026-05-30 Phase D dogfood で WR-2026-05-30-S05 と既存 順位 173 が完全重複していた実観測、ADR-031 § Phase 4 「重複検出は MVP では実装しない」を「MVP+1 (簡易 grep + 3 択 AskUserQuestion: augment/新規/skip)」相当に格上げ、自動 merge なし原則は維持、description 先頭 40 chars の grep ヒット警告 → user 判断、`feedback_global_config_backup` 適用必須 (~/.claude/skills/ 編集前 snapshot)) |

| 193 | 🔧 Tier 2 | **Companion helper group 署名整合 compile-time validation test (PR #196 T2-1 採用) ★ Bundle 195-FB follow-up** | todo12.md | S | なし (Bundle 195-FB で 3 関数目の signature drift が CR Major + pre-push F-1 で systemic 観測、rule⑫ は literal hardcode 層、本タスクは API signature 整合性層、関数ポインタ cast による compile-time witness で signature drift を test 不通過に。`code-review.md` § Review Checklist に reviewer 注意 1 項目追加で 3 層防御 = rule⑫ + compile-time test + reviewer 注意、`feedback_global_config_backup` 適用必須) |
| 194 | 💎 Tier 3 | **`development-workflow.md` 「1. Plan First」に「task 着手前に grep で既存 section 確認」step 追記 (PR #196 T3-5 採用)** | todo12.md | XS | なし (PR #123 + #196 で「既実装 section の重複計画」事象を Frequency Medium で観測、`~/.claude/rules/common/development-workflow.md` "1. Plan First" に Codification 重複確認 step を 1-2 行追記、`grep -rn` 手順 + 由来 cite (PR #123, #196)、派生プロジェクト (techbook-ledger / auto-review-fix-vc) に global rule として自動波及、`feedback_global_config_backup` 適用必須) |
| 198 | 💎 Tier 3 | **ADR-NNN (採番未確定、land 時に確定): Timestamp invariant safety — 時刻計算 silent failure class の codify (PR #199 post-merge-feedback T3-2 採用、PR #203 T3-1 で 3 観測目に昇格)** | todo10.md | M | なし (PR #96 Finding D + PR #199 Bundle W + PR #203 hooks-session-start port で同型 bug class **3 件観測 = Frequency High**、PastTime newtype + proptest が実証した型層防御原則を ADR で永続化、派生プロジェクト (techbook-ledger / auto-review-fix-vc) への transferability 確保、順位 135 placeholder policy 適用、CLAUDE.md ADR list 追記) |
Expand Down
4 changes: 2 additions & 2 deletions docs/work-plan-nightly-lane-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@

### 留意点

- 順位の**再採番**でも同じ警告が出る (台帳が旧番号を指したまま)。誤検知ではなく台帳の staleness なので、警告文言はその可能性に触れること
- ~~順位の**再採番**でも同じ警告が出る (台帳が旧番号を指したまま)。誤検知ではなく台帳の staleness なので、警告文言はその可能性に触れること~~ → **不要になった (2026-08-16)**。[ADR-033](adr/adr-033-todo-numbering-simplification.md) § 改訂 で再採番を廃止したため、順位 table に無い = 完了か取り下げの 2 択に絞れる。警告文言もその 2 択で書く

### PR-3 完了基準

Expand Down Expand Up @@ -248,7 +248,7 @@ skill リポ作業は PR-1 マージ後いつでも (PR-5 と独立)

- [x] PR-1: docs (ADR-072/052 改訂、台帳条件 3 廃止、facet Criterion 3-2/3-3 縮小、T01/T02 撤回、todo rescope、本計画書の同梱) — 2026-08-16 実施。計画外の追加 (ユーザー承認済み): (a) 順位 449「昇格不適格判定の『両経路記載』を決定論化」を削除 (検査対象の § 昇格検査履歴 廃止で前提消滅)、(b) 台帳 § 無人可としなかった理由 の順位 284 行を lane 表記へ更新 + 見出しから件数を除去、(c) 未採番だった詳細エントリ 3 件に順位 462-464 を採番、(d) **ADR-033 改訂** — 「順位 = 追記型 ID・優先度は Tier 列・再採番はしない・細粒度の順序は行の並びで表す」を明文化し、本文の順位参照禁止を緩和。帰結として順位 334 (本文順位番号 lint) を retire
- [x] PR-2: facet 出力言語の直書き + dev-conventions 記録 + todo23 エントリ削除 — 2026-08-16 実施。計画からの逸脱 1 件: **固定トークンの免除リストを言語指定と対で書いた** (workflow の `rules.condition` が `analysis complete` / `convergence_verdict: <値>` / `APPROVE` / `REJECT` を英語リテラルで照合しているため、言語指定だけを書くと gate が通らなくなる)。あわせて順位 462 の table 行削除と CLAUDE.md 索引更新
- [ ] PR-3: 順位 table 存在照合ゲート (lib-ledger + selector + workflow 配線)
- [x] PR-3: 順位 table 存在照合ゲート (lib-ledger + selector + workflow 配線) — 2026-08-16 実施。`lib_ledger::{parse_summary_ranks, select_listed_in_summary}` を新設、`--summary-file` (複数指定可・省略不可) を selector へ追加、workflow の Select step へ 2 ファイルを配線。**実 exe を実ファイルに当てた検証でパーサのバグを発見**: `docs/todo-summary.md` の順位 table には途中に空行があり、初版は表が終わったと判定して順位 193 以降を全部取りこぼしていた (空行では終端しない実装へ修正 + 回帰テスト + データ側の空行も除去)。`workflow_dispatch` での実走観測は未実施 (下記 実走確認 2 に集約)
- [ ] PR-4: 失敗マーカー + ブランチ自動掃除 + token 2 段化 + close 時案内
- [ ] PR-5: 台帳未掲載順位一覧の決定論出力 + facet 参照置き換え + todo23/24 エントリ整理
- [ ] skill リポ: Phase 4 展開先変更 + 昇格フロー縮小 + skill-sync-check
Expand Down
Loading
Loading