Skip to content

Read a fresh bus as empty, type every git failure, keep test git off the caller's repo - #2784

Merged
trissim merged 3 commits into
mainfrom
fix/storage-violations-cantopen
Oct 23, 2026
Merged

trissim merged 3 commits into
mainfrom
fix/storage-violations-cantopen

Conversation

@trissim

@trissim trissim commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

test_storage_violations x5 was red on main with SQLITE_CANTOPEN on wire/bus.sqlite3.

  • Breaking commit 1673313 (SQLite bus integration, via Integrate SQL bus, independent requests and installer runtime ownership #2620): Bus.observing
    opened bus.sqlite3 mode=ro, so a root before its first bus write raised
    CANTOPEN. TypedStore.snapshot already owned "a store before its first write
    reads as its declared empty schema"; Bus never inherited it. The absent
    branch moves onto WalStore.committed_or_empty and both inherit it.
  • Repo.git raised CalledProcessError while goals.CheckedCommit.git raised
    GitCommandFailed: one git runner copied with drift (IMPL-12). UnitState.read
    only turns GitCommandFailed into an Unreadable card, so a unit whose
    worktree vanished crashed the heartbeat. One runner on Repo now (C locale,
    60 s, GitCommandFailed, which moves to repo.py); CheckedCommit.git deleted.
  • StorageViolation.scan_observed skipped Unreadable units, so a gone declared
    home (the exact case StorageHomeMissing names) never reported once
    7dc76e0 made the branch read part of require_read. Storage reads the
    filesystem, so it scans every held observed unit.
  • tests/conftest.py strips every GIT_* variable at import. git bisect run from
    a linked worktree exports GIT_DIR; a fixture's plain git -C tmp init then
    re-initialised the caller's checkout with core.bare=true (the flip seen 3x
    on 10-23) and registered fixture worktrees on it.

Proof (local, -p no:xdist):

  • test_storage_violations 5/5 pass (were 5 failed, SQLITE_CANTOPEN).
  • Touched set: 132 passed. test_claim_bus_read x2 setup errors are red at 278750a
    too (MalformedRecord: Expected float, received RecordedCreationTime): not this change, no owner.
  • GIT_DIR control: with GIT_DIR=/.git/worktrees/wt a plain fixture git init flips
    the scratch repo to core.bare=true; with this conftest, test_storage_violations under the
    same GIT_DIR leaves it false with its worktree list unchanged.

Not folded here (named for an owner): merge-base --is-ancestor is still answered by four
runners (repo.py Repo.contains, build_identity.py:131, todos.py:388, installer/upgrade.py:777), IMPL-13.

🤖 Generated with Claude Code

…off the caller's repo

test_storage_violations x5 was red on main with SQLITE_CANTOPEN on wire/bus.sqlite3.

- Breaking commit 1673313 (SQLite bus integration, via #2620): Bus.observing
  opened bus.sqlite3 mode=ro, so a root before its first bus write raised
  CANTOPEN. TypedStore.snapshot already owned "a store before its first write
  reads as its declared empty schema"; Bus never inherited it. The absent
  branch moves onto WalStore.committed_or_empty and both inherit it.
- Repo.git raised CalledProcessError while goals.CheckedCommit.git raised
  GitCommandFailed: one git runner copied with drift (IMPL-12). UnitState.read
  only turns GitCommandFailed into an Unreadable card, so a unit whose
  worktree vanished crashed the heartbeat. One runner on Repo now (C locale,
  60 s, GitCommandFailed, which moves to repo.py); CheckedCommit.git deleted.
- StorageViolation.scan_observed skipped Unreadable units, so a gone declared
  home (the exact case StorageHomeMissing names) never reported once
  7dc76e0 made the branch read part of require_read. Storage reads the
  filesystem, so it scans every held observed unit.
- tests/conftest.py strips every GIT_* variable at import. git bisect run from
  a linked worktree exports GIT_DIR; a fixture's plain `git -C tmp init` then
  re-initialised the caller's checkout with core.bare=true (the flip seen 3x
  on 10-23) and registered fixture worktrees on it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 23, 2026 13:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@github-actions

Copy link
Copy Markdown

debt-src at b7a27cf, every finding:

grew LintFindings:src/agent_comms/change_report.py +1
grew LintFindings:src/agent_comms/repo.py +1
grew LintFindings:src/agent_comms/ui_model/unit_state.py +1

Citation fixture and others added 2 commits October 23, 2026 10:00
…phaned

debt-src grew LintFindings by one in change_report.py, repo.py and
unit_state.py. The exception moved into repo.py kept a name without the
Error suffix (N818), change_report.py still imported CheckedCommit it no
longer used, and unit_state.py's import block was unsorted. goals.py's
os import lost its last user with CheckedCommit.git.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trissim
trissim merged commit 5652fea into main Oct 23, 2026
7 of 8 checks passed
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.

2 participants