@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.
Files changed (123) hide show
  1. package/dist/commands/gather-command.js +5 -5
  2. package/dist/commands/gather-command.js.map +1 -1
  3. package/dist/commands/pull-command.js +5 -3
  4. package/dist/commands/pull-command.js.map +1 -1
  5. package/dist/commands/review-command.d.ts.map +1 -1
  6. package/dist/commands/review-command.js +0 -2
  7. package/dist/commands/review-command.js.map +1 -1
  8. package/dist/embed/gather.d.ts.map +1 -1
  9. package/dist/embed/gather.js +4 -2
  10. package/dist/embed/gather.js.map +1 -1
  11. package/dist/embed/inspect.d.ts.map +1 -1
  12. package/dist/embed/inspect.js +21 -28
  13. package/dist/embed/inspect.js.map +1 -1
  14. package/dist/embed/pull.d.ts.map +1 -1
  15. package/dist/embed/pull.js +32 -1
  16. package/dist/embed/pull.js.map +1 -1
  17. package/dist/embed/types.d.ts +4 -0
  18. package/dist/embed/types.d.ts.map +1 -1
  19. package/dist/ghost-core/catalog/assemble.d.ts.map +1 -1
  20. package/dist/ghost-core/catalog/assemble.js +5 -1
  21. package/dist/ghost-core/catalog/assemble.js.map +1 -1
  22. package/dist/ghost-core/catalog/closest.d.ts +1 -1
  23. package/dist/ghost-core/catalog/closest.js +1 -1
  24. package/dist/ghost-core/catalog/menu.d.ts +8 -6
  25. package/dist/ghost-core/catalog/menu.d.ts.map +1 -1
  26. package/dist/ghost-core/catalog/menu.js +5 -3
  27. package/dist/ghost-core/catalog/menu.js.map +1 -1
  28. package/dist/ghost-core/catalog/types.d.ts +5 -1
  29. package/dist/ghost-core/catalog/types.d.ts.map +1 -1
  30. package/dist/ghost-core/check/lint.d.ts.map +1 -1
  31. package/dist/ghost-core/check/lint.js +0 -10
  32. package/dist/ghost-core/check/lint.js.map +1 -1
  33. package/dist/ghost-core/check/load.d.ts.map +1 -1
  34. package/dist/ghost-core/check/load.js +0 -2
  35. package/dist/ghost-core/check/load.js.map +1 -1
  36. package/dist/ghost-core/check/types.d.ts +0 -2
  37. package/dist/ghost-core/check/types.d.ts.map +1 -1
  38. package/dist/ghost-core/index.d.ts +1 -2
  39. package/dist/ghost-core/index.d.ts.map +1 -1
  40. package/dist/ghost-core/index.js +1 -3
  41. package/dist/ghost-core/index.js.map +1 -1
  42. package/dist/ghost-core/material-transport.d.ts +4 -8
  43. package/dist/ghost-core/material-transport.d.ts.map +1 -1
  44. package/dist/ghost-core/material-transport.js +39 -91
  45. package/dist/ghost-core/material-transport.js.map +1 -1
  46. package/dist/ghost-core/materials.d.ts +1 -1
  47. package/dist/ghost-core/materials.d.ts.map +1 -1
  48. package/dist/ghost-core/materials.js +4 -1
  49. package/dist/ghost-core/materials.js.map +1 -1
  50. package/dist/ghost-core/node/schema.d.ts +3 -1
  51. package/dist/ghost-core/node/schema.d.ts.map +1 -1
  52. package/dist/ghost-core/node/schema.js +4 -2
  53. package/dist/ghost-core/node/schema.js.map +1 -1
  54. package/dist/ghost-core/node/serialize.d.ts +7 -5
  55. package/dist/ghost-core/node/serialize.d.ts.map +1 -1
  56. package/dist/ghost-core/node/serialize.js +18 -9
  57. package/dist/ghost-core/node/serialize.js.map +1 -1
  58. package/dist/ghost-core/node/types.d.ts +9 -6
  59. package/dist/ghost-core/node/types.d.ts.map +1 -1
  60. package/dist/init-payloads/median/cliche.median.md +1 -1
  61. package/dist/init-payloads/skeleton/brand.md +1 -1
  62. package/dist/init-payloads/skeleton/context.conversation.md +1 -1
  63. package/dist/init-payloads/skeleton/foundation.color.md +1 -1
  64. package/dist/init-payloads/skeleton/foundation.composition.md +1 -1
  65. package/dist/init-payloads/skeleton/foundation.controls.md +1 -1
  66. package/dist/init-payloads/skeleton/foundation.layout.md +1 -1
  67. package/dist/init-payloads/skeleton/foundation.motion.md +1 -1
  68. package/dist/init-payloads/skeleton/foundation.type.md +1 -1
  69. package/dist/init-payloads/skeleton/foundation.voice.md +1 -1
  70. package/dist/init-payloads/vessel-light/anti-goal.median.md +1 -1
  71. package/dist/init-payloads/vessel-light/anti-goal.tells.md +1 -1
  72. package/dist/init-payloads/vessel-light/grammar.color-roles.md +1 -3
  73. package/dist/init-payloads/vessel-light/grammar.conversation.md +1 -2
  74. package/dist/init-payloads/vessel-light/grammar.deletion.md +1 -1
  75. package/dist/init-payloads/vessel-light/grammar.hierarchy.md +1 -3
  76. package/dist/init-payloads/vessel-light/grammar.job.md +1 -1
  77. package/dist/init-payloads/vessel-light/grammar.motion.md +1 -3
  78. package/dist/init-payloads/vessel-light/grammar.rhythm.md +1 -3
  79. package/dist/init-payloads/vessel-light/grammar.surfaces.md +1 -3
  80. package/dist/init-payloads/vessel-light/index.md +1 -1
  81. package/dist/init-payloads/vessel-light/register.data-density.md +1 -1
  82. package/dist/init-payloads/vessel-light/register.editorial.md +1 -1
  83. package/dist/init-payloads/vessel-light/register.email.md +1 -1
  84. package/dist/init-payloads/vessel-light/signature.palette.md +1 -1
  85. package/dist/init-payloads/vessel-light/signature.shape.md +1 -1
  86. package/dist/init-payloads/vessel-light/signature.temperature.md +1 -1
  87. package/dist/init-payloads/vessel-light/signature.type.md +8 -2
  88. package/dist/review/baseline.d.ts +1 -1
  89. package/dist/review/baseline.d.ts.map +1 -1
  90. package/dist/review/baseline.js +2 -6
  91. package/dist/review/baseline.js.map +1 -1
  92. package/dist/review/review-packet.d.ts +2 -6
  93. package/dist/review/review-packet.d.ts.map +1 -1
  94. package/dist/review/review-packet.js +6 -20
  95. package/dist/review/review-packet.js.map +1 -1
  96. package/dist/scan/fingerprint-package-lint.d.ts.map +1 -1
  97. package/dist/scan/fingerprint-package-lint.js +20 -15
  98. package/dist/scan/fingerprint-package-lint.js.map +1 -1
  99. package/dist/skill-bundle/SKILL.md +10 -11
  100. package/dist/skill-bundle/references/adapting-a-starter.md +8 -2
  101. package/dist/skill-bundle/references/authoring-scenarios.md +1 -1
  102. package/dist/skill-bundle/references/blocks.md +10 -10
  103. package/dist/skill-bundle/references/brief.md +1 -1
  104. package/dist/skill-bundle/references/capture.md +23 -20
  105. package/dist/skill-bundle/references/distill.md +1 -1
  106. package/dist/skill-bundle/references/making.md +7 -7
  107. package/dist/skill-bundle/references/recall.md +1 -1
  108. package/dist/skill-bundle/references/schema.md +21 -20
  109. package/dist/skill-bundle/references/self-check.md +2 -2
  110. package/dist/skill-bundle/references/steering-audit.md +3 -3
  111. package/package.json +1 -1
  112. package/dist/ghost-core/glob.d.ts +0 -5
  113. package/dist/ghost-core/glob.d.ts.map +0 -1
  114. package/dist/ghost-core/glob.js +0 -68
  115. package/dist/ghost-core/glob.js.map +0 -1
  116. package/dist/review/glob.d.ts +0 -2
  117. package/dist/review/glob.d.ts.map +0 -1
  118. package/dist/review/glob.js +0 -2
  119. package/dist/review/glob.js.map +0 -1
  120. package/dist/review/probes.d.ts +0 -13
  121. package/dist/review/probes.d.ts.map +0 -1
  122. package/dist/review/probes.js +0 -45
  123. 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 = ["description", "materials"];
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 (description, materials), followed
9
- * by any free-form descriptive keys in alphabetical order so round-trips and
10
- * diffs are deterministic. Identity and kind are not serialized — they come
11
- * from the node's file path and optional filename prefix. Undefined fields are
12
- * omitted; a node with no frontmatter fields emits an empty block.
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 = fm[key];
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(fm).sort()) {
34
+ for (const key of Object.keys(normalized).sort()) {
26
35
  if (emitted.has(key))
27
36
  continue;
28
- const value = fm[key];
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,aAAa,EAAE,WAAW,CAAU,CAAC;AAEpE,SAAS,+BAA+B,CAAC,KAAc;IACrD,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAuB;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAsC,CAAC;IACvD,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,EAAE,CAAC,GAAG,CAAC,CAAC;QACtB,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,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACtB,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"}
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: what the node governs, the observable
14
- * condition under which it applies, and what it contributes where useful.
15
- * Together with the node's id, it is how an agent decides applicability.
16
- * Optional, but strongly encouraged on any node worth anchoring a task at.
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/globs and supported external locators. A locator
22
- * may be a bare string or an object with a short retrieval note. Guidance stays in
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;;;;;OAKG;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
+ {"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
- description: "The model's median defaults this package refuses — gather for any greenfield visual surface or first-draft copy. Each rule is reject→replace; delete lines your brand legitimately violates."
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
- description: "The brand on one page; what this brand is, how it feels, and what only it refuses."
2
+ context: Any task that should express this brand.
3
3
  ---
4
4
 
5
5
  This cover is unwritten. ghost gather always places this page in an agent's
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "AI conversation threads — assistant text on the page surface, compact user turns, collapsed tool calls, one structured prompt input. Read only for chat threads, agent consoles, and prompt composers."
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
- description: "Color the role system, status meanings, expression rules, and misuse; palette values are an open question. Read before choosing any color."
2
+ context: Choosing or applying color.
3
3
  ---
4
4
 
5
5
  ## Usage
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Composition — how a view is assembled: one focal point, one primary action, actions land last, separation escalates. Read before assembling any view."
2
+ context: Assembling any view.
3
3
  ---
4
4
 
5
5
  ## Usage
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Controls — the five-rung emphasis ladder, quiet fields, and misuse. Read for any view with actions or inputs."
2
+ context: Any view with actions or inputs.
3
3
  ---
4
4
 
5
5
  ## Usage
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Layout stacks with five gap steps, surface roles, three elevation tiers, the two radius roles, and misuse; radius values are an open question. Read before laying anything out."
2
+ context: Laying out any view.
3
3
  ---
4
4
 
5
5
  ## Usage
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Motion — evidence of state change, three durations and one ease, nothing loops, and misuse; the ease's character is an open question shared with voice. Read for any transition or hover treatment."
2
+ context: Any transition, animation, or hover treatment.
3
3
  ---
4
4
 
5
5
  ## Usage
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Type — six text variants, seven tones, the one-voice rule, and misuse; the typeface is an open question. Read for any view that contains text."
2
+ context: Any view containing text.
3
3
  ---
4
4
 
5
5
  ## Usage
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Voice and tone — copy states facts, no performed personality, and misuse; warmth is an open question shared with motion. Read for any copy."
2
+ context: Writing or editing any copy.
3
3
  ---
4
4
 
5
5
  ## Usage
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "The model's median defaults this ghost package refuses — gather for any greenfield visual surface or first-draft copy. Each rule is reject→replace; delete lines your brand legitimately violates."
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
- description: "Failure modes specific to this brand's own signature — gather alongside any signature node you pull."
2
+ context: Any work applying this brand's signature.
3
3
  ---
4
4
 
5
5
  These are the near-misses of Vessel's own signature: outputs that got close
@@ -1,9 +1,7 @@
1
1
  ---
2
- description: "Semantic color roles and the rules that govern them — gather before choosing any color; roles not raw values, status is meaning, expression is register-gated and never on controls."
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
- description: "Conversation grammar — plain assistant text, compact user surfaces, collapsed tool calls, one structured prompt input; gather for any AI thread, agent console, review assistant, or prompt composer."
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
- description: "The deletion pass — every element must name what breaks if it goes; the fix for a crowded view is always demotion or deletion, never more emphasis; surfaces arrive settled, with no skeleton theater. Gather as the final pass over any composition, and whenever a view feels crowded, busy, or dressed up."
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
- description: "The closed hierarchy vocabulary — six text variants, seven tones, a five-rung control emphasis ladder, one primary per view gather for any view that contains text or actions."
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
- description: "The routing rule — name the reader's job before composing anything; the job picks the ref to imitate and the register that applies, never the topic. Gather first for any new view, before structure exists."
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
- description: "Motion doctrine — motion is evidence of state change, never decoration; a closed vocabulary of three duration roles and one ease; gather for any transition, animation, or hover treatment."
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
- description: "Layout rhythm — all layout is stacks with a closed gap step set; gather before laying anything out; never ad-hoc sibling margins."
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
- description: "Surface roles and the closed elevation set — gather for any card, popover, modal, dialog, scrim, or bordered container; flat is the default, borders are structural, exactly three elevation tiers."
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
- description: "Always read first: Vessel's design language as a raw HTML/CSS steering packet for agents."
2
+ context: Any task using the complete Vessel design language.
3
3
  materials:
4
4
  - materials/tokens.css
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Data-dense consoles — gather for tables, dashboards, logs, and monitoring; compresses product rhythm to the two smallest gap steps, mono numerals, muted-first."
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
- description: "Editorial and landing surfaces — gather for heroes, marketing pages, pull quotes, and full-bleed dark moments; inverts product type restraint."
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
- description: "Transactional email — gather ONLY for email; inverts the token contract: inline styles, hardcoded hex transcribed from tokens.css, table layout, system fonts."
2
+ context: Transactional email only.
3
3
  materials:
4
4
  - materials/ref/email.html
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Gather whenever color beyond the base roles is in question, in any register. The palette dial: a monochrome spine plus a closed expression set whose volume rises with the register — this brand's current answer is gray plus five named hues."
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
- description: "Gather before setting any radius or corner treatment. The shape dial: controls take --radius-control, surfaces take --radius-surface — this brand's current answer is pills on controls and a 20px signature radius on surfaces."
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
- description: "Gather for any copy and for motion character. The temperature dial: how the brand sounds and how it moves — this brand's current answer is factual, quiet, never celebratory, with resolved spring motion."
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
- description: "Gather for any text, and for heroes, landing pages, and editorial moments. The type dial: one voice typeface plus a mono for machine detail, with an editorial heading scale kept separate from product text — this brand's current answer is HK Grotesk."
2
+ context: Any text, hero, landing page, or editorial moment.
3
3
  materials:
4
4
  - materials/tokens.css
5
- - materials/fonts/*.woff2
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.
@@ -3,7 +3,7 @@ export interface BaselineProse {
3
3
  ref: string;
4
4
  nodeId: string;
5
5
  heading?: string;
6
- description?: string;
6
+ context?: string;
7
7
  body: string;
8
8
  warning?: string;
9
9
  }
@@ -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,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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,CA8BtB"}
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"}
@@ -10,9 +10,7 @@ export function resolveBaseline(raw, catalog) {
10
10
  return {
11
11
  ref: raw,
12
12
  nodeId: ref.nodeId,
13
- ...(node.description !== undefined
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.description !== undefined
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,WAAW,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACnC,CAAC,CAAC,EAAE,CAAC;YACP,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,WAAW,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,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
+ {"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, ProbeEvidence };
5
+ export type { BaselineProse };
7
6
  export interface PacketMaterialNode {
8
7
  id: string;
9
8
  kind?: string;
10
- description?: string;
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,EAAE,KAAK,aAAa,EAAY,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;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,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,kBAAkB,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,YAAY,CAAC,CAoDvB;AAoBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAsG/D"}
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 = await Promise.all(resolution.offeredChecks.map(async (offered) => {
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.description !== undefined
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, and optional probe evidence. Probes are repo-owned shell commands", "with the same trust class as npm scripts; git review is the boundary.", "Weigh which checks apply. Do not invent obligations that are not grounded", "in the ghost package guidance or check text.", "");
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.description)
77
- out.push(`_${node.description}_`, "");
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":"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"}
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;AAgRD,0CAA0C;AAC1C,eAAO,MAAM,sBAAsB,yBAAmB,CAAC"}
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"}