Skip to content

Rename gather slice vocabulary to plain language#203

Draft
nahiyankhan wants to merge 2 commits into
ghost/14-docs-check-bindingfrom
ghost/15-gather-vocab
Draft

Rename gather slice vocabulary to plain language#203
nahiyankhan wants to merge 2 commits into
ghost/14-docs-check-bindingfrom
ghost/15-gather-vocab

Conversation

@nahiyankhan

Copy link
Copy Markdown
Collaborator

Category: improvement
User Impact: The gather output and docs describe a surface's context in plain words instead of an unexplained spine/corridor/hub-and-spoke metaphor.
Problem: The gather slice was narrated with a stack of metaphors (spine, corridor, walls, hub-and-spoke) that a reader had to decode to understand one command, and the metaphor had leaked into the JSON contract as slice.spokes / kind "edge-hub" / field hub.
Solution: Rename the API to plain language and rewrite the prose to match. A slice is full bodies along a surface's path, one-hop relates edges, and pointers. edge provenance stays (a relates link genuinely is a graph edge); only the metaphor terms go.

Stacked on ghost/14-docs-check-binding (the docs/skill-bundle check-binding pass). Review or merge that first.

Breaking changes (no back-compat by request):

  • slice.spokes -> slice.pointers
  • pointer kind "edge-hub" -> "related"
  • pointer field .hub -> .from
  • GraphSpokeKind type -> GraphPointerKind

Validation:

  • pnpm build: pass
  • pnpm check: pass (biome, typecheck, terminology, file-size, packed tarball, manifest in sync)
  • pnpm test: 115 passed, 9 skipped
  • Smoke-tested live gather --format json: keys are surface, ancestors, nodes, pointers; spokes absent; pointer kinds descendant/related

Changeset: added (major — renamed public JSON/type surface)

Ghost Review:

  • ghost review --base ghost/14-docs-check-binding: not run; this is a vocabulary/output rename with no surface-composition or UI-generation behavior change, and .ghost/ is not present in this repo.
File changes

packages/ghost/src/ghost-core/graph/slice.ts
Core rename: GraphSpokeKind -> GraphPointerKind, slice.spokes -> pointers, kind "edge-hub" -> "related", field hub -> from; internal corridorFolders -> foldersOnPath, spineIds -> pathNodeIds; doc comment rewritten without spine/corridor/walls/hub.

packages/ghost/src/commands/gather-command.ts
Render pointers/from instead of spokes/hub; cleaned four em dashes in CLI output strings while here.

packages/ghost/src/ghost-core/graph/types.ts, node/schema.ts, scan/node-tree.ts, scan/templates.ts, scan/fingerprint-package-layers.ts
Comment-only: drop spine/corridor/walls metaphor wording.

packages/ghost/test/ghost-core/graph-slice.test.ts
Update assertions to pointers/related; de-metaphor test names and comments.

packages/ghost/src/skill-bundle/SKILL.md, references/schema.md
Describe pointers (not spokes); plain path wording.

apps/docs/src/content/docs/cli-reference.mdx, getting-started.mdx, docs/purposes.md
Reconcile prose to the new pointers field name and plain path language.

.changeset/gather-vocab.md
Major changeset documenting the renamed JSON/type surface.

Screenshots/Demos: N/A

Drop the spine/corridor/hub-and-spoke metaphor stack. The slice is full
bodies along a surface's path, one-hop relates edges, and pointers.

Breaking JSON/type changes (no back-compat):
- slice.spokes -> slice.pointers
- pointer kind "edge-hub" -> "related"
- pointer field .hub -> .from
- GraphSpokeKind type -> GraphPointerKind

The 'edge' provenance is unchanged (relates links are genuine graph edges).
Docs, skill bundle, code comments, and gather CLI output use plain wording;
em dashes in the touched CLI output strings are cleaned in passing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant