@event4u/agent-config 9.30.0 → 9.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +60 -292
- package/dist/agent-src/contexts/execution/host-capability-manifest.md +32 -1
- package/dist/agent-src/rules/delegation-policy.md +11 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/scripts/work_engine/delivery_state.ts +6 -0
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +332 -0
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/refine.ts +106 -1
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/test.ts +50 -15
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +49 -15
- package/dist/agent-src/templates/scripts/work_engine/state.ts +74 -0
- package/dist/agent-src/templates/scripts/work_engine/state_io.ts +6 -0
- package/dist/cli-delegate/chunk-2WELHO3P.js +582 -0
- package/dist/cli-delegate/{chunk-IYTGIG2Y.js → chunk-542DZR4P.js} +118 -148
- package/dist/cli-delegate/{chunk-66OVWGB5.js → chunk-AG47LAGQ.js} +1 -1
- package/dist/cli-delegate/{chunk-MP3JT3IU.js → chunk-DS6BLDMG.js} +1 -1
- package/dist/cli-delegate/{chunk-O3CO5BFB.js → chunk-EJITJBJX.js} +12 -1
- package/dist/cli-delegate/{chunk-EQY4FLJB.js → chunk-ITIQSGOQ.js} +3 -3
- package/dist/cli-delegate/{chunk-LCFJIQ4J.js → chunk-JEJABGKB.js} +110 -6
- package/dist/cli-delegate/chunk-PZWRPRWP.js +38 -0
- package/dist/cli-delegate/{chunk-BTJNRUX3.js → chunk-QEEB4LHO.js} +1 -1
- package/dist/cli-delegate/{chunk-DDUNNFYX.js → chunk-UVKNIJH2.js} +2 -2
- package/dist/cli-delegate/cmd_analyze_session.js +1 -1
- package/dist/cli-delegate/cmd_brand_status.js +1 -1
- package/dist/cli-delegate/cmd_conformance.js +154 -41
- package/dist/cli-delegate/cmd_doctor.js +4 -3
- package/dist/cli-delegate/cmd_explain.js +2 -2
- package/dist/cli-delegate/cmd_export.js +4 -4
- package/dist/cli-delegate/cmd_handoff.js +168 -59
- package/dist/cli-delegate/cmd_mcp_available.js +1 -1
- package/dist/cli-delegate/cmd_migrate.js +2 -2
- package/dist/cli-delegate/cmd_packs_active.js +2 -2
- package/dist/cli-delegate/cmd_prune.js +4 -4
- package/dist/cli-delegate/cmd_route_audit.js +2 -2
- package/dist/cli-delegate/cmd_route_explain.js +1 -1
- package/dist/cli-delegate/cmd_session_recycle.js +19 -4
- package/dist/cli-delegate/cmd_settings_get.js +2 -55
- package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
- package/dist/cli-delegate/cmd_settings_set.js +1 -1
- package/dist/cli-delegate/cmd_sync.js +4 -4
- package/dist/cli-delegate/cmd_uninstall.js +4 -4
- package/dist/cli-delegate/cmd_update.js +1 -1
- package/dist/cli-delegate/cmd_upgrade.js +1 -1
- package/dist/cli-delegate/cmd_validate.js +4 -4
- package/dist/cli-delegate/cmd_versions.js +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +3 -3
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +2 -2
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +2 -2
- package/dist/hooks/dispatch.js +1411 -810
- package/dist/install/install.mjs +121 -16
- package/dist/mcp/registry-manifest.json +1 -1
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +365 -143
- package/dist/scripts/_lib/agent_settings.js +111 -2
- package/dist/scripts/_lib/agent_settings.js.map +1 -1
- package/dist/server/schemas/settings.js +2 -2
- package/dist/server/schemas/settings.js.map +1 -1
- package/package.json +1 -1
- package/src/agent-src/templates/scripts/work_engine/delivery_state.ts +6 -0
- package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +332 -0
- package/src/agent-src/templates/scripts/work_engine/directives/backend/refine.ts +106 -1
- package/src/agent-src/templates/scripts/work_engine/directives/backend/test.ts +50 -15
- package/src/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +49 -15
- package/src/agent-src/templates/scripts/work_engine/state.ts +74 -0
- package/src/agent-src/templates/scripts/work_engine/state_io.ts +6 -0
- package/src/config/pack-size-budget.json +3 -2
- package/src/scripts/_cli/cmd_session_recycle.ts +25 -0
- package/src/scripts/_cli/explain_last/inputs.ts +13 -0
- package/src/scripts/_cli/handoff_generate.ts +36 -1
- package/src/scripts/_cli/handoff_sessions.ts +140 -9
- package/src/scripts/_lib/agent_settings.ts +119 -2
- package/src/scripts/_lib/carrier_divergence.ts +120 -2
- package/src/scripts/_lib/envelope_grounding.ts +206 -0
- package/src/scripts/_lib/host_capability.ts +79 -0
- package/src/scripts/_lib/session_eol.ts +85 -0
- package/src/scripts/_lib/subagent_capsule.ts +256 -1
- package/src/scripts/check_secret_leak.test.ts +43 -0
- package/src/scripts/check_secret_leak.ts +12 -0
- package/src/scripts/handoff_context_hook.ts +66 -18
- package/src/scripts/hooks/session_eol_hook.ts +12 -12
- package/src/scripts/hooks/turn_end_gate_hook.ts +296 -88
- package/src/scripts/language_mirror_hook.ts +69 -16
- package/src/scripts/measure_turn_end_gate.ts +129 -51
- package/src/scripts/report_carrier_divergence.ts +143 -30
- package/src/scripts/report_conformance_funnel.ts +18 -4
- package/src/scripts/routing_doctor.ts +25 -2
- package/src/scripts/schemas/dod.schema.json +45 -0
- package/src/server/schemas/settings.ts +2 -2
- package/dist/cli-delegate/chunk-RVGBH4XK.js +0 -142
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Bootstrap shim for the event4u agent-config suite. This plugin ships ONLY the dispatcher hooks plus one install-pointer skill — ALL content (skills, rules, commands) is installed via `npx -y @event4u/agent-config init`, which writes the file projection AND registers the same hooks in ~/.claude/settings.json. DEPRECATED as a content channel; kept so the marketplace listing stays discoverable and existing installs keep working hooks.",
|
|
9
|
-
"version": "9.
|
|
9
|
+
"version": "9.32.0",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"agent-config",
|
|
12
12
|
"skills",
|
package/CHANGELOG.md
CHANGED
|
@@ -305,348 +305,116 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
|
|
|
305
305
|
> keeps the active era under the 250-line drift cap enforced by
|
|
306
306
|
> `tests/test_changelog_eras.py`.
|
|
307
307
|
|
|
308
|
-
# Era: 9.
|
|
308
|
+
# Era: pre-9.31.0 — archived
|
|
309
309
|
|
|
310
|
-
>
|
|
310
|
+
> All entries before `9.31.0` live in
|
|
311
|
+
> [`docs/archive/CHANGELOG-pre-9.31.0.md`](docs/archive/CHANGELOG-pre-9.31.0.md).
|
|
312
|
+
> The archive is read-only; git tags remain the canonical
|
|
313
|
+
> source for what shipped. Splitting them out of the main file
|
|
314
|
+
> keeps the active era under the 250-line drift cap enforced by
|
|
315
|
+
> `tests/test_changelog_eras.py`.
|
|
316
|
+
|
|
317
|
+
# Era: 9.31.x — current
|
|
318
|
+
|
|
319
|
+
> Started at `9.31.0`. Full entries live inline below.
|
|
311
320
|
> The drift test caps this era at 250 lines of entry body; growth past
|
|
312
|
-
> that forces a new era split (`# Era: 9.
|
|
321
|
+
> that forces a new era split (`# Era: 9.32.x`, etc.) — see
|
|
313
322
|
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
314
323
|
|
|
315
|
-
## [9.
|
|
324
|
+
## [9.32.0](https://github.com/event4u-app/agent-config/compare/9.31.0...9.32.0) (2026-08-10)
|
|
316
325
|
|
|
317
326
|
### Release highlights
|
|
318
327
|
|
|
319
328
|
<!-- Curated head: fill before merge, keep it under 10 lines, and leave `_none_` where it is genuinely the answer. The generated log below is unchanged. -->
|
|
320
|
-
- **Behaviour changes:** _auto-derived, rewrite before merge:_ rule/schema diffs, breaking commits or removed public surface in
|
|
329
|
+
- **Behaviour changes:** _auto-derived, rewrite before merge:_ rule/schema diffs, breaking commits or removed public surface in 1f01490, e05de77.
|
|
321
330
|
- **Default changes + migration:** _none_
|
|
322
331
|
- **Security and correctness:** _none_
|
|
323
|
-
- **Honest nulls:**
|
|
332
|
+
- **Honest nulls:** _none_
|
|
324
333
|
- **Known limitations:** _none_
|
|
325
334
|
|
|
326
335
|
### Features
|
|
327
336
|
|
|
328
|
-
* **
|
|
329
|
-
* **
|
|
330
|
-
* **
|
|
331
|
-
* **
|
|
332
|
-
* **
|
|
333
|
-
* **explain:** a dispatch decision explains its whole ladder walk, truthfully ([c665b6c](https://github.com/event4u-app/agent-config/commit/c665b6c4af2d251168c825accd54cbd238d985cf))
|
|
334
|
-
* **cli:** gates — the open decisions that need you, rendered as actions ([530365a](https://github.com/event4u-app/agent-config/commit/530365ad7e0abb767953176d211cb633a7497b76))
|
|
335
|
-
* **gates:** a new rule declares its enforcement, or states the gap ([71a1c30](https://github.com/event4u-app/agent-config/commit/71a1c303beb046c1f96c186d286d8d332dcb7872))
|
|
336
|
-
* **gates:** twelve gates account per target, or name why they cannot ([200a2fb](https://github.com/event4u-app/agent-config/commit/200a2fb9795896d1a153f79da7653b3848b36a62))
|
|
337
|
-
* **recycling:** session-eol Stop carrier, committed threshold, compact fallback, metric registrations (P3+P4) ([117991f](https://github.com/event4u-app/agent-config/commit/117991f720861b477af51641d34cb913f5af601b))
|
|
338
|
-
* **recycling:** main-session recycle envelope — schema variant, producer, consumer, round-trip (P2) ([62881e2](https://github.com/event4u-app/agent-config/commit/62881e2a0c25a1f0af75622c919f177f20271ee8))
|
|
339
|
-
* **recycling:** session end-of-life scanner, report and measured baseline (P1) ([cb760c1](https://github.com/event4u-app/agent-config/commit/cb760c1270e0aeb5de4490abc3efbbd78c8444d2))
|
|
340
|
-
* **cache-economy:** rtk corpus extension + unbounded-output cap advisory + metric registrations (P4-P6) ([0e46dff](https://github.com/event4u-app/agent-config/commit/0e46dff8fbaa77fcd66eb2a3bfc5db8e9ccd7f41))
|
|
341
|
-
* **cache-economy:** injection anatomy spike, stability lint, injection budget (token-economy-cache P1-P3) ([1176f77](https://github.com/event4u-app/agent-config/commit/1176f77b4e57e882a3a2d1399828a0c564883b31))
|
|
342
|
-
* **settings:** subagent model ceiling as explicit class-C spend cap (token-economy-dispatch P5) ([3fd63fc](https://github.com/event4u-app/agent-config/commit/3fd63fcb3ad9a343d3f40fdeb9354535aa8eda51))
|
|
343
|
-
* **ladder:** rung 0.5 ask transport below the spawn boundary (token-economy-dispatch P3+P4) ([5b86045](https://github.com/event4u-app/agent-config/commit/5b860459bf3a039200af37de91fea15e83f335d4))
|
|
344
|
-
* **hooks:** role axis in the hook manifest (token-economy-dispatch P2) ([60e804d](https://github.com/event4u-app/agent-config/commit/60e804d5ffa510cdd62e44744a9399b29793533f))
|
|
345
|
-
* **telemetry:** register dispatch-floor + rules-efficiency metrics (token-economy-dispatch P1) ([083fbb1](https://github.com/event4u-app/agent-config/commit/083fbb1d9ab5045a10bc0438d4a74bef6cec8b01))
|
|
346
|
-
* **scripts:** measure the turn-end-gate detectors against a real corpus ([b5c9bfe](https://github.com/event4u-app/agent-config/commit/b5c9bfe9ea85b3489f060401e7ff8a07a230f38d))
|
|
347
|
-
* **hooks:** re-emit the language pin across the compaction boundary ([a1812b4](https://github.com/event4u-app/agent-config/commit/a1812b41ba23745c3c4f21d3532ec0e822284d7c))
|
|
348
|
-
* **hooks:** add turn-end-gate, the first concern that can refuse a turn-end ([9e2edfc](https://github.com/event4u-app/agent-config/commit/9e2edfcba6c633a8746d8b28aac7069313123c32))
|
|
337
|
+
* **work-engine:** route both red-check lanes through the self-fix loop ([10c8f7e](https://github.com/event4u-app/agent-config/commit/10c8f7eafbf21fc03a5f301163c941a20df4a885))
|
|
338
|
+
* **work-engine:** bounded self-fix loop primitive + executable dod schema ([1f01490](https://github.com/event4u-app/agent-config/commit/1f0149035c1a27729b729dab1dedd861ccdf9812))
|
|
339
|
+
* **envelope:** drift anchor, scripted grounding, verbatim error strings ([6c9187e](https://github.com/event4u-app/agent-config/commit/6c9187e30f41c87553764759096a3f7f4d19a126))
|
|
340
|
+
* **envelope:** successor tailoring, mandatory failed_approaches, data-never-instruction boundary ([b03beac](https://github.com/event4u-app/agent-config/commit/b03beac1ad1325253c89a63eac9abc9f051269d3))
|
|
341
|
+
* **orchestration:** report per-field provenance for host capabilities ([f4958de](https://github.com/event4u-app/agent-config/commit/f4958decf4a70b445a38747bff768ab449877d52))
|
|
349
342
|
|
|
350
343
|
### Bug Fixes
|
|
351
344
|
|
|
352
|
-
* **
|
|
353
|
-
* **
|
|
354
|
-
* **
|
|
355
|
-
* **
|
|
356
|
-
* **
|
|
357
|
-
* **
|
|
358
|
-
* **
|
|
359
|
-
* **rules:** preservation-guard states its whole prohibition in its Iron Law ([ded8e1a](https://github.com/event4u-app/agent-config/commit/ded8e1ad2c435f657d7dbed8f4fea5cb40834080))
|
|
360
|
-
* **recycling:** pin session-eol in the worker-drop set the role-axis test asserts ([1a4370d](https://github.com/event4u-app/agent-config/commit/1a4370df8cc6bf97cc2c988fd6d10e9f91249212))
|
|
361
|
-
* **hooks:** point the pre-commit roadmap gate at the live script path ([fd8c565](https://github.com/event4u-app/agent-config/commit/fd8c565123d3a61d9a883fa079a60378552936fc))
|
|
362
|
-
* **cache-economy:** cast reread-guard ledger reads via unknown for the strict changed-files typecheck ([7159adf](https://github.com/event4u-app/agent-config/commit/7159adf91ed90c51cb4e645c27b6dc1042e97dbd))
|
|
363
|
-
* **deps:** bump the npm-production group with 5 updates ([2e388f1](https://github.com/event4u-app/agent-config/commit/2e388f1a611417d5b740448a5f1d49f8953ac69c))
|
|
364
|
-
* **tests:** add returnChannelChars to the two DispatchFacts literals ([4621d20](https://github.com/event4u-app/agent-config/commit/4621d20bdff8b97ddbe9101343e5a7db0a4fa160))
|
|
365
|
-
* **roadmap:** ref-ignore the deliberately-absent budget file path ([b017e88](https://github.com/event4u-app/agent-config/commit/b017e888f815c49af2217fbda0f935d7f82aec67))
|
|
366
|
-
* **roadmap:** risk-type enum on the two sibling registers ([042b0d8](https://github.com/event4u-app/agent-config/commit/042b0d87fcd6b066e4b0b85bd8dbba1140a8ecba))
|
|
367
|
-
* **review:** close the neutral-review findings on the dispatch-economy delta ([ecf4808](https://github.com/event4u-app/agent-config/commit/ecf4808211b58912e76ca5c62f4c3d5be9c7cb42))
|
|
368
|
-
* **review:** stamp R2 roadmap snapshots with the check-refs exemption ([2882267](https://github.com/event4u-app/agent-config/commit/2882267fa460862172f27fc80793620dc29bb0fb))
|
|
369
|
-
* **review:** address all four zcs-close R2 findings ([3cfe707](https://github.com/event4u-app/agent-config/commit/3cfe70733884874a2427db931fa5d56436212e4c))
|
|
370
|
-
* **contracts:** drop the two deleted ask-enum keys from settings-classes prose ([eab16c6](https://github.com/event4u-app/agent-config/commit/eab16c6b981909024e4205c10c449628fed10116))
|
|
345
|
+
* **gates:** stop the R2 review-input copy from laundering fixture secrets ([c63d350](https://github.com/event4u-app/agent-config/commit/c63d3502013e7bc261096d02e2c102a52e2f1ec7))
|
|
346
|
+
* **golden:** teach the replay the delegated bad-verdict surface, re-lock baselines ([1ff480c](https://github.com/event4u-app/agent-config/commit/1ff480c6adeb88af32198a19d41838e2f9f5dcc0))
|
|
347
|
+
* **envelope:** close the eight R2 review findings ([b0d153c](https://github.com/event4u-app/agent-config/commit/b0d153cb3084dac2a20093b73d28a3ce3c12324c))
|
|
348
|
+
* **tests:** type the self-fix state helpers against the wire types ([60d2724](https://github.com/event4u-app/agent-config/commit/60d272419b07b5abea1ce6ffa430faf127fcde4a))
|
|
349
|
+
* **handoff:** stop offering the caller its own empty session ([b72f772](https://github.com/event4u-app/agent-config/commit/b72f772a03207aa4feeded3acd5b68823e3fd79c))
|
|
350
|
+
* **tests:** narrow regex captures in the capability parity block ([6f27615](https://github.com/event4u-app/agent-config/commit/6f276154b83781404d6551113c6d43e5cf040423))
|
|
351
|
+
* **carrier:** a paths: disagreement is a delivery defect, not inert metadata ([318fb81](https://github.com/event4u-app/agent-config/commit/318fb818eb543f27fc4c3b138ce762dc8c9e9640))
|
|
371
352
|
|
|
372
353
|
### Documentation
|
|
373
354
|
|
|
374
|
-
* **
|
|
375
|
-
* **
|
|
376
|
-
* **
|
|
377
|
-
* **
|
|
378
|
-
* **
|
|
379
|
-
* **
|
|
380
|
-
* **
|
|
381
|
-
* **changelog:** curate the auto-derived highlight heads for 9.27 to 9.29 ([fcb689a](https://github.com/event4u-app/agent-config/commit/fcb689ae8b7a3bd798ed26879bb0077e7d0ec15d))
|
|
382
|
-
* **cache-economy:** batching fire/no-fire pair in the process-loop context (P6.3) ([0ce8675](https://github.com/event4u-app/agent-config/commit/0ce867553cd005a823a401817ca3357f136cbe57))
|
|
383
|
-
* **roadmap:** archive token-economy-dispatch, spawn blocked follow-up ([3009a02](https://github.com/event4u-app/agent-config/commit/3009a0285ce0d78e803fc0dfc48c39661d3a76f5))
|
|
384
|
-
* **review:** re-bind the manifest roadmap/ac hashes after the fix pass ([7fb09cc](https://github.com/event4u-app/agent-config/commit/7fb09cc48ffd33cfdea53f1d8e79857b7d5c3807))
|
|
385
|
-
* **roadmap:** add token-economy series from inbox analysis ([6c0a1a5](https://github.com/event4u-app/agent-config/commit/6c0a1a5f30518b1c86f605584d8a09f8e83a6ae5))
|
|
386
|
-
* **roadmap:** close round 5, resolve the stop-refusal blocker, record it in round 6 ([ed98d05](https://github.com/event4u-app/agent-config/commit/ed98d05703c2995e58d5b4cf715387144e2caf54))
|
|
387
|
-
* **review:** re-bind the R2 findings scope after the CI fix ([b14f2ae](https://github.com/event4u-app/agent-config/commit/b14f2ae8eb594f69a656c85435c3995a52d3bdab))
|
|
388
|
-
* **review:** re-bind the R2 findings scope after the main merge ([143c8a3](https://github.com/event4u-app/agent-config/commit/143c8a3b44378345a02fb381820d3404a41877f7))
|
|
389
|
-
* **review:** re-bind R2 findings to the post-fix review scope (contract 2.1 in-place re-bind) ([30461c9](https://github.com/event4u-app/agent-config/commit/30461c9c198ccc870ea22d0be7f4574bf934ddfc))
|
|
390
|
-
* **review:** commit the R2 completion-review findings for the zcs close ([b92cb6c](https://github.com/event4u-app/agent-config/commit/b92cb6ce41dc3ea86d299db656f2dc1f3181d07a))
|
|
391
|
-
* **roadmap:** verify always-on-orchestration acceptance criteria and Phase-7 non-goals ([e09189f](https://github.com/event4u-app/agent-config/commit/e09189ff3f7b30f4aa58ed5b309f814bef46e614))
|
|
392
|
-
|
|
393
|
-
### Refactoring
|
|
394
|
-
|
|
395
|
-
* **roadmap:** park parts 1 and 2 in later/ per the council convergence ([95711d0](https://github.com/event4u-app/agent-config/commit/95711d0256c3a4e96bd8be029c8b9df93b02654a))
|
|
355
|
+
* **review:** re-bind the findings artefact to the post-fix scope ([7a9bbbb](https://github.com/event4u-app/agent-config/commit/7a9bbbb2d7f4f04786771914bf7b3b68aba23e10))
|
|
356
|
+
* **review:** record the R2 completion-review findings before fixing them ([27322e8](https://github.com/event4u-app/agent-config/commit/27322e876c76f96d6a67131f9e96a1759290a8f5))
|
|
357
|
+
* **roadmap:** P2.2 build half shipped, its threshold unevaluated with a blocker ([1e478fd](https://github.com/event4u-app/agent-config/commit/1e478fdc317fdf12df001c1b98ef264df54a3742))
|
|
358
|
+
* **contracts:** the flow contract documents the self-fix loop and the dod slot ([0ebaaba](https://github.com/event4u-app/agent-config/commit/0ebaabae9e12c75446efefc5be6f6b33b9d0435f))
|
|
359
|
+
* **roadmap:** capability-answerability Phase 1 closed, blocker narrowed to one question ([c37af04](https://github.com/event4u-app/agent-config/commit/c37af045ecbf62b31e6878befdc88d763498d7a9))
|
|
360
|
+
* **rules:** delegation-policy names the capability provenance check ([e05de77](https://github.com/event4u-app/agent-config/commit/e05de771d74e8284e2e64e91e33be66b1bd15e23))
|
|
361
|
+
* **contracts:** the host-capability contract documents six fields, not five ([566b984](https://github.com/event4u-app/agent-config/commit/566b984681d1a1a5ef76643fa6f90f297c284e81))
|
|
396
362
|
|
|
397
363
|
### Tests
|
|
398
364
|
|
|
399
|
-
* **
|
|
365
|
+
* **work-engine:** pin the loop contract and update the changed halt shapes ([eb88aa6](https://github.com/event4u-app/agent-config/commit/eb88aa695121a01c0c1e10de9804f1df3424c334))
|
|
400
366
|
|
|
401
|
-
###
|
|
402
|
-
|
|
403
|
-
* **install:** refresh the install bundle after the settings-schema addition ([a1c4daa](https://github.com/event4u-app/agent-config/commit/a1c4daa686a0644911f69d850c25b3f6ec4f1b4d))
|
|
404
|
-
|
|
405
|
-
### Chores
|
|
367
|
+
### Other
|
|
406
368
|
|
|
407
|
-
* **
|
|
408
|
-
* **
|
|
409
|
-
* **
|
|
410
|
-
* **deps-dev:** bump the npm-development group with 4 updates ([9e4310d](https://github.com/event4u-app/agent-config/commit/9e4310d0ea4fc6a3cb420cb5fe9d40180dee9e1f))
|
|
411
|
-
* **hooks:** bind turn-end-gate to claude stop and language-mirror to pre_compact ([6e3a5b4](https://github.com/event4u-app/agent-config/commit/6e3a5b40acbae2da22025a74e74a50307fc2142d))
|
|
412
|
-
* **roadmap:** close road-to-zero-ceremony-settings on the council condition, transfer the one deferral ([d7bc46a](https://github.com/event4u-app/agent-config/commit/d7bc46aeb63336afe1ea31c1c3661de60461d458))
|
|
369
|
+
* **carrier:** re-bind to the post-merge scope — the fixed point ([884104c](https://github.com/event4u-app/agent-config/commit/884104c15d8257579a320932c671b489d96e7b06))
|
|
370
|
+
* **carrier:** re-bind the R2 round to the shipping content, all 6 terminal ([9bbfbc3](https://github.com/event4u-app/agent-config/commit/9bbfbc35388f54c77fdae27315025843a6ea79f5))
|
|
371
|
+
* **carrier:** R2 completion review round 1 — 6 findings, all open ([75be940](https://github.com/event4u-app/agent-config/commit/75be940f4f9bcbf71e1f1248467637fc51c6b63b))
|
|
413
372
|
|
|
414
|
-
Tests:
|
|
373
|
+
Tests: 12818 (+89 since 9.31.0)
|
|
415
374
|
|
|
416
|
-
## [9.
|
|
375
|
+
## [9.31.0](https://github.com/event4u-app/agent-config/compare/9.30.0...9.31.0) (2026-08-10)
|
|
417
376
|
|
|
418
377
|
### Release highlights
|
|
419
378
|
|
|
420
379
|
<!-- Curated head: fill before merge, keep it under 10 lines, and leave `_none_` where it is genuinely the answer. The generated log below is unchanged. -->
|
|
421
|
-
- **Behaviour changes:**
|
|
422
|
-
- **Default changes + migration:** The council's shipped transport default flips `api` → `auto` (CLI-first; explicitly configured modes unchanged), a pass now concludes at majority quorum with absent members carrying reasons, and a machine-readable handoff envelope is emitted — the same commit fixes the CLI-client construction defect that made every default-path CLI member throw (51088bd). The new read-only forensics analyzers ship as a default-off pack (`default_install: false`, surface tier lab) (b7b4cb0). 2590391 is roadmap bookkeeping only — the rule-delivery-integrity roadmap closes and its deferred measurement migrates to a successor roadmap; it changes no consumer-facing default.
|
|
423
|
-
- **Security and correctness:** _none_
|
|
424
|
-
- **Honest nulls:** _none_
|
|
425
|
-
- **Known limitations:** _none_
|
|
426
|
-
|
|
427
|
-
### Features
|
|
428
|
-
|
|
429
|
-
* **team:** availability replaces the master switch; teams readiness ([a94a91a](https://github.com/event4u-app/agent-config/commit/a94a91a30b916909c391939320ae4fb2b04e0b31))
|
|
430
|
-
* **council:** CLI-first shipped default, quorum, absent members, handoff ([51088bd](https://github.com/event4u-app/agent-config/commit/51088bdaaf3633c4918ea05182c5becf65593cf2))
|
|
431
|
-
* **dispatch:** judgment ladder replaces the activation gate ([1a2dd51](https://github.com/event4u-app/agent-config/commit/1a2dd5177b02b9ca752588a022d8a72c6afe51f5))
|
|
432
|
-
* **settings:** activation gates die, one audited incident switch survives ([0304406](https://github.com/event4u-app/agent-config/commit/0304406a536e29d66f44ce19f5f0187383b8af4e))
|
|
433
|
-
* **ci:** lint_never_silent - no shipped guidance may direct a silent re-run ([c7b3d83](https://github.com/event4u-app/agent-config/commit/c7b3d8382ac34a992727c1a042cc65298e56adaa))
|
|
434
|
-
* **self-repair:** fork-aware egress ladder, issue form, detector corpus gate ([5b50807](https://github.com/event4u-app/agent-config/commit/5b5080710e9800bbb4e1eec5773d9c5ff79de866))
|
|
435
|
-
* **self-repair:** fork-aware egress, detector corpus gate, never-silent lint ([4e046aa](https://github.com/event4u-app/agent-config/commit/4e046aa5d992cbefa31717430bd05a9e37798f4f))
|
|
436
|
-
* **rules:** emit Claude Code rules with the host-native paths key ([872c267](https://github.com/event4u-app/agent-config/commit/872c267589995668bfbfffdc2c0128b9d89532dd))
|
|
437
|
-
* **forensics:** read-only forensic analyzers as a default-off pack (Phase 3) ([b7b4cb0](https://github.com/event4u-app/agent-config/commit/b7b4cb05e2247737786e96ff52cf4d739dff68c4))
|
|
438
|
-
* **bench:** critic-protocol A/B result — no promotion, published both directions (Phase 2) ([bc0054b](https://github.com/event4u-app/agent-config/commit/bc0054b8406dc6fe280fcca7b10104547e2380b1))
|
|
439
|
-
* **council:** critic_protocol config + pre-registered load_bearing A/B harness (Phase 2, pre-run) ([e75ae51](https://github.com/event4u-app/agent-config/commit/e75ae514b765205a2f86c5ffaae40a5c81523d87))
|
|
440
|
-
* **hosts:** add worker_respawn to the host-capability manifest ([a30102d](https://github.com/event4u-app/agent-config/commit/a30102d0f30d197ced06248c5712722006032447))
|
|
441
|
-
* **subagents:** emit the capsule at a budget watermark, in shadow ([572d280](https://github.com/event4u-app/agent-config/commit/572d28066be1871f43242056af175ddbd023002c))
|
|
442
|
-
* **subagents:** add the CHECKPOINT capsule as the worker handoff shape ([8340f5e](https://github.com/event4u-app/agent-config/commit/8340f5e11219c296030084432e9f403818552df9))
|
|
443
|
-
* **premortem:** four-part failure register + optional roadmap Pre-mortem section (Phase 1) ([da95e9e](https://github.com/event4u-app/agent-config/commit/da95e9e4880394ab06ea0aaf818e893c695d4657))
|
|
444
|
-
|
|
445
|
-
### Bug Fixes
|
|
446
|
-
|
|
447
|
-
* **build:** rebuild the committed install bundle for the settings teardown ([6d9e667](https://github.com/event4u-app/agent-config/commit/6d9e6672bee69178d0ce8d86bd574e248abca54b))
|
|
448
|
-
* **spike:** escape the shape-key separator instead of a raw NUL byte ([1dd9a28](https://github.com/event4u-app/agent-config/commit/1dd9a281d5fc38ce228a04035a43a35b295114e5))
|
|
449
|
-
* **self-repair:** resolve the four R2 completion-review findings ([3474bf7](https://github.com/event4u-app/agent-config/commit/3474bf797321a99e5a7dd5a484a70a8a8748add6))
|
|
450
|
-
* **roadmap:** risk-register marker, allowed risk types, resolvable anchors ([f06f6ed](https://github.com/event4u-app/agent-config/commit/f06f6edb1f9f3b08c4763c542e789272f4dbd091))
|
|
451
|
-
* **scorer:** repoint skill-selection scoring at the live skills tree ([589b2c3](https://github.com/event4u-app/agent-config/commit/589b2c3e11eaf64a32e7bc7269807b3a9af648a2))
|
|
452
|
-
* **ci:** unlink the ADR-217 body link that can never resolve in the dist projection ([1008212](https://github.com/event4u-app/agent-config/commit/100821272c9254d4aae70876c9bfa65af67d1d4d))
|
|
453
|
-
* **forensics:** review findings — schema-valid finding ids, fail-before-write, hermetic smoke test, honest config scope ([0509647](https://github.com/event4u-app/agent-config/commit/050964793ec76e0100199a59fefd5b8cc4ad59e4))
|
|
454
|
-
* **release:** tolerate the concurrent tag-push race in step 8 ([049e8b2](https://github.com/event4u-app/agent-config/commit/049e8b24296a97f946c4597418cfd79457018e3c))
|
|
455
|
-
* **hooks:** self-heal a stale hook bundle in preflight instead of blocking the push ([9256633](https://github.com/event4u-app/agent-config/commit/9256633996be6d86e09df8c288837a8970d456e7))
|
|
456
|
-
|
|
457
|
-
### Documentation
|
|
458
|
-
|
|
459
|
-
* **council:** describe the runtime responses artefact without the pruned path literal ([04e8a0f](https://github.com/event4u-app/agent-config/commit/04e8a0feecb2fc19326f9abf894cf49f38424c6b))
|
|
460
|
-
* **roadmap:** always-on orchestration - verified claims, council cut, honest blockers ([d202556](https://github.com/event4u-app/agent-config/commit/d202556efa32376c4fc5fedba7fb95414cb4f4b4))
|
|
461
|
-
* always-on doctrine reaches the always-loaded surfaces ([9eead89](https://github.com/event4u-app/agent-config/commit/9eead8923e604f584541afbdac6d1feac3b02e5c))
|
|
462
|
-
* **review:** re-derive the context-manifest scope_hash for the re-bound round (contract 5 header-manifest agreement) ([2ebdb87](https://github.com/event4u-app/agent-config/commit/2ebdb87f0286a167d24cc26b3a658306274748c6))
|
|
463
|
-
* **review:** add fix-commit refs to the four resolved R2 findings ([9adbf83](https://github.com/event4u-app/agent-config/commit/9adbf83bcb530db4d702d4ff9425f685124b8a2f))
|
|
464
|
-
* **review:** re-bind R2 findings to the post-fix review scope (contract 2.1 in-place re-bind) ([752c29c](https://github.com/event4u-app/agent-config/commit/752c29cf11a66ded030bff60aeac45763c36c2ed))
|
|
465
|
-
* **review:** R2 completion-review findings for feat/road-to-rule-delivery-integrity (1 medium, 3 low, all open) ([0267568](https://github.com/event4u-app/agent-config/commit/02675686ef102552a80ce35861e1c5c094fb3f31))
|
|
466
|
-
* **roadmap:** close rule-delivery-integrity, migrate the measurement out ([2590391](https://github.com/event4u-app/agent-config/commit/25903915772394a776b069991e3d939bcf3f0e70))
|
|
467
|
-
* **adr:** ADR-220 skill invocation attestation — specified, check deferred (Phase 4) ([c8f3dbb](https://github.com/event4u-app/agent-config/commit/c8f3dbb31762a7df7ef3abf7ef70f1e17741afa4))
|
|
468
|
-
* **roadmap:** land phases 0 and 1 of worker-generation recycling ([06c7347](https://github.com/event4u-app/agent-config/commit/06c7347b49809a81b7ee169f42e3c742e5211812))
|
|
469
|
-
* **claims:** pre-register the capsule trigger-arm comparison ([2acfc56](https://github.com/event4u-app/agent-config/commit/2acfc56982d257331243094d2a580ca4f5926c6c))
|
|
470
|
-
|
|
471
|
-
### Chores
|
|
472
|
-
|
|
473
|
-
* **roadmap:** close Phase 4 of road-to-rule-delivery-integrity ([5db59bc](https://github.com/event4u-app/agent-config/commit/5db59bc4410488eb22717c8d0606b8eca10bcfa4))
|
|
474
|
-
* **roadmap:** park round-6 and worker-generation-recycling in later/ ([e5ebedc](https://github.com/event4u-app/agent-config/commit/e5ebedcd9ba0b3ddaba10938af74fcab9d79f03a))
|
|
475
|
-
* **generated:** regenerate proof.md + CAPABILITIES.yaml for the 289th skill post-merge ([d0f348d](https://github.com/event4u-app/agent-config/commit/d0f348d0b75b507d10199941185969a633563f63))
|
|
476
|
-
* **roadmap:** close Phase 5 + acceptance criteria — roadmap fully closed ([c993660](https://github.com/event4u-app/agent-config/commit/c9936607fe77e06f1b510a3ee3ccf8390f49a8d6))
|
|
477
|
-
* **generated:** rebuild the install bundle for the settings-schema change ([5b1260d](https://github.com/event4u-app/agent-config/commit/5b1260de7b889a16e94a5e5d5bc6f22f23dc558e))
|
|
478
|
-
* **generated:** regenerate proof.md for the new ledger entry ([76ab0a9](https://github.com/event4u-app/agent-config/commit/76ab0a9e1ccdb09e436f562c1cf8416989d921ef))
|
|
479
|
-
|
|
480
|
-
Tests: 12438 (+297 since 9.28.0)
|
|
481
|
-
|
|
482
|
-
## [9.28.0](https://github.com/event4u-app/agent-config/compare/9.27.0...9.28.0) (2026-08-09)
|
|
483
|
-
|
|
484
|
-
### Release highlights
|
|
485
|
-
|
|
486
|
-
<!-- Curated head: fill before merge, keep it under 10 lines, and leave `_none_` where it is genuinely the answer. The generated log below is unchanged. -->
|
|
487
|
-
- **Behaviour changes:** Two new always-loaded rules land — the self-repair loop (cb8d560) and the council-config-is-user-global fact (36a0e4c) — both later condensed to re-anchor the token baseline (103a22b), and AGENTS.md plus delegation-policy now carry the delegate-by-default and end-review obligations on the surface sessions actually read (63825ba). Settings resolution changes behaviour: the user-global loader now reads the canonical `settings/.agent-settings.yml` the wizard, server and installer write (previously silently inert), the onboarding gate checks the canonical project path so it can actually fire, and `MERGEABLE_KEYS` follows the key migration additively (ae6f30e, recorded as ADR-219). Four capability probes ship (`packs:active`, `settings:get`, `mcp:available`, `brand:status`) and rules are rewritten to name them plus `hooks:status` and the settings resolution chain (909235c, 3d684ef); 9cd21cb only fixes CI (ADR-219 frontmatter, three consumer-path ref-ignore markers) with no behaviour change.
|
|
380
|
+
- **Behaviour changes:** _none_
|
|
488
381
|
- **Default changes + migration:** _none_
|
|
489
382
|
- **Security and correctness:** _none_
|
|
490
|
-
- **Honest nulls:**
|
|
491
|
-
- **Known limitations:** _none_
|
|
492
|
-
|
|
493
|
-
### Features
|
|
494
|
-
|
|
495
|
-
* **hooks:** register the three orchestrator-discipline concerns ([b170fbc](https://github.com/event4u-app/agent-config/commit/b170fbc9c8a90bdb69ba97929a8c13b08c90ccb3))
|
|
496
|
-
* **hooks:** advisory end-review-nudge concern on stop ([3d2c1a0](https://github.com/event4u-app/agent-config/commit/3d2c1a0bc1087960d634e1d489867da78069ed8c))
|
|
497
|
-
* **hooks:** conditional delegation-nudge concern on user_prompt_submit ([761b793](https://github.com/event4u-app/agent-config/commit/761b793ad2e9a9371ade2272848e2d7aa856faae))
|
|
498
|
-
* **hooks:** deterministic orchestration-record concern on post_tool_use ([36e24c9](https://github.com/event4u-app/agent-config/commit/36e24c936e8e05281220574fbe9e924bd787c152))
|
|
499
|
-
* **host-capability:** committed registry for known hosts ([04e31f7](https://github.com/event4u-app/agent-config/commit/04e31f7c6274815db376fd545869f4bb80a3d225))
|
|
500
|
-
* **cli:** four capability probes for the gaps that had none ([909235c](https://github.com/event4u-app/agent-config/commit/909235ce713beaafec0dc0560ae21d47fca3df2e))
|
|
501
|
-
* **scripts:** measure the rule tokens a session actually receives ([406f986](https://github.com/event4u-app/agent-config/commit/406f98647fe3fca8a25cfa8f7a2e447f787bd5a6))
|
|
502
|
-
* **install:** refuse to create a silently doubled rule corpus ([9f2608f](https://github.com/event4u-app/agent-config/commit/9f2608f8da62ccf4ba2873845e4117b61cb91280))
|
|
503
|
-
* **rules:** detect when the rule corpus is delivered twice ([d9b6618](https://github.com/event4u-app/agent-config/commit/d9b6618c96f1cc0a328ac5e677ef16eb340b0c84))
|
|
504
|
-
* **scripts:** SK-2 loaded-but-violated, and the 3-of-110 coverage that is the finding ([2837fb7](https://github.com/event4u-app/agent-config/commit/2837fb7c1f44b303f97a6eb61c497679f36020ae))
|
|
505
|
-
* **conformance:** delivered rule payload by carrier, and the forward rate series ([78c19fd](https://github.com/event4u-app/agent-config/commit/78c19fdb1af6c02e81802da33f2e593e2599b9e1))
|
|
506
|
-
* **scripts:** name the rules the two carriers deliver differently ([cc6c8fb](https://github.com/event4u-app/agent-config/commit/cc6c8fbd307e4dc65ee4716208cd50084b32cf36))
|
|
507
|
-
* **wiring:** bind the self-repair concern and register its two CLI verbs ([a619cfc](https://github.com/event4u-app/agent-config/commit/a619cfc982965fb77a5c02f8480108be80661c92))
|
|
508
|
-
* **rules:** the self-repair loop as an always-loaded obligation ([cb8d560](https://github.com/event4u-app/agent-config/commit/cb8d56076ac09b351a565216b98a68789acd5e60))
|
|
509
|
-
* **self-repair:** detect agent defects and queue them as fixable records ([76b95ec](https://github.com/event4u-app/agent-config/commit/76b95ec7a524d482f333b701015f0a490cc4907d))
|
|
510
|
-
* **gate:** fail when no always-loaded rule carries the council user-global fact ([a56f28b](https://github.com/event4u-app/agent-config/commit/a56f28bf436c24b8f803711fa546ba713412c5c3))
|
|
511
|
-
* **rules:** carry the council user-global fact on the always-loaded surface ([36a0e4c](https://github.com/event4u-app/agent-config/commit/36a0e4cc6af6e83a47d120718a0fed7b5abb13cb))
|
|
512
|
-
* **gates:** refuse a push from a branch behind its base, asked of the remote ([bbdac53](https://github.com/event4u-app/agent-config/commit/bbdac539f5f3f2c8e86113f2a6a3a184a253a239))
|
|
513
|
-
* **report:** skill-activation census — the unmeasurable half, measured ([5719fd0](https://github.com/event4u-app/agent-config/commit/5719fd09e723bc7988fc0e90719c46d8a5f222f1))
|
|
514
|
-
|
|
515
|
-
### Bug Fixes
|
|
516
|
-
|
|
517
|
-
* **routing-doctor:** report whether the platform was observed or assumed ([2c176b2](https://github.com/event4u-app/agent-config/commit/2c176b212021bc05421233cb724677d4a1e44697))
|
|
518
|
-
* **routing-doctor:** resolve host capabilities through the committed registry ([9875177](https://github.com/event4u-app/agent-config/commit/9875177b73b65810eaae9e2c1a8f2c66c8648da3))
|
|
519
|
-
* **hooks:** harden transcript read, full session key, mutation-measure flag ([c908bbf](https://github.com/event4u-app/agent-config/commit/c908bbf41c944a9564dfd0efc9198472693a7f36))
|
|
520
|
-
* **ci:** ADR frontmatter and three consumer paths the reference gate read as repo paths ([9cd21cb](https://github.com/event4u-app/agent-config/commit/9cd21cb4182c205205b49f352c0a1745e11ff33e))
|
|
521
|
-
* **build:** rebuild the install bundle for the settings-cascade change ([dbcb658](https://github.com/event4u-app/agent-config/commit/dbcb658c51a31b7af028f0d745db4d23b3b5bf35))
|
|
522
|
-
* **settings:** four adjacent path defects that made the intuitive file wrong ([ae6f30e](https://github.com/event4u-app/agent-config/commit/ae6f30ee29c3e79bff20501adbfd394489de53df))
|
|
523
|
-
* **build:** rebuild the committed install bundle for the install.ts change ([0d362ce](https://github.com/event4u-app/agent-config/commit/0d362ce2242debe7fffc798e457fcad02a0e6426))
|
|
524
|
-
* **roadmap:** conform the Risk Register to the R1 gate grammar ([8a4f388](https://github.com/event4u-app/agent-config/commit/8a4f388c67d5351bbea7c76faf631dbd40a5aa29))
|
|
525
|
-
* **roadmap:** inline the council provenance instead of linking a path that rots ([5268154](https://github.com/event4u-app/agent-config/commit/5268154d686717d7ff64deb059c78779607c27b6))
|
|
526
|
-
* **skills:** lead nine descriptions with what they do, not with the guard ([bee0a72](https://github.com/event4u-app/agent-config/commit/bee0a72f90c97c67b57a949ac3c0d85756ad4db8))
|
|
527
|
-
* **scripts:** repair the round-2 review findings, incl. a second inverted polarity ([6ab06f7](https://github.com/event4u-app/agent-config/commit/6ab06f759c02774f02f37dd5b85aaf6009da44d4))
|
|
528
|
-
* **scripts:** repair all 14 R2 completion-review findings ([0ee1275](https://github.com/event4u-app/agent-config/commit/0ee1275af82ae1dfbe1f0e6eaa48337e71905aa1))
|
|
529
|
-
* **rules:** condense both new rules and re-anchor the token baseline ([103a22b](https://github.com/event4u-app/agent-config/commit/103a22b10c8830e87bf28ab0dddebf02d6354f85))
|
|
530
|
-
* **tests:** name the retired container by role, not by its dead literal path ([d7147ce](https://github.com/event4u-app/agent-config/commit/d7147ce2f4940c7095c94c91e731243a6c0ee495))
|
|
531
|
-
* **cli:** list council:status in usage(), the trunk was red without it ([1ca2ad0](https://github.com/event4u-app/agent-config/commit/1ca2ad00648533595d1d48794fd551c6e4e437d6))
|
|
532
|
-
* **tests:** two suites left directories in the tracked tree, and a third gate read them ([df70f14](https://github.com/event4u-app/agent-config/commit/df70f1436a325d0da2167f86ea464ee4ea074556))
|
|
533
|
-
* **council:** the refusal messages named the wrong config file ([62c6872](https://github.com/event4u-app/agent-config/commit/62c6872fe4647bc057835466414268cbf6da6971))
|
|
534
|
-
* **council:** stop the agent inferring council availability from a project file ([45f46b5](https://github.com/event4u-app/agent-config/commit/45f46b521ec4cb16a6d3d22c8a0db3009a68ea84))
|
|
535
|
-
* **conformance:** one trigger definition, and the count it was hiding ([8e131b4](https://github.com/event4u-app/agent-config/commit/8e131b41371a25255193702a23fd5820490db415))
|
|
536
|
-
* **hooks:** block what bash runs, not what the splitter finds readable ([bbc9b11](https://github.com/event4u-app/agent-config/commit/bbc9b11a949e2b6aad074fa11723d75609423b23))
|
|
537
|
-
|
|
538
|
-
### Documentation
|
|
539
|
-
|
|
540
|
-
* **review:** re-bind the R2 findings scope after the main merge ([8c85ea0](https://github.com/event4u-app/agent-config/commit/8c85ea05c707c0a379d3f8caf7c8c53d09df05fe))
|
|
541
|
-
* **review:** re-bind the R2 findings after the fix pass ([6728b67](https://github.com/event4u-app/agent-config/commit/6728b679853a9c4aea691d8348d060a4c892469d))
|
|
542
|
-
* **contexts:** carry the three open orchestrator-carrier decisions forward ([3c17c11](https://github.com/event4u-app/agent-config/commit/3c17c11f7246b0f2eb95e3e5904e9b43c0270b07))
|
|
543
|
-
* **review:** R2 completion-review findings for the closeout branch ([8217034](https://github.com/event4u-app/agent-config/commit/82170344f6fef8457c22ce125aa5adf51801a9fb))
|
|
544
|
-
* **roadmap:** close orchestrator-discipline-carriers on measured evidence ([e01b6f2](https://github.com/event4u-app/agent-config/commit/e01b6f284affa9bab5ec323e1c9c415962366fb7))
|
|
545
|
-
* **roadmap:** post-merge council pass, fd47df62 disposition, calibration biases ([ed8710d](https://github.com/event4u-app/agent-config/commit/ed8710d47bab07b4e428eac8f18b5560315d204e))
|
|
546
|
-
* **hooks:** correct stale cowork binding claim in delegation-nudge header ([d2f6e99](https://github.com/event4u-app/agent-config/commit/d2f6e99bf1a0ac11d0365f7854cab9177ff6692f))
|
|
547
|
-
* **roadmap:** orchestrator-discipline-carriers - measured defect, council pass, honest exits ([9a1798c](https://github.com/event4u-app/agent-config/commit/9a1798c6692f4c99c8cfcd418dbd2a9b1178b9cc))
|
|
548
|
-
* state the delegation and end-review obligations where sessions read ([63825ba](https://github.com/event4u-app/agent-config/commit/63825ba757524bbded04cf58e787585b4e3699e9))
|
|
549
|
-
* **rules:** make the capability answers reachable without knowing they exist ([3d684ef](https://github.com/event4u-app/agent-config/commit/3d684ef1403541fb707ec2a47026320dc734ae82))
|
|
550
|
-
* **roadmap:** the delivery-integrity roadmap, its council pass, and where it halts ([cd33314](https://github.com/event4u-app/agent-config/commit/cd333144c3a6636dd4209aa3c24e22b12484de77))
|
|
551
|
-
* **evidence:** three measurements behind the delivery findings ([cdf5b3f](https://github.com/event4u-app/agent-config/commit/cdf5b3f45165d374148ff87a3ba3240216c0d167))
|
|
552
|
-
* **contracts:** the router is compile-time, and no host reads it at runtime ([b1fdc72](https://github.com/event4u-app/agent-config/commit/b1fdc72a152d9d8250e713d8b5b8b482e3bd1acf))
|
|
553
|
-
* **roadmaps:** record what the two review rounds cost and the contract step I got wrong ([1e51900](https://github.com/event4u-app/agent-config/commit/1e51900fb143eb939bd8917d982ce76ff9fe6252))
|
|
554
|
-
* **reviews:** commit the binding completion-review artefact, re-bound to the shipping scope ([82e5909](https://github.com/event4u-app/agent-config/commit/82e5909e6ea5289b5f856f6343d38408e653b84b))
|
|
555
|
-
* **roadmaps:** close round 6 phases 3-4, and record the premises that came out false ([dc9b6b0](https://github.com/event4u-app/agent-config/commit/dc9b6b0a68ae3df99b1eee37d65bfc54edfd2d18))
|
|
556
|
-
* **gates:** the unregistered-emitter backstop covers one of the two emit shapes ([a032f0c](https://github.com/event4u-app/agent-config/commit/a032f0ccc2aceabf15ea92e1fcc86aa439d76e5f))
|
|
557
|
-
* **memory:** say which repo the intake sharing-boundary line describes ([466bdfc](https://github.com/event4u-app/agent-config/commit/466bdfcd050e58c47bef38a29fe7f24be59ffb51))
|
|
558
|
-
* **roadmap:** twelve places the agent must guess whether a capability exists ([9453c16](https://github.com/event4u-app/agent-config/commit/9453c162fd78f31f257eaea4dd5db68ff4513056))
|
|
559
|
-
* **roadmap:** the census, round 5 accounting, and a criterion that contradicted its own cancelled step ([3bac223](https://github.com/event4u-app/agent-config/commit/3bac22325f16287511c0f8dc3345a798cb0d47f6))
|
|
560
|
-
* **archive:** file superseded substrate-adoption roadmap ([f435453](https://github.com/event4u-app/agent-config/commit/f435453d3faa882a657b21475f467b13b332831e))
|
|
561
|
-
* **roadmap:** record the third #1208 defect, found by PR #1211 not by the review ([25d2d12](https://github.com/event4u-app/agent-config/commit/25d2d12e6f1c7ea56e7e99ba3fffd294638c3be5))
|
|
562
|
-
* **roadmap:** fold the challenge pass and four council verdicts into round 6 ([01f3286](https://github.com/event4u-app/agent-config/commit/01f3286d91ee34d155a175ce687679181602f838))
|
|
563
|
-
|
|
564
|
-
### Refactoring
|
|
565
|
-
|
|
566
|
-
* **scripts:** one definition of the cross-carrier rule comparison ([0a22a90](https://github.com/event4u-app/agent-config/commit/0a22a901fc95ed13e28afc44ce9f84fba9c7c5e2))
|
|
567
|
-
|
|
568
|
-
### Chores
|
|
569
|
-
|
|
570
|
-
* **tests:** drop dead subprocess scaffolding the changed-files lint surfaced ([2f786b9](https://github.com/event4u-app/agent-config/commit/2f786b91c31724561761a9489d118c3ccb50c7a6))
|
|
571
|
-
* **index:** regenerate index and catalog for the nine rewritten descriptions ([593330f](https://github.com/event4u-app/agent-config/commit/593330ff34e60711b40562b38e8eb880b45cc6c8))
|
|
572
|
-
* **tasks:** register the two new advisory reports as named tasks ([033732c](https://github.com/event4u-app/agent-config/commit/033732c56499f081ae614eed37a3fe43657bc01f))
|
|
573
|
-
* **generated:** reproject the council-availability rule after the probe rewrite ([9bac533](https://github.com/event4u-app/agent-config/commit/9bac533be54adad9f1d5bbe4b3965cbcf3c010eb))
|
|
574
|
-
* **generated:** counts, index, catalog, router, proof for the self-repair rule ([83e81ae](https://github.com/event4u-app/agent-config/commit/83e81ae48dc463d17f82edd89edd821f8b7fdb35))
|
|
575
|
-
* **generated:** router_rules count 108 -> 109 for the new routed rule ([bf00135](https://github.com/event4u-app/agent-config/commit/bf00135202a3ac84814a0324947dbecc57172bfd))
|
|
576
|
-
* **generated:** regenerate index, catalog, and router for the new rule ([188c434](https://github.com/event4u-app/agent-config/commit/188c4346428c7754b434bc86c4c3dfa8c8b203ee))
|
|
577
|
-
* **budgets:** record the 88 to 89 CLI verb move for council:status ([fa7404b](https://github.com/event4u-app/agent-config/commit/fa7404bf9483d241cd5d245cbc872cfd5406d851))
|
|
578
|
-
|
|
579
|
-
Tests: 12141 (+391 since 9.27.0)
|
|
580
|
-
|
|
581
|
-
## [9.27.0](https://github.com/event4u-app/agent-config/compare/9.26.0...9.27.0) (2026-08-07)
|
|
582
|
-
|
|
583
|
-
### Release highlights
|
|
584
|
-
|
|
585
|
-
<!-- Curated head: fill before merge, keep it under 10 lines, and leave `_none_` where it is genuinely the answer. The generated log below is unchanged. -->
|
|
586
|
-
- **Behaviour changes:** Rule frontmatter gains an `obligation_frequency` field — 105 rules declare it with a file:line citation, the nine kernel rules report `unclassified` because the kernel-prefix hash and write guard forbid the edit, and the enforcement-coverage join now runs per hook-capable platform (dd89970); the obligation citations themselves shrink from quoted sentences to line pointers across the always-loaded surface after the +5% cost cliff fired (e82cc1f). The session-canary carrier is re-bound into two hook slots (full contract at `session_start`, a one-line beat per `user_prompt_submit`) and three rules scope their enforcement claims to the hosts whose slots can actually carry them (b3b5ee7); a second conformance audit is recorded in the rule — the carrier fires, compliance did not follow (24 of 29 task starts dropped the greeting) — and ui-audit-gate plus design-review-after-ui-write now declare `enforced_by: none` in frontmatter where their prose already said it (6b06006).
|
|
587
|
-
- **Default changes + migration:** An absent-vs-default audit found nine settings keys where an absent value does not resolve to the template default — sharpest is `quality.local_auto_run`, where omitting the key silently disarms the gate the template arms; all nine are carved out as documented divergences read from the live template at emit time rather than fixed at their readers, so no migration is required and no default value changes (6d1af3a).
|
|
588
|
-
- **Security and correctness:** _none_
|
|
589
|
-
- **Honest nulls:** The orchestration dispatch backfill (39 metric-bearing dispatches across 103 sessions) resolves to an honest null — every family verdict flips with the choice of baseline, both gate inputs are unmeasurable without a counterfactual, and telemetry capture ran at 0.27% (8e6765b); the pre-registered sibling claim orchestration-observed-dispatch-cost was resolved to the same null the day it was registered (6208186). The parallel-session-coordination archive records a further null: all 71 TTL records came from a single host, so no per-host TTL table could be derived and none was invented (f60bd6a).
|
|
383
|
+
- **Honest nulls:** _none_
|
|
590
384
|
- **Known limitations:** _none_
|
|
591
385
|
|
|
592
386
|
### Features
|
|
593
387
|
|
|
594
|
-
* **
|
|
595
|
-
* **conformance:** record pin distance and compaction per language violation ([b103537](https://github.com/event4u-app/agent-config/commit/b103537c69020d1bb81698a389d1dc9d97e0a145))
|
|
596
|
-
* **gates:** assert rule-projection completeness and freshness ([e42ea1d](https://github.com/event4u-app/agent-config/commit/e42ea1d7fdbbaf0d87ff37d4efd40ff3d96d97f8))
|
|
597
|
-
* **roadmap-next:** close the claim window, and say who carries the check ([9617664](https://github.com/event4u-app/agent-config/commit/9617664291d51176dceafbdf0ac68608dcffd0d7))
|
|
598
|
-
* **cli:** sessions:list and sessions:claim ([44d5eba](https://github.com/event4u-app/agent-config/commit/44d5eba9f88e2f52c534aa1f8f350ba1a89c4eeb))
|
|
599
|
-
* **hooks:** bind the register, and keep stop out of deregistration ([736f4e1](https://github.com/event4u-app/agent-config/commit/736f4e1255641a8997b2bd8f9753ac4232ccbcda))
|
|
600
|
-
* **sessions:** the shared per-session register, with its measured TTL ([6ab61fd](https://github.com/event4u-app/agent-config/commit/6ab61fda9d7e7faa22fc4d33325c02c05363b6ef))
|
|
601
|
-
* **rules:** declare how often each obligation comes due, and join it ([dd89970](https://github.com/event4u-app/agent-config/commit/dd89970afb7cc82846caf9c6e0029ddc73176874))
|
|
602
|
-
* **coverage:** the lattice that says whether a carrier fires often enough ([53d501e](https://github.com/event4u-app/agent-config/commit/53d501e9860b0f72d3d78df8f6a7cfc0eff16245))
|
|
603
|
-
* **settings:** a fresh install writes 35 lines, not 1,360 ([8504ca8](https://github.com/event4u-app/agent-config/commit/8504ca880d8c5bc5c921add50f7a7fc0b39ee03d))
|
|
604
|
-
* **settings:** audit absent-vs-default, and carve out the nine keys that diverge ([6d1af3a](https://github.com/event4u-app/agent-config/commit/6d1af3aba30d5378510fc2659532f9ad16be7b37))
|
|
388
|
+
* **settings:** give the scripts read path the template-defaults layer ([a67a640](https://github.com/event4u-app/agent-config/commit/a67a640cbf64262d07026853b7b5ead21b509e5d))
|
|
605
389
|
|
|
606
390
|
### Bug Fixes
|
|
607
391
|
|
|
608
|
-
* **
|
|
609
|
-
* **
|
|
610
|
-
* **hooks:**
|
|
611
|
-
* **
|
|
612
|
-
* **
|
|
613
|
-
* **release:** stop treating "no checks reported" as a pass when checks ARE required ([1af0f03](https://github.com/event4u-app/agent-config/commit/1af0f0316f39191603d5031145153e209e1778ad))
|
|
614
|
-
* **rules:** pay for the citation with a line number, not a quoted sentence ([e82cc1f](https://github.com/event4u-app/agent-config/commit/e82cc1f4d032578b1e5749ceb6756d6a82beeaf7))
|
|
615
|
-
* **canary:** bind the carrier to a slot that reaches a task boundary ([b3b5ee7](https://github.com/event4u-app/agent-config/commit/b3b5ee75e95ac7be3908529f3d52c5d47432d6bb))
|
|
616
|
-
* **settings-surface:** treat a free-form map as a leaf, not an empty group ([7a68cb7](https://github.com/event4u-app/agent-config/commit/7a68cb785ccff4bf190c01b5c52927f1fd94fbeb))
|
|
617
|
-
* **gates:** a zero-tool checkout is an absent surface, not a dead scan scope ([2828561](https://github.com/event4u-app/agent-config/commit/28285610d22c340460b02be675047efdbe24c8ac))
|
|
392
|
+
* **carrier:** a frontmatter-only difference is not body divergence ([c48b6c8](https://github.com/event4u-app/agent-config/commit/c48b6c88cf274e3e24b0795d8fb4d19be7637557))
|
|
393
|
+
* **hooks:** replace the fence regex with a scanner, and stop shipping a moving figure ([2fe01e7](https://github.com/event4u-app/agent-config/commit/2fe01e79804c37380e8c968b6efdf71b7d9d33fa))
|
|
394
|
+
* **hooks:** per-session pin marker, atomic write, enforced read cap ([67abbb6](https://github.com/event4u-app/agent-config/commit/67abbb63028ab79fa6d04083523fbb6ffb9033c3))
|
|
395
|
+
* **scripts:** measure the gate per TURN, and withdraw the figures that were not ([313e665](https://github.com/event4u-app/agent-config/commit/313e665354c1dd0512aceb21475dbc532f6b9ba5))
|
|
396
|
+
* **hooks:** turn-end-gate — key the guard on the turn, not the prompt text ([b3392e6](https://github.com/event4u-app/agent-config/commit/b3392e60ceeae500b639040e8849b801fc661008))
|
|
618
397
|
|
|
619
398
|
### Documentation
|
|
620
399
|
|
|
621
|
-
* **
|
|
622
|
-
* **
|
|
623
|
-
* **
|
|
624
|
-
* **
|
|
625
|
-
* **
|
|
626
|
-
* **proof:** re-render after the two enforced_by declarations ([7e36dbb](https://github.com/event4u-app/agent-config/commit/7e36dbb009a06d51cbcbb0d92167954e9adb64d3))
|
|
627
|
-
* **roadmap:** give conformance round 5 its Risk Register ([7e837bb](https://github.com/event4u-app/agent-config/commit/7e837bb8c85d78631effdf8e18f96762e779dab3))
|
|
628
|
-
* **roadmap:** conformance round 5, the first post-fix measurement ([95d4db9](https://github.com/event4u-app/agent-config/commit/95d4db9d9c971778f583c7081c7277d1f4ba661e))
|
|
629
|
-
* **rules:** replace two unmeasured enforcement claims with the measurement ([6b06006](https://github.com/event4u-app/agent-config/commit/6b0600608a33a56f35e7ec76ab6c5ba60711249f))
|
|
630
|
-
* **roadmap:** archive parallel-session-coordination with its measurements ([f60bd6a](https://github.com/event4u-app/agent-config/commit/f60bd6a3fba74e669a6361724070ce9d6d037b7b))
|
|
631
|
-
* **roadmap:** give the parallel-session plan its Risk Register ([f13ebba](https://github.com/event4u-app/agent-config/commit/f13ebba5a4f7856b5be0acdd19244e86adaca126))
|
|
632
|
-
* **roadmap:** add the obligation-carrier audit and the parallel-session register ([20391f6](https://github.com/event4u-app/agent-config/commit/20391f62f2c6c3f294467481956b1b2d2b0f9255))
|
|
633
|
-
* **roadmap:** close Phase 3, resolve the blocker, and say why 4.2 stays open ([2ba1e78](https://github.com/event4u-app/agent-config/commit/2ba1e7894ded9571f38dbe12de1680b4f1db57fd))
|
|
634
|
-
* **settings:** generate the settings reference the shrinking file no longer carries ([9e34b23](https://github.com/event4u-app/agent-config/commit/9e34b238523187f4ae7c9826c8bef6e4b89efe8d))
|
|
635
|
-
|
|
636
|
-
### Refactoring
|
|
637
|
-
|
|
638
|
-
* **git:** extract the common-dir resolution so it has one answer ([1f04331](https://github.com/event4u-app/agent-config/commit/1f04331dd2f81c64a5217f843ddbcf49f2d9be9b))
|
|
400
|
+
* **carrier:** the header says three classes and there are now four ([1955234](https://github.com/event4u-app/agent-config/commit/195523465db8fabb84be3f4ad27f8293cf5e4ac5))
|
|
401
|
+
* **evidence:** classify the 109 carrier divergences, and correct two records ([c2fc109](https://github.com/event4u-app/agent-config/commit/c2fc109f7ca30f621455a9a754803055a0b1a0d9))
|
|
402
|
+
* **evidence:** map the scripts settings read path against the server one ([858a256](https://github.com/event4u-app/agent-config/commit/858a25646352fd3603800e5657527591a00e16ae))
|
|
403
|
+
* **review:** record the R2 findings on the fix pass, before touching it ([65aee68](https://github.com/event4u-app/agent-config/commit/65aee68691d85bdba928b4de65f4e28025c80852))
|
|
404
|
+
* **review:** record the R2 findings for turn-end-gate before fixing anything ([9f204c5](https://github.com/event4u-app/agent-config/commit/9f204c55a73a45bada0baa7925bc000df7bee912))
|
|
639
405
|
|
|
640
406
|
### Build
|
|
641
407
|
|
|
642
|
-
* **install:**
|
|
408
|
+
* **install:** rebuild the bundle without the worktree symlink poison ([741806c](https://github.com/event4u-app/agent-config/commit/741806c91a9774b1b521ae34487d271d0c5dee93))
|
|
409
|
+
* **install:** refresh the committed install bundle ([7bbcfdc](https://github.com/event4u-app/agent-config/commit/7bbcfdce9355708ef6785ec640af64d23a5ac4a0))
|
|
643
410
|
|
|
644
411
|
### Chores
|
|
645
412
|
|
|
646
|
-
* **
|
|
647
|
-
* **
|
|
413
|
+
* **roadmap:** close carrier-layer-convergence Phases 1-2 on the measurement ([bc42809](https://github.com/event4u-app/agent-config/commit/bc42809689634578e52501470f299822624e15ae))
|
|
414
|
+
* **roadmap:** archive road-to-scripts-settings-defaults, complete ([e3af4c5](https://github.com/event4u-app/agent-config/commit/e3af4c56c1149a96254f1e7e3c1807a8f53744b5))
|
|
415
|
+
* **budget:** re-baseline the packed-tarball cap, 6.9 to 7.8, maintainer-decided ([04ca7d8](https://github.com/event4u-app/agent-config/commit/04ca7d84f93c33999b02361c9baa4e61a181a07c))
|
|
648
416
|
|
|
649
|
-
Tests:
|
|
417
|
+
Tests: 12729 (+38 since 9.30.0)
|
|
650
418
|
|
|
651
419
|
# Era: pre-4.0.0 — archived
|
|
652
420
|
|
|
@@ -16,7 +16,8 @@ A single JSON object, `schema_version: 1`:
|
|
|
16
16
|
"parallel_spawn": false,
|
|
17
17
|
"status_polling": false,
|
|
18
18
|
"separate_quota_pool": false,
|
|
19
|
-
"agent_teams": false
|
|
19
|
+
"agent_teams": false,
|
|
20
|
+
"worker_respawn": false
|
|
20
21
|
}
|
|
21
22
|
```
|
|
22
23
|
|
|
@@ -64,11 +65,41 @@ to in-session execution rather than attempting an unsupported primitive.
|
|
|
64
65
|
| `status_polling` | bool | Monitoring running subagents (progress / completion checks). `false` → fire-and-collect only, no mid-run polling. |
|
|
65
66
|
| `separate_quota_pool` | bool | Quota-arbitrage bonus (Phase 2) — subagents draw from a distinct quota pool than the session. `false` → assume shared quota. |
|
|
66
67
|
| `agent_teams` | bool | Claude Code's experimental multi-instance Agent Teams primitive (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`). `false` → the [judgment ladder](auto-dispatch-classification.md#judgment-ladder-phase-2--road-to-always-on-orchestration)'s rung 3 (team) degrades to parallel subagents, recorded as `degraded_from: 3`. |
|
|
68
|
+
| `worker_respawn` | bool | The host can kill a running worker and spawn a fresh one that continues the SAME task mid-flight. `false` on every host today, deliberately — set `true` only once OBSERVED, never by inference from spawning and killing existing separately. `false` → degrade to stop-loss behaviour, loudly. |
|
|
67
69
|
|
|
68
70
|
A field being `true` is a **precondition**, not a mandate: `parallel_spawn:
|
|
69
71
|
true` permits concurrency but the dispatch cap still applies (see
|
|
70
72
|
`subagents.max_parallel` in subagent-configuration.md).
|
|
71
73
|
|
|
74
|
+
## Provenance — "probe" is a misnomer for five of the six fields
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
NEVER READ A false FIELD AS "THIS HOST CANNOT DO IT".
|
|
78
|
+
A REGISTRY ROW IS A COMMITTED OBSERVATION, NOT A LIVE CHECK.
|
|
79
|
+
A default FIELD MEANS NOBODY ANSWERED — RENDERED AS false BECAUSE THAT IS THE
|
|
80
|
+
SAFE DEGRADATION, NOT BECAUSE ANYTHING WAS MEASURED.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The six booleans look alike and are not. `HOST_CAPABILITY_REGISTRY` holds
|
|
84
|
+
exactly one row today, so on every other host **all six** fields are the safe
|
|
85
|
+
default — and `agent_teams` is the only field any live check touches. The name
|
|
86
|
+
`probeHostCapabilities` says "detected" about values that were mostly asserted
|
|
87
|
+
at authoring time.
|
|
88
|
+
|
|
89
|
+
`describeHostCapabilities(hostId)` returns the same manifest plus a
|
|
90
|
+
`sources` map naming, per field, which of the three answered:
|
|
91
|
+
|
|
92
|
+
| Source | Means | Re-checked at run time |
|
|
93
|
+
|---|---|---|
|
|
94
|
+
| `registry` | this repo observed the capability on this host once and committed it to the table | no |
|
|
95
|
+
| `live-probe` | established in THIS process, from the environment | yes |
|
|
96
|
+
| `default` | nothing answered; `SAFE_DEFAULT` applied | n/a |
|
|
97
|
+
|
|
98
|
+
`agent-config routing:doctor [--platform <host>]` prints it. Read the
|
|
99
|
+
provenance before treating a `false` as a host limitation: on an unrecognized
|
|
100
|
+
host every field is `default`, which is an absence of knowledge and not a
|
|
101
|
+
measurement.
|
|
102
|
+
|
|
72
103
|
## Related
|
|
73
104
|
|
|
74
105
|
- [`subagent-configuration`](../subagent-configuration.md) — the `subagents.*`
|
|
@@ -105,7 +105,17 @@ plus this telemetry). The
|
|
|
105
105
|
capability gate itself resolves from the committed host registry merged with a
|
|
106
106
|
live environment probe in `src/scripts/_lib/host_capability.ts`
|
|
107
107
|
(`probeHostCapabilities` — capability is a fact about the host, never a
|
|
108
|
-
settings override).
|
|
108
|
+
settings override).
|
|
109
|
+
|
|
110
|
+
**Never read a `false` capability as a host limitation without checking where it
|
|
111
|
+
came from.** The registry holds one row, so on every other host all six fields
|
|
112
|
+
are the all-false safe default — which records that *nobody answered*, not that
|
|
113
|
+
the host cannot spawn. `agent-config routing:doctor [--platform <host>]` prints
|
|
114
|
+
the value **and** its provenance per field (`registry` = a committed observation
|
|
115
|
+
this repo made once · `live-probe` = established in this process · `default` =
|
|
116
|
+
no answer). Run it before concluding delegation is unavailable here; the
|
|
117
|
+
same-shaped wrong guess about the council is the incident
|
|
118
|
+
[`council-availability`](council-availability.md) exists for. What stays
|
|
109
119
|
model-carried, honestly: the decomposition itself, the per-return
|
|
110
120
|
verification, and every dispatch on hosts without hook slots. The nudges are
|
|
111
121
|
advisory by design — whether they change behaviour is measured by the
|
|
@@ -39,7 +39,7 @@ schema_version: 1
|
|
|
39
39
|
# CI guard: a release bump of `package.json` must update this value
|
|
40
40
|
# in lockstep — see scripts/check_template_pin_drift.ts (road-to-
|
|
41
41
|
# portable-runtime-and-update-check P3.3).
|
|
42
|
-
agent_config_version: "9.
|
|
42
|
+
agent_config_version: "9.32.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -96,6 +96,7 @@ export class DeliveryState {
|
|
|
96
96
|
contract: Record<string, Any> | null;
|
|
97
97
|
stitch: Record<string, Any> | null;
|
|
98
98
|
stack: Record<string, Any> | null;
|
|
99
|
+
self_fix: Record<string, Any> | null;
|
|
99
100
|
|
|
100
101
|
constructor(args: {
|
|
101
102
|
ticket: Record<string, Any>;
|
|
@@ -117,6 +118,7 @@ export class DeliveryState {
|
|
|
117
118
|
contract?: Record<string, Any> | null;
|
|
118
119
|
stitch?: Record<string, Any> | null;
|
|
119
120
|
stack?: Record<string, Any> | null;
|
|
121
|
+
self_fix?: Record<string, Any> | null;
|
|
120
122
|
}) {
|
|
121
123
|
this.ticket = args.ticket;
|
|
122
124
|
this.persona = args.persona ?? 'senior-engineer';
|
|
@@ -137,6 +139,10 @@ export class DeliveryState {
|
|
|
137
139
|
this.contract = args.contract ?? null;
|
|
138
140
|
this.stitch = args.stitch ?? null;
|
|
139
141
|
this.stack = args.stack ?? null;
|
|
142
|
+
// Per-lane bounded-loop counters (`{test: {attempts, signatures[]}}`).
|
|
143
|
+
// `null` means no red check has been seen yet — distinct from `{}`,
|
|
144
|
+
// which means a lane record was created and then emptied.
|
|
145
|
+
this.self_fix = args.self_fix ?? null;
|
|
140
146
|
}
|
|
141
147
|
}
|
|
142
148
|
|