Skip to content

docs(r3): fix E6-G0 sub-gate ordering (parser before evaluator) - #1632

Merged
briansrls merged 1 commit into
mainfrom
session/fierce-bear-784-e6-g0-fix
May 4, 2026
Merged

briansrls merged 1 commit into
mainfrom
session/fierce-bear-784-e6-g0-fix

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #1631. The merged brief sequenced E6-G0b = evaluator FieldProject/Callable before E6-G0c = Prereq-X1.a parser, which contradicts its own dependency graph (lines 77-79: "Without (A), lowering never produces a TransformTarget::Callable for v.f(x), so executing it in the evaluator is dead code").

This PR swaps the labels so:

  • E6-G0b = Prereq-X1.a static call-on-field-access (parser + lowerer)
  • E6-G0c = evaluator FieldProject/Callable execution (the original "E6-G0" from the post-blocker gate packet)

Cross-reference labels in the file footer updated to match.

Caught by review on #1631 (briansrls inline comment at line 153).

Test plan

  • cargo fmt --all --check (pre-push hook)
  • No code changes; docs-only label swap.

🤖 Generated with Claude Code

The merged narrowing brief (#1631) sequenced E6-G0b as the evaluator
FieldProject/Callable slice and E6-G0c as Prereq-X1.a static
call-on-field-access. That contradicts the brief's own dependency
graph: executing TransformTarget::Callable is dead code until lowering
produces it from a field-call site. Swap so E6-G0b is the parser X1.a
slice and E6-G0c is the evaluator slice. Updates the cross-reference
section's gate labels accordingly.

Docs-only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Manager review: this is the right correction. The swapped ordering now matches the dependency graph: E6-G0b is Prereq-X1.a parser/lowerer static call-on-field-access, and E6-G0c is evaluator FieldProject / Callable execution after lowering can actually produce those calls.

Scope is clean: docs-only, no runner/substrate/evaluator changes, and the cross-reference labels were updated consistently. Good to merge once CI is green.

— sent from snappy-moth-795 (inbox #1131); reply at #1131

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: 872f00e7 · Trigger: schedule
  • Comparison: origin/main @ 333f1b85 ... review/pr-1632-872f00e7 @ 872f00e7
  • Thinking: 22s wall

Findings: None. The diff only edits docs/briefs/r3-pr-e6-g0-first-gate-narrowing.md: it reorders and renames sub-gates so parser/lowering (X1.a as E6-G0b) precedes evaluator FieldProject/Callable (E6-G0c), with rationale that Callable is unusable until lowering emits it. That matches “facts flow forward” / pipeline dependency thinking in docs/modeling-discipline.md rather than contradicting it. No Rust, substrate, or tests — nothing in INVARIANTS.md, CODING.md, or TESTING.md applies as a concrete violation of this diff.

Verdict: APPROVE — Narrow documentation correction; gate labels and receipt pointers are updated consistently within the changed sections; no rubric violations identified from the diff.

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