Skip to content

id(ssh): fix #211 reconciliation gaps: total records cap, document output through send, per-world document store #548

Closed

Description

@dezren39

What and why

The reports flagged three gaps in #211: /records drains all pages with only a per-page 384 KiB cap; document handlers write to the channel inside recv rather than through send; and documents read the server's local blob store, not a per-world store. These were flagged while reconciling #211 and were not addressed before it merged.

Source

  • RPT §4 'Known gaps to fix while reconciling'
  • RPT §7 Step 1

RPT = doc/2026-10-18T18-40-00Z_report_platform_world_state/2026-10-18T18-40-00Z_report_platform_world_state.md, REF = doc/2026-10-18T00-00-00Z_reference_platform_state/2026-10-18T00-00-00Z_reference_platform_state.md. Both are uncommitted reports in the platform-world-apps-migration worktree.

Current status

Partial. pkgs/id/src/world_ssh.rs:595 MAX_RECORDS_TERMINAL_BYTES = 384 * 1024, enforced while rendering (:792). Whether that bounds the whole drain or each page needs a test (not verified). Documents are still read in the recv command loop from the server blob store: list_public_documents(&self.blobs, ...) at :455. No per-world store.

Acceptance criteria

  • A test shows whether MAX_RECORDS_TERMINAL_BYTES bounds the whole /records drain; if it only bounds a page, a total cap is added
  • Document handlers write through send, not from inside recv
  • Documents read a per-world store rather than the server's local blob store, or a recorded decision explains why not

Size

S

Prerequisites

None.

Activity

  1. dezren39 commented on Oct 25, 2026

    @dezren39
    MemberAuthor

    Implemented in PR #808 (id Phase 11 foundations, session B of the id train), merged to main as 49ee287 with all checks green. The PR body documents the implementation for this item. Closing as complete — reopen if verification finds a gap.

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions