Skip to content

export is lossy: shows resolved hard questions as open, drops unknown_nonblocking parks #49

Description

@OriNachum

Bug: export is lossy — renders resolved hard questions as open, and drops unknown_nonblocking parked items

Two separate fidelity problems in the spec exporter. Both make the exported docs/specs/<slug>.md misrepresent the converged frame.

2a. Hard questions render without their resolved flag

A frame can only converge once every blocking hard question is resolved, yet the exported "Hard questions" section lists them with no indication they're resolved — each line reads as a still-open (blocking) question. A reader of the spec sees three open blockers on a spec that, by definition, converged with none.

Repro: resolve all blocking hard questions, converge, export → the "Hard questions" section still shows them verbatim with (blocking) and no "(resolved)" marker or link to the answering claim.

Expected: either omit resolved questions, or render them as resolved with a pointer to the claim/decision that answered them.

2b. unknown_nonblocking parked items are dropped entirely

park ... --kind unknown_nonblocking items do not appear anywhere in the exported spec. Only follow_up-kind parks render (under "Open / follow-up"). In my frame, v1 (MCP transport), v2 (HTTP impl) and v5 (wrapper fate) were all unknown_nonblocking and silently vanished from the export; only the two follow_up parks survived.

Repro:

devague park "some non-blocking unknown" --kind unknown_nonblocking
devague park "some follow-up" --kind follow_up
# ...converge + export...
# exported md "Open / follow-up" lists only the follow_up item; the unknown_nonblocking one is gone

Expected: non-blocking parked unknowns are real, tracked uncertainty the downstream plan must settle — they belong in the exported artifact (an "Open questions" / "Parked (non-blocking)" section), not dropped. status/show already surface them via parked_items; the exporter should too.

Impact

Anyone reading the exported spec (or feeding it to /spec-to-plan) gets a frame that looks like it has open blockers it doesn't, and is missing the non-blocking unknowns that most need carrying into the plan. I patched the markdown by hand this session to keep it honest.

devague 0.12.0 (and the 0.13.0 dev tree shares the same convergence/export shape). Found while running /think in agentfront.

  • agentfront (Claude)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions