@open-agent-toolkit/cli 0.2.20 → 0.2.22

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 (58) hide show
  1. package/assets/docs/workflows/projects/artifacts.md +1 -1
  2. package/assets/docs/workflows/skills/explainer-kit.md +188 -23
  3. package/assets/docs/workflows/skills/index.md +1 -1
  4. package/assets/public-package-versions.json +4 -4
  5. package/assets/skills/explainer-kit/SKILL.md +87 -25
  6. package/assets/skills/explainer-kit/briefs/deep-dive.md +35 -0
  7. package/assets/skills/explainer-kit/briefs/engineer-tour.md +45 -0
  8. package/assets/skills/explainer-kit/briefs/program-recap.md +41 -0
  9. package/assets/skills/explainer-kit/briefs/project-explainer.md +38 -0
  10. package/assets/skills/explainer-kit/briefs/project-page.md +38 -0
  11. package/assets/skills/explainer-kit/briefs/project-recap.md +47 -0
  12. package/assets/skills/explainer-kit/briefs/supporting-diagram.md +28 -0
  13. package/assets/skills/explainer-kit/briefs/walkthrough-deck.md +35 -0
  14. package/assets/skills/explainer-kit/examples/project-recap/content.md +57 -14
  15. package/assets/skills/explainer-kit/examples/project-recap/fact-base.json +104 -0
  16. package/assets/skills/explainer-kit/examples/project-recap/fact-base.md +26 -4
  17. package/assets/skills/explainer-kit/recipes/engineer-tour.json +27 -10
  18. package/assets/skills/explainer-kit/recipes/program-recap.json +35 -11
  19. package/assets/skills/explainer-kit/recipes/project-explainer.json +27 -10
  20. package/assets/skills/explainer-kit/recipes/project-recap.json +43 -11
  21. package/assets/skills/explainer-kit/references/contracts.md +45 -19
  22. package/assets/skills/explainer-kit/schemas/author-request.v2.schema.json +41 -0
  23. package/assets/skills/explainer-kit/schemas/author-result.v2.schema.json +52 -0
  24. package/assets/skills/explainer-kit/scripts/lib/browser-runtime.mjs +442 -0
  25. package/assets/skills/explainer-kit/scripts/lib/content-approval.mjs +223 -10
  26. package/assets/skills/explainer-kit/scripts/lib/contracts.mjs +28 -43
  27. package/assets/skills/explainer-kit/scripts/lib/diagram.mjs +237 -0
  28. package/assets/skills/explainer-kit/scripts/lib/html-safety.mjs +687 -0
  29. package/assets/skills/explainer-kit/scripts/lib/markdown.mjs +414 -0
  30. package/assets/skills/explainer-kit/scripts/lib/qa.mjs +313 -14
  31. package/assets/skills/explainer-kit/scripts/lib/recipes.mjs +314 -41
  32. package/assets/skills/explainer-kit/scripts/lib/records.mjs +61 -0
  33. package/assets/skills/explainer-kit/scripts/lib/render.mjs +166 -12
  34. package/assets/skills/explainer-kit/scripts/render-qa.mjs +152 -2
  35. package/assets/skills/explainer-kit/scripts/run.mjs +789 -272
  36. package/assets/skills/explainer-kit/templates/deck-shell.html +25 -5
  37. package/assets/skills/explainer-kit/templates/diagram-shell.html +29 -7
  38. package/assets/skills/explainer-kit/templates/engineer-tour.html +133 -9
  39. package/assets/skills/explainer-kit/templates/house-style.html +82 -0
  40. package/assets/skills/oat-brainstorm/SKILL.md +1 -1
  41. package/assets/skills/oat-brainstorm/scripts/helper.js +18 -11
  42. package/assets/skills/oat-brainstorm/scripts/server.cjs +109 -55
  43. package/assets/skills/oat-explainer-kit/SKILL.md +16 -9
  44. package/assets/skills/oat-explainer-kit/references/author-callback.md +51 -0
  45. package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +10 -8
  46. package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +14 -0
  47. package/assets/skills/oat-explainer-kit/scripts/run.mjs +7 -11
  48. package/assets/skills/oat-project-complete/SKILL.md +18 -2
  49. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  50. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +7 -1
  51. package/assets/skills/oat-wave-execute/SKILL.md +12 -19
  52. package/assets/skills/oat-wave-program/SKILL.md +12 -13
  53. package/dist/commands/init/tools/index.d.ts.map +1 -1
  54. package/dist/commands/init/tools/index.js +4 -4
  55. package/dist/engine/compute-plan.js +3 -3
  56. package/package.json +2 -2
  57. package/assets/skills/explainer-kit/schemas/author-request.schema.json +0 -85
  58. package/assets/skills/explainer-kit/schemas/author-result.schema.json +0 -65
