@zigrivers/scaffold 3.29.0 → 3.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/content/guides/AUTHORING.md +143 -0
  2. package/content/guides/cli/index.html +1502 -0
  3. package/content/guides/cli/index.md +206 -0
  4. package/content/guides/concepts/index.html +1617 -0
  5. package/content/guides/concepts/index.md +347 -0
  6. package/content/guides/dashboard/index.html +1560 -0
  7. package/content/guides/dashboard/index.md +264 -0
  8. package/content/guides/index.html +1 -1
  9. package/content/guides/install/.diagrams/diagram-0.svg +1 -0
  10. package/content/guides/install/.diagrams/manifest.json +3 -0
  11. package/content/guides/install/index.html +1300 -0
  12. package/content/guides/install/index.md +186 -0
  13. package/content/guides/knowledge/.diagrams/diagram-0.svg +1 -0
  14. package/content/guides/knowledge/.diagrams/manifest.json +3 -0
  15. package/content/guides/knowledge/index.html +1412 -0
  16. package/content/guides/knowledge/index.md +209 -0
  17. package/content/guides/knowledge-freshness/.diagrams/diagram-0.svg +1 -0
  18. package/content/guides/knowledge-freshness/.diagrams/manifest.json +3 -0
  19. package/content/guides/knowledge-freshness/index.html +2442 -0
  20. package/content/guides/knowledge-freshness/index.md +893 -0
  21. package/content/guides/mmr/index.html +35 -17
  22. package/content/guides/mmr/index.md +39 -16
  23. package/content/guides/multi-agent/.diagrams/diagram-0.svg +1 -0
  24. package/content/guides/multi-agent/.diagrams/manifest.json +3 -0
  25. package/content/guides/multi-agent/index.html +1362 -0
  26. package/content/guides/multi-agent/index.md +243 -0
  27. package/content/guides/observability/.diagrams/diagram-0.svg +1 -0
  28. package/content/guides/observability/.diagrams/diagram-1.svg +1 -0
  29. package/content/guides/observability/.diagrams/diagram-2.svg +1 -0
  30. package/content/guides/observability/.diagrams/diagram-3.svg +1 -0
  31. package/content/guides/observability/.diagrams/manifest.json +6 -0
  32. package/content/guides/observability/index.html +2904 -0
  33. package/content/guides/observability/index.md +1097 -0
  34. package/content/guides/pipeline/.diagrams/diagram-0.svg +1 -0
  35. package/content/guides/pipeline/.diagrams/diagram-1.svg +1 -0
  36. package/content/guides/pipeline/.diagrams/manifest.json +4 -0
  37. package/content/guides/pipeline/index.html +1632 -0
  38. package/content/guides/pipeline/index.md +387 -0
  39. package/content/guides/review-workflow/.diagrams/diagram-0.svg +1 -0
  40. package/content/guides/review-workflow/.diagrams/diagram-1.svg +1 -0
  41. package/content/guides/review-workflow/.diagrams/manifest.json +4 -0
  42. package/content/guides/review-workflow/index.html +1437 -0
  43. package/content/guides/review-workflow/index.md +248 -0
  44. package/dist/guides/build.d.ts.map +1 -1
  45. package/dist/guides/build.js +7 -2
  46. package/dist/guides/build.js.map +1 -1
  47. package/dist/guides/build.test.js +8 -0
  48. package/dist/guides/build.test.js.map +1 -1
  49. package/dist/guides/directives-cite.test.d.ts +2 -0
  50. package/dist/guides/directives-cite.test.d.ts.map +1 -0
  51. package/dist/guides/directives-cite.test.js +26 -0
  52. package/dist/guides/directives-cite.test.js.map +1 -0
  53. package/dist/guides/directives.d.ts +1 -0
  54. package/dist/guides/directives.d.ts.map +1 -1
  55. package/dist/guides/directives.js +24 -0
  56. package/dist/guides/directives.js.map +1 -1
  57. package/dist/guides/links.d.ts +14 -0
  58. package/dist/guides/links.d.ts.map +1 -0
  59. package/dist/guides/links.js +56 -0
  60. package/dist/guides/links.js.map +1 -0
  61. package/dist/guides/links.test.d.ts +2 -0
  62. package/dist/guides/links.test.d.ts.map +1 -0
  63. package/dist/guides/links.test.js +72 -0
  64. package/dist/guides/links.test.js.map +1 -0
  65. package/dist/guides/render.d.ts +1 -0
  66. package/dist/guides/render.d.ts.map +1 -1
  67. package/dist/guides/render.js +1 -1
  68. package/dist/guides/render.js.map +1 -1
  69. package/dist/guides/sanitize.d.ts.map +1 -1
  70. package/dist/guides/sanitize.js +1 -0
  71. package/dist/guides/sanitize.js.map +1 -1
  72. package/package.json +1 -1
