@open-agent-toolkit/cli 0.2.73 → 0.2.74
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/assets/bundle-metadata.json +1 -1
- package/assets/docs/cli-utilities/configuration.md +3 -56
- package/assets/docs/cli-utilities/tool-packs.md +4 -4
- package/assets/docs/contributing/code.md +2 -2
- package/assets/docs/contributing/index.md +0 -1
- package/assets/docs/reference/cli-reference.md +1 -1
- package/assets/docs/reference/troubleshooting.md +17 -40
- package/assets/docs/workflows/projects/artifacts.md +16 -34
- package/assets/docs/workflows/projects/lifecycle.md +20 -19
- package/assets/docs/workflows/skills/explainer-kit.md +180 -440
- package/assets/docs/workflows/skills/index.md +1 -2
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/explainer-kit/SKILL.md +96 -171
- package/assets/skills/explainer-kit/recipes/engineer-tour.json +1 -22
- package/assets/skills/explainer-kit/recipes/program-recap.json +1 -29
- package/assets/skills/explainer-kit/recipes/project-explainer.json +1 -22
- package/assets/skills/explainer-kit/recipes/project-recap.v2.json +1 -43
- package/assets/skills/explainer-kit/references/fact-base-contract.md +76 -101
- package/assets/skills/explainer-kit/references/recap-authoring.md +99 -0
- package/assets/skills/explainer-kit/schemas/manifest.schema.json +13 -135
- package/assets/skills/explainer-kit/scripts/bundle.mjs +712 -0
- package/assets/skills/explainer-kit/scripts/lib/claim-subject.mjs +40 -0
- package/assets/skills/explainer-kit/scripts/lib/contracts.mjs +113 -1504
- package/assets/skills/explainer-kit/scripts/lib/failure.mjs +13 -0
- package/assets/skills/explainer-kit/scripts/lib/package-coverage.mjs +57 -403
- package/assets/skills/explainer-kit/scripts/lib/qa-result.mjs +168 -0
- package/assets/skills/explainer-kit/scripts/lib/qa.mjs +90 -488
- package/assets/skills/explainer-kit/scripts/lib/recipes.mjs +28 -545
- package/assets/skills/explainer-kit/scripts/lib/run-package.mjs +120 -0
- package/assets/skills/explainer-kit/scripts/lib/sanitize.mjs +42 -0
- package/assets/skills/explainer-kit/scripts/record.mjs +335 -0
- package/assets/skills/explainer-kit/scripts/verify.mjs +648 -0
- package/assets/skills/oat-explainer-kit/SKILL.md +57 -117
- package/assets/skills/oat-explainer-kit/references/config-contract.md +20 -64
- package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +85 -237
- package/assets/skills/oat-explainer-kit/scripts/bind-project-sources.mjs +18 -10
- package/assets/skills/oat-explainer-kit/scripts/check-core.mjs +1 -0
- package/assets/skills/oat-explainer-kit/scripts/check-terminal-outcome.mjs +256 -21
- package/assets/skills/oat-explainer-kit/scripts/persist-intent.mjs +82 -3
- package/assets/skills/oat-explainer-kit/scripts/resolve-config.mjs +0 -162
- package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +57 -123
- package/assets/skills/oat-project-autonomous/SKILL.md +14 -13
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +165 -165
- package/assets/skills/oat-project-complete/SKILL.md +168 -349
- package/assets/skills/oat-project-complete/scripts/consume-persisted-recap-intent.mjs +125 -0
- package/assets/skills/oat-project-complete/scripts/execute-synced-archive-entry.mjs +0 -30
- package/assets/skills/oat-project-complete/scripts/parse-completion-retry-fields.mjs +4 -37
- package/assets/skills/oat-project-complete/scripts/parse-synced-archive-resume-fields.mjs +17 -16
- package/assets/skills/oat-project-complete/scripts/recover-completion-receipts.mjs +9 -174
- package/assets/skills/oat-project-complete/scripts/resolve-completion-retry.mjs +1 -2
- package/assets/skills/oat-project-document/SKILL.md +1 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +165 -165
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +44 -56
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +165 -165
- package/assets/skills/oat-project-lite/SKILL.md +1 -1
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +165 -165
- package/assets/skills/oat-project-plan/SKILL.md +5 -6
- package/assets/skills/oat-project-pr-final/SKILL.md +1 -1
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +165 -165
- package/assets/skills/oat-project-quick-start/SKILL.md +1 -1
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +165 -165
- package/assets/skills/oat-project-summary/SKILL.md +35 -25
- package/assets/skills/oat-wave-execute/SKILL.md +11 -36
- package/assets/skills/oat-wave-program/SKILL.md +13 -37
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +9 -113
- package/dist/commands/project/archive/archive-utils.d.ts.map +1 -1
- package/dist/commands/project/archive/archive-utils.js +32 -184
- package/dist/commands/project/archive/explainer-package-coverage.d.ts +3 -8
- package/dist/commands/project/archive/explainer-package-coverage.d.ts.map +1 -1
- package/dist/commands/project/archive/explainer-package-coverage.js +1 -1
- package/dist/config/oat-config.d.ts +0 -11
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +0 -34
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +0 -8
- package/dist/release/public-package-contract.d.ts.map +1 -1
- package/dist/release/public-package-contract.js +2 -10
- package/dist/validation/project-state.d.ts.map +1 -1
- package/dist/validation/project-state.js +42 -3
- package/package.json +2 -2
- package/assets/docs/contributing/explainer-kit-verification.md +0 -133
- package/assets/docs/workflows/skills/explainer-kit-providers.md +0 -155
- package/assets/skills/explainer-kit/briefs/deep-dive.md +0 -35
- package/assets/skills/explainer-kit/briefs/project-page.md +0 -38
- package/assets/skills/explainer-kit/briefs/supporting-diagram.md +0 -28
- package/assets/skills/explainer-kit/briefs/walkthrough-deck.md +0 -35
- package/assets/skills/explainer-kit/examples/project-explainer/content.md +0 -31
- package/assets/skills/explainer-kit/examples/project-explainer/fact-base.md +0 -22
- package/assets/skills/explainer-kit/examples/project-recap/content.md +0 -77
- package/assets/skills/explainer-kit/examples/project-recap/fact-base.json +0 -104
- package/assets/skills/explainer-kit/examples/project-recap/fact-base.md +0 -44
- package/assets/skills/explainer-kit/examples/theme-bundle.json +0 -87
- package/assets/skills/explainer-kit/recipes/project-recap.v1.json +0 -93
- package/assets/skills/explainer-kit/references/contracts.md +0 -324
- package/assets/skills/explainer-kit/references/destination-contract.md +0 -210
- package/assets/skills/explainer-kit/references/extension-contract.md +0 -80
- package/assets/skills/explainer-kit/references/golden-conformance.md +0 -80
- package/assets/skills/explainer-kit/references/visual-review.md +0 -71
- package/assets/skills/explainer-kit/schemas/author-request.v2.schema.json +0 -212
- package/assets/skills/explainer-kit/schemas/author-request.v3.schema.json +0 -241
- package/assets/skills/explainer-kit/schemas/author-result.v2.schema.json +0 -52
- package/assets/skills/explainer-kit/schemas/build-record.schema.json +0 -98
- package/assets/skills/explainer-kit/schemas/durability-evidence.schema.json +0 -53
- package/assets/skills/explainer-kit/schemas/publish-receipt.v1.schema.json +0 -97
- package/assets/skills/explainer-kit/schemas/publish-receipt.v2.schema.json +0 -215
- package/assets/skills/explainer-kit/schemas/publish-request.v1.schema.json +0 -32
- package/assets/skills/explainer-kit/schemas/publish-request.v2.schema.json +0 -34
- package/assets/skills/explainer-kit/schemas/run-request.schema.json +0 -147
- package/assets/skills/explainer-kit/schemas/set-plan.v1.schema.json +0 -149
- package/assets/skills/explainer-kit/schemas/terminal-evidence.v1.schema.json +0 -81
- package/assets/skills/explainer-kit/schemas/visual-review-evidence.v1.schema.json +0 -66
- package/assets/skills/explainer-kit/schemas/visual-review-request.v1.schema.json +0 -117
- package/assets/skills/explainer-kit/schemas/visual-review-result.v1.schema.json +0 -80
- package/assets/skills/explainer-kit/scripts/lib/catalog.mjs +0 -349
- package/assets/skills/explainer-kit/scripts/lib/content-approval.mjs +0 -418
- package/assets/skills/explainer-kit/scripts/lib/diagram.mjs +0 -514
- package/assets/skills/explainer-kit/scripts/lib/durability.mjs +0 -643
- package/assets/skills/explainer-kit/scripts/lib/fact-base.mjs +0 -664
- package/assets/skills/explainer-kit/scripts/lib/internal-references.mjs +0 -538
- package/assets/skills/explainer-kit/scripts/lib/markdown.mjs +0 -414
- package/assets/skills/explainer-kit/scripts/lib/publication-policy.mjs +0 -54
- package/assets/skills/explainer-kit/scripts/lib/records.mjs +0 -954
- package/assets/skills/explainer-kit/scripts/lib/render.mjs +0 -703
- package/assets/skills/explainer-kit/scripts/lib/s3-roots.mjs +0 -353
- package/assets/skills/explainer-kit/scripts/lib/s3-static.mjs +0 -759
- package/assets/skills/explainer-kit/scripts/lib/set-plan.mjs +0 -209
- package/assets/skills/explainer-kit/scripts/lib/source-backlinks.mjs +0 -218
- package/assets/skills/explainer-kit/scripts/lib/terminal-evidence.mjs +0 -157
- package/assets/skills/explainer-kit/scripts/lib/visual-review.mjs +0 -400
- package/assets/skills/explainer-kit/scripts/publish.mjs +0 -76
- package/assets/skills/explainer-kit/scripts/record-durability.mjs +0 -64
- package/assets/skills/explainer-kit/scripts/render-qa.mjs +0 -461
- package/assets/skills/explainer-kit/scripts/run.mjs +0 -3038
- package/assets/skills/explainer-kit/scripts/validate.mjs +0 -59
- package/assets/skills/oat-explainer-kit/references/author-callback.md +0 -53
- package/assets/skills/oat-explainer-kit/references/migration.md +0 -144
- package/assets/skills/oat-explainer-kit/references/visual-review-callback.md +0 -83
- package/assets/skills/oat-explainer-kit/scripts/derive-destination.mjs +0 -91
- package/assets/skills/oat-explainer-kit/scripts/finalize-tracked-run.mjs +0 -531
- package/assets/skills/oat-explainer-kit/scripts/probe-recap-seams.mjs +0 -371
- package/assets/skills/oat-explainer-kit/scripts/run.mjs +0 -905
- package/dist/commands/project/archive/explainer-source-backlinks.d.ts +0 -18
- package/dist/commands/project/archive/explainer-source-backlinks.d.ts.map +0 -1
- package/dist/commands/project/archive/explainer-source-backlinks.js +0 -27
- package/dist/commands/project/archive/explainer-terminal-evidence.d.ts +0 -29
- package/dist/commands/project/archive/explainer-terminal-evidence.d.ts.map +0 -1
- package/dist/commands/project/archive/explainer-terminal-evidence.js +0 -37
|
@@ -11,8 +11,7 @@ Use this section when you want to choose the right OAT skill for a task. If you
|
|
|
11
11
|
|
|
12
12
|
- [Writing Skills](../../contributing/skills.md) - Contributor guide to skill authoring, contracts, and governance.
|
|
13
13
|
- [Docs Workflows](../../docs-tooling/workflows.md) - How docs CLI helpers and docs skills work together.
|
|
14
|
-
- [Explainer Kit](explainer-kit.md) -
|
|
15
|
-
- [Explainer Provider Integration](explainer-kit-providers.md) - Provider-neutral planner, author, trusted browser-session, and visual-critic contracts.
|
|
14
|
+
- [Explainer Kit](explainer-kit.md) - Agent-authored generation flow, direct and lifecycle callers, verification ladder, run package, and outcomes.
|
|
16
15
|
- [Repo Improve](repo-improve.md) - Source modes, external-plan boundaries, optional tracking, and OAT import handoff.
|
|
17
16
|
- [Recon Evidence Packets](recon.md) - Approved worker profiles, validated claim states, packet layout, partial outcomes, and directory-only handoff.
|
|
18
17
|
|
|
@@ -4,194 +4,119 @@ description: Use when building destination-neutral visual explainer artifacts fr
|
|
|
4
4
|
user-invocable: true
|
|
5
5
|
allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Agent, mcp__*
|
|
6
6
|
metadata:
|
|
7
|
-
version:
|
|
7
|
+
version: 3.0.2
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Explainer Kit
|
|
11
11
|
|
|
12
|
-
Build visual explainer
|
|
13
|
-
user, vault, or destination configuration.
|
|
12
|
+
Build one destination-neutral visual explainer from explicit inputs without
|
|
13
|
+
reading OAT, user, vault, or destination configuration.
|
|
14
14
|
|
|
15
15
|
## Responsibilities
|
|
16
16
|
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
- Record build outcomes and verify caller-supplied durability evidence.
|
|
26
|
-
- Publish only through an explicitly requested, human-gated connector.
|
|
27
|
-
|
|
28
|
-
## Dependency Direction
|
|
29
|
-
|
|
30
|
-
This skill is the canonical core. It must not depend on `oat-explainer-kit` or
|
|
31
|
-
OAT project state. Adapters and private wrappers may construct a core run
|
|
32
|
-
request and consume its manifest, build record, and optional publish receipt.
|
|
33
|
-
|
|
34
|
-
## Wrapper Extension Seam
|
|
35
|
-
|
|
36
|
-
Wrappers own private pre-resolution and post-run work. They resolve presets,
|
|
37
|
-
vaults, external documents, and personal destinations before translating the
|
|
38
|
-
result into one `ExplainerRunRequestV1`; after the core run, they consume the
|
|
39
|
-
versioned manifest and optional receipt to create links or companion records.
|
|
40
|
-
They must not inject private work between core stages or expose private lanes as
|
|
41
|
-
public config. See `references/extension-contract.md` for the frozen sequence,
|
|
42
|
-
version policy, and compatibility fixture.
|
|
17
|
+
- Collect only allowlisted inputs and create a cited fact base plus bounded
|
|
18
|
+
anchor ledger.
|
|
19
|
+
- Give the host agent the selected recipe brief, authoring mechanics, theme,
|
|
20
|
+
and one recipe shell.
|
|
21
|
+
- Verify required sections, source discipline, script safety, and both
|
|
22
|
+
directions of machine-checkable claim traceability.
|
|
23
|
+
- Use the highest available browser rung without blocking browser-less hosts.
|
|
24
|
+
- Record one exact-inventory `explainer-kit.manifest/v2` run package.
|
|
43
25
|
|
|
44
26
|
## Asset Resolution
|
|
45
27
|
|
|
46
|
-
Resolve schemas, recipes, templates, scripts,
|
|
47
|
-
|
|
48
|
-
|
|
28
|
+
Resolve schemas, recipes, templates, scripts, and references relative to this
|
|
29
|
+
installed skill directory. Never resolve runtime assets from a source checkout
|
|
30
|
+
or from absolute operator-specific paths.
|
|
49
31
|
|
|
50
|
-
##
|
|
32
|
+
## Run
|
|
51
33
|
|
|
52
|
-
|
|
34
|
+
Choose one recipe and one input mode, then prepare the run:
|
|
53
35
|
|
|
54
36
|
```bash
|
|
55
|
-
node scripts/
|
|
37
|
+
node scripts/bundle.mjs \
|
|
38
|
+
--recipe project-recap \
|
|
39
|
+
--project /path/to/project \
|
|
40
|
+
--theme /path/to/theme.resolved.json \
|
|
41
|
+
--out /path/to/run-root
|
|
56
42
|
```
|
|
57
43
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
once per artifact with an `explainer-kit.author-request/v3` payload carrying the
|
|
79
|
-
artifact identity and type, its authoring path, the inlined brief from
|
|
80
|
-
`briefs/`, the reconciled fact base, the resolved theme, the shell source for
|
|
81
|
-
artistic artifacts, the required narrative sections for narrative floor
|
|
82
|
-
artifacts, and canonical `artifactLinks` with explicit `index.html` site paths
|
|
83
|
-
and receiver-relative hrefs. Version 2 requests remain readable for replay. It
|
|
84
|
-
accepts only a schema-valid
|
|
85
|
-
`explainer-kit.author-result/v2` with exactly one of `content.markdown` or
|
|
86
|
-
`content.html` plus non-secret provenance, rejects excessive verbatim source
|
|
87
|
-
overlap, retains each validated result under `source/author/` and its content
|
|
88
|
-
under `source/content/<artifact>.md` or `.html`, and never prompts.
|
|
89
|
-
|
|
90
|
-
Authors follow the bundled medium-specific rules in
|
|
91
|
-
`references/visual-authoring.md`. They do not require a home-directory plugin:
|
|
92
|
-
an optional installed visual-explainer capability may enhance composition, but
|
|
93
|
-
the bundled briefs, shells, and guidance are the complete unattended baseline.
|
|
94
|
-
|
|
95
|
-
Markdown content is parsed to a validated AST and rendered through the themed
|
|
96
|
-
block library, including GFM tables and task lists, GFM alert callouts, fenced
|
|
97
|
-
`timeline` blocks, and fenced `diagram` blocks rendered to inline SVG at build
|
|
98
|
-
time. HTML content is validated at the DOM level: the authored document's
|
|
99
|
-
scripts must match the declared core shell's ordered multiset of script hashes
|
|
100
|
-
exactly, and inline event handlers and external active content are rejected.
|
|
101
|
-
Non-script markup stays free within the allowlist.
|
|
102
|
-
|
|
103
|
-
A floor artifact may return `proposedArtifacts` of `{id, profileId, rationale}`
|
|
104
|
-
to grow the set when the content earns it. The referenced profile supplies the
|
|
105
|
-
type, authoring path, brief, and shell, so the author never chooses policy.
|
|
106
|
-
Unknown profiles and unsafe, duplicate, or floor-colliding IDs are hard errors;
|
|
107
|
-
proposals over a profile's `maxCount` or the recipe's
|
|
108
|
-
`expansion.limits.maxArtifacts` are rejected with a warning and the run
|
|
109
|
-
continues. Accepted expansion artifacts render to
|
|
110
|
-
`site/{directory}/{slug}/{artifactId}/index.html` and are linked from the floor
|
|
111
|
-
hub; floor artifacts keep their existing paths.
|
|
112
|
-
|
|
113
|
-
`project-recap@2` requires one complete navigational hub and makes diagrams,
|
|
114
|
-
decks, and deep dives adaptive expansions. The planner proposes one only when
|
|
115
|
-
it can name a distinct reader question, the supporting source evidence, and why
|
|
116
|
-
that medium improves on adding more hub prose. The prose brief governs
|
|
117
|
-
typographic roles, hierarchy, slide archetypes, diagram semantics,
|
|
118
|
-
fit-to-content composition, density, repetition, and medium choice. These are
|
|
119
|
-
editorial judgments, not new request fields or renderer rules.
|
|
120
|
-
`project-recap@1` remains readable for replay with its historical three-artifact
|
|
121
|
-
floor.
|
|
122
|
-
|
|
123
|
-
## Review, Approval, and Warnings
|
|
124
|
-
|
|
125
|
-
Approval runs after theme, render, hard internal-reference validation, safety
|
|
126
|
-
validation, the guideline checker, and render QA, immediately before publish and
|
|
127
|
-
durability — so a reviewer approves rendered artifacts and the complete warning
|
|
128
|
-
set, not raw prose. The reference gate resolves `href`, `src`, `srcset`,
|
|
129
|
-
fragments, and safe embedded references against explicit manifest/site-tree
|
|
130
|
-
files. It may invoke the existing correction author once, then rerenders and
|
|
131
|
-
revalidates before any browser or visual review. A later visual correction also
|
|
132
|
-
rerenders and passes through the validation-only reference gate without
|
|
133
|
-
receiving another correction attempt. An exhausted `E_INTERNAL_REFERENCE`
|
|
134
|
-
finding fails closed and cannot reach durability.
|
|
135
|
-
|
|
136
|
-
Interactive runs stop with an `incomplete` outcome once artifacts are built and
|
|
137
|
-
checked. Review the rendered `site/` tree, the sources under `source/content/`,
|
|
138
|
-
and the accumulated warnings, then provide an explicit JSON decision and rerun
|
|
139
|
-
the same request:
|
|
44
|
+
Use exactly one of the supported input modes:
|
|
45
|
+
|
|
46
|
+
- `--project <dir>` for a project recap or project explainer;
|
|
47
|
+
- `--program <artifact> --summaries <dir> --archive <dir>` for a program
|
|
48
|
+
recap;
|
|
49
|
+
- `--inputs <file|dir>...` for documents; or
|
|
50
|
+
- `--fact-base <path>` for a supplied fact base.
|
|
51
|
+
|
|
52
|
+
### Front door
|
|
53
|
+
|
|
54
|
+
When a person invokes this skill directly, ask them to name the recipe, choose
|
|
55
|
+
`--out <dir>`, and provide exactly one direct input mode:
|
|
56
|
+
|
|
57
|
+
- `--project <dir>` for an OAT project;
|
|
58
|
+
- `--inputs <file|dir>...` for documents; or
|
|
59
|
+
- `--fact-base <path>` for a prepared fact base.
|
|
60
|
+
|
|
61
|
+
Run from the installed skill directory. If the person does not supply a
|
|
62
|
+
resolved theme, materialize the deterministic `clean-neutral` default before
|
|
63
|
+
bundling:
|
|
140
64
|
|
|
141
65
|
```bash
|
|
142
|
-
node
|
|
143
|
-
|
|
144
|
-
|
|
66
|
+
node --input-type=module --eval '
|
|
67
|
+
import { writeFile } from "node:fs/promises";
|
|
68
|
+
import { resolveTheme } from "./scripts/lib/theme.mjs";
|
|
69
|
+
const { theme } = await resolveTheme({ style: "clean-neutral" });
|
|
70
|
+
await writeFile(process.argv[1], `${JSON.stringify(theme, null, 2)}\n`);
|
|
71
|
+
' /path/to/theme.resolved.json
|
|
145
72
|
```
|
|
146
73
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
`
|
|
154
|
-
`
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
## Progress Indicators
|
|
74
|
+
Pass that file as `--theme /path/to/theme.resolved.json`. After bundling,
|
|
75
|
+
propose the bounded input scope and show a concise summary of the prepared fact
|
|
76
|
+
base so the person can correct the scope or source facts before authoring. This
|
|
77
|
+
is a lightweight interactive confirmation, not a project gate or approval
|
|
78
|
+
workflow.
|
|
79
|
+
|
|
80
|
+
Always pass `--recipe`, `--theme`, and `--out`. `bundle.mjs` writes
|
|
81
|
+
`source/fact-base.json`, `source/fact-base.md`, `source/ledger.json`, and
|
|
82
|
+
`theme.resolved.json`. If it reports `reuse: true`, return the existing
|
|
83
|
+
satisfied run without changing it.
|
|
84
|
+
|
|
85
|
+
The host agent then reads the selected recipe's `floor[0].briefRef`,
|
|
86
|
+
`references/recap-authoring.md`, the fact base, anchor ledger, and resolved
|
|
87
|
+
theme. Copy the recipe's shell from `templates/` and author exactly one
|
|
88
|
+
standalone `site/index.html`. Preserve every required narrative section ID,
|
|
89
|
+
keep all CSS and approved scripts inline, make no external requests, and spell
|
|
90
|
+
every machine-checkable fact as the fact base spells it. Unattended runs never
|
|
91
|
+
prompt.
|
|
92
|
+
|
|
93
|
+
Run browser-free verification and the highest available browser rung. Record a
|
|
94
|
+
direct front-door run as interactive:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
node scripts/verify.mjs --run-root /path/to/run-root --recipe project-recap
|
|
98
|
+
node scripts/record.mjs \
|
|
99
|
+
--run-root /path/to/run-root \
|
|
100
|
+
--recipe project-recap \
|
|
101
|
+
--slug project-recap \
|
|
102
|
+
--mode interactive \
|
|
103
|
+
--theme /path/to/run-root/theme.resolved.json
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Lifecycle callers use `--mode unattended` instead and never prompt.
|
|
107
|
+
|
|
108
|
+
The ladder is host browser capture and inspection, then the bundled Playwright
|
|
109
|
+
probe, then the browser-free `none` rung. Host evidence uses 320, 768, and 1440
|
|
110
|
+
pixel screenshots bound to the exact artifact hash and an explicit visual
|
|
111
|
+
verdict. Browser-free structure, source-dumping, shell-script, ledger-to-page,
|
|
112
|
+
and page-to-ledger checks run at every rung.
|
|
113
|
+
|
|
114
|
+
`record.mjs` writes `explainer-kit.manifest/v2`. `built` means browser and
|
|
115
|
+
visual checks passed. `built-needs-review` is a usable artifact whose browser
|
|
116
|
+
rung was unavailable or found issues. `failed` and `incomplete` do not satisfy
|
|
117
|
+
generation. Do not write into the run root after recording.
|
|
118
|
+
|
|
119
|
+
## Progress Indicators (User-Facing)
|
|
195
120
|
|
|
196
121
|
For interactive runs, show a concise banner and stage updates:
|
|
197
122
|
|
|
@@ -201,6 +126,6 @@ EXPLAINER KIT
|
|
|
201
126
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
202
127
|
```
|
|
203
128
|
|
|
204
|
-
Report
|
|
205
|
-
|
|
206
|
-
|
|
129
|
+
Report bundle, authoring, verification, browser rung, recording, and outcome
|
|
130
|
+
stages as they begin and complete. Keep unattended output structured and
|
|
131
|
+
non-interactive.
|
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
{
|
|
16
16
|
"id": "engineer-tour",
|
|
17
17
|
"type": "explainer",
|
|
18
|
-
"authoring": "html",
|
|
19
18
|
"template": "engineer-tour",
|
|
20
|
-
"required": true,
|
|
21
19
|
"briefRef": "briefs/engineer-tour.md",
|
|
22
20
|
"requiredNarrative": [
|
|
23
21
|
"orientation",
|
|
@@ -27,24 +25,5 @@
|
|
|
27
25
|
"validation"
|
|
28
26
|
]
|
|
29
27
|
}
|
|
30
|
-
]
|
|
31
|
-
"expansion": {
|
|
32
|
-
"profiles": [
|
|
33
|
-
{
|
|
34
|
-
"profileId": "supporting-diagram",
|
|
35
|
-
"type": "diagram",
|
|
36
|
-
"authoring": "html",
|
|
37
|
-
"briefRef": "briefs/supporting-diagram.md",
|
|
38
|
-
"shell": "diagram-shell",
|
|
39
|
-
"maxCount": 4
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
"limits": {
|
|
43
|
-
"maxArtifacts": 4
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"discoveryLimits": {
|
|
47
|
-
"consecutiveNoNewFindingsRounds": 2,
|
|
48
|
-
"maxRounds": 8
|
|
49
|
-
}
|
|
28
|
+
]
|
|
50
29
|
}
|
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
{
|
|
16
16
|
"id": "program-recap",
|
|
17
17
|
"type": "hub",
|
|
18
|
-
"authoring": "markdown",
|
|
19
18
|
"template": "house-style",
|
|
20
|
-
"required": true,
|
|
21
19
|
"briefRef": "briefs/program-recap.md",
|
|
22
20
|
"requiredNarrative": [
|
|
23
21
|
"program-overview",
|
|
@@ -28,31 +26,5 @@
|
|
|
28
26
|
"follow-up-ledger"
|
|
29
27
|
]
|
|
30
28
|
}
|
|
31
|
-
]
|
|
32
|
-
"expansion": {
|
|
33
|
-
"profiles": [
|
|
34
|
-
{
|
|
35
|
-
"profileId": "supporting-diagram",
|
|
36
|
-
"type": "diagram",
|
|
37
|
-
"authoring": "html",
|
|
38
|
-
"briefRef": "briefs/supporting-diagram.md",
|
|
39
|
-
"shell": "diagram-shell",
|
|
40
|
-
"maxCount": 3
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"profileId": "project-page",
|
|
44
|
-
"type": "explainer",
|
|
45
|
-
"authoring": "markdown",
|
|
46
|
-
"briefRef": "briefs/project-page.md",
|
|
47
|
-
"maxCount": 12
|
|
48
|
-
}
|
|
49
|
-
],
|
|
50
|
-
"limits": {
|
|
51
|
-
"maxArtifacts": 12
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
"discoveryLimits": {
|
|
55
|
-
"consecutiveNoNewFindingsRounds": 2,
|
|
56
|
-
"maxRounds": 8
|
|
57
|
-
}
|
|
29
|
+
]
|
|
58
30
|
}
|
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
{
|
|
16
16
|
"id": "project-explainer",
|
|
17
17
|
"type": "hub",
|
|
18
|
-
"authoring": "markdown",
|
|
19
18
|
"template": "house-style",
|
|
20
|
-
"required": true,
|
|
21
19
|
"briefRef": "briefs/project-explainer.md",
|
|
22
20
|
"requiredNarrative": [
|
|
23
21
|
"planned-architecture",
|
|
@@ -27,24 +25,5 @@
|
|
|
27
25
|
"validation-approach"
|
|
28
26
|
]
|
|
29
27
|
}
|
|
30
|
-
]
|
|
31
|
-
"expansion": {
|
|
32
|
-
"profiles": [
|
|
33
|
-
{
|
|
34
|
-
"profileId": "supporting-diagram",
|
|
35
|
-
"type": "diagram",
|
|
36
|
-
"authoring": "html",
|
|
37
|
-
"briefRef": "briefs/supporting-diagram.md",
|
|
38
|
-
"shell": "diagram-shell",
|
|
39
|
-
"maxCount": 4
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
"limits": {
|
|
43
|
-
"maxArtifacts": 4
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"discoveryLimits": {
|
|
47
|
-
"consecutiveNoNewFindingsRounds": 2,
|
|
48
|
-
"maxRounds": 8
|
|
49
|
-
}
|
|
28
|
+
]
|
|
50
29
|
}
|
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
{
|
|
16
16
|
"id": "project-recap",
|
|
17
17
|
"type": "hub",
|
|
18
|
-
"authoring": "html",
|
|
19
18
|
"template": "house-style",
|
|
20
|
-
"required": true,
|
|
21
19
|
"briefRef": "briefs/project-recap.md",
|
|
22
20
|
"requiredNarrative": [
|
|
23
21
|
"original-request",
|
|
@@ -28,45 +26,5 @@
|
|
|
28
26
|
"outcome"
|
|
29
27
|
]
|
|
30
28
|
}
|
|
31
|
-
]
|
|
32
|
-
"expansion": {
|
|
33
|
-
"profiles": [
|
|
34
|
-
{
|
|
35
|
-
"profileId": "supporting-diagram",
|
|
36
|
-
"type": "diagram",
|
|
37
|
-
"authoring": "html",
|
|
38
|
-
"briefRef": "briefs/supporting-diagram.md",
|
|
39
|
-
"shell": "diagram-shell",
|
|
40
|
-
"maxCount": 1
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"profileId": "walkthrough-deck",
|
|
44
|
-
"type": "deck",
|
|
45
|
-
"authoring": "html",
|
|
46
|
-
"briefRef": "briefs/walkthrough-deck.md",
|
|
47
|
-
"shell": "deck-shell",
|
|
48
|
-
"maxCount": 1
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"profileId": "deep-dive",
|
|
52
|
-
"type": "explainer",
|
|
53
|
-
"authoring": "markdown",
|
|
54
|
-
"briefRef": "briefs/deep-dive.md",
|
|
55
|
-
"maxCount": 3
|
|
56
|
-
}
|
|
57
|
-
],
|
|
58
|
-
"limits": {
|
|
59
|
-
"maxArtifacts": 5
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
"fallback": {
|
|
63
|
-
"mode": "deterministic-markdown",
|
|
64
|
-
"selection": "explicit",
|
|
65
|
-
"authoring": "markdown",
|
|
66
|
-
"scope": "portfolio"
|
|
67
|
-
},
|
|
68
|
-
"discoveryLimits": {
|
|
69
|
-
"consecutiveNoNewFindingsRounds": 2,
|
|
70
|
-
"maxRounds": 8
|
|
71
|
-
}
|
|
29
|
+
]
|
|
72
30
|
}
|