Skip to content

docs(handoff): the store-api flake is DIAGNOSED as fsync contention — the doc's next-probe was the refuted thread - #1205

Merged
ZacxDev merged 1 commit into
mainfrom
docs/handoff-store-api-flake-diagnosed
Sep 1, 2026
Merged

docs(handoff): the store-api flake is DIAGNOSED as fsync contention — the doc's next-probe was the refuted thread#1205
ZacxDev merged 1 commit into
mainfrom
docs/handoff-store-api-flake-diagnosed

Conversation

@ZacxDev

@ZacxDev ZacxDev commented Sep 1, 2026

Copy link
Copy Markdown
Member

Found by reconciling the canonical tmux-webapp handoff against live state at resume time.

1. A conflict marker was committed into the doc

Line 699 carried ||||||| parent of e1d1318f (…) — a diff3 marker left from the #1162
merge, sitting directly above the docker.io correction block. Removed.

2. The store-api flake blocks were superseded and the doc did not know it

grep -ci 'ci-repro|fsync' over the doc returned 0, while three PRs had already merged:

PR squash what it found
#1181 0c333846 it is fsync CONTENTION, not seed/ordering — with a dev-host reproducer
#1190 634c328a the empty read was reported as a SECOND response (12 assertions)
#1193 48a5540e the hang guard SAMPLED its own arming instead of waiting for it

The doc still read "Leading hypothesis: non-determinism … seed/ordering" and sent the next
reader to open a PR for fix/xdist-parametrize-values-deterministic. That is the refuted
thread. Following it costs a session — which is exactly the failure mode this doc documents
twice about its own open-investigation blocks.

Both blocks are kept verbatim and marked SUPERSEDED: their eliminations are still sound,
it was the framing that was wrong. A new ### ✅ DIAGNOSED block points at
scripts/ci-repro/README.md as the canonical maintained write-up rather than copying it,
and carries the two fixes-that-look-right-and-are-not.

Deliberately not written as "fixed"

Per this doc's own shelf-life rule. Measured 2026-09-01 after all three merged: #1197 is
red on TestAHungRoundTripSAYSWhichSideBlocked::test_a_stall_in_the_FSYNC_region_is_NAMED
a fourth distinct case — while #1199 passed the same tier. Recorded status: mechanism
identified and reproducible, three contributing defects removed, no consecutive greens in the
failing tier yet.

Two live facts the doc had stale

  • ZacxDev/homelab-infra#572 is MERGED (2026-08-31 18:36Z); the doc framed it as open.
    Its own warning is preserved — it fixes one of the two TaskRunTimeout causes.
  • Rank 8a's "both clients are stale again by construction" was tested and is wrong.
    Re-measured 16:29Z: server 0.8.21, workbench client 0.8.21, laptop client 0.8.21, and
    the cross-host round trip moved a number (view create on the laptop → view ls on the
    workbench → view rm, [] → 1 → []). Recorded as a dated measurement, with the point that
    "stale by construction" is a hypothesis to test, not a fact to carry.

Gate

Docs-only diff; no code path is reachable from it. The six content/handoff gates a docs
change can red pass in the dev-host tier — 652 passed (test_no_captured_text,
test_no_captured_markup, test_no_public_ips, test_no_client_hostnames,
test_handoff_doc, test_no_real_launchers). The sandbox tier is the one that gates the
merge; it runs on this PR.

🤖 Generated with Claude Code

https://claude.ai/code/session_019kRyYxB956h5XfpwoX2sKX

…and the doc's next-probe was the refuted thread

Two defects in claudedocs/handoff-tmux-webapp.md, both found by reconciling it
against live state at resume time.

1. A diff3 conflict marker was committed into the doc (line 699,
   "||||||| parent of e1d1318"), left from the #1162 merge. Removed.

2. The two open-investigation blocks on test_subsystem_store_api.py were
   SUPERSEDED and the doc did not know it. grep -ci 'ci-repro|fsync' over the
   doc returned 0, while three PRs had already merged:

     #1181  0c33384  it is fsync CONTENTION, not seed/ordering (+ reproducer)
     #1190  634c328  the empty read was reported as a SECOND response
     #1193  48a5540  the hang guard SAMPLED its own arming instead of waiting

   The doc still carried "Leading hypothesis: non-determinism / seed-ordering"
   and sent the next reader to open a PR for
   fix/xdist-parametrize-values-deterministic. That is the refuted thread, and
   following it costs a session -- which is exactly the failure mode this doc
   documents twice about its own open-investigation blocks.

   Both blocks are kept verbatim and marked SUPERSEDED, because their
   eliminations are still sound; it was the FRAMING that was wrong. A new
   DIAGNOSED block points at scripts/ci-repro/README.md as the canonical,
   maintained write-up rather than copying it.

   Deliberately NOT written as "fixed", per this doc's own shelf-life rule.
   Measured 2026-09-01 after all three merged: #1197 is red on
   TestAHungRoundTripSAYSWhichSideBlocked::test_a_stall_in_the_FSYNC_region_is_NAMED
   -- a fourth distinct case -- while #1199 passed the same tier. Status is
   "mechanism identified and reproducible, three contributing defects removed,
   no consecutive greens in the failing tier yet".

Also reconciled two live facts the doc had stale:

- ZacxDev/homelab-infra#572 is MERGED (2026-08-31 18:36Z); the doc framed it as
  open. Its own warning is preserved: it fixes one of the two TaskRunTimeout
  causes.
- Rank 8a's "both clients are stale again by construction" was tested and is
  WRONG. Re-measured 16:29Z: server 0.8.21, both clients 0.8.21, and the
  cross-host round trip moved a number ([] -> 1 -> []). Recorded as a dated
  measurement, with the point that "stale by construction" is a hypothesis to
  test rather than a fact to carry.

Gate: the six content/handoff gates that a docs change can red pass in the
dev-host tier -- 652 passed. Docs-only diff; no code path is reachable from it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019kRyYxB956h5XfpwoX2sKX
Claude-Session-Id: 3c805fcf-e39f-4465-82ef-f4ae62af65aa
@ZacxDev
ZacxDev merged commit ca04493 into main Sep 1, 2026
2 checks passed
@ZacxDev
ZacxDev deleted the docs/handoff-store-api-flake-diagnosed branch September 1, 2026 17:10
ZacxDev added a commit that referenced this pull request Sep 1, 2026
…rrection, homelab-infra#618 ran (#1221)

Claude-Session-Id: 3c805fcf-e39f-4465-82ef-f4ae62af65aa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant