@design-intelligence/ghost 0.20.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -33
- package/dist/commands/checks-command.d.ts.map +1 -1
- package/dist/commands/checks-command.js +8 -1
- package/dist/commands/checks-command.js.map +1 -1
- package/dist/commands/fingerprint-commands.d.ts.map +1 -1
- package/dist/commands/fingerprint-commands.js +1 -6
- package/dist/commands/fingerprint-commands.js.map +1 -1
- package/dist/commands/gather-command.d.ts.map +1 -1
- package/dist/commands/gather-command.js +26 -30
- package/dist/commands/gather-command.js.map +1 -1
- package/dist/commands/init-command.d.ts.map +1 -1
- package/dist/commands/init-command.js +23 -13
- package/dist/commands/init-command.js.map +1 -1
- package/dist/commands/pull-command.d.ts.map +1 -1
- package/dist/commands/pull-command.js +12 -19
- package/dist/commands/pull-command.js.map +1 -1
- package/dist/commands/pulse-command.js +1 -10
- package/dist/commands/pulse-command.js.map +1 -1
- package/dist/commands/review-command.d.ts.map +1 -1
- package/dist/commands/review-command.js +1 -0
- package/dist/commands/review-command.js.map +1 -1
- package/dist/ghost-core/catalog/assemble.d.ts +0 -4
- package/dist/ghost-core/catalog/assemble.d.ts.map +1 -1
- package/dist/ghost-core/catalog/assemble.js +0 -10
- package/dist/ghost-core/catalog/assemble.js.map +1 -1
- package/dist/ghost-core/catalog/index.d.ts +1 -1
- package/dist/ghost-core/catalog/index.d.ts.map +1 -1
- package/dist/ghost-core/catalog/index.js +1 -1
- package/dist/ghost-core/catalog/index.js.map +1 -1
- package/dist/ghost-core/catalog/menu.d.ts +1 -11
- package/dist/ghost-core/catalog/menu.d.ts.map +1 -1
- package/dist/ghost-core/catalog/menu.js +1 -6
- package/dist/ghost-core/catalog/menu.js.map +1 -1
- package/dist/ghost-core/catalog/types.d.ts +0 -6
- package/dist/ghost-core/catalog/types.d.ts.map +1 -1
- package/dist/ghost-core/glossary.d.ts +0 -13
- package/dist/ghost-core/glossary.d.ts.map +1 -1
- package/dist/ghost-core/glossary.js +0 -7
- package/dist/ghost-core/glossary.js.map +1 -1
- package/dist/ghost-core/index.d.ts +2 -2
- package/dist/ghost-core/index.d.ts.map +1 -1
- package/dist/ghost-core/index.js +1 -1
- package/dist/ghost-core/index.js.map +1 -1
- package/dist/ghost-core/package-manifest.d.ts +7 -0
- package/dist/ghost-core/package-manifest.d.ts.map +1 -1
- package/dist/ghost-core/package-manifest.js +10 -0
- package/dist/ghost-core/package-manifest.js.map +1 -1
- package/dist/init-payloads/median/cliche.median.md +86 -0
- package/dist/init-payloads/median/median-tells.md +117 -0
- package/dist/init-payloads/skeleton/brand.md +22 -0
- package/dist/init-payloads/skeleton/context.conversation.md +24 -0
- package/dist/init-payloads/skeleton/foundation.color.md +39 -0
- package/dist/init-payloads/skeleton/foundation.composition.md +30 -0
- package/dist/init-payloads/skeleton/foundation.controls.md +29 -0
- package/dist/init-payloads/skeleton/foundation.layout.md +45 -0
- package/dist/init-payloads/skeleton/foundation.motion.md +34 -0
- package/dist/init-payloads/skeleton/foundation.type.md +44 -0
- package/dist/init-payloads/skeleton/foundation.voice.md +29 -0
- package/dist/init-payloads/skeleton/glossary.md +39 -0
- package/dist/init-payloads/vessel-light/anti-goal.median.md +86 -0
- package/dist/init-payloads/vessel-light/anti-goal.tells.md +38 -0
- package/dist/init-payloads/vessel-light/checks/conversation-grammar.md +20 -0
- package/dist/init-payloads/vessel-light/checks/median-tells.md +103 -0
- package/dist/init-payloads/vessel-light/checks/motion-restraint.md +20 -0
- package/dist/init-payloads/vessel-light/checks/relationships.md +33 -0
- package/dist/init-payloads/vessel-light/checks/shape-matches-job.md +43 -0
- package/dist/init-payloads/vessel-light/checks/values.md +51 -0
- package/dist/init-payloads/vessel-light/glossary.md +44 -0
- package/dist/init-payloads/vessel-light/grammar.color-roles.md +30 -0
- package/dist/init-payloads/vessel-light/grammar.conversation.md +30 -0
- package/dist/init-payloads/vessel-light/grammar.deletion.md +35 -0
- package/dist/init-payloads/vessel-light/grammar.hierarchy.md +58 -0
- package/dist/init-payloads/vessel-light/grammar.job.md +54 -0
- package/dist/init-payloads/vessel-light/grammar.motion.md +27 -0
- package/dist/init-payloads/vessel-light/grammar.rhythm.md +27 -0
- package/dist/init-payloads/vessel-light/grammar.surfaces.md +35 -0
- package/dist/init-payloads/vessel-light/index.md +33 -0
- package/dist/init-payloads/vessel-light/manifest.yml +3 -0
- package/dist/init-payloads/vessel-light/materials/fonts/HKGrotesk-Black.woff2 +0 -0
- package/dist/init-payloads/vessel-light/materials/fonts/HKGrotesk-Bold.woff2 +0 -0
- package/dist/init-payloads/vessel-light/materials/fonts/HKGrotesk-ExtraBold.woff2 +0 -0
- package/dist/init-payloads/vessel-light/materials/fonts/HKGrotesk-Light.woff2 +0 -0
- package/dist/init-payloads/vessel-light/materials/fonts/HKGrotesk-Medium.woff2 +0 -0
- package/dist/init-payloads/vessel-light/materials/fonts/HKGrotesk-Regular.woff2 +0 -0
- package/dist/init-payloads/vessel-light/materials/fonts/HKGrotesk-SemiBold.woff2 +0 -0
- package/dist/init-payloads/vessel-light/materials/primitives.css +351 -0
- package/dist/init-payloads/vessel-light/materials/ref/composition.conversation.html +63 -0
- package/dist/init-payloads/vessel-light/materials/ref/composition.editorial.html +74 -0
- package/dist/init-payloads/vessel-light/materials/ref/composition.form.html +89 -0
- package/dist/init-payloads/vessel-light/materials/ref/composition.overlay.html +66 -0
- package/dist/init-payloads/vessel-light/materials/ref/composition.table.html +104 -0
- package/dist/init-payloads/vessel-light/materials/ref/email.html +80 -0
- package/dist/init-payloads/vessel-light/materials/tokens.css +191 -0
- package/dist/init-payloads/vessel-light/register.data-density.md +39 -0
- package/dist/init-payloads/vessel-light/register.editorial.md +41 -0
- package/dist/init-payloads/vessel-light/register.email.md +43 -0
- package/dist/init-payloads/vessel-light/signature.palette.md +45 -0
- package/dist/init-payloads/vessel-light/signature.shape.md +27 -0
- package/dist/init-payloads/vessel-light/signature.temperature.md +44 -0
- package/dist/init-payloads/vessel-light/signature.type.md +37 -0
- package/dist/observability-events.d.ts +0 -3
- package/dist/observability-events.d.ts.map +1 -1
- package/dist/observability-events.js.map +1 -1
- package/dist/review/resolve.d.ts +3 -4
- package/dist/review/resolve.d.ts.map +1 -1
- package/dist/review/resolve.js +12 -9
- package/dist/review/resolve.js.map +1 -1
- package/dist/review/review-packet.d.ts +2 -1
- package/dist/review/review-packet.d.ts.map +1 -1
- package/dist/review/review-packet.js +9 -20
- package/dist/review/review-packet.js.map +1 -1
- package/dist/scan/check-files.d.ts.map +1 -1
- package/dist/scan/check-files.js +0 -15
- package/dist/scan/check-files.js.map +1 -1
- package/dist/scan/check-scaffold.d.ts +1 -0
- package/dist/scan/check-scaffold.d.ts.map +1 -1
- package/dist/scan/check-scaffold.js +17 -1
- package/dist/scan/check-scaffold.js.map +1 -1
- package/dist/scan/fingerprint-package-lint.d.ts +8 -0
- package/dist/scan/fingerprint-package-lint.d.ts.map +1 -0
- package/dist/scan/fingerprint-package-lint.js +284 -0
- package/dist/scan/fingerprint-package-lint.js.map +1 -0
- package/dist/scan/fingerprint-package-loader.d.ts.map +1 -1
- package/dist/scan/fingerprint-package-loader.js +2 -29
- package/dist/scan/fingerprint-package-loader.js.map +1 -1
- package/dist/scan/fingerprint-package.d.ts +16 -8
- package/dist/scan/fingerprint-package.d.ts.map +1 -1
- package/dist/scan/fingerprint-package.js +41 -241
- package/dist/scan/fingerprint-package.js.map +1 -1
- package/dist/scan/node-files.d.ts.map +1 -1
- package/dist/scan/node-files.js +1 -3
- package/dist/scan/node-files.js.map +1 -1
- package/dist/scan/packed-payloads.d.ts +4 -0
- package/dist/scan/packed-payloads.d.ts.map +1 -0
- package/dist/scan/packed-payloads.js +55 -0
- package/dist/scan/packed-payloads.js.map +1 -0
- package/dist/scan/templates.d.ts +20 -2
- package/dist/scan/templates.d.ts.map +1 -1
- package/dist/scan/templates.js +106 -26
- package/dist/scan/templates.js.map +1 -1
- package/dist/skill-bundle/SKILL.md +16 -13
- package/dist/skill-bundle/references/adapting-a-starter.md +104 -0
- package/dist/skill-bundle/references/authoring-scenarios.md +42 -5
- package/dist/skill-bundle/references/blocks.md +1 -1
- package/dist/skill-bundle/references/brief.md +5 -6
- package/dist/skill-bundle/references/capture.md +52 -41
- package/dist/skill-bundle/references/concrete-tiers.md +95 -0
- package/dist/skill-bundle/references/recall.md +6 -12
- package/dist/skill-bundle/references/schema.md +15 -24
- package/dist/skill-bundle/references/self-check.md +2 -2
- package/dist/skill-bundle/references/steering-audit.md +7 -10
- package/package.json +2 -2
- package/dist/scan/steering-template.d.ts +0 -8
- package/dist/scan/steering-template.d.ts.map +0 -1
- package/dist/scan/steering-template.js +0 -266
- package/dist/scan/steering-template.js.map +0 -1
- package/dist/skill-bundle/references/wild.md +0 -30
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
export function createSteeringTemplate({ manifestFile, gitignoreFile, }) {
|
|
2
|
-
return STEERING_TEMPLATE_FACTORY(manifestFile, gitignoreFile);
|
|
3
|
-
}
|
|
4
|
-
/**
|
|
5
|
-
* Steering starter: named truths for pre-generation steering. The extra kinds
|
|
6
|
-
* are vocabulary only: no schema or selection behavior changes.
|
|
7
|
-
*/
|
|
8
|
-
function STEERING_TEMPLATE_FACTORY(manifestFile, gitignoreFile) {
|
|
9
|
-
return {
|
|
10
|
-
name: "steering",
|
|
11
|
-
description: "Steering starter: stance, patterns, exemplars, materials.",
|
|
12
|
-
files() {
|
|
13
|
-
return [
|
|
14
|
-
manifestFile(),
|
|
15
|
-
gitignoreFile(),
|
|
16
|
-
{
|
|
17
|
-
relativePath: "glossary.md",
|
|
18
|
-
content: `---
|
|
19
|
-
kinds:
|
|
20
|
-
- name: principle
|
|
21
|
-
- name: condition
|
|
22
|
-
- name: pattern
|
|
23
|
-
- name: exemplar
|
|
24
|
-
- name: anti-goal
|
|
25
|
-
posture: guard
|
|
26
|
-
- name: asset
|
|
27
|
-
- name: decision
|
|
28
|
-
- name: concept
|
|
29
|
-
# - { name: provocation, posture: wild, purpose: a deliberate provocation past the fingerprint — surfaced only on request }
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
# principle
|
|
33
|
-
|
|
34
|
-
Durable stance, tradeoff, or invariant. Patterns may narrow principles, never loosen them.
|
|
35
|
-
|
|
36
|
-
# condition
|
|
37
|
-
|
|
38
|
-
Situational truth. Use only when the stated situation holds.
|
|
39
|
-
|
|
40
|
-
# pattern
|
|
41
|
-
|
|
42
|
-
Reusable composition. State what is bound, what is open, and when it applies.
|
|
43
|
-
|
|
44
|
-
# exemplar
|
|
45
|
-
|
|
46
|
-
Concrete reference for form, rhythm, quality, code shape, voice, or behavior. Say what to copy and not copy.
|
|
47
|
-
|
|
48
|
-
# anti-goal
|
|
49
|
-
|
|
50
|
-
Review-critical guard posture. State not-X-instead-Y: the rejected default, the positive replacement, and how to recognize the switch.
|
|
51
|
-
|
|
52
|
-
# asset
|
|
53
|
-
|
|
54
|
-
Material truth about concrete assets, tokens, components, type, motion, imagery, code, or files. \`materials\` locates; prose explains.
|
|
55
|
-
|
|
56
|
-
# decision
|
|
57
|
-
|
|
58
|
-
Worked tradeoff trace: what was chosen, what was rejected, and why.
|
|
59
|
-
|
|
60
|
-
# concept
|
|
61
|
-
|
|
62
|
-
Scoped creative direction for a specific output; not permanent brand law.
|
|
63
|
-
`,
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
relativePath: "index.md",
|
|
67
|
-
content: `---
|
|
68
|
-
description: Always read first — the steering front door, non-negotiables, and silence posture.
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
This fingerprint is demo content for **Morrow Ledger**, a small bookkeeping product for independent studios. It steers agent-generated product and brand work; it is not a component API or complete archive.
|
|
72
|
-
|
|
73
|
-
## Before you trust this fingerprint
|
|
74
|
-
|
|
75
|
-
Everything in this starter package is demo content. It is intentionally opinionated so you can see the shape of useful steering: hard truths, refusal lines, material locators, patterns, exemplars, and tradeoff traces. Keep any structure that helps, but replace the claims, paths, examples, and decisions with real product truth before using this fingerprint to guide generation.
|
|
76
|
-
|
|
77
|
-
## Non-negotiables
|
|
78
|
-
|
|
79
|
-
The lines below are demo non-negotiables for inspiration and guidance. Replace them with your real hard truths:
|
|
80
|
-
|
|
81
|
-
- Morrow Ledger sounds like a careful bookkeeper, not a growth coach.
|
|
82
|
-
- Use slate ink, ledger green, and quiet amber before inventing new color.
|
|
83
|
-
- Preserve the composition floor in \`principle.composition\`.
|
|
84
|
-
- Avoid the generic generated defaults named in \`anti-goal.*\`.
|
|
85
|
-
- Label provisional reasoning when this fingerprint is silent.
|
|
86
|
-
|
|
87
|
-
## How to read the corpus
|
|
88
|
-
|
|
89
|
-
\`principle.*\` gives stance and hard floor. \`pattern.*\` gives bound/open structure. \`exemplar.*\` shows form and quality. \`anti-goal.*\` names likely wrong outputs. \`asset.*\` points to materials. \`decision.*\` explains tradeoffs. \`concept.*\` is scoped direction, not law. The starter nodes are teaching examples, not defaults Ghost believes about your brand.
|
|
90
|
-
|
|
91
|
-
## Silence posture
|
|
92
|
-
|
|
93
|
-
When this fingerprint is silent, proceed provisionally from local conventions only when safe. Ask before brand-defining, irreversible, legal, privacy-sensitive, or high-risk choices.
|
|
94
|
-
`,
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
relativePath: "principle.stance.md",
|
|
98
|
-
content: `---
|
|
99
|
-
description: Core stance and tradeoffs — gather when a task needs brand decision-making beyond exact materials.
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
Morrow Ledger helps independent studios know what changed in their money without making finance feel like a performance dashboard.
|
|
103
|
-
|
|
104
|
-
Forced choices:
|
|
105
|
-
|
|
106
|
-
- **Clarity beats momentum.** When a line could sound exciting or precise, choose precise. Write "3 invoices are 14+ days late" instead of "Cash flow needs attention."
|
|
107
|
-
- **Evidence beats reassurance.** Pair every claim with the number, date, file, or account behind it. Never say "all set" unless the surface shows what was checked.
|
|
108
|
-
- **Calm beats clever.** Use plain verbs: sent, due, matched, missing, paid. Avoid pep-talk verbs: crush, unlock, supercharge.
|
|
109
|
-
- **Small business time is scarce.** Lead with the next accountable action and its cost: "Review 2 unmatched deposits — about 4 minutes."
|
|
110
|
-
|
|
111
|
-
The brand earns trust by making the boring truth easy to act on. If the work feels motivational, it is drifting.
|
|
112
|
-
|
|
113
|
-
`,
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
relativePath: "principle.composition.md",
|
|
117
|
-
content: `---
|
|
118
|
-
description: Composition floor — hard layout invariants that hold whether or not a pattern matches the ask.
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
These demo invariants show the kind of floor that steers generation. Replace them with real hard lines that apply to every generated surface unless a narrower condition explicitly says otherwise. Patterns narrow them; nothing loosens them.
|
|
122
|
-
|
|
123
|
-
For Morrow Ledger:
|
|
124
|
-
|
|
125
|
-
- **One ledger fact leads.** Every surface opens with one factual sentence or number. If two facts compete, choose the one that changes what the user does next.
|
|
126
|
-
- **Maximum three figures above the fold.** A figure is any amount, count, date, or percentage. If there are four, demote one into details instead of shrinking type.
|
|
127
|
-
- **Actions are accountable verbs.** Primary actions begin with Review, Match, Send, Export, or Mark. Never use generic "Continue" when the action can be named.
|
|
128
|
-
- **Whitespace before boxes.** Separate sections with 24px vertical space first, a 1px #D8DED8 rule second, and a card only when the content has its own state.
|
|
129
|
-
|
|
130
|
-
Token sketch for demos:
|
|
131
|
-
|
|
132
|
-
\`\`\`css
|
|
133
|
-
:root {
|
|
134
|
-
--morrow-ink: #17201b;
|
|
135
|
-
--morrow-ledger: #2f6f4f;
|
|
136
|
-
--morrow-amber: #b7791f;
|
|
137
|
-
--morrow-paper: #f7f5ef;
|
|
138
|
-
}
|
|
139
|
-
\`\`\`
|
|
140
|
-
|
|
141
|
-
`,
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
relativePath: "anti-goal.generic-generated-output.md",
|
|
145
|
-
content: `---
|
|
146
|
-
description: The generic generated output this fingerprint rejects.
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
This is demo anti-goal content. Replace it with the defaults this brand actually refuses.
|
|
150
|
-
|
|
151
|
-
Not: a rounded-card SaaS dashboard full of gradients, celebratory deltas, and "You're crushing it" copy.
|
|
152
|
-
|
|
153
|
-
Instead: a ledger-first surface with one leading fact, muted paper background, accountable next action, and evidence close to the claim.
|
|
154
|
-
|
|
155
|
-
Concrete replacements:
|
|
156
|
-
|
|
157
|
-
- Not "Revenue is up 24% 🎉" — instead "July receipts are $4,820 higher than June; 2 invoices explain most of the change."
|
|
158
|
-
- Not a decorative blob or fake chart preview — instead a compact list of the source transactions or invoices.
|
|
159
|
-
- Not "Oops, something went wrong" — instead "We could not match deposit 1042. Choose the invoice or mark it as owner contribution."
|
|
160
|
-
|
|
161
|
-
A technically correct output can still be off-brand if any product could ship it. This guard is review-critical because generic finance optimism is the most likely model default.
|
|
162
|
-
`,
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
relativePath: "pattern.status-with-next-step.md",
|
|
166
|
-
content: `---
|
|
167
|
-
description: Status of an ongoing thing plus the single next step — use when the task asks where something stands or what happens next.
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
This is a demo pattern for inspiration and guidance. Replace it with a real reusable pattern from your product.
|
|
171
|
-
|
|
172
|
-
Applies when the surface explains the state of something in flight: invoice payment, bank sync, export, tax packet, or reconciliation.
|
|
173
|
-
|
|
174
|
-
**Bound (do not redecide):**
|
|
175
|
-
|
|
176
|
-
- Status line first, exactly one sentence, no more than 11 words.
|
|
177
|
-
- One evidence row with amount, date, and source.
|
|
178
|
-
- One primary next step last, beginning with an accountable verb.
|
|
179
|
-
|
|
180
|
-
**Open (within limits):**
|
|
181
|
-
|
|
182
|
-
- Evidence may be a table row or two-item list.
|
|
183
|
-
- Use amber only for a user action needed within 7 days.
|
|
184
|
-
|
|
185
|
-
## Skeleton
|
|
186
|
-
|
|
187
|
-
\`\`\`tsx
|
|
188
|
-
<section className="morrow-status">
|
|
189
|
-
<p className="eyebrow">{scope}</p>
|
|
190
|
-
<h1>{statusSentence}</h1>
|
|
191
|
-
<p>{meaningSentence}</p>
|
|
192
|
-
<dl>{amountDateSource}</dl>
|
|
193
|
-
<button>{accountableNextStep}</button>
|
|
194
|
-
</section>
|
|
195
|
-
\`\`\`
|
|
196
|
-
|
|
197
|
-
`,
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
relativePath: "exemplar.annotated-reference.md",
|
|
201
|
-
content: `---
|
|
202
|
-
description: Annotated reference — replace with a sample that shows form, rhythm, quality, voice, or code shape.
|
|
203
|
-
materials:
|
|
204
|
-
- src/components/status-card.tsx
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
This is demo exemplar content. Replace \`src/components/status-card.tsx\` with a real screenshot, file, URL, or implementation path.
|
|
208
|
-
|
|
209
|
-
Normative for: density, evidence placement, accountable action language.
|
|
210
|
-
|
|
211
|
-
Annotated reference:
|
|
212
|
-
|
|
213
|
-
\`\`\`tsx
|
|
214
|
-
<aside className="rounded-none border-l border-[#D8DED8] bg-[#F7F5EF] p-6 text-[#17201B]">
|
|
215
|
-
<p className="text-xs uppercase tracking-[0.14em] text-[#2F6F4F]">Bank sync</p>
|
|
216
|
-
<h2 className="mt-3 text-2xl font-semibold">3 deposits need matching</h2>
|
|
217
|
-
<p className="mt-2 max-w-prose text-sm">They total $8,410 and arrived between Jul 12 and Jul 15.</p>
|
|
218
|
-
<button className="mt-6 border border-[#17201B] px-4 py-2 text-sm">Match deposits — about 4 minutes</button>
|
|
219
|
-
</aside>
|
|
220
|
-
\`\`\`
|
|
221
|
-
|
|
222
|
-
Copy the square edge, measured evidence, and action cost. Do not copy the exact amounts or dates.
|
|
223
|
-
`,
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
relativePath: "asset.materials.md",
|
|
227
|
-
content: `---
|
|
228
|
-
description: Concrete materials the agent should inspect before inventing visual language, components, type, motion, or assets.
|
|
229
|
-
materials:
|
|
230
|
-
- src/styles/tokens.css
|
|
231
|
-
- src/components/**
|
|
232
|
-
- public/brand/**
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
This is demo material inventory. Replace the paths with real tokens, components, SVGs, motion specs, images, or implementations.
|
|
236
|
-
|
|
237
|
-
Morrow Ledger's starter materials should resolve to real files in your repo before use:
|
|
238
|
-
|
|
239
|
-
- \`src/styles/tokens.css\` should define the ink, ledger, amber, paper, and rule colors.
|
|
240
|
-
- \`src/components/**\` should include the production Button, InlineAlert, and DataRow components.
|
|
241
|
-
- \`public/brand/**\` should include the wordmark and any blessed product screenshots.
|
|
242
|
-
|
|
243
|
-
Use this node to locate real materials. \`materials\` points to concrete files; this prose explains what they mean. Do not duplicate API docs unless the API itself is the brand truth.
|
|
244
|
-
`,
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
relativePath: "decision.tradeoff.md",
|
|
248
|
-
content: `---
|
|
249
|
-
description: Worked tradeoff — replace with a decision where the brand chose between plausible options.
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
This is demo decision content. Replace it with a real tradeoff that helps an agent decide between plausible good answers.
|
|
253
|
-
|
|
254
|
-
Morrow Ledger tradeoff: we chose visible evidence over shorter surfaces.
|
|
255
|
-
|
|
256
|
-
- Option A: a compact success banner, "Bank sync complete." It was calm and fast, but it hid what changed.
|
|
257
|
-
- Option B: a slightly taller status block, "Bank sync complete; 14 transactions imported since Jul 12." It costs one extra line but gives the user a fact to trust.
|
|
258
|
-
- Decision: choose Option B whenever the action touches money, taxes, invoices, exports, or bank data.
|
|
259
|
-
- Reverses when: the evidence would expose sensitive third-party details in a shared view. Then show the count only and link to details.
|
|
260
|
-
`,
|
|
261
|
-
},
|
|
262
|
-
];
|
|
263
|
-
},
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
//# sourceMappingURL=steering-template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"steering-template.js","sourceRoot":"","sources":["../../src/scan/steering-template.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,sBAAsB,CAAC,EACrC,YAAY,EACZ,aAAa,GACQ;IACrB,OAAO,yBAAyB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAChC,YAAgC,EAChC,aAAiC;IAEjC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,2DAA2D;QACxE,KAAK;YACH,OAAO;gBACL,YAAY,EAAE;gBACd,aAAa,EAAE;gBACf;oBACE,YAAY,EAAE,aAAa;oBAC3B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ClB;iBACQ;gBACD;oBACE,YAAY,EAAE,UAAU;oBACxB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BlB;iBACQ;gBACD;oBACE,YAAY,EAAE,qBAAqB;oBACnC,OAAO,EAAE;;;;;;;;;;;;;;;CAelB;iBACQ;gBACD;oBACE,YAAY,EAAE,0BAA0B;oBACxC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBlB;iBACQ;gBACD;oBACE,YAAY,EAAE,uCAAuC;oBACrD,OAAO,EAAE;;;;;;;;;;;;;;;;;CAiBlB;iBACQ;gBACD;oBACE,YAAY,EAAE,kCAAkC;oBAChD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BlB;iBACQ;gBACD;oBACE,YAAY,EAAE,iCAAiC;oBAC/C,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBlB;iBACQ;gBACD;oBACE,YAAY,EAAE,oBAAoB;oBAClC,OAAO,EAAE;;;;;;;;;;;;;;;;;CAiBlB;iBACQ;gBACD;oBACE,YAAY,EAAE,sBAAsB;oBACpC,OAAO,EAAE;;;;;;;;;;;;CAYlB;iBACQ;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: wild
|
|
3
|
-
description: Use wild nodes deliberately to explore past the fingerprint without claiming conformance.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Recipe: Use Wild Nodes
|
|
7
|
-
|
|
8
|
-
Use this ritual only when the human asks to explore beyond the current
|
|
9
|
-
fingerprint or when the brief declares explicit **open territory**: the part of
|
|
10
|
-
the work where conformance is intentionally suspended.
|
|
11
|
-
|
|
12
|
-
1. Run `ghost gather <ask> --wild` to expose wild nodes alongside the
|
|
13
|
-
steady menu. Wild nodes push past the fingerprint; Ghost still does no
|
|
14
|
-
selection.
|
|
15
|
-
2. Select deliberately: choose at most a couple of wild nodes whose descriptions
|
|
16
|
-
match the open territory. Do not bulk-load wild nodes.
|
|
17
|
-
3. Run `ghost pull <steady-id>... <wild-id>...` to read the selected nodes.
|
|
18
|
-
4. In the working brief, name the open territory plainly: where conformance is
|
|
19
|
-
suspended, which wild node ids are being used, and which steady
|
|
20
|
-
non-negotiables still bind.
|
|
21
|
-
5. Generate two options:
|
|
22
|
-
- a conforming baseline grounded only in steady fingerprint context;
|
|
23
|
-
- a divergent take that uses the selected wild nodes inside the open
|
|
24
|
-
territory.
|
|
25
|
-
6. Ask a human to pick, reject, or carry the surprise back into the fingerprint
|
|
26
|
-
through ordinary reviewed edits.
|
|
27
|
-
|
|
28
|
-
Wild nodes are never routine context. Never claim a divergent take as
|
|
29
|
-
Ghost-backed conformance, and never present surprise as something Ghost chose;
|
|
30
|
-
surprise is chosen by a human.
|