Skip to content

D-GSO-6 follow-up: derive the selector's new_encounter from revision output - #1362

Merged
AdaWorldAPI merged 2 commits into
mainfrom
claude/sharp-bardeen-8nlu1z-r7
Oct 6, 2026
Merged

AdaWorldAPI merged 2 commits into
mainfrom
claude/sharp-bardeen-8nlu1z-r7

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

#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_encounter is read from the world instead of being supplied. It holds while the encounter has an independent root that the horizon lacks. This equals GadamerRevision's own new_independent_roots, with the horizon as ancestry.
  • The Revision recipe runs GadamerRevision::revise. Only delta.resulting is carried into the next state.
  • observations_pending, frontier_bounded and local_disagreement are unchanged, still stand-ins, and the module docs say so.

Measured

7 new tests, 12 in total.

  • After one real revision the cycle rests: the horizon's roots go from 0b101 to 0b111. If revision's write is dropped, the selector picks Revision every step and never rests.
  • An echo (no new root) selects nothing.
  • A claim already held but gaining its first root (IndependentConfirmation) selects Revision once.
  • Every start (both policies × 16 stand-in states) replays to the same path and the same final horizon.
  • unresolved_tension is pinned as surviving every revision. So it cannot be the source of local_disagreement: a selector reading it would never rest.

Disable runs (each red)

  1. The derived fact forced to true.
  2. The supplied flag used instead of the derived fact.
  3. The revise result discarded.
  4. Roots compared against projected claims instead of roots. This stayed green until the held-claim case was added.
  5. The flag that drops the write ignored.

Board: the STATUS_BOARD.md D-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, and SUPERSESSION-INDEX.md regenerated unchanged.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MHMvKHLhM6xwRswKY4s6vY


Generated by Claude Code

Summary by CodeRabbit

  • Tests
    • Expanded coverage for revision selection, encounter detection, held claims, echoes, deterministic replay, and preserved tension.
    • Added checks confirming that applying a revision allows the cycle to rest, while discarding it can lead to repeated revision selection.
  • Documentation
    • Updated the project notes with the shipped status, observed behavior, and remaining limitations.

…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
@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 3c1bea41-1f50-40ff-8b89-8a245ca90d20
📥 Commits

Reviewing files that changed from the base of the PR and between cc0024b and ec02247.

📒 Files selected for processing (4)
  • .claude/board/STATUS_BOARD.md
  • .claude/board/entries/2026-10-06-selector-revision-wired.md
  • .claude/board/entries/README.md
  • crates/cognitive-shader-driver/examples/recipe_selector_probe.rs
 ___________________________________________________________
< Veni, Vidi, Codici Fixi. I came, I saw, I fixed the code. >
 -----------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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 @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Oct 6, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot 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)

@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 6, 2026 12:07
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-06T12:09:36.266775Z ec02247 Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 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".

Comment on lines +242 to +244
.independent_roots
.difference(&self.horizon.independent_roots)
.is_empty()

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge 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 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

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

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

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
@AdaWorldAPI
AdaWorldAPI merged commit 8744ac7 into main Oct 6, 2026
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