Ttachibanashuutachore(release): plugin tag を廃止し semver tag に一本化 (D69)
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
chore: prepare v4.5.2 release | 4 个月前 | |
fix(guardrail): サブディレクトリ実行で保護が効かない root 解決を直す (Phase 133.11, 133.12) feat(hostgen): grok の native hook を配線する (Phase 133.8) docs(skills): 並列実行数の実キャップを明記する (Phase 133.9) Plans.md の残 4 タスクをまとめて完了させる。 ## 133.11 — root 解決 (根因を実測で確定) resolveProjectRoot が hook payload の cwd をそのまま root にしていた (上方探索なし)。再現: 同一 session・work-mode ON で cwd がリポジトリ 直下なら allow、<repo>/go なら ask。ResolveStatePath が <repo>/go/.harness/state.db を見に行き work_state が見つからないため。 影響は work-mode に留まらない。protected path 判定・plan preapproval・ TDD 設定もすべて projectRoot 基準のため、サブディレクトリ実行時は 保護が効かない側にずれていた。痕跡として go/.claude/state/ と benchmarks/breezing-bench/agent-eval/.claude/state/ が残っていた (どちらも状態ファイルのみで設定もルールも無い = 誤解決が作った産物)。 .harness / .git を持つ最も近い祖先まで上方探索する形へ修正。 .claude はマーカーにしない (上記の産物が自己確証し root を固定する)。 探索は $HOME で止める (ctx.ProjectRoot は R05 の「確認なしで消して よい範囲」で、dotfiles repo の ~/.git を拾うとホーム全体が許可面)。 ## 133.12 — 宛先オペランド族 + session_id の前提 実測: protected path への書き込み 8 手段のうち検出できていたのは 2 つ だけ (redirect / tee のみ deny、ln -sf / ln / cp / mv / install / ln -s into dir は素通り)。指摘は ln -s だけを挙げていたが、それだけ 塞いでも同じことができる経路が 3 つ残るため族としてまとめて対応。 取るのは最後のオペランドのみ (install -m 755 の 755 をパスと誤読する 事故も同時に防げる)。1 オペランド形は生成先が確実に特定できないため 対象外。修正後は 8 手段すべて deny。 session_id への暗号的束縛は入れない。R04/R05 の skip を与える work-mode 解決の方が大きな権限なので、IsWithinSessionScratch だけを 縛っても床は上がらない。前提を defense-layer-blast-radius.md に明記。 ## 133.8 — grok native hook grok が 1.0.3 に上がっていたため capability を再実測 (起票時 0.2.118)。 folder trust は既に付与済み。build_grok() に hooks/ 同梱を追加し、 GenerateHooksJSON に case "grok" (grokDoc) を追加。binCommand は列挙式 から「claude だけ除外」へ反転 — 列挙式は host 追加のたびに --host を 落とす。buildDeliveryDoc の default で grok が無言に落ちていたのも修正 (hosts.toml が delivery を宣言しているのに生成側が捨てていた)。 hook_generation を generate へフリップし、実機確認: grok inspect の Hooks が 35 -> 36 に増え、新規行は `command matcher=* project`。 これは hosts.toml の「project-level hook は拒否される」記述を実測で 覆す (出典は別製品の grok-cli TypeScript 版)。 未確認として明示: plugin 由来 hooks 一覧に claude-code-harness は 依然現れない。dist 同梱の効果は plugin 再インストールまで検証不能。 ## 133.9 — 並列度の実キャップ --parallel N は希望値で実同時実行数は CC が決める (既定 20、超過は 待ち行列)。入れ子 spawn は既定深さ 3。breezing / harness-work に明記。 env は明示設定せず CC 既定に従う。credential-masking は macOS が deny フォールバックのため not_observed (absent ではない)。 ## 検証 - go test ./... 全 PASS (新規テスト 28 件: project_root 10 / bash_destination_operand 13 / grok 5) - 変異検査: 上方探索を無効化すると 7 件が落ちることを確認 - 既存ガードテストは 1 行も変更していない。唯一の期待値変更は gen_test.go の「grok は live schema admission まで deferred」で、 その admission を実測したため反転 (弱体化ではなく仕様更新)。 削除ではなく「生成されること + --host grok を持つこと」へ強化 - R05 緩和の試みは既存テスト 2 件が反証したため撤回 (コメントのみ記録) - validate-plugin.sh 139 合格 0 失敗 / check-consistency.sh 25/25 - drift gate OK (4 プラットフォーム再ビルド) - mirror verify in-sync - VERSION / plugin.json / .github/workflows 非接触 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ZBxNEtYJbtHkZcsAn8nsv | 1 个月前 | |
chore: prepare v4.5.2 release | 4 个月前 | |
fix(skills): remove disable-model-invocation from harness-review + ci Same root cause as 387c5568 (release skill, 2026-02-04). The flag is intended for dangerous side-effect skills (deploy / generate-video) per efcd097a, but blocks Skill tool invocation when applied to read-only review/judgment skills. Both /harness-review and /ci were silently unreachable from the available skills list. Codify the anti-pattern in .claude/memory/patterns.md P27 (move from applicability condition to non-applicability condition) to prevent the 4th recurrence. Update CLAUDE.md to reference the new rule and refresh last-audit marker. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> | 4 个月前 | |
feat(cursor): enable Codex-hosted Cursor delegation | 3 个月前 | |
feat(phase-133): 外部ツール最新仕様への追随 5 件を完了する Phase 133.1 / 133.2 / 133.4 / 133.5 / 133.6 を実装し、Phase D の 独立レビュー 2 系統 (デグレ観点 / 正当性観点) の指摘 6 件を修正した。 ## 133.1 cursor CLI binary 名の追随 公式 docs が全例を `agent` 表記に統一し `cursor-agent` を legacy alias としたため、`agent` → `cursor-agent` の順に probe する。`agent` は汎用名 なので、symlink 解決後の実パス「成分」が厳密に `cursor-agent` の場合だけ 採用する identity check を併設した。判定のために未知のバイナリを実行し ない (実行こそが避けたいリスクのため)。解決サイトは 5 系統に適用。 レビュー指摘: 当初は部分文字列一致で、`/x/cursor-agent-not-really/agent` で突破できた。成分の完全一致へ修正し、衝突ケースの回帰テスト A3c を追加。 ## 133.2 grok execution backend 起票時の前提が実測で覆った。hosts.toml の根拠は grok-cli v1.1.7 (TypeScript) だったが、実機の grok は 0.2.118 "Grok Build TUI" (Rust) で 別系統。`grok inspect` は claude 互換で hooks on を報告し、 `hook pre-tool --host grok` は `--host claude` と byte 一致の判定を返す。 欠けていたのは CCH 側の配布 (`build_grok()` が hooks を同梱しない)。 裁定は (b) hook なし execution backend + CCH 側封じ込め (decisions.md D58)。 `scripts/grok-companion.sh` + テストを追加し、hosts.toml の evidence を訂正。 ## 133.4 repair loop の状態外部化 反復状態を `.claude/state/repair-loop/<task>.json` へ外部化し、 MAX_REVIEWS 上限を `check` の終了コードで機械判定する。 レビュー指摘 3 件を修正: (a) record の read-modify-write を lock で直列化 (並行 10 プロセスで 9 件消失していた)、(b) findings を schema と同じ制約で 検証 (schema ファイルが飾りになっていた)、(c) `check` の exit 1 が「上限 到達」と「判定不能」の両方を意味していたため 4 を分離 (init 忘れが 「レビュー上限到達」として誤報されるのを防ぐ)。 ## 133.5 blind judge rubric を見せない第二審を opt-in で追加。judge は plain な fresh sub-agent で spawn し `context: fork` は使わない (fork は親文脈を継承 しうるため rubric が漏れる)。乖離は advisory finding に留め、verdict を 書き換えない。 ## 133.6 CC CLI 新機能の一次ソース検証 raw CHANGELOG を直読して 4 件を確証 (2.1.217 / 2.1.219 / 2.1.224)。 credential-masking は macOS で deny にフォールバックするため、denyRead 回避策の置き換えは提案に留め未採用。 ## 検証 - tests/validate-plugin.sh 139 合格 / 0 失敗 / 0 警告 - scripts/ci/check-consistency.sh 全合格 - 新規テスト 3 本を validate-plugin.sh へ配線 - 変異検査で新規アサーション 5 件が実装の違いを検出することを確認 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCi5GLAfya9aWYnDc7cmhs | 1 个月前 | |
feat(cursor): enable Codex-hosted Cursor delegation | 3 个月前 | |
feat(phase-133): 外部ツール最新仕様への追随 5 件を完了する Phase 133.1 / 133.2 / 133.4 / 133.5 / 133.6 を実装し、Phase D の 独立レビュー 2 系統 (デグレ観点 / 正当性観点) の指摘 6 件を修正した。 ## 133.1 cursor CLI binary 名の追随 公式 docs が全例を `agent` 表記に統一し `cursor-agent` を legacy alias としたため、`agent` → `cursor-agent` の順に probe する。`agent` は汎用名 なので、symlink 解決後の実パス「成分」が厳密に `cursor-agent` の場合だけ 採用する identity check を併設した。判定のために未知のバイナリを実行し ない (実行こそが避けたいリスクのため)。解決サイトは 5 系統に適用。 レビュー指摘: 当初は部分文字列一致で、`/x/cursor-agent-not-really/agent` で突破できた。成分の完全一致へ修正し、衝突ケースの回帰テスト A3c を追加。 ## 133.2 grok execution backend 起票時の前提が実測で覆った。hosts.toml の根拠は grok-cli v1.1.7 (TypeScript) だったが、実機の grok は 0.2.118 "Grok Build TUI" (Rust) で 別系統。`grok inspect` は claude 互換で hooks on を報告し、 `hook pre-tool --host grok` は `--host claude` と byte 一致の判定を返す。 欠けていたのは CCH 側の配布 (`build_grok()` が hooks を同梱しない)。 裁定は (b) hook なし execution backend + CCH 側封じ込め (decisions.md D58)。 `scripts/grok-companion.sh` + テストを追加し、hosts.toml の evidence を訂正。 ## 133.4 repair loop の状態外部化 反復状態を `.claude/state/repair-loop/<task>.json` へ外部化し、 MAX_REVIEWS 上限を `check` の終了コードで機械判定する。 レビュー指摘 3 件を修正: (a) record の read-modify-write を lock で直列化 (並行 10 プロセスで 9 件消失していた)、(b) findings を schema と同じ制約で 検証 (schema ファイルが飾りになっていた)、(c) `check` の exit 1 が「上限 到達」と「判定不能」の両方を意味していたため 4 を分離 (init 忘れが 「レビュー上限到達」として誤報されるのを防ぐ)。 ## 133.5 blind judge rubric を見せない第二審を opt-in で追加。judge は plain な fresh sub-agent で spawn し `context: fork` は使わない (fork は親文脈を継承 しうるため rubric が漏れる)。乖離は advisory finding に留め、verdict を 書き換えない。 ## 133.6 CC CLI 新機能の一次ソース検証 raw CHANGELOG を直読して 4 件を確証 (2.1.217 / 2.1.219 / 2.1.224)。 credential-masking は macOS で deny にフォールバックするため、denyRead 回避策の置き換えは提案に留め未採用。 ## 検証 - tests/validate-plugin.sh 139 合格 / 0 失敗 / 0 警告 - scripts/ci/check-consistency.sh 全合格 - 新規テスト 3 本を validate-plugin.sh へ配線 - 変異検査で新規アサーション 5 件が実装の違いを検出することを確認 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PCi5GLAfya9aWYnDc7cmhs | 1 个月前 | |
feat(failure-codifier): Phase 100 — self-learning loop core (human-approval gated) breezing logs + Judgment Ledger から再現失敗を抽出し failure-rule.v1 候補を confidence score 付きで生成。patterns.md/decisions.md 昇格は human 承認必須。 - templates/schemas/failure-rule.v1.json (rule_id/confidence/evidence_refs/ proposed_ssot_target, additionalProperties:false) - go/internal/failurecodifier/ (read-only 抽出 + confidence 3=medium/5=high + promote.go の ErrAutoPromotionForbidden で構造的に自動昇格禁止) - scripts/failure-codifier-propose.sh --dry-run (提案のみ) - skills/failure-codifier/ SKILL.md + references/promotion-workflow.md (human-approval-required marker + 3/5 閾値) - CHANGELOG [Unreleased] 注: go/cmd/failure-codifier-propose (go run) は Lead が trunk で bin/harness failure-codifier subcommand にリファクタ (単一バイナリ規約)。 go test failurecodifier 10/10 PASS。patterns.md/decisions.md 無改変。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 3 个月前 | |
feat(verification): Phase 134-137 — 検証チェーン配線修理 + writing lint + surface + ループ施策 Phase 134: 入口 (risk_flags→profile 自動昇格 + ratchet) / 中間 (PENDING_BROWSER fail-visible, pending_validations) / 出口 (accept-collect-evidence.sh による artifact 機械接続) の 3 継ぎ目を接続。scope leash 本配線 (warn 既定)、Playwright Screencast evidence、worker-report.v1 永続化、再調査ループ、検証の検証 (check-verification-chain-wiring.sh + 実効性契約テスト 3 本、RED→GREEN 実測)。 Phase 135: writinglint エンジン (辞書は個人層) + PostToolUse advisory + Stop 全体再検査 + 指摘→ルール自動ドラフト→人間承認ループ + config schema 正式化。 Phase 136: 3 surface スマホ viewport / 承認待ちキュー表示 / diagram-design 接続点。 Phase 137: 採点設計規律 (criteria 3 層翻訳) / blind 受け手検査 / 評価者 4 契約。 decisions.md D62-D68 に判断根拠を記録。worker 契約に NG-4 追加。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TFcsXBG95kTdxPfDaP7Vuu | 1 个月前 | |
fix(guardrail): --no-verify bypass (#171) + remove unwired scaffolder agent (#170) (#177) * fix(guardrail): detect --no-verify/--no-gpg-sign bypass via shell metacharacters R10 only treated whitespace as a flag-token boundary, so forms like `git commit --no-verify&&echo` slipped past the guardrail and could bypass pre-commit hooks / signature verification. Broaden the boundary to include shell token separators ([\s;&|()<>]) and add regression tests for the bypass forms plus false-positive guards. Fixes #171 https://claude.ai/code/session_01MNT1hAQw9AzGapXdEA3BFp * refactor(agents): remove unwired scaffolder agent Per issue #170 evaluation: agents/scaffolder.md defined analyze/scaffold/ update-state modes but had no spawn path (no skill or hook ever called subagent_type="claude-code-harness:scaffolder"). Scaffolding is done inline by harness-setup and state sync by harness-plan; setup/plan are interactive Lead flows where worktree isolation is counterproductive, so the agent provided no benefit and only misled readers as a registered-but- dead stub. Remove the agent definition and clean up all active references: - hooks SubagentStart/Stop matchers (hooks/ + .claude-plugin/, dual-synced) - docs: team-composition, agent-frontmatter-policy, distribution-scope, go/DESIGN - skills harness-setup/harness-plan/harness-loop + codex/opencode mirrors - tests that asserted scaffolder.md (spec-ssot, upstream-integration, agent-permission-mode, validate-plugin-v3) updated for the removal - generic agent_type examples in go comments/test + detect-test-framework.sh Result: 3-agent topology (worker / reviewer / advisor). check-consistency green, scaffolder-referencing tests pass, go tests pass. History (CHANGELOG / memory archive / v3-architecture) intentionally retained. Closes #170 https://claude.ai/code/session_01MNT1hAQw9AzGapXdEA3BFp --------- Co-authored-by: Claude <noreply@anthropic.com> | 3 个月前 | |
feat(verification): Phase 134-137 — 検証チェーン配線修理 + writing lint + surface + ループ施策 Phase 134: 入口 (risk_flags→profile 自動昇格 + ratchet) / 中間 (PENDING_BROWSER fail-visible, pending_validations) / 出口 (accept-collect-evidence.sh による artifact 機械接続) の 3 継ぎ目を接続。scope leash 本配線 (warn 既定)、Playwright Screencast evidence、worker-report.v1 永続化、再調査ループ、検証の検証 (check-verification-chain-wiring.sh + 実効性契約テスト 3 本、RED→GREEN 実測)。 Phase 135: writinglint エンジン (辞書は個人層) + PostToolUse advisory + Stop 全体再検査 + 指摘→ルール自動ドラフト→人間承認ループ + config schema 正式化。 Phase 136: 3 surface スマホ viewport / 承認待ちキュー表示 / diagram-design 接続点。 Phase 137: 採点設計規律 (criteria 3 層翻訳) / blind 受け手検査 / 評価者 4 契約。 decisions.md D62-D68 に判断根拠を記録。worker 契約に NG-4 追加。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TFcsXBG95kTdxPfDaP7Vuu | 1 个月前 | |
feat(verification): Phase 134-137 — 検証チェーン配線修理 + writing lint + surface + ループ施策 Phase 134: 入口 (risk_flags→profile 自動昇格 + ratchet) / 中間 (PENDING_BROWSER fail-visible, pending_validations) / 出口 (accept-collect-evidence.sh による artifact 機械接続) の 3 継ぎ目を接続。scope leash 本配線 (warn 既定)、Playwright Screencast evidence、worker-report.v1 永続化、再調査ループ、検証の検証 (check-verification-chain-wiring.sh + 実効性契約テスト 3 本、RED→GREEN 実測)。 Phase 135: writinglint エンジン (辞書は個人層) + PostToolUse advisory + Stop 全体再検査 + 指摘→ルール自動ドラフト→人間承認ループ + config schema 正式化。 Phase 136: 3 surface スマホ viewport / 承認待ちキュー表示 / diagram-design 接続点。 Phase 137: 採点設計規律 (criteria 3 層翻訳) / blind 受け手検査 / 評価者 4 契約。 decisions.md D62-D68 に判断根拠を記録。worker 契約に NG-4 追加。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TFcsXBG95kTdxPfDaP7Vuu | 1 个月前 | |
feat(verification): Phase 134-137 — 検証チェーン配線修理 + writing lint + surface + ループ施策 Phase 134: 入口 (risk_flags→profile 自動昇格 + ratchet) / 中間 (PENDING_BROWSER fail-visible, pending_validations) / 出口 (accept-collect-evidence.sh による artifact 機械接続) の 3 継ぎ目を接続。scope leash 本配線 (warn 既定)、Playwright Screencast evidence、worker-report.v1 永続化、再調査ループ、検証の検証 (check-verification-chain-wiring.sh + 実効性契約テスト 3 本、RED→GREEN 実測)。 Phase 135: writinglint エンジン (辞書は個人層) + PostToolUse advisory + Stop 全体再検査 + 指摘→ルール自動ドラフト→人間承認ループ + config schema 正式化。 Phase 136: 3 surface スマホ viewport / 承認待ちキュー表示 / diagram-design 接続点。 Phase 137: 採点設計規律 (criteria 3 層翻訳) / blind 受け手検査 / 評価者 4 契約。 decisions.md D62-D68 に判断根拠を記録。worker 契約に NG-4 追加。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TFcsXBG95kTdxPfDaP7Vuu | 1 个月前 | |
chore(release): plugin tag を廃止し semver tag に一本化 (D69) `claude plugin tag` が作る `{plugin-name}--v{version}` は marketplace.json の source が相対パスのため install に効かず、v5.6.0 以降 3 リリース連続で欠番の まま実害が無かった。手順書と実行の乖離を解消するため手順書側を実態に合わせる。 - harness-release SKILL.md / post-gate-detail.md / versioning.md から呼び出しを除去、 廃止理由を明記 (Post-Gate は 20 段 → 19 段) - test-claude-upstream-integration.sh の pin を「呼び出しが無いこと」へ反転 (RED 実測: 旧 SKILL.md で FAIL → 新で OK)。Phase 53 snapshot は歴史記録として不変更 - decisions.md D69 / CHANGELOG [Unreleased] に記録。mirror 同期済み Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TFcsXBG95kTdxPfDaP7Vuu | 1 个月前 | |
feat(verification): Phase 134-137 — 検証チェーン配線修理 + writing lint + surface + ループ施策 Phase 134: 入口 (risk_flags→profile 自動昇格 + ratchet) / 中間 (PENDING_BROWSER fail-visible, pending_validations) / 出口 (accept-collect-evidence.sh による artifact 機械接続) の 3 継ぎ目を接続。scope leash 本配線 (warn 既定)、Playwright Screencast evidence、worker-report.v1 永続化、再調査ループ、検証の検証 (check-verification-chain-wiring.sh + 実効性契約テスト 3 本、RED→GREEN 実測)。 Phase 135: writinglint エンジン (辞書は個人層) + PostToolUse advisory + Stop 全体再検査 + 指摘→ルール自動ドラフト→人間承認ループ + config schema 正式化。 Phase 136: 3 surface スマホ viewport / 承認待ちキュー表示 / diagram-design 接続点。 Phase 137: 採点設計規律 (criteria 3 層翻訳) / blind 受け手検査 / 評価者 4 契約。 decisions.md D62-D68 に判断根拠を記録。worker 契約に NG-4 追加。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TFcsXBG95kTdxPfDaP7Vuu | 1 个月前 | |
docs(split): Phase 105.10 — harness-setup 460→101, spec.md 1467→197 (sub-specs), README badge 実態化 情報損失なしで references/ と docs/spec/ へ分割。spec 核心(North Star/HOTL/SSOT/Open Decisions)は本体維持、Sub-Spec Index で 7 sub-spec を link。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> | 2 个月前 | |
Phase 66: close open issue set (#129) * docs(plans): add phase 66 issue closeout plan * fix(worktree): reject hook decision json cwd * docs(plans): mark worktree json cwd fix complete * fix(loop): fail fast on codex runner startup death * docs(plans): mark codex loop startup fix complete * fix(session): stop stale broadcast inbox repeats * docs(plans): mark broadcast inbox fix complete * fix(release): gate mirror drift before tags * docs(plans): mark release mirror preflight complete * feat(plans): add named plan registry * docs(plans): mark named plans complete * docs(changelog): summarize phase 66 closeout * ci: use setup-go v6 runtime * fix(plan-brief): make confidence locale-stable * fix(codex): include html surface skills * docs(plans): mark phase 66 closeout complete | 4 个月前 | |
fix(guardrail): サブディレクトリ実行で保護が効かない root 解決を直す (Phase 133.11, 133.12) feat(hostgen): grok の native hook を配線する (Phase 133.8) docs(skills): 並列実行数の実キャップを明記する (Phase 133.9) Plans.md の残 4 タスクをまとめて完了させる。 ## 133.11 — root 解決 (根因を実測で確定) resolveProjectRoot が hook payload の cwd をそのまま root にしていた (上方探索なし)。再現: 同一 session・work-mode ON で cwd がリポジトリ 直下なら allow、<repo>/go なら ask。ResolveStatePath が <repo>/go/.harness/state.db を見に行き work_state が見つからないため。 影響は work-mode に留まらない。protected path 判定・plan preapproval・ TDD 設定もすべて projectRoot 基準のため、サブディレクトリ実行時は 保護が効かない側にずれていた。痕跡として go/.claude/state/ と benchmarks/breezing-bench/agent-eval/.claude/state/ が残っていた (どちらも状態ファイルのみで設定もルールも無い = 誤解決が作った産物)。 .harness / .git を持つ最も近い祖先まで上方探索する形へ修正。 .claude はマーカーにしない (上記の産物が自己確証し root を固定する)。 探索は $HOME で止める (ctx.ProjectRoot は R05 の「確認なしで消して よい範囲」で、dotfiles repo の ~/.git を拾うとホーム全体が許可面)。 ## 133.12 — 宛先オペランド族 + session_id の前提 実測: protected path への書き込み 8 手段のうち検出できていたのは 2 つ だけ (redirect / tee のみ deny、ln -sf / ln / cp / mv / install / ln -s into dir は素通り)。指摘は ln -s だけを挙げていたが、それだけ 塞いでも同じことができる経路が 3 つ残るため族としてまとめて対応。 取るのは最後のオペランドのみ (install -m 755 の 755 をパスと誤読する 事故も同時に防げる)。1 オペランド形は生成先が確実に特定できないため 対象外。修正後は 8 手段すべて deny。 session_id への暗号的束縛は入れない。R04/R05 の skip を与える work-mode 解決の方が大きな権限なので、IsWithinSessionScratch だけを 縛っても床は上がらない。前提を defense-layer-blast-radius.md に明記。 ## 133.8 — grok native hook grok が 1.0.3 に上がっていたため capability を再実測 (起票時 0.2.118)。 folder trust は既に付与済み。build_grok() に hooks/ 同梱を追加し、 GenerateHooksJSON に case "grok" (grokDoc) を追加。binCommand は列挙式 から「claude だけ除外」へ反転 — 列挙式は host 追加のたびに --host を 落とす。buildDeliveryDoc の default で grok が無言に落ちていたのも修正 (hosts.toml が delivery を宣言しているのに生成側が捨てていた)。 hook_generation を generate へフリップし、実機確認: grok inspect の Hooks が 35 -> 36 に増え、新規行は `command matcher=* project`。 これは hosts.toml の「project-level hook は拒否される」記述を実測で 覆す (出典は別製品の grok-cli TypeScript 版)。 未確認として明示: plugin 由来 hooks 一覧に claude-code-harness は 依然現れない。dist 同梱の効果は plugin 再インストールまで検証不能。 ## 133.9 — 並列度の実キャップ --parallel N は希望値で実同時実行数は CC が決める (既定 20、超過は 待ち行列)。入れ子 spawn は既定深さ 3。breezing / harness-work に明記。 env は明示設定せず CC 既定に従う。credential-masking は macOS が deny フォールバックのため not_observed (absent ではない)。 ## 検証 - go test ./... 全 PASS (新規テスト 28 件: project_root 10 / bash_destination_operand 13 / grok 5) - 変異検査: 上方探索を無効化すると 7 件が落ちることを確認 - 既存ガードテストは 1 行も変更していない。唯一の期待値変更は gen_test.go の「grok は live schema admission まで deferred」で、 その admission を実測したため反転 (弱体化ではなく仕様更新)。 削除ではなく「生成されること + --host grok を持つこと」へ強化 - R05 緩和の試みは既存テスト 2 件が反証したため撤回 (コメントのみ記録) - validate-plugin.sh 139 合格 0 失敗 / check-consistency.sh 25/25 - drift gate OK (4 プラットフォーム再ビルド) - mirror verify in-sync - VERSION / plugin.json / .github/workflows 非接触 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ZBxNEtYJbtHkZcsAn8nsv | 1 个月前 | |
feat(verification): Phase 134-137 — 検証チェーン配線修理 + writing lint + surface + ループ施策 Phase 134: 入口 (risk_flags→profile 自動昇格 + ratchet) / 中間 (PENDING_BROWSER fail-visible, pending_validations) / 出口 (accept-collect-evidence.sh による artifact 機械接続) の 3 継ぎ目を接続。scope leash 本配線 (warn 既定)、Playwright Screencast evidence、worker-report.v1 永続化、再調査ループ、検証の検証 (check-verification-chain-wiring.sh + 実効性契約テスト 3 本、RED→GREEN 実測)。 Phase 135: writinglint エンジン (辞書は個人層) + PostToolUse advisory + Stop 全体再検査 + 指摘→ルール自動ドラフト→人間承認ループ + config schema 正式化。 Phase 136: 3 surface スマホ viewport / 承認待ちキュー表示 / diagram-design 接続点。 Phase 137: 採点設計規律 (criteria 3 層翻訳) / blind 受け手検査 / 評価者 4 契約。 decisions.md D62-D68 に判断根拠を記録。worker 契約に NG-4 追加。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TFcsXBG95kTdxPfDaP7Vuu | 1 个月前 | |
docs(maintenance): 報告例を新しい対象一覧へ揃える (CodeRabbit 指摘) state トリムの対象一覧だけ更新し、報告例が旧対象 (agent-trace / harness-usage) のまま残っていた。明確な更新漏れ。3 箇所を実測値へ更新。 あわせて、時刻を捨てている判断の根拠をコメントに実測つきで明記した。 指摘は「30 日 cutoff に時刻を保持せよ」だったが、日付のみの parse は 00:00 UTC に落ちるため、境界日のエントリは mid-day の cutoff より 古いと判定され「退避可能」に数えられる。つまり多めに数える側へ倒れる。 これは安全な方向。多めに数える = 警告が鳴りやすくなるだけで、見落とし (沈黙) を生まない。逆に時刻を保持すると境界日の一部が「まだ新しい」と 判定され、警告が黙る方向へぶれる。それはこの変更が無くそうとしている 失敗形そのもの。実測 (境界日 3 件がすべて退避可能と判定) をコメントに残す。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ZBxNEtYJbtHkZcsAn8nsv | 1 个月前 | |
chore: prepare v4.5.2 release | 4 个月前 | |
feat: Codex CLI 0.107.0 compatibility + skill quality cleanup + auto-mode detection Phase 18: Codex CLI 0.107.0 Compatibility - Remove all MCP server remnants from config.toml, setup scripts - Normalize codex exec flags: -a never -s workspace-write - Switch to stdin pipe pattern (cat file | codex exec -) - Use mktemp for parallel-safe temp files - Add Codex environment docs to team-composition.md, worker.md - Add .codexignore for CLAUDE.md noise prevention Skill Quality Cleanup - Delete 15 DEPRECATED redirect stubs and all their references/ - Delete old -harness suffix stubs from skills-v3/ - Rewrite breezing as thin backward-compatible alias for /harness-work - Fix description quality for gogcli-ops, cc-cursor-cc, session-* - Remove non-standard frontmatter fields (version, dependencies) - Remove invalid tool name (Append) from session-memory - Update routing-rules.md for v3 5-verb structure Auto Mode Detection - harness-work auto-selects mode based on task count: 1 task → Solo, 2-3 → Parallel, 4+ → Breezing - --codex is explicit-only (never auto-selected) - Explicit flags always override auto-detection README Visual Improvements - Add hero-comparison, core-loop, safety-guardrails images - Restore claude-harness-logo-with-text.png Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | 6 个月前 |