FE-811: Elicitor cross-cut groundwork and read/project/render cleanup#177
Conversation
PR SummaryLow Risk Overview Adds temporary Architecture and design docs retire Fixture work adds hand-authored spread seeds ( Reviewed by Cursor Bugbot for commit c692b0f. Bugbot is set up for automated code reviews on this repo. Configure here. |
| "sessionJsonl": "runs/fixture-curation/fixture-curation-2026-06-05T104440Z/session.jsonl", | ||
| "transcriptMarkdown": "runs/fixture-curation/fixture-curation-2026-06-05T104440Z/transcript.md", | ||
| "reportJson": "runs/fixture-curation/fixture-curation-2026-06-05T104440Z/report.json", | ||
| "graphSnapshotJson": "runs/fixture-curation/fixture-curation-2026-06-05T104440Z/graph-snapshot.json" |
There was a problem hiding this comment.
Stale graph artifact field name
Medium Severity
Committed probe report.json files still expose artifacts.graphSnapshotJson pointing at graph-snapshot.json, while the same change retires that naming in .fixtures/README.md and probe writers persist graphOverviewJson and graph-overview.json. Portable path edits alone leave reference runs on a different contract than new runs and docs.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit f9274fc. Configure here.
There was a problem hiding this comment.
Pull request overview
This PR completes a broad “snapshot → read/project/render” terminology and topology cleanup across the web sidecar, RPC layer, Pi extensions, graph query surface, and probes/tests—while adding new context-read tools, expanding graph read modes, and landing the pin-only freestyle strategy plus ordinary-message explicit-text capture support.
Changes:
- Renames workspace “snapshot” to workspace “state” across RPC/web query keys, subscriptions, routes, and docs.
- Replaces graph “snapshot” reads with an expanded
graph/queriesread surface (overview, neighborhood, slices, related, gaps) and wires it through the runtime and Pi tools. - Adds/updates render-preview + golden preview infrastructure, portable probe artifact paths, and exchange projector/renderer re-homing under
projections/exchanges+renderers/exchanges.
Reviewed changes
Copilot reviewed 189 out of 196 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/web/subscriptions/brunch-updates.ts | Update invalidation topics/keys from workspace.snapshot → workspace.state. |
| src/web/routes/spec.tsx | Route loader + components now read/render workspace state. |
| src/web/README.md | Update topology docs and query-key examples to workspace.state. |
| src/web/query-keys.ts | Rename workspace key family from snapshot() to state(). |
| src/web/queries/workspace.ts | Rename queryOptions + RPC method from snapshot → state. |
| src/web/queries/graph.ts | Point graph web types at graph/queries instead of snapshot module. |
| src/web/features/graph/GraphOverview.tsx | Update GraphOverview type import path. |
| src/session/structured-exchange-loop.ts | Re-home exchange projectors/renderers; round-trip respondsToPresentTool. |
| src/session/structured-exchange-loop.test.ts | Add test proving present_candidates provenance survives and affects capture tool. |
| src/session/runtime-state.ts | Add freestyle strategy id; export strategy id list. |
| src/session/runtime-state.test.ts | Test freestyle parsing; rename mention watermark field to seenLsn. |
| src/session/README.md | Update lexicon from snapshot language to context/read language. |
| src/session/jsonl-session-viability.test.ts | Update mention payload field name to seenLsn. |
| src/scripts/render-preview.ts | New CLI script for deterministic renderer previews from seeded fixtures. |
| src/scripts/README.md | Document new render-preview utility and updated print-mode wording. |
| src/rpc/websocket.ts | Use WebSocket.OPEN-based readiness predicate for send safety. |
| src/rpc/web-host.test.ts | Update RPC method names/expectations to workspace.state. |
| src/rpc/README.md | Update method catalog (workspace.state, session.submitMessage) and topic list. |
| src/rpc/protocol.test.ts | Update protocol tests to use workspace.state. |
| src/rpc/product-updates.ts | Rename update topic union + selected-session updates to workspace.state. |
| src/rpc/methods/workspace.ts | Rename read method to workspace.state; project via projectWorkspaceState. |
| src/rpc/methods/registry.ts | Make method registry enforce uniqueness (throw on duplicates). |
| src/rpc/methods/registry.test.ts | New tests for duplicate-method detection and indexing. |
| src/renderers/workspace/workspace-state.ts | New print-mode renderer for workspace state. |
| src/renderers/workspace/workspace-state.test.ts | Update print-mode tests to state projector/renderer. |
| src/renderers/workspace/workspace-snapshot.ts | Remove snapshot renderer (replaced by workspace-state). |
| src/renderers/workspace/workspace-context.ts | New renderer for workspace cwd inventory / workspace overview context. |
| src/renderers/toon.ts | Update docstring terminology from “snapshots” to “context”. |
| src/renderers/structured-exchange/capture-review.ts | Remove retired structured-exchange capture stub. |
| src/renderers/structured-exchange/capture-choices.ts | Remove retired structured-exchange capture stub. |
| src/renderers/structured-exchange/capture-choice.ts | Remove retired structured-exchange capture stub. |
| src/renderers/structured-exchange/capture-candidate.ts | Remove retired structured-exchange capture stub. |
| src/renderers/structured-exchange/capture-answer.ts | Remove retired structured-exchange capture stub. |
| src/renderers/session/runtime-frame.ts | New renderer for selected-session runtime “frame” context. |
| src/renderers/session/runtime-frame.test.ts | Golden-style preview test for runtime-frame rendering. |
| src/renderers/session/previews/runtime-frame-ready.md | New locked preview artifact for runtime-frame rendering. |
| src/renderers/README.md | Update renderer topology: structured-exchange → exchanges, snapshot → state. |
| src/renderers/markdown.ts | Update docstring references to renderers/exchanges/*. |
| src/renderers/graph/reconciliation-needs.ts | Update terminology from snapshot → context. |
| src/renderers/graph/overview.ts | Update terminology from snapshot → context. |
| src/renderers/graph/neighborhood.ts | Update terminology from snapshot → context. |
| src/renderers/graph/neighborhood.test.ts | Add locked preview test for graph neighborhood preview output. |
| src/renderers/graph/previews/neighborhood-code-health-R1.preview.md | New preview artifact for neighborhood renderer/script output. |
| src/renderers/graph/previews/neighborhood-code-health-R1.md | New golden snapshot for neighborhood preview locking. |
| src/renderers/exchanges/request-review.ts | Update imports to projections/exchanges/*. |
| src/renderers/exchanges/request-choices.ts | Update imports to projections/exchanges/*. |
| src/renderers/exchanges/request-choice.ts | Update imports to projections/exchanges/*. |
| src/renderers/exchanges/request-answer.ts | Update imports to projections/exchanges/*. |
| src/renderers/exchanges/present-review-set.ts | Update imports to projections/exchanges/*. |
| src/renderers/exchanges/present-question.ts | Update imports to projections/exchanges/*. |
| src/renderers/exchanges/present-options.ts | Update imports to projections/exchanges/*. |
| src/renderers/exchanges/present-candidates.ts | Update docstring path reference to projections/exchanges/*. |
| src/README.md | Update repo topology/migration notes (snapshot → state; structured-exchange → exchanges). |
| src/projections/workspace/workspace-state.ts | Rename DTO + projector to WorkspaceState / projectWorkspaceState. |
| src/projections/workspace/workspace-context.ts | New workspace context projection types + constructors. |
| src/projections/topology-boundaries.test.ts | Update structured-exchange exception list paths to exchanges. |
| src/projections/structured-exchange/capture-review.ts | Remove retired projection stub. |
| src/projections/structured-exchange/capture-choices.ts | Remove retired projection stub. |
| src/projections/structured-exchange/capture-choice.ts | Remove retired projection stub. |
| src/projections/structured-exchange/capture-candidate.ts | Remove retired projection stub. |
| src/projections/structured-exchange/capture-answer.ts | Remove retired projection stub. |
| src/projections/session/runtime-state.ts | Rename mention watermark field read to seenLsn. |
| src/projections/session/runtime-policy.ts | Allow freestyle strategy for elicitor role. |
| src/projections/README.md | Update topology doc: structured-exchange → exchanges; snapshot → state. |
| src/projections/graph/reconciliation-needs.ts | Update docstring references to graph/queries. |
| src/projections/graph/overview.ts | Update docstring references to graph/queries. |
| src/projections/graph/neighborhood.ts | Import NeighborhoodResult from graph/queries and stop leaking edge ids in edge strings. |
| src/projections/exchanges/review-set-payload.ts | New adapter from review-set details payload → graph review-set proposal payload. |
| src/projections/exchanges/request-review.ts | New canonical projector for request_review details. |
| src/projections/exchanges/request-choices.ts | New canonical projector for request_choices details. |
| src/projections/exchanges/request-choice.ts | Add present-tool provenance → capture-tool derivation in tool_meta. |
| src/projections/exchanges/request-choice.test.ts | New tests proving request_choice next-tool depends on present tool. |
| src/projections/exchanges/request-answer.ts | New canonical projector for request_answer details. |
| src/projections/exchanges/present-review-set.ts | New canonical projector for present_review_set details + payload bridging. |
| src/projections/exchanges/present-question.ts | Update docstring path reference for renderer. |
| src/projections/exchanges/present-options.ts | New canonical projector for present_options details. |
| src/projections/exchanges/present-candidates.ts | Update docstring path reference for renderer. |
| src/probes/submit-message-capture-proof.test.ts | New probe test proving submitMessage capture path commits graph truth. |
| src/probes/public-rpc-parity-proof.ts | Make persisted artifact refs fixture-relative + scrub ephemeral cwd. |
| src/probes/public-rpc-parity-proof.test.ts | Update artifact assertions to fixture-relative refs + cwd scrubbing. |
| src/probes/propose-graph-commit-proof.ts | Switch graph reads to queries; make artifacts portable + scrub cwd. |
| src/probes/propose-graph-commit-proof.test.ts | Update artifact assertions to fixture-relative refs. |
| src/probes/project-graph-review-cycle-proof.ts | Make artifacts portable + scrub cwd; rename graph artifact naming. |
| src/probes/project-graph-review-cycle-proof.test.ts | Update artifact assertions to fixture-relative refs. |
| src/probes/portable-report.ts | New helper to scrub ephemeral temp cwd from persisted reports. |
| src/probes/fixture-curation-loop.ts | Make artifacts portable + scrub cwd; rename graph artifact naming. |
| src/probes/fixture-curation-loop.test.ts | Update artifact assertions and add portability check. |
| src/probes/capture-response-to-graph-proof.ts | Make artifacts portable + scrub cwd; update GraphOverview import. |
| src/probes/capture-response-to-graph-proof.test.ts | Update artifact assertions to fixture-relative refs + cwd scrubbing. |
| src/graph/workspace-store.ts | Expand spec-scoped read surface (kinds/bands/related/gaps) via graph/queries. |
| src/graph/spec-ownership.test.ts | Switch snapshot reader imports to queries. |
| src/graph/seed-fixtures.test.ts | Add coverage fixtures tests and edge-category coverage assertions. |
| src/graph/review-set.test.ts | Switch graph overview read import to queries. |
| src/graph/render-preview.ts | New seeded-fixture harness used by render-preview script/tests. |
| src/graph/README.md | Update topology and naming: snapshot → queries; add preview harness docs. |
| src/graph/policy/category-policy.ts | Update doc comment terminology from snapshot → active-context. |
| src/graph/index.ts | Re-export expanded query read surface/types from graph/queries. |
| src/graph/export-fixtures.ts | Switch GraphOverview import source to queries. |
| src/graph/capture/structured-response.ts | Add explicit-text capture entrypoint; preserve repeated labels via suffixed refs. |
| src/graph/capture/structured-response.test.ts | Add tests for repeated labels and explicit-text capture source prefix. |
| src/app/brunch.ts | Print mode now renders workspace state (project + render state). |
| src/app/brunch.test.ts | Update print/RPC parity tests + product update topics to workspace.state. |
| src/app/brunch-tui.ts | Rename injected graph deps from snapshots → reads; add expanded read surface. |
| src/app/brunch-tui.test.ts | Ensure new context tools are registered/available. |
| src/.pi/skills/strategies/README.md | Document new freestyle strategy and constraints. |
| src/.pi/skills/strategies/freestyle.md | New strategy guidance (pin-only; capture discipline). |
| src/.pi/skills/methods/read-snapshot.md | Remove obsolete method doc (snapshot terminology retired). |
| src/.pi/skills/methods/read-context.md | New method doc aligned with context/read terminology. |
| src/.pi/extensions/system-prompts/index.ts | Rename prompt bundle snapshots → context; graphSnapshots → graphReads. |
| src/.pi/extensions/graph/tool-schemas.ts | Expand read_graph modes + projection parameter; add related/gaps schema. |
| src/.pi/extensions/graph/command-adapter.ts | Add related-nodes formatting; make overview formatting heading-configurable. |
| src/.pi/extensions/exchanges/shared/editor-fallback.ts | Update imports for exchanges projector/renderers. |
| src/.pi/extensions/exchanges/schemas/README.md | Update projector/renderer topology docs to new exchanges paths. |
| src/.pi/extensions/exchanges/request-review.ts | Update imports to new exchanges projector/renderer paths. |
| src/.pi/extensions/exchanges/request-choices.ts | Update imports to new exchanges projector/renderer paths. |
| src/.pi/extensions/exchanges/request-choice.ts | Update imports to new exchanges projector/renderer paths. |
| src/.pi/extensions/exchanges/request-answer.ts | Update imports to new exchanges projector/renderer paths. |
| src/.pi/extensions/exchanges/present-review-set.ts | Update imports to new exchanges projector/renderer paths. |
| src/.pi/extensions/exchanges/present-question.ts | Update imports to new exchanges projector/renderer paths. |
| src/.pi/extensions/exchanges/present-options.ts | Update imports to new exchanges projector/renderer paths. |
| src/.pi/extensions/exchanges/index.ts | Correct tool-result details export alias to the full RequestDetails union. |
| src/.pi/extensions/context/get-cwd.ts | Replace old concept stub with real read_workspace_context implementation. |
| src/.pi/extensions/AUDIT.md | Remove retired audit snapshot (stale/obsolete). |
| src/.pi/brunch-pi-extensions.ts | Add context extension; make prompting registration order declarative (no splice). |
| src/.pi/agents/state.test.ts | Ensure context tools appear in active tool sets; add freestyle pin-only checks. |
| src/.pi/agents/README.md | Update doc terminology from snapshots to context. |
| src/.pi/agents/index.ts | Rename exported prompt bundle type to AgentPromptContextBundle. |
| src/.pi/agents/contexts/node.ts | Update neighborhood type import to graph/queries. |
| src/.pi/agents/contexts/node.test.ts | Update expected edge rendering (no #id: prefix). |
| src/.pi/agents/contexts/graph.ts | Update GraphOverview import path to graph/queries. |
| src/.pi/agents/contexts/graph.test.ts | Update GraphOverview import path to graph/queries. |
| src/.pi/agents/compose.ts | Rename pushed “snapshots” to pushed “context blocks” in prompt composer. |
| src/.pi/agents/compose.test.ts | Update prompt composition tests for context renames + freestyle pinning. |
| src/.pi/tests/structured-exchange-boundaries.test.ts | Update structured-exchange projector root to projections/exchanges. |
| src/.pi/tests/prompting.test.ts | Update prompt-pack topology tests for graphReads + context tool activation. |
| src/.pi/tests/operational-mode.test.ts | Update active tool list expectations to include read_session_context. |
| src/.pi/tests/extension-registry.test.ts | Add context extension to explicit registry + tool list. |
| package.json | Add render script entry for render-preview. |
| memory/cards/project-graph-review-cycle--real-probe.md | Remove retired card (superseded/rolled into canonical planning). |
| memory/cards/poc-live-ship-gate--live-mention-autocomplete.md | Update status and terminology (reads vs snapshots). |
| memory/cards/dev-seed-fixtures--semantic-graph-mutations.md | Update terminology (graph readers) and planning notes. |
| docs/testing/seeded-dev-rpc.md | Rename artifact from graph-snapshot to graph-overview. |
| docs/praxis/manual-testing.md | Update wording away from “snapshot” terminology. |
| docs/praxis/ln-skills.md | Add coverage-frontier guidance and routing. |
| docs/design/SPEC_INITIATIVE_MODEL.md | Update snapshot wording to state replacement wording. |
| docs/architecture/prd.md | Update snapshot wording to context/state wording. |
| docs/architecture/pi-wrapper-comparative.md | Update print mode wording to state render. |
| .fixtures/seeds/workspace-spread/README.md | New multi-spec workspace seed documentation. |
| .fixtures/seeds/workspace-spread/beta-commitments.json | New seed fixture for commitments-grade workspace spread. |
| .fixtures/seeds/workspace-spread/alpha-grounding.json | New seed fixture for grounding-grade workspace spread. |
| .fixtures/seeds/kind-band-spread/README.md | New coverage fixture documentation for kind/band spread. |
| .fixtures/seeds/kind-band-spread/coverage-matrix.json | New seed fixture covering all node kinds + readiness bands. |
| .fixtures/seeds/edge-spread/README.md | New edge-category coverage fixture documentation. |
| .fixtures/seeds/bilal-port/duplicate-edge-policy.ts | New dedupe policy module for seed porting (source outranks synthetic). |
| .fixtures/seeds/bilal-port/duplicate-edge-policy.test.ts | Tests for dedupe precedence and keying behavior. |
| .fixtures/seeds/bilal-port/_port-script.ts | Integrate dedupe precedence policy for edge emission. |
| .fixtures/runs/public-rpc-parity/2026-05-29-public-rpc-parity/report.json | Scrub ephemeral cwd + make artifact refs relative. |
| .fixtures/runs/propose-graph-commit/2026-06-04-retry-diagnostics/report.json | Scrub ephemeral cwd + make artifact refs relative. |
| .fixtures/runs/propose-graph-commit/2026-06-04-existing-code-ref/report.json | Scrub ephemeral cwd + make artifact refs relative. |
| .fixtures/runs/propose-graph-commit/2026-06-04-ambiguity-no-overcommit/report.json | Scrub ephemeral cwd + make artifact refs relative. |
| .fixtures/runs/propose-graph-commit/2026-06-02-propose-graph-commit/report.json | Scrub ephemeral cwd + make artifact refs relative. |
| .fixtures/runs/project-graph-review-cycle/2026-06-06-project-graph-review-cycle/report.json | Scrub ephemeral cwd + make artifact refs relative; update report text encoding. |
| .fixtures/runs/fixture-curation/fixture-curation-2026-06-05T104440Z/report.json | Scrub ephemeral cwd + make artifact refs relative; update report text encoding. |
| .fixtures/README.md | Rename artifact naming from graph-snapshot.json → graph-overview.json. |
| .agents/skills/ln-scope/SKILL.md | Add Mode: coverage scope file semantics. |
| .agents/skills/ln-review/SKILL.md | Extend review rubric with contract-integrity category and cues. |
| .agents/skills/ln-plan/SKILL.md | Add coverage-frontier shape guidance (not a third posture). |
| .agents/skills/ln-judo-review/SKILL.md | Add ambient-contract reliance cues + category. |
| .agents/skills/ln-consult/SKILL.md | Add routing guidance for coverage-frontier planning. |
| .agents/skills/ln-build/SKILL.md | Add execution loop for Mode: coverage ledgers. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| const sourceCode = source ? formatGraphNodeCode(source.kind, source.kindOrdinal) : `#${edge.sourceId}`; | ||
| const targetCode = target ? formatGraphNodeCode(target.kind, target.kindOrdinal) : `#${edge.targetId}`; | ||
| const direction = result.anchors.some((anchor) => anchor.id === edge.sourceId) | ||
| ? 'outgoing' | ||
| : 'incoming'; | ||
| lines.push(` - ${sourceCode} -[${edge.category}/${direction}]-> ${targetCode}`); |
| const handle = stringField(data.handle); | ||
| const title = stringField(data.title); | ||
| const seenLsn = integerField(data.snapshottedLsn); | ||
| const seenLsn = integerField(data.seenLsn); |
Tests only; intentionally failing until the following commits land: - seed-port duplicate-edge precedence (source outranks synthetic) - portable, fixture-relative probe artifact references - request_choice next-tool metadata for options and candidates Amp-Thread-ID: https://ampcode.com/threads/T-019e9df9-7f47-77b8-9672-bdf06fad412b Co-authored-by: Amp <amp@ampcode.com>
… union The export aliased a single request_choice variant, so consumers (the structured-exchange RPC proof) typed terminal details as one variant instead of the full request-details union. Alias RequestDetails so the public terminal-details type names every request outcome. Amp-Thread-ID: https://ampcode.com/threads/T-019e9df9-7f47-77b8-9672-bdf06fad412b Co-authored-by: Amp <amp@ampcode.com>
Replace the per-instance client.OPEN readiness check with an isWebSocketOpen predicate that reads against the runtime WebSocket.OPEN constant from ws. Transport delivery behavior is unchanged. Amp-Thread-ID: https://ampcode.com/threads/T-019e9df9-7f47-77b8-9672-bdf06fad412b Co-authored-by: Amp <amp@ampcode.com>
Place the prompting registrar at its named position in the extension list via a conditional spread when prompt context exists, replacing the numeric extensions.splice(4, 0, ...) insertion. Registration order is unchanged. Amp-Thread-ID: https://ampcode.com/threads/T-019e9df9-7f47-77b8-9672-bdf06fad412b Co-authored-by: Amp <amp@ampcode.com>
Derive the capture tool from the present tool the request answers: present_options answers with capture_choice, present_candidates with capture_candidate. Only answered responses carry tool_meta.next. Amp-Thread-ID: https://ampcode.com/threads/T-019e9df9-7f47-77b8-9672-bdf06fad412b Co-authored-by: Amp <amp@ampcode.com>
Split probe artifact writing into absolute disk paths (used for mkdir/writeFile) and fixture-root-relative references persisted into the report JSON, for the project-graph-review-cycle and fixture-curation probes. Rewrite the two committed reports to the portable contract so they no longer carry developer-machine absolute paths. Amp-Thread-ID: https://ampcode.com/threads/T-019e9df9-7f47-77b8-9672-bdf06fad412b Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2b1-f9b4-7149-be03-d32b53acad0d Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2cd-4cd9-7605-a68b-fb058c96be0f Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2cd-4cd9-7605-a68b-fb058c96be0f Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2de-8427-743f-ab20-1a8f625ca327 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2ea-d673-733f-b1e3-ee6c5cfa0086 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2ea-d673-733f-b1e3-ee6c5cfa0086 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2ea-d673-733f-b1e3-ee6c5cfa0086 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea305-c35b-7127-a7f4-083a05986ea4 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea305-c35b-7127-a7f4-083a05986ea4 Co-authored-by: Amp <amp@ampcode.com>
Close the D66-L freestyle + generalized-capture rows in the cross-cut ledger (Seam 2 auto-capture, Seam 3a freestyle, Seam 3b generalized capture all built) and delete the exhausted scope card. Scope two follow-on slices: - crosscut-know--elicitation-backlog: D65-L flat-table substrate tracer (table + CommandExecutor mutation + seed at createSpec + read-back), retiring A24-L; per-turn driver + capture-reflection left as an unscoped follow-on. - crosscut-know--resource-body-depth: deepen the thin .pi/skills goal/strategy/lens/method bodies. Drift correction: exchange-tool .description()/promptGuidelines row marked built (all 7 exchange tools already carry both). Amp-Thread-ID: https://ampcode.com/threads/T-019ea2fc-9f12-767d-bd7a-08497f7307fd Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2ec-7506-74ed-a4e0-99b8d800442f Co-authored-by: Amp <amp@ampcode.com>
Align the D65-L substrate card with the snapshot-retirement migration (35eff39): the backlog read-back is a domain read in graph/queries.ts, not src/projections/ (reserved for reusable multi-consumer DTOs). Adds a topology note and updates boundary crossings, D52-L obligation, verification, and touched paths.
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2ec-7506-74ed-a4e0-99b8d800442f Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019ea2ec-7506-74ed-a4e0-99b8d800442f Co-authored-by: Amp <amp@ampcode.com>
e422e5d to
46469ce
Compare
f9274fc to
c692b0f
Compare
Merge activity
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c692b0f. Configure here.
|
|
||
| const deduped = dedupeSeedEdgesByPrecedence(edgeCandidates); | ||
| const brunchEdges = deduped.edges; | ||
| stats.edges_dropped_duplicate_after_collapse = deduped.duplicatesDropped; |
There was a problem hiding this comment.
Port script fix without seed regen
Medium Severity
The Bilal port script now resolves duplicate edges with source-over-synthetic precedence, but the committed <slug>.json seed files in this commit are not regenerated. npm run seed still loads JSON produced under the old first-wins rule.
Reviewed by Cursor Bugbot for commit c692b0f. Configure here.



What This Branch Actually Landed
elicitation_backlogpromotion, and the remaining temporary cross-cut residuesnapshotas an architecture noun in favor of the read -> project -> render split, and realigns exchange renderers undersrc/renderers/exchangesfreestylestrategy and ordinary-message explicit-text capture as part of the elicitor cross-cut completion workNot This PR
poc-live-ship-gatefrontier itself; the FE-811 branch name is now mostly historical stack ancestry