~i: Inspect — Work Loss Investigation

bahalaka.com • Evidence of Claude Code forgetfulness across sessions

14 builds → 6 ships 9/11 telemetry entries missing commit hash 2 divergent index.html files 8 incomplete chains

What It Is

An investigation into repeated work loss in bahalaka.com across Claude Code sessions. The user reports: chains look like they complete but don't ship; fixes get applied then reverted by subsequent sessions; features appear and disappear. The Be artifact trail confirms this is real and measurable.

Hard Evidence

1. Incomplete Chains — Builds Without Ships

14 builds recorded, only 6 ships. That's a 57% drop rate. These builds had work done but the chain never completed:

BuildShipped?
Firestore Comments with Edit Supportv1.1 ✓
Dev Artifacts Tab + Tab Navigationv1.1 ✓
Deploy to Cloudflare Pagesv1.0 ✓
Fix — Comment Overflow + Reply Threadingv1.2 ✓
Fix — Mobile Comment Form UXv1.2 ✓
Activity + Release Notes Tabsv1.3 ✓
Fix — Missing Tabs in Root index.htmlv1.4 ✓
Activity Filters + Cache + Refreshv1.5 ✓
Roadmap TabNO — never shipped
Scroll to Top ButtonNO — never shipped
Dev Artifacts + Release Notes + Roadmap RollbackNO — never shipped
Unload 2026-04-04n/a (utility)
Unload 2026-04-05n/a (utility)

After v1.5, no more ships occurred. Work continued (roadmap, scroll-to-top, artifact updates) but none of it was formally shipped.

2. Two-File Divergence

Root cause of "features appearing and disappearing."

Different sessions edit different files. Session A adds Activity tab to site/index.html. Session B reads index.html (root), doesn't see it, builds it again. Or worse — Session B copies the old site/index.html over root, erasing Session A's work.

Proof: Build artifact exists for "Activity + Release Notes Tabs" followed immediately by "Fix — Missing Activity + Release Notes Tabs in Root index.html". The feature was built in the wrong file, then had to be rebuilt in the right one.

3. Broken Telemetry Trail

9 of 11 telemetry entries have "commit": null.

Only 2 entries (the ~i inspect and the ~e estimate) have commit hashes. This means:

4. Explicit Rollback

Telemetry entry: "Rollback roadmap tightening, add 9 artifacts to array, add v1.5+v1.6 release notes, fix tab bar overflow"

A session undid previous work (roadmap tightening) as part of a larger update. This is the exact pattern Joey described — fix something, then a later session reverts it.

A-D-D Analysis

The A-D-D methodology used in kastil-system/nous established principles that could prevent this:

These principles were dissolved into Be v2.1 at a high level, but the specific guards against cross-session work loss are missing. Be says "commit board alongside code" but doesn't say "never undo previous session's work" or "verify chain completion before proceeding."

Root Causes

  1. No session continuity guard. A new Claude Code session has zero knowledge of what the previous session did. It reads the code and makes assumptions. Sometimes those assumptions contradict finished work.
  2. File ambiguity. Two copies of the same file (index.html vs site/index.html) create an editing lottery. Whichever file a session picks determines whether work persists.
  3. Chain completion is honor-system. Be defines the chain but can't enforce it. If the session runs out of context or the user moves on, the chain stops mid-flight. No checkpoint, no alert.
  4. Telemetry isn't verified. Commit hashes are supposed to be filled after commit, but 82% are null. The verification step isn't enforced.
  5. No "don't touch" list. When work is done and shipped, there's no mechanism to tell the next session "this is finished, don't modify it."

Open Questions