@event4u/agent-config 14.17.0 → 14.19.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/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +207 -77
- package/README.md +72 -150
- package/dist/agent-src/README.md +1 -1
- package/dist/agent-src/commands/agent-handoff.md +2 -2
- package/dist/agent-src/commands/pr/merge.md +35 -44
- package/dist/agent-src/commands/review/changes.md +19 -19
- package/dist/agent-src/commands/review.md +2 -2
- package/dist/agent-src/contexts/execution/host-capability-manifest.md +30 -3
- package/dist/agent-src/rules/autonomous-execution.md +1 -1
- package/dist/agent-src/rules/git-history-discipline.md +2 -2
- package/dist/agent-src/rules/guidelines.md +1 -1
- package/dist/agent-src/rules/session-canary.md +2 -2
- package/dist/agent-src/rules/token-efficiency.md +1 -1
- package/dist/agent-src/skills/accessibility-auditor/SKILL.md +2 -0
- package/dist/agent-src/skills/adversarial-review/SKILL.md +0 -8
- package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +27 -1
- package/dist/agent-src/skills/canvas-design/SKILL.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +60 -12
- package/dist/agent-src/skills/complexity-first-planning/SKILL.md +27 -0
- package/dist/agent-src/skills/design-intelligence/SKILL.md +1 -1
- package/dist/agent-src/skills/design-intelligence/data/app-interface.csv +1 -1
- package/dist/agent-src/skills/design-intelligence/data/motion.csv +17 -17
- package/dist/agent-src/skills/design-intelligence/data/ux-guidelines.csv +2 -2
- package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +17 -0
- package/dist/agent-src/skills/design-intelligence/references/design-rules-checklist.md +4 -4
- package/dist/agent-src/skills/design-review/SKILL.md +3 -1
- package/dist/agent-src/skills/design-variations/SKILL.md +1 -1
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +1 -1
- package/dist/agent-src/skills/fe-design/SKILL.md +32 -5
- package/dist/agent-src/skills/fe-design/references/craft-floor.md +7 -0
- package/dist/agent-src/skills/fe-design/references/design-patterns.md +47 -2
- package/dist/agent-src/skills/feature-planning/SKILL.md +34 -0
- package/dist/agent-src/skills/git-workflow/SKILL.md +37 -12
- package/dist/agent-src/skills/git-workflow/references/push-closes-its-loop.md +176 -0
- package/dist/agent-src/skills/laravel-mail/SKILL.md +44 -0
- package/dist/agent-src/skills/laravel-scheduling/SKILL.md +3 -1
- package/dist/agent-src/skills/project-analyzer/SKILL.md +0 -6
- package/dist/agent-src/skills/react-native-setup/SKILL.md +3 -3
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/sequential-thinking/SKILL.md +18 -8
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +1 -1
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +40 -0
- package/dist/agent-src/skills/ui-apply-generic/SKILL.md +1 -1
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +1 -1
- package/dist/agent-src/skills/using-git-worktrees/SKILL.md +29 -2
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +53 -8
- package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +3 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/cli/commands/recordTriggerEval.js +2 -2
- package/dist/cli/main.js +1 -1
- package/dist/cli-delegate/{chunk-AKJGUQNO.js → chunk-GZTMRYCN.js} +405 -341
- package/dist/cli-delegate/{chunk-7RXIKF62.js → chunk-IDHUQIXP.js} +283 -132
- package/dist/cli-delegate/cmd_adr_effective.js +318 -81
- package/dist/cli-delegate/cmd_conformance.js +749 -669
- package/dist/cli-delegate/cmd_doctor.js +1 -1
- package/dist/cli-delegate/cmd_export.js +1 -1
- package/dist/cli-delegate/cmd_handoff.js +1 -1
- package/dist/cli-delegate/cmd_prune.js +1 -1
- package/dist/cli-delegate/cmd_route_audit.js +1 -1
- package/dist/cli-delegate/cmd_settings_migrate.js +1 -1
- package/dist/cli-delegate/cmd_sync.js +1 -1
- package/dist/cli-delegate/cmd_uninstall.js +1 -1
- package/dist/cli-delegate/cmd_validate.js +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +39 -38
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +1 -1
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +2 -2
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +2 -2
- package/dist/hooks/dispatch.js +2764 -2439
- package/dist/install/install.mjs +588 -527
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +1381 -1138
- package/dist/scripts/_lib/model_tier.js +1 -1
- package/dist/shared/settingsConsent.js +1 -1
- package/docs/guidelines/agent-infra/evaluator-independence-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/docs/guidelines/design-antipatterns.md +87 -64
- package/package.json +1 -1
- package/src/agent-src/README.md +1 -1
- package/src/config/ci-local-parity.yml +6 -0
- package/src/config/conformance-claim-baseline.json +9 -0
- package/src/config/gate-coverage.yml +170 -0
- package/src/config/gate-violation-baselines.json +4 -4
- package/src/config/release-gate-locality.yml +141 -0
- package/src/scripts/_cli/cmd_doctor.ts +2 -2
- package/src/scripts/_cli/cmd_handoff.ts +1 -1
- package/src/scripts/_cli/cmd_update.ts +1 -1
- package/src/scripts/_cli/cmd_versions.ts +1 -1
- package/src/scripts/_lib/adr_frontmatter.ts +44 -0
- package/src/scripts/_lib/consequence_objects.ts +152 -0
- package/src/scripts/_lib/exec_evidence.ts +7 -0
- package/src/scripts/_lib/global_deploy_inventory.ts +2 -2
- package/src/scripts/_lib/host_permission_checks.ts +251 -0
- package/src/scripts/_lib/model_tier.ts +1 -1
- package/src/scripts/_lib/obligation_frequency.ts +2 -2
- package/src/scripts/_lib/release_highlights.ts +265 -1
- package/src/scripts/_lib/release_material.ts +129 -0
- package/src/scripts/_lib/repeated_run.ts +77 -0
- package/src/scripts/_lib/runtime_journal.ts +26 -3
- package/src/scripts/_lib/runtime_wiring_checks.ts +12 -1
- package/src/scripts/_lib/session_register.ts +11 -6
- package/src/scripts/_lib/sqlite_schema.ts +22 -0
- package/src/scripts/_lib/surface.ts +86 -0
- package/src/scripts/_lib/tamper_vocabulary.ts +242 -0
- package/src/scripts/_lib/ui_authority.ts +116 -0
- package/src/scripts/_lib/unified_diff.ts +121 -0
- package/src/scripts/adr/regenerate_index.ts +54 -1
- package/src/scripts/adr_cite_check.ts +71 -15
- package/src/scripts/ai_council/clients.ts +1 -1
- package/src/scripts/autonomy_friction_corpus.ts +229 -0
- package/src/scripts/build_proof.ts +15 -2
- package/src/scripts/check_beta_review_markers.ts +141 -17
- package/src/scripts/check_enforcement_coverage.ts +1 -1
- package/src/scripts/check_enforcement_denominator.ts +121 -11
- package/src/scripts/check_finding_dispositions.ts +239 -6
- package/src/scripts/check_gate_coverage.ts +96 -0
- package/src/scripts/check_installed_hooks_fresh.ts +381 -0
- package/src/scripts/check_release_highlights.ts +99 -14
- package/src/scripts/check_skill_activation_claim.ts +179 -0
- package/src/scripts/check_suppression_hygiene.ts +11 -0
- package/src/scripts/check_trigger_evals.ts +1 -1
- package/src/scripts/code_graph/build.ts +230 -33
- package/src/scripts/code_graph/extract.ts +168 -33
- package/src/scripts/code_graph/types.ts +37 -2
- package/src/scripts/code_graph/validate.ts +12 -1
- package/src/scripts/conformance_scan.ts +45 -4
- package/src/scripts/detect_silent_catch.ts +403 -0
- package/src/scripts/detect_verification_tampering.ts +538 -0
- package/src/scripts/explain_run.ts +1 -1
- package/src/scripts/generate_capability_matrix.ts +1 -1
- package/src/scripts/git_authorization_hook.ts +228 -18
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +47 -30
- package/src/scripts/hooks/augment-dispatcher.sh +1 -1
- package/src/scripts/hooks/block_no_verify.ts +3 -3
- package/src/scripts/hooks/category_a.ts +291 -0
- package/src/scripts/hooks/cline-dispatcher.sh +1 -1
- package/src/scripts/hooks/concern_registry.ts +2 -2
- package/src/scripts/hooks/cursor-dispatcher.sh +11 -5
- package/src/scripts/hooks/dispatch_hook.ts +17 -22
- package/src/scripts/hooks/evidence_independence.ts +21 -2
- package/src/scripts/hooks/{block_unauthorized_git.ts → git_command_classifier.ts} +175 -364
- package/src/scripts/hooks/host_lowering.ts +215 -0
- package/src/scripts/hooks/host_lowering.yaml +185 -0
- package/src/scripts/hooks/host_semantics.ts +105 -37
- package/src/scripts/hooks/journal_record_hook.ts +10 -0
- package/src/scripts/hooks/permission_gate.ts +117 -0
- package/src/scripts/hooks/push_settle_hook.ts +250 -0
- package/src/scripts/hooks/ship_diff_volume_hook.ts +1 -1
- package/src/scripts/hooks_status.ts +12 -10
- package/src/scripts/install-hooks.sh +134 -1
- package/src/scripts/install.ts +53 -82
- package/src/scripts/install_anthropic_key.sh +2 -2
- package/src/scripts/language_mirror_hook.ts +27 -5
- package/src/scripts/lint_design_antipattern_parity.ts +80 -0
- package/src/scripts/lint_evidence_artifacts.ts +45 -1
- package/src/scripts/lint_hook_manifest.ts +87 -3
- package/src/scripts/lint_motion_authority_drift.ts +731 -0
- package/src/scripts/lint_readme_size.ts +158 -12
- package/src/scripts/lint_reasoning_fixtures.ts +216 -0
- package/src/scripts/lint_skill_trigger_contradiction.ts +161 -0
- package/src/scripts/measure_sibling_naming.ts +150 -0
- package/src/scripts/redact_hook_capture.ts +1 -1
- package/src/scripts/release.ts +31 -143
- package/src/scripts/release_drill.ts +71 -1
- package/src/scripts/release_publication.ts +243 -3
- package/src/scripts/release_verify.ts +220 -0
- package/src/scripts/report_skill_activation.ts +319 -7
- package/src/scripts/schemas/review-findings.schema.json +6 -1
- package/src/scripts/schemas/skill.schema.json +12 -2
- package/src/scripts/self_review_gate.ts +10 -1
- package/src/scripts/session_canary_hook.ts +1 -1
- package/src/scripts/session_register_hook.ts +4 -3
- package/src/scripts/trigger_eval_grandfather.json +5 -1
- package/src/scripts/validate_agent_settings.ts +1 -1
- package/src/shared/settingsConsent.ts +1 -1
|
@@ -105,10 +105,24 @@ Ask format:
|
|
|
105
105
|
|
|
106
106
|
> 1. `.worktrees/` — project-local, hidden
|
|
107
107
|
> 2. `worktrees/` — project-local, visible
|
|
108
|
-
> 3. `~/.event4u/agent-config/worktrees/<project>/` — global
|
|
108
|
+
> 3. `~/.event4u/agent-config/worktrees/<project>/` — global, **outside the
|
|
109
|
+
> repository root**: costs the persistent shell cwd (see below) and requires
|
|
110
|
+
> declaring the parent in the host's working-directory allowlist
|
|
109
111
|
|
|
110
112
|
**Recommendation: 1 — `.worktrees/`** — project-local keeps the worktree next to the repo (easy cleanup), and the leading dot keeps it out of `ls`. Caveat: pick 3 if multiple repos must share a single worktree root.
|
|
111
113
|
|
|
114
|
+
> **A worktree outside the repository root costs the persistent shell cwd.**
|
|
115
|
+
> It sits outside the host's working-directory boundary, so a `cd` into it does
|
|
116
|
+
> not survive the call — Claude Code appends `Shell cwd was reset to <root>` and
|
|
117
|
+
> the next command runs in the main checkout. Every command then repeats its own
|
|
118
|
+
> `cd`, and one that forgets edits the wrong tree silently. Measured 2026-09-05
|
|
119
|
+
> on this repository: 2,128 transcript records carrying that line across 20
|
|
120
|
+
> sessions, alongside 1,694 whose `cd` targeted a worktree placed beside the
|
|
121
|
+
> repo. Choosing option 3 — or any path outside the root — means also declaring
|
|
122
|
+
> the parent directory in the host's working-directory allowlist
|
|
123
|
+
> (`permissions.additionalDirectories` on Claude Code). Options 1 and 2 are
|
|
124
|
+
> inside the root and need nothing.
|
|
125
|
+
|
|
112
126
|
### 3. Verify ignore-safety (project-local only)
|
|
113
127
|
|
|
114
128
|
```bash
|
|
@@ -123,9 +137,22 @@ passes. For the global location, skip — path is outside the repo.
|
|
|
123
137
|
|
|
124
138
|
```bash
|
|
125
139
|
git worktree add .worktrees/<branch-name> -b <branch-name>
|
|
126
|
-
cd .worktrees/<branch-name>
|
|
127
140
|
```
|
|
128
141
|
|
|
142
|
+
**Then address the worktree by flag, not by `cd`.** Every tool that matters
|
|
143
|
+
takes a directory flag, and the flag survives where a `cd` does not:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
git -C .worktrees/<branch-name> status
|
|
147
|
+
npm --prefix .worktrees/<branch-name> test
|
|
148
|
+
composer -d .worktrees/<branch-name> install
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
A `cd X && …` compound re-enters the directory on every single call, and the
|
|
152
|
+
one call that forgets it edits the main checkout silently — the failure is
|
|
153
|
+
invisible because the command succeeds. Where a tool genuinely has no directory
|
|
154
|
+
flag, use a subshell so the change cannot leak: `( cd <path> && <cmd> )`.
|
|
155
|
+
|
|
129
156
|
Branch names must match the project convention — see
|
|
130
157
|
`commit-conventions` rule.
|
|
131
158
|
|
|
@@ -94,9 +94,38 @@ Each iteration is agent turns, never executing control-flow code:
|
|
|
94
94
|
* **Plateau** (last `plateau_window` scores within `tolerance`) → STOP; surface
|
|
95
95
|
suspected flakiness or a stuck point. Do not thrash.
|
|
96
96
|
* **`attempts == max_attempts`** → STOP, hand back the best envelope.
|
|
97
|
-
4. **
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
4. **Tamper check (deterministic, loop-local)** — before the numeric gate is
|
|
98
|
+
allowed to say anything, run the detector over the diff this attempt
|
|
99
|
+
produced and over the recorded verdict:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
./scripts-run src/scripts/detect_verification_tampering \
|
|
103
|
+
--diff <this attempt's diff> --message <this attempt's message> \
|
|
104
|
+
--verdict <the runner's recorded verdict>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
It is **fail-closed inside the loop**: outcome `violations` or
|
|
108
|
+
`stale_verdict` STOPS the loop and hands back with the finding's
|
|
109
|
+
`file:line`, whatever the score says. `clean` changes nothing — an
|
|
110
|
+
ordinary passing attempt is unaffected, because the detector reports only
|
|
111
|
+
on shapes the diff introduced.
|
|
112
|
+
|
|
113
|
+
The check answers exactly the gap the Iron Law names: `assertion-removed`,
|
|
114
|
+
`assertion-weakened`, `verification-skipped` (warn), `expectation-rewritten`,
|
|
115
|
+
`early-exit-injected`, `test-file-deleted`, `subject-mocked-away`, and
|
|
116
|
+
`stale_verdict` for a runner that finished before the last edit. A change
|
|
117
|
+
that legitimately deletes an obsolete test or relaxes an over-tight
|
|
118
|
+
assertion declares it in the attempt's message —
|
|
119
|
+
`tamper-allow: <detector-id> — <reason>` — scoped to one id, never to all.
|
|
120
|
+
|
|
121
|
+
It is **not** a CI gate and does not become one here. The tree's measured
|
|
122
|
+
lesson is that reach, not content, is the scarce thing; a new always-on
|
|
123
|
+
gate is the opposite of that lesson. Promotion owes a measured
|
|
124
|
+
false-positive rate first.
|
|
125
|
+
|
|
126
|
+
5. **Numeric gate** — score `< threshold` and attempts remain → back to step 1
|
|
127
|
+
(attempts++). Score `≥ threshold`, no regression, tamper check clean →
|
|
128
|
+
**escalate** (step 4 of the stage).
|
|
100
129
|
|
|
101
130
|
### 4. Judge escalation (only after the numeric gate passes)
|
|
102
131
|
|
|
@@ -135,10 +164,13 @@ Before finalizing, confirm:
|
|
|
135
164
|
|
|
136
165
|
1. The numeric gate **escalated to a judge** — it did not apply on its own.
|
|
137
166
|
2. No baseline-green check regressed (or the loop stopped and said so).
|
|
138
|
-
3. The
|
|
167
|
+
3. The tamper check ran on the final attempt and returned `clean` — or the loop
|
|
168
|
+
stopped on its finding. A green verdict recorded over a `violations` or
|
|
169
|
+
`stale_verdict` outcome is not a green verdict.
|
|
170
|
+
4. The loop stopped at `max_attempts`, a plateau, or a judge `apply` — never
|
|
139
171
|
ran unbounded.
|
|
140
|
-
|
|
141
|
-
|
|
172
|
+
5. The judge saw only the diff + results, dispatched in fresh context.
|
|
173
|
+
6. No **unsupervised** resident process introduced — and none of the four
|
|
142
174
|
governance conditions in `resident-process-governance.md` left unmet if a
|
|
143
175
|
supervised one is. (Amended 2026-08-27, ADR-249: this read "No daemon /
|
|
144
176
|
persistent runtime introduced" when a daemon was prohibited outright. The
|
|
@@ -182,9 +214,15 @@ iter2 fixes A, breaks B, 92% → "PASS" ✗ regression ignored
|
|
|
182
214
|
## Gotcha
|
|
183
215
|
|
|
184
216
|
* **Metric gaming** — the agent "passes" by deleting a failing test or
|
|
185
|
-
weakening an assertion. The numeric gate cannot catch this
|
|
186
|
-
|
|
217
|
+
weakening an assertion. The *numeric* gate still cannot catch this, and that
|
|
218
|
+
is why loop step 3.4 exists: `detect_verification_tampering` decides the
|
|
219
|
+
mechanical shapes deterministically, and the fresh-context judge remains the
|
|
220
|
+
safeguard for everything shape cannot decide. If the diff *removes* checks,
|
|
187
221
|
that is a `reject`, not a `pass`.
|
|
222
|
+
* **Phantom verification** — the loop records a green verdict it never re-ran,
|
|
223
|
+
so the exit code describes a tree that no longer exists. The verdict carries
|
|
224
|
+
the runner's own timestamp; one that predates the last edit is
|
|
225
|
+
`stale_verdict`, its own outcome, never a pass.
|
|
188
226
|
* **Flake mistaken for a plateau** — a single non-deterministic test flips
|
|
189
227
|
the score and the window-comparison reads it as "no improvement". Re-run
|
|
190
228
|
the suspected check before declaring a plateau; surface flakiness instead
|
|
@@ -202,6 +240,9 @@ iter2 fixes A, breaks B, 92% → "PASS" ✗ regression ignored
|
|
|
202
240
|
## Do NOT
|
|
203
241
|
|
|
204
242
|
* NEVER let the numeric score apply a change without judge confirmation.
|
|
243
|
+
* NEVER record a green verdict over a tamper finding or a stale runner
|
|
244
|
+
timestamp — inside the loop the detector is fail-closed.
|
|
245
|
+
* NEVER widen a `tamper-allow` declaration past the one id it names.
|
|
205
246
|
* NEVER continue past a regression because the overall score improved.
|
|
206
247
|
* NEVER run the live-app Playwright path here — it is deferred (needs a runtime).
|
|
207
248
|
* NEVER judge with the generator's own context — dispatch a fresh-context judge.
|
|
@@ -215,6 +256,10 @@ iter2 fixes A, breaks B, 92% → "PASS" ✗ regression ignored
|
|
|
215
256
|
review; wires this loop as an opt-in step.
|
|
216
257
|
* [`playwright-testing`](../playwright-testing/SKILL.md),
|
|
217
258
|
[`quality-tools`](../quality-tools/SKILL.md) — verdict sources.
|
|
259
|
+
* `src/scripts/detect_verification_tampering.ts` — the loop-local tamper and
|
|
260
|
+
phantom-verification check bound at step 3.4, with its fixture corpus in
|
|
261
|
+
`tests/fixtures/tamper-corpus/` and its polarity proven both ways by
|
|
262
|
+
`--self-test`.
|
|
218
263
|
* [`autonomous-execution`](../../rules/autonomous-execution.md) — the N=3 cap.
|
|
219
264
|
* [`resident-process-governance`](../../../docs/contracts/resident-process-governance.md) — the
|
|
220
265
|
runtime-free constraint this loop honors.
|
|
@@ -143,7 +143,9 @@ activity for 48 h. `review` keeps its disqualifying reason so the next sweep
|
|
|
143
143
|
starts from a shorter list; `live` means another session may hold it. A
|
|
144
144
|
worktree outside the conventional roots is never `safe` — sitting beside the
|
|
145
145
|
repo it can be mistaken for a sibling package, so its removal stays a
|
|
146
|
-
judgement call.
|
|
146
|
+
judgement call. It is also the placement that loses the persistent shell
|
|
147
|
+
cwd on a host with a working-directory boundary — see
|
|
148
|
+
[`using-git-worktrees`](../using-git-worktrees/SKILL.md) § 2.
|
|
147
149
|
|
|
148
150
|
The mode reports only. `--plan` prints `git worktree remove` plus
|
|
149
151
|
`git branch -d` (never `-D`) for the safe set; **running it is a bulk deletion
|
|
@@ -39,7 +39,7 @@ schema_version: 1
|
|
|
39
39
|
# CI guard: a release bump of `package.json` must update this value
|
|
40
40
|
# in lockstep — see scripts/check_template_pin_drift.ts (road-to-
|
|
41
41
|
# portable-runtime-and-update-check P3.3).
|
|
42
|
-
agent_config_version: "14.
|
|
42
|
+
agent_config_version: "14.19.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Records a live trigger-eval result into a corpus manifest's `upstream`
|
|
5
5
|
* block (the second half of the corpus-refresh DoD, ADR-061 §6). It does
|
|
6
|
-
* NOT run the eval — `skill_trigger_eval
|
|
6
|
+
* NOT run the eval — `skill_trigger_eval`'s confirmation gate hard-aborts
|
|
7
7
|
* under automation by design, so the live run stays a human, interactive
|
|
8
8
|
* step. This command is a *post-processor*: it reads the `EvalResult` JSON the
|
|
9
9
|
* live run wrote (`--output`), enforces a precision/recall floor, and writes
|
|
@@ -36,7 +36,7 @@ import { logger } from '../log/logger.js';
|
|
|
36
36
|
// Floors shared with the weekly canary rotation (ADR-118 §4) — values
|
|
37
37
|
// unchanged, single source of truth.
|
|
38
38
|
import { floor_for } from '../../scripts/_lib/trigger_eval_floors.js';
|
|
39
|
-
/** Subset of `skill_trigger_eval
|
|
39
|
+
/** Subset of `skill_trigger_eval`'s `EvalResult` we depend on. */
|
|
40
40
|
const EvalResultSchema = z.object({
|
|
41
41
|
skill: z.string().optional(),
|
|
42
42
|
model: z.string().optional(),
|
package/dist/cli/main.js
CHANGED
|
@@ -83,7 +83,7 @@ async function main(rawArgv) {
|
|
|
83
83
|
program
|
|
84
84
|
.command('eval:record')
|
|
85
85
|
.description('Record a live trigger-eval result into a corpus manifest (ADR-061 §6 refresh DoD)')
|
|
86
|
-
.requiredOption('--eval-json <path>', 'EvalResult JSON written by skill_trigger_eval
|
|
86
|
+
.requiredOption('--eval-json <path>', 'EvalResult JSON written by skill_trigger_eval --output')
|
|
87
87
|
.requiredOption('--manifest <path>', 'corpus manifest.json to patch')
|
|
88
88
|
.option('--min-recall <n>', 'Recall floor override (per-skill default otherwise)', (v) => Number.parseFloat(v))
|
|
89
89
|
.option('--min-precision <n>', 'Precision floor override (per-skill default otherwise)', (v) => Number.parseFloat(v))
|