Skip to content

FE-1164: Point plan and scope card at the stacked ask-terminal branch#304

Merged
lunelson merged 27 commits into
nextfrom
ln/fe-1164-ask-terminal
Jul 8, 2026
Merged

FE-1164: Point plan and scope card at the stacked ask-terminal branch#304
lunelson merged 27 commits into
nextfrom
ln/fe-1164-ask-terminal

Conversation

@lunelson

@lunelson lunelson commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

FE-1164: Point plan and scope card at the stacked ask-terminal branch

Co-authored-by: Cursor cursoragent@cursor.com

FE-1164: Add rich-body exchange pickers

FE-1164: Cut standalone questions over to ask

FE-1164: Add declared ask continuations

FE-1164: Scope review-fix slice; graduate skip and ladder-amputation lenses; correct premature done status

Co-authored-by: Cursor cursoragent@cursor.com

Amend ln-scope/ln-build: oracle-bound acceptance leaves, invariants-preserved section, leaf-by-leaf completion, no silent skips

Co-authored-by: Cursor cursoragent@cursor.com

FE-1164: Close ask review fixes

FE-1164: Close review-fix residue: shared review-comment predicate, TUI-only narrowing named, empty-answer divergence documented

Co-authored-by: Cursor cursoragent@cursor.com

Harden ln-build completion reporting (leaf table, oracle-inverted divergences) and add ln-review card-conformance walk

Co-authored-by: Cursor cursoragent@cursor.com

Re-base FE-1163 sweep ledger for the ask cutover: exchanges family 5 to 4, guard ask's union-free schema

Co-authored-by: Cursor cursoragent@cursor.com

Plan hygiene after the merge wave: batch outer-loop residue into FE-1167, close component-dx, prune Horizon, fold blank-carriers into FE-1163 ledger

Co-authored-by: Cursor cursoragent@cursor.com

@lunelson lunelson force-pushed the ln/fe-1115-tui-refinements-1 branch from 7a30b1f to a9b403d Compare July 8, 2026 10:43
@lunelson lunelson force-pushed the ln/fe-1164-ask-terminal branch from 8096240 to 6f994ee Compare July 8, 2026 10:43
@lunelson lunelson marked this pull request as ready for review July 8, 2026 10:51
Copilot AI review requested due to automatic review settings July 8, 2026 10:51
@cursor

cursor Bot commented Jul 8, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Changes are documentation and Cursor agent skills only in this diff; no application runtime or auth/data paths are modified here.

Overview
This PR is mostly agent workflow and canonical docs, aligned with FE-1164 plan/branch bookkeeping rather than product runtime code in the shown diff.

Build and scope disciplineln-build and ln-scope now treat Invariants preserved as ongoing obligations, require each acceptance leaf to name an oracle, allow un-skipping as a valid red, forbid greening via silent .skip/.todo, and mandate a leaf-by-leaf completion table (with skip-count delta) before a scope card is retired. Sliced execution adds an explicit oracle walk step before reconcile.

Review tooling — New ln-pr-review skill (architectural lens + interactive gh pr review). ln-review gains a card-conformance leaf walk for consumed scope cards (including oracle-inverted divergences). contract-lenses.md adds lenses for uncommented skips and cutover precedence-ladder rewrites; folds the old fixture-vs-real audit into the opaque-companion lens.

Plan and design reconciliationmemory/PLAN.md reflects the merge wave, FE-1164/FE-1163 stacking, closed component-dx, new walkthrough-evidence-batch (FE-1167), Horizon pruning, and D116-L ask-cutover status. Large frontier blocks move to docs/archive/PLAN_HISTORY.md. Exchange design docs and TESTING_FINDINGS.md (F18–F20 ask-surface fixes) are updated for ask replacing request_response / present_question as the interactive terminal.

Reviewed by Cursor Bugbot for commit 11d68ec. Bugbot is set up for automated code reviews on this repo. Configure here.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR completes the FE-1164 structured-exchange cutover by introducing ask as the sole live terminal tool, shifting offer terminals to declared ask({ continues }) continuations, and updating the surrounding schemas/projections, TUI components, probes, and agent guidance to match the new ask-first contract.

