FE-811: Ship-gate rename residue and live mention autocomplete#179
Draft
lunelson wants to merge 24 commits into
Draft
Conversation
This was referenced Jun 8, 2026
Contributor
Author
Apply the hardened coverage admission gate: the coverage layer is mostly closed. Reclassify exchanges-and-generalized-capture from coverage to a bounded feature (its exchange inventory is already materialized across the three layers) and add renderer-golden-coverage as the one genuinely-open coverage frontier (preview harness exists; lock/formalize stage never adopted) — parallel, discretionary, never a ship gate. Record the temporary-ledger precedence of elicitation-driver over new coverage breadth, and fix the stale poc-live-ship-gate autocomplete-parked note. Amp-Thread-ID: https://ampcode.com/threads/T-019ea6aa-0ce3-766e-8458-36e6a4450587 Co-authored-by: Amp <amp@ampcode.com>
Apply the second planner's corrections after verifying renderer/exchange state in code: - renderer-golden-coverage: partial-oracle completion, not greenfield (graph/neighborhood + session/runtime-frame already carry goldens); bound to durable renderers, exclude markdown/toon helpers and stubs - exchanges-and-generalized-capture: bounded proving feature because the load-bearing unknown is capture semantics, not breadth closure; some exchange breadth still deferred/topology-stubbed (present-candidates) - elicitation-driver: bounded feature / cross-cut closing row, not coverage Amp-Thread-ID: https://ampcode.com/threads/T-019ea6aa-0ce3-766e-8458-36e6a4450587 Co-authored-by: Amp <amp@ampcode.com>
Surfaced from manual feedback-loop work: locking prompt partials and composeAgentPrompt output is a second open coverage frontier of the same partial-oracle kind as renderer-golden-coverage. Verified state: compose.test.ts / prompting.test.ts are invariant-rich (structure, manifest legality, grade filtering, pin rules, >=700-char depth floor) but no golden lock of partial bodies or composed-prompt output exists, and there is no composed-prompt preview harness. Framed as partial-oracle completion, not greenfield. Parallel/discretionary, never a ship gate, does not preempt elicitation-driver (which pairs with it). Updated coverage narrative, sequencing, ASCII map, and notes to carry both locking frontiers. Amp-Thread-ID: https://ampcode.com/threads/T-019ea6aa-0ce3-766e-8458-36e6a4450587 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea6aa-0ce3-766e-8458-36e6a4450587 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea6aa-0ce3-766e-8458-36e6a4450587 Co-authored-by: Amp <amp@ampcode.com>
…ojections Replace the two drifting category→metadata tables (EDGE_CATEGORY_METADATA in schema/edges.ts and the drifted CATEGORY_POLICY) with a single EDGE_CATEGORY_METADATA in policy/category-policy.ts. The old pair disagreed on impact direction for proof/support; the consolidated table carries endpoint roles, impact direction+strength (none/advisory/cascade), criteria-help, and projection effect in one place. Add two anchor-relative projections derived from it: - projection/labels.ts: direction-aware semantic phrasing (two-tier). - projection/direction.ts: upstream/downstream/lateral for the reconciliation flow, derived from the impact columns. Wire node-neighborhood renderer to group incident edges by directional relation and label each line semantically; retire the inline endpoint role-token leak (graph-slice + edges.ts return to baseline). Reconcile GRAPH_MODEL.md and graph/README.md to the new shape. Amp-Thread-ID: https://ampcode.com/threads/T-019ea862-2101-73ce-8c08-09aca617f03a Co-authored-by: Amp <amp@ampcode.com>
Add edge-spread/hub-neighborhood.json: one requirement anchor wired to naturally-typed neighbors covering every edge category in both relation directions, both proof/support stances, the three realization refinements (expresses / implemented by / established by), hard vs soft impact, a lateral association, and an ambient cross-neighbor edge. Lock three renderer previews exercising the projection layer: - neighborhood-hub-REQ1: integrated directional + semantic render (hops=1) - neighborhood-hub-REQ1-hops2: ambient-edge counting at hops=2 - graph-slice-category-directions-full-debug: anchorless flat edge render across all categories (regression-guards the reverted slice renderer) Amp-Thread-ID: https://ampcode.com/threads/T-019ea862-2101-73ce-8c08-09aca617f03a Co-authored-by: Amp <amp@ampcode.com>
…shape-only renderer previews Split verification along the design seam: labels and directionality are pure functions, so they own correctness; renderers own only output shape. Projection unit tests, now the full executable lookup matrices: - labels.test.ts: every Tier-1 (category, anchorRole, stance) base cell + every Tier-2 (category, sourceKind, targetKind) realization refinement. - direction.test.ts: every category's impact axis and the neighbor relation+strength from both anchor endpoints. Renderer tests consolidated into one home, src/renderers/graph/previews.test.ts: - the locked __previews__/*.md snapshot IS the assertion; positive 'looks like X' string matches removed (the projection matrices prove those). - only cross-cutting shape invariants kept: no raw structural vocabulary leaks into anchored projections, and large-graph slices stay bounded. - adds neighborhood-hub-REQ1-bounded preview locking maxEdges omission. - retires graph-slice.test.ts, node-neighborhood.test.ts, node-neighborhood-spread.test.ts, and the .pi wrapper node.test.ts (the wrapper is a pure pass-through; maxNeighbors dead option dropped). Also lands the architecture-boundary fix from the parallel agent: the real fixture-reads.test-support implementation moves to src/graph/, leaving a re-export shim under src/renderers/graph/. All src/graph + src/renderers + architecture tests pass (197). Unrelated pre-existing failure in src/probes/structured-exchange-ordering-proof remains (temp extension load), untouched. Amp-Thread-ID: https://ampcode.com/threads/T-019ea862-2101-73ce-8c08-09aca617f03a Co-authored-by: Amp <amp@ampcode.com>
…PLAN.md First fixture hand-derived from real planning prose rather than synthetic placeholders, proving the full loop: prose -> graph fixture -> the real propose-graph validator (seedFixture -> CommandExecutor) -> renderers. .fixtures/seeds/brunch-self/spec-graph.json: one planning_ready spec describing Brunch itself across all four planes. As a by-product of being faithful it covers every node kind and every edge category (both proof/support stances) and includes a supersession lineage. The grouped-list render shows 54 nodes / 30 edges from 55 / 31 authored because the active-context projection (D60-L) correctly hides the superseded predecessor requirement and its dangling edge. src/renderers/graph/previews.test.ts: locks a whole-spec grouped-list plus REQ1 (one-authority requirement) and MOD1 (CommandExecutor, hops=2) neighborhood previews. Seeding through readGraphSliceFixture also gates structural legality — the test fails if any node/edge is illegal. Validated: src/graph + src/renderers (195 tests) pass. Amp-Thread-ID: https://ampcode.com/threads/T-019ea862-2101-73ce-8c08-09aca617f03a Co-authored-by: Amp <amp@ampcode.com>
…e) + validate-fixture CLI Hand-derive structurally-legal spec graphs from four external projects' prose docs to exercise the propose-graph validator and graph renderers beyond the brunch-self example: - dumpchat 41 nodes / 33 edges (docs/SPEC.md, mostly faithful intent/design) - yamlbase 69 nodes / 65 edges (memory/SPEC.md + PLAN.md) - rd-loop 54 nodes / 35 edges (README + concept docs, more projection) - fable 67 nodes / 37 edges (memory/SPEC.md + ROADMAP.md) Each covers all four planes, every node kind, all eight edge categories, both proof/support stances, and one acyclic supersession lineage. Add src/graph/validate-fixture.ts, a standalone CLI that seeds one fixture through the real CommandExecutor and reports authored/stored/active-context counts, so fixtures can be authored and validated without test-file contention. Amp-Thread-ID: https://ampcode.com/threads/T-019ea862-2101-73ce-8c08-09aca617f03a Co-authored-by: Amp <amp@ampcode.com>
5412a06 to
753c9af
Compare
1447843 to
68273e3
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.

Regenerate fixture curation graph overview
Regenerate project graph review overview
Guard probe reports against retired graph tokens
Label non-anchor related edges as lateral
Use live graph nodes for mention autocomplete
Reconcile FE-811 ship gate cleanup