@event4u/agent-config 12.0.0 → 13.0.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 +273 -0
- package/README.md +1 -1
- package/agents/templates/.ai-council.yml.example +46 -3
- package/dist/agent-src/commands/cost/report.md +23 -0
- package/dist/agent-src/contexts/execution/subagent-routing.md +148 -33
- package/dist/agent-src/contexts/model-recommendations.md +6 -4
- package/dist/agent-src/contexts/subagent-configuration.md +69 -7
- package/dist/agent-src/rules/autonomous-execution.md +1 -1
- package/dist/agent-src/rules/design-fidelity.md +1 -1
- package/dist/agent-src/rules/design-review-after-ui-write.md +10 -5
- package/dist/agent-src/rules/evaluator-independence.md +27 -5
- package/dist/agent-src/rules/git-history-discipline.md +5 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +1 -0
- package/dist/agent-src/rules/missing-skill-recovery.md +89 -0
- package/dist/agent-src/rules/ui-audit-gate.md +9 -4
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +33 -0
- package/dist/agent-src/scripts/roadmap_gates.ts +30 -2
- package/dist/agent-src/scripts/update_roadmap_progress.ts +47 -1
- package/dist/agent-src/skills/authz-review/SKILL.md +4 -0
- package/dist/agent-src/skills/design-system-capture/SKILL.md +4 -0
- package/dist/agent-src/skills/design-system-capture/references/snapshot-preference-order.md +77 -0
- package/dist/agent-src/skills/merge-conflicts/SKILL.md +4 -0
- package/dist/agent-src/skills/prompt-optimizer/SKILL.md +17 -1
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +11 -11
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +4 -0
- package/dist/agent-src/skills/threat-modeling/SKILL.md +3 -0
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/roadmaps.md +41 -3
- package/dist/cli/registry.js +1 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli-delegate/{chunk-NN4KW4HZ.js → chunk-3B72LSZL.js} +123 -2338
- package/dist/cli-delegate/{chunk-55WZN5VF.js → chunk-EVTY7ISR.js} +2 -2
- package/dist/cli-delegate/chunk-N7FEST6D.js +3895 -0
- package/dist/cli-delegate/{chunk-L565YFXH.js → chunk-XURJ4AQC.js} +566 -298
- package/dist/cli-delegate/cmd_conformance.js +4 -4
- package/dist/cli-delegate/cmd_doctor.js +2 -2
- package/dist/cli-delegate/cmd_export.js +2 -2
- package/dist/cli-delegate/cmd_handoff.js +1 -1
- package/dist/cli-delegate/cmd_prune.js +2 -2
- package/dist/cli-delegate/cmd_settings_migrate.js +2 -2
- package/dist/cli-delegate/cmd_settings_set.js +1 -1
- package/dist/cli-delegate/cmd_sync.js +2 -2
- package/dist/cli-delegate/cmd_uninstall.js +2 -2
- package/dist/cli-delegate/cmd_validate.js +2 -2
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +44 -23
- 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 +10625 -8541
- package/dist/install/install.mjs +754 -484
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +1302 -167
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/model_tier.js +9 -0
- package/dist/scripts/_lib/model_tier.js.map +1 -1
- package/dist/scripts/condense.js +50 -0
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/schemas/settings.js +2 -2
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/MIGRATION.md +20 -1
- package/docs/guidelines/design-fidelity-mechanics.md +21 -0
- package/docs/guidelines/design-handover-extraction.md +87 -0
- package/docs/guidelines/prompt-templates.md +24 -1
- package/package.json +1 -1
- package/src/agent-src/scripts/archive_completed_roadmaps.ts +33 -0
- package/src/agent-src/scripts/roadmap_gates.ts +30 -2
- package/src/agent-src/scripts/update_roadmap_progress.ts +47 -1
- package/src/config/evaluator-budgets.json +9 -8
- package/src/config/gate-coverage.yml +63 -11
- package/src/config/gate-violation-baselines.json +12 -0
- package/src/config/hook-token-budget.json +15 -2
- package/src/config/preamble-payload-budget.json +28 -0
- package/src/scripts/_dispatch.bash +10 -0
- package/src/scripts/_lib/bench_ab_complexity.ts +439 -0
- package/src/scripts/_lib/bench_ab_safety_tier.ts +142 -0
- package/src/scripts/_lib/bench_ab_scoring_v2.ts +28 -3
- package/src/scripts/_lib/bench_ab_search_adherence.ts +423 -0
- package/src/scripts/_lib/bench_ab_size_claim.ts +206 -0
- package/src/scripts/_lib/bench_ab_workspace.ts +111 -0
- package/src/scripts/_lib/git_common_dir.ts +173 -0
- package/src/scripts/_lib/model_tier.ts +9 -0
- package/src/scripts/_lib/release_highlights.ts +108 -7
- package/src/scripts/_lib/skill_catalogue.ts +1115 -0
- package/src/scripts/_lib/tier_budget_routing.ts +31 -331
- package/src/scripts/ai_council/clients.ts +197 -18
- package/src/scripts/ai_council/config.ts +16 -1
- package/src/scripts/ai_council/low_impact.ts +14 -1
- package/src/scripts/ai_council/orchestrator.ts +14 -1
- package/src/scripts/ai_council/transport_resolver.ts +32 -2
- package/src/scripts/bench_ab_v2_complexity.ts +252 -0
- package/src/scripts/bench_ab_v2_run.ts +3 -42
- package/src/scripts/bench_ab_v2_safety.ts +296 -0
- package/src/scripts/bench_ab_v2_search.ts +343 -0
- package/src/scripts/bench_ab_v2_stats.ts +191 -0
- package/src/scripts/build_archive_index.ts +383 -0
- package/src/scripts/capture_skill_catalogue.ts +279 -317
- package/src/scripts/check_branch_freshness.ts +7 -1
- package/src/scripts/check_release_published.ts +6 -2
- package/src/scripts/check_release_trunk_sync.ts +18 -2
- package/src/scripts/check_source_size_budget.ts +428 -0
- package/src/scripts/check_suppression_hygiene.ts +5 -1
- package/src/scripts/condense.ts +50 -1
- package/src/scripts/cost/backfill_rates.mjs +298 -0
- package/src/scripts/cost/budget.mjs +12 -32
- package/src/scripts/cost_summary.ts +25 -0
- package/src/scripts/dispatch_r2_reviewer.ts +15 -5
- package/src/scripts/evidence_report.ts +15 -4
- package/src/scripts/external_sources_denylist.json +1 -0
- package/src/scripts/hook_manifest.yaml +75 -15
- package/src/scripts/hooks/concern_registry.ts +4 -0
- package/src/scripts/hooks/orchestration_record_hook.ts +21 -0
- package/src/scripts/hooks/skill_route_hook.ts +226 -0
- package/src/scripts/hooks/tool_result_bytes_hook.ts +219 -0
- package/src/scripts/hooks/ui_route_nudge_hook.ts +6 -3
- package/src/scripts/hot_context_hook.ts +13 -1
- package/src/scripts/install.ts +129 -0
- package/src/scripts/janitor.ts +77 -2
- package/src/scripts/lint_design_antipattern_parity.ts +40 -6
- package/src/scripts/lint_harvest_provenance.ts +35 -1
- package/src/scripts/lint_plan_risk_register.ts +22 -9
- package/src/scripts/lint_roadmap_blockers.ts +109 -6
- package/src/scripts/lint_rule_skill_pack_reach.ts +43 -0
- package/src/scripts/lint_scheduled_deprecations.ts +738 -0
- package/src/scripts/lint_skill_router_head.ts +21 -0
- package/src/scripts/mcp_server/consumer_tool_catalog.json +26 -3
- package/src/scripts/mcp_server/tool_catalog_source.ts +6 -24
- package/src/scripts/mcp_server/tools.ts +87 -0
- package/src/scripts/migration_status.ts +17 -1
- package/src/scripts/probe_review_binding_drift.ts +731 -0
- package/src/scripts/release.ts +100 -6
- package/src/scripts/routing_doctor.ts +50 -13
- package/src/scripts/schemas/command.schema.json +3 -3
- package/src/scripts/schemas/skill.schema.json +20 -2
- package/src/scripts/schemas/subagent.schema.json +2 -2
- package/src/scripts/session_eol_report.ts +81 -0
- package/src/scripts/trigger_coverage.ts +224 -3
- package/src/scripts/workspace_doctor.ts +464 -0
- package/src/scripts/worktree_cleanup_check.ts +2 -1
- package/src/server/schemas/settings.ts +2 -2
- package/dist/cli-delegate/chunk-AYKQGIBG.js +0 -1594
- package/src/config/budget-routing.json +0 -7
|
@@ -126,10 +126,10 @@ function wrap(text: string, width: number, indent: string): string[] {
|
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
128
|
* Column width for the label gutter — sized to the longest label in use
|
|
129
|
-
* (`
|
|
129
|
+
* (`If you do nothing:`, 18 chars) plus one separating space, so no value ever
|
|
130
130
|
* runs flush against its own label.
|
|
131
131
|
*/
|
|
132
|
-
const LABEL_W =
|
|
132
|
+
const LABEL_W = 19;
|
|
133
133
|
|
|
134
134
|
/** A labelled block: ` Label: value`, wrapped and hanging-indented. */
|
|
135
135
|
function field(label: string, value: string): string[] {
|
|
@@ -183,6 +183,23 @@ function renderEntry(e: Entry, index: number): string[] {
|
|
|
183
183
|
...field('Blocks:', e.blocker.blocks),
|
|
184
184
|
];
|
|
185
185
|
|
|
186
|
+
// What is actually being decided, when the entry says so.
|
|
187
|
+
if (e.blocker.question) {
|
|
188
|
+
out.push(...field('The question:', e.blocker.question));
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// The recommendation leads, because it is the answer — everything below it
|
|
192
|
+
// is how to carry the answer out. An entry that predates the field says so
|
|
193
|
+
// rather than rendering a silent gap: the reader needs to know the analysis
|
|
194
|
+
// is missing, not merely that a line is absent.
|
|
195
|
+
out.push(
|
|
196
|
+
...field(
|
|
197
|
+
'Recommendation:',
|
|
198
|
+
e.blocker.recommendation ||
|
|
199
|
+
'(none recorded — this entry predates the field; ask for one before deciding)',
|
|
200
|
+
),
|
|
201
|
+
);
|
|
202
|
+
|
|
186
203
|
const doLabel = isLegacy(e.blocker) ? 'Blocked until:' : 'Do this:';
|
|
187
204
|
const steps = regroupTodo(e.blocker.todo);
|
|
188
205
|
if (steps.length === 0) {
|
|
@@ -203,6 +220,9 @@ function renderEntry(e: Entry, index: number): string[] {
|
|
|
203
220
|
out.push(...lines.map((l, i) => (i === 0 ? indent + l : l)));
|
|
204
221
|
}
|
|
205
222
|
}
|
|
223
|
+
if (e.blocker.ifNothing) {
|
|
224
|
+
out.push(...field('If you do nothing:', e.blocker.ifNothing));
|
|
225
|
+
}
|
|
206
226
|
out.push(...field('Done when:', e.blocker.resolvedWhen));
|
|
207
227
|
return out;
|
|
208
228
|
}
|
|
@@ -238,6 +258,14 @@ function render(entries: readonly Entry[], all: boolean): string {
|
|
|
238
258
|
}
|
|
239
259
|
if (shown.length > 0) {
|
|
240
260
|
lines.push('');
|
|
261
|
+
// Deciding is not the same as executing, and a list that only decides
|
|
262
|
+
// leaves the second half with the person who has the least context.
|
|
263
|
+
// Naming the guided path here is the cheapest place to close that gap:
|
|
264
|
+
// it is on screen at exactly the moment the reader is looking at a
|
|
265
|
+
// decision they did not write.
|
|
266
|
+
lines.push('Not sure about one of these? Ask your agent:');
|
|
267
|
+
lines.push(' "guide me through <id>" — one decision, step by step');
|
|
268
|
+
lines.push('');
|
|
241
269
|
}
|
|
242
270
|
return lines.join('\n') + '\n';
|
|
243
271
|
}
|
|
@@ -347,6 +347,24 @@ interface Blocker {
|
|
|
347
347
|
blocks: string;
|
|
348
348
|
todo: string[];
|
|
349
349
|
resolvedWhen: string;
|
|
350
|
+
/**
|
|
351
|
+
* The two fields that make a blocker *decidable* rather than merely
|
|
352
|
+
* described. Empty string when the entry predates them — the ratchet in
|
|
353
|
+
* `lint_roadmap_blockers` keeps the backlog legal, so the renderer has to
|
|
354
|
+
* cope with absence rather than assume it away.
|
|
355
|
+
*/
|
|
356
|
+
recommendation: string;
|
|
357
|
+
ifNothing: string;
|
|
358
|
+
/**
|
|
359
|
+
* Optional one-line statement of what is actually being decided.
|
|
360
|
+
*
|
|
361
|
+
* Not required, but recognised: three entries in the tree already used
|
|
362
|
+
* `- **Question:**` and, because the field list did not know it, the
|
|
363
|
+
* continuation logic silently appended it to `Blocks` — the decision's
|
|
364
|
+
* subject arrived glued to the end of an unrelated sentence. Naming it
|
|
365
|
+
* costs one enum entry and turns a silent swallow into a rendered field.
|
|
366
|
+
*/
|
|
367
|
+
question: string;
|
|
350
368
|
}
|
|
351
369
|
|
|
352
370
|
// Strip fenced code blocks before blocker detection — a roadmap that shows the
|
|
@@ -362,7 +380,23 @@ function _stripFencedCode(text: string): string {
|
|
|
362
380
|
return text.replace(FENCED_CODE_RE, (m) => '\n'.repeat(_splitlines(m).length));
|
|
363
381
|
}
|
|
364
382
|
|
|
365
|
-
|
|
383
|
+
/**
|
|
384
|
+
* Terminator for a blocker field's continuation lines — ANY `- **Label:**`
|
|
385
|
+
* bullet, not a closed list of known labels.
|
|
386
|
+
*
|
|
387
|
+
* It used to enumerate eight names, which silently diverged from the contract
|
|
388
|
+
* the two call sites below already document ("up to the next `- **Field:**`
|
|
389
|
+
* marker"): a bullet whose label was not on the list did not terminate, so the
|
|
390
|
+
* PREVIOUS field kept absorbing it and the dashboard rendered the two as one
|
|
391
|
+
* run-on sentence. Measured when `- **Options:**` and `- **Side finding:**`
|
|
392
|
+
* first appeared in a blocker — a reader saw the side finding as part of
|
|
393
|
+
* `Resolved when`, i.e. the generator changed what a field meant.
|
|
394
|
+
*
|
|
395
|
+
* A closed list is the wrong shape for a terminator: every future field name
|
|
396
|
+
* would have to be added here to avoid corrupting the field above it, and the
|
|
397
|
+
* failure is silent in generated output nobody edits by hand.
|
|
398
|
+
*/
|
|
399
|
+
const BLOCKER_FIELD_RE = /^-[ \t]*\*\*[^*]+:\*\*/;
|
|
366
400
|
|
|
367
401
|
/** Strip an inline `<!-- comment -->` and trim. */
|
|
368
402
|
function _stripComment(s: string): string {
|
|
@@ -471,6 +505,9 @@ function parse_blockers(raw_text: string): Blocker[] {
|
|
|
471
505
|
blocks: _blockerField(body, 'Blocks') ?? '(unspecified)',
|
|
472
506
|
todo: _blockerTodo(body),
|
|
473
507
|
resolvedWhen: _blockerField(body, 'Resolved when') ?? '(unspecified)',
|
|
508
|
+
recommendation: _blockerField(body, 'Recommendation') ?? '',
|
|
509
|
+
ifNothing: _blockerField(body, 'If you do nothing') ?? '',
|
|
510
|
+
question: _blockerField(body, 'Question') ?? '',
|
|
474
511
|
});
|
|
475
512
|
}
|
|
476
513
|
}
|
|
@@ -502,6 +539,9 @@ function parse_blockers(raw_text: string): Blocker[] {
|
|
|
502
539
|
blocks: 'entire roadmap',
|
|
503
540
|
todo: [parts.join(' ')],
|
|
504
541
|
resolvedWhen: 'condition described above clears',
|
|
542
|
+
recommendation: '',
|
|
543
|
+
ifNothing: '',
|
|
544
|
+
question: '',
|
|
505
545
|
});
|
|
506
546
|
}
|
|
507
547
|
return blockers;
|
|
@@ -869,6 +909,12 @@ function render(roadmaps: RoadmapStats[], bundles: Bundle[] | null = null): stri
|
|
|
869
909
|
lines.push('**Blockers**\n');
|
|
870
910
|
for (const b of openBlockers) {
|
|
871
911
|
lines.push(`- **${b.id}** (owner: ${b.owner}) — blocks ${b.blocks}`);
|
|
912
|
+
if (b.recommendation) {
|
|
913
|
+
lines.push(` - **Recommendation:** ${b.recommendation}`);
|
|
914
|
+
}
|
|
915
|
+
if (b.ifNothing) {
|
|
916
|
+
lines.push(` - **If you do nothing:** ${b.ifNothing}`);
|
|
917
|
+
}
|
|
872
918
|
lines.push(' - **What to do:**');
|
|
873
919
|
for (const step of b.todo) {
|
|
874
920
|
lines.push(` ${step}`);
|
|
@@ -306,6 +306,10 @@ handoff shape emitted alongside `design-system.json`
|
|
|
306
306
|
— when the artifact is a mock — an explicit "prototype, not production code"
|
|
307
307
|
warning so a consumer never ships the reference verbatim.
|
|
308
308
|
|
|
309
|
+
**What to capture FROM** a running project: sources first, SSR fetch second,
|
|
310
|
+
rendered snapshot only with consumer tooling; record the git SHA. Rationale:
|
|
311
|
+
[snapshot preference order](references/snapshot-preference-order.md).
|
|
312
|
+
|
|
309
313
|
## Gotcha
|
|
310
314
|
|
|
311
315
|
- **Over-writing instead of diff-updating** — the most common failure.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Snapshot preference order — what to capture a design system FROM
|
|
2
|
+
|
|
3
|
+
When a design system has to be captured out of a running project — for a
|
|
4
|
+
handoff, an external design pass, or a reference bundle — there is more than one
|
|
5
|
+
thing you could point at, and they are not equally good. This is the preference
|
|
6
|
+
order, highest fidelity per unit of effort first.
|
|
7
|
+
|
|
8
|
+
**Take the first level the project supports. Do not skip down the list for
|
|
9
|
+
convenience, and do not skip UP it for thoroughness** — Level C is additional
|
|
10
|
+
evidence, never a replacement for Level A.
|
|
11
|
+
|
|
12
|
+
## Level A — source-level (always available, the default)
|
|
13
|
+
|
|
14
|
+
The involved component sources, plus the token layer (DTCG / CSS custom
|
|
15
|
+
properties), plus the page composition that assembles them.
|
|
16
|
+
|
|
17
|
+
**Why this is the default and not the fallback**, which is the part that reads
|
|
18
|
+
backwards until you have seen the alternative: in a component project, a
|
|
19
|
+
rendered DOM dump is *worse* input than the sources it came from. Hydrated
|
|
20
|
+
markup is utility-class soup with the component boundaries erased — the very
|
|
21
|
+
structure a design system is made of is the structure rendering destroys. A
|
|
22
|
+
reader (human or tool) reworks clean sources far better than expanded markup.
|
|
23
|
+
|
|
24
|
+
Level A needs no dev server, no browser, and no network. It is available in a
|
|
25
|
+
bare checkout, which is why it is also the only level that always works.
|
|
26
|
+
|
|
27
|
+
## Level B — SSR fetch (no browser)
|
|
28
|
+
|
|
29
|
+
When the stack renders server-side and a dev server is running, an ordinary
|
|
30
|
+
HTTP fetch of the rendered page.
|
|
31
|
+
|
|
32
|
+
Use it to answer what Level A cannot: what the composition actually resolves to
|
|
33
|
+
for a given route — conditional branches taken, data-dependent states, the real
|
|
34
|
+
class strings after server-side composition. Zero browser dependency, so it
|
|
35
|
+
stays cheap.
|
|
36
|
+
|
|
37
|
+
Level B **supplements** Level A. Capturing B alone leaves you with the soup
|
|
38
|
+
problem above and no component boundaries.
|
|
39
|
+
|
|
40
|
+
## Level C — rendered snapshot (consumer tooling only)
|
|
41
|
+
|
|
42
|
+
If the project already carries a browser-automation tool, or a DevTools bridge
|
|
43
|
+
is available in the session, additionally capture a screenshot plus a
|
|
44
|
+
computed-style extract as visual ground truth.
|
|
45
|
+
|
|
46
|
+
**Capability-detect, never hard-depend.** Level C is available when the consumer
|
|
47
|
+
already has the tooling; it is never a reason to install a browser stack, add a
|
|
48
|
+
dependency, or fail a capture. A project without it captures at A (and B where
|
|
49
|
+
applicable) and says so.
|
|
50
|
+
|
|
51
|
+
Of the two artefacts, **the screenshot is the valuable part** — it is the only
|
|
52
|
+
one that records what a person actually sees. The DOM dump is supplementary and
|
|
53
|
+
carries the erasure problem Level A exists to avoid.
|
|
54
|
+
|
|
55
|
+
## Every snapshot records the source revision
|
|
56
|
+
|
|
57
|
+
Whatever level was captured, record the git SHA the capture was taken at.
|
|
58
|
+
|
|
59
|
+
This is the anchor that makes a return leg possible: without it, reworked output
|
|
60
|
+
cannot be diffed against what was sent, and a capture from an unknown state is
|
|
61
|
+
evidence about nothing in particular. It costs one line and it is the difference
|
|
62
|
+
between a snapshot and a screenshot.
|
|
63
|
+
|
|
64
|
+
## State the level in the output
|
|
65
|
+
|
|
66
|
+
A capture says which level it reached and why it stopped there — "Level A + B;
|
|
67
|
+
no browser tooling detected, so no visual ground truth". A consumer reading the
|
|
68
|
+
bundle can then tell *absent because unavailable* from *absent because
|
|
69
|
+
overlooked*, which is the same distinction the extraction floor draws for
|
|
70
|
+
not-extractable values.
|
|
71
|
+
|
|
72
|
+
## See also
|
|
73
|
+
|
|
74
|
+
- [`design-system-json.md`](design-system-json.md) — the import contract the
|
|
75
|
+
captured artefact is emitted against.
|
|
76
|
+
- [`../SKILL.md`](../SKILL.md) § Design-system extraction floor — what a
|
|
77
|
+
complete extraction carries once the source has been chosen.
|
|
@@ -89,6 +89,18 @@ Apply the table above. State: *"Running in BASIC — say `DETAIL` to switch."* (
|
|
|
89
89
|
|
|
90
90
|
Identify each slot in the rough prompt: intent · entities · output shape · constraints · target AI · tone · audience. List every missing slot. Check for ambiguity, unstated assumptions, and contradictory requirements.
|
|
91
91
|
|
|
92
|
+
#### 3b. De-inflate before you sharpen
|
|
93
|
+
|
|
94
|
+
Diagnose asks what is *missing*. The de-inflation pass asks what must **go** — because sharpening a premise the target model will confabulate around makes the output worse, not better. Strip exactly these three, and nothing else:
|
|
95
|
+
|
|
96
|
+
| Pattern | What it looks like | What it costs |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| **Grandiose persona** | "You are the world's foremost / legendary / 10× expert in X" | Tokens without behaviour change — a superlative is not a constraint, and the model cannot act on it |
|
|
99
|
+
| **Presupposed canon** | "Apply the 7 laws of X", "use the standard X framework" for a body of knowledge that may not exist | The model invents a canon to satisfy the presupposition, and the confabulation reads as authority |
|
|
100
|
+
| **Scope stuffing** | One prompt demanding analysis *and* strategy *and* copy *and* a checklist | An answer to a question nobody asked, at the cost of the one that was |
|
|
101
|
+
|
|
102
|
+
Strip only these three. Anything else the author wrote is a requirement, not inflation — see § Gotcha for the failure mode on both sides. A stripped persona is replaced by the concrete role the task actually needs ("a senior X" is a role; "the world's foremost X" is decoration), and a presupposed canon becomes a question in DETAIL mode or a stated assumption in BASIC. **This is own analysis, not adopted material** — the three patterns are named here rather than cited from an external collection.
|
|
103
|
+
|
|
92
104
|
### 4a. BASIC path
|
|
93
105
|
|
|
94
106
|
Fill missing slots with safe defaults (general audience, neutral tone, the named AI or "any modern LLM"). Skip to step 5.
|
|
@@ -120,7 +132,11 @@ Format per § Output format. Do **not** execute the optimized prompt yourself un
|
|
|
120
132
|
- The model tends to over-engineer BASIC mode — for a one-line ask, the optimized prompt should still be short. No 800-word system prompts for "help with my resume".
|
|
121
133
|
- Don't drift into German welcome text. The optimized prompt mirrors the user's source-language preference; the skill's own scaffolding stays English (per `language-and-tone` for `.md`).
|
|
122
134
|
- The model tends to **mix languages** in the optimized prompt when the user wrote in German but named an English-speaking target audience — pick one language for the whole optimized prompt body (default: source-language of the rough prompt unless the user explicitly named the target audience's language).
|
|
123
|
-
- The model tends to
|
|
135
|
+
- The model tends to **polish a grandiose persona instead of removing it** — "you are the world's foremost expert in X" gets tightened into a better-written superlative. It is decoration either way: replace it with the concrete role the task needs, or drop it.
|
|
136
|
+
- The model tends to **preserve a presupposed canon while sharpening around it** — asked to improve "apply the 7 laws of X", it produces a cleaner prompt that still presupposes seven laws, and the target model then invents them. Turn the presupposition into a DETAIL question or a stated BASIC assumption; never carry it through polished.
|
|
137
|
+
- The model tends to **keep every demand in a scope-stuffed prompt** because each one came from the author — four deliverables in one prompt produce four shallow answers. Name the primary deliverable, and surface the rest as a numbered option rather than silently answering all of them.
|
|
138
|
+
- The model tends to **over-apply de-inflation once it has the concept** — stripping a constraint the author meant, because it read as verbose. Exactly three patterns are strippable (§ 3b); everything else the author wrote is a requirement. Removing a requirement is the worse failure of the two, and it is silent.
|
|
139
|
+
- The model tends to inherit upstream dogma that "only 5 techniques are safe" (few-shot, role, structured-output, constraint-based, chain-of-thought). That claim travels with an external prompt-collection and is **rejected here** — CO-STAR, RISEN, CRISPE, ReAct, and the image-AI templates land in [`docs/guidelines/prompt-templates.md`](../../../docs/guidelines/prompt-templates.md) and are first-class. Pick by request type, not by upstream whitelist.
|
|
124
140
|
|
|
125
141
|
## Do NOT
|
|
126
142
|
|
|
@@ -175,13 +175,13 @@ file exists, test passes — never "user reviews" / "looks good" (§ 4c).
|
|
|
175
175
|
|
|
176
176
|
A gate only the user or a maintainer can clear — a decision, an
|
|
177
177
|
external dependency, an evidence threshold, a kernel-budget soak
|
|
178
|
-
window — is recorded as a `## Blockers` entry (`### blocker: <id>`
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
§ 4c gate-test
|
|
178
|
+
window — is recorded as a `## Blockers` entry (`### blocker: <id>` with the
|
|
179
|
+
seven fields of rule 20), never a stray "blocked on X" sentence. Write it so
|
|
180
|
+
the owner can decide in one sitting: one option named and why, what the delay
|
|
181
|
+
costs, a command or path per option rather than prose, and an offer to walk
|
|
182
|
+
them through it. Ratcheted by `lint_roadmap_blockers`. Full shape:
|
|
183
|
+
[`templates/roadmaps.md` rule 20](../../agent-src/templates/roadmaps.md).
|
|
184
|
+
Omit it entirely when there is no such gate; run the § 4c gate-test first.
|
|
185
185
|
|
|
186
186
|
### 5c. Risk review (Gate R1) — after draft, before save
|
|
187
187
|
|
|
@@ -393,8 +393,8 @@ to every roadmap you author.
|
|
|
393
393
|
reads as open questions. For source-derived/contested plans, council
|
|
394
394
|
*first* (§ 8.B), then author the verdicts.
|
|
395
395
|
|
|
396
|
-
## Examples
|
|
396
|
+
## Examples & the "already tried?" check
|
|
397
397
|
|
|
398
|
-
Browse `agents/roadmaps/` (active set)
|
|
399
|
-
|
|
400
|
-
|
|
398
|
+
Browse `agents/roadmaps/` (active set) for canonical structural / tactical examples. For closed
|
|
399
|
+
work — and for every already-tried / closed / refuted question — read the generated `INDEX.md` in
|
|
400
|
+
`agents/roadmaps/archive/` first; open an archived file only for a row it marks `not-extractable`.
|
|
@@ -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: "
|
|
42
|
+
agent_config_version: "13.0.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -137,20 +137,56 @@ Templates for roadmap files stored in `agents/roadmaps/` or `{module_root}/{Modu
|
|
|
137
137
|
- **Status:** open <!-- open | resolved -->
|
|
138
138
|
- **Owner:** user <!-- user | maintainer | external -->
|
|
139
139
|
- **Blocks:** Phase N — {phase name}
|
|
140
|
+
- **Question:** {optional — the one line saying what is being decided.}
|
|
141
|
+
- **Recommendation:** {which option, and the one sentence why.}
|
|
142
|
+
- **If you do nothing:** {what the non-decision costs, concretely.}
|
|
140
143
|
- **What to do:**
|
|
141
144
|
1. {Concrete, copy-pasteable step the owner must execute.}
|
|
142
145
|
2. {Include commands, file paths, and expected outcomes.}
|
|
143
146
|
- **Resolved when:** {decidable signal, e.g. "task X exits 0"}
|
|
144
147
|
```
|
|
145
148
|
`### blocker: <id>` is the parse anchor the dashboard generator
|
|
146
|
-
reads; ids are unique within the roadmap. All
|
|
147
|
-
required
|
|
149
|
+
reads; ids are unique within the roadmap. All seven fields are
|
|
150
|
+
required; `Question:` is optional and recognised (before it was
|
|
151
|
+
named, the parser folded it silently into `Blocks:`). A cleared blocker flips `Status: resolved` (kept for
|
|
148
152
|
history) instead of being deleted — the resolve-flip runs in the
|
|
149
153
|
same reply as the checkbox flip that cleared it, per
|
|
150
154
|
[`roadmap-progress-sync`](../rules/roadmap-progress-sync.md). A
|
|
151
155
|
step gated by a specific blocker may cross-reference it inline:
|
|
152
156
|
`- [ ] … <!-- blocked-by: <blocker-id> -->`.
|
|
153
157
|
|
|
158
|
+
**A blocker is a decision the owner can make in one sitting, or it
|
|
159
|
+
is not finished being written.** The five original fields describe
|
|
160
|
+
the *situation*; they do not make it decidable, and a blocker that
|
|
161
|
+
only describes a situation hands the analysis back to the person
|
|
162
|
+
least able to do it. Measured 2026-08-15 across the 46 blocker
|
|
163
|
+
entries in this tree: **14 carry no command, path, or option at all**
|
|
164
|
+
in `What to do`. Each of those is a research task wearing a
|
|
165
|
+
decision's clothes.
|
|
166
|
+
|
|
167
|
+
- **`Recommendation:` names one option and why.** "Pick exactly one
|
|
168
|
+
— (a) … or (b) …" without a recommendation is not neutrality, it is
|
|
169
|
+
an unfinished analysis. The agent read the evidence; the owner did
|
|
170
|
+
not. If the agent genuinely cannot recommend, the field says so
|
|
171
|
+
**and names the missing fact** that would decide it.
|
|
172
|
+
- **`If you do nothing:` states the cost of the non-decision.** Most
|
|
173
|
+
blockers are cheap to leave open and a few are not; the owner
|
|
174
|
+
cannot tell which without being told. "Nothing — the roadmap simply
|
|
175
|
+
stays open" is a complete and common answer.
|
|
176
|
+
- **`What to do:` is executable, not descriptive.** Each option
|
|
177
|
+
names **what changes**, **where** (the file path or the command),
|
|
178
|
+
and **what it costs**. A step a reader cannot execute without first
|
|
179
|
+
re-deriving the analysis is a finding, not a step.
|
|
180
|
+
- **Offer to run it.** When the agent hands a blocker to a human, it
|
|
181
|
+
offers to walk them through it step by step in the same reply. The
|
|
182
|
+
owner deciding does not mean the owner executing.
|
|
183
|
+
|
|
184
|
+
`lint_roadmap_blockers` enforces the field set and probes `What to
|
|
185
|
+
do` for executable substance. The 14-entry backlog is recorded as a
|
|
186
|
+
ratchet baseline (`gate-violation-baselines.json`), so existing
|
|
187
|
+
entries stay legal while any **new** one that skips a field or ships
|
|
188
|
+
a command-free `What to do` fails.
|
|
189
|
+
|
|
154
190
|
**Legacy fallback.** A body-level `> Blocked until <condition>`
|
|
155
191
|
note (the follow-up-roadmap convention from rule 17) is parsed by
|
|
156
192
|
the dashboard generator as one implicit roadmap-level blocker
|
|
@@ -383,8 +419,10 @@ complexity: lightweight
|
|
|
383
419
|
- **Status:** open
|
|
384
420
|
- **Owner:** user
|
|
385
421
|
- **Blocks:** Phase N — {phase name}
|
|
422
|
+
- **Recommendation:** {which option, and the one sentence why}
|
|
423
|
+
- **If you do nothing:** {what the non-decision costs}
|
|
386
424
|
- **What to do:**
|
|
387
|
-
1. {step}
|
|
425
|
+
1. {step — what changes, where (`path` or command), what it costs}
|
|
388
426
|
- **Resolved when:** {decidable signal} -->
|
|
389
427
|
|
|
390
428
|
## Notes
|
package/dist/cli/registry.js
CHANGED
|
@@ -72,6 +72,7 @@ export const REGISTRY = [
|
|
|
72
72
|
{ name: 'hooks:status', disposition: 'delegate', synopsis: 'Print the runtime hook matrix (per-platform install + bindings).' },
|
|
73
73
|
{ name: 'hooks:doctor', disposition: 'delegate', synopsis: 'Diagnose hook health: concerns, posture, missing trampolines (read-only).' },
|
|
74
74
|
{ name: 'routing:doctor', disposition: 'delegate', synopsis: 'Live routing diagnosis: per-gate ACTIVE/INACTIVE with reason, chain, freshness, orchestration state (read-only).' },
|
|
75
|
+
{ name: 'workspace:doctor', disposition: 'delegate', synopsis: 'Workspace identity with provenance (repo root, main worktree, current worktree, branch, PR base) + session claim and worktree pressure (read-only).' },
|
|
75
76
|
{ name: 'route:explain', disposition: 'delegate', synopsis: 'Deterministic rule-routing trace for one prompt: matched triggers, tier, disposition, budget, rejected candidates (trigger-match level only).' },
|
|
76
77
|
{ name: 'route:audit', disposition: 'delegate', synopsis: 'Replay the router matcher over the last N chat-history prompts; opt-in recorder + --weekly rolling render (trigger-match level only).' },
|
|
77
78
|
{ name: 'hooks:replay', disposition: 'delegate', synopsis: 'Replay a fixture through the universal hook dispatcher (no state writes).' },
|
package/dist/cli/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"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"}
|