Changes:

  • Replace present_question + request_response usage with ask (standalone + continuation) across session wiring, sweep classification, probes, and tests.
  • Add declared ask continuations to offer presents (present_candidates, present_digest, present_review_set) and thread option/markdown rendering through shared TUI markdown-body helpers.
  • Update schema/projection topology docs and agent skill/prompt guidance to teach the new ask contract.

Reviewed changes

Copilot reviewed 108 out of 108 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
TESTING_FINDINGS.md Adds FE-1164 Beat 6 walkthrough findings and fixes summary.
src/web/TOPOLOGY.md Updates web exchanges panel wording to reflect preserved request-detail vocabulary post-ask cutover.
src/treedocs.yaml Updates tree docs for new/renamed exchange modules and projections.
src/session/structured-exchange-loop/synthetic-tool-call.ts Adjusts synthetic toolCall argument shape for ask.
src/session/structured-exchange-loop/pending-exchange.ts Builds pending options from declared continuations; adds candidates pending path.
src/session/structured-exchange-loop/accepted-response.ts Switches minted toolName from request_response to ask for accepted responses.
src/session/exchange-projection.ts Tightens request/present closure logic to require tool_meta.prev.
src/session/tests/structured-exchange-loop.test.ts Updates tests to expect ask tool results and continuation-fed options.
src/session/tests/exchange-projection.test.ts Updates projection tests for ask toolName and ask next-tool metadata.
src/projections/session/sweep-watermark.ts Includes ask tool results in conversational sweep tail classification.
src/projections/session/sweep-watermark.test.ts Adds regression test ensuring ask tool results participate in sweep tails.
src/probes/structured-exchange-ordering-proof.ts Refactors ordering proof from present/request to ask-only flow.
src/probes/public-rpc-parity-proof.ts Updates parity proof to require ask coverage and validate ask option richness.
src/probes/tests/structured-exchange-ordering-proof.test.ts Updates ordering proof test expectations for the ask event/toolResult sequence.
src/probes/tests/public-rpc-parity-proof.test.ts Updates parity proof test assertions for new tool coverage and JSONL strings.
src/probes/tests/present-digest-supersession-proof.test.ts Pins sweep behavior for both live ask and legacy request_response digest terminals.
src/probes/tests/present-candidates-supersession-proof.test.ts Adds supersession proof for candidates with live ask and legacy terminals.
src/exchanges/TOPOLOGY.md Updates exchange topology to describe ask terminal + preserved request-detail discriminants.
src/exchanges/text.ts Adds shared optional-text normalization helpers.
src/exchanges/schemas/TOPOLOGY.md Updates schema topology docs for ask params and ask continuation wiring.
src/exchanges/schemas/shared.ts Introduces ask continuation declaration schema and updates offer tool_meta.next to ask.
src/exchanges/schemas/request.ts Adds zAskDetails to request details union and adjusts outcome-key typing.
src/exchanges/schemas/present.ts Allows optional ask continuation declaration on offer present details.
src/exchanges/schemas/params.ts Defines ask params for standalone vs continuation-by-reference usage with validation.
src/exchanges/schemas/tests/present.test.ts Updates offer present schema tests for next: ask and continuation payloads.
src/exchanges/schemas/tests/params.test.ts Adds parsing tests for zAskParams including reserved ids and blanks.
src/exchanges/recovery.ts Treats offer presents as continued by ask; skips legacy present_question in incomplete scan.
src/exchanges/projections/request-response/choices.ts Reuses shared text normalizer instead of local helper.
src/exchanges/projections/request-response/choice.ts Reuses shared text normalizer instead of local helper.
src/exchanges/projections/present-review-set.ts Sets next: ask and declares review-set ask continuation payload.
src/exchanges/projections/present-question.ts Refactors to shared text normalization.
src/exchanges/projections/present-digest.ts Sets next: ask and declares digest review continuation payload.
src/exchanges/projections/present-candidates.ts Sets next: ask and declares candidates continuation payload.
src/exchanges/projections/ask.ts Adds canonical standalone ask request-details projection.
src/exchanges/projections/tests/present-digest.test.ts Updates digest projection expectations for next: ask and continuation presence.
src/exchanges/projections/tests/present-candidates.test.ts Updates candidates projection expectations for next: ask and continuation payload.
src/exchanges/tests/recovery.test.ts Updates recovery tests around declared offer continuations and completion.
src/dev/component-preview/registry.ts Adds rich-body previews and an ask transcript renderer preview entry.
src/dev/component-preview/exchange-fixtures.ts Adds an ask fixture using projectAsk + formatAsk.
src/dev/tests/web-driver-streaming.exchange-convergence.test.ts Updates web-driver convergence test from request_response to ask.
src/dev/tests/web-driver-streaming-support.ts Updates helper functions to look for ask tool events/results.
src/dev/tests/tier-2-harness.test.ts Updates Tier-2 boot assertions to use ask in the exchange tool triad.
src/app/tests/brunch-tui.test.ts Updates tool registration/allowlist expectations to include ask and remove request_response.
src/agents/skills/propose/SKILL.md Updates propose chain to use ask(continues) for candidate recognition and review terminals.
src/agents/skills/propose/references/present-review-set.md Updates review-set drafting chain to ask({ continues }).
src/agents/skills/propose/references/oracle.md Updates oracle proposal chain to use ask(continues).
src/agents/skills/propose/references/intent.md Updates intent proposal chain to use ask(continues).
src/agents/skills/propose/references/design.md Updates design proposal chain to use ask(continues).
src/agents/skills/project/SKILL.md Updates project chain to use ask(continues) for recognition and terminals.
src/agents/skills/project/references/intent-to-design.md Updates intent-to-design chain to use ask(continues).
src/agents/skills/project/references/design-to-oracle.md Updates design-to-oracle chain to use ask(continues).
src/agents/skills/ingest/SKILL.md Updates digest flow to use ask({ continues }) for declared review terminal.
src/agents/skills/elicit/SKILL.md Updates elicitation guidance to use ask directly for focused questions.
src/agents/runtime/elicitor/active-tools.ts Replaces present_question/request_response with ask in live elicitor allowlist.
src/agents/runtime/elicitor/tests/active-tools.test.ts Updates allowlist test expectations for ask.
src/agents/references/readiness-bands.md Updates ingest/sweep flow diagram to use ask continuation terminal.
src/agents/prompts/executor.md Updates Execute-mode backfill guidance to use ask.
src/agents/prompts/elicitor.md Updates elicitor prompt guidance: ask standalone + ask continuation-by-reference.
src/agents/contexts/exchanges/TOPOLOGY.md Updates formatter topology to add ask and describe preserved request-detail discriminants.
src/agents/contexts/exchanges/present-review-set.ts Adds render-honesty elisions for continuation declaration fields.
src/agents/contexts/exchanges/present-digest.ts Adds render-honesty elisions for continuation declaration fields.
src/agents/contexts/exchanges/present-candidates.ts Adds render-honesty elisions for continuation declaration fields.
src/agents/contexts/exchanges/ask.ts Adds model-facing ask formatter and render-honesty elisions.
src/agents/contexts/exchanges/tests/ask.test.ts Adds formatter validity + render-honesty + snapshot coverage for ask.
src/agents/contexts/exchanges/snapshots/ask-tuples.md Adds snapshots for ask transcript tuples across outcomes.
src/.pi/README.md Adds Pi extension tool-name documentation (needs updates for ask cutover).
src/.pi/extensions/exchanges/TOPOLOGY.md Updates Pi exchange extensions topology to describe ask as only registered terminal.
src/.pi/extensions/exchanges/shared/required-input.test.ts Adds tests for required input re-prompt behavior.
src/.pi/extensions/exchanges/shared/markdown.ts Re-homes markdown theme creation into shared component helper.
src/.pi/extensions/exchanges/shared/choices-editor.ts Switches normalizeOptionalText import to exchanges/text helper.
src/.pi/extensions/exchanges/index.ts Registers ask and retires present_question/request_response from implemented tools.
src/.pi/extensions/tests/registry.test.ts Updates registry expectations to include ask and remove present_question registration.
src/.pi/extensions/tests/exchanges-extension.test.ts Updates structured-exchange guidance tests to teach ask + continuations.
src/.pi/extensions/tests/exchange-family-completeness.test.ts Updates exchange family coverage table for ask and preserved request_* discriminants.
src/.pi/extensions/tests/commands-runtime-switch.test.ts Updates runtime switch test to ensure ask is in active tools.
src/.pi/extensions/tests/ask-runtime-mount.test.ts Adds mounted-TUI runtime tests for ask across modes (text/single/multi/cancel).
src/.pi/extensions/tests/agent-runtime-system-prompts.test.ts Updates prompt-pack topology test tool lists (currently duplicates ask).
src/.pi/extensions/tests/agent-runtime-runtime.test.ts Updates runtime-state tool list expectations to include ask.
src/.pi/extensions/tests/agent-runtime-authority-matrix.test.ts Updates authority matrix tool sets to include ask.
src/.pi/components/TOPOLOGY.md Documents new exchange markdown body helper component.
src/.pi/components/multi-choice-picker.ts Adds optional markdown body + border labels rendered inside the picker box.
src/.pi/components/exchange-markdown-body.ts Adds shared markdown theme + body-to-lines renderer for exchange components.
src/.pi/components/exchange-decision-picker.ts Adds optional markdown body + border labels; adjusts choice-start offsets.
src/.pi/components/exchange-answer-editor.ts Switches prompt to markdown body rendering and fixes multiline corruption issues.
src/.pi/components/tests/exchange-decision-picker.test.ts Adds tests for markdown body rendering and border labels in pickers.
src/.pi/components/tests/exchange-answer-editor.test.ts Updates tests for markdown body behavior and multiline rendering safety.
src/.pi/components/tests/exchange-answer-editor.harness.test.ts Updates harness tests to use body prop instead of prompt.
memory/cards/tool-schema-convergence--ledger.md Updates ledger for ask cutover and tool count rebase.
docs/design/STRUCTURED_EXCHANGE_ANSWERING_PATHS.md Updates design doc to describe ask-based answering paths A/B/C.
.agents/skills/ln-scope/SKILL.md Adds oracle-binding and invariants-preserved guidance for scope cards.
.agents/skills/ln-review/SKILL.md Adds card-conformance leaf-walk guidance for reviews.
.agents/skills/ln-review/references/contract-lenses.md Extends contract lenses with skipped-test and precedence-ladder warnings.
.agents/skills/ln-build/SKILL.md Strengthens ln-build completion reporting and anti-skip guidance.
.agents/skills/ln-build/references/sliced-execution.md Updates sliced execution loop to require leaf-by-leaf oracle walk.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/session/structured-exchange-loop/synthetic-tool-call.ts
Comment thread src/.pi/extensions/__tests__/agent-runtime-system-prompts.test.ts
Comment thread src/.pi/README.md
Comment thread src/.pi/README.md
Comment thread src/probes/public-rpc-parity-proof.ts
Copilot AI review requested due to automatic review settings July 8, 2026 11:37
@lunelson lunelson force-pushed the ln/fe-1164-ask-terminal branch from 6f994ee to be31e97 Compare July 8, 2026 11:37
@graphite-app graphite-app Bot changed the base branch from ln/fe-1115-tui-refinements-1 to graphite-base/304 July 8, 2026 11:42

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 108 out of 108 changed files in this pull request and generated 7 comments.

