@event4u/agent-config 14.8.0 → 14.9.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 +165 -237
- package/README.md +1 -1
- package/agents/templates/.ai-council.yml.example +34 -4
- package/dist/agent-src/commands/pr/merge.md +9 -5
- package/dist/agent-src/commands/review/changes.md +95 -14
- package/dist/agent-src/commands/roadmap/process-full.md +2 -2
- package/dist/agent-src/contexts/execution/host-capability-manifest.md +77 -0
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +36 -0
- package/dist/agent-src/contexts/execution/subagent-response-contract.md +80 -0
- package/dist/agent-src/rules/untrusted-input-defense.md +9 -3
- package/dist/agent-src/skills/code-review/evals/evals.json +87 -46
- package/dist/agent-src/skills/humanizer/SKILL.md +39 -0
- package/dist/agent-src/skills/humanizer/evals/strip_fixtures.json +57 -0
- package/dist/agent-src/skills/humanizer/references/fixtures.md +54 -0
- package/dist/agent-src/skills/judge-spec-compliance/SKILL.md +154 -0
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +45 -0
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +18 -18
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/roadmaps.md +8 -0
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli-delegate/{chunk-MMSGVZKV.js → chunk-77GR3VD4.js} +65 -40
- package/dist/cli-delegate/{chunk-Q26HT4QT.js → chunk-E46KPN6K.js} +251 -150
- package/dist/cli-delegate/{chunk-EEJUMCDZ.js → chunk-PLSG6UL5.js} +1 -1
- package/dist/cli-delegate/cmd_conformance.js +89 -13
- package/dist/cli-delegate/cmd_doctor.js +3 -3
- package/dist/cli-delegate/cmd_handoff.js +2 -2
- package/dist/cli-delegate/cmd_memory_get.js +1 -1
- package/dist/cli-delegate/cmd_route_audit.js +1 -1
- package/dist/cli-delegate/cmd_settings_get.js +1 -1
- package/dist/cli-delegate/cmd_settings_set.js +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +37 -15
- 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 +6 -5
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +5 -4
- package/dist/hooks/dispatch.js +562 -204
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +808 -331
- package/dist/scripts/_lib/claude_plugin.js +162 -0
- package/dist/scripts/_lib/claude_plugin.js.map +1 -0
- package/dist/scripts/_lib/environment_detector.js +397 -0
- package/dist/scripts/_lib/environment_detector.js.map +1 -0
- package/dist/scripts/_lib/spawn_env.js +129 -0
- package/dist/scripts/_lib/spawn_env.js.map +1 -0
- package/dist/scripts/ai_council/modes.js +199 -0
- package/dist/scripts/ai_council/modes.js.map +1 -0
- package/dist/scripts/ai_council/transport_resolver.js +418 -0
- package/dist/scripts/ai_council/transport_resolver.js.map +1 -0
- package/dist/server/routes/wizard.js +3 -2
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/ui/assets/index-Cxgy63kz.js +26 -0
- package/dist/ui/assets/index-Cxgy63kz.js.map +1 -0
- package/dist/ui/index.html +1 -1
- package/docs/guidelines/agent-infra/traceability-field-mechanics.md +50 -0
- package/docs/guidelines/agent-infra/untrusted-input-spotlighting.md +17 -0
- package/package.json +7 -3
- package/src/config/estate-count-budget.json +13 -744
- package/src/config/evaluator-budgets.json +4 -4
- package/src/config/gate-coverage.yml +247 -9
- package/src/config/gate-violation-baselines.json +72 -72
- package/src/config/publish-surface.json +60 -0
- package/src/config/requirements-trace-budget.json +32 -0
- package/src/config/rule-stub-ceilings.json +8 -1
- package/src/scripts/_dispatch.bash +7 -0
- package/src/scripts/_lib/base_tree.ts +175 -0
- package/src/scripts/_lib/billing_grant.ts +165 -0
- package/src/scripts/_lib/billing_grant_cli.ts +123 -0
- package/src/scripts/_lib/council_fallback_posture.ts +53 -6
- package/src/scripts/_lib/council_fallback_wiring.ts +61 -1
- package/src/scripts/_lib/host_capability.ts +59 -5
- package/src/scripts/_lib/quota_parked.ts +133 -0
- package/src/scripts/_lib/retrieval_sanitize.ts +62 -0
- package/src/scripts/_lib/review_telemetry.ts +196 -0
- package/src/scripts/_lib/subagent_response.ts +92 -0
- package/src/scripts/adr/regenerate_index.ts +14 -7
- package/src/scripts/ai_council/clients.ts +12 -1
- package/src/scripts/ai_council/config.ts +72 -115
- package/src/scripts/ai_council/fallback_config.ts +19 -7
- package/src/scripts/ai_council/mid_flight_fallback.ts +88 -7
- package/src/scripts/ai_council/orchestrator.ts +2 -2
- package/src/scripts/ai_council/py_format.ts +124 -0
- package/src/scripts/ai_council/transport_resolver.ts +65 -2
- package/src/scripts/audit_adr_coverage.ts +33 -6
- package/src/scripts/check_council_pin_staleness.ts +300 -0
- package/src/scripts/check_estate_count.ts +420 -293
- package/src/scripts/check_gate_coverage.ts +91 -0
- package/src/scripts/check_no_stub_inventory_table.ts +292 -0
- package/src/scripts/check_pack_size.ts +234 -1
- package/src/scripts/check_publish_surface.ts +297 -0
- package/src/scripts/check_requirements_trace.ts +378 -0
- package/src/scripts/check_secret_leak.ts +166 -12
- package/src/scripts/code_graph/cli.ts +44 -5
- package/src/scripts/code_graph/extract.ts +87 -0
- package/src/scripts/council_cli.ts +12 -16
- package/src/scripts/detect_ai_tells.ts +87 -0
- package/src/scripts/dispatch_r2_reviewer.ts +42 -0
- package/src/scripts/generate_capabilities_index.ts +41 -0
- package/src/scripts/git_authorization_hook.ts +54 -4
- package/src/scripts/hooks/block_unauthorized_git.ts +19 -1
- package/src/scripts/hooks/run_continuation_hook.ts +3 -1
- package/src/scripts/hooks/subagent_ledger_hook.ts +76 -11
- package/src/scripts/injection_scan_hook.ts +120 -10
- package/src/scripts/lint_adr_sweep_routing.ts +365 -0
- package/src/scripts/lint_workflow_security.ts +53 -10
- package/src/scripts/lint_workflow_security_allowlist.json +2 -18
- package/src/scripts/report_envelope_rate.ts +166 -0
- package/src/scripts/review_axis_report.ts +218 -0
- package/src/scripts/run_supervise.ts +46 -1
- package/src/scripts/schemas/evals.schema.json +5 -0
- package/src/scripts/sync_pr_branch.ts +14 -7
- package/dist/cli/commands/commands.candidates.test.js +0 -257
- package/dist/cli/commands/commands.candidates.test.js.map +0 -1
- package/dist/cli/commands/profiles.test.js +0 -88
- package/dist/cli/commands/profiles.test.js.map +0 -1
- package/dist/cli/commands/recordTriggerEval.test.js +0 -113
- package/dist/cli/commands/recordTriggerEval.test.js.map +0 -1
- package/dist/cli/configRoot.test.js +0 -97
- package/dist/cli/configRoot.test.js.map +0 -1
- package/dist/cli/mcp/content.test.js +0 -54
- package/dist/cli/mcp/content.test.js.map +0 -1
- package/dist/cli/mcp/dispatch.test.js +0 -108
- package/dist/cli/mcp/dispatch.test.js.map +0 -1
- package/dist/server/writeRoot.test.js +0 -91
- package/dist/server/writeRoot.test.js.map +0 -1
- package/dist/shared/capabilities.test.js +0 -39
- package/dist/shared/capabilities.test.js.map +0 -1
- package/dist/ui/assets/index-C1pBRm1f.js +0 -26
- package/dist/ui/assets/index-C1pBRm1f.js.map +0 -1
- /package/dist/cli-delegate/{chunk-N7CDDGI3.js → chunk-CYH5SP6M.js} +0 -0
package/dist/ui/index.html
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
document.documentElement.setAttribute('data-theme', theme);
|
|
28
28
|
})();
|
|
29
29
|
</script>
|
|
30
|
-
<script type="module" crossorigin src="/assets/index-
|
|
30
|
+
<script type="module" crossorigin src="/assets/index-Cxgy63kz.js"></script>
|
|
31
31
|
<link rel="stylesheet" crossorigin href="/assets/index-jSfMW8_t.css">
|
|
32
32
|
</head>
|
|
33
33
|
<body>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Traceability field mechanics — `traceability:` in the roadmap execution contract
|
|
2
|
+
|
|
3
|
+
> Migrated from [`roadmap-execution-contract`](../../../src/agent-src/contexts/execution/roadmap-execution-contract.md)
|
|
4
|
+
> § 2c, 2026-08-22, because the section pushed that file past the 16,000-char
|
|
5
|
+
> depth ceiling. The contract keeps the field shape and the reused grammars; the
|
|
6
|
+
> semantics a reader needs before writing a row live here. Established P4
|
|
7
|
+
> pattern: the obligation stays in the contract, the mechanics move.
|
|
8
|
+
|
|
9
|
+
## Identity semantics — stated, because a slug grammar does not imply them
|
|
10
|
+
|
|
11
|
+
- **Namespace:** the roadmap file. Two roadmaps MAY use the same
|
|
12
|
+
`requirement_id` when they reference the same external requirement; within one
|
|
13
|
+
file an id is unique.
|
|
14
|
+
- **Cardinality:** one row is one `(requirement, acceptance)` pair with its
|
|
15
|
+
evidence. A requirement with two criteria is two rows.
|
|
16
|
+
- **Renames:** ids are content-addressed, not path-addressed — moving or renaming
|
|
17
|
+
a roadmap does not change them.
|
|
18
|
+
|
|
19
|
+
## Revision semantics — when a ref is evaluated
|
|
20
|
+
|
|
21
|
+
**At the current head, always.** A ref that resolved at declaration time and no
|
|
22
|
+
longer resolves is `unresolved`, and that is the intended reading rather than a
|
|
23
|
+
defect in the reading: evidence that has been deleted is exactly what a
|
|
24
|
+
traceability inventory exists to surface. The consequence is stated rather than
|
|
25
|
+
discovered: **a completed roadmap can move from resolved to unresolved with no
|
|
26
|
+
roadmap edit**, because the tree moved under it.
|
|
27
|
+
|
|
28
|
+
## What "gate" means here, of the three things it could mean
|
|
29
|
+
|
|
30
|
+
The council named three unresolved senses. Exactly one ships:
|
|
31
|
+
|
|
32
|
+
| Sense | Status |
|
|
33
|
+
|---|---|
|
|
34
|
+
| **Listing** declarations | **ships** — inventory, exit 0 always |
|
|
35
|
+
| **Resolving** references | ships as part of the listing, reported as a count |
|
|
36
|
+
| **Enforcing** roadmap validity | **does not ship**, and does not ship until the relation model above has been exercised on a real corpus |
|
|
37
|
+
|
|
38
|
+
## The `[AC:<id>]` prefix on a `verify:` line
|
|
39
|
+
|
|
40
|
+
A `verify:` line may carry a leading `[AC:<acceptance_id>]` to bind that check to
|
|
41
|
+
a criterion.
|
|
42
|
+
|
|
43
|
+
**Nothing parses `verify:` lines structurally today** — verified 2026-08-22: a
|
|
44
|
+
grep across `src/scripts/*.ts` finds the template prose emitted by
|
|
45
|
+
`new_roadmap.ts` and one comment in `lint_evidence_artifacts.ts`, and nothing
|
|
46
|
+
else. Both halves of that matter. **Nothing breaks**, because there is no parser
|
|
47
|
+
to break. And **there is nothing to build on** either: the inventory below is
|
|
48
|
+
the first structural reader of those lines, so any claim about `[AC:…]` coverage
|
|
49
|
+
rests entirely on it.
|
|
50
|
+
|
|
@@ -135,6 +135,23 @@ recommends. The mapping (no new gate needed):
|
|
|
135
135
|
| LLM01 #6 — segregate and identify external content | [`untrusted-input-defense`](../../../src/rules/untrusted-input-defense.md) + this guideline |
|
|
136
136
|
| LLM06 — least agency / post-action gating | [`runtime-safety`](../../../src/rules/runtime-safety.md) (manual/assisted/automated), [`verify-before-complete`](../../../src/rules/verify-before-complete.md) |
|
|
137
137
|
|
|
138
|
+
## The content-scanning hook
|
|
139
|
+
|
|
140
|
+
`injection_scan_hook.ts` binds to `post_tool_use`, reads tool output, and
|
|
141
|
+
reports **15 measured encoding channels plus four phrase families** — measured
|
|
142
|
+
over the frozen corpus at `internal/bench/corpora/encoding-channels/` at
|
|
143
|
+
**99.00 % recall and a 0.85 % false-positive rate**. It is warn-only
|
|
144
|
+
(`fail_closed: false`, `severity: advisory` in `hook_manifest.yaml`) and ships
|
|
145
|
+
**default-OFF**.
|
|
146
|
+
|
|
147
|
+
Read those two numbers as properties of that corpus, not of the wild: a channel
|
|
148
|
+
nobody put in the corpus is a channel the recall figure says nothing about.
|
|
149
|
+
|
|
150
|
+
It changes nothing about the rule's `enforced_by` field, and the reason is in
|
|
151
|
+
[`untrusted-input-defense § Enforcement`](../../../src/rules/untrusted-input-defense.md):
|
|
152
|
+
a hook that cannot refuse does not enforce. The detector narrows what an
|
|
153
|
+
injection can do unnoticed; it does not make the quarantine mechanical.
|
|
154
|
+
|
|
138
155
|
## Limits
|
|
139
156
|
|
|
140
157
|
Detection and spotlighting are **probabilistic** layers, not guarantees
|
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": "14.
|
|
4
|
+
"version": "14.9.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,
|
|
@@ -55,7 +55,11 @@
|
|
|
55
55
|
"LICENSE",
|
|
56
56
|
"MIGRATION.md",
|
|
57
57
|
"README.md",
|
|
58
|
-
"llms.txt"
|
|
58
|
+
"llms.txt",
|
|
59
|
+
"!dist/**/*.test.js",
|
|
60
|
+
"!dist/**/*.test.js.map",
|
|
61
|
+
"!dist/**/*.spec.js",
|
|
62
|
+
"!dist/**/*.spec.js.map"
|
|
59
63
|
],
|
|
60
64
|
"bin": {
|
|
61
65
|
"agent-config": "dist/cli/agent-config.js"
|
|
@@ -77,7 +81,7 @@
|
|
|
77
81
|
"build:mcp-catalog": "./scripts-run src/scripts/build_mcp_catalog --write --strict",
|
|
78
82
|
"build": "npm run build:cli && npm run build:install-bundle && npm run build:hooks && npm run build:mcp-bundle && npm run build:cli-delegate && npm run build:ui",
|
|
79
83
|
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.scripts.json",
|
|
80
|
-
"lint:ts": "eslint --cache 'src/**/*.ts'",
|
|
84
|
+
"lint:ts": "eslint --cache --max-warnings 0 'src/**/*.ts'",
|
|
81
85
|
"test:ts": "vitest run",
|
|
82
86
|
"lint:publint": "publint",
|
|
83
87
|
"prepack": "npm run build && npm run build:discovery && npm run build:mcp-manifest && node src/scripts/prepack-check.mjs",
|