@design-intelligence/ghost 0.28.0 → 0.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.
- package/README.md +2 -2
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/command-discovery.d.ts.map +1 -1
- package/dist/commands/command-discovery.js +10 -3
- package/dist/commands/command-discovery.js.map +1 -1
- package/dist/commands/gather-command.js +5 -5
- 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 +2 -2
- 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 +8 -7
- package/dist/commands/pull-command.js.map +1 -1
- package/dist/commands/review-command.d.ts.map +1 -1
- package/dist/commands/review-command.js +1 -2
- package/dist/commands/review-command.js.map +1 -1
- package/dist/commands/skill-command.d.ts.map +1 -1
- package/dist/commands/skill-command.js +8 -1
- package/dist/commands/skill-command.js.map +1 -1
- package/dist/commands/stats-command.d.ts +3 -0
- package/dist/commands/stats-command.d.ts.map +1 -0
- package/dist/commands/{pulse-command.js → stats-command.js} +59 -39
- package/dist/commands/stats-command.js.map +1 -0
- package/dist/commands/stats-observations.d.ts +10 -0
- package/dist/commands/stats-observations.d.ts.map +1 -0
- package/dist/commands/stats-observations.js +47 -0
- package/dist/commands/stats-observations.js.map +1 -0
- package/dist/embed/gather.d.ts.map +1 -1
- package/dist/embed/gather.js +3 -4
- package/dist/embed/gather.js.map +1 -1
- package/dist/embed/pull.d.ts.map +1 -1
- package/dist/embed/pull.js +1 -3
- package/dist/embed/pull.js.map +1 -1
- package/dist/embed/types.d.ts +2 -6
- package/dist/embed/types.d.ts.map +1 -1
- package/dist/ghost-core/catalog/assemble.d.ts.map +1 -1
- package/dist/ghost-core/catalog/assemble.js +1 -5
- package/dist/ghost-core/catalog/assemble.js.map +1 -1
- package/dist/ghost-core/catalog/closest.d.ts +1 -1
- package/dist/ghost-core/catalog/closest.js +1 -1
- package/dist/ghost-core/catalog/menu.d.ts +7 -9
- package/dist/ghost-core/catalog/menu.d.ts.map +1 -1
- package/dist/ghost-core/catalog/menu.js +4 -6
- package/dist/ghost-core/catalog/menu.js.map +1 -1
- package/dist/ghost-core/catalog/types.d.ts +2 -6
- package/dist/ghost-core/catalog/types.d.ts.map +1 -1
- package/dist/ghost-core/node/schema.d.ts +4 -4
- package/dist/ghost-core/node/schema.d.ts.map +1 -1
- package/dist/ghost-core/node/schema.js +10 -4
- package/dist/ghost-core/node/schema.js.map +1 -1
- package/dist/ghost-core/node/serialize.d.ts +5 -7
- package/dist/ghost-core/node/serialize.d.ts.map +1 -1
- package/dist/ghost-core/node/serialize.js +9 -18
- package/dist/ghost-core/node/serialize.js.map +1 -1
- package/dist/ghost-core/node/types.d.ts +5 -7
- package/dist/ghost-core/node/types.d.ts.map +1 -1
- package/dist/init-payloads/median/cliche.median.md +1 -1
- package/dist/init-payloads/skeleton/brand.md +1 -1
- package/dist/init-payloads/skeleton/context.conversation.md +1 -1
- package/dist/init-payloads/skeleton/foundation.color.md +4 -1
- package/dist/init-payloads/skeleton/foundation.composition.md +4 -1
- package/dist/init-payloads/skeleton/foundation.controls.md +4 -1
- package/dist/init-payloads/skeleton/foundation.layout.md +4 -1
- package/dist/init-payloads/skeleton/foundation.motion.md +4 -1
- package/dist/init-payloads/skeleton/foundation.type.md +4 -1
- package/dist/init-payloads/skeleton/foundation.voice.md +4 -1
- package/dist/init-payloads/skeleton/glossary.md +3 -3
- package/dist/init-payloads/vessel-light/anti-goal.median.md +1 -1
- package/dist/init-payloads/vessel-light/anti-goal.tells.md +1 -1
- package/dist/init-payloads/vessel-light/checks/shape-matches-job.md +2 -2
- package/dist/init-payloads/vessel-light/glossary.md +3 -3
- package/dist/init-payloads/vessel-light/grammar.color-roles.md +1 -1
- package/dist/init-payloads/vessel-light/grammar.conversation.md +2 -2
- package/dist/init-payloads/vessel-light/grammar.deletion.md +1 -1
- package/dist/init-payloads/vessel-light/grammar.hierarchy.md +2 -2
- package/dist/init-payloads/vessel-light/grammar.job.md +14 -14
- package/dist/init-payloads/vessel-light/grammar.motion.md +1 -1
- package/dist/init-payloads/vessel-light/grammar.rhythm.md +1 -1
- package/dist/init-payloads/vessel-light/grammar.surfaces.md +2 -2
- package/dist/init-payloads/vessel-light/index.md +7 -12
- package/dist/init-payloads/vessel-light/materials/{ref → examples}/composition.conversation.html +3 -3
- package/dist/init-payloads/vessel-light/materials/{ref → examples}/composition.editorial.html +3 -3
- package/dist/init-payloads/vessel-light/materials/{ref → examples}/composition.form.html +3 -3
- package/dist/init-payloads/vessel-light/materials/{ref → examples}/composition.overlay.html +3 -3
- package/dist/init-payloads/vessel-light/materials/{ref → examples}/composition.table.html +3 -3
- package/dist/init-payloads/vessel-light/materials/{ref → examples}/email.html +3 -3
- package/dist/init-payloads/vessel-light/materials/tokens.css +1 -1
- package/dist/init-payloads/vessel-light/register.data-density.md +2 -2
- package/dist/init-payloads/vessel-light/register.editorial.md +2 -2
- package/dist/init-payloads/vessel-light/register.email.md +2 -2
- package/dist/init-payloads/vessel-light/signature.palette.md +1 -1
- package/dist/init-payloads/vessel-light/signature.shape.md +1 -1
- package/dist/init-payloads/vessel-light/signature.temperature.md +1 -1
- package/dist/init-payloads/vessel-light/signature.type.md +1 -1
- package/dist/observability-events.js +2 -2
- package/dist/review/baseline.d.ts +1 -1
- package/dist/review/baseline.d.ts.map +1 -1
- package/dist/review/baseline.js +2 -2
- package/dist/review/baseline.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 +6 -4
- package/dist/review/review-packet.js.map +1 -1
- package/dist/scan/fingerprint-package-lint.d.ts.map +1 -1
- package/dist/scan/fingerprint-package-lint.js +9 -17
- package/dist/scan/fingerprint-package-lint.js.map +1 -1
- package/dist/scan/templates.d.ts +1 -1
- package/dist/scan/templates.js +1 -1
- package/dist/scan/templates.js.map +1 -1
- package/dist/skill-bundle/SKILL.md +30 -50
- package/dist/skill-bundle/references/authoring.md +145 -0
- package/dist/skill-bundle/references/ground.md +57 -0
- package/dist/skill-bundle/references/making.md +71 -104
- package/dist/skill-bundle/references/materials.md +131 -0
- package/dist/skill-bundle/references/nodes.md +139 -0
- package/dist/skill-bundle/references/schema.md +50 -58
- package/dist/skill-bundle/references/steering-audit.md +9 -24
- package/dist/untrusted-framing.d.ts +9 -0
- package/dist/untrusted-framing.d.ts.map +1 -0
- package/dist/untrusted-framing.js +15 -0
- package/dist/untrusted-framing.js.map +1 -0
- package/package.json +1 -1
- package/dist/commands/pulse-command.d.ts +0 -3
- package/dist/commands/pulse-command.d.ts.map +0 -1
- package/dist/commands/pulse-command.js.map +0 -1
- package/dist/skill-bundle/references/adapting-a-starter.md +0 -110
- package/dist/skill-bundle/references/authoring-scenarios.md +0 -187
- package/dist/skill-bundle/references/blocks.md +0 -179
- package/dist/skill-bundle/references/brief.md +0 -50
- package/dist/skill-bundle/references/capture.md +0 -422
- package/dist/skill-bundle/references/concrete-tiers.md +0 -95
- package/dist/skill-bundle/references/distill.md +0 -205
- package/dist/skill-bundle/references/recall.md +0 -36
- package/dist/skill-bundle/references/self-check.md +0 -65
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Any transition, animation, or hover treatment.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
Starter guidance the brand owner has not yet reviewed. Cite it as provisional
|
|
6
|
+
until a human edits or confirms this chapter.
|
|
7
|
+
|
|
5
8
|
## Usage
|
|
6
9
|
|
|
7
10
|
Motion is evidence of a state change. It confirms hover, press, reveal,
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Any view containing text.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
Starter guidance the brand owner has not yet reviewed. Cite it as provisional
|
|
6
|
+
until a human edits or confirms this chapter.
|
|
7
|
+
|
|
5
8
|
## Usage
|
|
6
9
|
|
|
7
10
|
Hierarchy is a closed vocabulary, not a size slider. Every piece of text
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Writing or editing any copy.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
Starter guidance the brand owner has not yet reviewed. Cite it as provisional
|
|
6
|
+
until a human edits or confirms this chapter.
|
|
7
|
+
|
|
5
8
|
## Usage
|
|
6
9
|
|
|
7
10
|
Copy states what happened, what is possible, or what the user must decide.
|
|
@@ -33,7 +33,7 @@ checks at review.
|
|
|
33
33
|
|
|
34
34
|
The cover node (`brand.md`, declared in the manifest) is the one page always
|
|
35
35
|
in context: what the brand is, its temperature, and the refusals only it
|
|
36
|
-
makes. The ghost skill's `
|
|
37
|
-
|
|
36
|
+
makes. The ghost skill's `authoring` recipe explains how to grow this skeleton
|
|
37
|
+
into a real ghost package: write the cover, answer each
|
|
38
38
|
chapter's open question, prune the cliches your chapters absorb, then add
|
|
39
|
-
materials and
|
|
39
|
+
materials and examples.
|
|
@@ -10,11 +10,11 @@ references:
|
|
|
10
10
|
|
|
11
11
|
Apply this check to diffs that add or restructure a view. Classify the
|
|
12
12
|
reader's job first — what they do next with the view — then judge the
|
|
13
|
-
composition against the
|
|
13
|
+
composition against the example that job routes to. These flags catch the
|
|
14
14
|
template-convergence failure: a plausible layout applied to a job it does
|
|
15
15
|
not fit.
|
|
16
16
|
|
|
17
|
-
Flag a view whose job routes to one
|
|
17
|
+
Flag a view whose job routes to one example but whose composition imitates
|
|
18
18
|
another — a submit-and-done task laid out as a dashboard of cards, a
|
|
19
19
|
records-scanning task rendered as prose sections, a stop-and-decide moment
|
|
20
20
|
inlined into the page instead of interrupting it. (`grammar.job`)
|
|
@@ -38,7 +38,7 @@ anti-goals before styling anything greenfield.
|
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
41
|
-
To adapt this package to another brand, follow the
|
|
42
|
-
recipe in the ghost skill bundle. In short: new manifest id, prune the
|
|
41
|
+
To adapt this package to another brand, follow the starter section of the
|
|
42
|
+
`authoring` recipe in the ghost skill bundle. In short: new manifest id, prune the
|
|
43
43
|
median rules your brand legitimately violates, answer each signature node,
|
|
44
|
-
edit `materials/tokens.css`, regenerate the
|
|
44
|
+
edit `materials/tokens.css`, regenerate the examples, rewrite the tells.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Any AI thread, agent console, review assistant, or prompt composer.
|
|
3
3
|
materials:
|
|
4
|
-
- materials/
|
|
4
|
+
- materials/examples/composition.conversation.html
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
Conversation UI is not chat cosplay. The assistant speaks on the page surface
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: The final pass over any composition, or whenever a view feels crowded, busy, or dressed up.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
Restraint is not a mood; it is a test every element has to pass. Before a
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Any view containing text or actions.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/primitives.css
|
|
5
|
-
- materials/
|
|
5
|
+
- materials/examples/composition.form.html
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
Hierarchy is a closed vocabulary, not a size slider. Every piece of text and
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Any new view before its structure or register is chosen.
|
|
3
3
|
materials:
|
|
4
|
-
- materials/
|
|
5
|
-
- materials/
|
|
6
|
-
- materials/
|
|
7
|
-
- materials/
|
|
8
|
-
- materials/
|
|
9
|
-
- materials/
|
|
4
|
+
- materials/examples/composition.form.html
|
|
5
|
+
- materials/examples/composition.table.html
|
|
6
|
+
- materials/examples/composition.editorial.html
|
|
7
|
+
- materials/examples/composition.overlay.html
|
|
8
|
+
- materials/examples/composition.conversation.html
|
|
9
|
+
- materials/examples/email.html
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
Before any structure exists, name what the reader does next with the view.
|
|
@@ -19,17 +19,17 @@ misleads.
|
|
|
19
19
|
The jobs and where they route:
|
|
20
20
|
|
|
21
21
|
- **Fill something in** — settings, signup, any submit-and-done task → the
|
|
22
|
-
form
|
|
22
|
+
form example. Stacked labels and fields, one submit, secondary escape.
|
|
23
23
|
- **Scan and compare records** — lists, audits, anything with rows and
|
|
24
|
-
figures → the table
|
|
24
|
+
figures → the table example, in the data-density register.
|
|
25
25
|
- **Read a narrative** — a landing page, an announcement, a story → the
|
|
26
|
-
editorial
|
|
26
|
+
editorial example, in the editorial register.
|
|
27
27
|
- **Stop and decide** — a confirmation, a destructive act, a choice that
|
|
28
|
-
interrupts the task → the overlay
|
|
28
|
+
interrupts the task → the overlay example. The decision is the view.
|
|
29
29
|
- **Converse with the system** — an AI thread, an agent console, a prompt
|
|
30
|
-
composer → the conversation
|
|
30
|
+
composer → the conversation example.
|
|
31
31
|
- **Be notified elsewhere** — receipts, alerts, anything that lands in an
|
|
32
|
-
inbox → the email
|
|
32
|
+
inbox → the email example, in the email register.
|
|
33
33
|
|
|
34
34
|
Read the request's verbs, not its nouns: "edit / set up / submit" routes to
|
|
35
35
|
form; "compare / list / review the records" to table; "announce / tell the
|
|
@@ -37,7 +37,7 @@ story" to editorial; "confirm / are you sure" to overlay; "ask / draft with
|
|
|
37
37
|
me" to conversation. When two jobs fold into one request, build for the job
|
|
38
38
|
the reader performs on this view, now — the other job is the next view. When
|
|
39
39
|
a job fits none of these, compose from the grammar and say so; do not force
|
|
40
|
-
the nearest
|
|
40
|
+
the nearest example.
|
|
41
41
|
|
|
42
42
|
Three shapes lie about the job, and we refuse them everywhere:
|
|
43
43
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Any card, popover, modal, dialog, scrim, or bordered container.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/primitives.css
|
|
5
|
-
- materials/
|
|
5
|
+
- materials/examples/composition.overlay.html
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
Surface is the only way an element gets a background, border, radius, or
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Any task using the complete Vessel design language.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/tokens.css
|
|
5
5
|
---
|
|
@@ -7,9 +7,8 @@ materials:
|
|
|
7
7
|
vessel-light is Vessel without the React package: the design language as a
|
|
8
8
|
steering packet for agents writing raw HTML and CSS.
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
worked examples to copy from, not a framework to import.
|
|
10
|
+
Style only with the tokens. Compose only with the closed sets the grammar
|
|
11
|
+
enumerates. Use the examples when the task matches; they are not a framework.
|
|
13
12
|
|
|
14
13
|
Grammar and the median floor are safe verbatim, unchanged by any adaptation.
|
|
15
14
|
Signature nodes state Vessel's current answer and stand until you replace
|
|
@@ -23,11 +22,7 @@ success, warning, information — never atmosphere. Atmosphere is catered: a
|
|
|
23
22
|
five-hue expression palette whose volume rises with the register, from
|
|
24
23
|
charts-only in product to two hues in editorial, and never on controls.
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
the register, never the topic. When a requested UI is not covered by a ref,
|
|
31
|
-
compose from the grammar; do not invent a new styling system. Before
|
|
32
|
-
anything ships, run the deletion pass: every element names what breaks if
|
|
33
|
-
it goes, and the view arrives settled.
|
|
25
|
+
Name the reader's job before composing anything. The job picks the example and
|
|
26
|
+
the register, never the topic. When no example fits, compose from the grammar;
|
|
27
|
+
do not invent a new styling system. Before anything ships, run the deletion
|
|
28
|
+
pass: every element names what breaks if it goes, and the view arrives settled.
|
package/dist/init-payloads/vessel-light/materials/{ref → examples}/composition.conversation.html
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<!-- How to use this example
|
|
2
|
+
Keep: grammar.conversation — the whole grammar: assistant turns as plain text on the page surface (no bubble, border, or fill), user turns as compact muted surfaces aligned right, tool calls collapsed to a one-line labeled summary with status (mono detail only after expansion), one bordered prompt surface with an empty writing region and a single control row below, exactly one primary send. grammar.surfaces — no borders as decoration around assistant text. signature.shape — surface radius on the prompt surface and user turns.
|
|
3
|
+
Change: all copy; the 720px thread width and turn max-widths; the specific attach/mention controls; the billing subject matter.
|
|
4
4
|
-->
|
|
5
5
|
<!doctype html>
|
|
6
6
|
<html lang="en">
|
package/dist/init-payloads/vessel-light/materials/{ref → examples}/composition.editorial.html
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<!-- How to use this example
|
|
2
|
+
Keep: register.editorial — display-scale hero with the single sanctioned kicker (one per page — repeating it on every section is the median tell), --section-padding-vertical rhythm, the sanctioned full-bleed dark band via --surface-dark-*, the pull quote as visual punctuation, one primary action per page at button--size-lg. signature.type — the editorial heading scale (text--display for the hero, --heading-section-* and --heading-sub-* composed locally) used where the words are the composition, product text variants (title, label, body) inside the features. grammar.rhythm — the hero takes the largest gap step (stack--gap-xl) because display scale earns it. grammar.motion — the sanctioned editorial entrance: one staged reveal at --duration-slow with the one ease, opacity and small transform only. grammar.hierarchy — the inverse tone on the dark surface. signature.palette — the editorial volume: exactly two expression hues per page (periwinkle tinting the dark band, amber accenting the pull quote), controls monochrome.
|
|
3
|
+
Change: all copy; the specific hue assignments (any two of the five expression hues satisfy the budget); the three-feature grid count; content max-widths.
|
|
4
4
|
-->
|
|
5
5
|
<!doctype html>
|
|
6
6
|
<html lang="en">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<!-- How to use this example
|
|
2
|
+
Keep: grammar.hierarchy — the complete control emphasis ladder (primary, secondary, outline, ghost, link) working one coherent view with one primary; destructive as a meaning, not a rung; field/label/error anatomy; the product text variants headline, title, body, label, mono; the warning and destructive tones. grammar.rhythm — column stacks with named gap steps, rows only for controls and paired label/value moments. grammar.surfaces — card tier with structural border. signature.shape — --radius-control on every control, --radius-surface on the card.
|
|
3
|
+
Change: all copy, field values, and key strings; the 560px column width; which specific action occupies each ladder rung; the settings domain itself.
|
|
4
4
|
-->
|
|
5
5
|
<!doctype html>
|
|
6
6
|
<html lang="en">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<!-- How to use this example
|
|
2
|
+
Keep: grammar.surfaces — the interrupting end of the elevation set: the modal tier (scrim, --shadow-modal, --radius-surface, compact header, clear footer) and the popover tier (an anchored menu floating above the flow with --shadow-popover). The card tier's home is composition.form.html and composition.table.html; together the three examples cover the closed elevation set. grammar.motion — the dialog reveal at --duration-normal with the one ease, opacity and small transform only. grammar.hierarchy — one primary confirm, ghost escape as button--icon close plus a cancel, menu items as ghost-weight actions; the info tone carrying a state-meaning note. signature.shape — surface radius on both overlay surfaces, the pill (--radius-control) on the icon close.
|
|
3
|
+
Change: showing the popover and the modal in the same frame (a demonstration convenience — in a live UI the menu closes when the dialog interrupts); all copy and counts; the 512px dialog width; the specific menu items.
|
|
4
4
|
-->
|
|
5
5
|
<!doctype html>
|
|
6
6
|
<html lang="en">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<!-- How to use this example
|
|
2
|
+
Keep: register.data-density — the two smallest gap steps (--gap-xs, --gap-sm) as cell padding, mono tabular numerals right-aligned, muted-first hierarchy, hairline row borders with no zebra striping, small radius on the data surface (surface--radius-sm), status as a text label in one functional color family, hover confirmation at --duration-fast. grammar.hierarchy — label + title header pairing, secondary export action stepping down the ladder.
|
|
3
|
+
Change: all customer names, emails, invoice ids, and amounts; the four-row count; the billing domain; the max content width.
|
|
4
4
|
-->
|
|
5
5
|
<!doctype html>
|
|
6
6
|
<html lang="en">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
|
-
<!--
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<!-- How to use this example
|
|
3
|
+
Keep: register.email — the inverted material contract: table layout, 600px wrapper, inline styles, system font stack, hardcoded hex hand-transcribed from tokens.css (each annotated below with its source token), bulletproof pill button, surface radius on the card, exactly one expressive moment in one hue (the amber header band). signature.shape — the radius values (20px surface, 999px control) surviving without token names. signature.palette — monochrome spine, one hue, quiet factual copy, no celebration.
|
|
4
|
+
Change: all copy, amounts, dates, and receipt numbers; the choice of amber for the one expressive moment (any single expression hue qualifies); the receipt subject matter.
|
|
5
5
|
|
|
6
6
|
hex transcription map (single source: materials/tokens.css — re-transcribe if a token changes):
|
|
7
7
|
#ffffff = --color-white (background)
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
Product: charts only. Data-density: one hue family for status.
|
|
182
182
|
Email: exactly one expressive moment. Editorial: atmosphere, max two
|
|
183
183
|
hues per page. Never on interactive controls in any register.
|
|
184
|
-
The
|
|
184
|
+
The examples demonstrate hues 1 and 2; hues 3-5 are declared inventory —
|
|
185
185
|
no register renders all five at once (see signature.palette). */
|
|
186
186
|
--expression-1: #f6b44a; /* amber */
|
|
187
187
|
--expression-2: #7585ff; /* periwinkle */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Tables, dashboards, logs, monitoring, or other data-dense consoles.
|
|
3
3
|
materials:
|
|
4
|
-
- materials/
|
|
4
|
+
- materials/examples/composition.table.html
|
|
5
5
|
- materials/primitives.css
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
for: Heroes, marketing pages, pull quotes, or full-bleed dark moments.
|
|
3
3
|
materials:
|
|
4
|
-
- materials/
|
|
4
|
+
- materials/examples/composition.editorial.html
|
|
5
5
|
- materials/tokens.css
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { access, appendFile, readFile } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { GHOST_EVENTS_FILENAME } from "./scan/constants.js";
|
|
4
|
-
const FIRST_WRITE_NOTICE = `ghost: logging selection events locally to .ghost/${GHOST_EVENTS_FILENAME} (gitignored; never leaves your machine). Summarize with \`ghost
|
|
4
|
+
const FIRST_WRITE_NOTICE = `ghost: logging selection events locally to .ghost/${GHOST_EVENTS_FILENAME} (gitignored; never leaves your machine). Summarize with \`ghost stats\`.`;
|
|
5
5
|
/**
|
|
6
6
|
* Resolve the run identifier for event attribution: explicit --run flag
|
|
7
7
|
* wins, then GHOST_RUN_ID from the environment. Returns undefined when
|
|
@@ -51,7 +51,7 @@ export async function readGhostEvents(packageDir) {
|
|
|
51
51
|
events.push(parsed);
|
|
52
52
|
}
|
|
53
53
|
catch {
|
|
54
|
-
// Ignore malformed events tape lines;
|
|
54
|
+
// Ignore malformed events tape lines; stats should still be useful.
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
return events;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/review/baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/review/baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,YAAY,GACpB,aAAa,GAAG,IAAI,CA0BtB"}
|
package/dist/review/baseline.js
CHANGED
|
@@ -10,7 +10,7 @@ export function resolveBaseline(raw, catalog) {
|
|
|
10
10
|
return {
|
|
11
11
|
ref: raw,
|
|
12
12
|
nodeId: ref.nodeId,
|
|
13
|
-
...(node.
|
|
13
|
+
...(node.for !== undefined ? { for: node.for } : {}),
|
|
14
14
|
body: node.body,
|
|
15
15
|
};
|
|
16
16
|
}
|
|
@@ -19,7 +19,7 @@ export function resolveBaseline(raw, catalog) {
|
|
|
19
19
|
ref: raw,
|
|
20
20
|
nodeId: ref.nodeId,
|
|
21
21
|
heading: ref.heading,
|
|
22
|
-
...(node.
|
|
22
|
+
...(node.for !== undefined ? { for: node.for } : {}),
|
|
23
23
|
body: section ?? node.body,
|
|
24
24
|
...(section === null
|
|
25
25
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/review/baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAWrB,MAAM,UAAU,eAAe,CAC7B,GAAW,EACX,OAAqB;IAErB,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/review/baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAWrB,MAAM,UAAU,eAAe,CAC7B,GAAW,EACX,OAAqB;IAErB,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACzD,OAAO;QACL,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI;QAC1B,GAAG,CAAC,OAAO,KAAK,IAAI;YAClB,CAAC,CAAC;gBACE,OAAO,EAAE,YAAY,GAAG,CAAC,OAAO,wBAAwB,GAAG,CAAC,MAAM,8BAA8B;aACjG;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -6,7 +6,7 @@ export type { BaselineProse };
|
|
|
6
6
|
export interface PacketMaterialNode {
|
|
7
7
|
id: string;
|
|
8
8
|
kind?: string;
|
|
9
|
-
|
|
9
|
+
for?: string;
|
|
10
10
|
prose: string;
|
|
11
11
|
materials: GhostMaterial[];
|
|
12
12
|
matchedMaterials: string[];
|
|
@@ -29,6 +29,7 @@ export interface ReviewPacket {
|
|
|
29
29
|
checks: PacketCheck[];
|
|
30
30
|
gaps: CoverageGap[];
|
|
31
31
|
diff: string;
|
|
32
|
+
untrusted: true;
|
|
32
33
|
}
|
|
33
34
|
export interface BuildReviewPacketOptions {
|
|
34
35
|
/** Absolute path of the ghost package directory (default: cwd/.ghost). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-packet.d.ts","sourceRoot":"","sources":["../../src/review/review-packet.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"review-packet.d.ts","sourceRoot":"","sources":["../../src/review/review-packet.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAOzE,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,kBAAkB,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,YAAY,CAAC,CA0CvB;AAkBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA4F/D"}
|
|
@@ -2,6 +2,7 @@ import { join } from "node:path";
|
|
|
2
2
|
import { materialLocator, normalizeMaterial, } from "#ghost-core";
|
|
3
3
|
import { GHOST_MATERIALS_DIR } from "../scan/constants.js";
|
|
4
4
|
import { resolveGitRoot } from "../scan/package-paths.js";
|
|
5
|
+
import { neutralizeSentinels, untrustedBegin, untrustedEnd, } from "../untrusted-framing.js";
|
|
5
6
|
import { resolveBaseline } from "./baseline.js";
|
|
6
7
|
import { resolveReview } from "./resolve.js";
|
|
7
8
|
export async function buildReviewPacket(ghostPackage, diffText, options = {}) {
|
|
@@ -33,6 +34,7 @@ export async function buildReviewPacket(ghostPackage, diffText, options = {}) {
|
|
|
33
34
|
checks,
|
|
34
35
|
gaps: resolution.gaps,
|
|
35
36
|
diff: diffText,
|
|
37
|
+
untrusted: true,
|
|
36
38
|
};
|
|
37
39
|
}
|
|
38
40
|
function materialNodeFromMatch(ghostPackage, matched) {
|
|
@@ -40,7 +42,7 @@ function materialNodeFromMatch(ghostPackage, matched) {
|
|
|
40
42
|
return {
|
|
41
43
|
id: node.id,
|
|
42
44
|
...(node.kind !== undefined ? { kind: node.kind } : {}),
|
|
43
|
-
...(node.
|
|
45
|
+
...(node.for !== undefined ? { for: node.for } : {}),
|
|
44
46
|
prose: node.body,
|
|
45
47
|
materials: node.materials ?? [],
|
|
46
48
|
matchedMaterials: matched.locators,
|
|
@@ -62,8 +64,8 @@ export function formatReviewPacket(packet) {
|
|
|
62
64
|
for (const node of packet.materialNodes) {
|
|
63
65
|
const kind = node.kind ? ` _(${node.kind})_` : "";
|
|
64
66
|
out.push(`### \`${node.id}\`${kind}`);
|
|
65
|
-
if (node.
|
|
66
|
-
out.push(`_${node.
|
|
67
|
+
if (node.for)
|
|
68
|
+
out.push(`_${node.for}_`, "");
|
|
67
69
|
out.push(node.prose, "");
|
|
68
70
|
out.push("Matched materials:");
|
|
69
71
|
for (const locator of node.matchedMaterials) {
|
|
@@ -113,7 +115,7 @@ export function formatReviewPacket(packet) {
|
|
|
113
115
|
}
|
|
114
116
|
out.push("");
|
|
115
117
|
}
|
|
116
|
-
out.push("## Diff", "```diff", packet.diff.trimEnd(), "```", "");
|
|
118
|
+
out.push("## Diff", untrustedBegin("diff"), "```diff", neutralizeSentinels(packet.diff.trimEnd()), "```", untrustedEnd("diff"), "");
|
|
117
119
|
out.push("## Produce findings");
|
|
118
120
|
out.push("For each applicable check, emit findings with severity, location, baseline,", "observable, and smallest coherent fix. If nothing drifts, say so plainly.");
|
|
119
121
|
return `${out.join("\n")}\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-packet.js","sourceRoot":"","sources":["../../src/review/review-packet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAGL,eAAe,EACf,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAsB,eAAe,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"review-packet.js","sourceRoot":"","sources":["../../src/review/review-packet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint-package-lint.d.ts","sourceRoot":"","sources":["../../src/scan/fingerprint-package-lint.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,GAClB,OAAO,CAAC,UAAU,CAAC,CA4DrB;
|
|
1
|
+
{"version":3,"file":"fingerprint-package-lint.d.ts","sourceRoot":"","sources":["../../src/scan/fingerprint-package-lint.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,GAClB,OAAO,CAAC,UAAU,CAAC,CA4DrB;AA0QD,0CAA0C;AAC1C,eAAO,MAAM,sBAAsB,yBAAmB,CAAC"}
|