Comment thread src/.pi/README.md Outdated
Comment thread src/.pi/README.md Outdated
Comment thread src/.pi/extensions/__tests__/agent-runtime-system-prompts.test.ts
Comment thread src/.pi/extensions/__tests__/registry.test.ts
Comment thread src/.pi/extensions/__tests__/registry.test.ts
Comment thread src/probes/public-rpc-parity-proof.ts
Comment thread src/probes/public-rpc-parity-proof.ts Outdated
lunelson and others added 14 commits July 8, 2026 11:44
Co-authored-by: Cursor <cursoragent@cursor.com>
…lenses; correct premature done status

Co-authored-by: Cursor <cursoragent@cursor.com>
…reserved section, leaf-by-leaf completion, no silent skips

Co-authored-by: Cursor <cursoragent@cursor.com>
…UI-only narrowing named, empty-answer divergence documented

Co-authored-by: Cursor <cursoragent@cursor.com>
…ergences) and add ln-review card-conformance walk

Co-authored-by: Cursor <cursoragent@cursor.com>
…to 4, guard ask's union-free schema

Co-authored-by: Cursor <cursoragent@cursor.com>
…167, close component-dx, prune Horizon, fold blank-carriers into FE-1163 ledger

Co-authored-by: Cursor <cursoragent@cursor.com>
F18: the free-text answer editor rendered its whole markdown body as one
accent-colored line, so multi-line bodies broke the rounded-box borders and
corrupted differential height accounting; it now renders through the shared
markdown-body helper like the pickers, and the preview entry uses the rich
multi-line body. F19: free-text asks with commentPrompt now collect the
comment (schema/projection/formatter widened with answered.comment).
F20: optional comment collection is opt-in — omitting commentPrompt skips
the step; schema-required comments are still always collected.

