diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index eb0026aef..cc9a8b623 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -2,7 +2,7 @@ "name": "perun", "description": "Perun: a suite of skills for building with AI agents. Deep code review, token and cost tools (spend reports, auto-compact with handoff, model-tier guidance), gated agentic delivery (merge train, lanes, destructive-command guard, auto-update), an idea critic, and product, growth, positioning, business-ops and output-safety specialists.", "skills": "./.claude/skills", - "version": "1.610.0", + "version": "1.611.0", "author": { "name": "deep-code-review contributors" }, diff --git a/.claude/skills/agentic-delivery/SKILL.md b/.claude/skills/agentic-delivery/SKILL.md index 97518c5ca..531cefa6e 100644 --- a/.claude/skills/agentic-delivery/SKILL.md +++ b/.claude/skills/agentic-delivery/SKILL.md @@ -8,7 +8,7 @@ description: >- license: MIT metadata: author: deep-code-review contributors - version: "1.610.0" + version: "1.611.0" --- # Agentic delivery diff --git a/.claude/skills/agentic-delivery/VERSION b/.claude/skills/agentic-delivery/VERSION index 247382153..cc23b145b 100644 --- a/.claude/skills/agentic-delivery/VERSION +++ b/.claude/skills/agentic-delivery/VERSION @@ -1 +1 @@ -1.610.0 +1.611.0 diff --git a/.claude/skills/deep-code-review/SKILL.md b/.claude/skills/deep-code-review/SKILL.md index 08383003a..b7f48ee38 100644 --- a/.claude/skills/deep-code-review/SKILL.md +++ b/.claude/skills/deep-code-review/SKILL.md @@ -8,7 +8,7 @@ description: >- license: MIT metadata: author: deep-code-review contributors - version: "1.610.0" + version: "1.611.0" --- # Deep Code Review diff --git a/.claude/skills/deep-code-review/VERSION b/.claude/skills/deep-code-review/VERSION index 247382153..cc23b145b 100644 --- a/.claude/skills/deep-code-review/VERSION +++ b/.claude/skills/deep-code-review/VERSION @@ -1 +1 @@ -1.610.0 +1.611.0 diff --git a/.claude/skills/idea-critic/SKILL.md b/.claude/skills/idea-critic/SKILL.md index 9c3c3f48c..0b7498bc4 100644 --- a/.claude/skills/idea-critic/SKILL.md +++ b/.claude/skills/idea-critic/SKILL.md @@ -8,7 +8,7 @@ description: >- license: MIT metadata: author: deep-code-review contributors - version: "1.610.0" + version: "1.611.0" --- # Veles: the evil twin (idea-critic) diff --git a/.claude/skills/idea-critic/VERSION b/.claude/skills/idea-critic/VERSION index 247382153..cc23b145b 100644 --- a/.claude/skills/idea-critic/VERSION +++ b/.claude/skills/idea-critic/VERSION @@ -1 +1 @@ -1.610.0 +1.611.0 diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index 938207ee5..6eecfaaba 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "perun", - "version": "1.610.0", + "version": "1.611.0", "description": "Perun: a skill suite for AI-agent teams: deep code review, token and cost tools, gated delivery, an idea critic and product specialists.", "skills": "./.claude/skills", "interface": { diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a10b0204..4c38f66a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,60 @@ All notable changes to this repository are documented here. Format loosely follows Keep a Changelog; versioning follows Semantic Versioning. +## [1.611.0] — 2026-10-29 + +### Added +- agentic-delivery: `fitness_tick.py` runs each fix's executable fitness check every operating-loop tick (one-line `ALARM`), and `closable NAME` passes only after 2 consecutive passing ticks and a caller. `flake_holder.py` (pre-push, warn-only) names the open PR that already changes a flaky-test fix's test file. `finding_guard.py` (operating-layer PreToolUse hook) runs the `file_finding.py` dedupe search on every `gh issue create --title` and denies a match (`# finding-force: ` overrides; a failed search fails open). +- agentic-delivery: `wired_check.py` now reports a new script that appears only on an orphan/unused allowlist as `merged-not-wired`. +- agentic-delivery: `baseline_guard.py` stores a test baseline only after solo re-runs, with the host load recorded, and refuses a run far above the normal failure count. `freeze_gate.py` (pre-push) enforces a freeze file: only pure deletions and `Red-Trunk-Fix:` commits pass. `flow_alarm.py` is one symptom alarm (ready work but nothing merged in 2h, or trunk red over 1h), a stop-starting PreToolUse hook that denies `gh pr create` while 5 or more PRs are ready-but-unmerged, and a value-stream split (`split`). `prevention_lint.py` fails a postmortem action item that lacks an owner, tracking id or verifiable end state. + +### Changed +- agentic-delivery: `reply_cap.py` skips when a user-level Stop hook already runs a different reply-cap script, so an over-cap reply gets one rewrite demand, not two. +- agentic-delivery: `flake_ledger.py quarantine` takes `--ticket`, flags ticketless entries in `report`, and on a full list (`--max`, default 10) exits 1 and can file a P0 issue (`--file-issue`). +size-budget-raise: .claude/skills/agentic-delivery/references/unattended-operating-mode.md 26739→27923 fitness-check close rule, finding_guard hook, symptom alarm, stop-starting, value-stream split +size-budget-raise: .claude/skills/agentic-delivery/references/red-gate-triage.md 27186→28248 flaky-fix holder rule, baseline guard, quarantine ticket, freeze file +size-budget-raise: .claude/skills/agentic-delivery/references/full-map.md 24381→24488 merged-not-wired allowlist note +size-budget-raise: .claude/skills/agentic-delivery/references/template-postmortem.md 3387→3519 done-when column and prevention lint + +size-budget-raise: .claude/skills/agentic-delivery/references/red-gate-triage.md 27616→28678 peer-lessons rows (freeze gate, flow alarm, fitness tick) routed from triage + +### Added +- deep-code-review `review_checks.sh`: `REVIEW_OSV_DB_DIR` and `REVIEW_TRIVY_CACHE` run osv-scanner and trivy from a pre-seeded vuln DB (no TLS to the DB host); a missing DB stays NOT CHECKED and prints the exact one-line warm command. `--repo DIR` replaces `cd DIR &&` chains, and semgrep also gets a temp `XDG_CACHE_HOME`. `supply_chain_check.sh` honors the same DB dir, runs actionlint without a `cd` chain, and notes `dev-only` packages (npm `dev`, osv dev/build/test group) capped at moderate. `appsec-verify.md` section 0 names `redirect: "follow"` fetch sites and TLS-verify-off flags as review targets. `preflight.py` gains optional `require_files` (warn on a missing env template). Tests: `scripts/test-scanner-offline-db.sh`. +size-budget-raise: .claude/skills/deep-code-review/references/appsec-verify.md 7428→7863 redirect:follow and TLS-verify-off review targets named +size-budget-raise: .claude/skills/deep-code-review/references/tool-hub.md 4511→4994 offline vuln-DB env vars, --repo, dev-only cap documented + +### Fixed +- agentic-delivery: `train_flake.sh` now removes the flake-store and flake-out temp dirs it creates (EXIT trap over only its own mktemp paths) instead of leaving them for OS cleanup. `scripts/test-train-flake-cleanup.sh` proves none remain. +### Added +- agentic-delivery: short rules in `red-gate-triage.md` (rerun failing titles solo with one worker, 2 of 2 passes is a flake, paired base run before a bisect, AIMD batch window), `retrospective.md` (one pin test per finding in every train, fingerprint duplicate check before filing) and `pipeline-optimizer.md` (each pipeline fix removes a knob or code path). +size-budget-raise: .claude/skills/agentic-delivery/references/red-gate-triage.md 27186→27616 one short rule paragraph added: solo rerun, paired base run, AIMD window +size-budget-raise: .claude/skills/agentic-delivery/references/retrospective.md 4844→5095 one short rule added: pin test per finding, fingerprint dedupe +size-budget-raise: .claude/skills/agentic-delivery/references/pipeline-optimizer.md 19352→19480 one short rule added: deletion budget + +### Changed +- agentic-delivery: `fitness_tick.py closable` now needs a real caller (a JSON hook/package entry, CI workflow, `.sh`, Makefile, or a loop entry whose line starts with the command), not a text mention. `baseline_guard.py` refuses a suspect baseline by default (`--normal` 5, `--max-load` 2 x cores; `--force` overrides). `wired_check.py` treats only explicit orphan/unused allowlist names, a `# orphan:` marker and an `allowlist:` key as an allowlist (bare words like "unused" no longer exempt a caller). +- agentic-delivery: the issue-dedupe hook, fitness check and flow-alarm doctrine now lives once in `references/flow-guards.md`; the other references link to it. + +### Added +- agentic-delivery: `freeze_hook.py`, a fail-closed PreToolUse(Bash) hook in the operating-layer template that parses argv (global flags, wrappers, `bash -c`, `gh api .../merge`) and denies `git push` and `gh pr merge` while a freeze file exists; malformed input or an unreadable freeze state denies, a non-repo cwd allows. Quoting tricks, eval of variables and wrapper scripts remain a known ceiling. +size-budget-raise: .claude/skills/agentic-delivery/references/full-map.md 24488→24599 route flow-guards.md, narrowed allowlist note +size-budget-raise: .claude/skills/agentic-delivery/SKILL.md 7134→7202 route flow-guards.md in the red-gate row + +### Added +- deep-code-review `scripts/dynamic_probe.py`: opt-in dynamic step for a locally running app (localhost or 127.0.0.1 only, never follows redirects). Probes malformed percent-encoding and oversized inputs (any 5xx is a finding), a burst on a named endpoint for missing rate limiting, security headers, and open redirect, and prints review_checks-shaped rows (finding, clean or not-checked). Routed from `full-audit.md` via the new `references/dynamic-probe.md`. Tests: `scripts/test_dynamic_probe.py`. +size-budget-raise: .claude/skills/deep-code-review/references/full-audit.md 6584→6757 route line to the dynamic probe step +size-budget-raise: .claude/skills/INDEX.md 14885→14993 dynamic_probe.py script row +size-budget-raise: .claude/skills/deep-code-review/INDEX.md 20406→20551 dynamic-probe.md reference row and script count +size-budget-raise: .claude/skills/deep-code-review/INDEX-scripts.md 5356→5498 dynamic_probe.py script row +size-budget-raise: .claude/skills/deep-code-review/references/full-map.md 18985→19020 route to dynamic-probe.md + +size-budget-raise: .claude/skills/deep-code-review/references/full-map.md 18985→18997 routes dynamic-probe.md + +### Added +- deep-code-review `review_checks.sh --full`: scan every tracked file against git's empty tree (one batched gitleaks run over the working tree), with no synthetic base needed. gitleaks now drops fingerprints listed in the repo's `.gitleaksignore` (read as of BASE, HEAD under `--full`) in both modes, and a missing gitleaks lands as a `not-checked` row. `perun_policy.py` is now located from the script's resolved dir. Tests: `scripts/test-review-checks-full.sh`. + +size-budget-raise: .claude/skills/deep-code-review/references/tool-hub.md 4994→5260 documents --full mode and .gitleaksignore handling + ## [1.610.0] — 2026-10-28 ### Added diff --git a/SHA256SUMS b/SHA256SUMS index f03955f97..c9186560a 100644 --- a/SHA256SUMS +++ b/SHA256SUMS @@ -17,18 +17,19 @@ b1080da06ca20a2807ea7be3a25cb95b94c97a6c2a686401796ffc3adac3ee37 .claude/skills 71def6259e7016301932ac474dd4b7afea29349a8dd0b6284d74b5e9ebd16936 .claude/skills/agentic-ceo/scripts/token_ratchet.py 372f7d86157392ebfab627f6a05a892e4dd3297db9b8bfc6f404759169c7500c .claude/skills/agentic-ceo/scripts/token_report.py 9521b057ff3db92d1e60923ebd88170713914f7e235ceb45717eb39419daf811 .claude/skills/agentic-ceo/scripts/weekly_receipt.py -1cbb49cb10c054dfc52d7721f1f5c741c97683e8be677463f774ca31f73c7cab .claude/skills/agentic-delivery/INDEX-scripts.md -7e8a02a1f7a363d82c427c4dbbff596f20e6d94c350145599b52d574b550e367 .claude/skills/agentic-delivery/INDEX.md -ad6bd53f58fb0e9215ae6106f3a3367fde773603abe1a52d18aa9e29a5f7da48 .claude/skills/agentic-delivery/SKILL.md -2173de515343f1e614346180abcee9f0dd17c3ea20d2ba2946e591b78672bbf9 .claude/skills/agentic-delivery/VERSION +4f22bfb95451dcb964bcf927795543733098f280eda0b26d9068978d5efcdd50 .claude/skills/agentic-delivery/INDEX-scripts.md +c28c0b7962260c489f59e51d883debcfea5ed35beac7521dda44adad94662ca9 .claude/skills/agentic-delivery/INDEX.md +b825e7410deab9e7ca63d0b45010a9c3b88f131b5b63343fef84c5a874f854da .claude/skills/agentic-delivery/SKILL.md +798f91a62c68f4b7accf376835c503f3f167c38321db1fb8c6d0d93d5b1c0c86 .claude/skills/agentic-delivery/VERSION 7ffab2d4a589ac748779b948d02869f290d82f151516a04e0372481de431411d .claude/skills/agentic-delivery/evals/evals.json fba7699a2d0836b51b7c838d019b1f0cd20570522a362e8a32b8dacfb911298e .claude/skills/agentic-delivery/evals/triggers.json 39140ac0b40907dc2279bb3234ce1d8ffb4db56e8658c7f89cc370f777df0592 .claude/skills/agentic-delivery/references/cost-quality-guardrails.md eed07e997b517be02c087b9d0fff769c2098eb9c3ed6528fbee3a538ce3fc250 .claude/skills/agentic-delivery/references/dev-env-ownership.md d1e42983bc76a328c0f980f0dcf4b99542121322252b2ed6da981361cf7465d3 .claude/skills/agentic-delivery/references/fanout-host-sizing.md 314a311c97b04d06b45a24c0090b8772918d04acd87586debd973da848dd1bcc .claude/skills/agentic-delivery/references/fast-agentic-delivery.md +2d53ff68caa8e01fa54e43f01028b07c6edfccc2fe04d27ec97860fa412f5934 .claude/skills/agentic-delivery/references/flow-guards.md 191ec77a035ca95f402de0d0694a1f66471c7839a8b0dd040a1226858317d712 .claude/skills/agentic-delivery/references/focus-kit.md -9f3fcd95dc50c18b58c62704ba8d89bcf22368c2a55452c1c2939556dd546f2f .claude/skills/agentic-delivery/references/full-map.md +abb9d466c57598bb92ad8836ca665dcb367ec0bd4b86b41a77ea3e1563a464bb .claude/skills/agentic-delivery/references/full-map.md 5587d1d3e01aeb392c3275389805e8cba4e4cd796e21b9c8ecdd6008f523b830 .claude/skills/agentic-delivery/references/gate-epistemology.md ef53e52648126536902735d3ec9bc15cef8a422695218d73ebce41a8844ddbf9 .claude/skills/agentic-delivery/references/host-enforcement.md cf8c4e36be255f6c05e72832a062e01e6bbf213bb69433d1af89ff181b4b981c .claude/skills/agentic-delivery/references/incident-response.md @@ -36,17 +37,17 @@ e19b43f2e66aa762397a09b35fa061d6d7b5a4e6a608a2af7d216478a5804bd4 .claude/skills d6bcf0e226e27a952f8843b80c08276fd124b0a2bd0a0849bfc85897954ce228 .claude/skills/agentic-delivery/references/merge-queue-worktrees.md 72b9191f7a4f459ffca3db60f21787db70f80c2a7fe7aa9b69b279a3d3c5124d .claude/skills/agentic-delivery/references/multi-session-coordination.md fc00cf483537ec847b8e3ecc1c988cd7cb9d55844525702e1cbf623a5f488ff3 .claude/skills/agentic-delivery/references/operating-discipline.md -4ddd1b222c9b70a8819824ab136979501385dfb2178dd661c1a471ab15b7d0a3 .claude/skills/agentic-delivery/references/pipeline-optimizer.md +eafc8b6d55cbf711538f2d0d7e320b3bd8ba78a0331d4655cc055cc5a6bd9779 .claude/skills/agentic-delivery/references/pipeline-optimizer.md 0aeeac05e4eefcc5c372b56fa1fa62d6e588c34d20aa1fb93ebcefef987f9662 .claude/skills/agentic-delivery/references/production-grade-product-playbook.md 4c46afbe5c5ae4d7b544e251a950ab54cc0683e4f655ec9a29dca0693c191361 .claude/skills/agentic-delivery/references/project-state.md -ec92876d41a194ab6a999d3ebd2b84828e74f3fe91517a12df885b3b7a390c52 .claude/skills/agentic-delivery/references/red-gate-triage.md -43406f372c0c5843ada5fd4b376f23670d762575f71fbb2aa63e6ec9430b927a .claude/skills/agentic-delivery/references/retrospective.md +6bcc6f6efaf4a72136a5351c4552f27a68f2a156cda3d0f3b182035e0b040808 .claude/skills/agentic-delivery/references/red-gate-triage.md +63ad6e8eb0fe8d51a9c548e3308cf08cff2d406e6583ee5605d0a6d140952540 .claude/skills/agentic-delivery/references/retrospective.md 00750ffbd78d3607d42ceae64f1f9e9f2762d018e76ad94652c20439189cc565 .claude/skills/agentic-delivery/references/roles.md 538a658aa8a65b21932795812ddaefa3ed8c15ef5b37703c76d6601a5f192748 .claude/skills/agentic-delivery/references/support-ops.md 3a345cabed38700296cdf88810eda6f716b82efa55e6bf5fd46b3a8d96b51e2d .claude/skills/agentic-delivery/references/template-adr.md 2d576f8376e837f38a137a7bd48c14455d823e85b0d1c0da771af186f6d86950 .claude/skills/agentic-delivery/references/template-onepager.md -c20c5d3e60129fe3c920d0ff419cbee566af221a4a02b318a61ba2191b00597a .claude/skills/agentic-delivery/references/template-postmortem.md -3a001ea14ecd217846988b4c12221680831b3ae7ff973ee5b3ed0a084bf81bb8 .claude/skills/agentic-delivery/references/unattended-operating-mode.md +59f7580b0173acbcca5f3244eef7aa5c2a0a020df48cd4055e24f1ba5aa2d716 .claude/skills/agentic-delivery/references/template-postmortem.md +052275126b82dffc4214b5c223ad77271ed56cd30e40c88f1cd9079b555f7b3c .claude/skills/agentic-delivery/references/unattended-operating-mode.md 21ed04bf22ae6781fc45d934b4f3df985b00750d66a0e84f9bb19acbc7ae243e .claude/skills/agentic-delivery/references/unattended-trackers.md 5702d18166bda951117d315576671d0af8f09f0996281e1487fd07b39fc26cce .claude/skills/agentic-delivery/references/verification-handback.md b926a46cea1f0a7d998ce0b4a932af3ded64bf5b57de1c0098052c582aad98cb .claude/skills/agentic-delivery/references/work-tracking.md @@ -55,6 +56,7 @@ b926a46cea1f0a7d998ce0b4a932af3ded64bf5b57de1c0098052c582aad98cb .claude/skills 9ed344242b5130948b4fb0faba28e0b20214d10db074c308729a495f6d2b809b .claude/skills/agentic-delivery/scripts/_dirty_guard.sh cd4e3667c427deb9f4387dc93348ca4c5cc6c2c6b3e14b528596d9b6e3a1e043 .claude/skills/agentic-delivery/scripts/_lock.sh 177e37c19abbaaa8a44549e9cb73b4c96d8aaff6e95b0875541a292899734737 .claude/skills/agentic-delivery/scripts/admission_check.py +19e9bb5bbf611e3df1100a2ecf44468d7de6eeef84321dc3b2671a0b8088a295 .claude/skills/agentic-delivery/scripts/baseline_guard.py a580241bcc4dfb3e93d376c59cdf5691644722f9e22185def7bd8d42b6fafc8e .claude/skills/agentic-delivery/scripts/bg_admit.py f38f24050dd8e0e622c1f754db2ab5337059a230e54d49533fff4ef58502f5d3 .claude/skills/agentic-delivery/scripts/board_common.py 9baccc337b752ff4b732d17dfb779c91e5d293f48d6884cc3bc355dd63d82ebc .claude/skills/agentic-delivery/scripts/board_post.py @@ -76,9 +78,15 @@ baa15fbf4a1524090384865a655817e2007976c03605c71d4ee40a5915ce179e .claude/skills a020f45635acc1b68914a883e606900224502bba1deafd9842768c269acd558a .claude/skills/agentic-delivery/scripts/feedback_ledger.py 63cb5b4ef65b669654b59b545bfb2b84766dd4b94fe4391e4f7fbdab5b35988d .claude/skills/agentic-delivery/scripts/feeder_order.py 684656fa412e9699afc9154c05e0b33273f1399de3a7b7a2c1611e7d82849555 .claude/skills/agentic-delivery/scripts/file_finding.py -53aa135598321ebbf3bc8b8c68b8f3b38719825fb56696fc1765d323f2ff45d0 .claude/skills/agentic-delivery/scripts/flake_ledger.py +16b4514bf5cff2c10d72ce0efe9be5a8dee3d2e38bef15ba9a47491ca66076b9 .claude/skills/agentic-delivery/scripts/finding_guard.py +bd29dd7f6cb2ce16402fbaa741d9abc5b081617bed739b0838054ab071d1780d .claude/skills/agentic-delivery/scripts/fitness_tick.py +7674c231572999ecaabc7124fb0dfcb75e162378bcdb7b1a5907fac47ecafb39 .claude/skills/agentic-delivery/scripts/flake_holder.py +0ffda0a89dce1f6b8d1f75940333caa06fa6d74b8703fcd44c17e0359388a914 .claude/skills/agentic-delivery/scripts/flake_ledger.py +f17a21de68c57e0f4ead302df95fc5e7d053ecd409d7513362b482692c8a3b0b .claude/skills/agentic-delivery/scripts/flow_alarm.py dfd9263a0745e4887f8f43a90969d1ce2a75b461beda466a8b82e514f3cf0cde .claude/skills/agentic-delivery/scripts/focus_gate.py 2ffe0e677a5f2cf6066c28aad50ba5c84f966ccb6bfe6f902e7b169287a5af55 .claude/skills/agentic-delivery/scripts/focus_kit.py +102665c978acc0bc4682d6f7800dd473e8bea59d0f148c2a98d528573bfd90c4 .claude/skills/agentic-delivery/scripts/freeze_gate.py +bf5b4e4ea46addbd38f5f34c60db84c2bda66e04996cd6c57dc8bf309dd779c6 .claude/skills/agentic-delivery/scripts/freeze_hook.py 77cfb4f1b10eb9390ff7bd8da801fd6b1435190bbcaddd3a2c7791ea296a20d7 .claude/skills/agentic-delivery/scripts/gh_rest.py 5ad13702171b393c59899717eb6bceb57379e6dcadb869c765d280df5dba050a .claude/skills/agentic-delivery/scripts/handback.py 8de0c944413a6558c8b4fd5932ecf0690f90b1f5421a5222e8802dcd24ce7e10 .claude/skills/agentic-delivery/scripts/handback_cap.py @@ -111,16 +119,17 @@ a8feb9539e3cda3f882e3901ee06bf120b8243735266b60e5304c5d94d214414 .claude/skills f829b4e68baa5237bf03d2de6f736c01fb1ede33bba7952ca3dda6e2e5cdfac6 .claude/skills/agentic-delivery/scripts/pipeline_profile.py 797d4d0625564b0ccb92512116b619272137f119efae81142eb1a23524854809 .claude/skills/agentic-delivery/scripts/plan_gate.py 300696812c567ed05e403c9e58ef5565bcc15d8f5ac1c395fcc9c4a4017d061e .claude/skills/agentic-delivery/scripts/pr_state.py -61d6347a86f37be110b14f74503397b49d5c7bf99a1f11948b6eea8f7fed0ddb .claude/skills/agentic-delivery/scripts/preflight.py +6fe6f9caad80e4b8092239a238641c25fd8910f126365a99a4c8658a029a784b .claude/skills/agentic-delivery/scripts/preflight.py a9235428a933257a45cc486a58dffe4f8ec5a398311937c887066aa0e0698162 .claude/skills/agentic-delivery/scripts/pregate_parity.py 6543ba858ea5e599d12ac8b7fc4cb56919d28ea66c521d887f574bb5d1139c11 .claude/skills/agentic-delivery/scripts/premise_check.py +5e6bf88353f68be4b012cd44742e8bba94db5fd17b246e73b682b9d70577540b .claude/skills/agentic-delivery/scripts/prevention_lint.py 777e056d8eff133920942aba3923edd84049cb58ee260552bdb0bd40a83063c4 .claude/skills/agentic-delivery/scripts/priority_gate.py 4322f48071449f766f187b7fdeedda5d2bb92d5e39b225a1940a75cfe31484ed .claude/skills/agentic-delivery/scripts/queue_guard.py df84be6c5c868d26b90c34ba720e87407f63bc259dbabfb30ae41789dfb5da63 .claude/skills/agentic-delivery/scripts/reap_own.sh d9135da4b8af3e2aacc5de5edb28843d6370ced0185860f49afc5eca9918987f .claude/skills/agentic-delivery/scripts/red_main.py a93ac9578390ca3bc5cf670c3c88c20e2e9e298cbe65e754a65f08c256aead76 .claude/skills/agentic-delivery/scripts/refix_gate.py 762d97da740da6340e4aa8d2809172f24273f063714b08c9f0ce96174f9d8a01 .claude/skills/agentic-delivery/scripts/repeat_poll_guard.py -0f8f5150e203f2c682c3b044746d02d9ddf4786d46a2f468b7a7700db426a418 .claude/skills/agentic-delivery/scripts/reply_cap.py +2986c2153f55b8ac34a31044600173a8c7a7b1d7428875df09e67e73cfd37219 .claude/skills/agentic-delivery/scripts/reply_cap.py 413c2d01be5a64d85b1d2b6901404c634cba71c59bc55f397b08e88642d010dd .claude/skills/agentic-delivery/scripts/restore_ledger.py 4a6fb3e0620bf882a53698af6fbe0fa7b8c8d2e8bb4d9e457940f8a2980cbf35 .claude/skills/agentic-delivery/scripts/review_digest.py 24af47066c1fb3279219c9446c8ba28a25868cef0cdf1f7abab3ae569606f6f5 .claude/skills/agentic-delivery/scripts/review_gate.py @@ -143,13 +152,13 @@ fa414e2f054a825ab1ff9b26147bf80e1d6036fe266a2ac73a4c91bd8b10c2cf .claude/skills 9ffbed35791ea1d5f80322d63d18716e27066ba35a8a1862218b43d3e28ee70e .claude/skills/agentic-delivery/scripts/tier_gate.py 932767b2bf59d28d44a046412c22bddb10ce9c96d99c17f75e508d1870b2e6be .claude/skills/agentic-delivery/scripts/tracker_check.py 3f736e352c91ff08e557ec79d284a4a44ba7db52cfdd300436ce91fb2801b1d8 .claude/skills/agentic-delivery/scripts/tracker_weekly_update.py -8a84d928f079f27a2ab5775c698ca7b60435104200c776b5dcef6c7b0fdbbd97 .claude/skills/agentic-delivery/scripts/train_flake.sh +14a50980e5ec61d66c7f0b57bddc9ac1ff8bb48008521f6d233036278b89fe3d .claude/skills/agentic-delivery/scripts/train_flake.sh c7556523686b83b04cdf12ca9f489bbb6900b4c28f0ebc0cf3fe7c040964627e .claude/skills/agentic-delivery/scripts/train_land.sh 12dd472c6d5d6e9e59bed5d30e6945852e51847b9b898b05b74adb33ac0d750f .claude/skills/agentic-delivery/scripts/train_yield.py 52ced8537f3c809f17722d979a447555387a62dff77afafbb7633e6eadf13d3d .claude/skills/agentic-delivery/scripts/union_overlap.py 603ae6edea7a4d574f55e4d09da8dea6eb4d6d8800c3ecbdc49b1d5d71bea97a .claude/skills/agentic-delivery/scripts/vacuous_test_gate.py 94f8051c37455858854fb8cae79613f4bfd49b8dcda4dfcb51e56cafc81d297b .claude/skills/agentic-delivery/scripts/vendor_drift.py -24c4a28002616f5cfd98fc57e8d1f4c71ba7833c5672b6eda80ee342db36a744 .claude/skills/agentic-delivery/scripts/wired_check.py +2bcc94d0ba8a0124a6d698e9015598c2170753502ee17967673e5bf95ef7ac13 .claude/skills/agentic-delivery/scripts/wired_check.py bbbcec171d247196c9859105239149c8d02627918b50a2b3c52775d14eed668e .claude/skills/agentic-delivery/templates/global-rules.settings.json 98ec99b865d0ebf249960be4722e16af57489a1c78af06adc4afcd5a37de9223 .claude/skills/agentic-delivery/templates/handoff.md 46a4e52954370bb53db6ebf78b7365b2c4ef790ea6e2e73f4f4c09c823c8e219 .claude/skills/agentic-delivery/templates/host-safety.tsv @@ -157,7 +166,7 @@ c96109b2a45cd09b5c806c0d8850f99cfbcb0e75cbd743ad924679aac8da802b .claude/skills c3ef87aa65dec1f63df5f6b1aadc3a1e5c322ed7288a5dbd3b7617d56c12adbb .claude/skills/agentic-delivery/templates/loops/cleanup.md b956a4767c55179e732c5e34581abfd07b285dd73aa030ad9119005cb8e2d0a2 .claude/skills/agentic-delivery/templates/loops/coordinator.md 7f5e043836dca83534623994d97de0da88caec290e434d0c7a1a52cf2345f05b .claude/skills/agentic-delivery/templates/loops/peer.md -b387f473734c6cee8cd426219f3b2eb60c57799c6551022732ca1c7d01dfb1d2 .claude/skills/agentic-delivery/templates/operating-layer.settings.json +59507ff96d89724b022dee7234906c0af218655dbbdabd6f4f41493effc82607 .claude/skills/agentic-delivery/templates/operating-layer.settings.json 024c151cdc8b5175a25ebe44cf4cbb86539ae8d9f90e03b7e2ac359481841681 .claude/skills/agentic-delivery/templates/review-tiers.tsv 0a250e0345c762cbcd7ac018c161bc9a11b405fed644c936379fb74881cc5025 .claude/skills/agentic-delivery/templates/terse-replies.settings.json 986cd7d948bb0aea7abbaa89931756e68b63f48d6fc0fccb00a8e070e618ec6d .claude/skills/business-ops/INDEX.md @@ -191,10 +200,10 @@ d98f3e4380da3496061ba63be7beebe75017ab4ee1734eda9a3e798e19007b0e .claude/skills 6108f7f8d13cefb9a23ca3960cc3bc73200f8ef88fe39c9d1a9b49b9ec7222f1 .claude/skills/contribution/scripts/learning_to_pr.py 92d22cc5d0a60ba6bdb1f4a9b597823dec5b8412cec09a5be6cf93b3973f4226 .claude/skills/contribution/scripts/prefile_check.sh 18f20db537ab784460ad33cf218f7a01ac0a172fc38413f14c0e19e1ce6821cc .claude/skills/contribution/scripts/share_learning.py -6105878af71183aec3ff7c16f546f8044c313a3ae525ec9d4eda608ff737e97f .claude/skills/deep-code-review/INDEX-scripts.md -8f56d90513f2cdac935fa1106b97653734d09a220666d6d77ff5a47db96fc63b .claude/skills/deep-code-review/INDEX.md -5f7bec6c993539270612756e76b3c4e6d43989b528b2be55b2bd48a09593ba6d .claude/skills/deep-code-review/SKILL.md -2173de515343f1e614346180abcee9f0dd17c3ea20d2ba2946e591b78672bbf9 .claude/skills/deep-code-review/VERSION +9b6b9befc4342355101283d8c561e870e11a0197b3dd13306728254c4e6d4fcb .claude/skills/deep-code-review/INDEX-scripts.md +b38c24f26272582bf66d4a8062cec4bef05da0be6135fe1d6cb9db2a69822c76 .claude/skills/deep-code-review/INDEX.md +7934e28b62c1b4c8a817c90baabe36e2f6bf0479c195b3b144468d63d7ecab3a .claude/skills/deep-code-review/SKILL.md +798f91a62c68f4b7accf376835c503f3f167c38321db1fb8c6d0d93d5b1c0c86 .claude/skills/deep-code-review/VERSION 392371349dc5757dbabc27d7a1e7fc38742b92c18e42d3fc7e5fb82b50d2c230 .claude/skills/deep-code-review/evals/evals.json 13dbb52e4bf61b1093302e094151def167371d26e7cf67a026f3beeb09d34378 .claude/skills/deep-code-review/evals/triggers.json b84e3a2b88dc189f041784e76b97e68ad879915814e00f4b37cd27513746d6f1 .claude/skills/deep-code-review/references/a11y-aria.md @@ -219,7 +228,7 @@ c23c728984e6e3bf168cf4b9af76b4354ed059b44aca4c2b4652ce3b8aaab868 .claude/skills 30cc28f8876ce648de29f95167c227896c2dd0f4d664fc62dccfb9100f90a8de .claude/skills/deep-code-review/references/appsec-ssti.md a8825f0d50c6aab31f77eb209312382e98c741b14ad19c2348c38ae551422048 .claude/skills/deep-code-review/references/appsec-supply.md 6f4c9222628d37993187da36e51ee6a5a5daee74e51f31da9b343742bc82b575 .claude/skills/deep-code-review/references/appsec-tokens.md -da657bf448d0b42d178cc3c4d98a6db9dd7a67dff20f17482e5a3ba68aa9b06b .claude/skills/deep-code-review/references/appsec-verify.md +d5357ff88f20cd938d520c438ead77a46f16ae91d21b0a76ae6a43a0601b298a .claude/skills/deep-code-review/references/appsec-verify.md 0abd4efacaead5559ce491c64ef044182fcf408ba490e5f69cc1fa69df8ab829 .claude/skills/deep-code-review/references/billing-correctness.md 379eed07f3ed3fbd36d7a33bf53f2c18e64c111bf6cb746b99606e92dc5451a2 .claude/skills/deep-code-review/references/branch-and-merge-hygiene.md cf8bc78f7d3fa24c51aef32d60f3bf040420faca25f128e5ba3a9cfff23698f8 .claude/skills/deep-code-review/references/code-structure.md @@ -263,14 +272,15 @@ f824751693cf80407208ab0fa6bcae26d6f6de3595d312af85af2ed8230e04f2 .claude/skills f4f326a893228576d6508749803bbbe9df57815b8feea9beb28b6ff7c85abef5 .claude/skills/deep-code-review/references/domain-s.md d8e6a48d65a2e722b023fdf91b7aeb2697ffbfddf628bdd6625405e6ba859723 .claude/skills/deep-code-review/references/domain-t.md d82afc43d6ef9aa4ec1ce85fa9cdf2635888eee0a7980cb7473fa4e0b08b8871 .claude/skills/deep-code-review/references/domain-w.md +ff9e1ac33f137121228dfd33ba0d317de26005d770ef280b7ee838606bc7815a .claude/skills/deep-code-review/references/dynamic-probe.md 1c60334321dc4dcb6b2f7af15a1042070ff6cf7c5964d526407a420ea2f1a988 .claude/skills/deep-code-review/references/energy-efficiency.md ed10ed59f4ec9fcfb337ce474a8971b6a4a17f78bd0980db9a6bed08a308166f .claude/skills/deep-code-review/references/example-review-report.md 3a3779c8a6a1137198e97085c4a1f75f04e83663624e11e3133113ef85d59d3c .claude/skills/deep-code-review/references/frontend-a11y.md b11aeb6dc59a583ca33bb6039464e2c3c3bb7f6c9200a208f68c7c11a2742512 .claude/skills/deep-code-review/references/frontend-security.md -0270104d07e930aaa3e0e0466ddc385edc3f4990346791596b83d7f772ea188e .claude/skills/deep-code-review/references/full-audit.md +c41b69170af78297b67018ed79bcf3cc4ba22e1231e2063615b33b70e3e4d9b3 .claude/skills/deep-code-review/references/full-audit.md 9a784db8a900b4c56b3fd8a087df12c421bb69153577769bc73e702e952204de .claude/skills/deep-code-review/references/full-map-principles.md 650581d81dfdbc953c186eda9dd185a6f72b3b12cd802a5342fd9e6492bfc233 .claude/skills/deep-code-review/references/full-map-report.md -755e680fbaa5fffc4090acec2b96849d0dbf16392276dfc2ca0eed9e70a5e335 .claude/skills/deep-code-review/references/full-map.md +662153742e9c310a707acd25b7327b3a3a7b7119cf7573ecf00bb7919d8ad1d9 .claude/skills/deep-code-review/references/full-map.md f9c9e8626408258f95ff0174456425dfd7cd807c9757bdf12219ac2cbdc84e80 .claude/skills/deep-code-review/references/i18n-l10n.md 549a6d6b8707a517e45a83f88d331d7af4a00f5c8515e7f962107b216bf48208 .claude/skills/deep-code-review/references/infra-evolution-by-stage.md 9c2ad65f31c1cad2405b85ea6ee3a0bb7e52dc9a636f5b855187da320c0189b8 .claude/skills/deep-code-review/references/infra-iac-containers.md @@ -328,7 +338,7 @@ a0ed7ad061b7e60230601ee9b38a00400841d6ddf3af386edbd4b34a981c9798 .claude/skills 8581f0023aedc9e0a4dece61cb2ea876ca9ab57f6acda63ed16c9b54494a1bc8 .claude/skills/deep-code-review/references/testing-ui.md 68df4819a34cbe23756eb19e9b513b9edcd675ad55da7d8c7624d95b124a9744 .claude/skills/deep-code-review/references/threat-modeling.md cf5218579b77d07ca49349165ab6d64c94b0145f61a4438cb09898a414793c68 .claude/skills/deep-code-review/references/time-date-correctness.md -4febd773a801d717e14a9c7faca28bf18ac20fddca7c7ef86485b125fdc036f5 .claude/skills/deep-code-review/references/tool-hub.md +2cd5ec63042335d8e9bcc72d5161c0a2ede539491059b4dfe890af5faf5e23b6 .claude/skills/deep-code-review/references/tool-hub.md bfda9dd8f0d1718725e0fb8c2d6890f4fc2742c9a0d7993112ecf459a3af9f9c .claude/skills/deep-code-review/references/ux-components.md 5e69c5a0c0ab8d94079f2f08e026bc0e700369c76cd7dfeee6e5c7c5c2f020bb .claude/skills/deep-code-review/references/ux-dataviz.md 68c40fe7134afac5fae125f107726136a911c67c1d4abdf0e4c627aee6751713 .claude/skills/deep-code-review/references/ux-gates.md @@ -348,6 +358,7 @@ ed0f0c1eebfdca4dcbaafbf5c2f7b5cc93884de38715b57db894e0f210a811f9 .claude/skills c5b40f3f0d3fb174e6c9490150c7b85723de33f95d3fab87d60214d4939401a8 .claude/skills/deep-code-review/scripts/coverage_ledger.py 36c1447a65135496c519397c04c6a74ef066bd01399d593907e598b8d2038498 .claude/skills/deep-code-review/scripts/derived_numbers.py 662031286d4a29aff2e1aaa5cb4fa287ab99f9c7b5124085ea47da3dc66622cc .claude/skills/deep-code-review/scripts/design_drift.py +1d7f188d5977e7ab2d5b383cfe6f8bb9d5d81045ca048d5fe802a5e9496d0e65 .claude/skills/deep-code-review/scripts/dynamic_probe.py 16041dbe1925a21c7a87507dd2f0d5b7bd0fd27ed5cb1816e99c5ca324315bd0 .claude/skills/deep-code-review/scripts/finding_ground_check.py 138fc6ce93b8177c3f30f25f60bd0d2f0fcad98799df5b9c07551d9bd4074550 .claude/skills/deep-code-review/scripts/finding_verdict.py 2176c4fd97ee2635852817f62454a9588beb44752217a5d09b4601a92ea73578 .claude/skills/deep-code-review/scripts/fix_class_gate.py @@ -377,12 +388,12 @@ cdacdfba4a9aff3c20344bfc8a4fe84b6ed24e85e9b5feefb2a08058f8858bda .claude/skills 9cf250be85e7c589979ca6a4f2774cf9a692695d94d46f6ded79480dea18fbe5 .claude/skills/deep-code-review/scripts/partition_diff.py 5d6910164ddf6dfd4ed62dfc365a2f615f49dc07878ed3d1f881aa9518e481c2 .claude/skills/deep-code-review/scripts/post_review.sh f1108e2700864195a239744b319b1d04953879589f8a2b83708bc45a080e3d86 .claude/skills/deep-code-review/scripts/reaper_lint.py -383991bc757adc33b2f31deee8475843800b9dbdadf1e464b9d03dcfcbcfc23a .claude/skills/deep-code-review/scripts/review_checks.sh +87395b898841a00ac1660d69f51196b92dd01ad9c3c16f31783672086e094fad .claude/skills/deep-code-review/scripts/review_checks.sh 8c87c02a050a975e453b52ecacbaf01481c7134466a9c67feaf409d22e36d9f7 .claude/skills/deep-code-review/scripts/review_feedback.py 859c67d6a6a781c873f47d5662d403da2321da53e6994ca3d0ccdbf74afd39ac .claude/skills/deep-code-review/scripts/score_review.py 51c50eef1e4c5f417e56ee89b6804068052333ac8b8764c3b6ffcb2f3b8c185e .claude/skills/deep-code-review/scripts/security_verify.py 761ccb5730e297f41d865aeec9babd44b00b5cc029a8d4e7b2cb37b1122222be .claude/skills/deep-code-review/scripts/source_scan_tests.py -98707fa06de6240315dba9b09321e05bbaa341a7f5b0f41a314f55486f00a390 .claude/skills/deep-code-review/scripts/supply_chain_check.sh +d09fad6e40f0355f5f82ddf87c4f501b084b4b406e0cd9f070310d7c41b2c1ad .claude/skills/deep-code-review/scripts/supply_chain_check.sh 01ce284157850e6f9b146023dbcf12a8ed014db578ee5f6f27ddf21a2a3a0b5e .claude/skills/deep-code-review/scripts/token_differ.py 317acae212ed73279df66eb7b419b8426733bb1be05345b0e1c8b2c6790ad8a1 .claude/skills/deep-code-review/scripts/validate_status_claims.py 12a01a5082b5c4466c40aab5f0114cd8442f271df1aa7ef8ddd186512681a7b8 .claude/skills/deep-code-review/templates/dcr-gates.sh @@ -391,7 +402,7 @@ ab06548d2b071068a5032e2880e68fd9fb68d055ae9595a5520ef2772d522664 .claude/skills f31e66a322ee172e4b9621c3b70717a6e896ee64178f0e8ea77ac2088b6d0cb6 .claude/skills/deep-code-review/templates/integrator-gate.sh 1f2ae6dfa026858aa04bffa55f93d8e53995ea536e3b813dcf28a88fa6f983e2 .claude/skills/deep-code-review/templates/parity-capture.md d84df8bbfb7e87be95446e91151f1badcc85797c07d3cb574be00c66b4f6b7c4 .claude/skills/deep-code-review/templates/perun-review.yml -571163b718960edde662e33cd83a3265df4ca34adf65166bc69bf67da0d09399 .claude/skills/deep-code-review/templates/pre-push-verify.sh +3bc86c59cc8398c6041c9a1803b37279cdc1708378d4b2a10ff86dff9f912781 .claude/skills/deep-code-review/templates/pre-push-verify.sh 5765bc07cb45d039e420875db828c8394866a121da4cb5f9ecea03d8ac7dafff .claude/skills/deep-code-review/templates/semgrep-taint/js.yml 330a65b84d57ab6095bf56e8f4e301963443730120a0e0e838dbea42e71ef679 .claude/skills/deep-code-review/templates/semgrep-taint/py.yml 29ee3a47eb7973011cdfe1fb4321aac89fc0fe8f98776505df70a6d6a45cbf0f .claude/skills/growth-analytics/INDEX.md @@ -402,8 +413,8 @@ e951eaa63fd0d1870701d69c89c29ef4fe74dbad9b680ab6ef0a4e993fb8bc20 .claude/skills fd316c63bbf1cc0ea64322d7d923d66692eaf7b545c056367bfecca35146c862 .claude/skills/growth-analytics/references/full-map.md 2f1d7499e9ed7ae59f550b5c00043e465b2a4e885821ad153438e2e33fcccb45 .claude/skills/growth-analytics/scripts/readout_check.py 5be54df47bce30f18c77b2b3f7fc6cfb9e58c59bf436f90e7e987122b6329557 .claude/skills/idea-critic/INDEX.md -aba0d02f46c6e9231ebe639f89df7202000afa693a29951fac277c64cf59cfce .claude/skills/idea-critic/SKILL.md -2173de515343f1e614346180abcee9f0dd17c3ea20d2ba2946e591b78672bbf9 .claude/skills/idea-critic/VERSION +0619f0ad95cde556ad1b7b8d5773fa2f5280813fdfa376a6cec4c9119e2ad705 .claude/skills/idea-critic/SKILL.md +798f91a62c68f4b7accf376835c503f3f167c38321db1fb8c6d0d93d5b1c0c86 .claude/skills/idea-critic/VERSION 0eaff6a652b6588e819d1a85caa697228bed504934dcb4d34097ebd69aef623a .claude/skills/idea-critic/evals/evals.json 0e1c0db300661a1ab1a427a7157c75e2ed67130ab24d5c6cb02ec3ff9e793f58 .claude/skills/idea-critic/evals/heldout.json d8098c5ced63e8b8608867dd144091049563a0553cf62d27ce05b9d52ac54266 .claude/skills/idea-critic/evals/triggers.json diff --git a/changelog.d/wave-ai-peer-lessons-batch.md b/changelog.d/wave-ai-peer-lessons-batch.md deleted file mode 100644 index 71d36586e..000000000 --- a/changelog.d/wave-ai-peer-lessons-batch.md +++ /dev/null @@ -1,14 +0,0 @@ -### Added -- agentic-delivery: `fitness_tick.py` runs each fix's executable fitness check every operating-loop tick (one-line `ALARM`), and `closable NAME` passes only after 2 consecutive passing ticks and a caller. `flake_holder.py` (pre-push, warn-only) names the open PR that already changes a flaky-test fix's test file. `finding_guard.py` (operating-layer PreToolUse hook) runs the `file_finding.py` dedupe search on every `gh issue create --title` and denies a match (`# finding-force: ` overrides; a failed search fails open). -- agentic-delivery: `wired_check.py` now reports a new script that appears only on an orphan/unused allowlist as `merged-not-wired`. -- agentic-delivery: `baseline_guard.py` stores a test baseline only after solo re-runs, with the host load recorded, and refuses a run far above the normal failure count. `freeze_gate.py` (pre-push) enforces a freeze file: only pure deletions and `Red-Trunk-Fix:` commits pass. `flow_alarm.py` is one symptom alarm (ready work but nothing merged in 2h, or trunk red over 1h), a stop-starting PreToolUse hook that denies `gh pr create` while 5 or more PRs are ready-but-unmerged, and a value-stream split (`split`). `prevention_lint.py` fails a postmortem action item that lacks an owner, tracking id or verifiable end state. - -### Changed -- agentic-delivery: `reply_cap.py` skips when a user-level Stop hook already runs a different reply-cap script, so an over-cap reply gets one rewrite demand, not two. -- agentic-delivery: `flake_ledger.py quarantine` takes `--ticket`, flags ticketless entries in `report`, and on a full list (`--max`, default 10) exits 1 and can file a P0 issue (`--file-issue`). -size-budget-raise: .claude/skills/agentic-delivery/references/unattended-operating-mode.md 26739→27923 fitness-check close rule, finding_guard hook, symptom alarm, stop-starting, value-stream split -size-budget-raise: .claude/skills/agentic-delivery/references/red-gate-triage.md 27186→28248 flaky-fix holder rule, baseline guard, quarantine ticket, freeze file -size-budget-raise: .claude/skills/agentic-delivery/references/full-map.md 24381→24488 merged-not-wired allowlist note -size-budget-raise: .claude/skills/agentic-delivery/references/template-postmortem.md 3387→3519 done-when column and prevention lint - -size-budget-raise: .claude/skills/agentic-delivery/references/red-gate-triage.md 27616→28678 peer-lessons rows (freeze gate, flow alarm, fitness tick) routed from triage diff --git a/changelog.d/wave-ai-scanner-offline-db.md b/changelog.d/wave-ai-scanner-offline-db.md deleted file mode 100644 index 9e71b29b2..000000000 --- a/changelog.d/wave-ai-scanner-offline-db.md +++ /dev/null @@ -1,4 +0,0 @@ -### Added -- deep-code-review `review_checks.sh`: `REVIEW_OSV_DB_DIR` and `REVIEW_TRIVY_CACHE` run osv-scanner and trivy from a pre-seeded vuln DB (no TLS to the DB host); a missing DB stays NOT CHECKED and prints the exact one-line warm command. `--repo DIR` replaces `cd DIR &&` chains, and semgrep also gets a temp `XDG_CACHE_HOME`. `supply_chain_check.sh` honors the same DB dir, runs actionlint without a `cd` chain, and notes `dev-only` packages (npm `dev`, osv dev/build/test group) capped at moderate. `appsec-verify.md` section 0 names `redirect: "follow"` fetch sites and TLS-verify-off flags as review targets. `preflight.py` gains optional `require_files` (warn on a missing env template). Tests: `scripts/test-scanner-offline-db.sh`. -size-budget-raise: .claude/skills/deep-code-review/references/appsec-verify.md 7428→7863 redirect:follow and TLS-verify-off review targets named -size-budget-raise: .claude/skills/deep-code-review/references/tool-hub.md 4511→4994 offline vuln-DB env vars, --repo, dev-only cap documented diff --git a/changelog.d/wave-ak-train-flake-cleanup-rules.md b/changelog.d/wave-ak-train-flake-cleanup-rules.md deleted file mode 100644 index 322f96231..000000000 --- a/changelog.d/wave-ak-train-flake-cleanup-rules.md +++ /dev/null @@ -1,7 +0,0 @@ -### Fixed -- agentic-delivery: `train_flake.sh` now removes the flake-store and flake-out temp dirs it creates (EXIT trap over only its own mktemp paths) instead of leaving them for OS cleanup. `scripts/test-train-flake-cleanup.sh` proves none remain. -### Added -- agentic-delivery: short rules in `red-gate-triage.md` (rerun failing titles solo with one worker, 2 of 2 passes is a flake, paired base run before a bisect, AIMD batch window), `retrospective.md` (one pin test per finding in every train, fingerprint duplicate check before filing) and `pipeline-optimizer.md` (each pipeline fix removes a knob or code path). -size-budget-raise: .claude/skills/agentic-delivery/references/red-gate-triage.md 27186→27616 one short rule paragraph added: solo rerun, paired base run, AIMD window -size-budget-raise: .claude/skills/agentic-delivery/references/retrospective.md 4844→5095 one short rule added: pin test per finding, fingerprint dedupe -size-budget-raise: .claude/skills/agentic-delivery/references/pipeline-optimizer.md 19352→19480 one short rule added: deletion budget diff --git a/changelog.d/wave-al-flow-guard-fixes.md b/changelog.d/wave-al-flow-guard-fixes.md deleted file mode 100644 index ee0b1a3fe..000000000 --- a/changelog.d/wave-al-flow-guard-fixes.md +++ /dev/null @@ -1,8 +0,0 @@ -### Changed -- agentic-delivery: `fitness_tick.py closable` now needs a real caller (a JSON hook/package entry, CI workflow, `.sh`, Makefile, or a loop entry whose line starts with the command), not a text mention. `baseline_guard.py` refuses a suspect baseline by default (`--normal` 5, `--max-load` 2 x cores; `--force` overrides). `wired_check.py` treats only explicit orphan/unused allowlist names, a `# orphan:` marker and an `allowlist:` key as an allowlist (bare words like "unused" no longer exempt a caller). -- agentic-delivery: the issue-dedupe hook, fitness check and flow-alarm doctrine now lives once in `references/flow-guards.md`; the other references link to it. - -### Added -- agentic-delivery: `freeze_hook.py`, a fail-closed PreToolUse(Bash) hook in the operating-layer template that parses argv (global flags, wrappers, `bash -c`, `gh api .../merge`) and denies `git push` and `gh pr merge` while a freeze file exists; malformed input or an unreadable freeze state denies, a non-repo cwd allows. Quoting tricks, eval of variables and wrapper scripts remain a known ceiling. -size-budget-raise: .claude/skills/agentic-delivery/references/full-map.md 24488→24599 route flow-guards.md, narrowed allowlist note -size-budget-raise: .claude/skills/agentic-delivery/SKILL.md 7134→7202 route flow-guards.md in the red-gate row diff --git a/changelog.d/wave-dynamic-probe.md b/changelog.d/wave-dynamic-probe.md deleted file mode 100644 index 12243b90a..000000000 --- a/changelog.d/wave-dynamic-probe.md +++ /dev/null @@ -1,9 +0,0 @@ -### Added -- deep-code-review `scripts/dynamic_probe.py`: opt-in dynamic step for a locally running app (localhost or 127.0.0.1 only, never follows redirects). Probes malformed percent-encoding and oversized inputs (any 5xx is a finding), a burst on a named endpoint for missing rate limiting, security headers, and open redirect, and prints review_checks-shaped rows (finding, clean or not-checked). Routed from `full-audit.md` via the new `references/dynamic-probe.md`. Tests: `scripts/test_dynamic_probe.py`. -size-budget-raise: .claude/skills/deep-code-review/references/full-audit.md 6584→6757 route line to the dynamic probe step -size-budget-raise: .claude/skills/INDEX.md 14885→14993 dynamic_probe.py script row -size-budget-raise: .claude/skills/deep-code-review/INDEX.md 20406→20551 dynamic-probe.md reference row and script count -size-budget-raise: .claude/skills/deep-code-review/INDEX-scripts.md 5356→5498 dynamic_probe.py script row -size-budget-raise: .claude/skills/deep-code-review/references/full-map.md 18985→19020 route to dynamic-probe.md - -size-budget-raise: .claude/skills/deep-code-review/references/full-map.md 18985→18997 routes dynamic-probe.md diff --git a/changelog.d/wave-review-checks-full.md b/changelog.d/wave-review-checks-full.md deleted file mode 100644 index ecdcf44ca..000000000 --- a/changelog.d/wave-review-checks-full.md +++ /dev/null @@ -1,4 +0,0 @@ -### Added -- deep-code-review `review_checks.sh --full`: scan every tracked file against git's empty tree (one batched gitleaks run over the working tree), with no synthetic base needed. gitleaks now drops fingerprints listed in the repo's `.gitleaksignore` (read as of BASE, HEAD under `--full`) in both modes, and a missing gitleaks lands as a `not-checked` row. `perun_policy.py` is now located from the script's resolved dir. Tests: `scripts/test-review-checks-full.sh`. - -size-budget-raise: .claude/skills/deep-code-review/references/tool-hub.md 4994→5260 documents --full mode and .gitleaksignore handling diff --git a/gemini-extension.json b/gemini-extension.json index d8f6b0e09..bf37c4e46 100644 --- a/gemini-extension.json +++ b/gemini-extension.json @@ -1,6 +1,6 @@ { "name": "perun", - "version": "1.610.0", + "version": "1.611.0", "description": "Perun: a skill suite for AI-agent teams: deep code review, token and cost tools, gated delivery, an idea critic and product specialists.", "contextFileName": "AGENTS.md" } diff --git a/scripts/size-budgets.tsv b/scripts/size-budgets.tsv index 1c57ce2cd..0d60af3c4 100644 --- a/scripts/size-budgets.tsv +++ b/scripts/size-budgets.tsv @@ -32,12 +32,12 @@ .claude/skills/agentic-ceo/references/chaos-playbook.md 7573 .claude/skills/agentic-ceo/references/full-map.md 15848 .claude/skills/agentic-ceo/references/improvement-loop.md 11646 -.claude/skills/agentic-delivery/SKILL.md 7134 +.claude/skills/agentic-delivery/SKILL.md 7202 .claude/skills/agentic-delivery/references/cost-quality-guardrails.md 16230 .claude/skills/agentic-delivery/references/dev-env-ownership.md 33694 .claude/skills/agentic-delivery/references/fanout-host-sizing.md 49827 .claude/skills/agentic-delivery/references/fast-agentic-delivery.md 6812 -.claude/skills/agentic-delivery/references/full-map.md 24381 +.claude/skills/agentic-delivery/references/full-map.md 24599 .claude/skills/agentic-delivery/references/gate-epistemology.md 11800 .claude/skills/agentic-delivery/references/host-enforcement.md 44913 .claude/skills/agentic-delivery/references/incident-response.md 13056 @@ -51,8 +51,8 @@ .claude/skills/agentic-delivery/references/roles.md 27320 .claude/skills/agentic-delivery/references/support-ops.md 4455 .claude/skills/agentic-delivery/references/template-adr.md 2641 -.claude/skills/agentic-delivery/references/template-postmortem.md 3387 -.claude/skills/agentic-delivery/references/unattended-operating-mode.md 26739 +.claude/skills/agentic-delivery/references/template-postmortem.md 3519 +.claude/skills/agentic-delivery/references/unattended-operating-mode.md 26837 .claude/skills/agentic-delivery/references/unattended-trackers.md 47212 .claude/skills/agentic-delivery/references/verification-handback.md 60826 .claude/skills/business-ops/SKILL.md 6454 @@ -198,7 +198,7 @@ README.md 16118 .claude/skills/deep-code-review/references/compact-mode.md 2491 .claude/skills/deep-code-review/references/full-audit.md 6757 .claude/skills/deep-code-review/references/nextjs-app-router.md 2151 -.claude/skills/agentic-delivery/references/red-gate-triage.md 27616 +.claude/skills/agentic-delivery/references/red-gate-triage.md 28533 .claude/skills/agentic-delivery/references/worktree-isolation.md 16482 .claude/skills/communication-structure/references/leadership-status-update.md 2003 .claude/skills/idea-critic/references/anti-rationalization.md 1330 @@ -208,11 +208,11 @@ README.md 16118 .claude/skills/product-discovery/references/full-map.md 12384 .claude/skills/growth-analytics/references/full-map.md 10661 .claude/skills/positioning/references/full-map.md 9520 -.claude/skills/INDEX.md 14993 -.claude/skills/agentic-delivery/INDEX.md 4535 -.claude/skills/agentic-delivery/INDEX-scripts.md 15782 +.claude/skills/INDEX.md 15672 +.claude/skills/agentic-delivery/INDEX.md 4672 +.claude/skills/agentic-delivery/INDEX-scripts.md 16945 .claude/skills/deep-code-review/INDEX.md 20551 -.claude/skills/deep-code-review/INDEX-scripts.md 5498 +.claude/skills/deep-code-review/INDEX-scripts.md 5507 .claude/skills/agentic-delivery/references/pipeline-optimizer.md 19480 .claude/skills/agentic-delivery/references/focus-kit.md 5235 .claude/skills/communication-structure/references/artifact-templates.md 7029 @@ -224,7 +224,7 @@ README.md 16118 .claude/skills/deep-code-review/references/safety-critical.md 7453 .claude/skills/deep-code-review/references/overlays.md 1437 .claude/skills/agentic-delivery/references/template-onepager.md 1667 -.claude/skills/deep-code-review/references/full-map.md 19020 +.claude/skills/deep-code-review/references/full-map.md 18997 .claude/skills/deep-code-review/references/full-map-principles.md 3060 .claude/skills/deep-code-review/references/full-map-report.md 2171 .claude/skills/deep-code-review/references/appsec-verify.md 7863 @@ -234,6 +234,7 @@ README.md 16118 .claude/skills/deep-code-review/references/small-diff-read-budget.md 526 .claude/skills/deep-code-review/references/app-pentest.md 3033 .claude/skills/deep-code-review/references/supply-chain-check.md 3178 -.claude/skills/deep-code-review/references/tool-hub.md 4994 +.claude/skills/deep-code-review/references/tool-hub.md 5260 .claude/skills/deep-code-review/references/desktop-native-appsec.md 4724 .claude/skills/deep-code-review/references/dynamic-probe.md 1890 +.claude/skills/agentic-delivery/references/flow-guards.md 2105