gabriel / musehub public
chore main #12 / 34
AI Agent gabriel · 165 days ago · May 9, 2026 · Diff

chore: delete ephemeral investigation and diagnosis docs

sha256:55c16e69f25f3359d7212bd83c8664068bbf05b4c2fff0ff0079c78b7a378ab3 sha
−126 symbols
sha256:35b03f011ab1f33d6cb2f7c9649468b6b7bc07f8069d9294a55c6a24fd2abf61 snapshot
−126
symbols removed
0
dead code introduced
Semantic Changes 126 symbols
~ GHOST_OBJECTS_INVESTIGATION.md .md 75 symbols removed
− Ghost Objects — Investigation & TDD Roadmap section Ghost Objects — Investigation & TDD Roadmap L1–551
− Atomic Test Plan — Bottom-Up section Atomic Test Plan — Bottom-Up L180–276
− Layer 0 — Terminology section Layer 0 — Terminology L182–185
− py bug (isolated, no DB/R2 needed) section Layer 1 — decompress_objects.py bug (isolated, no DB/R2 needed) L185–210
− code[python]@L188 variable variable code[python]@L188 L188–194
− code[python]@L196 variable variable code[python]@L196 L196–202
− code[python]@L204 variable variable code[python]@L204 L204–209
− Layer 2 — wire_push_confirm missing existence check section Layer 2 — wire_push_confirm missing existence check L210–234
− code[python]@L213 variable variable code[python]@L213 L213–219
− code[python]@L221 variable variable code[python]@L221 L221–226
− code[python]@L228 variable variable code[python]@L228 L228–233
− Layer 3 — Phase C ghost check wiring section Layer 3 — Phase C ghost check wiring L234–260
− code[python]@L237 variable variable code[python]@L237 L237–243
− code[python]@L245 variable variable code[python]@L245 L245–251
− code[python]@L253 variable variable code[python]@L253 L253–259
− py correctness section Layer 4 — repair_objects.py correctness L260–276
− code[python]@L263 variable variable code[python]@L263 L263–267
− code[python]@L269 variable variable code[python]@L269 L269–273
− Current Status (2026-05-08) section Current Status (2026-05-08) L7–26
− Completed section Completed L9–16
− Failing Now section Failing Now L16–26
− code@L17 variable variable code@L17 L17–21
− Execution Order section Execution Order L327–340
− Fix Plan (once root cause confirmed) section Fix Plan (once root cause confirmed) L276–327
− py: define bare_oid on correct path section Fix 1 — decompress_objects.py: define bare_oid on correct path L278–298
− code[python]@L280 variable variable code[python]@L280 L280–293
− Fix 2 — wire_push_confirm: verify R2 existence before inserting DB row section Fix 2 — wire_push_confirm: verify R2 existence before inserting DB row L298–314
− code[python]@L300 variable variable code[python]@L300 L300–313
− py on staging to purge ghost rows section Fix 3 (operational) — Run repair_objects.py on staging to purge ghost rows L314–327
− code[bash]@L316 variable variable code[bash]@L316 L316–321
− Hypotheses (ranked by likelihood) section Hypotheses (ranked by likelihood) L155–180
− H1 — push/confirm with unverified R2 PUTs (presigned path) section H1 — push/confirm with unverified R2 PUTs (presigned path) L157–163
− H2 — R2 key migration orphaned DB rows section H2 — R2 key migration orphaned DB rows L163–172
− py NameError left objects inaccessible section H3 — decompress_objects.py NameError left objects inaccessible L172–180
− Layer 5 — Has/Wants Dance + wire_push_presign DB-only check section Layer 5 — Has/Wants Dance + wire_push_presign DB-only check L340–447
− First principles section First principles L387–405
− code@L389 variable variable code@L389 L389–399
− Fix (deployed ✅) section Fix (deployed ✅) L433–438
− Layer 5 tests section Layer 5 tests L405–433
− code@L408 variable variable code@L408 L408–412
− code@L414 variable variable code@L414 L414–418
− code@L421 variable variable code@L421 L421–425
− code@L428 variable variable code@L428 L428–432
− Status section Status L438–447
− The two questions section The two questions L361–387
− code[python]@L366 variable variable code[python]@L366 L366–376
− What we observed section What we observed L342–353
− code@L344 variable variable code@L344 L344–348
− Why not in local object store? section Why not in local object store? L353–361
− Layer 6 — Phase-C scope: new snapshots only section Layer 6 — Phase-C scope: new snapshots only L447–551
− First principles section First principles L469–487
− Fix section Fix L527–551
− code[python]@L532 variable variable code[python]@L532 L532–551
− Layer 6 tests section Layer 6 tests L497–527
− code@L500 variable variable code@L500 L500–505
− code@L507 variable variable code@L507 L507–512
− code@L514 variable variable code@L514 L514–518
− code@L521 variable variable code@L521 L521–526
− py:2112–2114) section The code (musehub_wire.py:2112–2114) L456–469
− code[python]@L458 variable variable code[python]@L458 L458–464
− Two questions section Two questions L487–497
− What we observed section What we observed L449–456
− Symptom (original) section Symptom (original) L26–38
− code@L28 variable variable code@L28 L28–32
− What We Don't Know section What We Don't Know L129–155
− What We Know for Certain section What We Know for Certain L38–129
− How the ghost check works (Phase C) section How the ghost check works (Phase C) L40–55
− code@L42 variable variable code@L42 L42–52
− Presigned path (push/presign → R2 PUT → push/confirm) section Presigned path (push/presign → R2 PUT → push/confirm) L89–99
− R2 key history — three formats existed section R2 key history — three formats existed L62–73
− table@L64 section table@L64 L64–69
− Streaming push path (inline objects — enc=raw/zlib/zstd/delta+zlib) section Streaming push path (inline objects — enc=raw/zlib/zstd/delta+zlib) L73–89
− exists() checks section What backend.exists() checks L55–62
− py bug (confirmed) section decompress_objects.py bug (confirmed) L99–129
− code[python]@L101 variable variable code[python]@L101 L101–113
~ docs/push-422-root-cause.md .md 16 symbols removed
− Push 422 Root Cause — Have-Anchor Object Gap section Push 422 Root Cause — Have-Anchor Object Gap L1–112
− Immediate Fix section Immediate Fix L62–72
− code[bash]@L67 variable variable code[bash]@L67 L67–71
− Invariant section Invariant L47–62
− code@L49 variable variable code@L49 L49–57
− Long-Term Fix section Long-Term Fix L72–86
− Root Cause section Root Cause L27–47
− code[python]@L32 variable variable code[python]@L32 L32–37
− Smoking Gun section Smoking Gun L14–27
− code@L18 variable variable code@L18 L18–22
− Symptom section Symptom L3–14
− code@L7 variable variable code@L7 L7–11
− Tests section Tests L97–112
− table@L99 section table@L99 L99–112
− Timeline section Timeline L86–97
− table@L88 section table@L88 L88–96
~ docs/push-timeout-diagnosis.md .md 35 symbols removed
− Push Timeout Diagnosis section Push Timeout Diagnosis L1–258
− Atomic Tests (Bottom-Up) section Atomic Tests (Bottom-Up) L141–195
− Layer 0 — Baseline: can we push at all? section Layer 0 — Baseline: can we push at all? L145–153
− table@L147 section table@L147 L147–152
− Layer 1 — R2 PUT latency section Layer 1 — R2 PUT latency L153–164
− table@L155 section table@L155 L155–161
− Layer 2 — One batch, end-to-end timing section Layer 2 — One batch, end-to-end timing L164–175
− table@L166 section table@L166 L166–172
− Layer 3 — Heartbeat delivery section Layer 3 — Heartbeat delivery L175–185
− table@L177 section table@L177 L177–182
− Layer 4 — Full push section Layer 4 — Full push L185–195
− table@L187 section table@L187 L187–192
− Code Locations section Code Locations L246–258
− table@L248 section table@L248 L248–258
− Everything We Have Tried section Everything We Have Tried L64–102
− Attempt 1 — Fresh push after delete+recreate (failed: CF 524) section Attempt 1 — Fresh push after delete+recreate (failed: CF 524) L66–72
− Attempt 2 — Repair script for ghost objects (worked, but wrong problem) section Attempt 2 — Repair script for ghost objects (worked, but wrong problem) L72–78
− Attempt 3 — Stream _WireResponse response frames (froze) section Attempt 3 — Stream _WireResponse response frames (froze) L78–102
− table@L90 section table@L90 L90–97
− Next Actions (in order) section Next Actions (in order) L215–224
− The Architecture We Need to Match section The Architecture We Need to Match L112–130
− The Experiment to Run First section The Experiment to Run First L195–215
− The Goldilocks Zone (What "Fixed" Looks Like) section The Goldilocks Zone (What "Fixed" Looks Like) L130–141
− The Repo Under Test section The Repo Under Test L9–21
− table@L13 section table@L13 L13–18
− What We Are Trying To Do section What We Are Trying To Do L3–9
− What We Do NOT Know (Unknowns to Resolve) section What We Do NOT Know (Unknowns to Resolve) L102–112
− What We Know About the Push Path section What We Know About the Push Path L21–64
− Client-side batching (no CF Worker configured for staging) section Client-side batching (no CF Worker configured for staging) L23–38
− code@L27 variable variable code@L27 L27–30
− Cloudflare proxy in between section Cloudflare proxy in between L58–64
− Server-side per batch section Server-side per batch L38–58
− code@L40 variable variable code@L40 L40–57
− What We Now Know About the Push Path (corrected) section What We Now Know About the Push Path (corrected) L224–246
− code[python]@L228 variable variable code[python]@L228 L228–232

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:55c16e69f25f3359d7212bd83c8664068bbf05b4c2fff0ff0079c78b7a378ab3 --body "your comment"