@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.
Files changed (184) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/CHANGELOG.md +207 -77
  5. package/README.md +72 -150
  6. package/dist/agent-src/README.md +1 -1
  7. package/dist/agent-src/commands/agent-handoff.md +2 -2
  8. package/dist/agent-src/commands/pr/merge.md +35 -44
  9. package/dist/agent-src/commands/review/changes.md +19 -19
  10. package/dist/agent-src/commands/review.md +2 -2
  11. package/dist/agent-src/contexts/execution/host-capability-manifest.md +30 -3
  12. package/dist/agent-src/rules/autonomous-execution.md +1 -1
  13. package/dist/agent-src/rules/git-history-discipline.md +2 -2
  14. package/dist/agent-src/rules/guidelines.md +1 -1
  15. package/dist/agent-src/rules/session-canary.md +2 -2
  16. package/dist/agent-src/rules/token-efficiency.md +1 -1
  17. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +2 -0
  18. package/dist/agent-src/skills/adversarial-review/SKILL.md +0 -8
  19. package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +27 -1
  20. package/dist/agent-src/skills/canvas-design/SKILL.md +1 -1
  21. package/dist/agent-src/skills/code-intelligence/SKILL.md +60 -12
  22. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +27 -0
  23. package/dist/agent-src/skills/design-intelligence/SKILL.md +1 -1
  24. package/dist/agent-src/skills/design-intelligence/data/app-interface.csv +1 -1
  25. package/dist/agent-src/skills/design-intelligence/data/motion.csv +17 -17
  26. package/dist/agent-src/skills/design-intelligence/data/ux-guidelines.csv +2 -2
  27. package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +17 -0
  28. package/dist/agent-src/skills/design-intelligence/references/design-rules-checklist.md +4 -4
  29. package/dist/agent-src/skills/design-review/SKILL.md +3 -1
  30. package/dist/agent-src/skills/design-variations/SKILL.md +1 -1
  31. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +1 -1
  32. package/dist/agent-src/skills/fe-design/SKILL.md +32 -5
  33. package/dist/agent-src/skills/fe-design/references/craft-floor.md +7 -0
  34. package/dist/agent-src/skills/fe-design/references/design-patterns.md +47 -2
  35. package/dist/agent-src/skills/feature-planning/SKILL.md +34 -0
  36. package/dist/agent-src/skills/git-workflow/SKILL.md +37 -12
  37. package/dist/agent-src/skills/git-workflow/references/push-closes-its-loop.md +176 -0
  38. package/dist/agent-src/skills/laravel-mail/SKILL.md +44 -0
  39. package/dist/agent-src/skills/laravel-scheduling/SKILL.md +3 -1
  40. package/dist/agent-src/skills/project-analyzer/SKILL.md +0 -6
  41. package/dist/agent-src/skills/react-native-setup/SKILL.md +3 -3
  42. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
  43. package/dist/agent-src/skills/sequential-thinking/SKILL.md +18 -8
  44. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +1 -1
  45. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +40 -0
  46. package/dist/agent-src/skills/ui-apply-generic/SKILL.md +1 -1
  47. package/dist/agent-src/skills/ui-component-architect/SKILL.md +1 -1
  48. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +29 -2
  49. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +53 -8
  50. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +3 -1
  51. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  52. package/dist/cli/commands/recordTriggerEval.js +2 -2
  53. package/dist/cli/main.js +1 -1
  54. package/dist/cli-delegate/{chunk-AKJGUQNO.js → chunk-GZTMRYCN.js} +405 -341
  55. package/dist/cli-delegate/{chunk-7RXIKF62.js → chunk-IDHUQIXP.js} +283 -132
  56. package/dist/cli-delegate/cmd_adr_effective.js +318 -81
  57. package/dist/cli-delegate/cmd_conformance.js +749 -669
  58. package/dist/cli-delegate/cmd_doctor.js +1 -1
  59. package/dist/cli-delegate/cmd_export.js +1 -1
  60. package/dist/cli-delegate/cmd_handoff.js +1 -1
  61. package/dist/cli-delegate/cmd_prune.js +1 -1
  62. package/dist/cli-delegate/cmd_route_audit.js +1 -1
  63. package/dist/cli-delegate/cmd_settings_migrate.js +1 -1
  64. package/dist/cli-delegate/cmd_sync.js +1 -1
  65. package/dist/cli-delegate/cmd_uninstall.js +1 -1
  66. package/dist/cli-delegate/cmd_validate.js +1 -1
  67. package/dist/discovery/deprecation-report.md +1 -1
  68. package/dist/discovery/discovery-manifest.json +39 -38
  69. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  70. package/dist/discovery/discovery-manifest.summary.md +1 -1
  71. package/dist/discovery/dormancy-report.md +1 -1
  72. package/dist/discovery/orphan-report.md +1 -1
  73. package/dist/discovery/packs.json +2 -2
  74. package/dist/discovery/trust-report.md +1 -1
  75. package/dist/discovery/workspaces.json +2 -2
  76. package/dist/hooks/dispatch.js +2764 -2439
  77. package/dist/install/install.mjs +588 -527
  78. package/dist/mcp/registry-manifest.json +2 -2
  79. package/dist/mcp/server.json +2 -2
  80. package/dist/mcp/server.mjs +1381 -1138
  81. package/dist/scripts/_lib/model_tier.js +1 -1
  82. package/dist/shared/settingsConsent.js +1 -1
  83. package/docs/guidelines/agent-infra/evaluator-independence-mechanics.md +1 -1
  84. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  85. package/docs/guidelines/design-antipatterns.md +87 -64
  86. package/package.json +1 -1
  87. package/src/agent-src/README.md +1 -1
  88. package/src/config/ci-local-parity.yml +6 -0
  89. package/src/config/conformance-claim-baseline.json +9 -0
  90. package/src/config/gate-coverage.yml +170 -0
  91. package/src/config/gate-violation-baselines.json +4 -4
  92. package/src/config/release-gate-locality.yml +141 -0
  93. package/src/scripts/_cli/cmd_doctor.ts +2 -2
  94. package/src/scripts/_cli/cmd_handoff.ts +1 -1
  95. package/src/scripts/_cli/cmd_update.ts +1 -1
  96. package/src/scripts/_cli/cmd_versions.ts +1 -1
  97. package/src/scripts/_lib/adr_frontmatter.ts +44 -0
  98. package/src/scripts/_lib/consequence_objects.ts +152 -0
  99. package/src/scripts/_lib/exec_evidence.ts +7 -0
  100. package/src/scripts/_lib/global_deploy_inventory.ts +2 -2
  101. package/src/scripts/_lib/host_permission_checks.ts +251 -0
  102. package/src/scripts/_lib/model_tier.ts +1 -1
  103. package/src/scripts/_lib/obligation_frequency.ts +2 -2
  104. package/src/scripts/_lib/release_highlights.ts +265 -1
  105. package/src/scripts/_lib/release_material.ts +129 -0
  106. package/src/scripts/_lib/repeated_run.ts +77 -0
  107. package/src/scripts/_lib/runtime_journal.ts +26 -3
  108. package/src/scripts/_lib/runtime_wiring_checks.ts +12 -1
  109. package/src/scripts/_lib/session_register.ts +11 -6
  110. package/src/scripts/_lib/sqlite_schema.ts +22 -0
  111. package/src/scripts/_lib/surface.ts +86 -0
  112. package/src/scripts/_lib/tamper_vocabulary.ts +242 -0
  113. package/src/scripts/_lib/ui_authority.ts +116 -0
  114. package/src/scripts/_lib/unified_diff.ts +121 -0
  115. package/src/scripts/adr/regenerate_index.ts +54 -1
  116. package/src/scripts/adr_cite_check.ts +71 -15
  117. package/src/scripts/ai_council/clients.ts +1 -1
  118. package/src/scripts/autonomy_friction_corpus.ts +229 -0
  119. package/src/scripts/build_proof.ts +15 -2
  120. package/src/scripts/check_beta_review_markers.ts +141 -17
  121. package/src/scripts/check_enforcement_coverage.ts +1 -1
  122. package/src/scripts/check_enforcement_denominator.ts +121 -11
  123. package/src/scripts/check_finding_dispositions.ts +239 -6
  124. package/src/scripts/check_gate_coverage.ts +96 -0
  125. package/src/scripts/check_installed_hooks_fresh.ts +381 -0
  126. package/src/scripts/check_release_highlights.ts +99 -14
  127. package/src/scripts/check_skill_activation_claim.ts +179 -0
  128. package/src/scripts/check_suppression_hygiene.ts +11 -0
  129. package/src/scripts/check_trigger_evals.ts +1 -1
  130. package/src/scripts/code_graph/build.ts +230 -33
  131. package/src/scripts/code_graph/extract.ts +168 -33
  132. package/src/scripts/code_graph/types.ts +37 -2
  133. package/src/scripts/code_graph/validate.ts +12 -1
  134. package/src/scripts/conformance_scan.ts +45 -4
  135. package/src/scripts/detect_silent_catch.ts +403 -0
  136. package/src/scripts/detect_verification_tampering.ts +538 -0
  137. package/src/scripts/explain_run.ts +1 -1
  138. package/src/scripts/generate_capability_matrix.ts +1 -1
  139. package/src/scripts/git_authorization_hook.ts +228 -18
  140. package/src/scripts/hook_manifest.json +1 -1
  141. package/src/scripts/hook_manifest.yaml +47 -30
  142. package/src/scripts/hooks/augment-dispatcher.sh +1 -1
  143. package/src/scripts/hooks/block_no_verify.ts +3 -3
  144. package/src/scripts/hooks/category_a.ts +291 -0
  145. package/src/scripts/hooks/cline-dispatcher.sh +1 -1
  146. package/src/scripts/hooks/concern_registry.ts +2 -2
  147. package/src/scripts/hooks/cursor-dispatcher.sh +11 -5
  148. package/src/scripts/hooks/dispatch_hook.ts +17 -22
  149. package/src/scripts/hooks/evidence_independence.ts +21 -2
  150. package/src/scripts/hooks/{block_unauthorized_git.ts → git_command_classifier.ts} +175 -364
  151. package/src/scripts/hooks/host_lowering.ts +215 -0
  152. package/src/scripts/hooks/host_lowering.yaml +185 -0
  153. package/src/scripts/hooks/host_semantics.ts +105 -37
  154. package/src/scripts/hooks/journal_record_hook.ts +10 -0
  155. package/src/scripts/hooks/permission_gate.ts +117 -0
  156. package/src/scripts/hooks/push_settle_hook.ts +250 -0
  157. package/src/scripts/hooks/ship_diff_volume_hook.ts +1 -1
  158. package/src/scripts/hooks_status.ts +12 -10
  159. package/src/scripts/install-hooks.sh +134 -1
  160. package/src/scripts/install.ts +53 -82
  161. package/src/scripts/install_anthropic_key.sh +2 -2
  162. package/src/scripts/language_mirror_hook.ts +27 -5
  163. package/src/scripts/lint_design_antipattern_parity.ts +80 -0
  164. package/src/scripts/lint_evidence_artifacts.ts +45 -1
  165. package/src/scripts/lint_hook_manifest.ts +87 -3
  166. package/src/scripts/lint_motion_authority_drift.ts +731 -0
  167. package/src/scripts/lint_readme_size.ts +158 -12
  168. package/src/scripts/lint_reasoning_fixtures.ts +216 -0
  169. package/src/scripts/lint_skill_trigger_contradiction.ts +161 -0
  170. package/src/scripts/measure_sibling_naming.ts +150 -0
  171. package/src/scripts/redact_hook_capture.ts +1 -1
  172. package/src/scripts/release.ts +31 -143
  173. package/src/scripts/release_drill.ts +71 -1
  174. package/src/scripts/release_publication.ts +243 -3
  175. package/src/scripts/release_verify.ts +220 -0
  176. package/src/scripts/report_skill_activation.ts +319 -7
  177. package/src/scripts/schemas/review-findings.schema.json +6 -1
  178. package/src/scripts/schemas/skill.schema.json +12 -2
  179. package/src/scripts/self_review_gate.ts +10 -1
  180. package/src/scripts/session_canary_hook.ts +1 -1
  181. package/src/scripts/session_register_hook.ts +4 -3
  182. package/src/scripts/trigger_eval_grandfather.json +5 -1
  183. package/src/scripts/validate_agent_settings.ts +1 -1
  184. 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. **Numeric gate** — score `< threshold` and attempts remain → back to step 1
98
- (attempts++). Score `≥ threshold`, no regression → **escalate** (step 4 of the
99
- stage).
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 loop stopped at `max_attempts`, a plateau, or a judge `apply` — never
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
- 4. The judge saw only the diff + results, dispatched in fresh context.
141
- 5. No **unsupervised** resident process introduced — and none of the four
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; the
186
- fresh-context judge is the safeguard. If the diff *removes* checks,
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.17.0"
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.py`'s confirmation gate hard-aborts
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.py`'s `EvalResult` we depend on. */
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.py --output')
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))