@event4u/agent-config 10.3.0 → 10.4.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 +78 -0
- package/README.md +1 -1
- package/dist/agent-src/commands/analyze.md +2 -1
- package/dist/agent-src/commands/design-system/capture.md +44 -0
- package/dist/agent-src/commands/design-system/generate.md +53 -0
- package/dist/agent-src/commands/design-system/import.md +63 -0
- package/dist/agent-src/commands/design-system.md +66 -0
- package/dist/agent-src/skills/design-system-capture/SKILL.md +9 -0
- package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +70 -0
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.ts +4 -1
- package/dist/cli-delegate/chunk-RLN73PR5.js +157 -0
- package/dist/cli-delegate/{chunk-I5EAFRII.js → chunk-ZPSXJTLI.js} +2 -154
- package/dist/cli-delegate/cmd_conformance.js +671 -213
- package/dist/cli-delegate/cmd_handoff.js +8 -6
- package/dist/cli-delegate/cmd_session_recycle.js +5 -3
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +116 -11
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +9 -5
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +8 -4
- package/dist/hooks/dispatch.js +940 -387
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +1102 -592
- package/package.json +1 -1
- package/src/agent-src/templates/scripts/work_engine/directives/ui/design.ts +4 -1
- package/src/config/gate-coverage.yml +23 -2
- package/src/config/gate-violation-baselines.json +2 -2
- package/src/scripts/_lib/design_system_import.ts +987 -0
- package/src/scripts/design_system_import.ts +264 -0
- package/src/scripts/hook_manifest.yaml +71 -2
- package/src/scripts/hooks/concern_registry.ts +4 -0
- package/src/scripts/hooks/dispatch_hook.ts +10 -0
- package/src/scripts/hooks/host_semantics.ts +2 -0
- package/src/scripts/hooks/spawn_guard_shadow_hook.ts +212 -0
- package/src/scripts/hooks/subagent_ledger_hook.ts +723 -0
- package/src/scripts/hooks/turn_end_gate_hook.ts +39 -2
- package/src/scripts/lint_hook_manifest.ts +2 -0
- package/src/scripts/lint_rule_skill_pack_reach.ts +194 -13
- package/tests/fixtures/hooks/subagent_start.json +7 -0
- package/tests/fixtures/hooks/subagent_stop.json +8 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@event4u/agent-config",
|
|
3
3
|
"mcpName": "io.github.event4u-app/agent-config",
|
|
4
|
-
"version": "10.
|
|
4
|
+
"version": "10.4.0",
|
|
5
5
|
"description": "Governed skills, rules and commands for AI coding tools (Claude Code, Cursor, Windsurf, Copilot) — every claim machine-checked, including \"zero runtime daemon\".",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"private": false,
|
|
@@ -345,7 +345,10 @@ function _halt_provided_without_contract(
|
|
|
345
345
|
'> 1. Proceed — port it with those five losses on the record; `apply` ' +
|
|
346
346
|
'still has to report what it honoured, translated, and flagged',
|
|
347
347
|
'> 2. Supply a `design-system.json` — its token values are then ' +
|
|
348
|
-
'honoured verbatim instead of re-derived'
|
|
348
|
+
'honoured verbatim instead of re-derived. Already have an ' +
|
|
349
|
+
"extractor's output in another shape? `/design-system:import " +
|
|
350
|
+
'<file>` maps a DTCG token file or an extraction tool\'s raw JSON ' +
|
|
351
|
+
'into this contract offline.',
|
|
349
352
|
'> 3. Abort — drop this UI request',
|
|
350
353
|
'',
|
|
351
354
|
'**Recommendation: 2 — Supply the contract** — it is the only option ' +
|
|
@@ -305,8 +305,8 @@ gates:
|
|
|
305
305
|
|
|
306
306
|
- id: check_ci_local_parity
|
|
307
307
|
argv: ["--quiet"]
|
|
308
|
-
min_scanned:
|
|
309
|
-
corpus: "CI + local gate invocations parsed from .github/workflows + taskfiles (
|
|
308
|
+
min_scanned: 340
|
|
309
|
+
corpus: "CI + local gate invocations parsed from .github/workflows + taskfiles (360 measured 2026-08-13: 109 CI + 251 local)"
|
|
310
310
|
status: enforced
|
|
311
311
|
note: >
|
|
312
312
|
Registered 2026-08-02. It already emitted the contract line on every path,
|
|
@@ -317,6 +317,27 @@ gates:
|
|
|
317
317
|
taskfile set, so the only plantable violation is a new file under
|
|
318
318
|
.github/workflows — a surface the canary must not write to. Reported
|
|
319
319
|
UNPROVEN by --canary, never green.
|
|
320
|
+
FLOOR RE-ANCHORED 380 → 340 on 2026-08-13, and the direction deserves an
|
|
321
|
+
argument rather than a diff.
|
|
322
|
+
The claim is NOT that 443 minus phantoms equals 360 — that arithmetic does
|
|
323
|
+
not close, and pretending otherwise would be the false-precision this
|
|
324
|
+
manifest exists to prevent. 443 was measured on 2026-08-02 against a
|
|
325
|
+
different tree: both a CI-side set inflated by 167 phantoms AND a smaller
|
|
326
|
+
local set than today's. The two totals are not comparable term by term.
|
|
327
|
+
What IS comparable is the repair's own before/after on ONE tree, which is
|
|
328
|
+
the measurement that matters here: CI-side 273 → 106, because gate names
|
|
329
|
+
were being read out of workflow COMMENTS by an extraction bug this gate's
|
|
330
|
+
own repair removed. So the fall is entries that never existed ceasing to be
|
|
331
|
+
counted, not reach being lost — the discriminator false-green.md § 5 asks
|
|
332
|
+
for ("a legitimate ratchet lowers severity while keeping reach"). Reach over
|
|
333
|
+
the real corpus is one unit HIGHER than before this change: the two gates
|
|
334
|
+
wired into consistency.yml were previously reachable from neither side.
|
|
335
|
+
Why 340 and not 360, the measured value: gate-authoring.md § registration
|
|
336
|
+
requires a floor BELOW the live count, because a floor pinned at today's
|
|
337
|
+
number reds on the very change that legitimately retires one unit. 340
|
|
338
|
+
leaves ~20 units (~5.5%) of headroom while still catching the collapse this
|
|
339
|
+
floor exists for — a re-broken extractor would drop the count by 164, not
|
|
340
|
+
by 20.
|
|
320
341
|
|
|
321
342
|
- id: check_site_links
|
|
322
343
|
argv: []
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"$comment": "Violation ratchet for gates whose dead scan root was repaired. A repair REVEALS pre-existing debt; it does not create it. Each entry records the count revealed at repair time — the gate fails only when its count RISES. Lowering a count is a normal commit; raising one is a defect. Entries expire: a baseline that has not dropped within 56 days of `landed` (or of `reaffirmed.date`) fails its gate, because a number that never moves is suppression with extra steps. Mechanism + rationale: src/scripts/_lib/gate_baseline.ts. Decision: AI council 2026-08-02, roadmap road-to-gates-that-can-fail blocker `dead-gate-finding-triage`.",
|
|
3
3
|
"gates": {
|
|
4
4
|
"ci-parity:local-only": {
|
|
5
|
-
"count":
|
|
5
|
+
"count": 166,
|
|
6
6
|
"landed": "2026-08-13",
|
|
7
|
-
"note": "Gates that `task ci` runs and no workflow does — the direction this manifest's own header calls the one that let real defects merge (16 stale index rows reached the trunk behind a local-only check-index). Revealed, not created, by repairing the checker's extraction: check_ci_local_parity built its CI-side set by regexing RAW workflow text for `task <name>` and expanding each closure, comments included. Several workflow comments contain the literal string `task ci` while stating that no workflow invokes it, so `ci` was read as an invocation and its full 247-gate closure entered the 'runs in CI' set. The count was therefore 0 BY CONSTRUCTION, and the prose documenting the gap was what suppressed it. Measured at the repair: CI-side 273 → 106, undeclared_local_only 0 → 167 of 247 local gates (68%). Baselined rather than hard-failed because 167 findings nobody can clear in the change that reveals them is the gate-that-lands-as-N-instant-blockers failure this repository has refused before; shrink-only keeps the property that matters, namely that a NEW gate registered in `task ci` with no workflow reds immediately. Lowering happens by wiring gates into workflows or declaring them under `local_only:` with a reason. Note the punchline, because it bounds the risk of this entry: check_ci_local_parity ITSELF runs in no workflow, so it is its own finding and this ratchet has no remote reach either — clearing the backlog is what gives it teeth.",
|
|
7
|
+
"note": "Gates that `task ci` runs and no workflow does — the direction this manifest's own header calls the one that let real defects merge (16 stale index rows reached the trunk behind a local-only check-index). Revealed, not created, by repairing the checker's extraction: check_ci_local_parity built its CI-side set by regexing RAW workflow text for `task <name>` and expanding each closure, comments included. Several workflow comments contain the literal string `task ci` while stating that no workflow invokes it, so `ci` was read as an invocation and its full 247-gate closure entered the 'runs in CI' set. The count was therefore 0 BY CONSTRUCTION, and the prose documenting the gap was what suppressed it. Measured at the repair: CI-side 273 → 106, undeclared_local_only 0 → 167 of 247 local gates (68%). Baselined rather than hard-failed because 167 findings nobody can clear in the change that reveals them is the gate-that-lands-as-N-instant-blockers failure this repository has refused before; shrink-only keeps the property that matters, namely that a NEW gate registered in `task ci` with no workflow reds immediately. Lowering happens by wiring gates into workflows or declaring them under `local_only:` with a reason. Note the punchline, because it bounds the risk of this entry: check_ci_local_parity ITSELF runs in no workflow, so it is its own finding and this ratchet has no remote reach either — clearing the backlog is what gives it teeth. DRAINED BY ONE, 2026-08-13: check_ci_local_parity itself was wired into consistency.yml, so it left the set it exists to report. That is the whole shape of a legitimate drain here — the gate stops being local-only because a workflow now runs it, not because the declaration list grew. The floor in gate-coverage.yml moved in the same change and for the same reason: wiring two gates raised the parsed population 357 -> 359.",
|
|
8
8
|
"falsifier": "./scripts-run src/scripts/check_ci_local_parity"
|
|
9
9
|
},
|
|
10
10
|
"check_no_new_legacy_path:hardcoded-scan-roots": {
|