@design-intelligence/ghost 0.22.1 → 0.24.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 +35 -29
- package/dist/commands/checks-command.js +3 -3
- package/dist/commands/checks-command.js.map +1 -1
- package/dist/commands/command-discovery.d.ts.map +1 -1
- package/dist/commands/command-discovery.js +5 -5
- package/dist/commands/command-discovery.js.map +1 -1
- package/dist/commands/export-command.d.ts.map +1 -1
- package/dist/commands/export-command.js +10 -10
- package/dist/commands/export-command.js.map +1 -1
- package/dist/commands/fingerprint-commands.d.ts +2 -2
- package/dist/commands/fingerprint-commands.d.ts.map +1 -1
- package/dist/commands/fingerprint-commands.js +7 -7
- 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 +86 -20
- 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 +6 -6
- 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 +22 -9
- package/dist/commands/pull-command.js.map +1 -1
- package/dist/commands/pulse-command.js +6 -6
- package/dist/commands/pulse-command.js.map +1 -1
- package/dist/commands/review-command.js +7 -7
- package/dist/commands/review-command.js.map +1 -1
- package/dist/commands/skill-command.js +2 -2
- package/dist/fingerprint.d.ts +2 -1
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +1 -0
- package/dist/fingerprint.js.map +1 -1
- package/dist/ghost-core/catalog/assemble.d.ts.map +1 -1
- package/dist/ghost-core/catalog/assemble.js +2 -1
- package/dist/ghost-core/catalog/assemble.js.map +1 -1
- package/dist/ghost-core/catalog/menu.d.ts +6 -4
- package/dist/ghost-core/catalog/menu.d.ts.map +1 -1
- package/dist/ghost-core/catalog/menu.js +1 -0
- package/dist/ghost-core/catalog/menu.js.map +1 -1
- package/dist/ghost-core/catalog/types.d.ts +4 -2
- package/dist/ghost-core/catalog/types.d.ts.map +1 -1
- package/dist/ghost-core/check/index.d.ts +1 -1
- package/dist/ghost-core/check/index.js +1 -1
- package/dist/ghost-core/check/lint.d.ts +2 -2
- package/dist/ghost-core/check/lint.js +2 -2
- package/dist/ghost-core/check/load.d.ts +1 -1
- package/dist/ghost-core/check/load.js +3 -3
- package/dist/ghost-core/check/types.d.ts +3 -3
- package/dist/ghost-core/index.d.ts +9 -3
- package/dist/ghost-core/index.d.ts.map +1 -1
- package/dist/ghost-core/index.js +6 -2
- package/dist/ghost-core/index.js.map +1 -1
- package/dist/ghost-core/markdown.d.ts +1 -1
- package/dist/ghost-core/markdown.js +1 -1
- package/dist/ghost-core/node/index.d.ts +1 -1
- package/dist/ghost-core/node/index.d.ts.map +1 -1
- package/dist/ghost-core/node/index.js +1 -1
- package/dist/ghost-core/node/index.js.map +1 -1
- package/dist/ghost-core/node/schema.js +1 -1
- package/dist/ghost-core/node/serialize.d.ts +6 -5
- package/dist/ghost-core/node/serialize.d.ts.map +1 -1
- package/dist/ghost-core/node/serialize.js +25 -9
- package/dist/ghost-core/node/serialize.js.map +1 -1
- package/dist/ghost-core/node/steering.d.ts +1 -0
- package/dist/ghost-core/node/steering.d.ts.map +1 -1
- package/dist/ghost-core/node/steering.js +4 -1
- package/dist/ghost-core/node/steering.js.map +1 -1
- package/dist/ghost-core/node/types.d.ts +6 -5
- package/dist/ghost-core/node/types.d.ts.map +1 -1
- package/dist/ghost-core/package-manifest.d.ts +23 -13
- package/dist/ghost-core/package-manifest.d.ts.map +1 -1
- package/dist/ghost-core/package-manifest.js +20 -7
- package/dist/ghost-core/package-manifest.js.map +1 -1
- package/dist/ghost-core/skill-bundle-loader.d.ts +1 -1
- package/dist/ghost-core/skill-bundle-loader.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/init-payloads/median/cliche.median.md +6 -6
- package/dist/init-payloads/median/median-tells.md +1 -1
- package/dist/init-payloads/skeleton/brand.md +4 -3
- package/dist/init-payloads/skeleton/glossary.md +1 -1
- package/dist/init-payloads/vessel-light/anti-goal.median.md +6 -6
- package/dist/init-payloads/vessel-light/checks/motion-restraint.md +1 -1
- package/dist/init-payloads/vessel-light/manifest.yml +1 -1
- package/dist/init-payloads/vessel-light/materials/ref/composition.form.html +2 -2
- package/dist/init-payloads/vessel-light/materials/ref/composition.overlay.html +3 -3
- package/dist/observability-events.d.ts +10 -0
- package/dist/observability-events.d.ts.map +1 -1
- package/dist/observability-events.js +12 -0
- package/dist/observability-events.js.map +1 -1
- package/dist/package.d.ts +7 -0
- package/dist/package.d.ts.map +1 -0
- package/dist/package.js +4 -0
- package/dist/package.js.map +1 -0
- package/dist/review/resolve.js +1 -1
- package/dist/review/resolve.js.map +1 -1
- package/dist/review/review-packet.d.ts +5 -3
- package/dist/review/review-packet.d.ts.map +1 -1
- package/dist/review/review-packet.js +12 -11
- package/dist/review/review-packet.js.map +1 -1
- package/dist/scan/constants.d.ts +6 -2
- package/dist/scan/constants.d.ts.map +1 -1
- package/dist/scan/constants.js +8 -4
- package/dist/scan/constants.js.map +1 -1
- package/dist/scan/file-kind.d.ts +1 -1
- package/dist/scan/file-kind.d.ts.map +1 -1
- package/dist/scan/file-kind.js +11 -11
- package/dist/scan/file-kind.js.map +1 -1
- package/dist/scan/fingerprint-package-lint.d.ts +3 -1
- package/dist/scan/fingerprint-package-lint.d.ts.map +1 -1
- package/dist/scan/fingerprint-package-lint.js +14 -12
- package/dist/scan/fingerprint-package-lint.js.map +1 -1
- package/dist/scan/fingerprint-package-loader.d.ts +7 -3
- package/dist/scan/fingerprint-package-loader.d.ts.map +1 -1
- package/dist/scan/fingerprint-package-loader.js +10 -6
- package/dist/scan/fingerprint-package-loader.js.map +1 -1
- package/dist/scan/fingerprint-package.d.ts +30 -14
- package/dist/scan/fingerprint-package.d.ts.map +1 -1
- package/dist/scan/fingerprint-package.js +17 -9
- package/dist/scan/fingerprint-package.js.map +1 -1
- package/dist/scan/index.d.ts +3 -1
- package/dist/scan/index.d.ts.map +1 -1
- package/dist/scan/index.js +3 -1
- package/dist/scan/index.js.map +1 -1
- package/dist/scan/tarball.d.ts +2 -2
- package/dist/scan/tarball.js +3 -3
- package/dist/scan/tarball.js.map +1 -1
- package/dist/scan/templates.d.ts +1 -1
- package/dist/scan/templates.d.ts.map +1 -1
- package/dist/scan/templates.js +15 -11
- package/dist/scan/templates.js.map +1 -1
- package/dist/skill-bundle/SKILL.md +39 -31
- package/dist/skill-bundle/references/adapting-a-starter.md +11 -11
- package/dist/skill-bundle/references/authoring-scenarios.md +33 -30
- package/dist/skill-bundle/references/blocks.md +19 -20
- package/dist/skill-bundle/references/brief.md +13 -11
- package/dist/skill-bundle/references/capture.md +65 -37
- package/dist/skill-bundle/references/concrete-tiers.md +7 -7
- package/dist/skill-bundle/references/distill.md +204 -0
- package/dist/skill-bundle/references/making.md +113 -0
- package/dist/skill-bundle/references/recall.md +11 -7
- package/dist/skill-bundle/references/schema.md +16 -12
- package/dist/skill-bundle/references/self-check.md +12 -12
- package/dist/skill-bundle/references/steering-audit.md +19 -9
- package/package.json +7 -3
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: schema
|
|
3
|
-
description: The
|
|
3
|
+
description: The ghost package shape: flat nodes, derived concreteness, Skeletons, probes, and checks.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# ghost Package Reference
|
|
7
7
|
|
|
8
8
|
Canonical package:
|
|
9
9
|
|
|
10
10
|
```text
|
|
11
11
|
.ghost/
|
|
12
|
-
manifest.yml ghost.
|
|
12
|
+
manifest.yml ghost.package/v1: schema + id + optional cover
|
|
13
13
|
glossary.md kind vocabulary + meanings
|
|
14
14
|
materials/ bundled materials; never a node source
|
|
15
|
-
<kind>.<slug>.md
|
|
16
|
-
<slug>.md
|
|
15
|
+
<kind>.<slug>.md guidance of a declared kind
|
|
16
|
+
<slug>.md guidance without a kind
|
|
17
17
|
checks/ optional review assertions; never a node source
|
|
18
18
|
```
|
|
19
19
|
|
|
@@ -48,13 +48,17 @@ Use the full lockup when recognition matters.
|
|
|
48
48
|
|
|
49
49
|
- Identity is the filename minus `.md`.
|
|
50
50
|
- Kind is the first dotted segment of the filename.
|
|
51
|
-
- `description` is the retrieval payload shown by `ghost gather
|
|
51
|
+
- `description` is the retrieval payload shown by `ghost gather`: what the node
|
|
52
|
+
governs, the observable condition under which it applies, and what it
|
|
53
|
+
contributes where useful. Avoid broad universal wording unless universal
|
|
54
|
+
retrieval is intended.
|
|
52
55
|
- `materials` accepts repo-relative paths/globs plus absolute HTTPS URLs. It is
|
|
53
56
|
a locator list, not guidance.
|
|
54
57
|
|
|
55
|
-
|
|
56
|
-
`materials`, a fenced code block of at least 3 lines, or a
|
|
57
|
-
|
|
58
|
+
ghost derives whether a node carries concrete material from structure:
|
|
59
|
+
non-empty `materials`, a fenced code block of at least 3 lines, or a
|
|
60
|
+
`## Skeleton` section. `gather` reports these payload labels for clarity; they
|
|
61
|
+
are not ranking signals.
|
|
58
62
|
|
|
59
63
|
## Skeleton convention
|
|
60
64
|
|
|
@@ -96,13 +100,13 @@ Grade whether the change preserves the logo guidance in `asset.logo`.
|
|
|
96
100
|
`references` are node ids with optional heading anchors. `probe` is optional: a
|
|
97
101
|
repo-root shell command that `ghost review` runs for offered checks by default
|
|
98
102
|
(timeout 30s; stdout/stderr truncated). Probe output is evidence only, never a
|
|
99
|
-
|
|
103
|
+
ghost pass/fail verdict. Use `ghost review --no-probes` to skip. Trust model:
|
|
100
104
|
probes are the same class as npm scripts; Git review is the boundary.
|
|
101
105
|
|
|
102
106
|
## Gather / Pull / Review
|
|
103
107
|
|
|
104
|
-
- `ghost gather` emits the cover above
|
|
105
|
-
Checks are invisible.
|
|
108
|
+
- `ghost gather` emits the cover above Available guidance, then coverage counts.
|
|
109
|
+
The guidance list is complete, unfiltered, and unranked. Checks are invisible.
|
|
106
110
|
- `ghost pull` emits selected nodes in steering order and inlines small local
|
|
107
111
|
materials. Binary local materials become inspect-pointers.
|
|
108
112
|
- `ghost review` matches diff files to local node materials, offers relevant
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: self-check
|
|
3
|
-
description: A pre-generation probe that reveals whether you have actually gathered and reasoned about the brand
|
|
3
|
+
description: A pre-generation probe that reveals whether you have actually gathered and reasoned about the brand guidance, before you build.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Recipe: Self-Check Before Generating
|
|
7
7
|
|
|
8
8
|
Before writing UI, copy, email, or any output, check whether you are grounded in
|
|
9
|
-
the
|
|
10
|
-
your **grounding and provenance**, not the
|
|
11
|
-
for any
|
|
9
|
+
the guidance or about to fall back on generic instincts. These questions test
|
|
10
|
+
your **grounding and provenance**, not the package's contents, so they hold
|
|
11
|
+
for any ghost package, however sparse, whatever the medium, whoever authored it.
|
|
12
12
|
|
|
13
13
|
Ask yourself:
|
|
14
14
|
|
|
15
|
-
1. **What did you gather?** Which
|
|
15
|
+
1. **What did you gather?** Which ghost nodes did you pull for this task (from
|
|
16
16
|
`ghost gather`), and can you cite them by id? If you have not gathered, you
|
|
17
17
|
are not grounded. Gather first.
|
|
18
|
-
2. **What is
|
|
18
|
+
2. **What is ghost-backed vs. provisional?** For each claim you are about to
|
|
19
19
|
encode, is it backed by a gathered node (cite the id), or is it your own
|
|
20
20
|
provisional local reasoning? You must be able to label every claim as one or
|
|
21
21
|
the other.
|
|
22
|
-
3. **Do the conditions apply?** For each conditional
|
|
22
|
+
3. **Do the conditions apply?** For each conditional node you pulled, does its
|
|
23
23
|
stated situation actually hold for this task? For each kind with conditional
|
|
24
24
|
or scoped meaning **per the glossary**, apply it only when its stated
|
|
25
25
|
situation holds; do not apply it where it does not, and do not ignore it
|
|
26
26
|
where it does.
|
|
27
|
-
4. **Where is the
|
|
27
|
+
4. **Where is the package silent?** What does the package not cover for
|
|
28
28
|
your task, and what will carry the reasoning in those gaps? Naming the silence
|
|
29
29
|
is part of being grounded; pretending coverage you do not have is not.
|
|
30
30
|
|
|
@@ -40,11 +40,11 @@ Before generating, can you cite:
|
|
|
40
40
|
- the hard invariants?
|
|
41
41
|
- the conditions that apply or do not apply?
|
|
42
42
|
- any decision trace for ambiguous tradeoffs?
|
|
43
|
-
- where the
|
|
43
|
+
- where the package is silent?
|
|
44
44
|
|
|
45
45
|
Classify readiness:
|
|
46
46
|
|
|
47
|
-
- **Green:** enough
|
|
47
|
+
- **Green:** enough ghost-backed guidance and concrete material for this surface
|
|
48
48
|
to generate.
|
|
49
49
|
- **Yellow:** generation is safe, but some reasoning must be labeled
|
|
50
50
|
provisional; if there is no concrete material for this surface, readiness is
|
|
@@ -58,8 +58,8 @@ When you cannot answer the grounding questions:
|
|
|
58
58
|
work to nodes by their descriptions.
|
|
59
59
|
2. Read the selected nodes' bodies and re-ask the questions, citing node ids.
|
|
60
60
|
|
|
61
|
-
A genuinely silent
|
|
61
|
+
A genuinely silent package is an expected state, not a blocker. When it does
|
|
62
62
|
not cover the task, say so plainly and proceed with provisional local reasoning
|
|
63
|
-
when safe; label it non-
|
|
63
|
+
when safe; label it non-ghost-backed. If the package's cover declares a stricter
|
|
64
64
|
silence posture, honor it over this default. Ask a human before
|
|
65
65
|
high-risk or brand-defining choices.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: steering-audit
|
|
3
|
-
description: Audit a
|
|
3
|
+
description: Audit a ghost package for concrete steering coverage.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Recipe: Audit Steering Coverage
|
|
7
7
|
|
|
8
|
-
A steering audit asks whether a
|
|
8
|
+
A steering audit asks whether a ghost package can move generation away from the
|
|
9
9
|
generic median. It is not a validation pass; `ghost validate` handles package
|
|
10
10
|
shape.
|
|
11
11
|
|
|
@@ -25,31 +25,41 @@ Report first:
|
|
|
25
25
|
|
|
26
26
|
- **Concreteness coverage:** total nodes, concrete-material nodes, prose-only
|
|
27
27
|
nodes. Concrete means non-empty `materials`, a fenced code block of at least 3
|
|
28
|
-
lines, or a `## Skeleton` section.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
lines, or a `## Skeleton` section. `ghost gather` also breaks out materials,
|
|
29
|
+
substantial fenced examples, and Skeletons as payload labels.
|
|
30
|
+
- **Pulse by concreteness:** concrete-material exposure/pull rate vs prose-only
|
|
31
|
+
exposure/pull rate. In markdown this is the `Concrete material` row. This is
|
|
32
|
+
the tuning instrument: if concrete nodes are not pulled when applicable,
|
|
33
|
+
descriptions or task selection are failing.
|
|
32
34
|
|
|
33
35
|
## Corpus-level table
|
|
34
36
|
|
|
35
37
|
| Row | Status | Evidence | Next move |
|
|
36
38
|
| --- | --- | --- | --- |
|
|
37
|
-
| Retrieval | strong / weak | descriptions, ids, cover | sharpen descriptions or move universal
|
|
39
|
+
| Retrieval | strong / weak | descriptions, ids, cover | sharpen descriptions or move universal guidance to the cover |
|
|
38
40
|
| Concreteness | strong / thin | materials, fenced examples, Skeletons | add concrete locators, exemplars, or opening structures |
|
|
39
41
|
| Anti-goals | present / missing / vague | `anti-goal.*`, review packet | write not-X-instead-Y replacements and material locators |
|
|
40
42
|
| Consistency | clean / conflicting | concrete bodies vs rules | update stale examples; examples average with rules |
|
|
41
43
|
| Stance | present / missing | cover, `principle.*` | write forced-choice principles |
|
|
42
44
|
| Materials | present / missing | `materials`, inspect-pointers | point at real assets/components/tokens |
|
|
43
|
-
| Exemplars | annotated / unannotated / missing | fenced samples, screenshots | say what to copy and what is incidental |
|
|
45
|
+
| Exemplars | annotated / unannotated / converging / missing | fenced samples, screenshots, repeated runs | say what to copy and what is incidental; tighten applicability when unrelated tasks converge |
|
|
44
46
|
| Patterns | bound-open / loose / missing | `pattern.*`, Skeletons | state applies / bound / open and add a Skeleton when opening structure matters |
|
|
45
47
|
| Checks | covered / partial / missing | checks/, probes, review packet | add checks/probes for high-risk invariants |
|
|
46
48
|
| Silence posture | defined / missing | cover | say when to proceed provisionally or ask |
|
|
47
49
|
|
|
50
|
+
## Exemplar convergence
|
|
51
|
+
|
|
52
|
+
When auditing repeated runs, compare unrelated asks that pulled the same
|
|
53
|
+
exemplar. If they reproduce the same composition, section order, or decorative
|
|
54
|
+
treatment without the exemplar's stated condition requiring it, the exemplar is
|
|
55
|
+
steering beyond its intent. The next move is to tighten applicability, add a
|
|
56
|
+
shape-appropriate exemplar, or remove the exemplar.
|
|
57
|
+
|
|
48
58
|
## Task-level readiness
|
|
49
59
|
|
|
50
60
|
For a task, gather, pull, and report:
|
|
51
61
|
|
|
52
|
-
- **Green:** enough
|
|
62
|
+
- **Green:** enough ghost-backed concrete guidance to generate.
|
|
53
63
|
- **Yellow:** safe to generate, but some reasoning is provisional. If there is
|
|
54
64
|
no concrete material for this surface, readiness is at most Yellow.
|
|
55
65
|
- **Red:** missing brand-defining, high-risk, irreversible, legal, privacy, or
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design-intelligence/ghost",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.24.0",
|
|
4
|
+
"description": "ghost CLI for portable .ghost/ packages of brand guidance your agent reads before it builds, with advisory review after",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Block, Inc.",
|
|
7
7
|
"repository": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"url": "https://github.com/block/ghost/issues"
|
|
14
14
|
},
|
|
15
15
|
"keywords": [
|
|
16
|
-
"
|
|
16
|
+
"brand-guidance",
|
|
17
17
|
"product-surface",
|
|
18
18
|
"surface-composition",
|
|
19
19
|
"design-system",
|
|
@@ -48,6 +48,10 @@
|
|
|
48
48
|
"types": "./dist/ghost-core/index.d.ts",
|
|
49
49
|
"import": "./dist/ghost-core/index.js"
|
|
50
50
|
},
|
|
51
|
+
"./package": {
|
|
52
|
+
"types": "./dist/package.d.ts",
|
|
53
|
+
"import": "./dist/package.js"
|
|
54
|
+
},
|
|
51
55
|
"./fingerprint": {
|
|
52
56
|
"types": "./dist/fingerprint.d.ts",
|
|
53
57
|
"import": "./dist/fingerprint.js"
|