@@ -0,0 +1,47 @@
1
+ # Project recap author brief
2
+
3
+ ## Audience
4
+
5
+ Write for a busy team reader, including people who did not work on the project
6
+ and are not deeply technical. One skim should explain what was requested, what
7
+ changed, why the important choices were made, what evidence supports the
8
+ result, and what remains.
9
+
10
+ ## Voice and editing
11
+
12
+ Be direct, factual, and concise. Use short sentences, active voice, and
13
+ concrete nouns. Define unavoidable jargon inline. Cut throat-clearing, hedges,
14
+ forced triplets, nested parentheticals, em-dash chains, and “not just X but Y”
15
+ constructions. Put enumerable material in bullets or tables. Turn PR and issue
16
+ references into real links rather than bare numbers. Preserve every supported
17
+ fact and citation; state uncertainty instead of inventing connective detail.
18
+ Use the same terms, statuses, and numbers throughout.
19
+
20
+ ## Narrative intent
21
+
22
+ - **Original request:** State the user-visible goal, original constraints, and
23
+ success criteria. Separate the request from the eventual implementation.
24
+ - **Key agent decisions:** Explain the few decisions that materially shaped the
25
+ result. Pair each decision with its reason and consequence.
26
+ - **As-built architecture:** Describe the delivered system and its boundaries.
27
+ Include at least one high-level architecture diagram, inline or standalone.
28
+ - **Implementation record:** Summarize the work in an evidence table with
29
+ components, notable changes, and durable references.
30
+ - **Validation evidence:** Use a table for commands, checks, observed results,
31
+ and any limits. Do not substitute “tests passed” for concrete evidence.
32
+ - **Outcome:** Say what now works, what did not ship, and what the next reader
33
+ should do.
34
+
35
+ ## Floor
36
+
37
+ Produce one rich narrative hub covering all six sections above. It must contain
38
+ at least one high-level architecture diagram, structured lists where useful,
39
+ and evidence tables for implementation and validation. The page should remain
40
+ useful without any expansion artifact.
41
+
42
+ ## Expansion license
43
+
44
+ Propose additional diagrams, a deep-dive, or a walkthrough deck when complexity
45
+ earns it. Expansion should clarify a real boundary, flow, trade-off, or
46
+ operational handoff that would overload the hub. Do not expand to repeat the
47
+ same story in another format.
@@ -0,0 +1,28 @@
1
+ # Supporting diagram author brief
2
+
3
+ ## Audience
4
+
5
+ Create a visual for a reader who understands the parent explainer but needs one
6
+ boundary, flow, dependency, or state transition made unmistakable.
7
+
8
+ ## Voice and visual intent
9
+
10
+ Lead with the visual. Use short labels, consistent terminology, and a clear
11
+ reading direction. Make the title state the question the diagram answers.
12
+ Include a concise legend or annotation only when the visual vocabulary is not
13
+ self-evident.
14
+
15
+ ## Floor
16
+
17
+ Compose a complete, accessible HTML diagram from the supplied
18
+ `diagram-shell`. Preserve its required anchors, theme tokens, and core scripts.
19
+ The diagram must have an explicit title, meaningful labels, a visible primary
20
+ flow, and a short text explanation that remains useful to screen-reader users.
21
+ Do not encode essential meaning through color alone.
22
+
23
+ ## Expansion license
24
+
25
+ Elaborate the shell's non-script markup and SVG freely when needed for
26
+ legibility. Keep the scope to one coherent question. If the visual needs
27
+ several unrelated panels or long prose to make sense, recommend a deep-dive
28
+ instead.
@@ -0,0 +1,35 @@
1
+ # Walkthrough deck author brief
2
+
3
+ ## Audience
4
+
5
+ Build for a live or self-guided walkthrough with teammates who need the project
6
+ story in a deliberate sequence rather than a reference document.
7
+
8
+ ## Voice and sequence
9
+
10
+ Use one claim per slide and a clear narrative arc: context, change, system,
11
+ evidence, outcome, next action. Keep text brief enough to scan at presentation
12
+ distance. Use diagrams, comparisons, and evidence excerpts instead of
13
+ shrinking prose to fit.
14
+
15
+ ## Floor
16
+
17
+ Compose a complete HTML deck from the supplied `deck-shell`. Preserve required
18
+ anchors, theme tokens, keyboard navigation, progress behavior, print behavior,
19
+ and all core scripts exactly. Include:
20
+
21
+ - an opening frame that states the project and reader promise;
22
+ - a before/after or request/outcome frame;
23
+ - a high-level architecture or execution-flow visual;
24
+ - a decision or trade-off frame;
25
+ - a validation-evidence frame;
26
+ - a closing frame with outcome and next actions.
27
+
28
+ Every slide must have a useful heading, readable contrast, and a sensible
29
+ no-JavaScript and print order.
30
+
31
+ ## Shell-composition license
32
+
33
+ The shell supplies safety and presentation mechanics. You may recompose and
34
+ extend non-script markup and styling to fit the story. Do not add scripts,
35
+ external active content, or inline event handlers.
@@ -2,33 +2,76 @@
2
2
 
