@event4u/agent-config 14.2.0 → 14.5.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 +33 -252
- package/agents/templates/.ai-council.yml.example +35 -0
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +83 -12
- package/dist/agent-src/rules/roadmap-progress-sync.md +48 -4
- package/dist/agent-src/scripts/resume_probe.ts +154 -9
- package/dist/agent-src/scripts/roadmap_gates.ts +210 -6
- package/dist/agent-src/skills/roadmap-management/SKILL.md +9 -4
- package/dist/agent-src/templates/agent-settings.md +70 -0
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/scripts/telemetry/remote.ts +571 -0
- package/dist/agent-src/templates/scripts/telemetry/settings.ts +222 -44
- package/dist/cli/python/workspace_drive.js +8 -3
- package/dist/cli/python/workspace_drive.js.map +1 -1
- package/dist/cli/python/workspace_hosts.js +16 -12
- package/dist/cli/python/workspace_hosts.js.map +1 -1
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli-delegate/{chunk-F3YUF7SA.js → chunk-3UCJWMMP.js} +1 -1
- package/dist/cli-delegate/chunk-F7DQWYR5.js +69 -0
- package/dist/cli-delegate/{chunk-7PZ4FSZB.js → chunk-FBKL6JWT.js} +61 -2
- package/dist/cli-delegate/{chunk-MNWRDMR5.js → chunk-PKOBQADP.js} +1 -1
- package/dist/cli-delegate/cmd_conformance.js +26 -11
- package/dist/cli-delegate/cmd_doctor.js +2 -2
- package/dist/cli-delegate/cmd_handoff.js +3 -3
- package/dist/cli-delegate/cmd_route_audit.js +2 -2
- package/dist/cli-delegate/cmd_settings_set.js +17 -3
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +4 -4
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +1 -1
- package/dist/discovery/dormancy-report.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 +3754 -1721
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +1070 -408
- package/dist/scripts/_lib/host_launch.js +66 -0
- package/dist/scripts/_lib/host_launch.js.map +1 -0
- package/dist/server/io/yamlIO.js +175 -3
- package/dist/server/io/yamlIO.js.map +1 -1
- package/dist/server/routes/wizard.js +20 -1
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/shared/settingsConsent.js +25 -0
- package/dist/shared/settingsConsent.js.map +1 -1
- package/docs/contracts/settings-classes.md +11 -0
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +2 -1
- package/package.json +1 -1
- package/src/agent-src/scripts/resume_probe.ts +154 -9
- package/src/agent-src/scripts/roadmap_gates.ts +210 -6
- package/src/agent-src/templates/scripts/telemetry/remote.ts +571 -0
- package/src/agent-src/templates/scripts/telemetry/settings.ts +222 -44
- package/src/config/estate-count-budget.json +127 -0
- package/src/config/evaluator-budgets.json +4 -4
- package/src/config/gate-coverage.yml +32 -4
- package/src/config/gate-violation-baselines.json +63 -63
- package/src/config/gitignore-block.txt +5 -0
- package/src/config/hook-latency-budget.json +40 -1
- package/src/config/hook-token-budget.json +16 -0
- package/src/config/rule-stub-ceilings.json +11 -3
- package/src/scripts/_dispatch.bash +42 -1
- package/src/scripts/_lib/council_fallback_posture.ts +81 -0
- package/src/scripts/_lib/council_fallback_wiring.ts +126 -0
- package/src/scripts/_lib/council_settings_block.ts +152 -0
- package/src/scripts/_lib/headless_invocation.ts +285 -0
- package/src/scripts/_lib/host_launch.ts +72 -0
- package/src/scripts/_lib/map_to_object.ts +16 -0
- package/src/scripts/_lib/roadmap_checkboxes.ts +88 -0
- package/src/scripts/_lib/run_checkpoint.ts +409 -0
- package/src/scripts/_lib/session_register.ts +32 -1
- package/src/scripts/_lib/stdin.ts +35 -1
- package/src/scripts/_lib/turn_end_refusals.ts +12 -4
- package/src/scripts/_lib/unattended_guard.ts +371 -0
- package/src/scripts/ai_council/config.ts +27 -1
- package/src/scripts/ai_council/events_log.ts +12 -1
- package/src/scripts/ai_council/fallback_config.ts +114 -0
- package/src/scripts/ai_council/mid_flight_fallback.ts +295 -0
- package/src/scripts/ai_council/orchestrator.ts +251 -292
- package/src/scripts/ai_council/py_parity.ts +139 -0
- package/src/scripts/ai_council/response_render.ts +99 -0
- package/src/scripts/ai_council/spend_gate.ts +123 -0
- package/src/scripts/ai_council/transport_resolver.ts +81 -13
- package/src/scripts/bench_hook_injection.ts +118 -7
- package/src/scripts/bench_hook_latency.ts +442 -16
- package/src/scripts/check_estate_count.ts +924 -0
- package/src/scripts/compile_hook_manifest.ts +67 -0
- package/src/scripts/council_cli.ts +100 -125
- package/src/scripts/decision_memo.ts +325 -0
- package/src/scripts/hook_manifest.json +1 -0
- package/src/scripts/hook_manifest.yaml +172 -25
- package/src/scripts/hooks/concern_registry.ts +6 -0
- package/src/scripts/hooks/dispatch_hook.ts +183 -10
- package/src/scripts/hooks/dispatch_issues.ts +26 -0
- package/src/scripts/hooks/end_review_nudge_hook.ts +97 -24
- package/src/scripts/hooks/hook_stdin.ts +111 -5
- package/src/scripts/hooks/host_semantics.ts +28 -0
- package/src/scripts/hooks/injection_budget.ts +731 -0
- package/src/scripts/hooks/payload_stub.ts +446 -0
- package/src/scripts/hooks/run_continuation_hook.ts +683 -0
- package/src/scripts/hooks/session_eol_hook.ts +52 -0
- package/src/scripts/hooks/telemetry_usage_hook.ts +339 -0
- package/src/scripts/hooks/tool_result_bytes_hook.ts +27 -0
- package/src/scripts/hooks/turn_end_gate_hook.ts +45 -7
- package/src/scripts/hooks_doctor.ts +16 -2
- package/src/scripts/interruption_report.ts +330 -13
- package/src/scripts/lint_hook_manifest.ts +167 -0
- package/src/scripts/roadmap_progress_hook.ts +254 -46
- package/src/scripts/run_supervise.ts +623 -0
- package/src/scripts/session_register_hook.ts +146 -12
- package/src/scripts/sessions_cli.ts +18 -6
- package/src/scripts/telemetry_disclosure_hook.ts +244 -0
- package/src/server/io/yamlIO.ts +167 -3
- package/src/shared/settingsConsent.ts +49 -2
- package/dist/cli-delegate/chunk-MMJL4TIX.js +0 -18
|
@@ -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": "14.
|
|
9
|
+
"version": "14.5.0",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"agent-config",
|
|
12
12
|
"skills",
|
package/CHANGELOG.md
CHANGED
|
@@ -359,284 +359,65 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
|
|
|
359
359
|
> keeps the active era under the 250-line drift cap enforced by
|
|
360
360
|
> `tests/test_changelog_eras.py`.
|
|
361
361
|
|
|
362
|
-
# Era: 14.0
|
|
362
|
+
# Era: pre-14.3.0 — archived
|
|
363
363
|
|
|
364
|
-
>
|
|
365
|
-
>
|
|
366
|
-
>
|
|
367
|
-
>
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
### Release highlights
|
|
372
|
-
|
|
373
|
-
<!-- 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. -->
|
|
374
|
-
- **Behaviour changes:** _none_
|
|
375
|
-
- **Default changes + migration:** _none_
|
|
376
|
-
- **Security and correctness:** _auto-derived, rewrite before merge:_ security-scoped commits or fixes to executable surface in 61fdf7d, 604632b, c41b89a, 42e8955, cc19737, bbb60a8.
|
|
377
|
-
- **Honest nulls:** _none_
|
|
378
|
-
- **Known limitations:** _none_
|
|
379
|
-
|
|
380
|
-
### Features
|
|
381
|
-
|
|
382
|
-
* **hooks:** stop skill-route pointing at skills the host delivered bare ([508bba9](https://github.com/event4u-app/agent-config/commit/508bba908e074c1c69dc1b36ef2dd679b9e9f1ba))
|
|
383
|
-
* **catalogue:** add the delivery reducer the runtime router was missing ([1b65432](https://github.com/event4u-app/agent-config/commit/1b65432d719094b148bc4e30cf328d3e80b3c597))
|
|
384
|
-
|
|
385
|
-
### Bug Fixes
|
|
386
|
-
|
|
387
|
-
* **r2:** report the extraction, not the roadmap, and stop truncating criteria ([61fdf7d](https://github.com/event4u-app/agent-config/commit/61fdf7d26f1d9eb634c02451621c573784216bbe))
|
|
388
|
-
* **r2:** read inline acceptance criteria, stop faking an empty extraction ([604632b](https://github.com/event4u-app/agent-config/commit/604632b3c991933fb354e3afb50423697489d692))
|
|
389
|
-
* **metrics:** name the suppression denominator and register the invisible case ([03fe473](https://github.com/event4u-app/agent-config/commit/03fe4732dabab6b267a8dc1706b4da2a72a74a6d))
|
|
390
|
-
* **hooks:** count suppression over the pointer window and pin the envelope wiring ([c41b89a](https://github.com/event4u-app/agent-config/commit/c41b89a1cb21eac3f5e651c4271bd91811a3d66c))
|
|
391
|
-
* **catalogue:** let the LATEST record decide the bare set, not the mode filter ([42e8955](https://github.com/event4u-app/agent-config/commit/42e8955148a78314adc3f13cf695ed82e2fe0086))
|
|
392
|
-
* **hooks:** let a delete-only push skip the content gates ([cc19737](https://github.com/event4u-app/agent-config/commit/cc197371a66a7b1ee7ddb05ea1a505193434d2b8))
|
|
393
|
-
* **ci:** serialize the two publish triggers on the version, not the ref ([bbb60a8](https://github.com/event4u-app/agent-config/commit/bbb60a895b650b1d1e7ce91b49f5ddd025cf00a9))
|
|
394
|
-
|
|
395
|
-
### Documentation
|
|
364
|
+
> All entries before `14.3.0` live in
|
|
365
|
+
> [`docs/archive/CHANGELOG-pre-14.3.0.md`](docs/archive/CHANGELOG-pre-14.3.0.md).
|
|
366
|
+
> The archive is read-only; git tags remain the canonical
|
|
367
|
+
> source for what shipped. Splitting them out of the main file
|
|
368
|
+
> keeps the active era under the 250-line drift cap enforced by
|
|
369
|
+
> `tests/test_changelog_eras.py`.
|
|
396
370
|
|
|
397
|
-
|
|
398
|
-
* **review:** record the R2 findings for the inline-AC fix, all rows open ([5dc1298](https://github.com/event4u-app/agent-config/commit/5dc1298bbc82d3fc7bcd9fe776c56b0be3ce4cd6))
|
|
399
|
-
* **review:** re-bind the R2 artefact after the fix pass ([a4b320c](https://github.com/event4u-app/agent-config/commit/a4b320cf371b0828d49799948b0bed94eee6e970))
|
|
400
|
-
* **roadmap:** un-checkbox AC-3, make its verify runnable, record what R2 found ([0720e1d](https://github.com/event4u-app/agent-config/commit/0720e1d434bf658dd668bef64ca742897f72594d))
|
|
401
|
-
* **review:** bind the R2 completion review for catalogue-host-fit Phase 3 ([1e7b2fd](https://github.com/event4u-app/agent-config/commit/1e7b2fde7ff752f45f907187b61f8f83902a0e75))
|
|
402
|
-
* **roadmap:** close catalogue-host-fit Phase 3 and record what its fixture found ([852a8c4](https://github.com/event4u-app/agent-config/commit/852a8c4dbe3a8c9d0b52e7a229460a4d2752d0d3))
|
|
403
|
-
* **release:** stop promising an approval checkpoint that does not fire ([7327d2e](https://github.com/event4u-app/agent-config/commit/7327d2ea4aec42e290f951572f972b0f441e563e))
|
|
371
|
+
# Era: pre-14.5.0 — archived
|
|
404
372
|
|
|
405
|
-
|
|
373
|
+
> All entries before `14.5.0` live in
|
|
374
|
+
> [`docs/archive/CHANGELOG-pre-14.5.0.md`](docs/archive/CHANGELOG-pre-14.5.0.md).
|
|
375
|
+
> The archive is read-only; git tags remain the canonical
|
|
376
|
+
> source for what shipped. Splitting them out of the main file
|
|
377
|
+
> keeps the active era under the 250-line drift cap enforced by
|
|
378
|
+
> `tests/test_changelog_eras.py`.
|
|
406
379
|
|
|
407
|
-
|
|
380
|
+
# Era: 14.5.x — current
|
|
408
381
|
|
|
409
|
-
|
|
382
|
+
> Started at `14.5.0`. Full entries live inline below.
|
|
383
|
+
> The drift test caps this era at 250 lines of entry body; growth past
|
|
384
|
+
> that forces a new era split (`# Era: 14.6.x`, etc.) — see
|
|
385
|
+
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
410
386
|
|
|
411
|
-
## [14.
|
|
387
|
+
## [14.5.0](https://github.com/event4u-app/agent-config/compare/14.4.0...14.5.0) (2026-08-19)
|
|
412
388
|
|
|
413
389
|
### Release highlights
|
|
414
390
|
|
|
415
391
|
<!-- 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. -->
|
|
416
392
|
- **Behaviour changes:** _none_
|
|
417
393
|
- **Default changes + migration:** _none_
|
|
418
|
-
- **Security and correctness:** _auto-derived, rewrite before merge:_ security-scoped commits or fixes to executable surface in
|
|
419
|
-
- **Honest nulls:** _auto-derived, rewrite before merge:_ commits recording a null, waived or falsified result in
|
|
394
|
+
- **Security and correctness:** _auto-derived, rewrite before merge:_ security-scoped commits or fixes to executable surface in 1b787fe, 7f65655.
|
|
395
|
+
- **Honest nulls:** _auto-derived, rewrite before merge:_ commits recording a null, waived or falsified result in c45093d.
|
|
420
396
|
- **Known limitations:** _none_
|
|
421
397
|
|
|
422
398
|
### Features
|
|
423
399
|
|
|
424
|
-
* **
|
|
400
|
+
* **hooks:** carry the two-tree provenance on every run-continuation event ([fcc3272](https://github.com/event4u-app/agent-config/commit/fcc32722c7566532e01ca1ebbb05eb219959e2e3))
|
|
401
|
+
* **register:** resolve a claim to its slug AND the file it came from ([e882235](https://github.com/event4u-app/agent-config/commit/e8822358d16ed74567ada8369398e27de745fa42))
|
|
425
402
|
|
|
426
403
|
### Bug Fixes
|
|
427
404
|
|
|
428
|
-
* **
|
|
429
|
-
* **hooks:**
|
|
430
|
-
* **review:** unbreak the reference the findings row created, and replicate ([4708792](https://github.com/event4u-app/agent-config/commit/47087927fff242380c03cf95853e9d4106e1b054))
|
|
431
|
-
* **gates:** stop three ledgers reporting targets they never read ([4a60aeb](https://github.com/event4u-app/agent-config/commit/4a60aeb09f429b5fff348b09c5fd5626f7e3f38e))
|
|
432
|
-
* **bench:** give the consumer hook path its own budget, which it never had ([c9753b1](https://github.com/event4u-app/agent-config/commit/c9753b151dfd7a0aa95af08e59cff298c4220318))
|
|
433
|
-
* **gates:** finding 6 — deduplicate the manifest ids before planning ([aa48d84](https://github.com/event4u-app/agent-config/commit/aa48d845a0ec1e81368ad103336b27438c6fcc16))
|
|
434
|
-
* **gates:** apply the R2 review — all 11 findings ([8ec1dbb](https://github.com/event4u-app/agent-config/commit/8ec1dbb65b0a3840865aac0d91c8301eea9cbb1c))
|
|
405
|
+
* **hooks:** close the seven R2 findings on the hardening branch ([1b787fe](https://github.com/event4u-app/agent-config/commit/1b787fea177c151362fd2af8ec163b0a8dd182b4))
|
|
406
|
+
* **hooks:** charge the injection ceiling only for bytes the host receives ([7f65655](https://github.com/event4u-app/agent-config/commit/7f656558c9beb91353a0cb2031ef99023f2d5641))
|
|
435
407
|
|
|
436
408
|
### Documentation
|
|
437
409
|
|
|
438
|
-
* **roadmap:**
|
|
439
|
-
* **
|
|
440
|
-
* **
|
|
441
|
-
* **review:** the
|
|
442
|
-
* **review:** close 18 of 20 round-2 findings, name the two that stay open ([80ba9cc](https://github.com/event4u-app/agent-config/commit/80ba9cc12fbf0e336f912766719d61b421f902cd))
|
|
443
|
-
* **baselines:** describe what the ratchet lowering actually landed ([0ce7a17](https://github.com/event4u-app/agent-config/commit/0ce7a17baefad295c2fcb1849b02cca4a07f6bd9))
|
|
444
|
-
* **review:** record round 2 of the completion review, rows open ([41e8a1e](https://github.com/event4u-app/agent-config/commit/41e8a1e4ffc3b378fc2ff2bb9add9c31c3e4936f))
|
|
445
|
-
* **review:** re-bind the findings to the post-fix scope ([43847c1](https://github.com/event4u-app/agent-config/commit/43847c1e1bd07c3d5ebe2ff38060a761e8552e9b))
|
|
446
|
-
* **review:** all 11 findings terminal, with their fix refs ([957a53e](https://github.com/event4u-app/agent-config/commit/957a53e860a973b87b32bba07479b50f43b4f6f1))
|
|
447
|
-
* **review:** the R2 completion review, 11 findings, all rows open ([f7d9581](https://github.com/event4u-app/agent-config/commit/f7d9581ceac1388786fc6a8e0f9b6192c5f10502))
|
|
448
|
-
* **gates:** exempt check_pr_ci_current from the ledger, with the reason ([080e17c](https://github.com/event4u-app/agent-config/commit/080e17c41dd7904fe1bc76c7556417ffb7f525b4))
|
|
449
|
-
|
|
450
|
-
### CI
|
|
451
|
-
|
|
452
|
-
* **bench:** measure both hook paths on one runner, without gating either ([7d8be6e](https://github.com/event4u-app/agent-config/commit/7d8be6e1bee4f04d902d660b04f05b03ed1109d7))
|
|
410
|
+
* **roadmap:** record the first run-continuation engagement outside a test ([d9e040b](https://github.com/event4u-app/agent-config/commit/d9e040bd2bc6199363b367aa784a42a8cbbcccc6))
|
|
411
|
+
* **review:** re-bind the hardening findings after the fixes and the base merge ([5507a19](https://github.com/event4u-app/agent-config/commit/5507a19e15d869db9dabe56e346d7fd400c6937e))
|
|
412
|
+
* **review:** mark the seven hardening findings fixed at 1b787fea1 ([1c031f0](https://github.com/event4u-app/agent-config/commit/1c031f0a3f51c7a9adbad19fb79dffdebb0212ce))
|
|
413
|
+
* **review:** record the R2 review of the hardening branch ([363a1ef](https://github.com/event4u-app/agent-config/commit/363a1ef4f38821266d1fc37f62c1188d660d50f2))
|
|
453
414
|
|
|
454
415
|
### Chores
|
|
455
416
|
|
|
456
|
-
* **
|
|
457
|
-
|
|
458
|
-
### Other
|
|
459
|
-
|
|
460
|
-
* Revert "fix(bench): give the consumer hook path its own budget, which it never had" ([3952d49](https://github.com/event4u-app/agent-config/commit/3952d49bf3a3af770cb522dafc540c1458050f3d))
|
|
461
|
-
|
|
462
|
-
Tests: 14592 (+72 since 14.0.0)
|
|
463
|
-
|
|
464
|
-
## [14.0.0](https://github.com/event4u-app/agent-config/compare/13.0.0...14.0.0) (2026-08-18)
|
|
465
|
-
|
|
466
|
-
### Release highlights
|
|
467
|
-
|
|
468
|
-
<!-- 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. -->
|
|
469
|
-
- **Behaviour changes:** the council quorum plumbing moved behind an extracted seam and the size ratchet dropped with it (`f001382`, breaking); a HIGH-tier command-suggestion match now routes directly instead of always emitting the options block (`2fcb2af`); the two path-dominant UI rules regained path scoping (`0518426`); review independence and the evaluator-output contract became declared, gated properties instead of conventions (`1b224f1`, `ca25bc3`).
|
|
470
|
-
- **Default changes + migration:** _none_
|
|
471
|
-
- **Security and correctness:** the release pipeline no longer dies with the PR body in a stack trace on a GitHub 5xx (`2c611bb`), and it bounds a changelog section at the era banner rather than only at the next version (`6bcc273`) — the second had already pushed 12 archived-era banners into this release's own first PR body; the bench spend cap reaches the task runner on paid targets (`6efb8a7`); 19 R2 review findings closed, one of them structural (`3b85af7`).
|
|
472
|
-
- **Honest nulls:** two Phase-0 measurements were published against their own pre-registrations and falsified them (`f29953f`, `ab5d2f7`); the context-fidelity and user-out-of-the-loop baselines are pre-registered before anything is measured (`a8c0edc`, `fe15fc5`).
|
|
473
|
-
- **Known limitations:** the CI-native release path merges and publishes unattended once checks go green — the "Approve workflows to run" checkpoint that `release.yml` documents for a repo without `RELEASE_PR_TOKEN` did not materialise here, so a dispatched release has to be cancelled by hand if a human gate before merge is wanted.
|
|
474
|
-
|
|
475
|
-
### BREAKING CHANGES
|
|
476
|
-
|
|
477
|
-
* **council:** extract the quorum plumbing, and lower the size ratchet ([f001382](https://github.com/event4u-app/agent-config/commit/f0013821e005888f781e54a43a9bd3d260e74f76))
|
|
478
|
-
|
|
479
|
-
### Features
|
|
480
|
-
|
|
481
|
-
* **gates:** the JSON surface carries the gate class and its command ([2d15422](https://github.com/event4u-app/agent-config/commit/2d154224d13721b147a541c7eac476efaacfc4de))
|
|
482
|
-
* **gates:** register the stub-ceiling gate under CI-identical argv ([8bb5bd0](https://github.com/event4u-app/agent-config/commit/8bb5bd0f8b332f623b5fb00baed11a63bf840ec0))
|
|
483
|
-
* **rules:** hold a migrated rule at the size its pointer claims ([797e5e0](https://github.com/event4u-app/agent-config/commit/797e5e071332aac95fde2d1cf40c1019b8cdbbdc))
|
|
484
|
-
* **gates:** resolve a class-0 gate by running it, render everything else ([fdc44de](https://github.com/event4u-app/agent-config/commit/fdc44de895c3959de3c3c2e8375a4f776b65957b))
|
|
485
|
-
* **hooks:** skip idempotent Stop concerns on a refusal retry ([d852555](https://github.com/event4u-app/agent-config/commit/d85255518134ec6ab8378cd31d274e06c54bae0a))
|
|
486
|
-
* **hooks:** report the turn-end refusal rate in the hooks doctor ([d1d854a](https://github.com/event4u-app/agent-config/commit/d1d854ac3b70ea7843d3c6862ebdacbca4c4d829))
|
|
487
|
-
* **hooks:** prune refusal state and surface this session count ([c285a30](https://github.com/event4u-app/agent-config/commit/c285a30ab1891d34ea4401e162357ee01d5efd0f))
|
|
488
|
-
* **hooks:** count turn-end refusals per detector instead of overwriting ([0a42f28](https://github.com/event4u-app/agent-config/commit/0a42f2829dacaae5d44c701ef3fc635234d5b010))
|
|
489
|
-
* **gates:** report parked roadmaps whose resume condition has fired ([8519948](https://github.com/event4u-app/agent-config/commit/8519948b435d329bd47b539736b2362d1c94f3ae))
|
|
490
|
-
* **roadmaps:** adopt road-to-rule-stub-projection, scope narrowed by verification ([be9db6a](https://github.com/event4u-app/agent-config/commit/be9db6a66d81366e47de0970e5e73123916bf67d))
|
|
491
|
-
* **blockers:** a gate declares its class, and a runnable class names its command ([e2259ca](https://github.com/event4u-app/agent-config/commit/e2259ca914862fb49ddf8ded4f2aac52839bc16a))
|
|
492
|
-
* **gate:** report where a skill keeps its obligation block, at warn level ([ea00e76](https://github.com/event4u-app/agent-config/commit/ea00e76ef4311dd5a28c11ccde2d9a44e363f74f))
|
|
493
|
-
* **evidence:** the two Phase 0 censuses, and the instrument that reads 0.0 % ([9115922](https://github.com/event4u-app/agent-config/commit/9115922663405c880cb37181d814d7aed6080b54))
|
|
494
|
-
* **rules:** restore path scoping on the two path-dominant UI rules ([0518426](https://github.com/event4u-app/agent-config/commit/051842644ab9edc72de94283da5de32aaf5f471b))
|
|
495
|
-
* **rules:** measure rule activation from source, and pin the two unmatrixed rules ([ea068b8](https://github.com/event4u-app/agent-config/commit/ea068b804dc40f36be46e6bb6642bb3596899af9))
|
|
496
|
-
* **suggestion:** route a HIGH-tier match directly, with a narrow carve-out ([2fcb2af](https://github.com/event4u-app/agent-config/commit/2fcb2afb865239b86b3db55cd0242d8bdf0e73e1))
|
|
497
|
-
* **contexts:** add the contract decision sheet as the single elicitation surface ([367c5bf](https://github.com/event4u-app/agent-config/commit/367c5bf23e90a02dede67fe781bc2e276a1bdbb5))
|
|
498
|
-
* **scripts:** add interruption_report for the contact and wall-clock axes ([9cb33d2](https://github.com/event4u-app/agent-config/commit/9cb33d23346ab71a9bf0ae4faf7e447b20c6a183))
|
|
499
|
-
* **hooks:** add the interruption-ledger concern on the stop slot ([4b5fc26](https://github.com/event4u-app/agent-config/commit/4b5fc26bbd72aeb5795771276f44d859417b46f1))
|
|
500
|
-
* **cli:** reach council:quota from agent-config, and name who spent the budget ([7d4d503](https://github.com/event4u-app/agent-config/commit/7d4d503721da1104615445ab339d034ede830536))
|
|
501
|
-
* **council:** route judgement calls to the council before the user ([3655fb4](https://github.com/event4u-app/agent-config/commit/3655fb4d68ca70738752475c00e737698c735ac1))
|
|
502
|
-
* **git:** make a fix-the-CI instruction reach the remote, and verify it there ([764bb23](https://github.com/event4u-app/agent-config/commit/764bb23cc081eb92f8c216eba857637ce071acf7))
|
|
503
|
-
* **claims:** pre-register both capability claims, and record what is NOT shown ([a16e413](https://github.com/event4u-app/agent-config/commit/a16e41369ceef8a1309c774f14bb9ab93ff44128))
|
|
504
|
-
* **ship-gate:** warn on shipping-intent diff volume, threshold derived here ([c4285a6](https://github.com/event4u-app/agent-config/commit/c4285a62b84de3332d354485d016ac1e3a92db5a))
|
|
505
|
-
* **experiment-loop:** a bounded keep-or-revert loop against a scalar metric ([4239173](https://github.com/event4u-app/agent-config/commit/42391730909bf794082c1446fe322567b7b2c2b7))
|
|
506
|
-
* **review:** make review independence a declared property, not a silence ([1b224f1](https://github.com/event4u-app/agent-config/commit/1b224f178ff729b4344ffd97924f4e086b45b4a8))
|
|
507
|
-
* **evaluator:** the evaluator-output contract, its error semantics, and its gate ([ca25bc3](https://github.com/event4u-app/agent-config/commit/ca25bc39971aef58f72eb35afc9d22988516dc16))
|
|
508
|
-
* **evidence:** one definition of what an evidence artifact is, and a forward-looking check ([3ddbb5c](https://github.com/event4u-app/agent-config/commit/3ddbb5ce4c647c4347144e5601749ebb54674ebb))
|
|
509
|
-
* **council:** gate pre-run attendance on qualification, and record what a pass observed ([13d1abd](https://github.com/event4u-app/agent-config/commit/13d1abdeec2dc31b03c76009c22c5c28d47ad0aa))
|
|
510
|
-
* **council:** four-value provider qualification and its observation store ([bc506a5](https://github.com/event4u-app/agent-config/commit/bc506a52adf5403e58816c4c2cc829ac676e8978))
|
|
511
|
-
* **review:** write the evidence type at creation, not later ([5a70ae6](https://github.com/event4u-app/agent-config/commit/5a70ae6662e086361a99266c64fccb15336132aa))
|
|
512
|
-
* **gates:** enforce the evidence-artifact type contract ([adfe57d](https://github.com/event4u-app/agent-config/commit/adfe57d79ecbca40225631bdbd3016a7678b7016))
|
|
513
|
-
* **metric-loop:** Phase 0 falsification spikes, four kills evaluated ([052a25d](https://github.com/event4u-app/agent-config/commit/052a25d24545c4caa768fe1b1a1e30622c60d23e))
|
|
514
|
-
|
|
515
|
-
### Bug Fixes
|
|
516
|
-
|
|
517
|
-
* **docs:** stop claiming the spend cap is fixed in a tree where it is not ([3a517f3](https://github.com/event4u-app/agent-config/commit/3a517f3aa760cc1c325fe87d87a3931fba2c232e))
|
|
518
|
-
* **release:** retry GitHub 5xx instead of dying with the PR body in the stack trace ([2c611bb](https://github.com/event4u-app/agent-config/commit/2c611bb2f596116dba751bfbbbf6a547ce966cca))
|
|
519
|
-
* **release:** bound a changelog section at the era banner, not only at the next version ([6bcc273](https://github.com/event4u-app/agent-config/commit/6bcc273515e198a429fc124c0a93c87e0487d7cf))
|
|
520
|
-
* **bench:** let the spend cap reach the task runner on paid targets ([6efb8a7](https://github.com/event4u-app/agent-config/commit/6efb8a70817d56a12cf63a5135ea37c459b0cf0d))
|
|
521
|
-
* **evidence:** retract the legal-safety-floor contradiction, it was a misreading ([0cfba5a](https://github.com/event4u-app/agent-config/commit/0cfba5a9025e0b0ce7ae29e98c7816205b1e27cf))
|
|
522
|
-
* **roadmaps:** repair two owner values the class write-back truncated ([5f9ba2a](https://github.com/event4u-app/agent-config/commit/5f9ba2a9f49a1963f13d144f9388f7b0231c5090))
|
|
523
|
-
* **gates:** correct the manifest header denominators for the new row ([aae8fad](https://github.com/event4u-app/agent-config/commit/aae8fadc1de38f2a565df2231ab284c919e15052))
|
|
524
|
-
* **rules:** apply the R2 review — all 19 findings, one of them structural ([3b85af7](https://github.com/event4u-app/agent-config/commit/3b85af7b164bf680c992eee3a69535fcab6c32b0))
|
|
525
|
-
* **roadmap:** re-depth the archived roadmap links and regenerate the dashboard ([1ac4426](https://github.com/event4u-app/agent-config/commit/1ac4426a73bf7fb7b848e7d1dfb5da0414d6cdf8))
|
|
526
|
-
* **tests:** the gates fixture builds a whole Blocker again ([718f543](https://github.com/event4u-app/agent-config/commit/718f5432097766a0bea50d89d0b0aba9aa661fcf))
|
|
527
|
-
* **gates:** apply the R2 review — 18 of 19 findings, one recorded as unmeetable ([3c9abbf](https://github.com/event4u-app/agent-config/commit/3c9abbf6bef50a8479bc5e01c501fe52cc1f19d5))
|
|
528
|
-
* **hooks:** recognise phpstan and lint_ scripts as verification ([b302f56](https://github.com/event4u-app/agent-config/commit/b302f568dd0e07dd141d74cf08c8b2b3128db508))
|
|
529
|
-
* **roadmap:** a status carrying its own resolution still counts as resolved ([233ee59](https://github.com/event4u-app/agent-config/commit/233ee59b8539bae95ccb91d37e7e95c611b36812))
|
|
530
|
-
* **roadmaps:** apply the verified residue from the performance-regression drafts ([179e8c0](https://github.com/event4u-app/agent-config/commit/179e8c067fded5d3007be6babd94516206e99548))
|
|
531
|
-
* **ci:** clear the four red gates on PR 1398 ([b879d6b](https://github.com/event4u-app/agent-config/commit/b879d6b5a1f7933c655c33dc377b87f01f85551e))
|
|
532
|
-
* **evidence,roadmap:** apply R2 findings 6, 7 and 8 — the three that survived ([c19e0df](https://github.com/event4u-app/agent-config/commit/c19e0df8e45d04ec7f574858ab7361578345043d))
|
|
533
|
-
* **census:** drop the unused derive_trigger_globs import ([c61b3c0](https://github.com/event4u-app/agent-config/commit/c61b3c02a5a7e30b04912fd511e8ddbcb184152d))
|
|
534
|
-
* **roadmaps:** satisfy the evidence-type and risk-anchor contracts ([893284d](https://github.com/event4u-app/agent-config/commit/893284d2f9ab626fba3ec6be0557cd234179f6a9))
|
|
535
|
-
* **evidence:** declare both censuses as analysis artifacts ([fb49e4c](https://github.com/event4u-app/agent-config/commit/fb49e4c767cf99b6736f34b7308b247fcff7dbff))
|
|
536
|
-
* **roadmap-loop:** derive the execution mode instead of silently defaulting ([ffd2a01](https://github.com/event4u-app/agent-config/commit/ffd2a016b2283ac3f26973b21da249bc97135f98))
|
|
537
|
-
* **ai-team:** read the quota bucket the run actually books into ([19f9551](https://github.com/event4u-app/agent-config/commit/19f9551f67a5157553143eb0291fb4a0e5add530))
|
|
538
|
-
* **council:** resolve the CLI-call cap from a single authority ([95be8b0](https://github.com/event4u-app/agent-config/commit/95be8b07be6c85308a5d466e5ca0cb831b7c4b57))
|
|
539
|
-
* **council:** make the shared CLI-call counter atomic and attributable ([9c10ddf](https://github.com/event4u-app/agent-config/commit/9c10ddfc12befe1872a2cefe6cbdac3fa33cf2df))
|
|
540
|
-
* **ci:** declare check_pr_ci_current as intentionally local-only ([909209c](https://github.com/event4u-app/agent-config/commit/909209c86765a109beabdb3d390891af565b2391))
|
|
541
|
-
* **ci:** regenerate the two count-derived artefacts the new skill invalidated ([d74d4e0](https://github.com/event4u-app/agent-config/commit/d74d4e09dc73cdfed971ee604f2d1851748e59a5))
|
|
542
|
-
* **deps:** bump the npm-production group across 1 directory with 3 updates ([5c041de](https://github.com/event4u-app/agent-config/commit/5c041de900e8ea0e7d3c0326c1b7dee6176c864b))
|
|
543
|
-
* **council,evidence:** apply the R2 review — the high finding reopened the defect one layer down ([e69a10b](https://github.com/event4u-app/agent-config/commit/e69a10b52a94d0cb8920d11430f3c29ecd93f9b0))
|
|
544
|
-
* **roadmaps:** stop check_references reading prose as a rule reference ([45a7dd7](https://github.com/event4u-app/agent-config/commit/45a7dd73d35ca044fb79fed7887818a9b08adc80))
|
|
545
|
-
* **gates:** close the 11 R2 findings on the evidence-type gate ([21c9865](https://github.com/event4u-app/agent-config/commit/21c9865c8865c0b6bd09368b91d86b7928a05707))
|
|
546
|
-
|
|
547
|
-
### Reverts
|
|
548
|
-
|
|
549
|
-
* **gate:** withdraw lint_skill_top_position — the obligation already ships ([059250e](https://github.com/event4u-app/agent-config/commit/059250e9b423abbbf6fcecac4c0794beed4245a9))
|
|
550
|
-
|
|
551
|
-
### Documentation
|
|
552
|
-
|
|
553
|
-
* **review:** declare the completion-review skip for a zero-code-path diff ([d0cf1cb](https://github.com/event4u-app/agent-config/commit/d0cf1cbd6ccd977702bd1fba68bf9676333fb840))
|
|
554
|
-
* **roadmap:** close Phase 2 Step 1 and say why it was never gated on the baseline ([0e3ee68](https://github.com/event4u-app/agent-config/commit/0e3ee6888d65b5f1baeb9a11344caf33282a3c48))
|
|
555
|
-
* **evidence:** correct the symptom number on the reproduced return-channel failure ([bfe0296](https://github.com/event4u-app/agent-config/commit/bfe0296175e52de92a7a4b0ede6bbf8474ec3574))
|
|
556
|
-
* **contracts:** a worker final message is text-only, and the envelope hits disk first ([4dbdccf](https://github.com/event4u-app/agent-config/commit/4dbdccf1dd267712041a6dfa49274c0d693dd66d))
|
|
557
|
-
* **review:** re-bind and state which review covers which half of the branch ([8022676](https://github.com/event4u-app/agent-config/commit/80226766d30cc7abe1d05e6240d58dc6c0376347))
|
|
558
|
-
* the spend-cap claims describe the tree again, and name a commit not an event ([86f1f40](https://github.com/event4u-app/agent-config/commit/86f1f40c67618c4cd19bf2b7180948c825459e9b))
|
|
559
|
-
* **review:** fill the R2 findings and re-bind to the post-fix scope ([7b3e707](https://github.com/event4u-app/agent-config/commit/7b3e707fb380d91b59ff7a67f8b350ffde24ccc8))
|
|
560
|
-
* **review:** rescope the R2 review to match the gate scope ([c2bfba0](https://github.com/event4u-app/agent-config/commit/c2bfba0b1a89fae57382097cde8b3b9d77c4a44a))
|
|
561
|
-
* **review:** open the R2 review for the follow-up decisions ([4a8a488](https://github.com/event4u-app/agent-config/commit/4a8a488809212bf828e1877f0623381cafa80375))
|
|
562
|
-
* record the three follow-up decisions and resolve their blocker ([5684754](https://github.com/event4u-app/agent-config/commit/5684754b8f0b23e1e93bd2b4103a6c634bbe36e8))
|
|
563
|
-
* **roadmaps:** reclassify the twelve gates whose swept class was not materialisable ([ad7fe04](https://github.com/event4u-app/agent-config/commit/ad7fe04bbfe2064bad0395634e15df7eebf3dbab))
|
|
564
|
-
* **review:** restore the merged findings artefact and declare a skip for the retraction ([132f07d](https://github.com/event4u-app/agent-config/commit/132f07d56965b19bc42493763a86326dabdea14d))
|
|
565
|
-
* **review:** re-bind the findings after the retraction ([8728f00](https://github.com/event4u-app/agent-config/commit/8728f00cf09d78c38f497e477a3bac31ce76af73))
|
|
566
|
-
* **review:** commit the R2 input package the reviewer actually read ([13f37aa](https://github.com/event4u-app/agent-config/commit/13f37aa02a1a79fd2051b08961e66bd470540a61))
|
|
567
|
-
* **review:** re-bind the findings to the post-merge scope ([6a0240e](https://github.com/event4u-app/agent-config/commit/6a0240e22e0ed419ee0c9d0b7adc0b415f091cc7))
|
|
568
|
-
* **review:** re-bind the findings after the archive-index regeneration ([1e12c2f](https://github.com/event4u-app/agent-config/commit/1e12c2f6419e5bce016cc06377d19534628d3104))
|
|
569
|
-
* **review:** fill the R2 findings with their outcomes ([92b385c](https://github.com/event4u-app/agent-config/commit/92b385c72c933affb7c26e565f9b59d4767eeefb))
|
|
570
|
-
* correct the write-back counts and track the three follow-ups ([23c74e1](https://github.com/event4u-app/agent-config/commit/23c74e1a53670509bf8b28d76fbc512ee02d2291))
|
|
571
|
-
* **review:** re-bind the findings artefact after merging main ([58552ee](https://github.com/event4u-app/agent-config/commit/58552ee481c8185c656eb6c0a0f2db2740c99c7b))
|
|
572
|
-
* **review:** re-bind the findings and record the ordering round-trip on row 6 ([b536924](https://github.com/event4u-app/agent-config/commit/b536924bea59f9cfe135a7476dc604a01199eb1b))
|
|
573
|
-
* **review:** the R2 completion review, 19 findings, all rows open ([d8e2ee6](https://github.com/event4u-app/agent-config/commit/d8e2ee6559f630e0ec94f778829aa01c2d8e6904))
|
|
574
|
-
* **review:** open the R2 completion review for the class write-back ([b40d124](https://github.com/event4u-app/agent-config/commit/b40d1249f62c8decbb4b7f169954ff0b44d77e51))
|
|
575
|
-
* **gates:** correct the manifest header denominators for the new row ([0d12acd](https://github.com/event4u-app/agent-config/commit/0d12acd1c9cc02075a380eba250b67b3ed16c06c))
|
|
576
|
-
* **evidence:** record that the swept class-0 and class-1 verdicts cannot be materialised ([585a1c1](https://github.com/event4u-app/agent-config/commit/585a1c1abc6ad378721b3f69ce92b007073cbe1e))
|
|
577
|
-
* **roadmaps:** materialise the swept gate class into 34 blocker entries ([6e40b7e](https://github.com/event4u-app/agent-config/commit/6e40b7e0af4f559c49e92971703e3d7e61f7c1d2))
|
|
578
|
-
* **roadmap:** close rule-stub-projection and hand the sized residue to its owner ([20d0f14](https://github.com/event4u-app/agent-config/commit/20d0f144a6e7333de11cce0eb7d4578210464a17))
|
|
579
|
-
* **evidence:** the Phase-0 measurement, and it falsifies its own pre-registration ([f29953f](https://github.com/event4u-app/agent-config/commit/f29953f57fb92c317044f1fa3fb01d3f3b8bf48e))
|
|
580
|
-
* **roadmap:** mark stop-gate-honesty 2.1 open rather than deferred ([aff95dc](https://github.com/event4u-app/agent-config/commit/aff95dce1eaab2a4952a7bdcf50834a13148883b))
|
|
581
|
-
* **review:** give every fixed row its resolvable fix ref ([f10d7b8](https://github.com/event4u-app/agent-config/commit/f10d7b803a6d94193666585aae06643e92a944e1))
|
|
582
|
-
* **review:** re-bind the R2 findings to the post-fix scope, 18 fixed and 1 deferred ([02ced8e](https://github.com/event4u-app/agent-config/commit/02ced8e8a40690af8391d43355554f49cccafe38))
|
|
583
|
-
* **roadmap:** close stop-gate-honesty phases 1 to 3 ([1dd54a1](https://github.com/event4u-app/agent-config/commit/1dd54a10daf0285f3dd006698c55071e4f374dd1))
|
|
584
|
-
* **evidence:** the gate-class sweep falsifies its own pre-registration ([ab5d2f7](https://github.com/event4u-app/agent-config/commit/ab5d2f73e7bc7a827584901e0dd88aa1d9a5dd2c))
|
|
585
|
-
* **roadmap:** close gate-autonomy 1.1 and pre-register the 1.2 share ([b5a5151](https://github.com/event4u-app/agent-config/commit/b5a51510aa841cb5ecc1e9adf755f2d2aef15a05))
|
|
586
|
-
* **review:** re-bind the findings to the post-fix scope, all 13 terminal ([8f2176d](https://github.com/event4u-app/agent-config/commit/8f2176da07dd542191877739847188ad6e0a17f5))
|
|
587
|
-
* **review:** the R2 completion review, 13 findings, all rows open ([7ec6be6](https://github.com/event4u-app/agent-config/commit/7ec6be613624a62242616f0eb3948031b0b95a2c))
|
|
588
|
-
* **roadmap:** re-verify the Context table, and make the human gate countable ([73c242b](https://github.com/event4u-app/agent-config/commit/73c242bd21d7d244c61b85698a686b36d4a67577))
|
|
589
|
-
* **claims:** pre-register the two context-fidelity measurements ([a8c0edc](https://github.com/event4u-app/agent-config/commit/a8c0edc3c2b4ed944c1b9ebab14dd88ac2161215))
|
|
590
|
-
* **roadmaps:** adopt the mixed-trigger-cleanup cohort after claim verification ([80d80d4](https://github.com/event4u-app/agent-config/commit/80d80d4626536eba09d47ac32b097fe186715802))
|
|
591
|
-
* **roadmap:** close Phase 0 and six of seven Phase 1 steps ([e74a956](https://github.com/event4u-app/agent-config/commit/e74a9565f5a634160a408a9f0562538ea768a07c))
|
|
592
|
-
* **claims:** pre-register the two user-out-of-the-loop baselines ([fe15fc5](https://github.com/event4u-app/agent-config/commit/fe15fc59d3b96b46d8793eaa580a8e71436dad99))
|
|
593
|
-
* **roadmaps:** record the council-quota accounting verification and its result ([ed2e566](https://github.com/event4u-app/agent-config/commit/ed2e5668e5897d8ed2b80808ff1c1449870e5def))
|
|
594
|
-
* **evidence:** re-bind the R2 artefact after merging main ([baecdfb](https://github.com/event4u-app/agent-config/commit/baecdfbfe9a8c23869c684cbe38e3b70f8d0c3f7))
|
|
595
|
-
* **evidence:** re-bind marker AND manifest after the main merge ([b426d8e](https://github.com/event4u-app/agent-config/commit/b426d8e3804781b4af7ce5f49ba864df566bceae))
|
|
596
|
-
* **evidence:** re-bind the R2 artefact after the quorum extraction ([4c0047e](https://github.com/event4u-app/agent-config/commit/4c0047eef2e92392d455dc67d7bac1d39dc52809))
|
|
597
|
-
* **evidence:** re-bind the R2 artefact after the fixes, all 16 rows terminal ([13c854a](https://github.com/event4u-app/agent-config/commit/13c854aebf976aabcdffd881f7ca91acdd26c2f1))
|
|
598
|
-
* **evidence:** re-bind after the cross-reference fix ([74ee5e8](https://github.com/event4u-app/agent-config/commit/74ee5e89fdc8a0b1c82ebe515b9166f753c555f0))
|
|
599
|
-
* **evidence:** record the R2 completion review, all 16 rows open ([0f07cac](https://github.com/event4u-app/agent-config/commit/0f07cac8e615a09fbeaa02f3fc42cca39853f89f))
|
|
600
|
-
* **evidence:** re-bind the findings at the final head ([a1476cb](https://github.com/event4u-app/agent-config/commit/a1476cbf5aaf35ff583a38ea9f12c05652ad3b85))
|
|
601
|
-
* **evidence:** re-bind the R2 findings at the post-merge scope ([acf8229](https://github.com/event4u-app/agent-config/commit/acf8229b4e3de0b0138e1bc7343893572eebe2dd))
|
|
602
|
-
* **roadmaps:** close release-review-p0 Phases 2 and 3, and record why Phase 1 did not start ([11ce2ea](https://github.com/event4u-app/agent-config/commit/11ce2ea372d534300e0fcfa032bb764393af3b49))
|
|
603
|
-
* **evidence:** record the R2 review of the evidence-type gate ([fc1a1aa](https://github.com/event4u-app/agent-config/commit/fc1a1aabf0fe1e583b00f67d9bda8790e3e336f3))
|
|
604
|
-
* **roadmaps:** close release-review-p0 Phase 2 ([e16b1d1](https://github.com/event4u-app/agent-config/commit/e16b1d1fbae2f221ffe67bf567b726eec5287424))
|
|
605
|
-
* **contracts:** define what kind of evidence a stored artifact is ([dbcf664](https://github.com/event4u-app/agent-config/commit/dbcf66472a03063df0d2b1dddbf8fab9362b2f52))
|
|
606
|
-
|
|
607
|
-
### Refactoring
|
|
608
|
-
|
|
609
|
-
* **gates:** withdraw run from the JSON surface, keep class ([a168122](https://github.com/event4u-app/agent-config/commit/a16812274d7270a7e563f6844cf34b6087b29266))
|
|
610
|
-
* **council:** extract the parity serialiser and lower the size ratchet ([0982ff2](https://github.com/event4u-app/agent-config/commit/0982ff2bbba1f6d50720520c1d99357c9b316f71))
|
|
611
|
-
* **council:** extract the CLI-call budget into its own module ([ece9d45](https://github.com/event4u-app/agent-config/commit/ece9d45789b0a0490e3c149d07c3303462911504))
|
|
612
|
-
* **council:** extract the qualification seam out of council_cli.ts ([0422b86](https://github.com/event4u-app/agent-config/commit/0422b86f072de75dd44fab03ba9d65b96d9204e2))
|
|
613
|
-
|
|
614
|
-
### Tests
|
|
615
|
-
|
|
616
|
-
* **census:** give the activation gate a self-test so it proves discrimination ([0b0d4fc](https://github.com/event4u-app/agent-config/commit/0b0d4fc5f6137d74e68773acfa946a1a441b9915))
|
|
617
|
-
* **review:** follow the skeleton placeholder change downstream ([de3015c](https://github.com/event4u-app/agent-config/commit/de3015c7a02e9f3f2e72948dbf6dd5d906c1c39f))
|
|
618
|
-
|
|
619
|
-
### CI
|
|
620
|
-
|
|
621
|
-
* run the evidence-type gate, and correct the gate-script population figure ([676a1fa](https://github.com/event4u-app/agent-config/commit/676a1faf13220d47ec3a7e3aaf7a554aef4887a3))
|
|
622
|
-
|
|
623
|
-
### Chores
|
|
417
|
+
* **estate:** raise the open-blocker baseline by one, with the reason ([7762ca5](https://github.com/event4u-app/agent-config/commit/7762ca5592f61e42090d5f53e86794e750b1290d))
|
|
418
|
+
* **review:** bind the R2 review scope before the reviewer runs ([c45093d](https://github.com/event4u-app/agent-config/commit/c45093d8c5549183447ef2313f31968ebb129400))
|
|
624
419
|
|
|
625
|
-
|
|
626
|
-
* **roadmap:** regenerate the dashboard after merging main ([1add1cd](https://github.com/event4u-app/agent-config/commit/1add1cd2a16fd8b6f2899da2ccea4b625fb3f333))
|
|
627
|
-
* **gates:** revert the header denominators, to re-land them after the findings ([03f9836](https://github.com/event4u-app/agent-config/commit/03f98362c95f40a82422a3053c80ddaae1d33fbf))
|
|
628
|
-
* **roadmap:** archive rule-stub-projection, complete at 17 of 17 steps ([7c67f62](https://github.com/event4u-app/agent-config/commit/7c67f6233bb960f87a1d06d9d681aad806bd3a13))
|
|
629
|
-
* **dist:** regenerate the agent-src projection ([186ddaa](https://github.com/event4u-app/agent-config/commit/186ddaa747062b527400676967d14676a8dd672f))
|
|
630
|
-
* **sync:** regenerate the dist projection ([7124ae6](https://github.com/event4u-app/agent-config/commit/7124ae6a1dae48b418a7828e68ef995a9a2c0c85))
|
|
631
|
-
* **roadmaps:** archive the completed council-quota roadmap ([fbb729a](https://github.com/event4u-app/agent-config/commit/fbb729a223cb4b9586d0fe773e2c320a082fadeb))
|
|
632
|
-
* **evals:** move cli_help_command_count 98 -> 99 for council:quota ([e0c46d6](https://github.com/event4u-app/agent-config/commit/e0c46d66665df4c12a30397bbd593afbdf5f5cdc))
|
|
633
|
-
* **dist:** re-project the edited commands and the council skill ([41b6b1e](https://github.com/event4u-app/agent-config/commit/41b6b1e4a036ed9f374ab63a648bc8ec139cd71f))
|
|
634
|
-
* **deps-dev:** bump the npm-development group across 1 directory with 5 updates ([01872a8](https://github.com/event4u-app/agent-config/commit/01872a8baf6bc03c16884395c10e9a99b83a8277))
|
|
635
|
-
* **index:** regenerate agents/index.md + docs/catalog.md after the merge ([f2e3d4d](https://github.com/event4u-app/agent-config/commit/f2e3d4d881465c3a89a35926e798c539a841f5d0))
|
|
636
|
-
* **roadmaps:** archive road-to-metric-loop-and-review-integrity ([bf3e144](https://github.com/event4u-app/agent-config/commit/bf3e144f2b84045639eb12118f3b03ff096adc8a))
|
|
637
|
-
* **ci:** register the evidence-type gate on both its scopes ([16239d4](https://github.com/event4u-app/agent-config/commit/16239d4880adff8959af2fa8e684bd62b6df67f9))
|
|
638
|
-
|
|
639
|
-
Tests: 14520 (+347 since 13.0.0)
|
|
420
|
+
Tests: 15272 (+18 since 14.4.0)
|
|
640
421
|
|
|
641
422
|
# Era: pre-4.0.0 — archived
|
|
642
423
|
|
|
@@ -207,6 +207,23 @@ cli_call_budget:
|
|
|
207
207
|
# Warn once usage crosses this fraction of a cap (0..1).
|
|
208
208
|
warn_at: 0.8
|
|
209
209
|
|
|
210
|
+
# Mid-flight cli -> api fallback. When a CLI call fails partway through a
|
|
211
|
+
# pass, the seat can retry once on that provider's metered api rung instead
|
|
212
|
+
# of being lost. The classes where the CLI provably never reached the
|
|
213
|
+
# provider (missing binary, rejected auth, unsupported CLI, unservable
|
|
214
|
+
# model) fall through unconditionally; a timeout or a 5xx NEVER does, under
|
|
215
|
+
# any setting, because a half-completed call must not be paid for twice.
|
|
216
|
+
#
|
|
217
|
+
# `api_on_quota` is the one BILLING-CLASS decision in that design, which is
|
|
218
|
+
# why it is a key and not a rule. Both quota shapes are safe to retry — the
|
|
219
|
+
# local `cli_call_budget` cap refuses before anything is sent, and a
|
|
220
|
+
# provider plan quota is rejected at the request boundary — so the question
|
|
221
|
+
# is not double spend, it is that an unmetered subscription call becomes a
|
|
222
|
+
# USD one. Off by default; the retry still passes the `cost_budget` gates
|
|
223
|
+
# above. Turn it on if you would rather keep the seat than keep the $0.
|
|
224
|
+
fallback:
|
|
225
|
+
api_on_quota: false
|
|
226
|
+
|
|
210
227
|
# Quorum for a council pass to CONCLUDE (road-to-always-on-orchestration
|
|
211
228
|
# Phase 3.3). Default "majority" resolves to ceil(n / 2) enabled members —
|
|
212
229
|
# a SIMPLE majority, deliberately not "more than half": at n=2 that is
|
|
@@ -499,6 +516,23 @@ necessity_classifier:
|
|
|
499
516
|
#
|
|
500
517
|
# See docs/contracts/ai-council-config.md for the trigger lists and the
|
|
501
518
|
# Iron-Law clause.
|
|
519
|
+
# `second_model` — the OPTIONAL local rung between the agent and the
|
|
520
|
+
# council (UOTL Phase 4.1). It exists because the council used to be the
|
|
521
|
+
# only rung before a halt: a medium-impact question stopped the run
|
|
522
|
+
# whenever no council was configured or its quota was gone.
|
|
523
|
+
#
|
|
524
|
+
# Name a provider whose LOCAL CLI runs under subscription auth —
|
|
525
|
+
# anthropic, openai or gemini. That set is narrower than the five
|
|
526
|
+
# providers `members:` accepts, on purpose: xai and perplexity ship
|
|
527
|
+
# community CLI wrappers that consume an API key, so routing a
|
|
528
|
+
# resolution there would spend USD on the rung whose whole point is not
|
|
529
|
+
# to. The rung MUST book against the same `cli_call_budget` counter above
|
|
530
|
+
# — one subscription, one counter. That is an obligation on the rung, not
|
|
531
|
+
# a guard that already exists: nothing reads this key at runtime yet, so
|
|
532
|
+
# setting it declares intent rather than activating a bounded mechanism.
|
|
533
|
+
#
|
|
534
|
+
# The key is REFUSED on high_impact and user_required, not ignored. Those
|
|
535
|
+
# classes reach you, and a silently-dropped key would read as configured.
|
|
502
536
|
decision_resolution:
|
|
503
537
|
enabled: true
|
|
504
538
|
classes:
|
|
@@ -511,6 +545,7 @@ decision_resolution:
|
|
|
511
545
|
medium_impact:
|
|
512
546
|
mode: council
|
|
513
547
|
confidence_threshold: 0.6
|
|
548
|
+
# second_model: gemini # uncomment to add the local rung
|
|
514
549
|
high_impact:
|
|
515
550
|
mode: user # LOCKED — Iron Law
|
|
516
551
|
confidence_threshold: 0.6
|
|
@@ -277,11 +277,39 @@ For each open step in the working set (scope-bound — see wrapper):
|
|
|
277
277
|
summary named the members). `high_impact` / `user_required`
|
|
278
278
|
classifications still escalate to the user per
|
|
279
279
|
[`ask-when-uncertain`](../../rules/ask-when-uncertain.md).
|
|
280
|
+
- **Second-model rung, when the class declares one**
|
|
281
|
+
(`decision_resolution.classes.<cls>.second_model`, UOTL Phase 4.1)
|
|
282
|
+
→ one local vendor-CLI pass under subscription auth. **The rung is
|
|
283
|
+
MODEL-CARRIED: the key is declared and schema-validated, and no
|
|
284
|
+
TypeScript path reads it at runtime** — so "bounded by the
|
|
285
|
+
`cli_call_budget` counter" is what the rung must respect, never
|
|
286
|
+
something a booking consumer enforces (`cli_call_budget.ts` declares
|
|
287
|
+
its consumer set closed at two, and this is not one of them). Stated
|
|
288
|
+
rather than implied after R2 round 4 finding 4 found the coupling
|
|
289
|
+
asserted on three surfaces at once. Available
|
|
290
|
+
to `trivial` / `low_impact` / `medium_impact` only; the config
|
|
291
|
+
schema REFUSES the key on `high_impact` and `user_required`, so no
|
|
292
|
+
locked question can reach it.
|
|
280
293
|
- **Council off / not configured** → halt, surface once, wait.
|
|
281
294
|
Resume on next turn. An execution contract cannot enable a
|
|
282
295
|
council that has no configured members — the contract summary
|
|
283
296
|
says so upfront, and in-run ambiguity halts (never silent
|
|
284
297
|
guessing).
|
|
298
|
+
- **No self-adversarial fallback.** With neither a council nor a
|
|
299
|
+
second-model rung available, the ambiguity halt STANDS. The gap is
|
|
300
|
+
never filled by the agent arguing both sides of the question to
|
|
301
|
+
itself: a monologue produces a verdict with no independent
|
|
302
|
+
observer, which is the failure
|
|
303
|
+
[`evaluator-independence`](../../rules/evaluator-independence.md)
|
|
304
|
+
exists over, and reads as convergence to whoever finds it later.
|
|
305
|
+
Halting costs one turn; a manufactured verdict costs the trust in
|
|
306
|
+
every other verdict the run produced.
|
|
307
|
+
- **A resolution taken WITHOUT contacting the user is recorded** —
|
|
308
|
+
`agent-config decision:memo write --run <id> …` (question, chosen
|
|
309
|
+
option, reasoning, resolver, confidence). The run's PR description
|
|
310
|
+
links the directory. Not a gate: the memo is what makes an
|
|
311
|
+
autonomous resolution reviewable after the fact, which is the
|
|
312
|
+
condition under which it is legitimate at all.
|
|
285
313
|
5. **Atomic flip — same reply, every step.**
|
|
286
314
|
Flip the checkbox in `agents/roadmaps/<file>.md`: `[x]` done ·
|
|
287
315
|
`[~]` partial · `[-]` skipped. **Non-skippable, non-batchable**
|
|
@@ -345,20 +373,56 @@ For each open step in the working set (scope-bound — see wrapper):
|
|
|
345
373
|
file is the source of truth between regens.
|
|
346
374
|
7. Run quality pipeline if cadence is `per_step`.
|
|
347
375
|
|
|
376
|
+
### 5d. Resuming a run whose previous session died
|
|
377
|
+
|
|
378
|
+
A session above the recycle threshold and inside a running contract leaves a
|
|
379
|
+
**deterministic checkpoint** at
|
|
380
|
+
`agents/runtime/state/checkpoints/<run>.json` — open / done / parked counts,
|
|
381
|
+
the next open step, and the commit the tree was on. Every field is recomputed
|
|
382
|
+
from the roadmap on disk rather than summarised, which is what makes the next
|
|
383
|
+
line possible.
|
|
384
|
+
|
|
385
|
+
```
|
|
386
|
+
A RESUMED RUN RE-VERIFIES THE CHECKPOINT BEFORE ACTING ON IT.
|
|
387
|
+
RESUME BY EVIDENCE, NEVER BY BOOKKEEPING.
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
The first act of a resumed run is to look its checkpoint up **by roadmap slug**
|
|
391
|
+
— `latestCheckpointFor(repoRoot, slug)` — and then `verifyCheckpoint` it against
|
|
392
|
+
the current tree. The slug, not the run id: a relaunched session has a NEW
|
|
393
|
+
session id, so the run-id-keyed `readCheckpoint` cannot find the checkpoint the
|
|
394
|
+
DYING session wrote, and this instruction named an unreachable path until the
|
|
395
|
+
R2 review's finding 7. The slug is the one key a resumed run holds by
|
|
396
|
+
definition, because claiming the same roadmap is what makes it a resume.
|
|
397
|
+
|
|
398
|
+
The per-field report then names WHICH claim went stale, which is what a bare
|
|
399
|
+
"stale/fresh" verdict cannot. **A disagreement is not an error**: work landing
|
|
400
|
+
between the checkpoint and the resume is the normal case (a human committed, a
|
|
401
|
+
sibling worktree moved, the dying session finished a step it never recorded),
|
|
402
|
+
and the `actual` column is what to resume from. Treating progress as corruption
|
|
403
|
+
would refuse every healthy resume.
|
|
404
|
+
|
|
405
|
+
`agent-config run:supervise --once` reports which runs died with open steps
|
|
406
|
+
left. It never merges, pushes, or closes anything — that boundary is a named
|
|
407
|
+
rejection, not a missing feature.
|
|
408
|
+
|
|
348
409
|
### Halt conditions
|
|
349
410
|
|
|
350
411
|
- Hard-Floor trigger ([`non-destructive-by-default`](../../rules/non-destructive-by-default.md))
|
|
351
412
|
- Security-sensitive path ([`security-sensitive-stop`](../../rules/security-sensitive-stop.md))
|
|
352
413
|
- Step reveals work outside the roadmap's scope
|
|
353
414
|
- Test failure or quality red on `per_step`
|
|
354
|
-
- Council off
|
|
355
|
-
|
|
356
|
-
this halt
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
with
|
|
361
|
-
|
|
415
|
+
- Council off, no second-model rung, and true ambiguity — under an
|
|
416
|
+
**accepted execution contract**
|
|
417
|
+
([§ 3](#3-pre-scan--execution-contract-or-commit-step-ask)) this halt
|
|
418
|
+
exists only when neither rung is available: the contract auto-enables
|
|
419
|
+
council for the run, so in-run open questions resolve silently
|
|
420
|
+
(`high_impact` / `user_required` classifications still escalate per
|
|
421
|
+
[`ask-when-uncertain`](../../rules/ask-when-uncertain.md)); with a
|
|
422
|
+
class-declared `second_model` the local rung runs first. With neither,
|
|
423
|
+
true ambiguity halts — never silent guessing, and never a
|
|
424
|
+
self-adversarial monologue in place of the missing observer (the
|
|
425
|
+
open-question handling in § 5 states that rung by rung).
|
|
362
426
|
|
|
363
427
|
An accepted execution contract **never lifts a Hard Floor** or any of
|
|
364
428
|
the other halts above — it removes redundant *asks* (git shape,
|
|
@@ -438,10 +502,17 @@ The loop MUST:
|
|
|
438
502
|
five choices: follow-up (draft), follow-up (ready + blocked),
|
|
439
503
|
keep-in-archive (intentional drop), restore to `[ ]`, convert
|
|
440
504
|
to `[-]` cancelled.
|
|
441
|
-
3.
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
505
|
+
3. **Route by the preservation test**, per
|
|
506
|
+
[`roadmap-progress-sync § Who resolves it`](../../rules/roadmap-progress-sync.md):
|
|
507
|
+
a disposition that keeps the criterion ALIVE in the active estate
|
|
508
|
+
(fix now · carry item + blocker into a follow-up created in the SAME
|
|
509
|
+
change · merge into existing active work · restore to `[ ]`) may be
|
|
510
|
+
resolved by the council, recorded at the item. A disposition that
|
|
511
|
+
drops, weakens or permanently accepts the loss of it — cancel to
|
|
512
|
+
`[-]`, keep-in-archive, scope cut — reaches the **user**, and the
|
|
513
|
+
autonomous mandate (`/work`, `/roadmap:process-full`, "decide for
|
|
514
|
+
me") does **not** lift that half. In doubt: user. A council verdict
|
|
515
|
+
naming a follow-up that does not exist yet fails closed to the user.
|
|
445
516
|
4. On picks 1 / 2 → run the "Spawn follow-up from deferred items"
|
|
446
517
|
procedure in [`roadmap-management`](../../skills/roadmap-management/SKILL.md).
|
|
447
518
|
On picks 3 / 4 / 5 → apply the change, re-evaluate the decision
|