Skip to content

Fix source atom string projection recursion for #4182 - #4242

Merged
briansrls merged 24 commits into
mainfrom
session/nimble-crab-195
Jun 1, 2026
Merged

briansrls merged 24 commits into
mainfrom
session/nimble-crab-195

Conversation

@briansrls

@briansrls briansrls commented Jun 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Caretakes #4182 by replacing the explicit recursive source_atom_string_projection_from_node walker with the existing fold_node traversal pattern. The projection remains fail-closed for encoded FreeMonoid<Char> string nodes, but no longer trips the v4 bootstrap complexity check for same-argument recursion.

This PR is intentionally scoped to the recursion RCA on top of the existing TestClaimRun E0107 implementation branch; it does not expand the generic-preservation work.

Test plan

  • ctrl-build -- /opt/cargo/bin/cargo build --release --bin gunbc — passed.
  • ctrl-build -- bash scripts/v4-bootstrap-viability.sh — passed: compiled: 1 files emitted, 0 diagnostics.

briansrls and others added 21 commits June 1, 2026 11:29
@briansrls briansrls changed the title Caretake #4182 TestClaimRun E0107 PR — hold/recheck after source_atom_string_projection_from_node recursion RCA; no scope expansion Fix source atom string projection recursion for #4182 Jun 1, 2026
@briansrls
briansrls marked this pull request as ready for review June 1, 2026 17:49

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Review metadata

  • Provider / model: codex / unknown
  • Commit: 0c87aa60 · Trigger: schedule
  • Thinking: 210s wall

BLOCKING (1)

Root Cause

  • src/v4/std/target_model.dag source_atom_string_projection_from_node was refactored to fold_node by introducing an unclassified fold-state carrier → either dissolve the state into existing std structure or add the required coproduct disposition/gate on the type.

⚠️ One substrate-level modeling receipt is missing; the v2 generic-spine changes looked coherent from the supplied diff.

// bounded to TS-ATOM-REALIZATION's String value-template bridge; forbidden: adding another
// FreeMonoid storage walker outside this receipt.
fn source_atom_string_projection_from_node(source: Node) -> Optional<SourceAtomValue> {
type SourceAtomStringProjectionFold

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

BLOCKING: New substrate .dag coproduct SourceAtomStringProjectionFold has six variants but no required 🟢/🟡/🔴 classification tag, violating modeling-discipline Practices 4/9 and INVARIANTS P5.

@briansrls
briansrls merged commit 7797950 into main Jun 1, 2026
4 checks passed
@briansrls
briansrls deleted the session/nimble-crab-195 branch June 1, 2026 20:59
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.

1 participant