Skip to content

Fix six owners behind 18 red tests on main - #2776

Merged
trissim merged 4 commits into
mainfrom
fork/red-main-20
Oct 23, 2026
Merged

trissim merged 4 commits into
mainfrom
fork/red-main-20

Conversation

@trissim

@trissim trissim commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Fixes the reds on main with no owner: 18 of the 20 found by the #2762 fork, plus holder_standing_rules, unowned_checkout_work and test_commander_forks ×4. The rest belong to #2763 or are environment-only.

Cause (src frame) Breaking commit Fix Tests
todos.py:3911 bare snapshot.by_lookup[...] KeyError for an unregistered unit 1f48379 (#2735) read threads_for; an unregistered unit has no recorded worktree to share test_todos: create_is_idempotent, new_mutation_inherits_revision_admission, withdraw_retires_a_released_problem, withdraw_refuses_a_delivered_problem[True/False], two_processes_assign_one_todo, validation_rejects_ambiguous_identity, merged_order_keeps_its_checked_fields
todos.py:2184 reads Commander.worktrees, deleted by d729bab; every order send crashed d729bab storage_rule.checkout_base, the same owner d729bab used for the other caller test_holder_standing_rules::test_send_and_check_accept_a_deletion_check_on_fresh_main
storage_rules.py:89 froze Path.home() at import, so checkout_base pointed at the real ~/wt under a test HOME old, exposed by d729bab default_factory, read when the rule is built same holder test (it asserted no worktrees under the real ~/wt)
goals.py:138 passes Thread.created_at (now CreationTime) into float fields d5cd4bb incarnation.wire_birth, as goal_mentions.py does test_goal_mentions ×5, test_relationships::test_retained_alias_contact_without_projected_person_is_unavailable
installer/backup.py:333 copy_tree KeyError on a lock file written after the owners were read 57b51b6 regular files with no owner are not copied test_connector::test_connector_channel_history_on_a_copy_leaves_unread_unchanged
Test ran the live connector proof under the test runtime while the connector served from source-programs → ForeignRuntimeError 4cad001 the proof runs under source_programs python test_connector::test_real_connector_refusals_and_replaced_source
pr_commander configured a second checkout (the real repo) of the same GitHub repo; the standing rule compared it against the fixture's installed commit (git 128), and fetched the real checkout 458281e/b9bbbfc8e configure only the plan-bearing source test_todos::test_watcher_git_and_github_reads_leave_wire_free, test_installed_merge_closes_only_the_run_that_has_been_proven
Fixtures registered two order holders in one worktree, which #2735 now refuses 1f48379 (#2735) idle / outsider / each fork unit gets its own git worktree test_unowned_checkout_work, test_holder_standing_rules, test_commander_forks ×4

Debt ratchet kept flat: the first head grew BooleanChainTerms in backup.py (+4), TodoStore GodClassExcess (+4) and LongBooleanChain (+1). copy_tree's filter is now one passes predicate, and require_assignment_in builds one worktree set instead of an inner chain.

Left to #2763: historical_views.py:201 ThreadTarget.removeprefix (test_command_families[DmHistoryPageResult], test_connector newest-first pages, test_unowned_checkout_work dirty→pushed). These pass on the current main merge. Also test_store_backup ×2, test_install_rehearsal ×7 and test_carry_bus_history::test_predecessor_publisher_history_round_trips_into_bus (HistorySource bus-identity schema; the file is in #2763).

test_runtime ×3 (new_session_metadata display title, subscription_replay_uses_requested_alias[True/False]): environment, not code. They pass on this head. On a fresh main worktree they fail only with NativePackageError, because stack/.pi-native-* was never prepared; CI prepares it in .github/actions/prepare-native.

Environment, not code: test_watcher and test_installed_merge also refuse Insufficient free space before building the practice copy when basetemp is the 7.8 GB tmpfs /tmp (4.6 GB free, under the 5 GiB floor). With --basetemp on disk they pass.

Still unowned, red on main before this PR: test_storage_violations ×5 (SQLITE_CANTOPEN on wire/bus.sqlite3).

Local runs: the touched files pass apart from the #2763-owned and storage_violations reds above, and no test is newly red against main (merged through #2777). Ruff findings on the touched files are identical to base.

🤖 Generated with Claude Code

- todos.require_assignment_in indexed the registry by lookup and raised a bare
  KeyError for an unregistered unit; a unit with no registry record has no
  recorded worktree to share, so it reads threads_for (#2735 regression).
- todos.require_send read Commander.worktrees, which d729bab deleted; every
  order send crashed. It reads the storage rule's checkout base, as d729bab
  did for the other caller.
- goals.ResolvedMentionBinding passed Thread.created_at (now a CreationTime,
  d5cd4bb) into float fields; it passes incarnation.wire_birth, as
  goal_mentions.py already does.
- StoreBackup.copy_tree crashed with KeyError on a regular file written after
  its owners were read; an unowned file is not copied.
- StorageRule froze Path.home() at import, so home-relative defaults ignored
  the running HOME; they are read when the rule is built.
- Tests: the live connector proof runs under the runtime it serves; pr_commander
  configures only its plan-bearing source (no second checkout of the same
  repository); fixtures give each order holder its own worktree, as #2735
  requires.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trissim
trissim marked this pull request as ready for review October 23, 2026 13:21
Copilot AI balanced review requested due to automatic review settings October 23, 2026 13:21

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

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

debt-src at 2039612, every finding:

grew BooleanChainTerms:src/agent_comms/installer/backup.py +4
grew GodClassExcess:src/agent_comms/todos.py::TodoStore +4
grew LongBooleanChain +1

Citation fixture and others added 2 commits October 23, 2026 09:32
- copy_tree names what passes through (owned files, directories, links) in
  one predicate instead of a four-term chain; excluded paths stay refused.
- require_assignment_in compares against the unit's recorded worktrees
  without nesting the scan, so TodoStore does not grow.
- test_commander_forks: each order holder has its own checkout, as the
  shared-worktree refusal (#2735) requires.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trissim
trissim merged commit 278750a 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