@event4u/agent-config 10.1.0 → 10.3.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 +110 -167
- package/README.md +1 -1
- package/dist/agent-src/commands/analyze/reference-repo.md +62 -0
- package/dist/agent-src/commands/roadmap/create.md +4 -1
- package/dist/agent-src/commands/roadmap/next.md +38 -0
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +22 -1
- package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -1
- package/dist/agent-src/personas/advisors/first-principles.md +6 -0
- package/dist/agent-src/rules/active-remediation.md +53 -2
- package/dist/agent-src/rules/code-provenance.md +66 -4
- package/dist/agent-src/rules/content-quoting-floor.md +6 -0
- package/dist/agent-src/rules/context-hygiene.md +39 -0
- package/dist/agent-src/rules/design-fidelity.md +49 -3
- package/dist/agent-src/rules/token-budget-discipline.md +3 -2
- package/dist/agent-src/rules/token-efficiency.md +22 -0
- package/dist/agent-src/skills/ai-council/SKILL.md +28 -6
- package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
- package/dist/agent-src/skills/design-review/references/verification-automation.md +23 -1
- package/dist/agent-src/skills/fe-design/SKILL.md +27 -3
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +30 -0
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +11 -0
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +9 -9
- package/dist/agent-src/skills/skill-writing/SKILL.md +4 -0
- package/dist/agent-src/skills/token-optimizer/SKILL.md +5 -1
- package/dist/agent-src/templates/agent-settings.md +12 -28
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +2 -2
- package/dist/agent-src/templates/persona.md +26 -0
- package/dist/agent-src/templates/roadmaps.md +27 -7
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -1
- package/dist/agent-src/templates/skill.md +35 -1
- package/dist/cli/commands/commands.candidates.test.js +257 -0
- package/dist/cli/commands/commands.candidates.test.js.map +1 -0
- package/dist/cli/commands/commands.js +199 -0
- package/dist/cli/commands/commands.js.map +1 -1
- package/dist/cli/main.js +1 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/registry.js +2 -2
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli-delegate/{chunk-3JUTT26I.js → chunk-6ENSXSBW.js} +1 -1
- package/dist/cli-delegate/{chunk-TVGXH7VA.js → chunk-6LOPHJLD.js} +1 -1
- package/dist/cli-delegate/{chunk-XT2YTJCZ.js → chunk-AYKQGIBG.js} +4 -0
- package/dist/cli-delegate/{chunk-HJSKTMIF.js → chunk-BV3WR67D.js} +3 -19
- package/dist/cli-delegate/{chunk-HTIU3W56.js → chunk-BWMXLD4B.js} +6 -2
- package/dist/cli-delegate/{chunk-2H5SE7DU.js → chunk-FV34EGEX.js} +166 -39
- package/dist/cli-delegate/{chunk-XTC5ARB6.js → chunk-IR3IVRVC.js} +7 -2
- package/dist/cli-delegate/{chunk-LRXJK6GN.js → chunk-JMQZ7MM5.js} +1 -1
- package/dist/cli-delegate/{chunk-NX5AXSLD.js → chunk-X3VOARZD.js} +3 -3
- 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 +881 -204
- package/dist/cli-delegate/cmd_doctor.js +3 -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 +6 -5
- 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 +44 -9
- package/dist/cli-delegate/cmd_settings_get.js +2 -2
- package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
- package/dist/cli-delegate/cmd_settings_set.js +2 -2
- 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 +21 -21
- 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 +204 -44
- package/dist/install/install.mjs +9 -21
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +1337 -490
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +25 -2
- package/dist/scripts/_lib/agent_settings.js.map +1 -1
- package/dist/scripts/_lib/compile_time_toggles.js +4 -3
- package/dist/scripts/_lib/compile_time_toggles.js.map +1 -1
- package/dist/server/io/yamlIO.js +0 -2
- package/dist/server/io/yamlIO.js.map +1 -1
- package/dist/server/schemas/settings.js +3 -9
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/shared/settingsClasses.js +64 -2
- package/dist/shared/settingsClasses.js.map +1 -1
- package/dist/ui/assets/{index-B5qGYOJo.js → index-5fXOHoVh.js} +2 -2
- package/dist/ui/assets/index-5fXOHoVh.js.map +1 -0
- package/dist/ui/index.html +1 -1
- package/docs/contracts/settings-classes.md +307 -145
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +54 -0
- package/docs/guidelines/agent-infra/layered-settings.md +1 -2
- package/docs/guidelines/agent-infra/symptom-driven-harvest-loop.md +104 -0
- package/docs/guidelines/design-antipatterns.md +79 -10
- package/docs/guidelines/design-fidelity-mechanics.md +120 -2
- package/package.json +1 -1
- package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -1
- package/src/config/agent-settings.template.yml +12 -30
- package/src/config/gate-coverage.yml +42 -8
- package/src/config/gate-violation-baselines.json +15 -3
- package/src/config/profiles/balanced.ini +0 -2
- package/src/config/profiles/full.ini +1 -3
- package/src/config/profiles/minimal.ini +0 -2
- package/src/config/review-prompt-binding-baseline.json +19 -0
- package/src/config/rule-enforcement-baseline.json +0 -1
- package/src/scripts/_cli/cmd_session_recycle.ts +66 -9
- package/src/scripts/_cli/handoff_sessions.ts +3 -2
- package/src/scripts/_dispatch.bash +1 -0
- package/src/scripts/_lib/agent_settings.ts +25 -2
- package/src/scripts/_lib/bench_telegraph.ts +1 -1
- package/src/scripts/_lib/cc_transcript.ts +25 -0
- package/src/scripts/_lib/compile_time_toggles.ts +4 -3
- package/src/scripts/ai_council/clients.ts +243 -34
- package/src/scripts/cache_realization_report.ts +3 -2
- package/src/scripts/check_ci_local_parity.ts +60 -6
- package/src/scripts/check_review_prompt_binding.ts +553 -0
- package/src/scripts/check_rule_projection_integrity.ts +3 -1
- package/src/scripts/check_suppression_hygiene.ts +19 -3
- package/src/scripts/conformance_scan.ts +282 -9
- package/src/scripts/cost/track.mjs +10 -4
- package/src/scripts/council_cli.ts +33 -3
- package/src/scripts/design_slop_rules.test.ts +37 -6
- package/src/scripts/design_slop_rules.ts +150 -22
- package/src/scripts/dispatch_r2_reviewer.ts +15 -1
- package/src/scripts/external_sources_denylist.json +3 -1
- package/src/scripts/hook_manifest.yaml +17 -6
- package/src/scripts/hooks/block_unauthorized_git.ts +54 -8
- package/src/scripts/hooks/delegation_nudge_hook.ts +33 -8
- package/src/scripts/hooks/evidence_independence.ts +61 -9
- package/src/scripts/hooks/session_eol_hook.ts +123 -3
- package/src/scripts/hooks/turn_end_gate_hook.ts +31 -0
- package/src/scripts/hooks/ui_route_nudge_hook.ts +55 -2
- package/src/scripts/lint_design_antipattern_parity.ts +201 -0
- package/src/scripts/lint_harvest_provenance.ts +483 -0
- package/src/scripts/lint_settings_classes.ts +273 -11
- package/src/scripts/lint_skill_router_head.ts +254 -0
- package/src/scripts/lint_symptom_intake.ts +241 -0
- package/src/scripts/report_consultation_rate.ts +128 -2
- package/src/scripts/report_skill_activation.ts +6 -4
- package/src/scripts/report_skill_obligation_violations.ts +2 -1
- package/src/scripts/run_skill_evals.ts +10 -5
- package/src/scripts/schemas/persona.schema.json +8 -0
- package/src/scripts/schemas/provenance-harvest.schema.json +39 -0
- package/src/scripts/sweep_dead_scan_roots.ts +51 -0
- package/src/server/io/yamlIO.ts +0 -2
- package/src/server/schemas/settings.ts +3 -19
- package/src/shared/settingsClasses.ts +93 -2
- package/dist/ui/assets/index-B5qGYOJo.js.map +0 -1
|
@@ -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": "10.
|
|
9
|
+
"version": "10.3.0",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"agent-config",
|
|
12
12
|
"skills",
|
package/CHANGELOG.md
CHANGED
|
@@ -332,204 +332,147 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
|
|
|
332
332
|
> keeps the active era under the 250-line drift cap enforced by
|
|
333
333
|
> `tests/test_changelog_eras.py`.
|
|
334
334
|
|
|
335
|
-
# Era:
|
|
335
|
+
# Era: pre-10.3.0 — archived
|
|
336
336
|
|
|
337
|
-
>
|
|
337
|
+
> All entries before `10.3.0` live in
|
|
338
|
+
> [`docs/archive/CHANGELOG-pre-10.3.0.md`](docs/archive/CHANGELOG-pre-10.3.0.md).
|
|
339
|
+
> The archive is read-only; git tags remain the canonical
|
|
340
|
+
> source for what shipped. Splitting them out of the main file
|
|
341
|
+
> keeps the active era under the 250-line drift cap enforced by
|
|
342
|
+
> `tests/test_changelog_eras.py`.
|
|
343
|
+
|
|
344
|
+
# Era: 10.3.x — current
|
|
345
|
+
|
|
346
|
+
> Started at `10.3.0`. Full entries live inline below.
|
|
338
347
|
> The drift test caps this era at 250 lines of entry body; growth past
|
|
339
|
-
> that forces a new era split (`# Era:
|
|
348
|
+
> that forces a new era split (`# Era: 10.4.x`, etc.) — see
|
|
340
349
|
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
341
350
|
|
|
342
|
-
## [10.
|
|
351
|
+
## [10.3.0](https://github.com/event4u-app/agent-config/compare/10.2.0...10.3.0) (2026-08-13)
|
|
343
352
|
|
|
344
353
|
### Release highlights
|
|
345
354
|
|
|
346
355
|
<!-- 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. -->
|
|
347
|
-
- **Behaviour changes:** _auto-derived, rewrite before merge:_ rule/schema diffs, breaking commits or removed public surface in
|
|
348
|
-
- **Default changes + migration:**
|
|
349
|
-
- **Security and correctness:** _none_
|
|
350
|
-
- **Honest nulls:** _auto-derived, rewrite before merge:_ commits carrying an honest-null marker in 0f3ce9b.
|
|
351
|
-
- **Known limitations:** _none_
|
|
352
|
-
|
|
353
|
-
### Features
|
|
354
|
-
|
|
355
|
-
* **untrusted-content:** tag external content where it enters, with an unforgeable boundary ([7a313ec](https://github.com/event4u-app/agent-config/commit/7a313ecfae4eadd06ff547a4a67d363a6758707b))
|
|
356
|
-
* **skill-schema:** structured runtime requirements, and the rule that gives them teeth ([63aeba1](https://github.com/event4u-app/agent-config/commit/63aeba1070af3d72bcaac0c7f999788d3b833354))
|
|
357
|
-
|
|
358
|
-
### Bug Fixes
|
|
359
|
-
|
|
360
|
-
* **roadmap,context:** satisfy the two gates this branch newly tripped ([e61d461](https://github.com/event4u-app/agent-config/commit/e61d46142a9dc41841c98360377cc89176ce1057))
|
|
361
|
-
* **roadmap-archival:** an open blocker outlives its steps, and the sweep did not look ([710dc26](https://github.com/event4u-app/agent-config/commit/710dc266a27a82aad9a527c525650e8d43accfdc))
|
|
362
|
-
* **review:** close all eight R2 findings, one of them by admitting a gap instead of papering it ([0992c92](https://github.com/event4u-app/agent-config/commit/0992c92219364bc646e78c29fa3072b5e46361ef))
|
|
363
|
-
* **diff:** drop a regenerated report my git add -A swept in ([3aec031](https://github.com/event4u-app/agent-config/commit/3aec031b160a8bc676053be370b2fddfbeab250c))
|
|
364
|
-
* **skill-schema:** rename requires to runtime_requires — the key was already taken ([20a8606](https://github.com/event4u-app/agent-config/commit/20a86065cc5d9c86e9fdf0710c51ddf850ca7ae4))
|
|
365
|
-
* **roadmap:** anonymize the harvest source per source-confidentiality ([195e444](https://github.com/event4u-app/agent-config/commit/195e444a7b1f9d7d05ac5cb768b0be17a1ac58ea))
|
|
366
|
-
|
|
367
|
-
### Documentation
|
|
368
|
-
|
|
369
|
-
* **changelog:** curate the 10.0.0 head, which shipped the same placeholder hours later ([0f3ce9b](https://github.com/event4u-app/agent-config/commit/0f3ce9b22c1858e12556a4b0fe95bec1931dde91))
|
|
370
|
-
* **roadmap:** the verified residue of five external release reviews ([a25579f](https://github.com/event4u-app/agent-config/commit/a25579fdf4d13cf6057ccdfeba5dc87990dd11e0))
|
|
371
|
-
* **analysis:** threat-model the confirmation store, and enumerate the buried decisions ([8b18f1c](https://github.com/event4u-app/agent-config/commit/8b18f1c4a850a9b08906aceccbe3562f381de7c3))
|
|
372
|
-
* **records:** three figures five reviews keep re-deriving, corrected at the source ([1612a70](https://github.com/event4u-app/agent-config/commit/1612a70e3e13daa0572fefb4803533708c1273f0))
|
|
373
|
-
* **changelog:** curate the 9.36.0 head that shipped its own placeholder ([83a3922](https://github.com/event4u-app/agent-config/commit/83a3922f63efbe5aca280e775acc85b36573c3f4))
|
|
374
|
-
* **review:** re-bind after the count correction ([9dd75ec](https://github.com/event4u-app/agent-config/commit/9dd75ecf178152641f8744a8f1b81f045befde7b))
|
|
375
|
-
* **roadmap:** correct the test count the review fixes moved ([ec52c42](https://github.com/event4u-app/agent-config/commit/ec52c421ba69dc85ee78095323f8495b93f3dd26))
|
|
376
|
-
* **review:** re-bind the R2 artefact to the fixed scope, dispositions terminal ([e601648](https://github.com/event4u-app/agent-config/commit/e6016487e883f611b2b7b989f23ed682796a6a73))
|
|
377
|
-
* **review:** record the R2 findings before fixing any of them ([1cf8d78](https://github.com/event4u-app/agent-config/commit/1cf8d787c015f51261bdd22b7388e47d127003f6))
|
|
378
|
-
* **roadmap:** add the Acceptance Criteria the completion review needs to bind to ([f35becd](https://github.com/event4u-app/agent-config/commit/f35becd885c09a5ac7f5a678adf29a360e776efa))
|
|
379
|
-
* **roadmap:** follow the schema key rename, and record why the obvious name was unavailable ([5720847](https://github.com/event4u-app/agent-config/commit/572084763fef97eb66fa91fd722d75a9c527440a))
|
|
380
|
-
* **roadmap:** the executable-payload harvest, with four source claims corrected ([2f4d8a8](https://github.com/event4u-app/agent-config/commit/2f4d8a8be5891d6045d4605a4a6d8fe3dc28a65e))
|
|
381
|
-
|
|
382
|
-
### Tests
|
|
383
|
-
|
|
384
|
-
* **council-cli:** the quota case asserted a property of the developer machine ([35037f9](https://github.com/event4u-app/agent-config/commit/35037f96d3e631d6ee1a235415e716e2a29f8f8c))
|
|
385
|
-
|
|
386
|
-
Tests: 13411 (+27 since 10.0.0)
|
|
387
|
-
|
|
388
|
-
## [10.0.0](https://github.com/event4u-app/agent-config/compare/9.36.0...10.0.0) (2026-08-12)
|
|
389
|
-
|
|
390
|
-
### Release highlights
|
|
391
|
-
|
|
392
|
-
- **Behaviour changes:** council transport is **resolved per machine rather than
|
|
393
|
-
configured** — the breaking change this major carries (4eda4ff); every member
|
|
394
|
-
now resolves as `auto`, so a configured CLI call budget applies wherever a
|
|
395
|
-
council config exists. The turn-end gate is armed unconditionally and loses its
|
|
396
|
-
settings surface (42cd613). Conformance round 7 records its downgrades rather
|
|
397
|
-
than restating them (030ca0d, c1bc2aa).
|
|
398
|
-
- **Default changes + migration:** _none_
|
|
356
|
+
- **Behaviour changes:** _auto-derived, rewrite before merge:_ rule/schema diffs, breaking commits or removed public surface in 40a8b5e, d3b0f8a, c375e49, 084c220, 17efefc, 01f92df +2 more.
|
|
357
|
+
- **Default changes + migration:** _auto-derived, rewrite before merge:_ commits naming a default, migration or migrate in c375e49.
|
|
399
358
|
- **Security and correctness:** _none_
|
|
400
|
-
- **Honest nulls:**
|
|
401
|
-
satisfy — a default-OFF gate cannot soak, so the switch removal discharges it
|
|
402
|
-
and the original wording stays verbatim beside the resolution, because the
|
|
403
|
-
unsatisfiable condition is itself the finding (7c6b404).
|
|
359
|
+
- **Honest nulls:** _none_
|
|
404
360
|
- **Known limitations:** _none_
|
|
405
361
|
|
|
406
|
-
### BREAKING CHANGES
|
|
407
|
-
|
|
408
|
-
* **council:** transport is resolved per machine, not configured ([4eda4ff](https://github.com/event4u-app/agent-config/commit/4eda4ff0f518cb30778dc139852576efd35bd57a))
|
|
409
|
-
|
|
410
362
|
### Features
|
|
411
363
|
|
|
412
|
-
* **
|
|
413
|
-
* **
|
|
414
|
-
* **
|
|
415
|
-
* **
|
|
364
|
+
* **design-slop:** promote six catalog thresholds to deterministic rules ([e87c3eb](https://github.com/event4u-app/agent-config/commit/e87c3eb55a772939b8d1e19725113db095a2c7ca))
|
|
365
|
+
* **gates:** verify the prompt to verdict binding that nothing checked ([658986a](https://github.com/event4u-app/agent-config/commit/658986a315d10c3f989251f3cfc91d53158cd128))
|
|
366
|
+
* **bench:** measure the design-slop false-positive rate against a clean corpus ([e5701fb](https://github.com/event4u-app/agent-config/commit/e5701fb10ce45f9026909137bf7be67c1eebc460))
|
|
367
|
+
* **design-fidelity:** the source is the data basis, and adopting the code is the default ([c375e49](https://github.com/event4u-app/agent-config/commit/c375e49133192f4ee570a9cebedfd42abc7625c7))
|
|
368
|
+
* **ui-route-nudge:** capture whether the artifact was read before the first UI write ([c5b22f2](https://github.com/event4u-app/agent-config/commit/c5b22f27f8b5acacc9dd8c69b325ffa1c3b0969e))
|
|
369
|
+
* **gates:** make the catalog-to-rule traceability claim checkable ([c280258](https://github.com/event4u-app/agent-config/commit/c28025896181c3f3c1d0f0f08fcfd21c4cf8872e))
|
|
370
|
+
* **skills:** enforce the published 400-line cap with a router-head gate ([3fadbfc](https://github.com/event4u-app/agent-config/commit/3fadbfc1272d08c4e4961273039d8d024ac84758))
|
|
371
|
+
* **judge-synthesis:** mark an uncited panelist assertion instead of dropping it ([473bf72](https://github.com/event4u-app/agent-config/commit/473bf72a95d5201dfceff884b54c90de6988042d))
|
|
372
|
+
* **personas:** add optional sources scoping to persona frontmatter ([084c220](https://github.com/event4u-app/agent-config/commit/084c220f0827a5e756e13c87e7991d7eeb16a43f))
|
|
373
|
+
* **analyze:** close the reference-repo exit with ledger rows and seed blocks ([3f2585d](https://github.com/event4u-app/agent-config/commit/3f2585d2408a4bd66c38bedbbea9ca81ce068e65))
|
|
374
|
+
* **rules:** extend code-provenance to the knowledge layer ([17efefc](https://github.com/event4u-app/agent-config/commit/17efefc0d00d3b43e639aa432b00aa697793849d))
|
|
375
|
+
* **provenance:** add a harvest ledger for externally-sourced knowledge claims ([01f92df](https://github.com/event4u-app/agent-config/commit/01f92df91060d77accea9151ca7640bb81d5de0f))
|
|
376
|
+
* **gates:** surface retired-container roots in non-gate scripts ([a5cb1ab](https://github.com/event4u-app/agent-config/commit/a5cb1ab3edef572cf98e72e3e08d98ab4c721f65))
|
|
377
|
+
* **active-remediation:** close the note-without-decision hole ([cbf1320](https://github.com/event4u-app/agent-config/commit/cbf132045f1428fbd9bfc78876cecadb211b6da7))
|
|
378
|
+
* **cli:** report surface-reduction candidates as a flag on commands ls ([f9d432b](https://github.com/event4u-app/agent-config/commit/f9d432b6dc82291fa4ccb390a46e232a993df8d1))
|
|
416
379
|
|
|
417
380
|
### Bug Fixes
|
|
418
381
|
|
|
419
|
-
* **
|
|
420
|
-
* **
|
|
421
|
-
* **
|
|
422
|
-
* **
|
|
423
|
-
* **
|
|
424
|
-
* **
|
|
425
|
-
* **
|
|
382
|
+
* **evals:** repoint the orchestrator tests, and repair the teardown they hid ([a4a03a6](https://github.com/event4u-app/agent-config/commit/a4a03a60912fd4454e37c6e5b995c7bbe39bef54))
|
|
383
|
+
* **gates:** the parity checker counted comment text as a CI invocation ([0d70e7a](https://github.com/event4u-app/agent-config/commit/0d70e7a67a52bf5c083b18c7930a01ea9b09599c))
|
|
384
|
+
* **roadmap-writing:** keep the gate-test inside the skill size budget ([becd652](https://github.com/event4u-app/agent-config/commit/becd6521c76e7cde50725cb6c0c954b1f8720684))
|
|
385
|
+
* **evals:** resolve the eval orchestrator against the live skills tree ([4551601](https://github.com/event4u-app/agent-config/commit/455160160fb680a5e2f480054fd51f4844dccc2c))
|
|
386
|
+
* **roadmaps:** send a contested technical decision to the council, not the user ([cc01b0c](https://github.com/event4u-app/agent-config/commit/cc01b0c12589d88b499b351f33d3a96d51de87d7))
|
|
387
|
+
* **council:** raise the CLI transport timeout to match the API path ([6780f59](https://github.com/event4u-app/agent-config/commit/6780f592b4116d7d323eafade6af03b19d564c32))
|
|
388
|
+
* **source-first:** close the third-round findings ([4f7744d](https://github.com/event4u-app/agent-config/commit/4f7744dc6107942ca990cebdc89ee3b93a7315bc))
|
|
389
|
+
* **source-first:** repair the second-round findings, including a false claim in my own evidence ([40a8b5e](https://github.com/event4u-app/agent-config/commit/40a8b5e94db4b6a2eadfeb18a66d71aae6151cec))
|
|
390
|
+
* **gates:** act on the R2 review - exit-code contract, steering acknowledgement, IO ([85d72ca](https://github.com/event4u-app/agent-config/commit/85d72ca1fe30607b12eca0f253962c904d0af641))
|
|
391
|
+
* **roadmap:** capitalise the Acceptance Criteria heading so the extractor finds it ([1425280](https://github.com/event4u-app/agent-config/commit/14252809d1b1fc92e849f520b70b0113490fc27f))
|
|
392
|
+
* **design-fidelity:** repair the ten completion-review findings ([d3b0f8a](https://github.com/event4u-app/agent-config/commit/d3b0f8a7d83656614b05529fb0f5829a044d4bfe))
|
|
393
|
+
* **skills:** drop a bare threshold from the seed-intake note ([2ef65a8](https://github.com/event4u-app/agent-config/commit/2ef65a8056e12dc7eb192f08489b7dc088b4e99f))
|
|
394
|
+
* **design-slop:** demote the colour-lock rule, which fired on four clean files ([76a437f](https://github.com/event4u-app/agent-config/commit/76a437f1cdb1c26b700c2839fa2443b4d125e47c))
|
|
395
|
+
* **gates:** name the retired container by reference, not by path ([1d1c9f2](https://github.com/event4u-app/agent-config/commit/1d1c9f210dba39ee2f19f8d32a0dbf8ca0bea4aa))
|
|
396
|
+
* **cli:** stop the report calling canonical commands deprecation shims ([f13e151](https://github.com/event4u-app/agent-config/commit/f13e15179e81d73101814c83d68fae2e7dd5d823))
|
|
397
|
+
* **active-remediation:** keep the rule under the eager-load token cliff ([5a65eea](https://github.com/event4u-app/agent-config/commit/5a65eea03470aa51477f018299fb7c733b0ffd53))
|
|
398
|
+
* **cli:** render every visibility bucket so the breakdown sums to the total ([fe52612](https://github.com/event4u-app/agent-config/commit/fe52612f3ec88a1f54a5a0f6553cabc1d7e05b2d))
|
|
399
|
+
|
|
400
|
+
### Reverts
|
|
401
|
+
|
|
402
|
+
* **review:** drop the hand-written findings artefact, it cannot carry a verified manifest ([f930ba2](https://github.com/event4u-app/agent-config/commit/f930ba2416fc819d27b6a8bf6a6fedd16c83c7f1))
|
|
426
403
|
|
|
427
404
|
### Documentation
|
|
428
405
|
|
|
429
|
-
* **review:** re-bind
|
|
430
|
-
* **review:**
|
|
431
|
-
* **
|
|
432
|
-
* **
|
|
433
|
-
* **
|
|
434
|
-
* **
|
|
435
|
-
* **
|
|
406
|
+
* **review:** re-bind after the parity wiring ([2fbf6bf](https://github.com/event4u-app/agent-config/commit/2fbf6bf3f6fc292870a24d99f4c3e883bf7309fb))
|
|
407
|
+
* **review:** withdraw the docs-only justification, the addition is code now ([9cf9c7c](https://github.com/event4u-app/agent-config/commit/9cf9c7c7e5f47161f78a6e880b8dc89735218833))
|
|
408
|
+
* **roadmap:** record the parity defect and answer Phase 4 step 1 ([6b6eed2](https://github.com/event4u-app/agent-config/commit/6b6eed24eaf29592ee588d54e50af48447d7e5a2))
|
|
409
|
+
* **review:** re-bind after the second main merge ([8f852d3](https://github.com/event4u-app/agent-config/commit/8f852d3c0e3ae3844e2826406700d0a03ce74121))
|
|
410
|
+
* **roadmaps:** close the eval-loop plan on the council-checked disposition ([afae05d](https://github.com/event4u-app/agent-config/commit/afae05d1b6639d04992d5e0f3b3515322aafb170))
|
|
411
|
+
* **gates:** re-measure the denominator after the main merge ([746f3fd](https://github.com/event4u-app/agent-config/commit/746f3fd383fe85b8510ddc0231c3e1525dcedf7c))
|
|
412
|
+
* **review:** re-bind after the main merge, and record it ([fb5426d](https://github.com/event4u-app/agent-config/commit/fb5426dd06e671f4f27658e86ffff070da581ca1))
|
|
413
|
+
* **review:** re-bind after the roadmap addition, and say what it did not cover ([7de39cd](https://github.com/event4u-app/agent-config/commit/7de39cd46644d983a8b00255cd8a7be81e66bbb2))
|
|
414
|
+
* **roadmap:** capture the four gates that are red on main and unseen ([578b336](https://github.com/event4u-app/agent-config/commit/578b33663d3aee9c30b5e4b486cef7195351ae79))
|
|
415
|
+
* **review:** re-bind after the main merge and the code-provenance resolution ([a2d1b78](https://github.com/event4u-app/agent-config/commit/a2d1b7803b8e2a1a6b385d375b840c8f0d87fe69))
|
|
416
|
+
* **proof:** regenerate the proof page for the new claims-ledger entry ([d8dc88f](https://github.com/event4u-app/agent-config/commit/d8dc88f795a6355c3dc96e02f1be86321b8e2b72))
|
|
417
|
+
* **review:** re-bind the findings to the repaired scope, all six terminal ([25b4478](https://github.com/event4u-app/agent-config/commit/25b4478ac299541e767a2143de9b4ef57148b61a))
|
|
418
|
+
* **review:** bind the third review round, 6 findings, no high or critical ([b30c87b](https://github.com/event4u-app/agent-config/commit/b30c87b0e3bd1be1395141c1dfc17e96ba8a2a6a))
|
|
419
|
+
* **review:** re-bind the R2 artefact after the fix pass ([3e094ce](https://github.com/event4u-app/agent-config/commit/3e094ce3cf3bfd709d44889896c73717c596807c))
|
|
420
|
+
* correct two false premises the R2 review caught ([491020a](https://github.com/event4u-app/agent-config/commit/491020a989021ef29db713823184e2bb4972275f))
|
|
421
|
+
* **roadmap:** re-review the Risk Register against what actually fired ([afcb8cb](https://github.com/event4u-app/agent-config/commit/afcb8cbde6a22095ce529e260928352888f15929))
|
|
422
|
+
* **review:** record the R2 completion review before the fixes ([beb439c](https://github.com/event4u-app/agent-config/commit/beb439c13d5fde35e5e8048103f539971632d8fd))
|
|
423
|
+
* **review:** record the completion review, 10 findings before any fix ([fbefeed](https://github.com/event4u-app/agent-config/commit/fbefeed6515bf57d72b7ad77dba10c816e359f3c))
|
|
424
|
+
* **roadmaps:** archive the design-detector evidence plan, fully executed ([c9a9b89](https://github.com/event4u-app/agent-config/commit/c9a9b89508157d1d71027bb945dc20d91a557830))
|
|
425
|
+
* **claims:** publish the phase-3 delta in the same corpus epoch ([ed2b16a](https://github.com/event4u-app/agent-config/commit/ed2b16a59d2174a7e963c6879a1324a3c588cbd5))
|
|
426
|
+
* **roadmap:** close structured-guard-input Phase 2 and archive it ([6ea0809](https://github.com/event4u-app/agent-config/commit/6ea08095c11b1e2ee0309ecd3aa5e350b751a831))
|
|
427
|
+
* **r2:** the dispatcher docstring claimed a comparison that never ran ([f9cb36d](https://github.com/event4u-app/agent-config/commit/f9cb36d2de540464486045880336fea004bb38d1))
|
|
428
|
+
* **roadmap:** close 11 of 18 steps, and name what blocks the other seven ([db91d7c](https://github.com/event4u-app/agent-config/commit/db91d7c369f595b338b441a92ac9dd7459eb0690))
|
|
429
|
+
* **roadmaps:** close phase 2 of the design-detector evidence plan ([5a228f7](https://github.com/event4u-app/agent-config/commit/5a228f76e100c71f865d27f5a96fa185a041d3c0))
|
|
430
|
+
* **claims:** publish the design-slop false-positive baseline ([72e3d88](https://github.com/event4u-app/agent-config/commit/72e3d8892d0079157179068d55b5ca0ac7aff2e6))
|
|
431
|
+
* **context:** harvest verdicts on the design-corpus upstream ([681e378](https://github.com/event4u-app/agent-config/commit/681e378474273b149ac2317d4493b12bac521278))
|
|
432
|
+
* **evidence:** the ad-hoc port measurement, and why it is inconclusive ([6955709](https://github.com/event4u-app/agent-config/commit/6955709fd7ae1c91ef6e2c1dba71220056055531))
|
|
433
|
+
* **bench:** pre-register the design-slop false-positive measurement ([65fa996](https://github.com/event4u-app/agent-config/commit/65fa996c19c4693bd0d9e3492b089482f01762c8))
|
|
434
|
+
* **roadmap:** correct the risk register anchor and stale gate names ([f87c5c3](https://github.com/event4u-app/agent-config/commit/f87c5c38b6395991e0322d11a0b7034cbb1b077f))
|
|
435
|
+
* **roadmaps:** close phase 1 of the design-detector evidence plan ([8d6f981](https://github.com/event4u-app/agent-config/commit/8d6f981fefa8cb59f3cf06072a92085458dbc8fe))
|
|
436
|
+
* **roadmap:** record the distillation inbox harvest and what it cancelled ([5dcd809](https://github.com/event4u-app/agent-config/commit/5dcd809616ef944fa597d84ab0483776666c1263))
|
|
437
|
+
* **roadmaps:** adopt the design-detector evidence plan, cut twenty of the sources twenty-five items ([6ceaa08](https://github.com/event4u-app/agent-config/commit/6ceaa080eb4beac7924affbcb19a4d1b4e85aa6a))
|
|
438
|
+
* **roadmaps:** triage the behavioral-proof harvest to its one live finding ([2e78aad](https://github.com/event4u-app/agent-config/commit/2e78aadaeffec0cdee75d0a376e3210881601fbb))
|
|
439
|
+
* **review:** re-bind after ADR-226 and the release merge ([1eff521](https://github.com/event4u-app/agent-config/commit/1eff52101d2a1015cb91f976a9efab8e03789914))
|
|
440
|
+
* **adr:** record that this repository keeps both rule layers ([2423a54](https://github.com/event4u-app/agent-config/commit/2423a543e177a85debcdd63a028d2ccaa0eaae13))
|
|
441
|
+
* **review:** re-bind after the main merge and the register fix ([408b561](https://github.com/event4u-app/agent-config/commit/408b5616278cfbc96336212ca5a5531f9efe45ba))
|
|
442
|
+
* **roadmaps:** park the corpus-knowledge plan until the first two corpora are named ([4c17c61](https://github.com/event4u-app/agent-config/commit/4c17c614c870f13158cae5bab0fdc49decc22fa3))
|
|
443
|
+
* **roadmap:** give the scoping roadmap its Risk Register ([35028ca](https://github.com/event4u-app/agent-config/commit/35028ca4aa09927e2b32e87d0b0eeac7671d9d7f))
|
|
444
|
+
* **review:** record the completion review that caught the shim inversion ([880f5e2](https://github.com/event4u-app/agent-config/commit/880f5e29dbb42ec8812a4f3e9978dff92d25958d))
|
|
445
|
+
* **review:** re-bind after the authorised re-anchor and its roadmap ([f6516fc](https://github.com/event4u-app/agent-config/commit/f6516fcccc62a5d62bb0f23cfea5065625b4bcbc))
|
|
446
|
+
* **roadmap:** track scoping the always-loaded rule corpus ([027bd7f](https://github.com/event4u-app/agent-config/commit/027bd7fb94b25ace176c17ea1912aa4d6dc2bbb0))
|
|
447
|
+
* **review:** re-bind to the derived-page scope, record the infra red ([65572bc](https://github.com/event4u-app/agent-config/commit/65572bcf4b08b1650a67fcb3834a3d4aa98d5edf))
|
|
448
|
+
* **proof:** regenerate after the enforced_by declaration ([6b08b8e](https://github.com/event4u-app/agent-config/commit/6b08b8e5cf0617a00b88feb61e96bad4a3847794))
|
|
449
|
+
* **review:** re-bind the skip declaration to the token-budget scope ([d895ad7](https://github.com/event4u-app/agent-config/commit/d895ad7056837e006b99bdc7c7ef398ab79db9a4))
|
|
450
|
+
* **review:** declare the remediation-ladder completion a no-code-surface skip ([b24bd16](https://github.com/event4u-app/agent-config/commit/b24bd1626809da2a14b2be5bffa2ad8538446657))
|
|
451
|
+
* **roadmap:** close 3.4 of -release-integrity with its three recorded decisions ([a8c8e49](https://github.com/event4u-app/agent-config/commit/a8c8e49794b9e7e7d0b8f4c13bcc17fdb4bd2e83))
|
|
436
452
|
|
|
437
453
|
### Refactoring
|
|
438
454
|
|
|
439
|
-
* **
|
|
440
|
-
* **settings:** delete hooks.turn_end_gate.* and give REMOVED_KEYS per-key reasons ([f5b316b](https://github.com/event4u-app/agent-config/commit/f5b316b4bc531e2cf7ce0d65556c4a2737cbe0dc))
|
|
455
|
+
* **design-slop:** rename the two rules that broke the id-to-catalog convention ([6fe9111](https://github.com/event4u-app/agent-config/commit/6fe911105e52d3be31793e40cbc8d0da8ad803ab))
|
|
441
456
|
|
|
442
457
|
### Tests
|
|
443
458
|
|
|
444
|
-
* **
|
|
445
|
-
|
|
446
|
-
### Chores
|
|
447
|
-
|
|
448
|
-
* **condense:** re-project session-canary after the reproduction-command fix ([2d344c4](https://github.com/event4u-app/agent-config/commit/2d344c4d2183a608986f9dce485f1e5006e48863))
|
|
449
|
-
|
|
450
|
-
Tests: 13384 (+51 since 9.36.0)
|
|
451
|
-
|
|
452
|
-
## [9.36.0](https://github.com/event4u-app/agent-config/compare/9.35.0...9.36.0) (2026-08-12)
|
|
453
|
-
|
|
454
|
-
### Release highlights
|
|
455
|
-
|
|
456
|
-
- **Behaviour changes:** the demand gate reads `project.audience` and is inert at
|
|
457
|
-
`self` — a market-demand ladder no longer fires on a project that intends no
|
|
458
|
-
market (9f69017). The two UI rules stop claiming the `ui-route-nudge` concern
|
|
459
|
-
reads their `keyword:` triggers; it does not, and six surfaces said it did
|
|
460
|
-
(3c20d47). The design skills now reach the consumers they were written for
|
|
461
|
-
(72bb1bc). The CI-side change in 924cad8 is internal to the pipeline and
|
|
462
|
-
changes no consumer-visible behaviour.
|
|
463
|
-
- **Default changes + migration:** _none_
|
|
464
|
-
- **Security and correctness:** _none_
|
|
465
|
-
- **Honest nulls:** _none_
|
|
466
|
-
- **Known limitations:** _none_
|
|
467
|
-
|
|
468
|
-
### Features
|
|
469
|
-
|
|
470
|
-
* **consultation-rate:** compute the half of the metric that is computable ([36064ef](https://github.com/event4u-app/agent-config/commit/36064efa1a85c9ea1c6c2beb427fe684177ca2a8))
|
|
471
|
-
* **analyze:** anchor-first direction, claim gate, interop probe and bounded --deep ([5bee62a](https://github.com/event4u-app/agent-config/commit/5bee62a5828ba6d3cf38a7d5d685004716d8addf))
|
|
472
|
-
* **lint-roadmap:** warn when a gate rests on a population the project cannot produce ([e5c0b56](https://github.com/event4u-app/agent-config/commit/e5c0b569417d80ee937fd7ec955680c724abe3e1))
|
|
473
|
-
* **demand-gate:** the L0-L4 ladder measures market demand, and now says so ([9f69017](https://github.com/event4u-app/agent-config/commit/9f69017632aead1f2a0e20eb8518ae4d8508ea1a))
|
|
474
|
-
* **fe-design:** outside the ticket engine, this skill is the executor ([2946655](https://github.com/event4u-app/agent-config/commit/294665543cfb1a3c896e25024fd08551af629bb2))
|
|
475
|
-
* **ui-route-nudge:** the first runtime consumer the UI rule triggers ever had ([6bf216e](https://github.com/event4u-app/agent-config/commit/6bf216e649febf3d95162e7f9b222f43ae2bd407))
|
|
476
|
-
* **pack-reach:** report where a rule and the skills it routes to cannot meet ([4bc28e6](https://github.com/event4u-app/agent-config/commit/4bc28e660f9eaef87b1e8f5ed4bbbd1914a7d3e4))
|
|
477
|
-
* **catalogue:** measure the skill-catalogue delivery defect, and publish the null ([b2adebe](https://github.com/event4u-app/agent-config/commit/b2adebe17320109a98a41eb4b0fc69233b567e47))
|
|
478
|
-
* **ui-surface:** one definition of a UI surface, and it covers Blade ([e9ba053](https://github.com/event4u-app/agent-config/commit/e9ba0533110da9aa9bbd276ab3ced2004c2d5d50))
|
|
459
|
+
* **gates:** assert the prompt-binding invariant, not a frozen count ([ee5a61c](https://github.com/event4u-app/agent-config/commit/ee5a61c841fc4a8564899eea24a1674a50b814aa))
|
|
479
460
|
|
|
480
|
-
###
|
|
481
|
-
|
|
482
|
-
* **proof:** regenerate docs/proof.md after the new pre-registered claim ([6a8bc44](https://github.com/event4u-app/agent-config/commit/6a8bc446abcc06cee3cc55ffd75f7668037542ea))
|
|
483
|
-
* **baseline:** repair the measurement table split by the unit note ([afa1ea0](https://github.com/event4u-app/agent-config/commit/afa1ea0f1369293a8e392e132343dc05c126ccda))
|
|
484
|
-
* **consultation-rate:** close the R2 findings, unit first ([c53b3da](https://github.com/event4u-app/agent-config/commit/c53b3da53111a089d07c59186d1aa1124adc2d31))
|
|
485
|
-
* **agents-md:** keep the corrected pointer inside the Thin-Root char cap ([858963f](https://github.com/event4u-app/agent-config/commit/858963f956d516d5200d9e27c9014aee41938973))
|
|
486
|
-
* **agents-md:** the consumer template contradicted itself on always-active rules ([639ce5e](https://github.com/event4u-app/agent-config/commit/639ce5e26d8e4d3ca70d8e4f1f6953548f72322f))
|
|
487
|
-
* **dist:** rebuild the install bundle without build-machine paths ([55f4e64](https://github.com/event4u-app/agent-config/commit/55f4e6449ad0eb9d8c79bdeffea6c174ddda66f2))
|
|
488
|
-
* **cli-delegate:** close the six R2 findings, two of them on this fix ([6c26dd4](https://github.com/event4u-app/agent-config/commit/6c26dd45187b374a473df5bba241b0bd502accd2))
|
|
489
|
-
* **cli-delegate:** four shipped commands were silent no-ops in their own bundle ([1ea3f67](https://github.com/event4u-app/agent-config/commit/1ea3f67012929f7c00604bc9cda6a85b1d783e32))
|
|
490
|
-
* **ci:** three downstream surfaces the new triggers, key and gate opened ([924cad8](https://github.com/event4u-app/agent-config/commit/924cad87f91eb57acf4e8619015f3089e07a956c))
|
|
491
|
-
* **capture,lint,docs:** close the remaining R2 findings ([396d58f](https://github.com/event4u-app/agent-config/commit/396d58fbff2704cddce10577e2cbd82db9c5003c))
|
|
492
|
-
* **ui-surface,nudge,settings:** three predicates that were wider than their claims ([36e1632](https://github.com/event4u-app/agent-config/commit/36e1632287a85c0934bec8a43752b8761dfa19d6))
|
|
493
|
-
* **ui-rules:** the nudge does not read the rules, and six surfaces said it did ([3c20d47](https://github.com/event4u-app/agent-config/commit/3c20d47dee794e1c9ddbf6a895527953788c31ff))
|
|
494
|
-
* **ui-rules:** reach the consumers the design skills were written for ([72bb1bc](https://github.com/event4u-app/agent-config/commit/72bb1bc3943c8fb721db9d44b5daa5334bcb956f))
|
|
495
|
-
|
|
496
|
-
### Documentation
|
|
497
|
-
|
|
498
|
-
* **review:** re-bind the R2 artefact to the fixed scope ([0cc9057](https://github.com/event4u-app/agent-config/commit/0cc9057d97b78cf82fd957afd96ec9205bfc7fc0))
|
|
499
|
-
* **review:** record the R2 findings before fixing any of them ([b42227a](https://github.com/event4u-app/agent-config/commit/b42227a6e32b041c6b9b82f373bb23c2d15cc03a))
|
|
500
|
-
* **baseline,roadmap:** the first measurement, and what its denominator says ([347cb47](https://github.com/event4u-app/agent-config/commit/347cb4702b55f22723ecf4d7fb00fe202fb4d72c))
|
|
501
|
-
* **roadmaps:** archive the completed cross-repo differential loop roadmap ([f90b42b](https://github.com/event4u-app/agent-config/commit/f90b42b918813c0f354037abd5965bd45afb7a5d))
|
|
502
|
-
* **claims:** pre-register the reference-loop upgrade value claim ([67c1ba4](https://github.com/event4u-app/agent-config/commit/67c1ba400531ca0eead1c282a6dd802c55080eb5))
|
|
503
|
-
* **roadmap:** archive the cross-corpus verification roadmap, complete ([483acc6](https://github.com/event4u-app/agent-config/commit/483acc654e8d8a2a3b9cecbc96be6e79e8da12a0))
|
|
504
|
-
* **adr:** record what the cross-corpus proposal measurements survived ([87e81d8](https://github.com/event4u-app/agent-config/commit/87e81d8faadc35f070163d3ec3288b78cad19d1d))
|
|
505
|
-
* **roadmap:** the demand-gate audience roadmap and its follow-up ([079f22c](https://github.com/event4u-app/agent-config/commit/079f22cbd16df95ceebcccdb9a4ae3bcc73390ef))
|
|
506
|
-
* **review:** re-bind after the CI fixes, and name what is unreviewed ([f9e66de](https://github.com/event4u-app/agent-config/commit/f9e66de977d9a33766edcfd84936ef12ba09358d))
|
|
507
|
-
* **review:** state precisely what moved between the two re-binds ([8b2bdd4](https://github.com/event4u-app/agent-config/commit/8b2bdd4267307cbbaec410d6305b9d91f98cc7c1))
|
|
508
|
-
* **review:** re-bind the R2 artefact after the generated-file regen ([03e1029](https://github.com/event4u-app/agent-config/commit/03e102989d92f2cc913dc839b05986cf7d4db1f3))
|
|
509
|
-
* **roadmap:** the frontend-skill-application plan and its first run ([c1bd64f](https://github.com/event4u-app/agent-config/commit/c1bd64fe559a60a6b6f6248ffc3ff0127df5fe46))
|
|
510
|
-
* **dispatch:** a UI-shaped slice carries its design context across the boundary ([aae1e52](https://github.com/event4u-app/agent-config/commit/aae1e5242d3f5ed4a99c9a33d4551ca9183b8f77))
|
|
511
|
-
|
|
512
|
-
### Refactoring
|
|
513
|
-
|
|
514
|
-
* **skills:** one spelling for the disclosure directory, and an authoring section that names it ([3cd3103](https://github.com/event4u-app/agent-config/commit/3cd3103962d8d632c9fe18691016b6044ffc084b))
|
|
515
|
-
|
|
516
|
-
### Tests
|
|
461
|
+
### CI
|
|
517
462
|
|
|
518
|
-
*
|
|
519
|
-
*
|
|
463
|
+
* wire the design-antipattern parity gate into a workflow ([b93df01](https://github.com/event4u-app/agent-config/commit/b93df013381e38ae0ca594c810905866b204ed71))
|
|
464
|
+
* wire the harvest-ledger and router-head gates into task ci ([729811f](https://github.com/event4u-app/agent-config/commit/729811f6ef724cb51c108cd8e4cf4dfb582b2977))
|
|
520
465
|
|
|
521
466
|
### Chores
|
|
522
467
|
|
|
523
|
-
* **
|
|
524
|
-
* **
|
|
525
|
-
* **
|
|
526
|
-
* **
|
|
527
|
-
* **
|
|
528
|
-
* **
|
|
529
|
-
* **index:** regenerate the artefact index and public catalog ([cfc75b6](https://github.com/event4u-app/agent-config/commit/cfc75b6b26bbf6bd09c0536ca0f553a52fbd09a9))
|
|
530
|
-
* **dist:** regenerate the router after merging main ([4bab07c](https://github.com/event4u-app/agent-config/commit/4bab07c67ec7d5778f957789bc6d427ec6274641))
|
|
468
|
+
* **roadmaps:** regenerate the dashboard after the main merge ([d189ea6](https://github.com/event4u-app/agent-config/commit/d189ea67076d6a0aaea4bb99bb16ef270661d499))
|
|
469
|
+
* **roadmap:** regenerate the dashboard after the main merge ([fde4d00](https://github.com/event4u-app/agent-config/commit/fde4d00cd943f7296c10b98bde0ce67a05bbaa8a))
|
|
470
|
+
* **index:** regenerate index and catalog after the harvest changes ([e5dc63f](https://github.com/event4u-app/agent-config/commit/e5dc63fc99e58566ab74da72655265a1e1cd2022))
|
|
471
|
+
* **roadmap:** regenerate the dashboard after the second main merge ([bc6ba86](https://github.com/event4u-app/agent-config/commit/bc6ba8693b106335cbb5e1c2ded74163d9ab2c5b))
|
|
472
|
+
* **roadmap:** regenerate the dashboard after merging main ([1e1ada7](https://github.com/event4u-app/agent-config/commit/1e1ada7eb4809507e67167b0070ad59777da449c))
|
|
473
|
+
* **tokens:** re-anchor the eager-rule-load baseline, itemised ([4a9110f](https://github.com/event4u-app/agent-config/commit/4a9110f5a7771dfab5dca7b10aa0891d42792143))
|
|
531
474
|
|
|
532
|
-
Tests:
|
|
475
|
+
Tests: 13679 (+173 since 10.2.0)
|
|
533
476
|
|
|
534
477
|
# Era: pre-4.0.0 — archived
|
|
535
478
|
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://github.com/event4u-app/agent-config/actions/workflows/smoke.yml) [](https://github.com/event4u-app/agent-config/actions/workflows/smoke-public-install.yml) [](https://www.npmjs.com/package/@event4u/agent-config) [](https://glama.ai/mcp/servers/event4u-app/agent-config) [](https://mcptoplist.com/server/glama%2Fevent4u-app%2Fagent-config)
|
|
6
6
|
|
|
7
|
-
[](dist/agent-src/skills/) [](dist/agent-src/rules/) [](dist/agent-src/commands/) [](dist/agent-src/skills/) [](dist/agent-src/rules/) [](dist/agent-src/commands/) [](docs/guidelines/) [](dist/agent-src/personas/) [](dist/agent-src/personas/advisors/)
|
|
8
8
|
|
|
9
9
|
**Try it in 30 seconds** — drop one read-only subagent into any repo and watch it gate "done": `@production-validator check this branch is actually done`. No wizard, no lock-in, nothing else installed — the [30-second wedge ↓](#quickstart) is the whole first step. Start at the proof, not the catalog: **[event4u-app.github.io/agent-config/proof/](https://event4u-app.github.io/agent-config/proof/)**.
|
|
10
10
|
|
|
@@ -254,9 +254,35 @@ incomplete document. Never a drawer to fill.}
|
|
|
254
254
|
|
|
255
255
|
{Only if --no-roadmap was not set.}
|
|
256
256
|
|
|
257
|
+
## Seeds
|
|
258
|
+
|
|
259
|
+
{One block per ADOPT/ADAPT row whose adoption lands in a NEW skill or rule —
|
|
260
|
+
omit the section entirely when every row extends something that exists.}
|
|
261
|
+
|
|
262
|
+
### SEED — {proposed-name}
|
|
263
|
+
|
|
264
|
+
> Proposal. Nothing is created from this block without an explicit ask.
|
|
265
|
+
|
|
266
|
+
- **Kind:** skill | rule
|
|
267
|
+
- **Target template:** `src/agent-src/templates/skill.md` | `.../rule.md`
|
|
268
|
+
- **One-line description:** {what it does, in the voice the template wants}
|
|
269
|
+
- **Cites:** {harvest ids this artefact will carry, once § 8 records them}
|
|
270
|
+
- **Extends instead?** {the nearest existing artefact considered, and why it
|
|
271
|
+
does not fit — a seed that skipped this line is not ready to hand over}
|
|
272
|
+
|
|
257
273
|
## Open questions for the maintainer
|
|
258
274
|
```
|
|
259
275
|
|
|
276
|
+
The `## Seeds` section is the handoff shape
|
|
277
|
+
[`learning-to-rule-or-skill`](../../../../skills/learning-to-rule-or-skill/SKILL.md)
|
|
278
|
+
accepts as intake. It is a **proposal artifact, never an auto-created file** —
|
|
279
|
+
the block says so in its own first line, so the property survives being read out
|
|
280
|
+
of context. The `Extends instead?` field is load-bearing rather than decorative:
|
|
281
|
+
it makes the four-surface overlap scan that
|
|
282
|
+
[`artifact-drafting-protocol`](../../../../rules/artifact-drafting-protocol.md)
|
|
283
|
+
requires visible at handoff time, when the analysis is still open, instead of
|
|
284
|
+
re-derived later by whoever picks the seed up.
|
|
285
|
+
|
|
260
286
|
### 7. Offer next steps
|
|
261
287
|
|
|
262
288
|
After writing the file, present:
|
|
@@ -270,6 +296,42 @@ After writing the file, present:
|
|
|
270
296
|
|
|
271
297
|
Never create the roadmap without explicit confirmation.
|
|
272
298
|
|
|
299
|
+
### 8. Close the loop — offer the ledger rows
|
|
300
|
+
|
|
301
|
+
**Only after a roadmap draft is accepted** (option 1 or 2 above). This step
|
|
302
|
+
exists because the command otherwise ends with the knowledge it harvested
|
|
303
|
+
recorded nowhere citable: the analysis document is archived evidence, and the
|
|
304
|
+
next comparative pass re-litigates the same provenance from scratch.
|
|
305
|
+
|
|
306
|
+
Offer — never write unasked, same confirmation floor as every other write here:
|
|
307
|
+
|
|
308
|
+
> Record {N} harvest row(s) in `provenance/harvests.jsonl`?
|
|
309
|
+
> {one preview line per row}
|
|
310
|
+
|
|
311
|
+
One row per **anchored ADOPT or ADAPT** finding, and nothing else:
|
|
312
|
+
|
|
313
|
+
| Field | Filled from |
|
|
314
|
+
|---|---|
|
|
315
|
+
| `harvest_id` | a kebab-case slug for the mechanism |
|
|
316
|
+
| `stated_in` | the roadmap file the user just accepted |
|
|
317
|
+
| `source_ref` | the reference's `<url>@<sha>` — the § 2 pin, already recorded in the document header |
|
|
318
|
+
| `evidence_locator` | the reference-side `file:line` from that row of the comparison matrix |
|
|
319
|
+
| `harvested_at` | today |
|
|
320
|
+
| `verdict` | `adopt` or `adapt` |
|
|
321
|
+
|
|
322
|
+
**REJECT, ALREADY, and UNCLEAR rows produce nothing.** Not an oversight: the
|
|
323
|
+
ledger's integrity gate asserts that every row's `stated_in` artefact exists,
|
|
324
|
+
and a rejected finding has no artefact — it is recorded in this analysis
|
|
325
|
+
document, which is where a later harvest goes to learn the question was already
|
|
326
|
+
settled. Writing rejections into the ledger would either break the gate or
|
|
327
|
+
force it to stop checking the thing it exists to check.
|
|
328
|
+
|
|
329
|
+
**Confidential sources.** When [`source-confidentiality`](../../../../rules/source-confidentiality.md)
|
|
330
|
+
keeps the reference's name out of the tracked tree, `source_ref` takes the
|
|
331
|
+
opaque form (`opaque:<id>` / an `ENC1:` token) instead of the URL. The row still
|
|
332
|
+
pins something; it just does not name it. Contract and field shapes:
|
|
333
|
+
`provenance/README.md`.
|
|
334
|
+
|
|
273
335
|
## Safety
|
|
274
336
|
|
|
275
337
|
- Read-only on the reference. Never execute it, never submit PRs to it. Never
|
|
@@ -268,7 +268,10 @@ Write the pick to frontmatter as `execution.mode:`
|
|
|
268
268
|
rewrite each hit as an agent-verifiable check (a command, a targeted
|
|
269
269
|
test) **before saving**, or promote it to a structured `## Blockers`
|
|
270
270
|
entry: a **human gate** only when only a human can decide/authorize
|
|
271
|
-
(Hard-Floor authorization, billable spend,
|
|
271
|
+
(Hard-Floor authorization, billable spend, or a decision bound to
|
|
272
|
+
preference, risk appetite, or product intent). A contested **technical**
|
|
273
|
+
decision is not a human gate while a council is configured — it is a
|
|
274
|
+
step whose first action runs the council (template rule 22); an
|
|
272
275
|
**external dependency** becomes a blocker whose `Resolved when:`
|
|
273
276
|
names an agent-checkable status probe — never a human gate. Do not
|
|
274
277
|
author safety floors as steps — they fire at run time on their own.
|
|
@@ -224,6 +224,11 @@ Chunked commits (the agent picks the split — never ask how, per
|
|
|
224
224
|
[`/create-pr`](../../git/pr/create.md): archival sweep, preflight,
|
|
225
225
|
push, PR opened **ready for review** (not draft).
|
|
226
226
|
|
|
227
|
+
This step is where the run **ends**, not a step it may stop before — see the
|
|
228
|
+
second Iron Law below. The invocation already authorised the push and the PR;
|
|
229
|
+
asking for them again is the re-ask
|
|
230
|
+
[`no-cheap-questions`](../../rules/no-cheap-questions.md) § IL 5 forbids.
|
|
231
|
+
|
|
227
232
|
### 7. CI — fix locally, honour the push gate
|
|
228
233
|
|
|
229
234
|
Follow [`/create-pr` § 4d](../../git/pr/create.md): wait for the
|
|
@@ -258,6 +263,39 @@ A ROADMAP CLAIMED "IN FLIGHT", "MERGED", OR "DONE" WITHOUT A LIVE CHECK
|
|
|
258
263
|
AT THE MOMENT OF THE CLAIM IS AN UNVERIFIED CLAIM.
|
|
259
264
|
```
|
|
260
265
|
|
|
266
|
+
## Iron Law — the run ends at a PR, never at an offer to open one
|
|
267
|
+
|
|
268
|
+
```
|
|
269
|
+
STEP 6 IS AN END CONDITION, NOT A STEP THE RUN MAY STOP BEFORE REACHING.
|
|
270
|
+
A RUN THAT PRODUCED COMMITS ENDS WITH A PR OPENED FOR REVIEW.
|
|
271
|
+
THE INVOCATION IS THE ACCEPT — IT COVERS THE BRANCH, THE CHUNKED COMMITS,
|
|
272
|
+
THE FIRST PUSH TO THAT BRANCH, AND THE PR. NEVER RE-ASK FOR THEM.
|
|
273
|
+
"SAY THE WORD AND I'LL OPEN IT" IS A PROMISSORY CLOSE, WHICH
|
|
274
|
+
verify-before-complete ALREADY FORBIDS. SO IS ENDING ON COMMITTED-BUT-UNPUSHED
|
|
275
|
+
WORK WITHOUT NAMING IT.
|
|
276
|
+
STOPPING EARLIER IS LEGAL ONLY AS ONE OF process-full's FIVE NAMED HALTS,
|
|
277
|
+
A HARD-FLOOR TRIGGER, OR AN N=3 EXHAUSTION — AND THE HALT IS NAMED IN THE
|
|
278
|
+
REPORT TOGETHER WITH WHAT IS STILL UNPUSHED.
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**What this does NOT lift.** § 7's re-push restriction stands unchanged: the
|
|
282
|
+
invocation covers the *first* push that opens the PR, never the pushes that
|
|
283
|
+
follow a CI fix. Those are Hard-Floor triggers needing the user's word that turn
|
|
284
|
+
([`non-destructive-by-default`](../../rules/non-destructive-by-default.md)), and
|
|
285
|
+
no reading of this law manufactures a per-PR standing mandate.
|
|
286
|
+
|
|
287
|
+
**Why it needed saying, measured on this command's own run.** A session screened
|
|
288
|
+
30 roadmaps, recovered from a live claim collision, picked, branched and did the
|
|
289
|
+
work — then closed with a status report and no PR, because § 6 read as a step in
|
|
290
|
+
a list rather than as the condition the run terminates on. The user had to ask
|
|
291
|
+
for the PR the invocation had already authorised. A step that can be narrated
|
|
292
|
+
instead of executed is not an obligation; an end condition is.
|
|
293
|
+
|
|
294
|
+
**Honest scope.** `enforced_by: none` — nothing inspects a chat turn for a
|
|
295
|
+
missing PR, so this is model-carried like the live screen above it. The
|
|
296
|
+
deterministic half is elsewhere and unchanged: `/create-pr` runs the archival
|
|
297
|
+
sweep and preflight, and CI gates the branch once the PR exists.
|
|
298
|
+
|
|
261
299
|
## Rules
|
|
262
300
|
|
|
263
301
|
- **One roadmap per invocation.** Never chain a second pick after the
|
|
@@ -83,10 +83,31 @@ When `personal.minimal_output: true`:
|
|
|
83
83
|
### Minimize tool calls
|
|
84
84
|
|
|
85
85
|
- Parallel reads — don't read 5 files sequentially.
|
|
86
|
-
- Regex search over full file reads. View specific line ranges.
|
|
87
86
|
- One codebase search call with all symbols — not 5 separate.
|
|
88
87
|
- Short question → short answer. Summary tables only for 3+ items.
|
|
89
88
|
|
|
89
|
+
### Size-gated read procedure (the 800-line threshold)
|
|
90
|
+
|
|
91
|
+
The rule states the obligation; this is how to discharge it. Three steps, in
|
|
92
|
+
order, and each one narrows the next:
|
|
93
|
+
|
|
94
|
+
1. **Size** — `wc -l <file>`. Under the threshold, stop here and read it.
|
|
95
|
+
2. **Shape** — a structural grep for the anchors you need, emitting offsets:
|
|
96
|
+
`grep -nE '^(class|function|def|export|## )' <file>` for a map, or
|
|
97
|
+
`grep -n '<the symbol>' <file>` when you know what you are after.
|
|
98
|
+
3. **Slice** — a ranged read around those offsets only (the host's
|
|
99
|
+
`offset`/`limit` read, or `sed -n 'A,Bp'`), widened once if the slice
|
|
100
|
+
straddles a boundary.
|
|
101
|
+
|
|
102
|
+
Two failure modes this replaces. **Blind full read:** loading a 3,000-line file
|
|
103
|
+
to answer a question one function answers — the cost is paid on every later turn
|
|
104
|
+
that carries it. **Blind slice:** reading lines 1–200 of an unknown file and
|
|
105
|
+
guessing the rest, which is the probe skipped rather than performed.
|
|
106
|
+
|
|
107
|
+
The step-2 grep is not a second probe of the same file for the same fact — it
|
|
108
|
+
returns information step 1 did not have, so it is one operation with step 3, per
|
|
109
|
+
the enumerated-set carve-out.
|
|
110
|
+
|
|
90
111
|
### Exceptions
|
|
91
112
|
|
|
92
113
|
- Small output (< 30 lines) — read directly.
|
|
@@ -38,7 +38,7 @@ Live Phase 1 schema (see [`templates/agent-settings.md`](../../templates/agent-s
|
|
|
38
38
|
| `verbosity.offer_council_in_delivery` | When `false`, delivery commands skip the optional "run Council on this?" offer. |
|
|
39
39
|
| `verbosity.post_action_reports` | `off` / `minimal` / `full` — multi-line status blocks after a successful action. |
|
|
40
40
|
| `verbosity.intent_announcements` | When `false`, writers must not generate "Let me…", "Now I will…", "Found it" openers. |
|
|
41
|
-
| `telegraph.
|
|
41
|
+
| `telegraph.speak` | When `false` (the shipped default) the telegraph-speak rule does not ship at all; when `true` its own carve-out list states the grammar's scope — options blocks, Iron-Law literals, code, and paths stay byte-stable. |
|
|
42
42
|
|
|
43
43
|
Phase 10 adds `verbosity.script_output` (`silent` / `minimal` / `verbose`) and `verbosity.taskfile_command_echo` (`true` / `false`); writer artifacts cite this row when those land.
|
|
44
44
|
|
|
@@ -7,6 +7,12 @@ mode: reviewer
|
|
|
7
7
|
version: "1.0"
|
|
8
8
|
source: package
|
|
9
9
|
council_advisor: true
|
|
10
|
+
# Explicitly empty, not merely unset: reconstructing a problem from its
|
|
11
|
+
# irreducible constraints is this advisor's whole function, so "asserts no
|
|
12
|
+
# harvested doctrine" is a statement about the lens rather than a gap in one.
|
|
13
|
+
# Every other persona leaves the field absent (unscoped) — see the sources
|
|
14
|
+
# block in templates/persona.md for the three states.
|
|
15
|
+
sources: []
|
|
10
16
|
---
|
|
11
17
|
|
|
12
18
|
# First-Principles Advisor
|