3
3
  ## Original request
4
4
 
5
- Replace the nightly full rebuild with incremental indexing without changing the
6
- public query contract.
5
+ Every correction to the fictional Atlas Index corpus had to wait for the next
6
+ overnight window, and the cost of that window grew with the corpus. The team was
7
+ asked to make indexing continuous without asking a single caller to change how
8
+ they query.
9
+
10
+ > [!IMPORTANT]
11
+ > The query contract was frozen for the whole engagement. Any option that would
12
+ > have reshaped a response was out of scope before it was evaluated.
7
13
 
8
14
  ## Key agent decisions
9
15
 
10
- - Use partition-local checkpoints to bound replay.
11
- - Make index writes idempotent before enabling automatic retries.
12
- - Retain the full rebuild as a documented recovery path.
16
+ | Decision | Alternative weighed | Why it won |
17
+ | ---------------------------- | ---------------------------- | -------------------------------------------------- |
18
+ | Checkpoint each partition | A single global checkpoint | Replay after a crash stays inside one partition |
19
+ | Make writes idempotent first | Deduplicate in each consumer | Retry safety belongs to the writer, not the reader |
20
+ | Keep the rebuild as recovery | Delete it after cutover | A proven fallback costs almost nothing to retain |
21
+
22
+ Each row records what was chosen and what it was chosen over, so a later reader
23
+ can reconstruct the reasoning rather than just the result.
13
24
 
14
25
  ## As-built architecture
15
26
 
16
- A change reader resumes from each partition checkpoint and hands batches to
17
- idempotent workers. A scheduled audit compares source and index samples and
18
- raises a recovery task when drift exceeds the accepted threshold.
27
+ ```diagram
28
+ graph TD
29
+ reader[Change reader] --> queue(Batch queue)
30
+ queue --> worker[Index worker]
31
+ worker --> index[Search index]
32
+ audit{Drift beyond threshold} -->|yes| recovery[Recovery task]
33
+ index --> audit
34
+ ```
35
+
36
+ The reader resumes from whichever checkpoint its partition last committed, so a
37
+ restart repeats at most one batch. Workers apply batches by key, which makes a
38
+ repeated batch indistinguishable from a first delivery. The audit closes the
39
+ loop by sampling both sides on a schedule and opening a recovery task only when
40
+ the difference clears the accepted threshold.
19
41
 
20
42
  ## Implementation record
21
43
 
22
- The team delivered checkpoint persistence, replay-safe workers, audit reporting,
23
- and the recovery runbook in three sequential milestones.
44
+ ```timeline
45
+ 2026-02-03 Checkpoint persistence landed behind a flag
46
+ 2026-02-17 — Replay-safe workers replaced the batch writer
47
+ 2026-03-02 — Drift audit and the recovery runbook shipped
48
+ ```
49
+
50
+ - The first milestone changed only bookkeeping, so it could ship dark.
51
+ - The second made retries safe, which is what unlocked automatic recovery.
52
+ - The third added the observability the operators asked for before cutover.
24
53
 
25
54
  ## Validation evidence
26
55
 
