@event4u/agent-config 9.0.0 → 9.2.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 +22 -204
- package/MIGRATION.md +14 -0
- package/README.md +2 -2
- package/dist/agent-src/commands/explain-run.md +88 -0
- package/dist/agent-src/commands/implement-ticket.md +2 -0
- package/dist/agent-src/commands/pr/create/description-only.md +138 -8
- package/dist/agent-src/commands/pr/create.md +16 -5
- package/dist/agent-src/commands/review/changes.md +22 -0
- package/dist/agent-src/contexts/execution/subagent-modes-detail.md +41 -6
- package/dist/agent-src/contexts/execution/verify-budget.md +15 -0
- package/dist/agent-src/rules/cross-source-consistency.md +92 -0
- package/dist/agent-src/rules/delegation-policy.md +1 -1
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +2 -0
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +146 -0
- package/dist/agent-src/skills/llm-provider-knowledge/evals/triggers.json +20 -0
- package/dist/agent-src/skills/po-discovery/SKILL.md +2 -0
- package/dist/agent-src/skills/refine-ticket/SKILL.md +7 -0
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +14 -0
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +26 -5
- package/dist/agent-src/skills/subagent-orchestration/evals/evals.json +18 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +14 -2
- package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +79 -0
- package/dist/agent-src/skills/subagent-orchestration/schemas/adversarial-findings.json +56 -0
- package/dist/agent-src/skills/token-optimizer/SKILL.md +10 -4
- package/dist/agent-src/templates/agent-settings.md +28 -0
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +105 -28
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +5 -5
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +16 -12
- package/dist/discovery/trust-report.md +8 -8
- package/dist/discovery/workspaces.json +12 -8
- package/dist/install/install.mjs +47 -31
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +4 -1
- package/dist/scripts/_lib/agent_settings.js.map +1 -1
- package/dist/server/schemas/settings.js +10 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +10 -3
- package/docs/MIGRATION.md +20 -0
- package/docs/architecture.md +4 -4
- package/docs/archive/CHANGELOG-pre-9.2.0.md +276 -0
- package/docs/benchmark.md +24 -0
- package/docs/command-flows.md +1 -1
- package/docs/contracts/agents-layout.md +1 -1
- package/docs/contracts/consumer-bridge.md +55 -63
- package/docs/contracts/install-layout.md +1 -1
- package/docs/contracts/migrate-command.md +1 -1
- package/docs/customization.md +22 -1
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +34 -0
- package/docs/decisions/ADR-122-adversarial-verification-council.md +136 -0
- package/docs/decisions/INDEX.md +1 -0
- package/docs/design/adversarial-council-eval.md +106 -0
- package/docs/featured-skills.md +2 -2
- package/docs/getting-started-by-role.md +1 -1
- package/docs/getting-started.md +2 -2
- package/docs/governance-advantage.md +1 -1
- package/docs/guidelines/agent-infra/api-cost-levers.md +126 -0
- package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +109 -0
- package/docs/installation.md +2 -1
- package/docs/maintainers/dev-mode.md +3 -2
- package/docs/proof.md +7 -7
- package/package.json +1 -1
- package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
- package/src/config/agent-settings.template.yml +81 -0
- package/src/config/gitignore-block.txt +16 -6
- package/src/scripts/_cli/cmd_conformance.ts +2 -2
- package/src/scripts/_cli/cmd_doctor.ts +162 -13
- package/src/scripts/_cli/cmd_refresh.ts +35 -118
- package/src/scripts/_lib/adversarial_council_gate.test.ts +112 -0
- package/src/scripts/_lib/adversarial_council_gate.ts +98 -0
- package/src/scripts/_lib/adversarial_reconcile.test.ts +197 -0
- package/src/scripts/_lib/adversarial_reconcile.ts +187 -0
- package/src/scripts/_lib/agent_settings.ts +4 -1
- package/src/scripts/_lib/verify_budget.ts +4 -1
- package/src/scripts/ai_council/clients.ts +68 -6
- package/src/scripts/ai_council/pricing.ts +62 -0
- package/src/scripts/council_cli.ts +19 -3
- package/src/scripts/install.ts +44 -45
- package/src/scripts/lint_agents_layout.ts +10 -4
- package/src/scripts/lint_breaking_changes_index.ts +303 -0
- package/src/scripts/mcp_server/tools.ts +1 -3
- package/src/scripts/schemas/agent-settings.schema.json +28 -0
- package/src/scripts/self_review_gate.test.ts +11 -0
- package/src/scripts/self_review_gate.ts +7 -1
- package/src/scripts/skill_eval_coverage.ts +4 -1
- package/src/server/schemas/settings.ts +24 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Bootstrap shim for the event4u agent-config suite. This plugin ships ONLY the dispatcher hooks plus one install-pointer skill — ALL content (skills, rules, commands) is installed via `npx -y @event4u/agent-config init`, which writes the file projection AND registers the same hooks in ~/.claude/settings.json. DEPRECATED as a content channel; kept so the marketplace listing stays discoverable and existing installs keep working hooks.",
|
|
9
|
-
"version": "9.
|
|
9
|
+
"version": "9.2.0",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"agent-config",
|
|
12
12
|
"skills",
|
package/CHANGELOG.md
CHANGED
|
@@ -48,26 +48,6 @@ foundation also land — both non-breaking by default.
|
|
|
48
48
|
|
|
49
49
|
### Breaking changes (6.0.0)
|
|
50
50
|
|
|
51
|
-
**0. Consumer rule projection is scoped by default** (`road-to-request-scoped-rule-load` Phase 1 human gate, 2026-07-13)
|
|
52
|
-
|
|
53
|
-
- **Who is affected:** fresh consumer installs — the settings template now
|
|
54
|
-
ships `projection.rule_workspaces` filled with every consumer workspace, so
|
|
55
|
-
the 16 exclusively-maintainer specification rules (plus the recorded
|
|
56
|
-
`source-of-truth.md` compat exclusion) no longer arrive: 103 → 88 rules,
|
|
57
|
-
−9,880 cl100k tokens (−13.1%) per install. All domain safety floors and
|
|
58
|
-
domain rules keep shipping; kernel rules always ship.
|
|
59
|
-
- **Existing installs:** unchanged until you run `agent-config sync` /
|
|
60
|
-
re-install (settings sync preserves your current value; fill the list to
|
|
61
|
-
opt in). The first session after opting in rebuilds the KV-cache prefix
|
|
62
|
-
once (1.25–2× write cost, one session only).
|
|
63
|
-
- **Quality evidence:** deterministic set-inclusion verification
|
|
64
|
-
(`src/scripts/check_consumer_scope_flip.ts` →
|
|
65
|
-
`internal/bench/reports/2026-07-13-consumer-scoped-default-flip.json`):
|
|
66
|
-
only exclusively-maintainer rules drop; zero golden-set-exercised consumer
|
|
67
|
-
rules affected (90/90 labelled tasks, coverage 86/86).
|
|
68
|
-
- **Rollback:** set `projection.rule_workspaces: []` (= legacy-all).
|
|
69
|
-
|
|
70
|
-
|
|
71
51
|
**1. Condensed output moved: root `.agent-src/` → `dist/agent-src/`** ([ADR-058])
|
|
72
52
|
|
|
73
53
|
- **Who is affected:** consumers whose scripts or tool configs hard-code
|
|
@@ -1037,207 +1017,45 @@ our recommendation order, not its support status.
|
|
|
1037
1017
|
> keeps the active era under the 250-line drift cap enforced by
|
|
1038
1018
|
> `tests/test_changelog_eras.py`.
|
|
1039
1019
|
|
|
1040
|
-
# Era:
|
|
1041
|
-
|
|
1042
|
-
> Started at `8.12.0`. Full entries live inline below.
|
|
1043
|
-
> The drift test caps this era at 250 lines of entry body; growth past
|
|
1044
|
-
> that forces a new era split (`# Era: 8.13.x`, etc.) — see
|
|
1045
|
-
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
1046
|
-
|
|
1047
|
-
## [9.0.0](https://github.com/event4u-app/agent-config/compare/8.13.0...9.0.0) (2026-07-13)
|
|
1048
|
-
|
|
1049
|
-
### BREAKING CHANGES
|
|
1050
|
-
|
|
1051
|
-
* **scoping:** flip consumer rule projection default to scoped (Phase-1 human gate, approved) ([565c91a](https://github.com/event4u-app/agent-config/commit/565c91aa25e4c970d5b37258f497366f33e7a7a9))
|
|
1052
|
-
|
|
1053
|
-
### Features
|
|
1054
|
-
|
|
1055
|
-
* **product:** pre-build demand gate folded into improve-before-implement — plate complete, archived ([d6b0fcb](https://github.com/event4u-app/agent-config/commit/d6b0fcb9d020f983a98f8cd0c744d758bb758f9a))
|
|
1056
|
-
* **skills:** Known-pitfalls sections for docker, terraform, laravel ([4427224](https://github.com/event4u-app/agent-config/commit/442722417f319b7b704c2d0bdc711c38e870f796))
|
|
1057
|
-
* **skill-writing,size-enforcement:** Known-pitfalls section standard + sprawl guard ([6276c9f](https://github.com/event4u-app/agent-config/commit/6276c9f24b3166c1ae4360151cf05f2cd29f9b31))
|
|
1058
|
-
* **skill:** spreadsheet-authoring — recalc-verification loop + zero-formula-error contract ([fcaf93e](https://github.com/event4u-app/agent-config/commit/fcaf93e8beb36c944b356df04b1203941f8a3271))
|
|
1059
|
-
* **skill:** pdf-tools — library-per-task PDF create/transform/fill routing ([11af714](https://github.com/event4u-app/agent-config/commit/11af7140fa999dea0f514ddb32f5a1d6d6e8934b))
|
|
1060
|
-
* **skill:** docx-authoring — skeleton-create + unpack/edit/pack-with-validate toolkit ([218f711](https://github.com/event4u-app/agent-config/commit/218f7115359f10c630c239ec02302f6a2eb21a63))
|
|
1061
|
-
* **humanizer:** severity-tiered AI-ism taxonomy, stance-preservation, voice-match ([00077d2](https://github.com/event4u-app/agent-config/commit/00077d2488246766317f86110a65e65cab7080b9))
|
|
1062
|
-
* **skills:** docx-authoring + pdf-tools — completes the document read→write cycle ([c0688c1](https://github.com/event4u-app/agent-config/commit/c0688c11badc38bd060de89f0585b351ea2d265d))
|
|
1063
|
-
* **skill:** launch-readiness epistemics block + fix-loop (contract-backed) ([591c386](https://github.com/event4u-app/agent-config/commit/591c386ae6be8d06b68997a41198166334e7249c))
|
|
1064
|
-
* **prelaunch:** finding-ID contract, epistemics, regression gate + suppression ([0f4bff6](https://github.com/event4u-app/agent-config/commit/0f4bff64e12f5a73525ea2272df479672ce7f9aa))
|
|
1065
|
-
* **workflow:** Phase 3 merge-conflicts plan-first — plate complete, archived ([3f51f4e](https://github.com/event4u-app/agent-config/commit/3f51f4ed1fa6ed4253788432db468c35678f1c81))
|
|
1066
|
-
* **workflow:** Phase 2 — HANDOFF.md convention, resume rule, artifact validation ([5092d5e](https://github.com/event4u-app/agent-config/commit/5092d5ef44ea154817eda4640a526fa0909ed9a9))
|
|
1067
|
-
* **workflow:** Phase 1 — TDD mode contracts with diff-checkable Forbidden blocks ([a6c4d70](https://github.com/event4u-app/agent-config/commit/a6c4d7048e24505db80dc04c6e03d8a63bfce3d1))
|
|
1068
|
-
* **ci:** bridge-derivation, tools-matrix + host-loadability gates (Phase 4.3/4.4) ([9168bbd](https://github.com/event4u-app/agent-config/commit/9168bbdb455412261bf593dd89f5111085d24fe9))
|
|
1069
|
-
* **schema:** optional effort: reasoning-effort pin (Phase 4.2) ([9248f36](https://github.com/event4u-app/agent-config/commit/9248f366d13e79d195bfcd50985fc48313e1b51f))
|
|
1070
|
-
* **commands:** argument-hint frontmatter across the command surface (Phase 4.1) ([333a1b3](https://github.com/event4u-app/agent-config/commit/333a1b37bd15ff394c9c82ba4a7a961ce3aaf1c2))
|
|
1071
|
-
* **authoring:** U1 description-optimizer loop (held-out split) — plate complete, archived ([a2d7f55](https://github.com/event4u-app/agent-config/commit/a2d7f552a6d28657714914d0a0efa81decb2b57e))
|
|
1072
|
-
* **authoring:** U5 self-QA fresh-eyes pattern for output-producing skills ([6295bd7](https://github.com/event4u-app/agent-config/commit/6295bd744dc6dbd96face318956e3925a0b80ca6))
|
|
1073
|
-
* **authoring:** U3 tool-grant uplift — scoped grants, disallowed_tools deny-list, numeric thresholds ([7089ac8](https://github.com/event4u-app/agent-config/commit/7089ac8d6ac5121f391650987b5b2c8fb227f6fb))
|
|
1074
|
-
* **authoring:** U4 register note + U2 Agent-Skills spec alignment ([6ce3a13](https://github.com/event4u-app/agent-config/commit/6ce3a13b1243fdfb63a184c758a4764ab1dc67d8))
|
|
1075
|
-
* **telemetry:** U5 agent-combo facet on the orchestration record ([1aacb46](https://github.com/event4u-app/agent-config/commit/1aacb46458c42f3857b5107d714ca25386133e97))
|
|
1076
|
-
* **measurement:** U4 host-loadability smoke — generated trees must actually load ([0d0b014](https://github.com/event4u-app/agent-config/commit/0d0b0141f160f5722d4bba71ba8e017d0445a98a))
|
|
1077
|
-
* **evals:** U2 golden-adversarial review pair + not_contains assertion kind ([b5f040a](https://github.com/event4u-app/agent-config/commit/b5f040a8fd90b6012106760c06a67981a2a437a9))
|
|
1078
|
-
* **measurement:** U1 loaded-vs-fired utilization report + census-honesty note ([545c2ce](https://github.com/event4u-app/agent-config/commit/545c2ce3f1c0d3894bb9eebd5c87bb8e110ddb2b))
|
|
1079
|
-
* **telemetry:** U1a loaded denominator — engagement schema, record CLI, aggregator, renderer ([a549788](https://github.com/event4u-app/agent-config/commit/a5497881cc67475a6cddfc3fb857f675fcb032be))
|
|
1080
|
-
* **skill-quality:** add read-only-by-default script-convention lint ([401828d](https://github.com/event4u-app/agent-config/commit/401828df53069331007fe0e28edab8811fa46fa4))
|
|
1081
|
-
* **skill-quality:** add eval schema v2 — tool-choice + trajectory_budget ([63a5cdf](https://github.com/event4u-app/agent-config/commit/63a5cdfd433374099ea70e8e10a5b8350ccebb52))
|
|
1082
|
-
* **skill-quality:** add description-quality lint gate ([e7acc5e](https://github.com/event4u-app/agent-config/commit/e7acc5ec8744b1e00d2fe9ad89727731d3500147))
|
|
1083
|
-
* **scoping:** deterministic held-quality verifier for the consumer scoped-projection flip ([9375e6e](https://github.com/event4u-app/agent-config/commit/9375e6e6f4788f644c031a62c36e956bd49c0ec7))
|
|
1084
|
-
* **review:** tally-vs-reasoned boundary + fix-pr-comments dedup ([564efa8](https://github.com/event4u-app/agent-config/commit/564efa8300b07c345c9c618b8d5790f20fde9089))
|
|
1085
|
-
* **review:** change-type routing, two-tier output, de-biasing in code-review ([ffad758](https://github.com/event4u-app/agent-config/commit/ffad75807e3ae6dae58087280d47865286d9d437))
|
|
1086
|
-
* **team-gate:** managed Review-Gate circuit breaker — never an infinite Claude/Codex loop ([0356b30](https://github.com/event4u-app/agent-config/commit/0356b30f60a00b9fe7b13cdd7dde05ddda3684db))
|
|
1087
|
-
* **team-fallback:** read-only multi-host review via team_dispatch + team-review envelope ([ba6ea00](https://github.com/event4u-app/agent-config/commit/ba6ea0062b34cad03dc296a887a7d8edba559d09))
|
|
1088
|
-
* **security:** STRIDE table, CI-agent + insecure-defaults coverage, active-probe design note ([260fd2f](https://github.com/event4u-app/agent-config/commit/260fd2fe667e0c605cd042935327b316fa4a9641))
|
|
1089
|
-
* **security:** add security-maturity-assessment skill ([657b68f](https://github.com/event4u-app/agent-config/commit/657b68f550bdeff356cfa3e1654a98f69835ec26))
|
|
1090
|
-
* **security:** add false-positive gate to bug + security review skills ([4309cb3](https://github.com/event4u-app/agent-config/commit/4309cb35f93eb68deeed523369417ad90c13d86c))
|
|
1091
|
-
* **evals:** calibrate finding_floor from the cross-host lower envelope — gate armed ([c19aecf](https://github.com/event4u-app/agent-config/commit/c19aecfb440e3d748935a494400319ff8bd0617a))
|
|
1092
|
-
* **bench:** cross-model parity count-pass runner (council-transport re-scope) ([5cef323](https://github.com/event4u-app/agent-config/commit/5cef32329263f1169ed7875cf4cfad0ab982a10c))
|
|
1093
|
-
|
|
1094
|
-
### Bug Fixes
|
|
1095
|
-
|
|
1096
|
-
* **humanizer:** reword 'drift' → 'slippage' to clear wing3_vendor_independence false-positive ([66f9179](https://github.com/event4u-app/agent-config/commit/66f91797a0f3cff9c414cb0edfe64b89c916d1a8))
|
|
1097
|
-
* **ai-council:** enforce config is user-global only, never project-local ([09b16bb](https://github.com/event4u-app/agent-config/commit/09b16bb559f548baf2760a255e1ab20b48a3ccdd))
|
|
1098
|
-
* **merge:** resolve index-roadmap conflict — both quality-gates and workflow-contracts shipped ([c42dce4](https://github.com/event4u-app/agent-config/commit/c42dce428f0c35f01cf2e58046f62be28dc05504))
|
|
1099
|
-
* **ci:** use .js import extensions in the new matrix-lint modules (typecheck) ([bf79fe0](https://github.com/event4u-app/agent-config/commit/bf79fe0fd32975b2b1e7d1639bf382874f9b0c18))
|
|
1100
|
-
* **schema:** surgical skill-schema edits — restore original formatting ([01243ad](https://github.com/event4u-app/agent-config/commit/01243ad12cf5381a010f1e822b6f0e3bb8a32268))
|
|
1101
|
-
* **rules:** P4 Batch B stub consistency — routes_to + fire-time fix-now boundary ([97bed1c](https://github.com/event4u-app/agent-config/commit/97bed1c1dedc0687a9349381949094f850da8e1f))
|
|
1102
|
-
* **linear-digest:** drop stale strip_sections for context-hygiene after Batch B migration ([0e705c1](https://github.com/event4u-app/agent-config/commit/0e705c1316a5cfb2e76ca5e0cd958fa95757463c))
|
|
1103
|
-
* **tests:** run bench_parity_count tests under vitest (CI runner), not node:test ([5076a68](https://github.com/event4u-app/agent-config/commit/5076a68353f789d35dc2f236090056aa1a958017))
|
|
1104
|
-
* **ci:** team status description under the 200-char linter cap ([800d2f4](https://github.com/event4u-app/agent-config/commit/800d2f49fdbd980bf58333f3a80bebe0760768bb))
|
|
1105
|
-
* **team-doctor:** expiry-aware auth signal + namespace-resistant plugin identity + gate WARN ([7698386](https://github.com/event4u-app/agent-config/commit/76983863d0a164e20ad2a588fb2e6b8517f00622))
|
|
1106
|
-
|
|
1107
|
-
### Documentation
|
|
1108
|
-
|
|
1109
|
-
* **roadmap:** mark skill-quality-gates Phases 1-3 done ([b0c2d43](https://github.com/event4u-app/agent-config/commit/b0c2d43b5a409c69a991191b478c8af28e58a463))
|
|
1110
|
-
* **changelog:** breaking-change entry for the scoped consumer default (sync/re-install + one-time KV-prefix rebuild) ([2520859](https://github.com/event4u-app/agent-config/commit/2520859aa3e1842658392596e892b82b16f2b6eb))
|
|
1111
|
-
* **roadmaps:** add and archive road-to-batch-b-stub-consistency ([60bf22c](https://github.com/event4u-app/agent-config/commit/60bf22cbbfffdf60e431c147bb5ec2367d2b1fa1))
|
|
1112
|
-
* **team:** quota clarity, honest wording, pack move to meta, envelope contract ([6be986e](https://github.com/event4u-app/agent-config/commit/6be986e3ed500d3165a7adec3525203a0fd5b76e))
|
|
1113
|
-
* **bench:** cross-model-parity-count claim + benchmark section ([5ff1a4c](https://github.com/event4u-app/agent-config/commit/5ff1a4c9f90344523e8977639296e18128674abc))
|
|
1114
|
-
|
|
1115
|
-
### Refactoring
|
|
1116
|
-
|
|
1117
|
-
* **rules:** P4 Batch B part 2 — domain-adoption-policy, minimal-safe-diff, context-hygiene thinned; backlink report + grandfather shrink ([c6eb79c](https://github.com/event4u-app/agent-config/commit/c6eb79cb7383a78e3b48bc46bef4ade01b7d9106))
|
|
1118
|
-
* **rules:** P4 Batch B part 1 — active-remediation, artifact-drafting-protocol, framework-neutrality, design-fidelity thinned to stubs ([e382bec](https://github.com/event4u-app/agent-config/commit/e382bec6cc04470e19534c7521a8271c52e0f79e))
|
|
1119
|
-
|
|
1120
|
-
### Tests
|
|
1121
|
-
|
|
1122
|
-
* **workspace_inbox:** refresh skill-hint snapshot for docker Known-pitfalls section ([7003101](https://github.com/event4u-app/agent-config/commit/70031011264cc6bcafc8b68a33f8b6cfafa1c7e2))
|
|
1123
|
-
* **review:** review-mechanics eval fixtures ([3a74f94](https://github.com/event4u-app/agent-config/commit/3a74f94e729fe6c5f0476be303e11b1d91a80027))
|
|
1020
|
+
# Era: pre-9.2.0 — archived
|
|
1124
1021
|
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
* **roadmap:** tool-pitfalls plate complete — archived, index updated ([b93774c](https://github.com/event4u-app/agent-config/commit/b93774c8d130a2e0f6663b0aba24d88e679924a1))
|
|
1132
|
-
* refresh condensation hashes ([8a0d974](https://github.com/event4u-app/agent-config/commit/8a0d97437f6257399da5f79cb218671154aa97b4))
|
|
1133
|
-
* **roadmap:** document-skills plate complete — archived, index updated ([d96a11e](https://github.com/event4u-app/agent-config/commit/d96a11e5d69bf21c7d6d6d2148b231fb56449a7e))
|
|
1134
|
-
* **docs:** skill counts 272 → 274, meta pack regen, condensation hashes ([4115d3a](https://github.com/event4u-app/agent-config/commit/4115d3a08041086251926303ee9e3d6c39437cd8))
|
|
1135
|
-
* **generated:** regenerate proof.md + CAPABILITIES.yaml after +2 skills (272→274) ([51eac3e](https://github.com/event4u-app/agent-config/commit/51eac3eb885956ac4ded6f874d4a27645b1c6dc9))
|
|
1136
|
-
* **roadmap:** prose-authenticity U1-U5 complete; U6 blocked on decision-revisit-gate ([ebff2d8](https://github.com/event4u-app/agent-config/commit/ebff2d815630ea92a69bd341a21f73aa39fc66ac))
|
|
1137
|
-
* **roadmap:** prelaunch-diagnostics plate complete — archived, index updated ([6ca449d](https://github.com/event4u-app/agent-config/commit/6ca449de2e3b4c8c73ef36ca509a9956d57ac087))
|
|
1138
|
-
* **roadmap:** skill-quality-gates plate complete — Phase 4 flipped, archived, index updated ([2d89dd3](https://github.com/event4u-app/agent-config/commit/2d89dd3e2c514f3add37176ee86e84e2b218fbb4))
|
|
1139
|
-
* **sync:** regenerate meta domain README after condense-memory description update ([d6f8557](https://github.com/event4u-app/agent-config/commit/d6f85574627e124b6b9af8e2b2e3cc2b2731a122))
|
|
1140
|
-
* **condense:** re-mark upstream-contribute after skill-writing dep-fold ([6e71ef9](https://github.com/event4u-app/agent-config/commit/6e71ef95daf695b23de2da3fd30c4f840ca1a2b7))
|
|
1141
|
-
* **roadmap:** authoring-rigor U2+U4 closed ([b744092](https://github.com/event4u-app/agent-config/commit/b74409267a40e458805a701cc44678bf679041df))
|
|
1142
|
-
* **sync:** dist twin of code-review evals after U2 golden pair ([10d67ba](https://github.com/event4u-app/agent-config/commit/10d67ba755ef75ecc2520e2ff242d00a9c8e10fa))
|
|
1143
|
-
* **roadmap:** reliability-measurement plate complete — archived, index updated ([5662e80](https://github.com/event4u-app/agent-config/commit/5662e80753a620be34c95680e1d7e4cec56dd0d4))
|
|
1144
|
-
* **roadmap:** reliability-measurement U1/U1a/U3 closed ([dc16eaa](https://github.com/event4u-app/agent-config/commit/dc16eaa6e1d19c105b36001f09979e8a08cb8466))
|
|
1145
|
-
* **roadmap:** request-scoped-rule-load Phase-1 human gate closed - only trigger-gated Phase-4 park remains ([0f46997](https://github.com/event4u-app/agent-config/commit/0f46997c9829a6d9c3f265ed4d744c3588e7f7be))
|
|
1146
|
-
* **counts:** guideline badge + table 91 -> 98 after Batch B guideline homes ([ecad776](https://github.com/event4u-app/agent-config/commit/ecad7764848d8a0309bae2a56c11b3aafd048efc))
|
|
1147
|
-
* **roadmap:** complete + archive review-mechanics; refresh hashes ([9ede176](https://github.com/event4u-app/agent-config/commit/9ede1767c451446ec485198da25247821d56b032))
|
|
1148
|
-
* **roadmap:** request-scoped-rule-load Phase 5 closed — Batch B done, Batch C skipped-by-tradeoff, backlink report current ([37e73f8](https://github.com/event4u-app/agent-config/commit/37e73f89cd30dc7127293de51cc583ed0118d7b1))
|
|
1149
|
-
* **roadmap:** truth-sync the inherited golden-set blocker in request-scoped-rule-load ([2e13966](https://github.com/event4u-app/agent-config/commit/2e1396657d2e9570bb6eebbb02f51413f1b5fad2))
|
|
1150
|
-
* **roadmap:** park road-to-token-saving in later/ — all open work operator-gated, judge blocker resolved negative ([51a56bd](https://github.com/event4u-app/agent-config/commit/51a56bdd0fe6b6203bde83792892a88f25a5c8c4))
|
|
1151
|
-
* **proof:** regenerate docs/proof.md after claims-ledger update ([63421da](https://github.com/event4u-app/agent-config/commit/63421da76566e2ca38e1f72025c68e49646ec404))
|
|
1152
|
-
* **bench:** codex-host lift replication HONEST NULL — discipline_profile default stays; measurement-unblock roadmap complete + archived ([5e11ce0](https://github.com/event4u-app/agent-config/commit/5e11ce09f7846f4875e032db1c6dc236f9a229cb))
|
|
1153
|
-
* **pack:** register security-maturity-assessment in engineering-base manifest ([ee89252](https://github.com/event4u-app/agent-config/commit/ee89252794e4979a002de7e2dd682ee90c75d533))
|
|
1154
|
-
* sync generated count surfaces + dependent command hashes ([44e064a](https://github.com/event4u-app/agent-config/commit/44e064abecd90d924432fcef958477964ed13fa7))
|
|
1155
|
-
* **sync:** meta pack manifest + index + envelope dist projection ([5473ca0](https://github.com/event4u-app/agent-config/commit/5473ca0e9e6446bfff475db8668ff334b9f2295d))
|
|
1156
|
-
* **roadmaps:** feedback-8.11-5 executed and archived; team-mode Phases 3+4 complete ([487cbe6](https://github.com/event4u-app/agent-config/commit/487cbe61a2fa52e20c21db66aa9b6a4650aac60b))
|
|
1157
|
-
* **roadmap:** regenerate progress dashboard ([d085f71](https://github.com/event4u-app/agent-config/commit/d085f716c25c06fa2edf6561c0c66ba9204acdc9))
|
|
1158
|
-
* **roadmap:** archive completed ecosystem-harvest bug-security-rigor ([25982c5](https://github.com/event4u-app/agent-config/commit/25982c55aefd3a8c2b8715f2ac05112e52849bb4))
|
|
1159
|
-
* **roadmap:** measurement-unblock Phase 3 complete (build decision + parity pass + armed gate) ([9c0f051](https://github.com/event4u-app/agent-config/commit/9c0f051c91b6a712884fb1408e41c339fc42462f))
|
|
1160
|
-
|
|
1161
|
-
Tests: 7716 (+158 since 8.13.0)
|
|
1162
|
-
|
|
1163
|
-
## [8.13.0](https://github.com/event4u-app/agent-config/compare/8.12.0...8.13.0) (2026-07-12)
|
|
1164
|
-
|
|
1165
|
-
### Features
|
|
1166
|
-
|
|
1167
|
-
* **backlinks:** orphan-stub correctness check + fan-out info + gated hard-gate list ([fe88ff5](https://github.com/event4u-app/agent-config/commit/fe88ff5c42bd08338c0ab9c83f3e1fdf0f6f7d1c))
|
|
1168
|
-
* **team-doctor:** 'team' health check + suppressible setup hint ([22a5c14](https://github.com/event4u-app/agent-config/commit/22a5c141ddaa47994f7d9c150dafa36b0fcb38a8))
|
|
1169
|
-
* **team-commands:** /team family — thin fail-closed delegations under ai_team governance ([958c491](https://github.com/event4u-app/agent-config/commit/958c4910bf2276449a99ef2462e78caa718148a5))
|
|
1170
|
-
* **team-config:** ai_team contract — default-off block, fail-closed loader, shared quota ([f45c988](https://github.com/event4u-app/agent-config/commit/f45c98860a63d2c8c572a9e121ecaf05d4c34aa9))
|
|
1171
|
-
* **pr-create:** harden the freshness gate — regenerate-on-conflict + update freshness ([83104e0](https://github.com/event4u-app/agent-config/commit/83104e0a3a8666d8eb47044c9b9e028a1e60c913))
|
|
1172
|
-
|
|
1173
|
-
### Bug Fixes
|
|
1174
|
-
|
|
1175
|
-
* **rules:** restore the concrete verification-tool mapping in the improve-before-implement stub ([a54d89f](https://github.com/event4u-app/agent-config/commit/a54d89f852120e639f25aa059e33baf672255f66))
|
|
1176
|
-
|
|
1177
|
-
### Documentation
|
|
1178
|
-
|
|
1179
|
-
* **round4:** strict:false operating conditions + Batch B/C stub-necessity pre-questions ([7961ba4](https://github.com/event4u-app/agent-config/commit/7961ba4dda15d33fe4a8be6a92d4e71b7a4bedb6))
|
|
1180
|
-
* **team:** getting-started section — depth complement to the council, no value claims ([6c64fc3](https://github.com/event4u-app/agent-config/commit/6c64fc3acade96c3d1eff3c610677be5a852f18e))
|
|
1181
|
-
* **roadmap:** measurement-unblock Phase 2 — codex auth+smoke verified, paired run in flight ([489bdc1](https://github.com/event4u-app/agent-config/commit/489bdc168565c6b27eceeaca8384751e089378ef))
|
|
1182
|
-
|
|
1183
|
-
### Chores
|
|
1022
|
+
> All entries before `9.2.0` live in
|
|
1023
|
+
> [`docs/archive/CHANGELOG-pre-9.2.0.md`](docs/archive/CHANGELOG-pre-9.2.0.md).
|
|
1024
|
+
> The archive is read-only; git tags remain the canonical
|
|
1025
|
+
> source for what shipped. Splitting them out of the main file
|
|
1026
|
+
> keeps the active era under the 250-line drift cap enforced by
|
|
1027
|
+
> `tests/test_changelog_eras.py`.
|
|
1184
1028
|
|
|
1185
|
-
|
|
1186
|
-
* **counts:** featured-skills command count 178 -> 183 (update_counts anchor) ([13cb8de](https://github.com/event4u-app/agent-config/commit/13cb8de13373e66c26a21689b2a86427ee9ac043))
|
|
1187
|
-
* **roadmaps:** feedback-8.11-4 executed and archived; team-mode P1+P2 complete ([dd44aa6](https://github.com/event4u-app/agent-config/commit/dd44aa69fea35d95fadc00936c3ec23caaeb2c1b))
|
|
1029
|
+
# Era: 9.2.x — current
|
|
1188
1030
|
|
|
1189
|
-
|
|
1031
|
+
> Started at `9.2.0`. Full entries live inline below.
|
|
1032
|
+
> The drift test caps this era at 250 lines of entry body; growth past
|
|
1033
|
+
> that forces a new era split (`# Era: 9.3.x`, etc.) — see
|
|
1034
|
+
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
1190
1035
|
|
|
1191
|
-
## [
|
|
1036
|
+
## [9.2.0](https://github.com/event4u-app/agent-config/compare/9.1.0...9.2.0) (2026-07-14)
|
|
1192
1037
|
|
|
1193
1038
|
### Features
|
|
1194
1039
|
|
|
1195
|
-
* **rules:**
|
|
1196
|
-
* **
|
|
1197
|
-
* **
|
|
1198
|
-
* **
|
|
1199
|
-
* **
|
|
1200
|
-
* **reports:** complexity report, explain-run v0, rule-backlinks — all report-only with kill criteria ([e718f13](https://github.com/event4u-app/agent-config/commit/e718f1396562e0cb94fab344b75332a73a34ac35))
|
|
1201
|
-
* **knowledge:** per-card sensitivity classes, promotion gate, revocation trail (ADR-121) ([a14b1ad](https://github.com/event4u-app/agent-config/commit/a14b1ad54b750d86ff288cd96ad9e76fe58fcdc5))
|
|
1202
|
-
* **consumer-matrix:** live hook-lifecycle leg + dist import-graph completeness ([1f1d9e1](https://github.com/event4u-app/agent-config/commit/1f1d9e1f8f8186de51071f47ca20ed649fad01f3))
|
|
1203
|
-
* **bench:** length-neutral judge rerun — executed, SECOND INCONCLUSIVE (gate closed-by-diagnosis) ([66ba0a3](https://github.com/event4u-app/agent-config/commit/66ba0a3e7a995fb8f7db1b795d33682328dc8596))
|
|
1204
|
-
* **council:** restate pass — the last wiring item (pre-round-1, transport-safe) ([4df6069](https://github.com/event4u-app/agent-config/commit/4df6069e127a0467f5a86aea57ea4c90929746a1))
|
|
1205
|
-
* **council:** stance-line repair call in consult (bounded, transport-gated) ([91fd10e](https://github.com/event4u-app/agent-config/commit/91fd10e25429d7d35f460ba8560c76565007b0c6))
|
|
1206
|
-
* **council:** debate-gate repair dispatch in run_debate (bounded, policy-gated) ([e7f6380](https://github.com/event4u-app/agent-config/commit/e7f6380639835d61c72b4b89cb79d77a5c90cb9c))
|
|
1040
|
+
* **rules:** cross-source-consistency — detect discrepancies, ask before guessing ([63b8049](https://github.com/event4u-app/agent-config/commit/63b804981e70045f138af4bd4a5546b62b135d24))
|
|
1041
|
+
* **settings:** add consistency.cross_source toggle (default on) ([2f41bbb](https://github.com/event4u-app/agent-config/commit/2f41bbbf52737f12401eb7ccfed104d3b4a9b4a6))
|
|
1042
|
+
* **settings:** opt-in subagents.adversarial_council + verify-budget escalation ([fa68dbc](https://github.com/event4u-app/agent-config/commit/fa68dbc514a6cc2def90f7f4b8b031e5c872747f))
|
|
1043
|
+
* **subagent:** Mode 9 adversarial-verification-council + skeptic prompt ([26501a1](https://github.com/event4u-app/agent-config/commit/26501a18a1ab53d3eb54a06230086e0c4508bfee))
|
|
1044
|
+
* **subagent:** adversarial-findings schema + deterministic reconciliation core ([12c64f2](https://github.com/event4u-app/agent-config/commit/12c64f26bcc92d4472935badc41b64fe563f98b2))
|
|
1207
1045
|
|
|
1208
1046
|
### Bug Fixes
|
|
1209
1047
|
|
|
1210
|
-
* **
|
|
1211
|
-
* **ci:** skill description under the 200-char linter cap + modernize a migrated legacy path ([893ce69](https://github.com/event4u-app/agent-config/commit/893ce6922df759ac2432b221e28951a292233a47))
|
|
1212
|
-
* **proof:** move the honest-null entry into the build_proof generator ([5c1a12c](https://github.com/event4u-app/agent-config/commit/5c1a12c152d35fd320e40f0173b27f842fb39903))
|
|
1213
|
-
* **ci:** regenerate proof.md post-merge + de-literalize example imports ([6ff330d](https://github.com/event4u-app/agent-config/commit/6ff330d5a84c4682fae63eb2331ec3f645473cb4))
|
|
1214
|
-
* **claims:** thin-projection honesty + pre-register the council-vs-solo baseline ([6aee669](https://github.com/event4u-app/agent-config/commit/6aee669e311261121f582793e47698e029b0c8ae))
|
|
1215
|
-
* **identity:** resolve the placeholder git identity and guard against recurrence ([b17a801](https://github.com/event4u-app/agent-config/commit/b17a801dd16ddda9c3bcfd6b269dc65aff5a5e41))
|
|
1216
|
-
* **counts:** regenerate CAPABILITIES.yaml and close the structured-surface drift gap ([55aafb5](https://github.com/event4u-app/agent-config/commit/55aafb58b7f0e775b73a100d0b83f55b13defea0))
|
|
1048
|
+
* **proof:** regenerate docs/proof.md after the pre-registered claim ([a24fb54](https://github.com/event4u-app/agent-config/commit/a24fb54574379aaf90061beee2df4d21e3d55a9a))
|
|
1217
1049
|
|
|
1218
1050
|
### Documentation
|
|
1219
1051
|
|
|
1220
|
-
* **
|
|
1221
|
-
* **maintainers:** one-page system map + prepared branch protection ([efe63d0](https://github.com/event4u-app/agent-config/commit/efe63d006ff7ef97b1f4e201c29e53824ef3af95))
|
|
1222
|
-
* **claims:** pre-register the utilization-window decision criteria ([4667adf](https://github.com/event4u-app/agent-config/commit/4667adf085af9d2e178932b0a3fc9e2d674d6d2c))
|
|
1223
|
-
* **roadmap:** complete + archive road-to-opt-retrieval-and-memory ([cfc8657](https://github.com/event4u-app/agent-config/commit/cfc86578b7033945d227db80d98821aef33b8917))
|
|
1224
|
-
* **roadmap:** complete + archive road-to-opt-council-deliberation ([8777a8e](https://github.com/event4u-app/agent-config/commit/8777a8ebf90c2fc32362cfcbe1e58f8bee8f56d7))
|
|
1225
|
-
* **proof:** persona-identity-placebo-null — backed claim + honest-null story ([0d0de13](https://github.com/event4u-app/agent-config/commit/0d0de1387b6cd61a0165ec26a1db695172dcc2bd))
|
|
1226
|
-
* **rules:** rule-body migration inventory + P4 batches into request-scoped-rule-load ([c5abc40](https://github.com/event4u-app/agent-config/commit/c5abc40e4edc09d92681afbeae5f837f63784e29))
|
|
1227
|
-
* **bench:** record the closed-by-diagnosis disposition ([e02f7d7](https://github.com/event4u-app/agent-config/commit/e02f7d765d1aa2d61ae7bd1e879b27a1711fe595))
|
|
1228
|
-
* **roadmap:** flip the restate step + the confirmed harness prerequisite ([6415b3e](https://github.com/event4u-app/agent-config/commit/6415b3e672a659e8453159ca7e421d2ce7fdb9da))
|
|
1229
|
-
* **roadmap:** flip the stance-repair + chairman-ADR steps ([c1278a0](https://github.com/event4u-app/agent-config/commit/c1278a092027bb1659ba37d3281b9692a2c4066e))
|
|
1230
|
-
* **adr:** ADR-120 — council chairman mode supersedes always-host synthesis ([9e593f4](https://github.com/event4u-app/agent-config/commit/9e593f42bcd5ff844332eb7eca4fbb545be7d8fd))
|
|
1231
|
-
* **roadmap:** flip the debate-gate repair-dispatch step ([d4bba6b](https://github.com/event4u-app/agent-config/commit/d4bba6b31c1ceca01480f66ea80174a27887ab88))
|
|
1052
|
+
* **adr:** ADR-122 + pre-registered finding-coverage claim + eval design ([0123cd2](https://github.com/event4u-app/agent-config/commit/0123cd298d0587fd1eb98f82c7e40f41e912ee05))
|
|
1232
1053
|
|
|
1233
1054
|
### Chores
|
|
1234
1055
|
|
|
1235
|
-
*
|
|
1236
|
-
* **roadmaps:** feedback-8.11-2 disposition executed and archived ([0037d52](https://github.com/event4u-app/agent-config/commit/0037d521c62699d3757b5e975dafbec54beab1b4))
|
|
1237
|
-
* **condense:** record knowledge-card template condensation hash ([7ce68cc](https://github.com/event4u-app/agent-config/commit/7ce68cc38d976a4e10666bdf006db4059d788305))
|
|
1238
|
-
* **roadmaps:** feedback-8.11 disposition executed and archived ([960179f](https://github.com/event4u-app/agent-config/commit/960179fa08e343a8e1bb1856bce76e2025abe8d3))
|
|
1056
|
+
* regenerate derived artefacts for the new rule ([5268766](https://github.com/event4u-app/agent-config/commit/5268766dd6aca34efbac77660ecf3fa9d1553814))
|
|
1239
1057
|
|
|
1240
|
-
Tests:
|
|
1058
|
+
Tests: 7764 (+27 since 9.1.0)
|
|
1241
1059
|
|
|
1242
1060
|
# Era: pre-4.0.0 — archived
|
|
1243
1061
|
|
package/MIGRATION.md
CHANGED
|
@@ -16,6 +16,20 @@ firing (now from `settings.json`), skills/commands stop listing twice, and
|
|
|
16
16
|
`claude-plugin` no longer reporting a duplicate surface). Augment CLI and
|
|
17
17
|
Copilot CLI plugins are unaffected.
|
|
18
18
|
|
|
19
|
+
# Migrating to 9.0
|
|
20
|
+
|
|
21
|
+
> Consumer rule projection is **scoped by default** in 9.0. Full
|
|
22
|
+
> breaking-change detail: [`CHANGELOG.md` § 9.0.0](CHANGELOG.md).
|
|
23
|
+
|
|
24
|
+
Fresh installs now ship `projection.rule_workspaces` pre-filled with every
|
|
25
|
+
consumer workspace, so the 16 exclusively-maintainer specification rules no
|
|
26
|
+
longer arrive: **103 → 88 rules** per install. All domain safety floors,
|
|
27
|
+
domain rules, and kernel rules keep shipping.
|
|
28
|
+
|
|
29
|
+
Existing installs are unchanged until you run `agent-config sync` /
|
|
30
|
+
re-install (settings sync preserves your current value). To stay on the
|
|
31
|
+
legacy every-rule behaviour, set `projection.rule_workspaces: []`.
|
|
32
|
+
|
|
19
33
|
# Migrating to 6.0
|
|
20
34
|
|
|
21
35
|
> Upgrading an existing install to the **6.0 experience-first** layout.
|
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)
|
|
6
6
|
|
|
7
|
-
[](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
|
> **Choose your experience — developer · founder · content · agency · finance · ops. Add packs. Get a focused command set, not a 500-artefact dump.** Bring your own AI provider.
|
|
10
10
|
|
|
@@ -178,7 +178,7 @@ npx -y @event4u/agent-config init
|
|
|
178
178
|
|
|
179
179
|
**Verify hook coverage:** `npx @event4u/agent-config hooks:status` prints the per-platform matrix (`--strict` for CI, `--format json` for tooling).
|
|
180
180
|
|
|
181
|
-
> **Scope (v2.5+):** `init` writes **global** only — `~/.event4u/agent-config/`, `~/.claude/`, `~/.cursor/`, …. The project tree gets `agents/overrides/`
|
|
181
|
+
> **Scope (v2.5+):** `init` writes **global** only — `~/.event4u/agent-config/`, `~/.claude/`, `~/.cursor/`, …. The project tree gets `agents/overrides/` only (the bridge marker was retired — ADR-020 amendment 2026-07-13; the global root resolves from `~/.event4u/agent-config`). `--project` is maintainer-only behind `AGENT_CONFIG_DEV_MODE=1` ([ADR-020](docs/decisions/ADR-020-global-only-consumer-scope.md), [dev-mode](docs/maintainers/dev-mode.md)).
|
|
182
182
|
|
|
183
183
|
Migrating from a v1.x install? `npx @event4u/agent-config migrate` — full notes in [`docs/migration/v1-to-v2.md`](docs/migration/v1-to-v2.md).
|
|
184
184
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
model_tier: inherit
|
|
3
|
+
name: explain-run
|
|
4
|
+
pack: meta
|
|
5
|
+
tier: 2
|
|
6
|
+
visibility: internal
|
|
7
|
+
description: "Read-only 'why did that happen' run report — resolved rule set, rules fired, artefact engagement, subagent dispatches, hook/loop/freshness state — even when the user just says 'explain the last run'."
|
|
8
|
+
argument-hint: "[--task <id>] [--since <ref>]"
|
|
9
|
+
skills: [agent-docs-writing]
|
|
10
|
+
suggestion:
|
|
11
|
+
eligible: false
|
|
12
|
+
rationale: "Package-internal maintainer diagnostic — only the event4u/agent-config repo runs this."
|
|
13
|
+
workspaces:
|
|
14
|
+
- agent-config-maintainer
|
|
15
|
+
packs:
|
|
16
|
+
- meta
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# explain-run
|
|
20
|
+
|
|
21
|
+
Thin runner for the read-only explainability engine `explain_run`
|
|
22
|
+
(`src/scripts/explain_run.ts`). Renders one Markdown
|
|
23
|
+
report answering **"why did the agent do that this run?"** entirely from
|
|
24
|
+
artefacts other parts of the suite already write — no new state, no capture,
|
|
25
|
+
no daemon.
|
|
26
|
+
|
|
27
|
+
The report covers: the resolved rule set (kernel vs trigger-routed, from
|
|
28
|
+
`dist/router.json`), rules the audit log actually observed firing, artefact
|
|
29
|
+
engagement (consulted vs applied), subagent dispatches (mode / tiers / token
|
|
30
|
+
deltas), a hook / loop / freshness state snapshot, and a parked list of
|
|
31
|
+
"why" questions this v0 cannot answer yet (surfaced, never silently omitted).
|
|
32
|
+
|
|
33
|
+
## Instructions
|
|
34
|
+
|
|
35
|
+
### 1. Resolve the window
|
|
36
|
+
|
|
37
|
+
Both arguments are optional and narrow the report:
|
|
38
|
+
|
|
39
|
+
- `--task <id>` — restrict to one task id seen in the audit log.
|
|
40
|
+
- `--since <ref>` — an ISO-8601 timestamp / date cutoff (e.g. `2026-07-01`).
|
|
41
|
+
|
|
42
|
+
With neither, the engine reports over all available artefacts. Pass through
|
|
43
|
+
exactly what the user gave — do not invent a task id or a date.
|
|
44
|
+
|
|
45
|
+
### 2. Run the engine
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
./scripts-run src/scripts/explain_run [--task <id>] [--since <ISO-8601>]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Exit codes:
|
|
52
|
+
|
|
53
|
+
- `0` → report rendered to stdout; continue to step 3.
|
|
54
|
+
- `2` → bad argument (unknown flag or unparsable `--since`); surface stderr
|
|
55
|
+
and stop.
|
|
56
|
+
|
|
57
|
+
The engine prints an honest `no data — <source> absent or empty` for any
|
|
58
|
+
section whose source file is missing — that is expected output, not an error.
|
|
59
|
+
|
|
60
|
+
### 3. Surface the report
|
|
61
|
+
|
|
62
|
+
Show the engine's Markdown output. Do not re-summarize or re-order it — the
|
|
63
|
+
report already opens with a plain-language `## Summary`. If the user wants the
|
|
64
|
+
report written to a file, add `--output <path>` and confirm the write.
|
|
65
|
+
|
|
66
|
+
## Rules
|
|
67
|
+
|
|
68
|
+
- **Read-only** — this command only reads on-disk artefacts. It never edits,
|
|
69
|
+
captures, or writes state (aside from an explicit `--output` file).
|
|
70
|
+
- **Do NOT commit or push** — the working tree is left to the user.
|
|
71
|
+
- **Never edit generated trees** — per [`source-of-truth`](../rules/source-of-truth.md),
|
|
72
|
+
the engine lives in `src/scripts/`; never hand-edit `dist/agent-src/` or any
|
|
73
|
+
tool projection.
|
|
74
|
+
- **Honest nulls, not invented rows** — the engine's `no data` lines are
|
|
75
|
+
correct output; do not fabricate rule firings or dispatches to fill them.
|
|
76
|
+
|
|
77
|
+
## When NOT to use
|
|
78
|
+
|
|
79
|
+
- To *change* behaviour — this only explains it. Rule / routing edits go
|
|
80
|
+
through the normal source-of-truth flow.
|
|
81
|
+
- Kill criterion: the engine self-documents a delete-if-unused-after-3-releases
|
|
82
|
+
criterion; if this command sees zero use, retire it with the engine.
|
|
83
|
+
|
|
84
|
+
## See also
|
|
85
|
+
|
|
86
|
+
- `explain_run` (`src/scripts/explain_run.ts`) — the read-only engine this wraps.
|
|
87
|
+
- `/agent-status` — live session snapshot (this is the retrospective, artefact-sourced view).
|
|
88
|
+
- [`source-of-truth`](../rules/source-of-truth.md) — edit `src/`, never generated trees.
|
|
@@ -131,6 +131,8 @@ On exit `1`, look at the first line after `[halt] outcome=… step=…`:
|
|
|
131
131
|
options verbatim, wait for the user, write their answer back onto the
|
|
132
132
|
matching state slice, then re-run the engine. Never guess.
|
|
133
133
|
|
|
134
|
+
A **cross-source discrepancy** discovered while planning or applying — ticket text contradicting an attached mockup, a spec silent on a clearly-needed behavior, or a spec-vs-codebase conflict (per [`cross-source-consistency`](../rules/cross-source-consistency.md), gated by `consistency.cross_source`) — is a blocking user question, not a silent resolution: surface it as the `questions[0]` halt and wait, never expand scope on a plausible inference.
|
|
135
|
+
|
|
134
136
|
### 4. Directive mapping
|
|
135
137
|
|
|
136
138
|
When `questions[0]` is `@agent-directive: <verb> [key=value …]`, dispatch:
|
|
@@ -95,34 +95,164 @@ That's 6 round-trips for what should be 2.
|
|
|
95
95
|
|
|
96
96
|
### 4. Build the PR body
|
|
97
97
|
|
|
98
|
+
#### 4.0 Resolve the detail level
|
|
99
|
+
|
|
100
|
+
Read `commands.create_pr.detail_level` from `.agent-settings.yml` (default
|
|
101
|
+
`min` when unset). This tier governs **only the explanatory depth of the
|
|
102
|
+
Description section** — never which template sections exist, and never
|
|
103
|
+
whether a critical callout appears (see 4.1 critical-info-always).
|
|
104
|
+
|
|
105
|
+
| Tier | Description section content |
|
|
106
|
+
|---|---|
|
|
107
|
+
| `min` (default) | Title-level summary in 2-3 sentences: *what* changed, *why*, and the user/system impact. No per-file walk, no restating commit subjects, no "how to test". |
|
|
108
|
+
| `med` | `min` + grouped logical changes as 3-5 bullets (by concern, not by file) + a one-line tests note (added / none / coverage). |
|
|
109
|
+
| `max` | `med` + how-to-test steps + edge cases / trade-offs + one "reviewer guidance" line (what to focus on). ≈ the legacy output. |
|
|
110
|
+
|
|
111
|
+
`min` is the default because this is a token-cost optimization: a shorter
|
|
112
|
+
description costs fewer output tokens on every PR. Keep `min` genuinely
|
|
113
|
+
minimal — but never at the expense of the critical-info block below.
|
|
114
|
+
|
|
115
|
+
#### 4.1 Critical-info-always — tier-independent MUST
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
CRITICAL INFORMATION APPEARS AT EVERY TIER, INCLUDING min.
|
|
119
|
+
THE TIER GOVERNS EXPLANATORY DEPTH, NEVER WHETHER A CRITICAL CALLOUT APPEARS.
|
|
120
|
+
DROPPING A BREAKING-CHANGE / MIGRATION / SECURITY / ROLLBACK CALLOUT AT min
|
|
121
|
+
IS A P0 DEFECT, NOT A TOKEN SAVING.
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
If the diff shows any of the following, a one-line callout for it is included
|
|
125
|
+
in the Description **regardless of `detail_level`** (grounded in the diff, not
|
|
126
|
+
guessed):
|
|
127
|
+
|
|
128
|
+
- **Breaking change** — API contract change (new/removed/renamed field, changed
|
|
129
|
+
endpoint or response shape), CLI-arg change, changed env var, or a renamed
|
|
130
|
+
route the frontend depends on. Prefix `⚠️ Breaking:`.
|
|
131
|
+
- **Migration required** — DB migration, config migration, or a deployment step.
|
|
132
|
+
Prefix `Migration:`.
|
|
133
|
+
- **Security implication** — new permission/scope, auth change, or data-exposure
|
|
134
|
+
surface. Prefix `🔒 Security:`.
|
|
135
|
+
- **Non-trivial rollback** — when reverting is not a plain `git revert`. Prefix
|
|
136
|
+
`Rollback:`.
|
|
137
|
+
|
|
138
|
+
None present → omit the block entirely (do not emit empty "No breaking
|
|
139
|
+
changes" filler at `min`).
|
|
140
|
+
|
|
141
|
+
#### 4.2 Fill the template sections
|
|
142
|
+
|
|
98
143
|
**ALWAYS** use the PR template (`.github/pull_request_template.md`). Fill in its sections:
|
|
99
144
|
|
|
100
145
|
- **Jira badge**: Replace `{TICKET-NUMBER}` with the actual ticket ID.
|
|
101
|
-
- **Description**:
|
|
102
|
-
Use the Jira ticket description
|
|
146
|
+
- **Description**: Write it to the resolved tier (4.0) with the critical-info
|
|
147
|
+
block (4.1) always present. Use the Jira ticket description + commit messages
|
|
148
|
+
as input.
|
|
103
149
|
- **Type of change**: Check the appropriate checkbox(es) based on the changes.
|
|
104
150
|
- **Checklist**: Leave as-is (the developer fills this in).
|
|
105
151
|
- **Links**: Replace `{TICKET-NUMBER}` with the actual ticket ID.
|
|
106
|
-
- **Screenshots**:
|
|
152
|
+
- **Screenshots**: Handled by Step 4.4 (default: leave the placeholder / `...`).
|
|
107
153
|
|
|
108
|
-
If no PR template exists, use this structure
|
|
154
|
+
If no PR template exists, use this structure — including only the sections the
|
|
155
|
+
tier calls for (at `min`, the `## Changes` bullets collapse to the 2-3 sentence
|
|
156
|
+
summary and `## How to test` is omitted):
|
|
109
157
|
|
|
110
158
|
```markdown
|
|
111
159
|
## Jira
|
|
112
160
|
[{TICKET-ID}]({JIRA_BASE_URL}/browse/{TICKET-ID})
|
|
113
161
|
|
|
114
|
-
##
|
|
115
|
-
-
|
|
162
|
+
## Description
|
|
163
|
+
- 2-3 sentence what/why/impact (min) — grouped bullets (med/max)
|
|
164
|
+
- Critical-info callouts (any tier, only if present)
|
|
116
165
|
|
|
117
166
|
### Migrations
|
|
118
167
|
- List new/changed migrations (if any)
|
|
119
168
|
|
|
120
169
|
### Tests
|
|
121
|
-
- List new/changed tests (
|
|
170
|
+
- List new/changed tests (med/max)
|
|
122
171
|
|
|
123
172
|
## How to test
|
|
124
|
-
- Steps to verify the changes
|
|
173
|
+
- Steps to verify the changes (max)
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
#### 4.3 API response examples (evidence-grounded)
|
|
177
|
+
|
|
178
|
+
Read `commands.create_pr.api_examples` (default `true`). When `true` **and**
|
|
179
|
+
the diff touches an API endpoint, add a fenced request/response example under
|
|
180
|
+
the Description.
|
|
181
|
+
|
|
182
|
+
**Detect an API-endpoint change** (fail-open — no false enrichment when
|
|
183
|
+
ambiguous): a changed file matches `commands.create_pr.api_paths` (if set), or
|
|
184
|
+
the light heuristic — a route file (`routes/`, `**/api/**`, `*Controller*`,
|
|
185
|
+
resource/serializer classes) whose diff adds or changes an endpoint or its
|
|
186
|
+
request/response shape. No confident match → skip silently.
|
|
187
|
+
|
|
188
|
+
**Ground the example in a real source — never invent one:**
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
NEVER FABRICATE A JSON EXAMPLE. AN INVENTED CONTRACT MISLEADS REVIEWERS
|
|
192
|
+
AND IS WORSE THAN NONE. EMIT A JSON BLOCK ONLY FROM A REAL SOURCE.
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Grounding sources, in priority order: the response DTO / API-resource /
|
|
196
|
+
serializer class in the diff · an OpenAPI/JSON-schema in the repo · a test
|
|
197
|
+
fixture or assertion exercising the endpoint · the actual output of a probe you
|
|
198
|
+
ran this session (`curl` / test client). If **none** exists, emit a one-line
|
|
199
|
+
pointer instead — `API contract changed — see \`<file>\`` — never a guessed
|
|
200
|
+
example. This is [`senior-engineering-discipline`](../rules/senior-engineering-discipline.md)
|
|
201
|
+
(never invent an API) applied to the description surface.
|
|
202
|
+
|
|
203
|
+
Format when grounded:
|
|
204
|
+
|
|
205
|
+
~~~markdown
|
|
206
|
+
### API example (`POST /api/...`)
|
|
207
|
+
Request:
|
|
208
|
+
```json
|
|
209
|
+
{ ...grounded... }
|
|
210
|
+
```
|
|
211
|
+
Response `201`:
|
|
212
|
+
```json
|
|
213
|
+
{ ...grounded... }
|
|
125
214
|
```
|
|
215
|
+
~~~
|
|
216
|
+
|
|
217
|
+
`api_examples: false` → skip this step entirely.
|
|
218
|
+
|
|
219
|
+
#### 4.4 Screenshots for frontend changes (capability-gated)
|
|
220
|
+
|
|
221
|
+
Read `commands.create_pr.screenshots` (default `false`). `false` → skip this
|
|
222
|
+
step entirely; leave the template Screenshots placeholder as-is.
|
|
223
|
+
|
|
224
|
+
When `true`, this is a **capability-gated contract, never a runtime
|
|
225
|
+
orchestrator** — the package ships instructions, the host provides the tools:
|
|
226
|
+
|
|
227
|
+
1. **Frontend-change gate.** Only proceed if the diff touches a frontend
|
|
228
|
+
surface — a changed file matches `commands.create_pr.ui_paths` (if set), or
|
|
229
|
+
the light heuristic (`.vue` / `.tsx` / `.jsx` / `.blade.php` / `.svelte`,
|
|
230
|
+
component/view/page/template dirs, CSS/Tailwind). No match → skip silently.
|
|
231
|
+
2. **Capability gate — explicit, never silent.** Screenshots need host
|
|
232
|
+
browser/preview tooling (a Playwright/browser MCP **and** a reachable dev-server
|
|
233
|
+
or preview URL). There is no capability flag to read, so probe cheaply. If the
|
|
234
|
+
tooling or a running preview is **absent**:
|
|
235
|
+
- Leave the template Screenshots placeholder untouched, **and**
|
|
236
|
+
- Emit ONE line in the chat reply: `Screenshots requested (screenshots: true)
|
|
237
|
+
but no browser/preview tooling was reachable — skipped.`
|
|
238
|
+
- **Never** fail, block, or delay PR creation over this.
|
|
239
|
+
3. **Capture (when capable).** Capture the current (head) state of each changed
|
|
240
|
+
surface. Before/after (base vs head) with changed-region highlighting is
|
|
241
|
+
**best-effort only** — a base checkout mid-PR is fragile and expensive;
|
|
242
|
+
attempt it only if cheap and safe, otherwise after-only. One screenshot per
|
|
243
|
+
changed surface, each with a one-line caption.
|
|
244
|
+
4. **Embedding — honest limits.** The `github-api pulls` write path cannot
|
|
245
|
+
upload image bytes and GitHub markdown does not render `data:` URIs, so an
|
|
246
|
+
agent cannot inline captured bytes into the body via the API. Use, in order:
|
|
247
|
+
(a) a host image-upload capability if one exists (embed the returned URL);
|
|
248
|
+
(b) otherwise save the screenshots to a local path, reference them in the
|
|
249
|
+
Screenshots section, and tell the user to drag them into the PR in the
|
|
250
|
+
GitHub UI. **Never claim an embed that did not happen**
|
|
251
|
+
([`direct-answers`](../rules/direct-answers.md) Iron Law 2).
|
|
252
|
+
|
|
253
|
+
Limitations (state them so expectations are set): default off; depends on host
|
|
254
|
+
browser tooling + a running preview; before/after + highlighting is best-effort;
|
|
255
|
+
byte-embedding into the PR body is not possible via the API.
|
|
126
256
|
|
|
127
257
|
### 5. Present as copyable block
|
|
128
258
|
|