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.
Found during the share-v2 durable-replay lane (worktree
feat/sharing-production-live).cargo test -p tinycloud-corereports 242 passed + 2 deterministic failures. A read-only audit (Smithers runshare-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_boundedwith 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. Threeowner_share_policymigrations (3685612, af0de4c, 7469bc9) were appended after it, soMigrator::up(&db, Some(18))now applies the index migration itself and the BEFORE assertion seesSEARCH ... USING INDEX idx_ability_delegation_abilityinstead ofSCAN.Fix: locate the migration by
position(|m| m.name().contains("m20260725_000000_request_path_indexes"))instead oflen()-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(commitfix+test(share-v2): exact durable replay state across node instances). Filed on GitHub because the Linear workspace has hit its issue limit.