From b66d16c3f1bc323ba9bfb731b1b154877ecc7a80 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Jul 2026 18:56:00 +0000 Subject: [PATCH] chore: version packages --- .changeset/authoring-is-elicitation.md | 5 - .changeset/binding-path-road.md | 8 - .changeset/capture-node-prose-stances.md | 5 - .changeset/checks-review-on-graph.md | 5 - .../collapse-containment-into-folder.md | 5 - ...apse-graph-remove-checks-review-migrate.md | 5 - .changeset/composition-graph-gaps.md | 5 - .changeset/composition-init-template.md | 5 - .changeset/consumption-posture.md | 5 - .changeset/corridor-gather.md | 14 - .changeset/cross-package-extends.md | 5 - .changeset/delete-dormant-entrypoint.md | 5 - .changeset/described-nodes.md | 5 - .changeset/directory-tree-nodes.md | 18 -- .changeset/docs-check-binding.md | 9 - .changeset/docs-node-model-refresh.md | 6 - .changeset/drop-dead-deps.md | 5 - .changeset/events-tape-first-write-notice.md | 5 - .changeset/exit-code-contract.md | 8 - .changeset/export-source-ref-parser.md | 5 - .changeset/external-contract-references.md | 9 - .changeset/facet-removal.md | 5 - .changeset/fingerprint-grounding.md | 9 - .changeset/first-node-onramp.md | 5 - .changeset/gather-command.md | 7 - .changeset/gather-kind-legend.md | 5 - .changeset/gather-on-graph-incarnation.md | 5 - .../gather-ranking-and-surface-guard.md | 10 - .changeset/gather-vocab.md | 9 - .changeset/ghost-check-format.md | 9 - .changeset/ghost-local-pulse.md | 5 - .changeset/goose-skill-install-target.md | 5 - .changeset/inventory-lens-reference.md | 5 - .changeset/materials-transport.md | 5 - .changeset/migrate-command.md | 8 - .changeset/node-authoring.md | 5 - .../one-road-remove-binding-and-nesting.md | 5 - .changeset/pull-command.md | 5 - .changeset/quiet-owls-export.md | 5 - .changeset/readme-flat-model.md | 5 - .changeset/remove-compare-drift-fleet.md | 5 - .changeset/remove-extends.md | 10 - .changeset/remove-haunt-terminology.md | 5 - .changeset/remove-incarnation.md | 9 - .../remove-relay-and-legacy-commands.md | 9 - .changeset/remove-scan-signals-inventory.md | 5 - .../remove-validate-one-check-format.md | 9 - .changeset/rename-graph-to-catalog.md | 5 - .../rename-scope-decentralized-design.md | 5 - .../rename-scope-design-intelligence.md | 5 - .changeset/rename-to-ghost-fingerprint.md | 13 - .changeset/retire-haunt-materials-review.md | 5 - .changeset/retire-lens-vocabulary.md | 5 - .changeset/retire-merge.md | 10 - .changeset/review-on-surfaces.md | 10 - .changeset/scope-manifesto.md | 5 - .changeset/shared-cli-manifest-builder.md | 5 - .changeset/skill-bundle-prose.md | 6 - .changeset/skill-encoding-guidance.md | 5 - .changeset/skill-verb-first.md | 5 - .changeset/steering-default-template.md | 5 - .changeset/steering-physics-packet.md | 5 - .changeset/steering-template.md | 5 - .changeset/surface-coordinate-space.md | 8 - .changeset/surface-routed-checks.md | 10 - .changeset/teach-terms-by-example.md | 5 - .changeset/thesis-steering-packet.md | 5 - .../validate-help-describes-current-checks.md | 5 - .changeset/validate-surfaces-invalid-nodes.md | 5 - packages/ghost/CHANGELOG.md | 247 ++++++++++++++++++ packages/ghost/package.json | 2 +- 71 files changed, 248 insertions(+), 449 deletions(-) delete mode 100644 .changeset/authoring-is-elicitation.md delete mode 100644 .changeset/binding-path-road.md delete mode 100644 .changeset/capture-node-prose-stances.md delete mode 100644 .changeset/checks-review-on-graph.md delete mode 100644 .changeset/collapse-containment-into-folder.md delete mode 100644 .changeset/collapse-graph-remove-checks-review-migrate.md delete mode 100644 .changeset/composition-graph-gaps.md delete mode 100644 .changeset/composition-init-template.md delete mode 100644 .changeset/consumption-posture.md delete mode 100644 .changeset/corridor-gather.md delete mode 100644 .changeset/cross-package-extends.md delete mode 100644 .changeset/delete-dormant-entrypoint.md delete mode 100644 .changeset/described-nodes.md delete mode 100644 .changeset/directory-tree-nodes.md delete mode 100644 .changeset/docs-check-binding.md delete mode 100644 .changeset/docs-node-model-refresh.md delete mode 100644 .changeset/drop-dead-deps.md delete mode 100644 .changeset/events-tape-first-write-notice.md delete mode 100644 .changeset/exit-code-contract.md delete mode 100644 .changeset/export-source-ref-parser.md delete mode 100644 .changeset/external-contract-references.md delete mode 100644 .changeset/facet-removal.md delete mode 100644 .changeset/fingerprint-grounding.md delete mode 100644 .changeset/first-node-onramp.md delete mode 100644 .changeset/gather-command.md delete mode 100644 .changeset/gather-kind-legend.md delete mode 100644 .changeset/gather-on-graph-incarnation.md delete mode 100644 .changeset/gather-ranking-and-surface-guard.md delete mode 100644 .changeset/gather-vocab.md delete mode 100644 .changeset/ghost-check-format.md delete mode 100644 .changeset/ghost-local-pulse.md delete mode 100644 .changeset/goose-skill-install-target.md delete mode 100644 .changeset/inventory-lens-reference.md delete mode 100644 .changeset/materials-transport.md delete mode 100644 .changeset/migrate-command.md delete mode 100644 .changeset/node-authoring.md delete mode 100644 .changeset/one-road-remove-binding-and-nesting.md delete mode 100644 .changeset/pull-command.md delete mode 100644 .changeset/quiet-owls-export.md delete mode 100644 .changeset/readme-flat-model.md delete mode 100644 .changeset/remove-compare-drift-fleet.md delete mode 100644 .changeset/remove-extends.md delete mode 100644 .changeset/remove-haunt-terminology.md delete mode 100644 .changeset/remove-incarnation.md delete mode 100644 .changeset/remove-relay-and-legacy-commands.md delete mode 100644 .changeset/remove-scan-signals-inventory.md delete mode 100644 .changeset/remove-validate-one-check-format.md delete mode 100644 .changeset/rename-graph-to-catalog.md delete mode 100644 .changeset/rename-scope-decentralized-design.md delete mode 100644 .changeset/rename-scope-design-intelligence.md delete mode 100644 .changeset/rename-to-ghost-fingerprint.md delete mode 100644 .changeset/retire-haunt-materials-review.md delete mode 100644 .changeset/retire-lens-vocabulary.md delete mode 100644 .changeset/retire-merge.md delete mode 100644 .changeset/review-on-surfaces.md delete mode 100644 .changeset/scope-manifesto.md delete mode 100644 .changeset/shared-cli-manifest-builder.md delete mode 100644 .changeset/skill-bundle-prose.md delete mode 100644 .changeset/skill-encoding-guidance.md delete mode 100644 .changeset/skill-verb-first.md delete mode 100644 .changeset/steering-default-template.md delete mode 100644 .changeset/steering-physics-packet.md delete mode 100644 .changeset/steering-template.md delete mode 100644 .changeset/surface-coordinate-space.md delete mode 100644 .changeset/surface-routed-checks.md delete mode 100644 .changeset/teach-terms-by-example.md delete mode 100644 .changeset/thesis-steering-packet.md delete mode 100644 .changeset/validate-help-describes-current-checks.md delete mode 100644 .changeset/validate-surfaces-invalid-nodes.md diff --git a/.changeset/authoring-is-elicitation.md b/.changeset/authoring-is-elicitation.md deleted file mode 100644 index 0740a513..00000000 --- a/.changeset/authoring-is-elicitation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Reframe fingerprint authoring as elicitation in the skill bundle and docs: remove the repo-scan-first auto-draft mode, rebuild the authoring scenarios around what the human says and shows, and point repo-derived reality at the adherence inventory. diff --git a/.changeset/binding-path-road.md b/.changeset/binding-path-road.md deleted file mode 100644 index 29afd4e5..00000000 --- a/.changeset/binding-path-road.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add `ghost.binding/v1` (`.ghost.bind.yml`) and the path road: a repo path -resolves to the surface that owns it (directory-default binding or explicit -declaration), and `ghost gather --path ` composes that surface's slice. -The contract still carries no paths — bindings own all path matching. diff --git a/.changeset/capture-node-prose-stances.md b/.changeset/capture-node-prose-stances.md deleted file mode 100644 index 03a546bb..00000000 --- a/.changeset/capture-node-prose-stances.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Add node prose stances and a scored drafting gate to the capture recipe so authoring agents hold draft nodes to anti-slop standards before human curation. diff --git a/.changeset/checks-review-on-graph.md b/.changeset/checks-review-on-graph.md deleted file mode 100644 index 2bcdb945..00000000 --- a/.changeset/checks-review-on-graph.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -`ghost checks` and `ghost review` now route by catalog references and ground from the selected prose packet: grounding is the surface's gathered nodes by provenance (own / ancestor / edge), replacing the typed why/what (principles, contracts, patterns, exemplars) split — the why and what now live in each node's prose. `ghost checks` gains `--as ` to filter grounding to one output form. Exemplar `path:` is dropped from grounding. diff --git a/.changeset/collapse-containment-into-folder.md b/.changeset/collapse-containment-into-folder.md deleted file mode 100644 index c4dd9b12..00000000 --- a/.changeset/collapse-containment-into-folder.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Remove redundant containment bookkeeping in favor of path-derived ids: parent and ancestor facts are derived from node paths, and the redundant parent/children maps are removed. diff --git a/.changeset/collapse-graph-remove-checks-review-migrate.md b/.changeset/collapse-graph-remove-checks-review-migrate.md deleted file mode 100644 index 9a62b325..00000000 --- a/.changeset/collapse-graph-remove-checks-review-migrate.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Reduce the fingerprint collection to a flat catalog: remove the `checks`, `review`, and `migrate` commands, drop node `relates` edges and traversal, and reduce `gather` to emitting the menu the agent selects from. diff --git a/.changeset/composition-graph-gaps.md b/.changeset/composition-graph-gaps.md deleted file mode 100644 index b669a9fd..00000000 --- a/.changeset/composition-graph-gaps.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Remove check surface routing: every check is now offered to the reviewer and the agent judges relevance, so the check `surface:` field, `selectChecksForSurfaces`, `RoutedCheck`, and `CheckRelevance` are gone. Checks bind to the fingerprint through an optional `source:` pointer (`node > Heading`) that `review` surfaces so a finding can cite the prose it enforces. diff --git a/.changeset/composition-init-template.md b/.changeset/composition-init-template.md deleted file mode 100644 index aee966b5..00000000 --- a/.changeset/composition-init-template.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -`ghost init --template composition` scaffolds a composition-steering starter: the default files plus an invariants floor (`principle.composition`), a worked bound/open/refines pattern node, a glossary whose `pattern` and `principle` kinds carry the binding-depth convention, and an index that teaches the ladder — patterns when they match, principles as the floor when they don't, narrowing-only between them. diff --git a/.changeset/consumption-posture.md b/.changeset/consumption-posture.md deleted file mode 100644 index 083aa77d..00000000 --- a/.changeset/consumption-posture.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Adds opt-in wild consumption posture for glossary kinds and gather/pull/pulse observability. diff --git a/.changeset/corridor-gather.md b/.changeset/corridor-gather.md deleted file mode 100644 index 5c7baf48..00000000 --- a/.changeset/corridor-gather.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Recompose `gather` on a corridor + hub-and-spoke model and fix a sibling-surface -context leak. A surface's slice is now: a **spine** of full-body nodes from every -file on the corridor (the package root down to the surface's own folder — folders -are walls, so sibling folders never leak in), the **edges** reachable in one hop -from any spine node's `relates` (so a broad rule authored once high in the tree — -e.g. `relates: { to: arcade }` on `features/` — reaches every descendant), and a -set of **spokes**: pointer entries (id + description) for the surface's own -descendants and any edge hub's subtree, which the agent pulls on demand. The -`CatalogSlice` JSON gains a `spokes` array; catalog nodes carry their file `folder`. -Grounding for `checks`/`review` remains the full-body spine + edges. diff --git a/.changeset/cross-package-extends.md b/.changeset/cross-package-extends.md deleted file mode 100644 index 197850b5..00000000 --- a/.changeset/cross-package-extends.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add cross-package inheritance via `extends`. A package's `manifest.yml` can declare `extends: { : }`, mapping another contract's identity to where it lives. Node refs then reference inherited context by identity, never path — `relates: [{ to: brand:core/trust }]` (the `:` form replaces the earlier npm-style `#` ref grammar). Inherited nodes load read-only and flow into gather and validate like local ones. `ghost validate` resolves cross-package refs and reports unresolved refs, packages not declared in `extends`, identity mismatches, and cross-package cycles. This delivers the shared-brand story: one brand contract extended by many products, without copy-paste or merge. One level of `extends` in v1 (no transitive); location is an explicit relative dir (identity-based discovery is a future upgrade that keeps refs unchanged). diff --git a/.changeset/delete-dormant-entrypoint.md b/.changeset/delete-dormant-entrypoint.md deleted file mode 100644 index 067bb99b..00000000 --- a/.changeset/delete-dormant-entrypoint.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Remove the dormant context-selection machinery (`buildContextEntrypoint`, `buildSelectedContext`, and selection-reasons) that was inert since the coordinate removal and orphaned once `review` moved onto the surface rails. Internal cleanup; no public surface change. diff --git a/.changeset/described-nodes.md b/.changeset/described-nodes.md deleted file mode 100644 index 6208e719..00000000 --- a/.changeset/described-nodes.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Make `description` a first-class node field — the retrieval payload an agent matches a task against, the way a tool is selected by name + description. `ghost gather` with no argument now lists nodes by id + description (the catalog), built from the catalog rather than a separate surface menu. Node frontmatter is now passthrough: free-form descriptive keys (`audience`, `stage`, …) are allowed and ride along untouched. The surface composition-edge vocabulary (`composes`/`governed-by`) is removed — lateral composition lives on node `relates`. diff --git a/.changeset/directory-tree-nodes.md b/.changeset/directory-tree-nodes.md deleted file mode 100644 index b5263da1..00000000 --- a/.changeset/directory-tree-nodes.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Collapse the on-disk node model into the directory tree: the layout supplies the -catalog. A node's id is its file path (`marketing/email.md` → `marketing/email`) -and its parent is its containing directory; a surface is just a directory, and a -directory's own prose lives in its `index.md` (the package-root `index.md` is -the implicit `core` node). The `surfaces.yml` spine file and the `nodes/` -directory are removed, along with the node frontmatter `id` and `under` fields — -identity and containment now come from where a file sits, never from frontmatter -or a declared spine. Node frontmatter carries descriptive properties only -(`description`, `relates`, `incarnation`, plus passthrough keys); `relates` and -cross-package `extends` refs are path ids (`core/trust`, `brand:core/trust`). -`ghost init` scaffolds `manifest.yml` + a core `index.md`; `ghost migrate` -writes a directory tree; any `*.md` outside the reserved `checks/` subtree lints -as a node. Moving a node is a rename — `ghost validate` reports `relates` that no -longer resolve. diff --git a/.changeset/docs-check-binding.md b/.changeset/docs-check-binding.md deleted file mode 100644 index 14b9b770..00000000 --- a/.changeset/docs-check-binding.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Align docs and the skill bundle with the prose-bound check model: checks are no -longer routed by surface, every check is offered and the agent judges which -apply, and a check binds to prose via its optional `source:` pointer. Fix -the `ghost scan` next-step hint and skill recipes that referenced a nonexistent -`ghost check` command. diff --git a/.changeset/docs-node-model-refresh.md b/.changeset/docs-node-model-refresh.md deleted file mode 100644 index 258558c7..00000000 --- a/.changeset/docs-node-model-refresh.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Refresh the README and docs site onto the current command set (drop the removed -`lint`/`verify`/`relay`/`describe`/`survey`/`emit` commands). diff --git a/.changeset/drop-dead-deps.md b/.changeset/drop-dead-deps.md deleted file mode 100644 index 7cff1570..00000000 --- a/.changeset/drop-dead-deps.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Drop two unused runtime dependencies (`jiti`, `tinyglobby`) — neither was imported anywhere in source. Ghost now ships three runtime deps (`cac`, `yaml`, `zod`), shrinking the install footprint by ~1.8 MB. Also fix the build to clear `tsconfig.tsbuildinfo` so `dist/` no longer retains deleted modules from incremental builds (the packed package drops from ~1.9 MB / 777 files to ~397 KB / 248 files). diff --git a/.changeset/events-tape-first-write-notice.md b/.changeset/events-tape-first-write-notice.md deleted file mode 100644 index 69c7390c..00000000 --- a/.changeset/events-tape-first-write-notice.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Print a one-time stderr notice when the local `.ghost/.events` tape is first created, so gather/pull logging is never a surprise. diff --git a/.changeset/exit-code-contract.md b/.changeset/exit-code-contract.md deleted file mode 100644 index fea7b82d..00000000 --- a/.changeset/exit-code-contract.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Make CLI exit codes consistent so an agent can branch on them: unexpected -errors exit `1`, caller mistakes (bad flags, invalid environment, refused -overwrites) exit `2` via a typed `UsageError`, and a missing package now exits -`2` with a `ghost init` hint instead of leaking a raw filesystem error. diff --git a/.changeset/export-source-ref-parser.md b/.changeset/export-source-ref-parser.md deleted file mode 100644 index d0aef29e..00000000 --- a/.changeset/export-source-ref-parser.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Export `parseSourceRef` and `sliceNodeSection` from the core entrypoint: the shared parser for a check's `source:` reference grammar (`node-id > Heading`) and a helper to slice the referenced section out of a node body. diff --git a/.changeset/external-contract-references.md b/.changeset/external-contract-references.md deleted file mode 100644 index 93c50ac0..00000000 --- a/.changeset/external-contract-references.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Bindings can reference an external contract: a `.ghost.bind.yml` `contract:` now -accepts an npm package name (`@scope/brand`) in addition to `.` (in-repo), -resolved from `node_modules`. `ghost verify` checks the external contract -resolves and that each bound surface exists in it. External fingerprint loading -for grounding remains a follow-up. diff --git a/.changeset/facet-removal.md b/.changeset/facet-removal.md deleted file mode 100644 index 2447a910..00000000 --- a/.changeset/facet-removal.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Remove the facet model — the catalog is now the only fingerprint model. The `intent.yml`/`inventory.yml`/`composition.yml` schemas, the `GhostFingerprintDocument`, the facet→node load-time projection, and the dormant facet slice/grounding are deleted; the loader assembles the package's prose nodes directly into the catalog. `ghost lint` and `ghost verify` are replaced by one `ghost validate` verb (artifact shape pass + catalog pass); `ghost emit` is removed. `ghost scan` now reports node/surface contribution instead of facet contribution. Legacy facet packages no longer load directly — `ghost validate`/load fail with guidance to run `ghost migrate`. Structured exemplar-path and evidence verification is dropped (evidence lives in node prose, per the prose-node model). diff --git a/.changeset/fingerprint-grounding.md b/.changeset/fingerprint-grounding.md deleted file mode 100644 index c283036f..00000000 --- a/.changeset/fingerprint-grounding.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add fingerprint grounding to `ghost checks`: for each touched surface, emit the -*why* (principles and experience contracts) and the *what good looks like* -(patterns and exemplars with paths), drawn from that surface's slice and -inherited from its ancestors. A flagged check can now cite the design intent it -serves and point at an exemplar. Use `--no-grounding` for relevance only. diff --git a/.changeset/first-node-onramp.md b/.changeset/first-node-onramp.md deleted file mode 100644 index bf993a5d..00000000 --- a/.changeset/first-node-onramp.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Lead fingerprint authoring with a concrete first move — capture the one surface whose review feedback keeps repeating — instead of a scenario-classification step. diff --git a/.changeset/gather-command.md b/.changeset/gather-command.md deleted file mode 100644 index 14c4af2c..00000000 --- a/.changeset/gather-command.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add `ghost gather `: compose a surface's context slice (its own placed -nodes, cascaded ancestors, and one-hop typed-edge contributions) with -provenance, or return the surface menu when no surface is named. diff --git a/.changeset/gather-kind-legend.md b/.changeset/gather-kind-legend.md deleted file mode 100644 index 86091b0f..00000000 --- a/.changeset/gather-kind-legend.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -`ghost gather` now surfaces the glossary's kind purposes as a menu legend, in both markdown and JSON output, so the menu is self-sufficient selection context. diff --git a/.changeset/gather-on-graph-incarnation.md b/.changeset/gather-on-graph-incarnation.md deleted file mode 100644 index cd2dae1f..00000000 --- a/.changeset/gather-on-graph-incarnation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -`ghost gather` now composes its context packet from selected fingerprint catalog nodes and emits nodes-by-provenance prose (own / ancestor / edge), and gains `--as ` to filter the packet to one output form (e.g. email, billboard, voice) while always keeping essence (untagged) nodes. diff --git a/.changeset/gather-ranking-and-surface-guard.md b/.changeset/gather-ranking-and-surface-guard.md deleted file mode 100644 index 7702e8da..00000000 --- a/.changeset/gather-ranking-and-surface-guard.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Return the node menu plus closest-id "did you mean" suggestions when `ghost -gather` is given an inexact query, instead of a separate ranked-candidate -search — the agent re-picks by description from the same menu the no-argument -form prints. `gather`, `checks`, and `review` all emit the stable -`ERR_UNKNOWN_SURFACE` code with closest-id suggestions for a node or surface -that is not in the package. diff --git a/.changeset/gather-vocab.md b/.changeset/gather-vocab.md deleted file mode 100644 index f79b9485..00000000 --- a/.changeset/gather-vocab.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Rename the `gather` slice vocabulary to plain language. The JSON `slice.spokes` -field is now `slice.pointers`, and the pointer `kind` `"edge-hub"` is now -`"related"` with its origin in a `from` field (was `hub`). Docs and the skill -bundle drop the spine/corridor/hub-and-spoke metaphors; `edge` provenance is -unchanged. diff --git a/.changeset/ghost-check-format.md b/.changeset/ghost-check-format.md deleted file mode 100644 index 18df0fa2..00000000 --- a/.changeset/ghost-check-format.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add `ghost.check/v1`: markdown + frontmatter checks (`name`, `description`, -`severity`, optional `tools` / `turn-limit`, plus a Ghost `surface:` placement), -parsed and linted but never executed by Ghost. Markdown files under a `checks/` -directory lint as checks. This mirrors the established agent-check format so -Ghost can route and ground checks without owning a check engine. diff --git a/.changeset/ghost-local-pulse.md b/.changeset/ghost-local-pulse.md deleted file mode 100644 index 1042c5ef..00000000 --- a/.changeset/ghost-local-pulse.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add local gather/pull event tracing and a pulse report for fingerprint tuning. diff --git a/.changeset/goose-skill-install-target.md b/.changeset/goose-skill-install-target.md deleted file mode 100644 index 2055be3f..00000000 --- a/.changeset/goose-skill-install-target.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add `goose` as a first-class `ghost skill install --agent` destination, installing to `~/.agents/skills` (Goose's canonical global skills directory) and auto-detecting Goose installs. diff --git a/.changeset/inventory-lens-reference.md b/.changeset/inventory-lens-reference.md deleted file mode 100644 index 112536fa..00000000 --- a/.changeset/inventory-lens-reference.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Add an inventory-lens authoring reference to the skill bundle. diff --git a/.changeset/materials-transport.md b/.changeset/materials-transport.md deleted file mode 100644 index 60f4f610..00000000 --- a/.changeset/materials-transport.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Ghost validates material locator liveness and inlines small local materials during pull. diff --git a/.changeset/migrate-command.md b/.changeset/migrate-command.md deleted file mode 100644 index a7a6c1a7..00000000 --- a/.changeset/migrate-command.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add `ghost migrate`: transform a legacy `.ghost/` package onto the directory-tree -node model — derive surface directories from old `topology.scopes`, place -single-scope nodes inside them, and report (never guess) any node it cannot place -unambiguously. diff --git a/.changeset/node-authoring.md b/.changeset/node-authoring.md deleted file mode 100644 index 2368ac24..00000000 --- a/.changeset/node-authoring.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -`ghost init` now scaffolds a node package (`manifest.yml` + a core `index.md` node) via a template registry (`--template `, `default` for now) instead of emitting `intent.yml`/`inventory.yml`/`composition.yml`; the `--reference` flag is removed. `ghost migrate` now performs a one-way conversion of legacy/facet packages into a directory tree of nodes (the facet→node projection becomes the writer) and removes the old facet files. The authoring skill (`capture.md`, `SKILL.md`) teaches node authoring with intent/inventory/composition as authoring lenses rather than facet files. diff --git a/.changeset/one-road-remove-binding-and-nesting.md b/.changeset/one-road-remove-binding-and-nesting.md deleted file mode 100644 index 6204f2d2..00000000 --- a/.changeset/one-road-remove-binding-and-nesting.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Remove the path→surface binding (`ghost.binding/v1`, `.ghost.bind.yml`) and all nesting (fingerprint stacks, cross-package discovery): one contract per package, surfaces are the only locality. `checks` and `review` now take agent-stated `--surface ` instead of resolving surfaces from a diff; `gather` takes only a surface or returns the menu. Removed `gather --path`, `checks --diff`, `lint --all`, `verify --all`, `scan --include-nested`, `emit --path`, `init --scope`, and `init --monorepo`. The agent names the touched surfaces; Ghost no longer infers intent from repo location. diff --git a/.changeset/pull-command.md b/.changeset/pull-command.md deleted file mode 100644 index ae08c8e9..00000000 --- a/.changeset/pull-command.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add `ghost pull […]`: emit selected nodes' prose bodies and record selections in the `.ghost/.events` events tape for fingerprint tuning. diff --git a/.changeset/quiet-owls-export.md b/.changeset/quiet-owls-export.md deleted file mode 100644 index 6abc0021..00000000 --- a/.changeset/quiet-owls-export.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Adds `ghost export` to package fingerprints as portable brand artifacts with material locator audits. diff --git a/.changeset/readme-flat-model.md b/.changeset/readme-flat-model.md deleted file mode 100644 index 913cd4e4..00000000 --- a/.changeset/readme-flat-model.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Rewrite the package README onto the flat-corpus model: plain-language framing, current CLI commands only, and removal of stale relation-era shapes (`relates`, surface directories, `checks/` at the fingerprint root, `ghost checks`/`ghost review`/`ghost migrate`). diff --git a/.changeset/remove-compare-drift-fleet.md b/.changeset/remove-compare-drift-fleet.md deleted file mode 100644 index c22dc87a..00000000 --- a/.changeset/remove-compare-drift-fleet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Remove `compare`, `drift`, `ack`, `track`, and `diverge` commands and the direct `fingerprint.md` machinery (parser, writer, semantic diff, decisions/dimensions, embeddings, perceptual prior). These rested on a quantified visual-design-system model (fixed dimensions + decision embeddings) that the catalog reframe abandoned; the concepts are parked for a later rethink (see docs/ideas/compare-drift-fleet-rethink.md). The `./compare` and `./drift` package subpaths and the root `compare`/`drift` exports are removed. `ghost lint` now validates `.ghost/` packages and node/surface/check artifacts only (direct `fingerprint.md` is no longer linted); a `*.md` node file lints as a `ghost.node/v1` node. diff --git a/.changeset/remove-extends.md b/.changeset/remove-extends.md deleted file mode 100644 index e12668ef..00000000 --- a/.changeset/remove-extends.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Remove cross-package `extends` and inherited nodes. A Ghost package is a single -self-contained contract: its `.ghost/` directory tree is the whole fingerprint. -The manifest no longer accepts `extends`, `relates` targets must be local path -ids (the `:` colon ref is gone), and the catalog drops the -`origin` / inherited-node distinction. Use `ghost --package ` to address a -package; there is no shared-brand inheritance in this version. diff --git a/.changeset/remove-haunt-terminology.md b/.changeset/remove-haunt-terminology.md deleted file mode 100644 index 80145a9a..00000000 --- a/.changeset/remove-haunt-terminology.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Removes the optional-capability subsystem and its per-capability manifest schema. Checks are now a core capability in a flat `.ghost/checks/` directory: scaffold with `ghost checks init` (or `ghost init --with checks`), and `ghost export --no-checks` replaces the old exclusion flag. `ghost validate` flags packages still using the old nested checks location. diff --git a/.changeset/remove-incarnation.md b/.changeset/remove-incarnation.md deleted file mode 100644 index 228cc2f8..00000000 --- a/.changeset/remove-incarnation.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Remove the `incarnation` node field and the `--as` gather/checks flag. Ghost -fingerprints a single-medium product surface; the cross-medium projection axis -(essence vs. incarnation, the portability dial) is dropped rather than shipped -unused. Slices no longer carry an `incarnation` field and `ResolveCatalogSliceOptions` -is removed. diff --git a/.changeset/remove-relay-and-legacy-commands.md b/.changeset/remove-relay-and-legacy-commands.md deleted file mode 100644 index 42644584..00000000 --- a/.changeset/remove-relay-and-legacy-commands.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Remove the absorbed and dead commands: `relay`, `stack`, `survey`, `diff`, and -`describe`, along with the relay-only context modules and the `./relay` package -export. Their intent now lives in the surface model — `gather` for context, -`checks` for diff-routed governance, and bindings for path resolution. The skill -bundle teaches the surface workflow. diff --git a/.changeset/remove-scan-signals-inventory.md b/.changeset/remove-scan-signals-inventory.md deleted file mode 100644 index d71270da..00000000 --- a/.changeset/remove-scan-signals-inventory.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Remove the `ghost scan` and `ghost signals` commands and the deterministic repo-inventory subsystem; the host agent does its own repo reconnaissance and `validate`/`gather` cover package inspection. diff --git a/.changeset/remove-validate-one-check-format.md b/.changeset/remove-validate-one-check-format.md deleted file mode 100644 index 844afacc..00000000 --- a/.changeset/remove-validate-one-check-format.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Collapse to one check format. Remove `ghost.validate/v1`, the `validate.yml` -facet, the `ghost check` deterministic gate, and the `./govern` export. Ghost -now has a single check format — markdown `ghost.check/v1`, routed by surface -(`ghost checks`) and grounded by the fingerprint. `parseUnifiedDiff` moved to a -neutral module; the `drift` stance ledger is unchanged. diff --git a/.changeset/rename-graph-to-catalog.md b/.changeset/rename-graph-to-catalog.md deleted file mode 100644 index ac554969..00000000 --- a/.changeset/rename-graph-to-catalog.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Standardize the internal collection vocabulary on "catalog" to reflect the flat node set: public exports are `GhostCatalog`, `GhostCatalogNode`, `buildCatalogMenu`, `CatalogMenuEntry`, and `assembleCatalog`, and the loaded package exposes a `catalog` field. diff --git a/.changeset/rename-scope-decentralized-design.md b/.changeset/rename-scope-decentralized-design.md deleted file mode 100644 index 8b8793db..00000000 --- a/.changeset/rename-scope-decentralized-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Rename the public package from `@anarchitecture/ghost-fingerprint` to `@design-intelligence/ghost`. The `ghost` and `ghost-fingerprint` bins, all subpath exports (`/core`, `/fingerprint`, `/scan`, `/cli`), and the `.ghost/` package format are unchanged; only the npm name moves. Release tags and tarballs now use the `design-intelligence-ghost` prefix. diff --git a/.changeset/rename-scope-design-intelligence.md b/.changeset/rename-scope-design-intelligence.md deleted file mode 100644 index fddb65f9..00000000 --- a/.changeset/rename-scope-design-intelligence.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Rename the npm scope from `@decentralized-design` to `@design-intelligence`; the package is now `@design-intelligence/ghost` and release tarballs/tags use the `design-intelligence-ghost` prefix. diff --git a/.changeset/rename-to-ghost-fingerprint.md b/.changeset/rename-to-ghost-fingerprint.md deleted file mode 100644 index 5996d377..00000000 --- a/.changeset/rename-to-ghost-fingerprint.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Rename the published package from `@design-intelligence/ghost` to -`@design-intelligence/ghost`. Ghost is now a family of packages — -`ghost-fingerprint` (the fingerprint and its CLI), `ghost-adherence` (the -code-anchored adherence bridge), and `ghost-vessel` (the reference body) — -and the package name now says which part it is. The `ghost` bin, all export -subpaths (`/fingerprint`, `/scan`, `/core`, `/cli`), and the `.ghost/` -on-disk format are unchanged; only the install name moves. Existing installs -keep working from the old name until it is deprecated on npm with a pointer -forward. diff --git a/.changeset/retire-haunt-materials-review.md b/.changeset/retire-haunt-materials-review.md deleted file mode 100644 index 7751112d..00000000 --- a/.changeset/retire-haunt-materials-review.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Collapse the separate adherence package into the fingerprint: nodes carry optional `materials` locators, checks become an opt-in capability of the fingerprint package, and `ghost review` assembles advisory diff packets from material-backed nodes and checks. The external dispatch to a second binary is removed. diff --git a/.changeset/retire-lens-vocabulary.md b/.changeset/retire-lens-vocabulary.md deleted file mode 100644 index 625f9303..00000000 --- a/.changeset/retire-lens-vocabulary.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Retire the "three lenses" vocabulary: authoring docs now speak the same steering dimensions the CLI scores (stance, concreteness, patterns), and the inventory recipe becomes references/blocks.md with a neutral block kind in its examples. diff --git a/.changeset/retire-merge.md b/.changeset/retire-merge.md deleted file mode 100644 index e8b36790..00000000 --- a/.changeset/retire-merge.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Retire the `child-wins-by-id` fingerprint merge (Leak E): nested `.ghost/` -packages now bind paths to the root contract's surfaces instead of merging their -own facets in. A path resolves to the single root contract, used as-is — a child -package can no longer silently override or disable an inherited rule or check. -The `stack` / `check` / `review` outputs expose `contract` instead of `merged`, -and drop the `provenance.merge` field. diff --git a/.changeset/review-on-surfaces.md b/.changeset/review-on-surfaces.md deleted file mode 100644 index 8dd6b614..00000000 --- a/.changeset/review-on-surfaces.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Rebuild `ghost review` on the surface rails: it now resolves the diff's touched -surfaces (via bindings), selects the markdown checks governing them, and grounds -each in the fingerprint slice — instead of emitting `validate.yml` and a -path-selection context packet. The advisory-review JSON replaces -`fingerprint` / `context_markdown` / `checks` / `stacks` with `touched_surfaces`, -`routed_checks`, and `grounding`. `ghost check` remains the deterministic gate. diff --git a/.changeset/scope-manifesto.md b/.changeset/scope-manifesto.md deleted file mode 100644 index 231b6d47..00000000 --- a/.changeset/scope-manifesto.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Add a thesis section to the README: agents changed the unit of design work, the work that compounds is architectural, and Ghost is the artifact those decisions live in. diff --git a/.changeset/shared-cli-manifest-builder.md b/.changeset/shared-cli-manifest-builder.md deleted file mode 100644 index bccd2870..00000000 --- a/.changeset/shared-cli-manifest-builder.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add a `ghost manifest --format json` command that emits a self-describing manifest of every command and flag, so a host agent can discover the CLI in one call instead of scraping `--help`. The terminal help, docs-site manifest, and this command all derive from one shared `buildCliManifest()` (also exported from `@design-intelligence/ghost/cli`). diff --git a/.changeset/skill-bundle-prose.md b/.changeset/skill-bundle-prose.md deleted file mode 100644 index d41f1e61..00000000 --- a/.changeset/skill-bundle-prose.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Clean em dashes out of the shipped skill bundle and package README prose, -rewriting them as plain sentences, colons, or parentheticals. diff --git a/.changeset/skill-encoding-guidance.md b/.changeset/skill-encoding-guidance.md deleted file mode 100644 index 765f1877..00000000 --- a/.changeset/skill-encoding-guidance.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Make the glossary the authoritative source of kind semantics in the skill recipes, teach sample and counter-exemplar capture, add an `anti-goal` starter kind, and establish the `index` node as the always-pulled carrier of a fingerprint's non-negotiables and silence posture. diff --git a/.changeset/skill-verb-first.md b/.changeset/skill-verb-first.md deleted file mode 100644 index 80c4ae52..00000000 --- a/.changeset/skill-verb-first.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Reorder the skill bundle to lead with the workflow loop and CLI verbs, moving the node-catalog model into a later "How It Works" section. diff --git a/.changeset/steering-default-template.md b/.changeset/steering-default-template.md deleted file mode 100644 index 2df11c9c..00000000 --- a/.changeset/steering-default-template.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Make the steering starter the default `ghost init` scaffold, move the old small scaffold to `--template minimal`, and mark starter steering content as demo guidance to replace. diff --git a/.changeset/steering-physics-packet.md b/.changeset/steering-physics-packet.md deleted file mode 100644 index bb366be1..00000000 --- a/.changeset/steering-physics-packet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Adds steering-ordered pulls, derived concreteness coverage, guard posture review routing, check probes, inspect-pointers for binary materials, and a worked steering starter. diff --git a/.changeset/steering-template.md b/.changeset/steering-template.md deleted file mode 100644 index f53d7e2e..00000000 --- a/.changeset/steering-template.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Adds a steering-ready fingerprint template and skill guidance for authoring, briefing, and auditing agent-readable brand steering. diff --git a/.changeset/surface-coordinate-space.md b/.changeset/surface-coordinate-space.md deleted file mode 100644 index 3a80b303..00000000 --- a/.changeset/surface-coordinate-space.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Replace topology/applies_to/surface_type/scope coordinates with a surface -coordinate space and a single surface placement per node. Remove the -`ghost.map/v1` (`map.md`) coordinate and routing system; checks now route by -`applies_to.paths`. diff --git a/.changeset/surface-routed-checks.md b/.changeset/surface-routed-checks.md deleted file mode 100644 index 396498fa..00000000 --- a/.changeset/surface-routed-checks.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@design-intelligence/ghost": minor ---- - -Add markdown checks (`ghost.check/v1`) in a package's `checks/` directory. -`ghost checks --surface ` grounds the named surfaces and offers every -check; the host agent judges which apply. A check binds to the prose it enforces -through an optional `source:` pointer (a node id with an optional `> Heading`), -not by surface routing. Ghost selects, grounds, and emits checks; it never runs -them. diff --git a/.changeset/teach-terms-by-example.md b/.changeset/teach-terms-by-example.md deleted file mode 100644 index dcd6fce8..00000000 --- a/.changeset/teach-terms-by-example.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Teach the authoring lenses and `incarnation`/essence distinction from a shown node example instead of negative definitions ("not fields", "essence is untagged"). diff --git a/.changeset/thesis-steering-packet.md b/.changeset/thesis-steering-packet.md deleted file mode 100644 index 91d8c55b..00000000 --- a/.changeset/thesis-steering-packet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Reframe the package README and description around the fingerprint as a portable brand steering packet. diff --git a/.changeset/validate-help-describes-current-checks.md b/.changeset/validate-help-describes-current-checks.md deleted file mode 100644 index b1bbcf98..00000000 --- a/.changeset/validate-help-describes-current-checks.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -Update `ghost validate --help` to describe what validation actually checks today: manifest shape, node validity, material locators, check references, and glossary kind prefixes. diff --git a/.changeset/validate-surfaces-invalid-nodes.md b/.changeset/validate-surfaces-invalid-nodes.md deleted file mode 100644 index 02352fbe..00000000 --- a/.changeset/validate-surfaces-invalid-nodes.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@design-intelligence/ghost": patch ---- - -`ghost validate` now reports a node that fails its own schema instead of silently dropping it from the catalog. diff --git a/packages/ghost/CHANGELOG.md b/packages/ghost/CHANGELOG.md index 252f74a8..5c2c4a5a 100644 --- a/packages/ghost/CHANGELOG.md +++ b/packages/ghost/CHANGELOG.md @@ -1,5 +1,252 @@ # @design-intelligence/ghost +## 0.20.0 + +### Minor Changes + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add `ghost.binding/v1` (`.ghost.bind.yml`) and the path road: a repo path + resolves to the surface that owns it (directory-default binding or explicit + declaration), and `ghost gather --path ` composes that surface's slice. + The contract still carries no paths — bindings own all path matching. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - `ghost checks` and `ghost review` now route by catalog references and ground from the selected prose packet: grounding is the surface's gathered nodes by provenance (own / ancestor / edge), replacing the typed why/what (principles, contracts, patterns, exemplars) split — the why and what now live in each node's prose. `ghost checks` gains `--as ` to filter grounding to one output form. Exemplar `path:` is dropped from grounding. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Reduce the fingerprint collection to a flat catalog: remove the `checks`, `review`, and `migrate` commands, drop node `relates` edges and traversal, and reduce `gather` to emitting the menu the agent selects from. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove check surface routing: every check is now offered to the reviewer and the agent judges relevance, so the check `surface:` field, `selectChecksForSurfaces`, `RoutedCheck`, and `CheckRelevance` are gone. Checks bind to the fingerprint through an optional `source:` pointer (`node > Heading`) that `review` surfaces so a finding can cite the prose it enforces. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - `ghost init --template composition` scaffolds a composition-steering starter: the default files plus an invariants floor (`principle.composition`), a worked bound/open/refines pattern node, a glossary whose `pattern` and `principle` kinds carry the binding-depth convention, and an index that teaches the ladder — patterns when they match, principles as the floor when they don't, narrowing-only between them. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Adds opt-in wild consumption posture for glossary kinds and gather/pull/pulse observability. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Recompose `gather` on a corridor + hub-and-spoke model and fix a sibling-surface + context leak. A surface's slice is now: a **spine** of full-body nodes from every + file on the corridor (the package root down to the surface's own folder — folders + are walls, so sibling folders never leak in), the **edges** reachable in one hop + from any spine node's `relates` (so a broad rule authored once high in the tree — + e.g. `relates: { to: arcade }` on `features/` — reaches every descendant), and a + set of **spokes**: pointer entries (id + description) for the surface's own + descendants and any edge hub's subtree, which the agent pulls on demand. The + `CatalogSlice` JSON gains a `spokes` array; catalog nodes carry their file `folder`. + Grounding for `checks`/`review` remains the full-body spine + edges. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add cross-package inheritance via `extends`. A package's `manifest.yml` can declare `extends: { : }`, mapping another contract's identity to where it lives. Node refs then reference inherited context by identity, never path — `relates: [{ to: brand:core/trust }]` (the `:` form replaces the earlier npm-style `#` ref grammar). Inherited nodes load read-only and flow into gather and validate like local ones. `ghost validate` resolves cross-package refs and reports unresolved refs, packages not declared in `extends`, identity mismatches, and cross-package cycles. This delivers the shared-brand story: one brand contract extended by many products, without copy-paste or merge. One level of `extends` in v1 (no transitive); location is an explicit relative dir (identity-based discovery is a future upgrade that keeps refs unchanged). + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Make `description` a first-class node field — the retrieval payload an agent matches a task against, the way a tool is selected by name + description. `ghost gather` with no argument now lists nodes by id + description (the catalog), built from the catalog rather than a separate surface menu. Node frontmatter is now passthrough: free-form descriptive keys (`audience`, `stage`, …) are allowed and ride along untouched. The surface composition-edge vocabulary (`composes`/`governed-by`) is removed — lateral composition lives on node `relates`. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Collapse the on-disk node model into the directory tree: the layout supplies the + catalog. A node's id is its file path (`marketing/email.md` → `marketing/email`) + and its parent is its containing directory; a surface is just a directory, and a + directory's own prose lives in its `index.md` (the package-root `index.md` is + the implicit `core` node). The `surfaces.yml` spine file and the `nodes/` + directory are removed, along with the node frontmatter `id` and `under` fields — + identity and containment now come from where a file sits, never from frontmatter + or a declared spine. Node frontmatter carries descriptive properties only + (`description`, `relates`, `incarnation`, plus passthrough keys); `relates` and + cross-package `extends` refs are path ids (`core/trust`, `brand:core/trust`). + `ghost init` scaffolds `manifest.yml` + a core `index.md`; `ghost migrate` + writes a directory tree; any `*.md` outside the reserved `checks/` subtree lints + as a node. Moving a node is a rename — `ghost validate` reports `relates` that no + longer resolve. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Export `parseSourceRef` and `sliceNodeSection` from the core entrypoint: the shared parser for a check's `source:` reference grammar (`node-id > Heading`) and a helper to slice the referenced section out of a node body. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Bindings can reference an external contract: a `.ghost.bind.yml` `contract:` now + accepts an npm package name (`@scope/brand`) in addition to `.` (in-repo), + resolved from `node_modules`. `ghost verify` checks the external contract + resolves and that each bound surface exists in it. External fingerprint loading + for grounding remains a follow-up. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove the facet model — the catalog is now the only fingerprint model. The `intent.yml`/`inventory.yml`/`composition.yml` schemas, the `GhostFingerprintDocument`, the facet→node load-time projection, and the dormant facet slice/grounding are deleted; the loader assembles the package's prose nodes directly into the catalog. `ghost lint` and `ghost verify` are replaced by one `ghost validate` verb (artifact shape pass + catalog pass); `ghost emit` is removed. `ghost scan` now reports node/surface contribution instead of facet contribution. Legacy facet packages no longer load directly — `ghost validate`/load fail with guidance to run `ghost migrate`. Structured exemplar-path and evidence verification is dropped (evidence lives in node prose, per the prose-node model). + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add fingerprint grounding to `ghost checks`: for each touched surface, emit the + _why_ (principles and experience contracts) and the _what good looks like_ + (patterns and exemplars with paths), drawn from that surface's slice and + inherited from its ancestors. A flagged check can now cite the design intent it + serves and point at an exemplar. Use `--no-grounding` for relevance only. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add `ghost gather `: compose a surface's context slice (its own placed + nodes, cascaded ancestors, and one-hop typed-edge contributions) with + provenance, or return the surface menu when no surface is named. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - `ghost gather` now surfaces the glossary's kind purposes as a menu legend, in both markdown and JSON output, so the menu is self-sufficient selection context. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - `ghost gather` now composes its context packet from selected fingerprint catalog nodes and emits nodes-by-provenance prose (own / ancestor / edge), and gains `--as ` to filter the packet to one output form (e.g. email, billboard, voice) while always keeping essence (untagged) nodes. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Return the node menu plus closest-id "did you mean" suggestions when `ghost +gather` is given an inexact query, instead of a separate ranked-candidate + search — the agent re-picks by description from the same menu the no-argument + form prints. `gather`, `checks`, and `review` all emit the stable + `ERR_UNKNOWN_SURFACE` code with closest-id suggestions for a node or surface + that is not in the package. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Rename the `gather` slice vocabulary to plain language. The JSON `slice.spokes` + field is now `slice.pointers`, and the pointer `kind` `"edge-hub"` is now + `"related"` with its origin in a `from` field (was `hub`). Docs and the skill + bundle drop the spine/corridor/hub-and-spoke metaphors; `edge` provenance is + unchanged. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add `ghost.check/v1`: markdown + frontmatter checks (`name`, `description`, + `severity`, optional `tools` / `turn-limit`, plus a Ghost `surface:` placement), + parsed and linted but never executed by Ghost. Markdown files under a `checks/` + directory lint as checks. This mirrors the established agent-check format so + Ghost can route and ground checks without owning a check engine. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add local gather/pull event tracing and a pulse report for fingerprint tuning. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add `goose` as a first-class `ghost skill install --agent` destination, installing to `~/.agents/skills` (Goose's canonical global skills directory) and auto-detecting Goose installs. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Ghost validates material locator liveness and inlines small local materials during pull. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add `ghost migrate`: transform a legacy `.ghost/` package onto the directory-tree + node model — derive surface directories from old `topology.scopes`, place + single-scope nodes inside them, and report (never guess) any node it cannot place + unambiguously. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - `ghost init` now scaffolds a node package (`manifest.yml` + a core `index.md` node) via a template registry (`--template `, `default` for now) instead of emitting `intent.yml`/`inventory.yml`/`composition.yml`; the `--reference` flag is removed. `ghost migrate` now performs a one-way conversion of legacy/facet packages into a directory tree of nodes (the facet→node projection becomes the writer) and removes the old facet files. The authoring skill (`capture.md`, `SKILL.md`) teaches node authoring with intent/inventory/composition as authoring lenses rather than facet files. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove the path→surface binding (`ghost.binding/v1`, `.ghost.bind.yml`) and all nesting (fingerprint stacks, cross-package discovery): one contract per package, surfaces are the only locality. `checks` and `review` now take agent-stated `--surface ` instead of resolving surfaces from a diff; `gather` takes only a surface or returns the menu. Removed `gather --path`, `checks --diff`, `lint --all`, `verify --all`, `scan --include-nested`, `emit --path`, `init --scope`, and `init --monorepo`. The agent names the touched surfaces; Ghost no longer infers intent from repo location. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add `ghost pull […]`: emit selected nodes' prose bodies and record selections in the `.ghost/.events` events tape for fingerprint tuning. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Adds `ghost export` to package fingerprints as portable brand artifacts with material locator audits. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove `compare`, `drift`, `ack`, `track`, and `diverge` commands and the direct `fingerprint.md` machinery (parser, writer, semantic diff, decisions/dimensions, embeddings, perceptual prior). These rested on a quantified visual-design-system model (fixed dimensions + decision embeddings) that the catalog reframe abandoned; the concepts are parked for a later rethink (see docs/ideas/compare-drift-fleet-rethink.md). The `./compare` and `./drift` package subpaths and the root `compare`/`drift` exports are removed. `ghost lint` now validates `.ghost/` packages and node/surface/check artifacts only (direct `fingerprint.md` is no longer linted); a `*.md` node file lints as a `ghost.node/v1` node. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove cross-package `extends` and inherited nodes. A Ghost package is a single + self-contained contract: its `.ghost/` directory tree is the whole fingerprint. + The manifest no longer accepts `extends`, `relates` targets must be local path + ids (the `:` colon ref is gone), and the catalog drops the + `origin` / inherited-node distinction. Use `ghost --package ` to address a + package; there is no shared-brand inheritance in this version. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Removes the optional-capability subsystem and its per-capability manifest schema. Checks are now a core capability in a flat `.ghost/checks/` directory: scaffold with `ghost checks init` (or `ghost init --with checks`), and `ghost export --no-checks` replaces the old exclusion flag. `ghost validate` flags packages still using the old nested checks location. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove the `incarnation` node field and the `--as` gather/checks flag. Ghost + fingerprints a single-medium product surface; the cross-medium projection axis + (essence vs. incarnation, the portability dial) is dropped rather than shipped + unused. Slices no longer carry an `incarnation` field and `ResolveCatalogSliceOptions` + is removed. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove the absorbed and dead commands: `relay`, `stack`, `survey`, `diff`, and + `describe`, along with the relay-only context modules and the `./relay` package + export. Their intent now lives in the surface model — `gather` for context, + `checks` for diff-routed governance, and bindings for path resolution. The skill + bundle teaches the surface workflow. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove the `ghost scan` and `ghost signals` commands and the deterministic repo-inventory subsystem; the host agent does its own repo reconnaissance and `validate`/`gather` cover package inspection. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Collapse to one check format. Remove `ghost.validate/v1`, the `validate.yml` + facet, the `ghost check` deterministic gate, and the `./govern` export. Ghost + now has a single check format — markdown `ghost.check/v1`, routed by surface + (`ghost checks`) and grounded by the fingerprint. `parseUnifiedDiff` moved to a + neutral module; the `drift` stance ledger is unchanged. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Standardize the internal collection vocabulary on "catalog" to reflect the flat node set: public exports are `GhostCatalog`, `GhostCatalogNode`, `buildCatalogMenu`, `CatalogMenuEntry`, and `assembleCatalog`, and the loaded package exposes a `catalog` field. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Rename the public package from `@anarchitecture/ghost-fingerprint` to `@design-intelligence/ghost`. The `ghost` and `ghost-fingerprint` bins, all subpath exports (`/core`, `/fingerprint`, `/scan`, `/cli`), and the `.ghost/` package format are unchanged; only the npm name moves. Release tags and tarballs now use the `design-intelligence-ghost` prefix. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Rename the npm scope from `@decentralized-design` to `@design-intelligence`; the package is now `@design-intelligence/ghost` and release tarballs/tags use the `design-intelligence-ghost` prefix. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Rename the published package from `@design-intelligence/ghost` to + `@design-intelligence/ghost`. Ghost is now a family of packages — + `ghost-fingerprint` (the fingerprint and its CLI), `ghost-adherence` (the + code-anchored adherence bridge), and `ghost-vessel` (the reference body) — + and the package name now says which part it is. The `ghost` bin, all export + subpaths (`/fingerprint`, `/scan`, `/core`, `/cli`), and the `.ghost/` + on-disk format are unchanged; only the install name moves. Existing installs + keep working from the old name until it is deprecated on npm with a pointer + forward. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Collapse the separate adherence package into the fingerprint: nodes carry optional `materials` locators, checks become an opt-in capability of the fingerprint package, and `ghost review` assembles advisory diff packets from material-backed nodes and checks. The external dispatch to a second binary is removed. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Retire the `child-wins-by-id` fingerprint merge (Leak E): nested `.ghost/` + packages now bind paths to the root contract's surfaces instead of merging their + own facets in. A path resolves to the single root contract, used as-is — a child + package can no longer silently override or disable an inherited rule or check. + The `stack` / `check` / `review` outputs expose `contract` instead of `merged`, + and drop the `provenance.merge` field. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Rebuild `ghost review` on the surface rails: it now resolves the diff's touched + surfaces (via bindings), selects the markdown checks governing them, and grounds + each in the fingerprint slice — instead of emitting `validate.yml` and a + path-selection context packet. The advisory-review JSON replaces + `fingerprint` / `context_markdown` / `checks` / `stacks` with `touched_surfaces`, + `routed_checks`, and `grounding`. `ghost check` remains the deterministic gate. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add a `ghost manifest --format json` command that emits a self-describing manifest of every command and flag, so a host agent can discover the CLI in one call instead of scraping `--help`. The terminal help, docs-site manifest, and this command all derive from one shared `buildCliManifest()` (also exported from `@design-intelligence/ghost/cli`). + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Make the steering starter the default `ghost init` scaffold, move the old small scaffold to `--template minimal`, and mark starter steering content as demo guidance to replace. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Adds steering-ordered pulls, derived concreteness coverage, guard posture review routing, check probes, inspect-pointers for binary materials, and a worked steering starter. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Adds a steering-ready fingerprint template and skill guidance for authoring, briefing, and auditing agent-readable brand steering. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Replace topology/applies_to/surface_type/scope coordinates with a surface + coordinate space and a single surface placement per node. Remove the + `ghost.map/v1` (`map.md`) coordinate and routing system; checks now route by + `applies_to.paths`. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add markdown checks (`ghost.check/v1`) in a package's `checks/` directory. + `ghost checks --surface ` grounds the named surfaces and offers every + check; the host agent judges which apply. A check binds to the prose it enforces + through an optional `source:` pointer (a node id with an optional `> Heading`), + not by surface routing. Ghost selects, grounds, and emits checks; it never runs + them. + +### Patch Changes + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Reframe fingerprint authoring as elicitation in the skill bundle and docs: remove the repo-scan-first auto-draft mode, rebuild the authoring scenarios around what the human says and shows, and point repo-derived reality at the adherence inventory. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add node prose stances and a scored drafting gate to the capture recipe so authoring agents hold draft nodes to anti-slop standards before human curation. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove redundant containment bookkeeping in favor of path-derived ids: parent and ancestor facts are derived from node paths, and the redundant parent/children maps are removed. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Remove the dormant context-selection machinery (`buildContextEntrypoint`, `buildSelectedContext`, and selection-reasons) that was inert since the coordinate removal and orphaned once `review` moved onto the surface rails. Internal cleanup; no public surface change. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Align docs and the skill bundle with the prose-bound check model: checks are no + longer routed by surface, every check is offered and the agent judges which + apply, and a check binds to prose via its optional `source:` pointer. Fix + the `ghost scan` next-step hint and skill recipes that referenced a nonexistent + `ghost check` command. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Refresh the README and docs site onto the current command set (drop the removed + `lint`/`verify`/`relay`/`describe`/`survey`/`emit` commands). + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Drop two unused runtime dependencies (`jiti`, `tinyglobby`) — neither was imported anywhere in source. Ghost now ships three runtime deps (`cac`, `yaml`, `zod`), shrinking the install footprint by ~1.8 MB. Also fix the build to clear `tsconfig.tsbuildinfo` so `dist/` no longer retains deleted modules from incremental builds (the packed package drops from ~1.9 MB / 777 files to ~397 KB / 248 files). + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Print a one-time stderr notice when the local `.ghost/.events` tape is first created, so gather/pull logging is never a surprise. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Make CLI exit codes consistent so an agent can branch on them: unexpected + errors exit `1`, caller mistakes (bad flags, invalid environment, refused + overwrites) exit `2` via a typed `UsageError`, and a missing package now exits + `2` with a `ghost init` hint instead of leaking a raw filesystem error. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Lead fingerprint authoring with a concrete first move — capture the one surface whose review feedback keeps repeating — instead of a scenario-classification step. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add an inventory-lens authoring reference to the skill bundle. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Rewrite the package README onto the flat-corpus model: plain-language framing, current CLI commands only, and removal of stale relation-era shapes (`relates`, surface directories, `checks/` at the fingerprint root, `ghost checks`/`ghost review`/`ghost migrate`). + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Retire the "three lenses" vocabulary: authoring docs now speak the same steering dimensions the CLI scores (stance, concreteness, patterns), and the inventory recipe becomes references/blocks.md with a neutral block kind in its examples. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Add a thesis section to the README: agents changed the unit of design work, the work that compounds is architectural, and Ghost is the artifact those decisions live in. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Clean em dashes out of the shipped skill bundle and package README prose, + rewriting them as plain sentences, colons, or parentheticals. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Make the glossary the authoritative source of kind semantics in the skill recipes, teach sample and counter-exemplar capture, add an `anti-goal` starter kind, and establish the `index` node as the always-pulled carrier of a fingerprint's non-negotiables and silence posture. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Reorder the skill bundle to lead with the workflow loop and CLI verbs, moving the node-catalog model into a later "How It Works" section. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Teach the authoring lenses and `incarnation`/essence distinction from a shown node example instead of negative definitions ("not fields", "essence is untagged"). + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Reframe the package README and description around the fingerprint as a portable brand steering packet. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - Update `ghost validate --help` to describe what validation actually checks today: manifest shape, node validity, material locators, check references, and glossary kind prefixes. + +- [#205](https://github.com/block/ghost/pull/205) [`0f94bb9`](https://github.com/block/ghost/commit/0f94bb93746e9940952e2367127dcde58e7e54cd) Thanks [@nahiyankhan](https://github.com/nahiyankhan)! - `ghost validate` now reports a node that fails its own schema instead of silently dropping it from the catalog. + ## 0.18.1 ### Patch Changes diff --git a/packages/ghost/package.json b/packages/ghost/package.json index 6c31c452..18a4fe60 100644 --- a/packages/ghost/package.json +++ b/packages/ghost/package.json @@ -1,6 +1,6 @@ { "name": "@design-intelligence/ghost", - "version": "0.19.0", + "version": "0.20.0", "description": "Ghost CLI for the brand fingerprint: a portable steering packet of prose truths your agent reads before it builds, with advisory review after", "license": "Apache-2.0", "author": "Block, Inc.",