Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
18b8be8
docs: reset Ghost around a clean Layer 2 design
nahiyankhan Jun 25, 2026
523a50e
docs(coordinate-space): split containment tree from composition graph
nahiyankhan Jun 25, 2026
7a4c994
docs(surface-schema): propose ghost.surfaces/v1 as the first extraction
nahiyankhan Jun 25, 2026
82d337d
docs(surface-schema): settle edge_kinds (closed) and flat ids
nahiyankhan Jun 25, 2026
83fa808
docs(surface-schema): settle explicit placement; reframe binding as s…
nahiyankhan Jun 25, 2026
4a56f47
docs(surface-binding): settle ghost.binding/v1, the repo binding layer
nahiyankhan Jun 25, 2026
b089783
docs(implementation-plan): sequence the hard-cutover surface-model build
nahiyankhan Jun 25, 2026
2222830
docs(implementation-plan): settle command fate via the desire-survive…
nahiyankhan Jun 25, 2026
576dcb9
docs(phase-1-plan): execution spec for the ghost.surfaces/v1 schema m…
nahiyankhan Jun 25, 2026
8a46db7
test: remove dogfood .ghost and scope terminology guard
nahiyankhan Jun 25, 2026
cb2b7c4
feat(surfaces): add ghost.surfaces/v1 schema module (additive)
nahiyankhan Jun 25, 2026
efdb0c6
docs(phase-2-plan): spec surfaces lint; enforce test on pre-commit
nahiyankhan Jun 25, 2026
f6b7941
feat(surfaces): add ghost.surfaces/v1 lint and CLI dispatch
nahiyankhan Jun 25, 2026
ce0068a
docs(phase-3-plan): execution spec for the breaking placement cut
nahiyankhan Jun 25, 2026
cd0812e
docs(phase-3-plan): split graph.ts into keep vs compile-dormant; name…
nahiyankhan Jun 25, 2026
2957df0
feat(surfaces)!: replace coordinate fields with surface placement (Ph…
nahiyankhan Jun 25, 2026
a54dcd1
docs(phase-4-plan): execution spec for deleting ghost.map/v1
nahiyankhan Jun 25, 2026
fa5a384
feat(map)!: delete ghost.map/v1 routing system; pull out ghost-fleet …
nahiyankhan Jun 25, 2026
c137c30
docs(phase-5-plan): execution spec for the gather command + slice res…
nahiyankhan Jun 26, 2026
a6f2a25
feat(gather): slice resolver, surface menu, and gather command (Phase 5)
nahiyankhan Jun 26, 2026
ef88c0f
docs(phase-6-plan): execution spec for the ghost migrate command
nahiyankhan Jun 26, 2026
0f034bd
feat(migrate): ghost migrate command for legacy packages (Phase 6)
nahiyankhan Jun 26, 2026
7a9f002
docs(phase-7-plan): execution spec for ghost.binding/v1 (path + diff …
nahiyankhan Jun 26, 2026
2302254
feat(binding): ghost.binding/v1 + path road (Phase 7a)
nahiyankhan Jun 26, 2026
668733d
docs(phase-7b): reframe governance as surface-routed, fingerprint-gro…
nahiyankhan Jun 26, 2026
ec63b19
docs(phase-7b-plan): four-cut execution spec for grounded checks
nahiyankhan Jun 26, 2026
f0a31ce
feat(stack)!: retire child-wins-by-id merge; nesting binds to one con…
nahiyankhan Jun 26, 2026
0da86b8
feat(check): ghost.check/v1 markdown check format (7b Cut 2)
nahiyankhan Jun 26, 2026
2f222b5
docs(phase-7b-cut3): surface-routed check relevance plan
nahiyankhan Jun 26, 2026
6d6b1e3
feat(checks): surface-routed check relevance + ghost checks command (…
nahiyankhan Jun 26, 2026
c1a24bd
docs(phase-7b-cut4): fingerprint grounding plan
nahiyankhan Jun 26, 2026
f97c3a2
feat(checks): fingerprint grounding on ghost checks (7b Cut 4)
nahiyankhan Jun 26, 2026
137ac3b
docs(phase-8-plan): final command/skill/docs reconciliation plan
nahiyankhan Jun 26, 2026
4de14e2
feat(cli)!: delete relay/stack/survey/diff/describe + relay plumbing …
nahiyankhan Jun 26, 2026
c98d51b
fix(changeset): drop removed ghost-fleet from ignore list
nahiyankhan Jun 29, 2026
fef0c1d
docs(polish-roadmap): sequence the four deferred post-cutover cuts
nahiyankhan Jun 26, 2026
5c6e8f2
feat(review)!: rebuild review on gather + checks rails (Polish Cut A)
nahiyankhan Jun 26, 2026
7c76da7
refactor(context): delete dormant Job 2 selection machinery (Polish C…
nahiyankhan Jun 26, 2026
7d71a99
docs(polish-cut-c): plan full removal of ghost.validate/v1 (one check…
nahiyankhan Jun 26, 2026
123faff
wip(cut-c): validate/v1 removal in progress (build red, 4 files remain)
nahiyankhan Jun 26, 2026
378ec77
feat(check)!: collapse to one check format — remove ghost.validate/v1…
nahiyankhan Jun 26, 2026
a0ae6cb
feat(binding): external contract references (Polish Cut D)
nahiyankhan Jun 26, 2026
442bfde
docs(parked-survey): record the parked ghost.survey/v1 module decision
nahiyankhan Jun 26, 2026
abf3202
docs(one-road): surgical plan to remove the binding, drive from the p…
nahiyankhan Jun 26, 2026
9928793
docs(one-road): fold in nesting teardown; one contract per package
nahiyankhan Jun 26, 2026
14952d4
docs(contract-storage): facet-first vs surface-first exploration
nahiyankhan Jun 26, 2026
8f3d57f
docs(ideas): context-graph model, worked scenarios, impl plan; one-ro…
nahiyankhan Jun 27, 2026
256ea23
one-road step 0: rescue path helpers to scan/package-paths.ts
nahiyankhan Jun 27, 2026
1d4409d
one-road step 1: gather/checks/review take agent-stated surfaces, dro…
nahiyankhan Jun 27, 2026
51fb78e
one-road steps 2-3: delete binding verify + file-kind dispatch + bind…
nahiyankhan Jun 27, 2026
9300abf
one-road step 4: remove nesting (stacks, --all, --scope, --include-ne…
nahiyankhan Jun 27, 2026
7995d28
one-road step 5: update skill bundle, migrate note, file-size manifes…
nahiyankhan Jun 27, 2026
ed2bc42
docs(phase-1): node schema execution spec (permissive ids, dash conve…
nahiyankhan Jun 27, 2026
b23fe09
feat(node): ghost.node/v1 schema, parser, serializer (Phase 1, additive)
nahiyankhan Jun 27, 2026
4a36900
docs(phase-2): loader fold spec — Option A (pure-prose nodes) settled
nahiyankhan Jun 27, 2026
46b939e
feat(graph): in-memory node graph + loader fold (Phase 2, additive)
nahiyankhan Jun 27, 2026
442cc06
docs(phase-3): gather-on-graph spec — incarnation/--as naming, single…
nahiyankhan Jun 27, 2026
6d56ec0
feat(gather)!: traverse the graph + --as incarnation filter (Phase 3)
nahiyankhan Jun 27, 2026
803bfbb
feat(checks,review)!: route + ground on the graph (Phase 4)
nahiyankhan Jun 28, 2026
edb3c2f
feat!: remove compare/drift/fleet + direct fingerprint.md machinery
nahiyankhan Jun 28, 2026
4c82678
docs(phase-5): node-authoring plan — template-driven init, one-way mi…
nahiyankhan Jun 28, 2026
9981221
feat(authoring)!: node-based init + migrate + skill (Phase 5)
nahiyankhan Jun 28, 2026
76e55c5
feat!: remove the facet model — the graph is the only model (Phase 6)
nahiyankhan Jun 28, 2026
99543c2
feat(cross-package): extends — inherit nodes by identity (Phase 7)
nahiyankhan Jun 28, 2026
ed1ec81
refactor: remove dead survey module (ghost.survey/v1)
nahiyankhan Jun 28, 2026
7a00442
feat: described nodes — collapse surface-as-content into the node cat…
nahiyankhan Jun 28, 2026
902f7ca
refactor: remove resources.yml/patterns.yml + dead yml residue
nahiyankhan Jun 28, 2026
923637a
refactor: prune dead modules and orphan exports (sprawl sweep)
nahiyankhan Jun 28, 2026
a66e0cb
docs: prune superseded idea notes (40 -> 6)
nahiyankhan Jun 28, 2026
11fd1b7
refactor: split inventory monolith, group commands/, honest file-size…
nahiyankhan Jun 28, 2026
42e7f6d
fix: drop dead deps (jiti, tinyglobby) + clean stale dist
nahiyankhan Jun 28, 2026
6cbfcff
docs: refresh README + docs site onto the node-graph model
nahiyankhan Jun 28, 2026
017870c
feat!: directory-as-architecture — the tree is the graph
nahiyankhan Jun 28, 2026
bfc8258
feat(graph): carry each node's file folder onto the graph
nahiyankhan Jun 28, 2026
59acadf
feat(gather)!: corridor spine + hub-and-spoke spokes; fix sibling leak
nahiyankhan Jun 28, 2026
585a452
docs+skill: teach the corridor + spine/spokes gather model
nahiyankhan Jun 28, 2026
f573537
docs: frame Ghost as CLI + interpretive skill, not just a calculator
nahiyankhan Jun 29, 2026
ff9b61e
docs: retrack the docs site to the current command set and corridor m…
nahiyankhan Jun 29, 2026
18c3b2f
docs: stop-slop pass on the gather prose
nahiyankhan Jun 29, 2026
f40a7a8
docs: strip em dashes from shipped prose (stop-slop)
nahiyankhan Jun 29, 2026
e4bea42
chore: delete dead fingerprint.md-era fossils
nahiyankhan Jun 29, 2026
fffadef
docs: omit the ghost-ui catalogue from the docs site
nahiyankhan Jun 29, 2026
a193c02
docs: park ghost-ui, remove its public mentions
nahiyankhan Jun 29, 2026
3ab1ea6
feat(ghost): add ghost search and ERR_UNKNOWN_SURFACE grounding
nahiyankhan Jun 29, 2026
1edd0b1
refactor(ghost): fold search into gather's no-match path
nahiyankhan Jun 29, 2026
f4bb341
refactor(ghost): consistent CLI exit-code contract
nahiyankhan Jun 29, 2026
7252e3e
feat(ghost): explain why each gather candidate matched
nahiyankhan Jun 29, 2026
7407bd5
feat(ghost): add ghost manifest for self-describing CLI discovery
nahiyankhan Jun 29, 2026
65eca1e
docs(ghost): add inventory-lens authoring reference to the skill bundle
nahiyankhan Jun 30, 2026
9b2941e
ghost: remove check surface-routing; bind checks to prose via source
nahiyankhan Jun 30, 2026
dbb2ae0
docs(ghost): align docs and skill bundle with prose-bound checks
nahiyankhan Jun 30, 2026
73b9d39
refactor(ghost)!: rename gather slice vocabulary to plain language
nahiyankhan Jun 30, 2026
6354a6d
docs(ghost): reshape brief recipe as an intent/inventory/composition …
nahiyankhan Jun 30, 2026
85c8c5a
docs: make Ghost approachable — lead with verbs, add an on-ramp, teac…
nahiyankhan Jun 30, 2026
d10ddb5
docs: add Five-Minute Ghost quickstart and layer onboarding ramp
nahiyankhan Jun 30, 2026
3322e85
Trim over-built surface area: drop scan/signals/inventory, simplify s…
nahiyankhan Jun 30, 2026
6af3ec5
Replace gather's node ranker with menu + closest-id suggestions
nahiyankhan Jul 1, 2026
bced0f4
Remove incarnation / --as (cross-medium projection)
nahiyankhan Jul 1, 2026
87bd705
Remove cross-package extends / inherited nodes
nahiyankhan Jul 1, 2026
9b4bfcc
Reconcile speculative docs after cutting incarnation and extends
nahiyankhan Jul 1, 2026
1430fdb
Reincarnate the monorepo: name the two problems
nahiyankhan Jul 1, 2026
9a31df6
haunt: build the flat-tier fingerprint + advisory review loop
nahiyankhan Jul 1, 2026
ea041b1
Collapse fingerprint graph to a flat catalog
nahiyankhan Jul 1, 2026
456be20
haunt: mark four-tier shape as provisional, point at direction doc
nahiyankhan Jul 1, 2026
4bdbe56
Rename packages to the ghost-* family
nahiyankhan Jul 1, 2026
b9ee3cb
Export the source-ref parser; haunt consumes ghost-core
nahiyankhan Jul 1, 2026
03308ea
Collapse Haunt onto the reconciled two-dir model
nahiyankhan Jul 1, 2026
2dc4a89
Add haunt integrity - the sprawl guard
nahiyankhan Jul 2, 2026
e4c343f
docs: reconcile constitution with the flat-corpus model
nahiyankhan Jul 2, 2026
6622265
haunt: distinguish matched vs always-offered checks; teach the two-te…
nahiyankhan Jul 2, 2026
f329192
cli: unify the family — ghost hub, ghost-haunt subtool, collision alias
nahiyankhan Jul 2, 2026
39f6a82
Collapse .haunt/ into the fingerprint: haunt is a plugin at .ghost/ha…
nahiyankhan Jul 2, 2026
6bee728
fingerprint: plugins manifest key, gather materials, uniform index id
nahiyankhan Jul 2, 2026
700a600
docs: amend the constitution for materials, the plugins key, and the …
nahiyankhan Jul 2, 2026
b2d9e73
docs: collapse onto the flat-corpus model
nahiyankhan Jul 2, 2026
9b97a28
feat: ghost pull — read selected truths through a chokepoint, with a …
nahiyankhan Jul 2, 2026
0b562e2
Collapse haunt into the fingerprint: haunts as opt-in capabilities, l…
nahiyankhan Jul 3, 2026
0e48f76
docs: align consumer docs with the flat-corpus + haunts model
nahiyankhan Jul 3, 2026
8d6923d
vessel: re-author .ghost as a flat-corpus fingerprint with checks
nahiyankhan Jul 3, 2026
dc6df8a
Make steering the default init template
nahiyankhan Jul 4, 2026
144fecd
Add portable material and wild generation surfaces
nahiyankhan Jul 4, 2026
f66c532
Add changesets for fingerprint portability features
nahiyankhan Jul 4, 2026
f1e7259
Rename scope, steer pull/review/pulse, add node prose stances
nahiyankhan Jul 6, 2026
0d6a246
Rename scope to @design-intelligence, rewrite README thesis
nahiyankhan Jul 6, 2026
df3f721
Retire the three-lenses vocabulary for the steering dimensions the CL…
nahiyankhan Jul 6, 2026
5d54a1c
Add research references doc mapping steering claims to validated sources
nahiyankhan Jul 6, 2026
75deea4
Merge branch 'main' into reincarnation
nahiyankhan Jul 6, 2026
91427f1
Use DESIGN_INTELLIGENCE_NPM_PUBLISH_TOKEN secret in release workflow
nahiyankhan Jul 7, 2026
1c90067
Re-author the repo's own .ghost fingerprint under the flat-corpus model
nahiyankhan Jul 7, 2026
94f3007
Remove the haunt abstraction; checks become core at .ghost/checks/
nahiyankhan Jul 7, 2026
1974bc0
Downgrade checks changeset to minor; the removed surface never shipped
nahiyankhan Jul 7, 2026
f844718
Downgrade all major changesets to minor
nahiyankhan Jul 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .agents/skills/create-pr/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,22 +72,22 @@ personal or non-Block repositories.

## Step 4: Check Release Hygiene

Ghost publishes only `@anarchitecture/ghost`; private packages are ignored by
Ghost publishes only `@design-intelligence/ghost`; private packages are ignored by
Changesets.

Inspect the diff and decide whether a changeset is required:

- Required: user-visible changes to the public package, including CLI behavior,
public exports, schema behavior, package output, docs that affect users, or
fixes shipped through `@anarchitecture/ghost`.
fixes shipped through `@design-intelligence/ghost`.
- Usually not required: tests only, internal scripts only, private package only,
CI-only changes, or docs/ideas notes that are not release-facing.

When a changeset is required, create one before the PR:

```markdown
---
"@anarchitecture/ghost": patch
"@design-intelligence/ghost": patch
---

One sentence, user-facing, present tense.
Expand Down
5 changes: 5 additions & 0 deletions .changeset/authoring-is-elicitation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
8 changes: 8 additions & 0 deletions .changeset/binding-path-road.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@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 <file>` composes that surface's slice.
The contract still carries no paths — bindings own all path matching.
5 changes: 5 additions & 0 deletions .changeset/capture-node-prose-stances.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/checks-review-on-graph.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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 <incarnation>` to filter grounding to one output form. Exemplar `path:` is dropped from grounding.
5 changes: 5 additions & 0 deletions .changeset/collapse-containment-into-folder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/collapse-graph-remove-checks-review-migrate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/composition-graph-gaps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/composition-init-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
2 changes: 1 addition & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": ["ghost-ui", "ghost-docs", "ghost-fleet"]
"ignore": ["@design-intelligence/vessel", "ghost-docs"]
}
5 changes: 5 additions & 0 deletions .changeset/consumption-posture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@design-intelligence/ghost": minor
---

Adds opt-in wild consumption posture for glossary kinds and gather/pull/pulse observability.
14 changes: 14 additions & 0 deletions .changeset/corridor-gather.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/cross-package-extends.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@design-intelligence/ghost": minor
---

Add cross-package inheritance via `extends`. A package's `manifest.yml` can declare `extends: { <id>: <dir> }`, 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 `<package-id>:<path>` form replaces the earlier npm-style `<pkg>#<id>` 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).
5 changes: 5 additions & 0 deletions .changeset/delete-dormant-entrypoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/described-nodes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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`.
18 changes: 18 additions & 0 deletions .changeset/directory-tree-nodes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
"@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.
9 changes: 9 additions & 0 deletions .changeset/docs-check-binding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@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.
6 changes: 6 additions & 0 deletions .changeset/docs-node-model-refresh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@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).
5 changes: 5 additions & 0 deletions .changeset/drop-dead-deps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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).
5 changes: 5 additions & 0 deletions .changeset/events-tape-first-write-notice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
8 changes: 8 additions & 0 deletions .changeset/exit-code-contract.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/export-source-ref-parser.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
9 changes: 9 additions & 0 deletions .changeset/external-contract-references.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/facet-removal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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).
9 changes: 9 additions & 0 deletions .changeset/fingerprint-grounding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/first-node-onramp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
7 changes: 7 additions & 0 deletions .changeset/gather-command.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@design-intelligence/ghost": minor
---

Add `ghost gather <surface>`: 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.
5 changes: 5 additions & 0 deletions .changeset/gather-kind-legend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/gather-on-graph-incarnation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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 <incarnation>` to filter the packet to one output form (e.g. email, billboard, voice) while always keeping essence (untagged) nodes.
10 changes: 10 additions & 0 deletions .changeset/gather-ranking-and-surface-guard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
"@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.
9 changes: 9 additions & 0 deletions .changeset/gather-vocab.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@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.
9 changes: 9 additions & 0 deletions .changeset/ghost-check-format.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/ghost-local-pulse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@design-intelligence/ghost": minor
---

Add local gather/pull event tracing and a pulse report for fingerprint tuning.
5 changes: 5 additions & 0 deletions .changeset/goose-skill-install-target.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/inventory-lens-reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@design-intelligence/ghost": patch
---

Add an inventory-lens authoring reference to the skill bundle.
5 changes: 5 additions & 0 deletions .changeset/materials-transport.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@design-intelligence/ghost": minor
---

Ghost validates material locator liveness and inlines small local materials during pull.
8 changes: 8 additions & 0 deletions .changeset/migrate-command.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/node-authoring.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@design-intelligence/ghost": minor
---

`ghost init` now scaffolds a node package (`manifest.yml` + a core `index.md` node) via a template registry (`--template <name>`, `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.
5 changes: 5 additions & 0 deletions .changeset/one-road-remove-binding-and-nesting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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 <ids>` 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.
5 changes: 5 additions & 0 deletions .changeset/pull-command.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@design-intelligence/ghost": minor
---

Add `ghost pull <id> [<id>…]`: emit selected nodes' prose bodies and record selections in the `.ghost/.events` events tape for fingerprint tuning.
5 changes: 5 additions & 0 deletions .changeset/quiet-owls-export.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@design-intelligence/ghost": minor
---

Adds `ghost export` to package fingerprints as portable brand artifacts with material locator audits.
5 changes: 5 additions & 0 deletions .changeset/readme-flat-model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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`).
5 changes: 5 additions & 0 deletions .changeset/remove-compare-drift-fleet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
10 changes: 10 additions & 0 deletions .changeset/remove-extends.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
"@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 `<package>:<path>` colon ref is gone), and the catalog drops the
`origin` / inherited-node distinction. Use `ghost --package <dir>` to address a
package; there is no shared-brand inheritance in this version.
5 changes: 5 additions & 0 deletions .changeset/remove-haunt-terminology.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
9 changes: 9 additions & 0 deletions .changeset/remove-incarnation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@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.
9 changes: 9 additions & 0 deletions .changeset/remove-relay-and-legacy-commands.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@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.
5 changes: 5 additions & 0 deletions .changeset/remove-scan-signals-inventory.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@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.
9 changes: 9 additions & 0 deletions .changeset/remove-validate-one-check-format.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@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.
Loading
Loading