@@ -0,0 +1,186 @@
1
+ ---
2
+ title: Install, Update & Adopt
3
+ topic: install
4
+ description: Installing via npm/Homebrew/plugin, keeping current, and adopting scaffold into a new or existing project
5
+ category: reference
6
+ order: 25
7
+ ---
8
+
9
+ ## Overview
10
+
11
+ Scaffold ships as one tool with two install surfaces: the **`scaffold` CLI**
12
+ (distributed on npm as `@zigrivers/scaffold` and via Homebrew) and an optional
13
+ **Claude Code plugin** that auto-activates the runner and pipeline-reference
14
+ skills. The CLI is the core; the plugin only adds interactive guidance on top of
15
+ it. The published npm package exposes the single `scaffold` binary
16
+ (:cite[package.json:37]) and bundles the compiled CLI plus the pipeline content,
17
+ knowledge entries, and skills (:cite[package.json:27]).
18
+
19
+ This guide is for **users** installing, updating, and bootstrapping projects.
20
+ Maintainers releasing Scaffold itself follow a separate flow in
21
+ `docs/architecture/operations-runbook.md` :cite[docs/architecture/operations-runbook.md:326]{mode=advisory}.
22
+
23
+ :::callout{type=note}
24
+ **Prerequisite — Node.js 18.17+.** The CLI requires Node.js `>=18.17.0`
25
+ (:cite[package.json:34]). The Homebrew formula installs and manages Node as a
26
+ dependency, so you don't install Node separately; the npm install uses your
27
+ system Node.
28
+ :::
29
+
30
+ ## Installing
31
+
32
+ Pick one of the three surfaces below. The npm and Homebrew tabs install the CLI;
33
+ the plugin tab adds the optional Claude Code skills on top.
34
+
35
+ ::::tabs
36
+ :::tab{title=npm}
37
+ ```bash
38
+ npm install -g @zigrivers/scaffold
39
+ ```
40
+ Verify with `scaffold version`. This is the recommended path — it uses your
41
+ system Node and updates with `npm update -g`.
42
+ :::
43
+ :::tab{title=Homebrew}
44
+ ```bash
45
+ brew tap zigrivers/scaffold
46
+ brew install scaffold
47
+ ```
48
+ The formula installs and manages Node as a dependency, so no separate Node
49
+ install is needed. Verify with `scaffold version`.
50
+ :::
51
+ :::tab{title=Claude Code plugin}
52
+ Inside a Claude Code session:
53
+ ```text
54
+ /plugin marketplace add zigrivers/scaffold
55
+ /plugin install scaffold@zigrivers-scaffold
56
+ ```
57
+ This is **optional** and complements the CLI — it auto-activates the Scaffold
58
+ Runner and pipeline-reference skills for interactive guidance. Everything the
59
+ plugin does is also reachable via `scaffold run <step>`. CLI-only users don't
60
+ need it: `scaffold init` installs the skills automatically and later CLI
61
+ commands keep them current.
62
+ :::
63
+ ::::
64
+
65
+ ## Keeping current
66
+
67
+ Check what you have and whether a newer release exists with `scaffold version`
68
+ (or `scaffold update --check-only`); both query the npm registry for the latest
69
+ `@zigrivers/scaffold` (:cite[src/cli/commands/version.ts:93]). `scaffold update`
70
+ detects how you installed and prints the right upgrade command rather than
71
+ running the install for you — Homebrew installs map to `brew upgrade scaffold`
72
+ (:cite[src/cli/commands/update.ts:47]), npm-global installs to
73
+ `npm update -g @zigrivers/scaffold` (:cite[src/cli/commands/update.ts:51]), and
74
+ anything else falls back to `npx @zigrivers/scaffold@latest`
75
+ (:cite[src/cli/commands/update.ts:55]).
76
+
77
+ The Homebrew command it prints is exactly `brew upgrade scaffold` — it does
78
+ **not** include the `brew update` prefix. Homebrew users must prepend it
79
+ themselves and run `brew update && brew upgrade scaffold`, or the upgrade can
80
+ silently no-op against a stale tap cache (see the danger callout below).
81
+
82
+ Run the upgrade for your channel:
83
+
84
+ ::::tabs
85
+ :::tab{title=npm}
86
+ ```bash
87
+ npm update -g @zigrivers/scaffold
88
+ ```
89
+ :::
90
+ :::tab{title=Homebrew}
91
+ ```bash
92
+ brew update && brew upgrade scaffold
93
+ ```
94
+ :::
95
+ :::tab{title=Claude Code plugin}
96
+ ```text
97
+ /plugin marketplace update zigrivers-scaffold
98
+ ```
99
+ :::
100
+ ::::
101
+
102
+ :::callout{type=danger}
103
+ **Homebrew: run `brew update` *before* `brew upgrade`.** `brew outdated` and
104
+ `brew upgrade` both read from the local tap cache. Without a preceding
105
+ `brew update`, the cache stays stale and a freshly-published release reports
106
+ "already installed" / nothing-outdated even though a newer formula is live on
107
+ GitHub. Always upgrade with `brew update && brew upgrade scaffold`
108
+ :cite[docs/architecture/operations-runbook.md:326]{mode=advisory}.
109
+ :::
110
+
111
+ After upgrading the CLI, run `scaffold status` inside any existing project. The
112
+ state manager auto-migrates old step keys, drops retired steps, and normalizes
113
+ artifact paths — no manual editing of `.scaffold/state.json` is needed.
114
+
115
+ ## Starting fresh vs. adopting
116
+
117
+ Both `scaffold init` and `scaffold adopt` operate on the current project
118
+ directory. Use **`init`** to set up a project from scratch and **`adopt`** to
119
+ bootstrap pipeline state from documentation you already have.
120
+
121
+ ```mermaid
122
+ flowchart TD
123
+ A[New or existing project] --> B{Have matching docs<br/>PRD, tech-stack, etc.?}
124
+ B -->|No / brand new| C["scaffold init<br/>wizard + config + skills"]
125
+ B -->|Yes, already written| D["scaffold init, then<br/>scaffold adopt"]
126
+ C --> E[Run the pipeline]
127
+ D --> E
128
+ ```
129
+
130
+ ### `scaffold init`
131
+
132
+ `scaffold init` initializes Scaffold for the current project
133
+ (:cite[src/cli/commands/init.ts:152]): it runs a wizard, writes `.scaffold/`
134
+ config and state, and installs the skills. The wizard detects whether the
135
+ directory is brand new or already has code and suggests a methodology preset
136
+ (`mvp`, `deep`, or `custom`) accordingly. To re-initialize a project that
137
+ already has a `.scaffold/` directory, pass `--force` — it backs up the existing
138
+ state before reinitializing (:cite[src/cli/commands/init.ts:157]).
139
+
140
+ ### `scaffold adopt`
141
+
142
+ `scaffold adopt` adopts an existing project into Scaffold
143
+ (:cite[src/cli/commands/adopt.ts:168]). It classifies the project as
144
+ `greenfield`, `brownfield`, or `v1-migration`
145
+ (:cite[src/project/adopt.ts:72]), discovers which pipeline outputs (PRD,
146
+ tech-stack, coding-standards, etc.) you already have on disk, and marks the
147
+ corresponding steps complete so you don't re-run work you've already done.
148
+ Preview the changes first with `--dry-run`, which reports what it would do
149
+ without writing anything (:cite[src/cli/commands/adopt.ts:173]).
150
+
151
+ The usual sequence for an existing codebase: `scaffold init` (create the config
152
+ and state), then `scaffold adopt` (backfill state from existing docs), then pick
153
+ up the pipeline at the first incomplete step.
154
+
155
+ ## Troubleshooting
156
+
157
+ :::callout{type=tip}
158
+ **`scaffold: command not found` after npm install.** Your global npm `bin`
159
+ directory isn't on `PATH`. Find it with `echo "$(npm prefix -g)/bin"` (the
160
+ binaries live in the `bin` subdirectory of `npm prefix -g`) and add that
161
+ directory to your shell `PATH`, or reinstall with a prefix that's already on
162
+ `PATH`.
163
+ :::
164
+
165
+ - **Homebrew says "already installed" after a release.** You skipped
166
+ `brew update`. Run `brew update && brew upgrade scaffold` (see the danger
167
+ callout above).
168
+ - **Wrong version reported.** Run `scaffold version` to see the installed
169
+ version, Node version, platform, and the latest registry version side by
170
+ side. If two installs collide (e.g. both npm-global and Homebrew), remove one.
171
+ - **Node too old.** The CLI needs Node 18.17+ (:cite[package.json:34]). Upgrade
172
+ Node, or use the Homebrew install, which installs and manages Node as a
173
+ dependency.
174
+ - **`scaffold update` only prints a command.** That's intentional — it never
175
+ runs installs for you. Copy the printed upgrade command for your channel and
176
+ run it yourself.
177
+ - **Existing project behaves oddly after upgrade.** Run `scaffold status` to
178
+ trigger automatic state migration before anything else.
179
+
180
+ ## See also
181
+
182
+ - [Pipeline reference](../pipeline/index.md){mode=advisory} — what the steps are
183
+ and the order they run in.
184
+ - [CLI reference](../cli/index.md){mode=advisory} — every `scaffold` subcommand.
185
+ - [Multi-agent workflow](../multi-agent/index.md){mode=advisory} — running the
186
+ pipeline across parallel worktrees.
@@ -0,0 +1 @@
1
+ <svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 830.078px; background-color: transparent;" viewBox="0 0 830.078125 566.5999755859375" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#000000;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#666;stroke:#666;}#my-svg .marker.cross{stroke:#666;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#000000;}#my-svg .cluster-label text{fill:#333;}#my-svg .cluster-label span{color:#333;}#my-svg .cluster-label span p{background-color:transparent;}#my-svg .label text,#my-svg span{fill:#000000;color:#000000;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#eee;stroke:#999;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#666!important;stroke-width:0;stroke:#666;}#my-svg .arrowheadPath{fill:#333333;}#my-svg .edgePath .path{stroke:#666;stroke-width:1px;}#my-svg .flowchart-link{stroke:#666;fill:none;}#my-svg .edgeLabel{background-color:white;text-align:center;}#my-svg .edgeLabel p{background-color:white;}#my-svg .edgeLabel rect{opacity:0.5;background-color:white;fill:white;}#my-svg .labelBkg{background-color:rgba(255, 255, 255, 0.5);}#my-svg .cluster rect{fill:hsl(0, 0%, 98.9215686275%);stroke:#707070;stroke-width:1px;}#my-svg .cluster text{fill:#333;}#my-svg .cluster span{color:#333;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(-160, 0%, 93.3333333333%);border:1px solid #707070;border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#000000;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:white;text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:white;padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:white;fill:white;}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg .node .neo-node{stroke:#999;}#my-svg [data-look="neo"].node rect,#my-svg [data-look="neo"].cluster rect,#my-svg [data-look="neo"].node polygon{stroke:url(#my-svg-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg [data-look="neo"].node path{stroke:url(#my-svg-gradient);stroke-width:1px;}#my-svg [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg [data-look="neo"].node .neo-line path{stroke:#999;filter:none;}#my-svg [data-look="neo"].node circle{stroke:url(#my-svg-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg [data-look="neo"].node circle .state-start{fill:#000000;}#my-svg [data-look="neo"].icon-shape .icon{fill:url(#my-svg-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg [data-look="neo"].icon-shape .icon-neo path{stroke:url(#my-svg-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="my-svg_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"><path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"><polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"/></marker><marker id="my-svg_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path d="M129.453,92.2L129.453,96.367C129.453,100.533,129.453,108.867,156.34,117.64C183.227,126.413,237.002,135.626,263.889,140.232L290.776,144.839" id="my-svg-L_STEP_SELECT_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_STEP_SELECT_0" data-points="W3sieCI6MTI5LjQ1MzEyNSwieSI6OTIuMTk5OTk2OTQ4MjQyMTl9LHsieCI6MTI5LjQ1MzEyNSwieSI6MTE3LjE5OTk5Njk0ODI0MjE5fSx7IngiOjI5NC43MTg3NSwieSI6MTQ1LjUxNDM5MzE0MDk4NDZ9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M418.375,92.2L418.375,96.367C418.375,100.533,418.375,108.867,418.375,116.533C418.375,124.2,418.375,131.2,418.375,134.7L418.375,138.2" id="my-svg-L_OVERLAY_SELECT_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_OVERLAY_SELECT_0" data-points="W3sieCI6NDE4LjM3NSwieSI6OTIuMTk5OTk2OTQ4MjQyMTl9LHsieCI6NDE4LjM3NSwieSI6MTE3LjE5OTk5Njk0ODI0MjE5fSx7IngiOjQxOC4zNzUsInkiOjE0Mi4xOTk5OTY5NDgyNDIyfV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M418.375,191.2L418.375,195.367C418.375,199.533,418.375,207.867,418.375,215.533C418.375,223.2,418.375,230.2,418.375,233.7L418.375,237.2" id="my-svg-L_SELECT_RENDER_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_SELECT_RENDER_0" data-points="W3sieCI6NDE4LjM3NSwieSI6MTkxLjE5OTk5Njk0ODI0MjJ9LHsieCI6NDE4LjM3NSwieSI6MjE2LjE5OTk5Njk0ODI0MjJ9LHsieCI6NDE4LjM3NSwieSI6MjQxLjE5OTk5Njk0ODI0MjJ9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M703.961,92.2L703.961,96.367C703.961,100.533,703.961,108.867,677.63,117.597C651.298,126.328,598.635,135.456,572.304,140.02L545.972,144.584" id="my-svg-L_INDEX_SELECT_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_INDEX_SELECT_0" data-points="W3sieCI6NzAzLjk2MDkzNzUsInkiOjkyLjE5OTk5Njk0ODI0MjE5fSx7IngiOjcwMy45NjA5Mzc1LCJ5IjoxMTcuMTk5OTk2OTQ4MjQyMTl9LHsieCI6NTQyLjAzMTI1LCJ5IjoxNDUuMjY2OTIzNDk3Mjc3OX1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M418.375,325.4L418.375,329.567C418.375,333.733,418.375,342.067,418.375,349.733C418.375,357.4,418.375,364.4,418.375,367.9L418.375,371.4" id="my-svg-L_RENDER_TAIL_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_RENDER_TAIL_0" data-points="W3sieCI6NDE4LjM3NSwieSI6MzI1LjM5OTk5Mzg5NjQ4NDR9LHsieCI6NDE4LjM3NSwieSI6MzUwLjM5OTk5Mzg5NjQ4NDR9LHsieCI6NDE4LjM3NSwieSI6Mzc1LjM5OTk5Mzg5NjQ4NDR9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M418.375,442L418.375,446.167C418.375,450.333,418.375,458.667,418.375,466.333C418.375,474,418.375,481,418.375,484.5L418.375,488" id="my-svg-L_TAIL_OUT_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TAIL_OUT_0" data-points="W3sieCI6NDE4LjM3NSwieSI6NDQxLjk5OTk5MjM3MDYwNTQ3fSx7IngiOjQxOC4zNzUsInkiOjQ2Ni45OTk5OTIzNzA2MDU0N30seyJ4Ijo0MTguMzc1LCJ5Ijo0OTEuOTk5OTkyMzcwNjA1NDd9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_STEP_SELECT_0" transform="translate(0, 0)"><text y="-10.1" text-anchor="middle"><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em" text-anchor="middle"/></text></g></g><g><rect class="background" style="stroke: none"/></g><g class="edgeLabel"><g class="label" data-id="L_OVERLAY_SELECT_0" transform="translate(0, 0)"><text y="-10.1" text-anchor="middle"><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em" text-anchor="middle"/></text></g></g><g><rect class="background" style="stroke: none"/></g><g class="edgeLabel"><g class="label" data-id="L_SELECT_RENDER_0" transform="translate(0, 0)"><text y="-10.1" text-anchor="middle"><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em" text-anchor="middle"/></text></g></g><g><rect class="background" style="stroke: none"/></g><g class="edgeLabel"><g class="label" data-id="L_INDEX_SELECT_0" transform="translate(0, 0)"><text y="-10.1" text-anchor="middle"><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em" text-anchor="middle"/></text></g></g><g><rect class="background" style="stroke: none"/></g><g class="edgeLabel"><g class="label" data-id="L_RENDER_TAIL_0" transform="translate(0, 0)"><text y="-10.1" text-anchor="middle"><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em" text-anchor="middle"/></text></g></g><g><rect class="background" style="stroke: none"/></g><g class="edgeLabel"><g class="label" data-id="L_TAIL_OUT_0" transform="translate(0, 0)"><text y="-10.1" text-anchor="middle"><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em" text-anchor="middle"/></text></g></g><g><rect class="background" style="stroke: none"/></g></g><g class="nodes"><g class="node default" id="my-svg-flowchart-STEP-0" data-look="classic" transform="translate(129.453125, 50.099998474121094)"><rect class="basic label-container" style="" x="-121.453125" y="-42.099998474121094" width="242.90625" height="84.19999694824219"/><g class="label" style="" transform="translate(0, -27.099998474121094)"><rect/><g><rect class="background" style="stroke: none"/><text y="-10.1" style=""><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">pipeline</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> step</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">frontmatter:</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="2.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">knowledge-base:</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> [names]</tspan></tspan></text></g></g></g><g class="node default" id="my-svg-flowchart-SELECT-1" data-look="classic" transform="translate(418.375, 166.6999969482422)"><rect class="basic label-container" style="" x="-123.65625" y="-24.5" width="247.3125" height="49"/><g class="label" style="" transform="translate(0, -9.5)"><rect/><g><rect class="background" style="stroke: none"/><text y="-10.1" style=""><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">loadEntries(index,</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> names)</tspan></tspan></text></g></g></g><g class="node default" id="my-svg-flowchart-OVERLAY-2" data-look="classic" transform="translate(418.375, 50.099998474121094)"><rect class="basic label-container" style="" x="-117.46875" y="-42.099998474121094" width="234.9375" height="84.19999694824219"/><g class="label" style="" transform="translate(0, -27.099998474121094)"><rect/><g><rect class="background" style="stroke: none"/><text y="-10.1" style=""><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">resolved</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">overlay.knowledge[step]</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="2.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">(or</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> step</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> frontmatter)</tspan></tspan></text></g></g></g><g class="node default" id="my-svg-flowchart-RENDER-5" data-look="classic" transform="translate(418.375, 283.2999954223633)"><rect class="basic label-container" style="" x="-129.078125" y="-42.099998474121094" width="258.15625" height="84.19999694824219"/><g class="label" style="" transform="translate(0, -27.099998474121094)"><rect/><g><rect class="background" style="stroke: none"/><text y="-10.1" style=""><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">buildKnowledgeBaseSection</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">##</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> name:</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> description</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> +</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="2.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">body</tspan></tspan></text></g></g></g><g class="node default" id="my-svg-flowchart-INDEX-6" data-look="classic" transform="translate(703.9609375, 50.099998474121094)"><rect class="basic label-container" style="" x="-118.1171875" y="-42.099998474121094" width="236.234375" height="84.19999694824219"/><g class="label" style="" transform="translate(0, -27.099998474121094)"><rect/><g><rect class="background" style="stroke: none"/><text y="-10.1" style=""><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">buildIndexWithOverrides</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">global</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> +</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="2.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">.scaffold/knowledge</tspan></tspan></text></g></g></g><g class="node default" id="my-svg-flowchart-TAIL-9" data-look="classic" transform="translate(418.375, 408.6999931335449)"><rect class="basic label-container" style="" x="-101.4140625" y="-33.29999923706055" width="202.828125" height="66.5999984741211"/><g class="label" style="" transform="translate(0, -18.299999237060547)"><rect/><g><rect class="background" style="stroke: none"/><text y="-10.1" style=""><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">renderGapSignalTail</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">(unless</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> QUIET)</tspan></tspan></text></g></g></g><g class="node default" id="my-svg-flowchart-OUT-11" data-look="classic" transform="translate(418.375, 525.299991607666)"><rect class="basic label-container" style="" x="-119.25" y="-33.29999923706055" width="238.5" height="66.5999984741211"/><g class="label" style="" transform="translate(0, -18.299999237060547)"><rect/><g><rect class="background" style="stroke: none"/><text y="-10.1" style=""><tspan class="text-outer-tspan row" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Knowledge</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> Base</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> section</tspan></tspan><tspan class="text-outer-tspan row" x="0" y="1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">in</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> the</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> assembled</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> prompt</tspan></tspan></text></g></g></g></g></g></g><defs><filter id="my-svg-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"/></filter></defs><defs><filter id="my-svg-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"/></filter></defs><linearGradient id="my-svg-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="hsl(0, 0%, 83.3333333333%)" stop-opacity="1"/><stop offset="100%" stop-color="hsl(0, 0%, 88.9215686275%)" stop-opacity="1"/></linearGradient></svg>
@@ -0,0 +1,3 @@
1
+ {
2
+ "diagram-0": "d7f684070c3963b3"
3
+ }