27
- Contract tests, interrupted-restart tests, duplicate-batch tests, and sampled
28
- parity checks passed. See the fictional
56
+ | Suite | Scope | Result |
57
+ | ------------------ | ------------------------------------------- | --------- |
58
+ | Contract | Query responses across the fixture corpus | Unchanged |
59
+ | Restart | Interruption at every checkpoint boundary | No gaps |
60
+ | Duplicate delivery | The same batch applied twice | No drift |
61
+ | Parity sampling | Scheduled samples against the source record | In budget |
62
+
63
+ The full logs sit in the fictional
29
64
  [evidence index](https://docs.example.com/atlas-index/evidence).
30
65
 
66
+ > [!NOTE]
67
+ > How long audit samples should be retained is still an open governance
68
+ > question, and it is tracked outside this recap.
69
+
31
70
  ## Outcome
32
71
 
33
- Incremental indexing is active. The nightly rebuild is no longer part of normal
34
- operation and remains documented for recovery only.
72
+ Corrections now reach readers in minutes instead of waiting for a nightly
73
+ window, and the operational surface got smaller rather than larger.
74
+
75
+ 1. Continuous indexing is the normal path.
76
+ 2. The rebuild remains documented, exercised, and unused.
77
+ 3. Drift is a monitored quantity rather than an assumption.
@@ -0,0 +1,104 @@
1
+ {
2
+ "schemaVersion": "explainer-kit.fact-base/v1",
3
+ "generatedAt": "2026-03-09T18:00:00Z",
4
+ "mode": "supplied",
5
+ "freshnessPolicy": "live-wins",
6
+ "sources": [
7
+ {
8
+ "id": "atlas-index-project",
9
+ "kind": "file",
10
+ "locator": "https://docs.example.com/atlas-index/project-record",
11
+ "hash": "sha256:1f0c4d2b8a6e5937c41d0b7a2e8f36154c9d0ab7e25f8341d6c07b9ae4315f28",
12
+ "observedAt": "2026-03-09T18:00:00Z"
13
+ }
14
+ ],
15
+ "claims": [
16
+ {
17
+ "id": "F-101",
18
+ "text": "Nightly full rebuilds were replaced by incremental indexing with no change to the public query contract.",
19
+ "status": "confirmed",
20
+ "sections": ["original-request"],
21
+ "citations": [
22
+ {
23
+ "sourceId": "atlas-index-project",
24
+ "locator": "project-record#request"
25
+ }
26
+ ]
27
+ },
28
+ {
29
+ "id": "F-102",
30
+ "text": "Checkpoints are partition-local, index writes are idempotent, and the full rebuild survives as a recovery path.",
31
+ "status": "confirmed",
32
+ "sections": ["key-agent-decisions"],
33
+ "citations": [
34
+ {
35
+ "sourceId": "atlas-index-project",
36
+ "locator": "project-record#decisions"
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "id": "F-103",
42
+ "text": "A checkpointed change reader feeds idempotent workers, and a scheduled audit samples both sides for drift.",
43
+ "status": "confirmed",
44
+ "sections": ["as-built-architecture"],
45
+ "citations": [
46
+ {
47
+ "sourceId": "atlas-index-project",
48
+ "locator": "project-record#as-built"
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "id": "F-104",
54
+ "text": "Checkpoint persistence, replay-safe workers, and the drift audit shipped across three sequential milestones.",
55
+ "status": "confirmed",
56
+ "sections": ["implementation-record"],
57
+ "citations": [
58
+ {
59
+ "sourceId": "atlas-index-project",
60
+ "locator": "project-record#milestones"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "id": "F-105",
66
+ "text": "Contract, interrupted-restart, duplicate-batch, and sampled parity suites all passed before cutover.",
67
+ "status": "confirmed",
68
+ "sections": ["validation-evidence"],
69
+ "citations": [
70
+ {
71
+ "sourceId": "atlas-index-project",
72
+ "locator": "project-record#validation"
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "id": "F-106",
78
+ "text": "Incremental indexing is active and the nightly rebuild is documented as a recovery-only procedure.",
79
+ "status": "confirmed",
80
+ "sections": ["outcome"],
81
+ "citations": [
82
+ {
83
+ "sourceId": "atlas-index-project",
84
+ "locator": "project-record#outcome"
85
+ }
86
+ ]
87
+ }
88
+ ],
89
+ "unresolvedClaims": [
90
+ {
91
+ "id": "F-107",
92
+ "text": "Retention of audit samples beyond ninety days awaits a governance decision.",
93
+ "reason": "needs-confirmation",
94
+ "sections": ["validation-evidence"],
95
+ "citations": [
96
+ {
97
+ "sourceId": "atlas-index-project",
98
+ "locator": "project-record#open-questions"
99
+ }
100
+ ]
101
+ }
102
+ ],
103
+ "overrides": []
104
+ }
@@ -1,22 +1,44 @@
1
1
  # Example fact base: Atlas Index recap
2
2
 
3
- This fictional fact base demonstrates a completed-project recap.
3
+ This fictional fact base demonstrates a completed-project recap. The prose below
4
+ is the human-readable view; `fact-base.json` beside it is the same evidence in
5
+ the `explainer-kit.fact-base/v1` shape a run actually consumes, with each claim
6
+ tagged to the narrative section it belongs to.
4
7
 
5
8
  ## Reconciled claims
6
9
 
7
10
  - **F-101 — Request:** Replace a nightly full rebuild with incremental indexing
8
11
  while preserving the existing query contract.
9
12
  Source: [approved request](https://docs.example.com/atlas-index/request).
10
- - **F-102 — As built:** A checkpointed change reader feeds idempotent index
13
+ - **F-102 — Decisions:** Checkpoints are partition-local, writes are idempotent,
14
+ and the full rebuild is retained as a recovery path.
15
+ Source: [decision log](https://docs.example.com/atlas-index/decisions).
16
+ - **F-103 — As built:** A checkpointed change reader feeds idempotent index
11
17
  workers; a scheduled audit detects drift.
12
18
  Source: [as-built record](https://docs.example.com/atlas-index/as-built).
13
- - **F-103Validation:** Contract, restart, and sampled parity checks passed.
19
+ - **F-104Implementation:** Checkpoint persistence, replay-safe workers, and
20
+ the drift audit shipped across three milestones.
21
+ Source: [milestone record](https://docs.example.com/atlas-index/milestones).
22
+ - **F-105 — Validation:** Contract, restart, duplicate-delivery, and sampled
23
+ parity checks passed.
14
24
  Source: [validation evidence](https://docs.example.com/atlas-index/evidence).
15
- - **F-104 — Outcome:** Incremental indexing is active and the nightly rebuild
25
+ - **F-106 — Outcome:** Incremental indexing is active and the nightly rebuild
16
26
  remains available only as a recovery procedure.
17
27
  Source: [outcome record](https://docs.example.com/atlas-index/outcome).
18
28
 
29
+ ## Unresolved
30
+
31
+ - **F-107 — Retention:** How long audit samples are kept is still a governance
32
+ question, so the recap reports it as unresolved rather than deciding it.
33
+
19
34
  ## Reconciliation notes
20
35
 
21
36
  An early plan proposed one shared checkpoint. Implementation evidence records a
22
37
  checkpoint per partition, so F-102 treats the implementation as authoritative.
38
+
39
+ ## Companion draft
40
+
41
+ `content.md` is the authored floor draft this evidence supports. It is written
42
+ for the v2 authoring model: tables, a fenced `diagram` block, a `timeline`,
43
+ callouts, and lists, all of which the deterministic narrative renderer turns
44
+ into real structured HTML rather than flat paragraphs.
@@ -1,5 +1,5 @@
1
1
  {
2
- "schemaVersion": "explainer-kit.recipe/v1",
2
+ "schemaVersion": "explainer-kit.recipe/v2",
3
3
  "id": "engineer-tour",
4
4
  "version": "1",
5
5
  "sourceRoles": [
@@ -11,21 +11,38 @@
11
11
  "maxBindings": 1
12
12
  }
13
13
  ],
14
- "requiredNarrative": [
15
- "orientation",
16
- "architecture",
17
- "execution-flow",
18
- "key-code",
19
- "validation"
20
- ],
21
- "artifacts": [
14
+ "floor": [
22
15
  {
23
16
  "id": "engineer-tour",
24
17
  "type": "explainer",
18
+ "authoring": "html",
25
19
  "template": "engineer-tour",
26
- "required": true
20
+ "required": true,
21
+ "briefRef": "briefs/engineer-tour.md",
22
+ "requiredNarrative": [
23
+ "orientation",
24
+ "architecture",
25
+ "execution-flow",
26
+ "key-code",
27
+ "validation"
28
+ ]
27
29
  }
28
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
+ },
29
46
  "discoveryLimits": {
30
47
  "consecutiveNoNewFindingsRounds": 2,
31
48
  "maxRounds": 8
@@ -1,5 +1,5 @@
1
1
  {
2
- "schemaVersion": "explainer-kit.recipe/v1",
2
+ "schemaVersion": "explainer-kit.recipe/v2",
3
3
  "id": "program-recap",
4
4
  "version": "1",
5
5
  "sourceRoles": [
@@ -11,22 +11,46 @@
11
11
  "maxBindings": 1
12
12
  }
13
13
  ],
14
- "requiredNarrative": [
15
- "program-overview",
16
- "wave-map",
17
- "per-wave-outcomes",
18
- "convention-evolution",
19
- "aggregate-numbers",
20
- "follow-up-ledger"
21
- ],
22
- "artifacts": [
14
+ "floor": [
23
15
  {
24
16
  "id": "program-recap",
25
17
  "type": "hub",
18
+ "authoring": "markdown",
26
19
  "template": "house-style",
27
- "required": true
20
+ "required": true,
21
+ "briefRef": "briefs/program-recap.md",
22
+ "requiredNarrative": [
23
+ "program-overview",
24
+ "wave-map",
25
+ "per-wave-outcomes",
26
+ "convention-evolution",
27
+ "aggregate-numbers",
28
+ "follow-up-ledger"
29
+ ]
28
30
  }
29
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
+ },
30
54
  "discoveryLimits": {
31
55
  "consecutiveNoNewFindingsRounds": 2,
32
56
  "maxRounds": 8
@@ -1,5 +1,5 @@
1
1
  {
2
- "schemaVersion": "explainer-kit.recipe/v1",
2
+ "schemaVersion": "explainer-kit.recipe/v2",
3
3
  "id": "project-explainer",
4
4
  "version": "1",
5
5
  "sourceRoles": [
@@ -11,21 +11,38 @@
11
11
  "maxBindings": 1
12
12
  }
13
13
  ],
14
- "requiredNarrative": [
15
- "planned-architecture",
16
- "decisions",
17
- "risks",
18
- "phases",
19
- "validation-approach"
20
- ],
21
- "artifacts": [
14
+ "floor": [
22
15
  {
23
16
  "id": "project-explainer",
24
17
  "type": "hub",
18
+ "authoring": "markdown",
25
19
  "template": "house-style",
26
- "required": true
20
+ "required": true,
21
+ "briefRef": "briefs/project-explainer.md",
22
+ "requiredNarrative": [
23
+ "planned-architecture",
24
+ "decisions",
25
+ "risks",
26
+ "phases",
27
+ "validation-approach"
28
+ ]
27
29
  }
28
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
+ },
29
46
  "discoveryLimits": {
30
47
  "consecutiveNoNewFindingsRounds": 2,
31
48
  "maxRounds": 8
@@ -1,5 +1,5 @@
1
1
  {
2
- "schemaVersion": "explainer-kit.recipe/v1",
2
+ "schemaVersion": "explainer-kit.recipe/v2",
3
3
  "id": "project-recap",
4
4
  "version": "1",
5
5
  "sourceRoles": [
@@ -11,22 +11,54 @@
11
11
  "maxBindings": 1
12
12
  }
13
13
  ],
14
- "requiredNarrative": [
15
- "original-request",
16
- "key-agent-decisions",
17
- "as-built-architecture",
18
- "implementation-record",
19
- "validation-evidence",
20
- "outcome"
21
- ],
22
- "artifacts": [
14
+ "floor": [
23
15
  {
24
16
  "id": "project-recap",
25
17
  "type": "hub",
18
+ "authoring": "markdown",
26
19
  "template": "house-style",
27
- "required": true
20
+ "required": true,
21
+ "briefRef": "briefs/project-recap.md",
22
+ "requiredNarrative": [
23
+ "original-request",
24
+ "key-agent-decisions",
25
+ "as-built-architecture",
26
+ "implementation-record",
27
+ "validation-evidence",
28
+ "outcome"
29
+ ]
28
30
  }
29
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": 4
41
+ },
42
+ {
43
+ "profileId": "deep-dive",
44
+ "type": "explainer",
45
+ "authoring": "markdown",
46
+ "briefRef": "briefs/deep-dive.md",
47
+ "maxCount": 3
48
+ },
49
+ {
50
+ "profileId": "walkthrough-deck",
51
+ "type": "deck",
52
+ "authoring": "html",
53
+ "briefRef": "briefs/walkthrough-deck.md",
54
+ "shell": "deck-shell",
55
+ "maxCount": 1
56
+ }
57
+ ],
58
+ "limits": {
59
+ "maxArtifacts": 6
60
+ }
61
+ },
30
62
  "discoveryLimits": {
31
63
  "consecutiveNoNewFindingsRounds": 2,
32
64
  "maxRounds": 8