Skip to content

id(world): F11.16 replay self-check (id world verify) #544

Closed

Description

@dezren39

What and why

id world verify replays a journal twice, compares records and reports divergence, as the determinism guard; exit: a deliberately nondeterministic guest fails. Determinism is assumed by replay, fixtures and future replication, but nothing checks it. A double replay is the cheapest guard.

Source

Current status

Partial. Record/replay fixtures exist (WorldCommand Record/Replay in pkgs/id/src/cli.rs, pkgs/id/src/world_fixture.rs 1,142 lines; PR #239 merged). There is no Verify variant in the WorldCommand enum (cli.rs:1388) and no double-replay comparison.

Acceptance criteria

Size

M

Prerequisites

None.

Activity

  1. added
    kind/featureNew feature or capability request
    source/humanFiled directly by a human
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    and removed
    enhancementNew feature or request
    on Oct 26, 2026
  2. dezren39 commented on Oct 26, 2026

    @dezren39
    MemberAuthor

    Intake review

    Verified still live on main 14dd66b6 (2026-10-26, fleet monitor). WorldCommand in pkgs/id/src/cli.rs (enum at :1398) has Record (:1858) and Replay (:1880) but no Verify variant, and there is no double-replay comparison anywhere in the crate. The #239 record/replay fixtures the body builds on exist.

    Related: PR #239 (fixtures, merged — cited in the body); host-originated events (#242) are the open design question for what verification must tolerate.

    Risks / suggested approach: implement Verify beside Replay reusing the fixture harness: replay the journal twice through the same guest, compare the record streams, report the first divergence with its index. The nondeterministic-guest failure case in the acceptance criteria is the test that proves the guard works — build it first.

  3. added
    priority/highImportant and time-sensitive
    nowOrg Project gate: active priority — orchestrator adds to the board
    and removed
    priority/normalOrdinary priority (the default)
    on Oct 27, 2026
  4. 41 remaining items

  5. added
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    on Oct 27, 2026
  6. dezren39 commented on Oct 27, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  7. removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/claimedQueue worker lifecycle state
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    work/assignedQueue worker lifecycle state
    on Oct 27, 2026
  8. dezren39 commented on Oct 27, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

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

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/mMedium: expected under 1 day of workkind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addednowOrg Project gate: active priority — orchestrator adds to the boardpriority/highImportant and time-sensitivesource/humanFiled directly by a humanstatus:done

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions