Ghost stack 4/6 — One-road: remove the binding, drive from the prompt#192
Draft
nahiyankhan wants to merge 10 commits into
Draft
Ghost stack 4/6 — One-road: remove the binding, drive from the prompt#192nahiyankhan wants to merge 10 commits into
nahiyankhan wants to merge 10 commits into
Conversation
A deliberate not-to-act note. Survey is isolated, works, and is unexposed (its command was removed in Phase 8; only internal importers remain). Removal is an excavation, not a deletion: comparable-fingerprint and perceptual-prior may depend on survey evidence, so the real question is whether ghost compare can compare from the fingerprint alone — a design call in a corner the reset never touched. Parked, not debt; surfaced only if a reason appears. Records what it is and the first move (read compare + perceptual-prior) if ever revisited.
…rompt The binding is the last place Ghost infers intent from repo location — the same drift-prone pattern the reset killed in the merge, the map, and relay. Since Cut C made all checks agent-evaluated, the no-LLM routing the binding protected no longer exists to protect. The agent already does whole-repo analysis, so it states the touched surfaces; Ghost keeps only what it alone does — deterministic slice composition for a named surface. Plan: reshape gather/checks/review off path-resolution first (gather drops --path; checks/review take agent-stated --surface, diff becomes embed-only), then delete the binding verify + file-kind dispatch, then the modules, then docs/skill/changeset. External-contract use survives via gather --package. Surface engine, cascade, grounding, and nested-package discovery untouched. Major changeset.
Corrects the plan after a sharp catch: keeping nested-package discovery was scaffolding for a concept being removed. Nesting only ever meant merge (killed 7b Cut 1) or binding (killed here) — so it has no meaning left. Decision: one contract per package; a monorepo's independent products run Ghost per-package or via --package. The cut now also removes the stack machinery, discoverGhostPackages, lint/verify --all, scan --include-nested, emit --path, and init --scope — after rescuing the load-bearing path helpers (resolveGitRoot, normalizeGhostDir, resolveGhostDirDefault, GHOST_PACKAGE_DIR_ENV, fingerprintPackageDisplayPath) into a neutral module. --package and GHOST_PACKAGE_DIR survive as direct addressing.
The real question under 'one giant yml': how should the contract file itself? We never chose — the facet files predate surfaces and surface: was bolted on. Applies purposes.md's one-model-many-projections to STORAGE for the first time: layout is a projection, the loader (assembleFingerprint) is the only boundary, and the in-memory GhostFingerprintDocument + every read consumer (resolve, gather, checks, grounding, compare) are untouched. Traces the domino effect: one hard change (the loader becomes a fold over surface dirs), a few writer/ scaffold updates (init, migrate, lint, scan-status), zero model change. Surface-first colocates concepts, makes surface: implicit-by-location inside the contract (not the repo — no binding coupling), removes the tag from the schema, and mirrors the cascade with core/ as the cross-cutting home. Open questions: the fork itself, one-file-vs-many per surface, keep surfaces.yml flat (yes — avoid dir-implied hierarchy reintroducing the flat-vs-nested trap). Composes after one-road. Exploration, not decision.
…ad pressure-test fixes
…p path resolution
…sted, emit --path, monorepo init)
dbf0c1b to
566b4c7
Compare
6ecff4f to
a35efe1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked PR 4 of 6 · base: `ghost/03-polish-cuts`
Remove the repo binding layer; gather/checks/review take agent-stated surfaces.
Contents
Stack order