Co-authored-by: Cursor <cursoragent@cursor.com>
…nder honesty

The capture sweep classifier admitted only request_* toolNames, silently
excluding every post-D116-L terminal (all persist under 'ask') — the digest
supersession proof stayed green only because its fixtures used the retired
wire shape. The classifier now admits 'ask' plus legacy request_*, the digest
proof rides real toolNames including the product-minted message itself, and a
named regression test pins the classifier. Also: ask gains the render-honesty
oracle every other formatter has (real ASK_CONTENT_ELISIONS, per-branch leaf
checks, zAskDetails parses, and a writer-owned five-branch golden replacing
the orphaned ask-tuples.md), plus direct collectRequiredInput re-prompt tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
lunelson and others added 3 commits July 8, 2026 11:44
ln-sync retirement/reduction pass: retire validated A33-L, repair the D116-L
ask-cutover drift across SPEC rows (D27-L/D100-L/D110-L/I23-L), lexicon, and
verification notes; compress PLAN Context and retire the three closed-arc
blocks to one-liners (full blocks archived); fix the stale web TOPOLOGY
request_response line. Record the witness-audit outcome on I57-L and the
FE-1164 plan entry, and add the scoped verification-closure card (ask
runtime-mount battery + candidates supersession probe) with its ln-oracles
design, pointed from the frontier definition.

