You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(planning): hand-written plan-approval reconfirm row does not round-trip through ledger import #5534
Follow-up to #4611 (PR #5470 leaves it out of scope).
Problem
On the terminal path, /planning:plan tells the session to hand-write the reconfirm resolution of a superseded-by-plan row as reconfirmed at plan approval: <new>; was: <old>:
Before PR #5470, export-ledger wrote that text for a page accept on a superseded row; the named-field grammar replaces it, so only the hand-written path still produces it. import-ledger has no reader for it and treats the whole string as the row's own text, so the new and old answers do not come back as a structured pair. Pinned by the superseded-accept fixture in plugins/planning/surface/tests/fixtures/ledger-legacy/: the imported terminal decision is own with text equal to the full string, commits empty, and no was.
Scenario (c) of #4611 (a superseded row reconfirmed by an accept keeps its was answer as structure) therefore round-trips on the page path once #5470 merges and is still lost on the hand-written terminal path.
Options for triage
Change both skill texts to hand-write the named-field form the exporter writes for the same state, so import restores it.
Teach the importer to read the hand-written reconfirmed at plan approval: <new>; was: <old> form into the same structured state as option 1.
Both, with the importer reader kept as a legacy grammar.
The importer must keep accepting the current text either way, because ledgers with it already exist.
Acceptance criteria
A ledger row a session hand-writes for a reconfirmed superseded row imports to the same question state as the page path's accept on a superseded row (decision, was, proposal pair).
The superseded-accept legacy fixture still imports unchanged, or its expected state is updated with the reason stated in the PR.
plan/SKILL.md and interview/context/loop.md describe one form; interview-defenses.test.sh digest re-pinned if loop.md changes.
A test round-trips the hand-written form.
Out of scope
The page export grammar itself (#4611) and the two held-row losses named in PR #5470.
Owner decision (2026-10-01): approved the recommendation ("go with recommended", the owner's reply to the batch decision page that listed this question and its recommendation).
Question: how should #5534 be finished? Chosen option A: an agent finishes PR #5627 (change both skill texts to hand-write the named-field row the exporter writes), with the PR brought current with main, the failing test fixed, Closes #5534 in the body, ci-status green, then merged through the normal gate. No legacy-form importer reader (option C is not adopted; file it as a follow-up only if wanted).
Next: the issue is labeled agent-ready; an agent takes PR #5627 to a green ci-status and merges it.
Activity
fix(planning): one escaped named-field ledger row grammar (#5470)
test(planning): re-pin the loop.md open-question register digest
kyle-sexton commentedon Oct 1, 2026
Owner decision (2026-10-01): approved the recommendation ("go with recommended", the owner's reply to the batch decision page that listed this question and its recommendation).
Question: how should #5534 be finished? Chosen option A: an agent finishes PR #5627 (change both skill texts to hand-write the named-field row the exporter writes), with the PR brought current with main, the failing test fixed,
Closes #5534in the body,ci-statusgreen, then merged through the normal gate. No legacy-form importer reader (option C is not adopted; file it as a follow-up only if wanted).Next: the issue is labeled
agent-ready; an agent takes PR #5627 to a greenci-statusand merges it.