Repository navigation
Exploration: the issue's moves the world makes, and the world held to the exploration both ways (#228, #202) - #248
Conversation
… the exploration both ways (#228, #202) tests/test_transitions.py gains a person's close and reopening, hands-off, the draft converted back, the empty merge, a person's own pull request, the author App marking its draft ready and the queue's merge, and the act-ceiling base of issue 202. The exploration finds every change the issue world makes on 300 seeds; the nine it finds that the world never makes are named with why, and UNEXPLORED goes. The world no longer lets a person merge a draft, which GitHub refuses. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…omputed once, and the review's findings taken The reopen move was dead (a closed issue is a dead end; a writer's reopening is a new life): gone. The exploration is computed once a process and the simulator's test shares it. The seven rows the issue Lifecycle declares that the exploration does not reach are named with why, as the pull request's UNREACHED are. The UNMADE rows are held equal on the full seeds and the reasons say what the seeds do. The world's rule that a draft is not merged is marked and listed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 47 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
… carry it The merge queue found it: #248 landed the explorer's move "a person closes the issue", which set the state and nothing more, so with the first close of the life among the facts the Kernel read the close as unreadable and no transition to declined was reached, on the merge group alone. The move now gives the close its time. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>



Closes #228. Closes #202. By the working rulings on both (comments of 2026-10-20).
What. The exploration of every change the issue Kernel can make (
tests/test_transitions.py) gains the moves the world makes and it lacked: a person closes the issue, adds and removesfactory:hands-off, converts the linked pull request back to a draft, merges it with an empty diff, opens a draft or a ready pull request of their own; the Factory's author App marks its draft ready; the queue merges the Factory's ready pull request while the issue is in review (the Maintainer's ruling on #227). It gains #202's base: a writer's issue one act short, carrying afactory:readythe readiness App added with no Run that judged it, from which the Controller's removal is the last act andnew → heldby the Factory follows at the act ceiling.Held both ways.
tests/test_issue_simulator.pydropsUNEXPLORED: every change the world makes on its seeds is one the exploration finds (made ⊆ explored), and the nine the exploration finds that the world never makes are named asUNMADEwith why; on the full 300 seeds the two sets are held equal, on fewer seeds the named rows must still be unmade.tests/test_transitions.pynames, asISSUE_UNREACHED, the seven rowslifecycle/issue.jsondeclares that the exploration does not reach, with why each is kept, and holds the set exactly, as the pull request'sUNREACHEDis held. The exploration is computed once a process (issue_explored()), and the simulator's test shares it.The exploration's time. Full depth 4 with the new moves: 22 seconds on this machine (the bare exploration; 32 with the old per-item wrapper, now gone), against the ruling's thirty. The split the ruling names (the Kernel's moves to depth 4, a person's one deep) runs in 8 to 18 seconds and misses two changes only four mixed steps reach (
in_progress → triageby the Factory,ready → heldby the Factory), so the full exploration is kept; a cheaper exploration that still finds those two is a story of its own if CI's runners make this one slow.The world. One change to
sim/issues.py: a person no longer merges a draft pull request, which GitHub refuses (a_draft_is_not_merged, listed insim/grounding.py, asked by no trial). With it the world no longer makesin_progress → doneby a person, which it had made only through that merge; the row stays declared and is named inISSUE_UNREACHEDas one a person's own ready pull request beside the Factory's draft would make, were the Kernel not to hold two links first.#202. The base is explored and yields
new → heldby the Factory,(label_not_counted → act_ceiling). The row's bound stays null, as every→ heldby the Factory is declared: only a person leavesheld, so no bound on the way in is what terminates (tools/check_lifecycle.py).Record. No new decision. A row on decision 0028;
sim/AGENTS.md's row on the issue world's changes names the exploration.Reviews, one fix round on 31277ad: fresh-context Claude review and security pass, Muse (a change to
sim/tests). No AGY: nothing inkernel/. Taken: the reopen move was dead, since a closed issue is a dead end of the exploration and a writer's reopening is a new life, not a transition (Claude, Muse); theUNMADEcheck was one inclusion, now equality on the full seeds (Claude, Muse, security); threeUNMADEreasons said what the seeds do not (Claude); the world's draft rule was unmarked and unlisted (security); seven declared rows nothing reaches were named by nothing (Claude, security); the exploration was computed twice and paid a key per item in the test's wrapper (Claude);queue_mergeswas defined a second time, which the repo check refuses in an export. Not taken: the split exploration, for the two changes it misses, said above.🤖 Generated with Claude Code