Co-authored-by: Cursor <cursoragent@cursor.com>
…s-gap closure

The 2026-07-08 drop's re-open condition fired the same day (builder hit the
git-host-promotion-port full-suite timeout twice; passes in isolation and on
this machine's full run). PLAN now owes an ln-diagnose session.

Co-authored-by: Cursor <cursoragent@cursor.com>
@lunelson lunelson force-pushed the graphite-base/304 branch from ed755a8 to 7030fc2 Compare July 8, 2026 11:44
@lunelson lunelson force-pushed the ln/fe-1164-ask-terminal branch from be31e97 to 0dacac9 Compare July 8, 2026 11:44
@graphite-app graphite-app Bot changed the base branch from graphite-base/304 to next July 8, 2026 11:44
@graphite-app

graphite-app Bot commented Jul 8, 2026

Copy link
Copy Markdown

Merge activity

  • Jul 8, 11:44 AM UTC: Graphite rebased this pull request, because this pull request is set to merge when ready.

Copilot AI review requested due to automatic review settings July 8, 2026 12:22
@lunelson lunelson merged commit 58e1018 into next Jul 8, 2026
7 checks passed
@lunelson lunelson deleted the ln/fe-1164-ask-terminal branch July 8, 2026 12:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 116 out of 116 changed files in this pull request and generated 5 comments.

Comment thread src/exchanges/projections/ask.ts
Comment thread src/.pi/extensions/exchanges/index.ts
Comment thread src/.pi/extensions/__tests__/registry.test.ts
Comment thread src/.pi/extensions/__tests__/registry.test.ts
Comment thread src/.pi/extensions/__tests__/registry.test.ts
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.

2 participants