Repository navigation
Fix six owners behind 18 red tests on main - #2776
Merged
Merged
Conversation
- 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
marked this pull request as ready for review
October 23, 2026 13:21
There was a problem hiding this comment.
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.
|
debt-src at 2039612, every finding: |
- 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
todos.py:3911baresnapshot.by_lookup[...]KeyError for an unregistered unitthreads_for; an unregistered unit has no recorded worktree to sharetodos.py:2184readsCommander.worktrees, deleted by d729bab; everyorder sendcrashedstorage_rule.checkout_base, the same owner d729bab used for the other callerstorage_rules.py:89frozePath.home()at import, socheckout_basepointed at the real~/wtunder a test HOMEdefault_factory, read when the rule is built~/wt)goals.py:138passesThread.created_at(nowCreationTime) into float fieldsincarnation.wire_birth, as goal_mentions.py doesinstaller/backup.py:333copy_tree KeyError on a lock file written after the owners were readsource_programspythonDebt 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
passespredicate, andrequire_assignment_inbuilds one worktree set instead of an inner chain.Left to #2763:
historical_views.py:201ThreadTarget.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 copywhen basetemp is the 7.8 GB tmpfs/tmp(4.6 GB free, under the 5 GiB floor). With--basetempon disk they pass.Still unowned, red on main before this PR: test_storage_violations ×5 (
SQLITE_CANTOPENonwire/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