@open-agent-toolkit/cli 0.2.20 → 0.2.21
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/docs/workflows/projects/artifacts.md +1 -1
- package/assets/docs/workflows/skills/explainer-kit.md +188 -23
- package/assets/docs/workflows/skills/index.md +1 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/explainer-kit/SKILL.md +87 -25
- package/assets/skills/explainer-kit/briefs/deep-dive.md +35 -0
- package/assets/skills/explainer-kit/briefs/engineer-tour.md +45 -0
- package/assets/skills/explainer-kit/briefs/program-recap.md +41 -0
- package/assets/skills/explainer-kit/briefs/project-explainer.md +38 -0
- package/assets/skills/explainer-kit/briefs/project-page.md +38 -0
- package/assets/skills/explainer-kit/briefs/project-recap.md +47 -0
- package/assets/skills/explainer-kit/briefs/supporting-diagram.md +28 -0
- package/assets/skills/explainer-kit/briefs/walkthrough-deck.md +35 -0
- package/assets/skills/explainer-kit/examples/project-recap/content.md +57 -14
- package/assets/skills/explainer-kit/examples/project-recap/fact-base.json +104 -0
- package/assets/skills/explainer-kit/examples/project-recap/fact-base.md +26 -4
- package/assets/skills/explainer-kit/recipes/engineer-tour.json +27 -10
- package/assets/skills/explainer-kit/recipes/program-recap.json +35 -11
- package/assets/skills/explainer-kit/recipes/project-explainer.json +27 -10
- package/assets/skills/explainer-kit/recipes/project-recap.json +43 -11
- package/assets/skills/explainer-kit/references/contracts.md +45 -19
- package/assets/skills/explainer-kit/schemas/author-request.v2.schema.json +41 -0
- package/assets/skills/explainer-kit/schemas/author-result.v2.schema.json +52 -0
- package/assets/skills/explainer-kit/scripts/lib/browser-runtime.mjs +442 -0
- package/assets/skills/explainer-kit/scripts/lib/content-approval.mjs +223 -10
- package/assets/skills/explainer-kit/scripts/lib/contracts.mjs +28 -43
- package/assets/skills/explainer-kit/scripts/lib/diagram.mjs +237 -0
- package/assets/skills/explainer-kit/scripts/lib/html-safety.mjs +680 -0
- package/assets/skills/explainer-kit/scripts/lib/markdown.mjs +414 -0
- package/assets/skills/explainer-kit/scripts/lib/qa.mjs +309 -10
- package/assets/skills/explainer-kit/scripts/lib/recipes.mjs +313 -41
- package/assets/skills/explainer-kit/scripts/lib/records.mjs +61 -0
- package/assets/skills/explainer-kit/scripts/lib/render.mjs +166 -12
- package/assets/skills/explainer-kit/scripts/render-qa.mjs +147 -2
- package/assets/skills/explainer-kit/scripts/run.mjs +796 -272
- package/assets/skills/explainer-kit/templates/deck-shell.html +25 -5
- package/assets/skills/explainer-kit/templates/diagram-shell.html +29 -7
- package/assets/skills/explainer-kit/templates/engineer-tour.html +133 -9
- package/assets/skills/explainer-kit/templates/house-style.html +82 -0
- package/assets/skills/oat-explainer-kit/SKILL.md +16 -9
- package/assets/skills/oat-explainer-kit/references/author-callback.md +51 -0
- package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +10 -8
- package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +14 -0
- package/assets/skills/oat-explainer-kit/scripts/run.mjs +7 -11
- package/assets/skills/oat-project-complete/SKILL.md +18 -2
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +7 -1
- package/assets/skills/oat-wave-execute/SKILL.md +12 -19
- package/assets/skills/oat-wave-program/SKILL.md +12 -13
- package/package.json +2 -2
- package/assets/skills/explainer-kit/schemas/author-request.schema.json +0 -85
- 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
|
-
|
|
6
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
23
|
-
|
|
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
|
-
|
|
28
|
-
|
|
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
|
-
|
|
34
|
-
|
|
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 —
|
|
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-
|
|
19
|
+
- **F-104 — Implementation:** 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-
|
|
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/
|
|
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
|
-
"
|
|
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/
|
|
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
|
-
"
|
|
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/
|
|
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
|
-
"
|
|
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/
|
|
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
|
-
"
|
|
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
|