@design-intelligence/ghost 0.26.1 → 0.28.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/dist/commands/gather-command.js +5 -5
- package/dist/commands/gather-command.js.map +1 -1
- package/dist/commands/pull-command.js +5 -3
- 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 +0 -2
- package/dist/commands/review-command.js.map +1 -1
- package/dist/embed/gather.d.ts.map +1 -1
- package/dist/embed/gather.js +4 -2
- package/dist/embed/gather.js.map +1 -1
- package/dist/embed/inspect.d.ts.map +1 -1
- package/dist/embed/inspect.js +21 -28
- package/dist/embed/inspect.js.map +1 -1
- package/dist/embed/pull.d.ts.map +1 -1
- package/dist/embed/pull.js +32 -1
- package/dist/embed/pull.js.map +1 -1
- package/dist/embed/types.d.ts +4 -0
- 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 +5 -1
- 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 +8 -6
- package/dist/ghost-core/catalog/menu.d.ts.map +1 -1
- package/dist/ghost-core/catalog/menu.js +5 -3
- package/dist/ghost-core/catalog/menu.js.map +1 -1
- package/dist/ghost-core/catalog/types.d.ts +5 -1
- package/dist/ghost-core/catalog/types.d.ts.map +1 -1
- package/dist/ghost-core/check/lint.d.ts.map +1 -1
- package/dist/ghost-core/check/lint.js +0 -10
- package/dist/ghost-core/check/lint.js.map +1 -1
- package/dist/ghost-core/check/load.d.ts.map +1 -1
- package/dist/ghost-core/check/load.js +0 -2
- package/dist/ghost-core/check/load.js.map +1 -1
- package/dist/ghost-core/check/types.d.ts +0 -2
- package/dist/ghost-core/check/types.d.ts.map +1 -1
- package/dist/ghost-core/index.d.ts +1 -2
- package/dist/ghost-core/index.d.ts.map +1 -1
- package/dist/ghost-core/index.js +1 -3
- package/dist/ghost-core/index.js.map +1 -1
- package/dist/ghost-core/material-transport.d.ts +4 -8
- package/dist/ghost-core/material-transport.d.ts.map +1 -1
- package/dist/ghost-core/material-transport.js +39 -91
- package/dist/ghost-core/material-transport.js.map +1 -1
- package/dist/ghost-core/materials.d.ts +1 -1
- package/dist/ghost-core/materials.d.ts.map +1 -1
- package/dist/ghost-core/materials.js +4 -1
- package/dist/ghost-core/materials.js.map +1 -1
- package/dist/ghost-core/node/schema.d.ts +3 -1
- package/dist/ghost-core/node/schema.d.ts.map +1 -1
- package/dist/ghost-core/node/schema.js +4 -2
- package/dist/ghost-core/node/schema.js.map +1 -1
- package/dist/ghost-core/node/serialize.d.ts +7 -5
- package/dist/ghost-core/node/serialize.d.ts.map +1 -1
- package/dist/ghost-core/node/serialize.js +18 -9
- package/dist/ghost-core/node/serialize.js.map +1 -1
- package/dist/ghost-core/node/types.d.ts +9 -6
- 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 +1 -1
- package/dist/init-payloads/skeleton/foundation.composition.md +1 -1
- package/dist/init-payloads/skeleton/foundation.controls.md +1 -1
- package/dist/init-payloads/skeleton/foundation.layout.md +1 -1
- package/dist/init-payloads/skeleton/foundation.motion.md +1 -1
- package/dist/init-payloads/skeleton/foundation.type.md +1 -1
- package/dist/init-payloads/skeleton/foundation.voice.md +1 -1
- 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/grammar.color-roles.md +1 -3
- package/dist/init-payloads/vessel-light/grammar.conversation.md +1 -2
- package/dist/init-payloads/vessel-light/grammar.deletion.md +1 -1
- package/dist/init-payloads/vessel-light/grammar.hierarchy.md +1 -3
- package/dist/init-payloads/vessel-light/grammar.job.md +1 -1
- package/dist/init-payloads/vessel-light/grammar.motion.md +1 -3
- package/dist/init-payloads/vessel-light/grammar.rhythm.md +1 -3
- package/dist/init-payloads/vessel-light/grammar.surfaces.md +1 -3
- package/dist/init-payloads/vessel-light/index.md +1 -1
- package/dist/init-payloads/vessel-light/register.data-density.md +1 -1
- package/dist/init-payloads/vessel-light/register.editorial.md +1 -1
- package/dist/init-payloads/vessel-light/register.email.md +1 -1
- 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 +8 -2
- package/dist/review/baseline.d.ts +1 -1
- package/dist/review/baseline.d.ts.map +1 -1
- package/dist/review/baseline.js +2 -6
- package/dist/review/baseline.js.map +1 -1
- package/dist/review/review-packet.d.ts +2 -6
- package/dist/review/review-packet.d.ts.map +1 -1
- package/dist/review/review-packet.js +6 -20
- 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 +20 -15
- package/dist/scan/fingerprint-package-lint.js.map +1 -1
- package/dist/skill-bundle/SKILL.md +10 -11
- package/dist/skill-bundle/references/adapting-a-starter.md +8 -2
- package/dist/skill-bundle/references/authoring-scenarios.md +1 -1
- package/dist/skill-bundle/references/blocks.md +10 -10
- package/dist/skill-bundle/references/brief.md +1 -1
- package/dist/skill-bundle/references/capture.md +23 -20
- package/dist/skill-bundle/references/distill.md +1 -1
- package/dist/skill-bundle/references/making.md +7 -7
- package/dist/skill-bundle/references/recall.md +1 -1
- package/dist/skill-bundle/references/schema.md +21 -20
- package/dist/skill-bundle/references/self-check.md +2 -2
- package/dist/skill-bundle/references/steering-audit.md +3 -3
- package/package.json +1 -1
- package/dist/ghost-core/glob.d.ts +0 -5
- package/dist/ghost-core/glob.d.ts.map +0 -1
- package/dist/ghost-core/glob.js +0 -68
- package/dist/ghost-core/glob.js.map +0 -1
- package/dist/review/glob.d.ts +0 -2
- package/dist/review/glob.d.ts.map +0 -1
- package/dist/review/glob.js +0 -2
- package/dist/review/glob.js.map +0 -1
- package/dist/review/probes.d.ts +0 -13
- package/dist/review/probes.d.ts.map +0 -1
- package/dist/review/probes.js +0 -45
- package/dist/review/probes.js.map +0 -1
|
@@ -1,31 +1,40 @@
|
|
|
1
1
|
import { stringify as stringifyYaml } from "yaml";
|
|
2
|
-
const FRONTMATTER_KEY_ORDER = ["
|
|
2
|
+
const FRONTMATTER_KEY_ORDER = ["context", "materials"];
|
|
3
3
|
function shouldSerializeFrontmatterValue(value) {
|
|
4
4
|
return value !== undefined;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Serialize a node back to its `---\n<yaml>\n---\n<body>` markdown form. Known
|
|
8
|
-
* keys are emitted first in a stable order (
|
|
9
|
-
*
|
|
10
|
-
* diffs are deterministic.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* keys are emitted first in a stable order (context, materials), followed by
|
|
9
|
+
* any free-form descriptive keys in alphabetical order so round-trips and
|
|
10
|
+
* diffs are deterministic. The deprecated `description` alias is written as
|
|
11
|
+
* `context`, which makes serialize a safe migration boundary. Identity and kind
|
|
12
|
+
* are not serialized; they come from the node's file path and optional filename
|
|
13
|
+
* prefix. Undefined fields are omitted; a node with no frontmatter fields emits
|
|
14
|
+
* an empty block.
|
|
13
15
|
*/
|
|
14
16
|
export function serializeNode(node) {
|
|
15
17
|
const fm = node.frontmatter;
|
|
18
|
+
const normalized = {
|
|
19
|
+
...fm,
|
|
20
|
+
...(fm.context === undefined && fm.description !== undefined
|
|
21
|
+
? { context: fm.description }
|
|
22
|
+
: {}),
|
|
23
|
+
};
|
|
24
|
+
delete normalized.description;
|
|
16
25
|
const ordered = {};
|
|
17
26
|
const emitted = new Set();
|
|
18
27
|
for (const key of FRONTMATTER_KEY_ORDER) {
|
|
19
|
-
const value =
|
|
28
|
+
const value = normalized[key];
|
|
20
29
|
if (shouldSerializeFrontmatterValue(value)) {
|
|
21
30
|
ordered[key] = value;
|
|
22
31
|
emitted.add(key);
|
|
23
32
|
}
|
|
24
33
|
}
|
|
25
|
-
for (const key of Object.keys(
|
|
34
|
+
for (const key of Object.keys(normalized).sort()) {
|
|
26
35
|
if (emitted.has(key))
|
|
27
36
|
continue;
|
|
28
|
-
const value =
|
|
37
|
+
const value = normalized[key];
|
|
29
38
|
if (shouldSerializeFrontmatterValue(value))
|
|
30
39
|
ordered[key] = value;
|
|
31
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/ghost-core/node/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAGlD,MAAM,qBAAqB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/ghost-core/node/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAGlD,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,WAAW,CAAU,CAAC;AAEhE,SAAS,+BAA+B,CAAC,KAAc;IACrD,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,IAAuB;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAsC,CAAC;IACvD,MAAM,UAAU,GAA4B;QAC1C,GAAG,EAAE;QACL,GAAG,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS;YAC1D,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE;YAC7B,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,UAAU,CAAC,WAAW,CAAC;IAE9B,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,+BAA+B,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,+BAA+B,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnE,CAAC;IAED,8EAA8E;IAC9E,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,QAAQ,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAClE,CAAC"}
|
|
@@ -10,16 +10,19 @@ export interface GhostNodeFrontmatter {
|
|
|
10
10
|
/** Free-form descriptive properties parsed from node frontmatter. */
|
|
11
11
|
[key: string]: unknown;
|
|
12
12
|
/**
|
|
13
|
-
* Retrieval payload shown by gather:
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
13
|
+
* Retrieval payload shown by gather: the observable condition under which
|
|
14
|
+
* this node applies. Together with the node's id, it is how an agent decides
|
|
15
|
+
* applicability. Optional, but strongly encouraged on any node worth
|
|
16
|
+
* anchoring a task at.
|
|
17
17
|
*/
|
|
18
|
+
context?: string;
|
|
19
|
+
/** @deprecated Use `context`. Accepted as a read alias for one release. */
|
|
18
20
|
description?: string;
|
|
19
21
|
/**
|
|
20
22
|
* Optional locators for the concrete materials this guidance is about:
|
|
21
|
-
* repo-relative paths
|
|
22
|
-
*
|
|
23
|
+
* explicit repo-relative file paths and supported external locators. Glob
|
|
24
|
+
* patterns are not supported and fail validation. A locator may be a bare
|
|
25
|
+
* string or an object with a short retrieval note. Guidance stays in
|
|
23
26
|
* prose; this list only says where the material can be found.
|
|
24
27
|
*/
|
|
25
28
|
materials?: GhostMaterial[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/node/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,eAAO,MAAM,iBAAiB,EAAG,eAAwB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/node/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,eAAO,MAAM,iBAAiB,EAAG,eAAwB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,oBAAoB,CAAC;IAClC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Any greenfield visual surface or first-draft copy.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
This is the model's median, not your brand. Each rule is reject→replace.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Chat threads, agent consoles, and prompt composers.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
In this context: AI conversation threads, agent consoles, review assistants,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Any transition, animation, or hover treatment.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Any greenfield visual surface or first-draft copy.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
This is the model's median, not your brand. Each rule is reject→replace.
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Choosing or applying color.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/tokens.css
|
|
5
|
-
- "**/*.css"
|
|
6
|
-
- "**/*.html"
|
|
7
5
|
---
|
|
8
6
|
|
|
9
7
|
The token file is the source of truth. An agent may combine tokens, but it
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Any AI thread, agent console, review assistant, or prompt composer.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/ref/composition.conversation.html
|
|
5
|
-
- "**/*.html"
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
Conversation UI is not chat cosplay. The assistant speaks on the page surface
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: 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,10 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Any view containing text or actions.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/primitives.css
|
|
5
5
|
- materials/ref/composition.form.html
|
|
6
|
-
- "**/*.html"
|
|
7
|
-
- "**/*.css"
|
|
8
6
|
---
|
|
9
7
|
|
|
10
8
|
Hierarchy is a closed vocabulary, not a size slider. Every piece of text and
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Any new view before its structure or register is chosen.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/ref/composition.form.html
|
|
5
5
|
- materials/ref/composition.table.html
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Any transition, animation, or hover treatment.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/tokens.css
|
|
5
|
-
- "**/*.css"
|
|
6
|
-
- "**/*.html"
|
|
7
5
|
---
|
|
8
6
|
|
|
9
7
|
Motion is evidence of a state change. It confirms hover, press, reveal,
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Laying out any view.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/primitives.css
|
|
5
|
-
- "**/*.html"
|
|
6
|
-
- "**/*.css"
|
|
7
5
|
---
|
|
8
6
|
|
|
9
7
|
All layout is stacks. Rhythm comes from relationships between siblings, not
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Any card, popover, modal, dialog, scrim, or bordered container.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/primitives.css
|
|
5
5
|
- materials/ref/composition.overlay.html
|
|
6
|
-
- "**/*.html"
|
|
7
|
-
- "**/*.css"
|
|
8
6
|
---
|
|
9
7
|
|
|
10
8
|
Surface is the only way an element gets a background, border, radius, or
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Tables, dashboards, logs, monitoring, or other data-dense consoles.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/ref/composition.table.html
|
|
5
5
|
- materials/primitives.css
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Heroes, marketing pages, pull quotes, or full-bleed dark moments.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/ref/composition.editorial.html
|
|
5
5
|
- materials/tokens.css
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Color beyond the base roles, in any register.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/tokens.css
|
|
5
5
|
---
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Choosing or implementing any radius or corner treatment.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/tokens.css
|
|
5
5
|
- materials/primitives.css
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Writing any copy or choosing the character of motion.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/tokens.css
|
|
5
5
|
---
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
context: Any text, hero, landing page, or editorial moment.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/tokens.css
|
|
5
|
-
- materials/fonts
|
|
5
|
+
- materials/fonts/HKGrotesk-Black.woff2
|
|
6
|
+
- materials/fonts/HKGrotesk-Bold.woff2
|
|
7
|
+
- materials/fonts/HKGrotesk-ExtraBold.woff2
|
|
8
|
+
- materials/fonts/HKGrotesk-Light.woff2
|
|
9
|
+
- materials/fonts/HKGrotesk-Medium.woff2
|
|
10
|
+
- materials/fonts/HKGrotesk-Regular.woff2
|
|
11
|
+
- materials/fonts/HKGrotesk-SemiBold.woff2
|
|
6
12
|
---
|
|
7
13
|
|
|
8
14
|
This is Vessel's answer to type — it stands until you replace it.
|
|
@@ -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,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,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,9 +10,7 @@ export function resolveBaseline(raw, catalog) {
|
|
|
10
10
|
return {
|
|
11
11
|
ref: raw,
|
|
12
12
|
nodeId: ref.nodeId,
|
|
13
|
-
...(node.
|
|
14
|
-
? { description: node.description }
|
|
15
|
-
: {}),
|
|
13
|
+
...(node.context !== undefined ? { context: node.context } : {}),
|
|
16
14
|
body: node.body,
|
|
17
15
|
};
|
|
18
16
|
}
|
|
@@ -21,9 +19,7 @@ export function resolveBaseline(raw, catalog) {
|
|
|
21
19
|
ref: raw,
|
|
22
20
|
nodeId: ref.nodeId,
|
|
23
21
|
heading: ref.heading,
|
|
24
|
-
...(node.
|
|
25
|
-
? { description: node.description }
|
|
26
|
-
: {}),
|
|
22
|
+
...(node.context !== undefined ? { context: node.context } : {}),
|
|
27
23
|
body: section ?? node.body,
|
|
28
24
|
...(section === null
|
|
29
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,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,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,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { type GhostMaterial } from "#ghost-core";
|
|
2
2
|
import type { LoadedGhostPackage } from "../scan/fingerprint-package.js";
|
|
3
3
|
import { type BaselineProse } from "./baseline.js";
|
|
4
|
-
import { type ProbeEvidence } from "./probes.js";
|
|
5
4
|
import type { CoverageGap } from "./resolve.js";
|
|
6
|
-
export type { BaselineProse
|
|
5
|
+
export type { BaselineProse };
|
|
7
6
|
export interface PacketMaterialNode {
|
|
8
7
|
id: string;
|
|
9
8
|
kind?: string;
|
|
10
|
-
|
|
9
|
+
context?: string;
|
|
11
10
|
prose: string;
|
|
12
11
|
materials: GhostMaterial[];
|
|
13
12
|
matchedMaterials: string[];
|
|
@@ -20,7 +19,6 @@ export interface PacketCheck {
|
|
|
20
19
|
via: string[];
|
|
21
20
|
prose: string;
|
|
22
21
|
baseline: BaselineProse[];
|
|
23
|
-
probe?: ProbeEvidence;
|
|
24
22
|
}
|
|
25
23
|
export interface ReviewPacket {
|
|
26
24
|
packageId: string;
|
|
@@ -35,9 +33,7 @@ export interface ReviewPacket {
|
|
|
35
33
|
export interface BuildReviewPacketOptions {
|
|
36
34
|
/** Absolute path of the ghost package directory (default: cwd/.ghost). */
|
|
37
35
|
packageDir?: string;
|
|
38
|
-
runProbes?: boolean;
|
|
39
36
|
cwd?: string;
|
|
40
|
-
probeTimeoutMs?: number;
|
|
41
37
|
}
|
|
42
38
|
export declare function buildReviewPacket(ghostPackage: LoadedGhostPackage, diffText: string, options?: BuildReviewPacketOptions): Promise<ReviewPacket>;
|
|
43
39
|
export declare function formatReviewPacket(packet: ReviewPacket): string;
|
|
@@ -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;AAEzE,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,eAAe,CAAC;AACpE,OAAO,
|
|
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;AAEzE,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,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,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;CACd;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,CAyCvB;AAkBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAoF/D"}
|
|
@@ -3,7 +3,6 @@ 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
5
|
import { resolveBaseline } from "./baseline.js";
|
|
6
|
-
import { runProbe } from "./probes.js";
|
|
7
6
|
import { resolveReview } from "./resolve.js";
|
|
8
7
|
export async function buildReviewPacket(ghostPackage, diffText, options = {}) {
|
|
9
8
|
const cwd = options.cwd ?? process.cwd();
|
|
@@ -13,15 +12,8 @@ export async function buildReviewPacket(ghostPackage, diffText, options = {}) {
|
|
|
13
12
|
materialsDir: GHOST_MATERIALS_DIR,
|
|
14
13
|
});
|
|
15
14
|
const materialNodes = resolution.materialNodes.map((matched) => materialNodeFromMatch(ghostPackage, matched));
|
|
16
|
-
const checks =
|
|
15
|
+
const checks = resolution.offeredChecks.map((offered) => {
|
|
17
16
|
const check = ghostPackage.checks.get(offered.id);
|
|
18
|
-
const probeCommand = check?.doc.frontmatter.probe;
|
|
19
|
-
const probe = options.runProbes !== false && probeCommand !== undefined
|
|
20
|
-
? await runProbe(probeCommand, {
|
|
21
|
-
cwd: options.cwd ?? process.cwd(),
|
|
22
|
-
timeoutMs: options.probeTimeoutMs,
|
|
23
|
-
})
|
|
24
|
-
: undefined;
|
|
25
17
|
return {
|
|
26
18
|
id: offered.id,
|
|
27
19
|
severity: offered.severity,
|
|
@@ -31,9 +23,8 @@ export async function buildReviewPacket(ghostPackage, diffText, options = {}) {
|
|
|
31
23
|
baseline: check?.references
|
|
32
24
|
.map((ref) => resolveBaseline(ref, ghostPackage.catalog))
|
|
33
25
|
.filter((ref) => ref !== null) ?? [],
|
|
34
|
-
...(probe ? { probe } : {}),
|
|
35
26
|
};
|
|
36
|
-
})
|
|
27
|
+
});
|
|
37
28
|
return {
|
|
38
29
|
packageId: ghostPackage.manifest.id,
|
|
39
30
|
fingerprintId: ghostPackage.manifest.id,
|
|
@@ -49,9 +40,7 @@ function materialNodeFromMatch(ghostPackage, matched) {
|
|
|
49
40
|
return {
|
|
50
41
|
id: node.id,
|
|
51
42
|
...(node.kind !== undefined ? { kind: node.kind } : {}),
|
|
52
|
-
...(node.
|
|
53
|
-
? { description: node.description }
|
|
54
|
-
: {}),
|
|
43
|
+
...(node.context !== undefined ? { context: node.context } : {}),
|
|
55
44
|
prose: node.body,
|
|
56
45
|
materials: node.materials ?? [],
|
|
57
46
|
matchedMaterials: matched.locators,
|
|
@@ -61,7 +50,7 @@ function materialNodeFromMatch(ghostPackage, matched) {
|
|
|
61
50
|
export function formatReviewPacket(packet) {
|
|
62
51
|
const out = [];
|
|
63
52
|
out.push(`# ghost review — package \`${packet.packageId}\``, "");
|
|
64
|
-
out.push("You are reviewing a diff against ghost package guidance. The command has", "assembled the touched files, matched material-backed nodes, offered", "checks
|
|
53
|
+
out.push("You are reviewing a diff against ghost package guidance. The command has", "assembled the touched files, matched material-backed nodes, and offered", "checks. Weigh which checks apply. Do not invent obligations that are not grounded", "in the ghost package guidance or check text.", "");
|
|
65
54
|
if (packet.touchedFiles.length > 0) {
|
|
66
55
|
out.push("## Touched files");
|
|
67
56
|
for (const file of packet.touchedFiles)
|
|
@@ -73,8 +62,8 @@ export function formatReviewPacket(packet) {
|
|
|
73
62
|
for (const node of packet.materialNodes) {
|
|
74
63
|
const kind = node.kind ? ` _(${node.kind})_` : "";
|
|
75
64
|
out.push(`### \`${node.id}\`${kind}`);
|
|
76
|
-
if (node.
|
|
77
|
-
out.push(`_${node.
|
|
65
|
+
if (node.context)
|
|
66
|
+
out.push(`_${node.context}_`, "");
|
|
78
67
|
out.push(node.prose, "");
|
|
79
68
|
out.push("Matched materials:");
|
|
80
69
|
for (const locator of node.matchedMaterials) {
|
|
@@ -110,9 +99,6 @@ export function formatReviewPacket(packet) {
|
|
|
110
99
|
}
|
|
111
100
|
out.push("");
|
|
112
101
|
}
|
|
113
|
-
if (check.probe) {
|
|
114
|
-
out.push("Probe evidence (shell run by ghost; evidence only, not a pass/fail verdict):", `- command: \`${check.probe.command}\``, `- exit code: ${check.probe.exitCode ?? "unknown"}${check.probe.timedOut ? " (timed out)" : ""}`, "- stdout:", "```", check.probe.stdout.trimEnd(), "```", "- stderr:", "```", check.probe.stderr.trimEnd(), "```", "");
|
|
115
|
-
}
|
|
116
102
|
out.push(check.prose, "");
|
|
117
103
|
}
|
|
118
104
|
}
|
|
@@ -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;
|
|
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;AAkRD,0CAA0C;AAC1C,eAAO,MAAM,sBAAsB,yBAAmB,CAAC"}
|