@event4u/agent-config 9.6.0 → 9.8.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 +207 -942
- package/README.md +21 -21
- package/dist/agent-src/README.md +2 -2
- package/dist/agent-src/commands/commit/in-chunks.md +8 -0
- package/dist/agent-src/commands/commit.md +17 -0
- package/dist/agent-src/commands/pr/create.md +4 -0
- package/dist/agent-src/contexts/override-system.md +75 -5
- package/dist/agent-src/rules/context-hygiene.md +2 -0
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +97 -0
- package/dist/agent-src/rules/domain-safety-pii.md +1 -0
- package/dist/agent-src/rules/downstream-changes.md +31 -1
- package/dist/agent-src/rules/external-code-graph-interop.md +13 -3
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +2 -0
- package/dist/agent-src/rules/git-history-discipline.md +2 -0
- package/dist/agent-src/rules/language-and-tone.md +2 -0
- package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
- package/dist/agent-src/rules/media-governance-routing.md +2 -0
- package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
- package/dist/agent-src/rules/no-roadmap-references.md +3 -0
- package/dist/agent-src/rules/non-destructive-by-default.md +20 -0
- package/dist/agent-src/rules/onboarding-gate.md +2 -0
- package/dist/agent-src/rules/output-discipline.md +2 -0
- package/dist/agent-src/rules/persona-governance.md +2 -0
- package/dist/agent-src/rules/preservation-guard.md +3 -0
- package/dist/agent-src/rules/roadmap-progress-sync.md +2 -0
- package/dist/agent-src/rules/secret-vcs-guard.md +106 -0
- package/dist/agent-src/rules/security-sensitive-stop.md +1 -1
- package/dist/agent-src/rules/skill-quality.md +2 -0
- package/dist/agent-src/rules/source-confidentiality.md +2 -0
- package/dist/agent-src/rules/source-of-truth.md +2 -0
- package/dist/agent-src/rules/telegraph-speak.md +2 -0
- package/dist/agent-src/rules/token-optimizer-maintenance.md +2 -0
- package/dist/agent-src/rules/tool-safety.md +1 -0
- package/dist/agent-src/rules/verify-before-complete.md +2 -0
- package/dist/agent-src/skills/adr-create/SKILL.md +17 -1
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +34 -16
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +9 -9
- package/dist/agent-src/skills/code-intelligence/SKILL.md +94 -0
- package/dist/agent-src/skills/gated-reach/SKILL.md +185 -0
- package/dist/agent-src/skills/gated-reach/evals/triggers.json +72 -0
- package/dist/agent-src/skills/image-analyser/SKILL.md +14 -12
- package/dist/agent-src/skills/image-editing/SKILL.md +1 -0
- package/dist/agent-src/skills/readme-writing/SKILL.md +6 -1
- package/dist/agent-src/skills/screenshot-hygiene/SKILL.md +171 -0
- package/dist/agent-src/skills/secrets-management/SKILL.md +44 -1
- package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge-two-stage.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-competitively.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-parallel.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-worktrees.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/judge-with-debate.md +29 -0
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +4 -0
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/github-workflows/doc-impact.yml +101 -0
- package/dist/agent-src/templates/github-workflows/secret-scan.yml +65 -0
- package/dist/cli/configRoot.js +112 -0
- package/dist/cli/configRoot.js.map +1 -0
- package/dist/cli/configRoot.test.js +97 -0
- package/dist/cli/configRoot.test.js.map +1 -0
- package/dist/cli/help.js +4 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +19 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/registry.js +1 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +164 -47
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +4 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +13 -8
- package/dist/discovery/trust-report.md +11 -11
- package/dist/discovery/workspaces.json +11 -6
- package/dist/install/install.mjs +16 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
- package/dist/mcp/registry-manifest.json +4 -4
- package/dist/router.json +1 -1
- package/dist/server/app.js +10 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/routes/ping.js +18 -0
- package/dist/server/routes/ping.js.map +1 -1
- package/dist/server/schemas/settings.js +8 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/server/serverInfo.js +6 -2
- package/dist/server/serverInfo.js.map +1 -1
- package/dist/server/token.js +11 -4
- package/dist/server/token.js.map +1 -1
- package/dist/server/writeRoot.js +15 -1
- package/dist/server/writeRoot.js.map +1 -1
- package/dist/shared/capabilities.js +33 -0
- package/dist/shared/capabilities.js.map +1 -0
- package/dist/shared/capabilities.test.js +39 -0
- package/dist/shared/capabilities.test.js.map +1 -0
- package/dist/ui/assets/{index-BiEZiZ31.js → index-CrmZ34Rg.js} +16 -16
- package/dist/ui/assets/index-CrmZ34Rg.js.map +1 -0
- package/dist/ui/index.html +14 -5
- package/docs/CLAIMS.md +64 -38
- package/docs/architecture.md +2 -2
- package/docs/archive/CHANGELOG-6.0.0-overview.md +953 -0
- package/docs/benchmark.md +170 -9
- package/docs/catalog.md +8 -3
- package/docs/comparison.yaml +44 -2
- package/docs/contracts/local-server-ports.md +53 -0
- package/docs/contracts/no-runtime-boundary.md +1 -1
- package/docs/contracts/subagent-boundary.md +15 -0
- package/docs/customization.md +14 -3
- package/docs/decisions/ADR-016-installer-architecture.md +2 -0
- package/docs/decisions/ADR-088-no-external-runtime-federation.md +1 -1
- package/docs/decisions/ADR-094-agent-memory-layer-removal.md +1 -1
- package/docs/decisions/ADR-109-subagent-v1-contract.md +2 -0
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +2 -0
- package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +11 -3
- package/docs/decisions/ADR-122-adversarial-verification-council.md +30 -0
- package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +31 -0
- package/docs/decisions/ADR-124-embedded-engine-doctrine.md +255 -0
- package/docs/decisions/ADR-125-doc-screenshot-anonymization.md +131 -0
- package/docs/decisions/ADR-126-internet-reach-operator-tooling.md +254 -0
- package/docs/decisions/ADR-127-enforcement-claims-must-resolve.md +150 -0
- package/docs/decisions/ADR-128-executable-evidence-and-measured-escalation.md +201 -0
- package/docs/decisions/INDEX.md +21 -0
- package/docs/decisions/engine-reclassification-2026-07.md +104 -0
- package/docs/distribution/awesome-list-submission.md +1 -1
- package/docs/distribution/registries.md +36 -27
- package/docs/enforcement-by-host.md +7 -0
- package/docs/featured-skills.md +2 -2
- package/docs/getting-started-by-role.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/governance-advantage.md +1 -1
- package/docs/guides/gated-platform-reads.md +221 -0
- package/docs/positioning-evidence.md +1 -1
- package/docs/proof.md +92 -16
- package/docs/spawn-site-policy.md +72 -0
- package/docs/threat-model.md +2 -1
- package/package.json +6 -3
- package/src/agent-src/README.md +2 -2
- package/src/config/agent-settings.template.yml +43 -0
- package/src/config/reach-channels.yml +217 -0
- package/src/config/reach-prescriptions-intake.yml +200 -0
- package/src/scripts/_dispatch.bash +15 -0
- package/src/scripts/_lib/adversarial_bench_score.ts +106 -0
- package/src/scripts/_lib/exec_evidence.ts +251 -0
- package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +10 -0
- package/src/scripts/_lib/fixtures/secret-detector/positives.txt +11 -0
- package/src/scripts/_lib/kernel_rules.ts +46 -0
- package/src/scripts/_lib/reddit_thread_parse.ts +598 -0
- package/src/scripts/_lib/risk_paths.ts +160 -0
- package/src/scripts/_lib/secret_detector.test.ts +103 -0
- package/src/scripts/_lib/secret_detector.ts +319 -0
- package/src/scripts/_lib/spawn_env.ts +24 -4
- package/src/scripts/_lib/tool_probe.ts +359 -0
- package/src/scripts/adr/regenerate_index.ts +81 -6
- package/src/scripts/audit_adr_coverage.ts +33 -0
- package/src/scripts/bench_adversarial_council.ts +292 -0
- package/src/scripts/build_proof.ts +162 -0
- package/src/scripts/check_adr_frontmatter.ts +195 -0
- package/src/scripts/check_artefact_count_messaging.ts +4 -0
- package/src/scripts/check_backstop_debt.ts +200 -0
- package/src/scripts/check_claims.ts +188 -8
- package/src/scripts/check_comparison.ts +12 -0
- package/src/scripts/check_enforcement_coverage.ts +592 -0
- package/src/scripts/check_kernel_rule_bundle.ts +16 -12
- package/src/scripts/check_no_new_legacy_path.ts +2 -0
- package/src/scripts/check_reach_channels.ts +407 -0
- package/src/scripts/check_reach_staleness.ts +364 -0
- package/src/scripts/check_secret_leak.test.ts +47 -0
- package/src/scripts/check_secret_leak.ts +290 -0
- package/src/scripts/check_source_pointer_freshness.ts +165 -0
- package/src/scripts/code_graph/build.ts +0 -0
- package/src/scripts/code_graph/cli.ts +207 -0
- package/src/scripts/code_graph/detect.ts +134 -0
- package/src/scripts/code_graph/extract.ts +386 -0
- package/src/scripts/code_graph/loader.ts +123 -0
- package/src/scripts/code_graph/query.ts +176 -0
- package/src/scripts/code_graph/sanitize.ts +30 -0
- package/src/scripts/code_graph/types.ts +83 -0
- package/src/scripts/code_graph/validate.ts +63 -0
- package/src/scripts/external_sources_denylist.json +3 -1
- package/src/scripts/generate_subagent_floor.ts +194 -0
- package/src/scripts/hook_manifest.yaml +13 -3
- package/src/scripts/hooks/code_graph_nudge_hook.ts +184 -0
- package/src/scripts/hooks/dispatch_hook.ts +5 -1
- package/src/scripts/iron_law_sha.ts +3 -12
- package/src/scripts/lint_override_kernel_guard.ts +219 -0
- package/src/scripts/lint_readme_serial_comma.ts +169 -0
- package/src/scripts/measure_rule_budget.ts +3 -12
- package/src/scripts/postinstall_gui.ts +129 -0
- package/src/scripts/reach_doctor.ts +1651 -0
- package/src/scripts/release.ts +24 -3
- package/src/scripts/risk_escalation_shadow.ts +160 -0
- package/src/scripts/schemas/agent-settings.schema.json +23 -0
- package/src/scripts/schemas/reach-channels.schema.json +134 -0
- package/src/scripts/schemas/reach-doctor-payload.schema.json +220 -0
- package/src/scripts/schemas/rule.schema.json +10 -0
- package/src/scripts/skill_linter.ts +55 -0
- package/src/scripts/validate_reach_prescriptions.ts +751 -0
- package/src/server/schemas/settings.ts +16 -0
- package/src/shared/capabilities.test.ts +43 -0
- package/src/shared/capabilities.ts +75 -0
- package/src/templates/minimal/agents-overrides-readme.md +20 -0
- package/dist/ui/assets/index-BiEZiZ31.js.map +0 -1
package/dist/ui/index.html
CHANGED
|
@@ -8,17 +8,26 @@
|
|
|
8
8
|
<script>
|
|
9
9
|
// Theme boot — set data-theme BEFORE first paint so there is no
|
|
10
10
|
// flash of the wrong theme (road-to-setup-experience § Phase 4.2).
|
|
11
|
-
//
|
|
11
|
+
// Precedence: a host-supplied `?theme=light|dark` boot query wins
|
|
12
|
+
// (reciprocal-ecosystem embed contract — the host owns the theme),
|
|
13
|
+
// then a persisted localStorage override, then the OS preference.
|
|
12
14
|
(function () {
|
|
15
|
+
var query = null;
|
|
16
|
+
try {
|
|
17
|
+
var q = new URLSearchParams(window.location.search).get('theme');
|
|
18
|
+
if (q === 'light' || q === 'dark') query = q;
|
|
19
|
+
} catch (e) { /* older engine */ }
|
|
13
20
|
var stored = null;
|
|
14
21
|
try { stored = localStorage.getItem('agent-config-theme'); } catch (e) { /* private mode */ }
|
|
15
|
-
var theme =
|
|
16
|
-
?
|
|
17
|
-
:
|
|
22
|
+
var theme = query
|
|
23
|
+
? query
|
|
24
|
+
: stored === 'light' || stored === 'dark'
|
|
25
|
+
? stored
|
|
26
|
+
: (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
|
|
18
27
|
document.documentElement.setAttribute('data-theme', theme);
|
|
19
28
|
})();
|
|
20
29
|
</script>
|
|
21
|
-
<script type="module" crossorigin src="/assets/index-
|
|
30
|
+
<script type="module" crossorigin src="/assets/index-CrmZ34Rg.js"></script>
|
|
22
31
|
<link rel="stylesheet" crossorigin href="/assets/index-BPFMZWUs.css">
|
|
23
32
|
</head>
|
|
24
33
|
<body>
|
package/docs/CLAIMS.md
CHANGED
|
@@ -32,11 +32,36 @@
|
|
|
32
32
|
- last_verified: <YYYY-MM-DD>
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
**Evidence-pointer grammar (
|
|
35
|
+
**Evidence-pointer grammar (v2):**
|
|
36
36
|
|
|
37
37
|
- `path/to/file.md` or `path/to/file.md:42` — the repo file exists (line advisory).
|
|
38
38
|
- `path/to/file.md#substring` — the file exists AND contains `substring`.
|
|
39
39
|
- `https://… (YYYY-MM-DD)` — external cite carrying a dated stamp (not fetched in CI).
|
|
40
|
+
- `exec:<command> -> <exit-code>` — the command **re-runs** and its exit code
|
|
41
|
+
must match. The only form that can tell a live claim from a stale one.
|
|
42
|
+
|
|
43
|
+
**Why the fourth form exists.** The first three are existence checks. A claim
|
|
44
|
+
reading "the suite is green" whose pointer resolves to a report nobody
|
|
45
|
+
regenerated stays `backed` indefinitely — the pointer resolves, the claim is
|
|
46
|
+
false. `exec:` re-derives the claim and lets the exit code carry the verdict.
|
|
47
|
+
|
|
48
|
+
**Where `exec:` runs, and where it does not.** Re-execution happens in CI only.
|
|
49
|
+
Locally the gate is read-only and reports `UNVERIFIED — re-execution is CI-only,
|
|
50
|
+
skipped locally`; it never runs a command in a consumer's checkout. The static
|
|
51
|
+
half — is the pointer well-formed, is the command allowlisted — is checked
|
|
52
|
+
everywhere, because a bad pointer is a defect in the ledger rather than a
|
|
53
|
+
property of the machine.
|
|
54
|
+
|
|
55
|
+
**What `exec:` cannot cover.** Only claims whose exit code *is* the verdict. A
|
|
56
|
+
figure resting on a paid model run, a stochastic benchmark, or a prose contract
|
|
57
|
+
cannot use this form; those stay on a pointer and are listed as
|
|
58
|
+
unfalsifiable-by-machine in [`proof.md`](proof.md) rather than quietly omitted.
|
|
59
|
+
|
|
60
|
+
The allowlist is a set of argv prefix tuples in
|
|
61
|
+
[`src/scripts/_lib/exec_evidence.ts`](../src/scripts/_lib/exec_evidence.ts) —
|
|
62
|
+
never a regex over a command string, because a regex over shell text is the
|
|
63
|
+
classic bypass. Every argument after the matched prefix is re-checked for shell
|
|
64
|
+
metacharacters and repo escape, including the right-hand side of `--flag=value`.
|
|
40
65
|
|
|
41
66
|
---
|
|
42
67
|
|
|
@@ -52,7 +77,7 @@
|
|
|
52
77
|
### claim: shipped-artifacts-hidden-instruction-scanned
|
|
53
78
|
- claim: Every artifact the package ships — source AND the condensed projection that reaches consumers — is machine-scanned in CI for hidden-Unicode, mixed-script-confusable, and instruction-smuggling payloads (the rules-file-backdoor class); a finding blocks the release before `npm publish`, not just the merge.
|
|
54
79
|
- kind: qual
|
|
55
|
-
- evidence:
|
|
80
|
+
- evidence: exec:lint_agent_security -> 0
|
|
56
81
|
- status: backed
|
|
57
82
|
- last_verified: 2026-07-09
|
|
58
83
|
|
|
@@ -87,21 +112,21 @@
|
|
|
87
112
|
### claim: eval-coverage-ratcheted
|
|
88
113
|
- claim: Behavioural-eval coverage is measured per tier and CI-ratcheted so it can only rise; the current coverage and its gap are published, never implied as "264 evaluated skills".
|
|
89
114
|
- kind: qual
|
|
90
|
-
- evidence:
|
|
115
|
+
- evidence: exec:skill_eval_coverage --check -> 0
|
|
91
116
|
- status: backed
|
|
92
117
|
- last_verified: 2026-07-08
|
|
93
118
|
|
|
94
119
|
### claim: domain-soundness-scoped
|
|
95
120
|
- claim: The non-coding domain skills (finance/founder/ops/content) are forged on TS/PHP and labeled unvalidated until they pass a sourced domain-truth fixture; no public prose implies proven domain correctness, and the validated count is CI-ratcheted.
|
|
96
121
|
- kind: qual
|
|
97
|
-
- evidence:
|
|
122
|
+
- evidence: exec:domain_soundness_status --check -> 0
|
|
98
123
|
- status: backed
|
|
99
124
|
- last_verified: 2026-07-08
|
|
100
125
|
|
|
101
126
|
### claim: domain-soundness-validated-count
|
|
102
127
|
- claim: The validated non-coding domain-skill count is pinned and CI-ratcheted at a maintainer-set floor (9 of 20 default-surface skills carry a sourced `evals/domain-truth.json` fixture at pin time, 2026-07-11 — 5 deterministic, keys from cited formulas; 4 rubric, criteria matching a named external practice); the floor only rises via a maintainer `--write-floor` after a new sourced fixture lands.
|
|
103
128
|
- kind: quant
|
|
104
|
-
- evidence:
|
|
129
|
+
- evidence: exec:domain_soundness_status -> 0
|
|
105
130
|
- status: backed
|
|
106
131
|
- last_verified: 2026-07-11
|
|
107
132
|
|
|
@@ -119,17 +144,10 @@
|
|
|
119
144
|
- status: backed
|
|
120
145
|
- last_verified: 2026-07-09
|
|
121
146
|
|
|
122
|
-
### claim: second-brain-retrieval-precision
|
|
123
|
-
- claim: Removing the perfect-retrieval assumption, the substrate's REAL keyword retrieval recalls the needed decision into the top-5 under keyword-overlapping confusers (precision@5 9/9) and the model disambiguates it from the co-injected confusers — retrieval-on 27/27 vs no-memory 5/27 and vs equal-count placebo 5/27 (claude-haiku-4-5, 9 tasks x 3 seeds, sign test p=0.008 both). Named limit: retrieval RECALLS but does not RANK (mean tie-set 3.3, ties broken by store order, not relevance) — the discrimination gap that motivates the SQLite-FTS5 activation path (ADR-116) at larger scale.
|
|
124
|
-
- kind: quant
|
|
125
|
-
- evidence: internal/bench/reports/second-brain-retrieval.json
|
|
126
|
-
- status: backed
|
|
127
|
-
- last_verified: 2026-07-09
|
|
128
|
-
|
|
129
147
|
### claim: lexical-ranking-lift
|
|
130
|
-
- claim: A hand-rolled, dependency-free BM25 + trigram lexical index resolves the "recalls but does not rank" gap: on the retrieval-precision corpus (9 keyword-overlapping-confuser tasks) it drives the mean top tie-set from 3.333 (the `_score` bucket scorer) to 1.0 — every needed decision uniquely top-ranked — with precision@1 and precision@5 unchanged at 1.0. Method: deterministic, model-free re-ranking of the SAME retrieved entry set; both scorers measured over the identical store via `measure_lexical_ranking.ts`.
|
|
148
|
+
- claim: A hand-rolled, dependency-free BM25 + trigram lexical index resolves the "recalls but does not rank" gap: on the retrieval-precision corpus (9 keyword-overlapping-confuser tasks) it drives the mean top tie-set from 3.333 (the `_score` bucket scorer) to 1.0 — every needed decision uniquely top-ranked — with precision@1 and precision@5 unchanged at 1.0. Method: deterministic, model-free re-ranking of the SAME retrieved entry set; both scorers measured over the identical store via `measure_lexical_ranking.ts`. Cross-artefact note (2026-07-25): this baseline (3.333) is the value in THIS claim's own artefact and is cited correctly, but the retrieval-precision artefact records 4.111 for the same scorer on the same corpus — two bench scripts disagree. The lift direction (ties collapse to 1.0) holds under either baseline; the discrepancy itself is unresolved and recorded rather than smoothed.
|
|
131
149
|
- kind: quant
|
|
132
|
-
- evidence:
|
|
150
|
+
- evidence: exec:measure_lexical_ranking -> 0
|
|
133
151
|
- status: backed
|
|
134
152
|
- last_verified: 2026-07-09
|
|
135
153
|
|
|
@@ -140,47 +158,47 @@
|
|
|
140
158
|
- status: backed
|
|
141
159
|
- last_verified: 2026-07-12
|
|
142
160
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
161
|
+
### claim: ledger-exec-verifiability
|
|
162
|
+
- claim: NONE of the backed ledger claims are machine-re-verifiable today — every evidence pointer is checked for existence (file present, substring present, URL carries a date), never for truth, so a claim pointing at a stale artefact stays backed indefinitely. A measured minority COULD carry a re-executing `exec:` form, clearing the >= 10 pp threshold that was pre-registered before the count was taken, which is why that form is scheduled rather than assumed. The rest cannot: paid or stochastic benchmark runs no CI job can re-derive, and prose contracts. Exact counts live in the evidence file and are NOT restated here on purpose — this entry hard-coded its denominator twice and drifted within a day both times (25 when the ledger held 26, then 26 when it held 27) while CI stayed green, because the pointer resolved. `check_claims` now compares the stored denominator against the live ledger and fails on divergence. A number a human retypes on every ledger edit will drift; the fix was to stop retyping it.
|
|
163
|
+
- kind: quant
|
|
164
|
+
- evidence: internal/reports/exec-evidence-feasibility.json#"exec_feasible"
|
|
165
|
+
- status: backed
|
|
166
|
+
- last_verified: 2026-07-25
|
|
146
167
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
mention that drifts or is internally inconsistent — so the three count
|
|
154
|
-
claims below are `backed`. Remaining entries are listed so the debt is
|
|
155
|
-
visible, not hidden.
|
|
168
|
+
### claim: enforcement-coverage-resolved
|
|
169
|
+
- claim: 14 of 107 governed rules (13.1%) carry a backstop that fails a CI build. The number is RESOLVED, not declared — a `validator:` counts only when the script exists AND a GITHUB WORKFLOW reaches it (transitively, so a sub-check under a wired umbrella counts), and a hook registered `fail_closed: false` resolves to `observer`, never `validator`. The figure was 14 before this correction too, and it was wrong: the resolver treated `taskfiles/` and `.github/workflows/` as one corpus, so "named in a taskfile" counted as blocking — while NO workflow invokes `task ci`, `ci-strict`, or `ci-fast`. Nine of the thirteen validators only ran when a human typed the command. Split into `validator` (CI runs it) and `validator-local` (only a taskfile does), the honest figure was 5 of 107; wiring the nine into `rule-backstops.yml` returned it to 14, this time meaning what the headline says. `local_only` is now 0 and is ratcheted, so a gate cannot drop back out silently. Wiring them also surfaced that FIVE were already failing invisibly — 37 findings, baselined in `rule-backstop-debt.json` and ratcheted against growth. 86 rules declare nothing and count as uncovered, not excluded.
|
|
170
|
+
- kind: quant
|
|
171
|
+
- evidence: exec:check_enforcement_coverage --check -> 0
|
|
172
|
+
- status: backed
|
|
173
|
+
- last_verified: 2026-07-25
|
|
156
174
|
|
|
157
175
|
### claim: skill-count
|
|
158
|
-
- claim:
|
|
176
|
+
- claim: 281 skills.
|
|
159
177
|
- kind: quant
|
|
160
|
-
- evidence:
|
|
178
|
+
- evidence: exec:check_artefact_count_messaging -> 0
|
|
161
179
|
- status: backed
|
|
162
180
|
- last_verified: 2026-07-08
|
|
163
181
|
|
|
164
182
|
### claim: command-count
|
|
165
183
|
- claim: 190 commands.
|
|
166
184
|
- kind: quant
|
|
167
|
-
- evidence:
|
|
185
|
+
- evidence: exec:check_artefact_count_messaging -> 0
|
|
168
186
|
- status: backed
|
|
169
187
|
- last_verified: 2026-07-08
|
|
170
188
|
|
|
171
189
|
### claim: rule-count
|
|
172
|
-
- claim:
|
|
190
|
+
- claim: 107 governed rules.
|
|
173
191
|
- kind: quant
|
|
174
|
-
- evidence:
|
|
192
|
+
- evidence: exec:check_artefact_count_messaging -> 0
|
|
175
193
|
- status: backed
|
|
176
194
|
- last_verified: 2026-07-08
|
|
177
195
|
|
|
178
196
|
### claim: host-agent-count
|
|
179
|
-
- claim:
|
|
197
|
+
- claim: 23 host agents are detected and inventoried; 20 receive a written config surface (18 projection + 1 plugin + 1 bundle target) and 3 are export-only (aider, zed, jetbrains). The count is enforced, not asserted — `knownToolIds()` is pinned at 23 by a test whose assertion literal IS the number, and `src/config/surface-matrix.yml` is held in set-equality with the installer's own user-scope path map by `lint_surface_matrix`, so a host added to one and not the other fails the build. This entry stood `unbacked` while naming its own unblocking condition ("once `surface-matrix.yml` exists, bind the count to that file and flip"); the condition was met and nothing fired, so the shipped figure stayed "7+" — understating real coverage by 3x.
|
|
180
198
|
- kind: quant
|
|
181
|
-
- evidence:
|
|
182
|
-
- status:
|
|
183
|
-
- last_verified:
|
|
199
|
+
- evidence: exec:vitest run tests/install/toolDetection.test.ts -> 0
|
|
200
|
+
- status: backed
|
|
201
|
+
- last_verified: 2026-07-25
|
|
184
202
|
|
|
185
203
|
### claim: orchestration-dispatch-net-win
|
|
186
204
|
- claim: On the ordered-refactor + competitive-impl families (`orch-02`, `orch-03`), contract-governed subagent dispatch nets ≥15% token-or-wall reduction at non-regressed quality vs single-agent execution.
|
|
@@ -225,11 +243,11 @@ visible, not hidden.
|
|
|
225
243
|
- last_verified: 2026-07-12
|
|
226
244
|
|
|
227
245
|
### claim: retrieval-substrate-live-pass
|
|
228
|
-
- claim: On the live end-to-end retrieval benchmark (9 tasks × 3 arms × 3 seeds on claude-haiku, fixture store with keyword-overlapping confusers), the memory retrieval substrate scored precision@5 = 100% (9/9) with 100% poisoned-entry rejection, and the retrieval-on arm passed 27/27 model-scored tasks vs 2/27 with retrieval off and 4/27 with a placebo injection. Known limit stays published: mean tie-set 4.
|
|
246
|
+
- claim: On the live end-to-end retrieval benchmark (9 tasks × 3 arms × 3 seeds on claude-haiku, fixture store with keyword-overlapping confusers), the memory retrieval substrate scored precision@5 = 100% (9/9) with 100% poisoned-entry rejection, and the retrieval-on arm passed 27/27 model-scored tasks vs 2/27 with retrieval off and 4/27 with a placebo injection. Known limit stays published: mean tie-set 4.111 means top-k ties break by store order, not relevance (the ADR-116/FTS5 signal). SOLE RECORD for this artefact as of 2026-07-25: a second entry (`second-brain-retrieval-precision`) described the same measurement from the precision angle and had drifted to 5/27, 5/27 and tie-set 3.3 — figures absent from the shared artefact. Two entries over one artefact is what allowed them to disagree while both resolved, so the pair was folded into this one.
|
|
229
247
|
- kind: quant
|
|
230
248
|
- evidence: internal/bench/reports/second-brain-retrieval.json#retrieval-on
|
|
231
249
|
- status: backed
|
|
232
|
-
- last_verified: 2026-07-
|
|
250
|
+
- last_verified: 2026-07-25
|
|
233
251
|
|
|
234
252
|
### claim: wedge-hollow-detection
|
|
235
253
|
- claim: On the A3 orchestration eval (deterministic verify, measured token deltas), the production-validator subagent returned the correct verdict on both fixtures — NOT READY with the exact `file:line` citation on a planted hollow implementation, READY with zero spurious findings on the clean control — while consuming ~45k fewer tokens than the inline-host baseline on each task. Scope: two planted fixtures on a Claude Code host, not a broad hit-rate.
|
|
@@ -257,4 +275,12 @@ visible, not hidden.
|
|
|
257
275
|
- kind: quant
|
|
258
276
|
- evidence: docs/benchmark.md#adversarial-verification-council
|
|
259
277
|
- status: unbacked
|
|
260
|
-
- last_verified:
|
|
278
|
+
- last_verified: 2026-07-21
|
|
279
|
+
- resolution: HONEST-NULL (resolved, not pending). Registered cross-vendor run 2026-07-21 on the curated judge-survivable corpus (internal/bench/adversarial-council/): on the judge-passed residual, the 2-vendor skeptic panel (anthropic+openai) matched the single skeptic exactly (residual recall 0.6 = 0.6, zero lift — the second vendor's residual catches were a strict subset of the first), at a 100% false-positive rate on the controversial-but-correct controls under the adversarial-skeptic posture. Both recall thresholds missed → honest-null → Mode 9 surface stays default-off permanently (like recursive-verification). Reproducible artifact: internal/bench/adversarial-council/runs/. Note: an initial run via `council_cli run` was REJECTED as a measurement artifact (that transport imposes multi-round peer-review + prose output, defeating the independent-skeptic + JSON-scoring protocol) — the valid run uses direct independent per-vendor client calls.
|
|
280
|
+
|
|
281
|
+
### claim: gated-platform-reads
|
|
282
|
+
- claim: A credential-free prescription layer reads content the host's own web tools cannot fetch at all — Reddit thread text (Atom feeds) AND comment ranking plus reply nesting (server-rendered HTML), and a single named tweet (the platform's own oEmbed endpoint). Measured 2026-07-25 from a residential network against a pre-registered 6-task-per-channel set with a native control and thresholds frozen before the run: reddit tier 1 6/6, reddit tier 2 6/6, twitter-oembed 6/6, native 0/6 on both Reddit tiers. Zero credentials, zero resident processes, zero auto-installs. Scope bounds that travel WITH the claim: (a) the twitter gap is narrower than 6/6 suggests — native also passed 2 of those 6 via third-party mirrors, so the channel earns its place only on tweets nothing mirrors; (b) reddit tier 2 is on an announced closing path and ships with a kill-switch keyed on an OBSERVED login wall; (c) youtube-transcripts is PARKED, not shipped — its backend is human-installed by contract and was never exercised; (d) residential network is load-bearing, and CI is explicitly not a bench environment.
|
|
283
|
+
- kind: quant
|
|
284
|
+
- evidence: docs/benchmark.md#ship-gated-reach
|
|
285
|
+
- status: backed
|
|
286
|
+
- last_verified: 2026-07-25
|
package/docs/architecture.md
CHANGED
|
@@ -146,8 +146,8 @@ note, package-internal path-swap, description budget, and the
|
|
|
146
146
|
|
|
147
147
|
| Layer | Count | Purpose |
|
|
148
148
|
|---|---|---|
|
|
149
|
-
| **Skills** |
|
|
150
|
-
| **Rules** |
|
|
149
|
+
| **Skills** | 281 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
|
|
150
|
+
| **Rules** | 107 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
|
|
151
151
|
| **Commands** | 190 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/condense`, … |
|
|
152
152
|
| **Guidelines** | 101 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
|
|
153
153
|
| **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
|