Skip to content

tinycloud-core: two pre-existing test defects fail the full suite (bounded_kv_list expectation, request_path_indexes len()-1) #203

Description

@samgbafa

Found during the share-v2 durable-replay lane (worktree feat/sharing-production-live). cargo test -p tinycloud-core reports 242 passed + 2 deterministic failures. A read-only audit (Smithers run share-node-r16-opus-core-suite-audit-20260731) proved both are pre-existing test defects at baseline 3d04590 — not sharing regressions. They fail on any branch that runs the full core suite.

Defect 1 — db::test::bounded_kv_list_counts_distinct_keys_in_order (db.rs:3716–3718)

The test pages list_direct_children_bounded with cursor "b", limit 2, and expects ["c", "literal%key"]. Stored keys sorted lexically: a, b, bang!key, bangXkey, c, literal%key, literalXkey, literal_key — the first two after "b" are ["bang!key", "bangXkey"] ('!' 0x21 < 'X' 0x58 < 'c' 0x63). The code is correct; the expectation skips two keys. The identical assertion exists at baseline (git show 3d04590).

Defect 2 — request_path_indexes_flip_scans_to_searches_and_round_trip_cleanly (m20260725_000000_request_path_indexes.rs:728)

before_this = (migrations.len() - 1) assumes the TC-282 index migration is last in the Migrator list. Three owner_share_policy migrations (3685612, af0de4c, 7469bc9) were appended after it, so Migrator::up(&db, Some(18)) now applies the index migration itself and the BEFORE assertion sees SEARCH ... USING INDEX idx_ability_delegation_ability instead of SCAN.

Fix: locate the migration by position(|m| m.name().contains("m20260725_000000_request_path_indexes")) instead of len()-1; correct the db.rs expectation to ["bang!key", "bangXkey"]. Both are test-only changes.

A fix is in flight via Smithers run share-node-r18-fresh-sonnet-codex-20260731 (commit fix+test(share-v2): exact durable replay state across node instances). Filed on GitHub because the Linear workspace has hit its issue limit.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions