Skip to content

feat(feed): a transport-gap marker that survives an app restart (follow-up to #1381 / #1442) #1445

Description

@Juliusolsson05

#1442 shows a feed row for a mid-turn Claude proxy transport gap. That row is held in the main process only, so it survives later turns but not an app restart.

The forensic AppRunJournal is not a valid restart source (q120). It silently drops writes (cap, append failure, disk-setup failure), it falls under debug retention, and its gap incidents carry no provider conversation id.

Making the marker restart-durable needs a dedicated, bounded gap-metadata store keyed by provider conversation id, with explicit failure semantics. That is new on-disk product state, close to the owner's #1235 decision (the ghost feed log was removed; no crash-resume persistence without the owner). OWNER DECISION NEEDED before any implementation: approve such a store (and its bounds), or accept restart loss for gap markers.

🤖 Generated with Claude Code

Activity

  1. added 2 commits that reference this issue on Sep 27, 2026
  2. Juliusolsson05 commented on Sep 27, 2026

    @Juliusolsson05
    OwnerAuthor

    Relabelled needs-owner (W2): #1442's approval records restart durability as an owner decision ("restart durability needs a dedicated store and is an owner decision (1445)"), and the transport-gap types it builds on exist only on W3's open #1442. Missing: the owner's call on a dedicated durable store.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-ownerOwner decision neededsev:P3Minortype:featureNew capability (out of quality-loop fix scope)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions