Repository navigation
D-GSO-6 follow-up: derive the selector's new_encounter from revision output - #1362
Conversation
…output new_encounter is read from the world (encounter roots minus horizon roots), and the Revision recipe writes GadamerRevision's delta.resulting. The cycle rests because revision absorbed the roots; dropping the write never rests. Pins that unresolved_tension cannot drive local_disagreement. The other three facts remain stand-ins. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MHMvKHLhM6xwRswKY4s6vY
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (4)
✨ Finishing Touches📝 Generate docstrings
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: f73228bf-0eb8-44ae-8ab1-23a814b107c8) |
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ec02247201
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| .independent_roots | ||
| .difference(&self.horizon.independent_roots) | ||
| .is_empty() |
There was a problem hiding this comment.
Keep rootless revisions pending
When a fresh encounter changes the projection or carries resistance/contradictions but introduces no new independent root, this predicate returns false and wired_cycle rests without applying the encounter. The added an_echo_selects_nothing case demonstrates the problem: it retains fusion_world()'s changed proposed_claims, resistance, and contradiction, so GadamerRevision::revise would produce ContradictionPreserved, update projected_claims, and preserve the tension—not an echo. Track whether the encounter has been processed separately from root novelty so these valid rootless revisions are not silently discarded.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Correct. A roots-only test dropped rootless revisions, and an_echo_selects_nothing was not an echo. Fixed in d82a346f (pushing now): new_encounter holds while revising would still change a horizon mask (projected claims, a root, an inherited root, or a contradiction not yet in the tension), one test per field delta.resulting writes. On all 65 536 worlds of a 2-bit universe it equals whether revise changes those masks. Added a_rootless_contradiction_is_still_revised (ContradictionPreserved, applied once, then rests) and made the echo test a true Echo. Restoring the roots-only predicate turns both new tests red.
Generated by Claude Code
There was a problem hiding this comment.
Correction to the reply above: this PR merged before the fix was pushed. The fix landed in #1365 (commit b448ffe).
Generated by Claude Code
Resolve STATUS_BOARD.md: keep this branch's D-GSO-6 row (main's text plus the follow-up) and main's D-GSO-7 row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MHMvKHLhM6xwRswKY4s6vY
#1358 shipped the D-GSO-6 selector. In its tests, each recipe step simply cleared its own flag; the probe itself called these state transitions "a stand-in". This PR makes one of the four facts real:
new_encounter, the one Round 6 (#1359) showed compiles.Change
All changes are in
crates/cognitive-shader-driver/examples/recipe_selector_probe.rs.new_encounteris read from the world instead of being supplied. It holds while the encounter has an independent root that the horizon lacks. This equalsGadamerRevision's ownnew_independent_roots, with the horizon as ancestry.Revisionrecipe runsGadamerRevision::revise. Onlydelta.resultingis carried into the next state.observations_pending,frontier_boundedandlocal_disagreementare unchanged, still stand-ins, and the module docs say so.Measured
7 new tests, 12 in total.
0b101to0b111. If revision's write is dropped, the selector picksRevisionevery step and never rests.IndependentConfirmation) selectsRevisiononce.unresolved_tensionis pinned as surviving every revision. So it cannot be the source oflocal_disagreement: a selector reading it would never rest.Disable runs (each red)
Board: the
STATUS_BOARD.mdD-GSO-6 row is updated: #1358 marked shipped, plus this follow-up. New entry.claude/board/entries/2026-10-06-selector-revision-wired.md; the entries index is regenerated, andSUPERSESSION-INDEX.mdregenerated unchanged.🤖 Generated with Claude Code
https://claude.ai/code/session_01MHMvKHLhM6xwRswKY4s6vY
Generated by Claude Code
Summary by CodeRabbit