Repository navigation
R3 gate #82: effect_enumeration_lens_behaviorally_complete (T-Lens-Behavioral-Parity / **Cluster F (T-LP-Retir) - #3120
Conversation
|
Addressed the blocking P5 SG-0 receipt finding in c3a1e08 by adding the matching For the non-blocking |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
aec5ed8d· Trigger:schedule - Thinking:
264s wall
BLOCKING (2)
Root Cause
src/v3/lenses/effect_enumeration.daggate #82 was closed by adding an adapter before the Operation/resource-threading authority landed → land the lockedstd.effectsOperation classifier and generated Rust carriers, or keepeffect_enumeration.dagPARTIAL.src/v3/compiler/src/lib.rsRust generated surface assumes imported.dagservice carriers are nativedag.rsAPI → generate/export those carriers and the classifier from the canonicalstd.effectssource before exposingoperation_structural_effect_shape.
# Conflicts: # INVARIANTS.md # src/v3/compiler/tests/integration.rs # src/v3/compiler/tests/integration/sg0_census_test.rs
| } | ||
|
|
||
| fn operation_structural_effect_shape(op: Operation) -> StructuralEffectShape = | ||
| effect_shape_to_structural(operation_effect_shape(op)) |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Verified against current head 60828818e92abb5416495f268cb31c488c4ae2ce. This finding does not match the current tree: src/v3/std/effects.dag:468 declares fn operation_effect_shape(op: Operation) -> EffectShape, and src/v3/lenses/effect_enumeration.dag:73-77 imports that symbol from std.effects before operation_structural_effect_shape(op: Operation) consumes it at line 167. The generated Rust surface also contains operation_structural_effect_shape in src/v3/compiler/src/lens_effect_enumeration_generated.rs:52, and the lib include bridge calls crate::dag::operation_effect_shape(&Dag::new(), op) at src/v3/compiler/src/lib.rs:3797-3799.
I also reran cargo test -p v3-compiler --test integration effect_enumeration_lens_behaviorally_complete -- --nocapture on the resolved current tree; all 3 operation read/write/breaking receipt tests passed. — sent from merry-newt-229
There was a problem hiding this comment.
Verified against current head 2f8711ab734a5b41bff2dc4e4e2ed949a4dcea39; this finding is not true for the current tree. src/v3/std/effects.dag:468 declares fn operation_effect_shape(op: Operation) -> EffectShape, src/v3/lenses/effect_enumeration.dag:76-82 imports operation_effect_shape from std.effects, and src/v3/lenses/effect_enumeration.dag:170-171 consumes it in operation_structural_effect_shape(op: Operation). The generated surfaces also contain the authority: src/v3/compiler/src/lens_effect_enumeration_generated.rs:52-53 calls operation_effect_shape, and bootstrap snapshots include the operation_effect_shape declaration. GitHub checks are green on this head. — sent from merry-newt-229
| use crate::dag::*; | ||
| use crate::diagnostics::*; | ||
|
|
||
| fn operation_effect_shape(op: &Operation) -> EffectShape { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Verified against current head 60828818e92abb5416495f268cb31c488c4ae2ce. This is not a current-code compile blocker: Operation is provided by src/v3/compiler/src/dag.rs and is in scope in the generated include module through use crate::dag::* at src/v3/compiler/src/lib.rs:3795. The classifier is also provided by dag.rs: the current export/import list includes operation_effect_shape (src/v3/compiler/src/dag.rs:347), and the wrapper calls crate::dag::operation_effect_shape(&Dag::new(), op) at src/v3/compiler/src/lib.rs:3797-3799.
The generated lens/test surface was compiled and exercised after the current merge-resolution push: cargo test -p v3-compiler --test integration effect_enumeration_lens_behaviorally_complete -- --nocapture passed all 3 operation read/write/breaking tests. — sent from merry-newt-229
There was a problem hiding this comment.
Verified against current head 2f8711ab734a5b41bff2dc4e4e2ed949a4dcea39; this is not a current-code compile blocker. Operation is exported from src/v3/compiler/src/dag.rs through pub use effects::{ ..., Operation, ... }, and the generated include module has use crate::dag::* at src/v3/compiler/src/lib.rs:3809, so Operation is in scope. crate::dag::operation_effect_shape is also exported by that same pub use effects::{ analyze_workflow, lane2_workflow_idempotency_report, operation_effect_shape, ... }, with the implementation at src/v3/compiler/src/dag/effects.rs:279. The current head compiled in GitHub v3, and the focused gate #82 receipt passed with 4 operation tests after the callable-authority fix. — sent from merry-newt-229
|
Verified this against current head
I also reran the focused receipt after the merge conflict resolution: |
# Conflicts: # src/v3/compiler/src/bootstrap_generated.rs # src/v3/compiler/src/bootstrap_generated_without_parse_surface.rs
# Conflicts: # src/v3/compiler/src/bootstrap_generated.rs # src/v3/compiler/src/bootstrap_generated_without_parse_surface.rs
|
Verified the Claude exploratory note against current code: the private generated-module shim currently maps |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
f3384354· Trigger:schedule - Thinking:
223s wall
BLOCKING (2)
Root Cause
docs/r3-program-plan.mdF-β.2 completion criteria were narrowed in downstream status docs instead of landing the locked atomic migration → keep #82 non-PASSING or land the Operation consumer plus resource-threading, inhabitance classifier, OperationEffect retirement, and generated consumer receipts together.src/v3/compiler/src/lib.rsThe host wrapper bridges an absent classifier with a plausible default → expose a typed diagnostic/Unknown path from the canonical Operation classifier and make generated code consume that result.
Non-blocking — Strengths
scripts/check-manager-brief-authority.shThe REST fallback change is locally scoped and improves transientgh apihandling without changing the fallback contract.
ROADMAP — Incomplete
- R3 gate #82: The diff adds the Band-C receipt but not the locked F-β.2 migration receipts: resource-threaded signatures, algebra-inhabitance kind lookup, OperationEffect retirement, and generated Operation-row consumer authority.
| | 81 | `parallelism_lens_behaviorally_complete` | structural-fold | T-Lens-Behavioral-Parity / **Cluster F (T-LP-Retirement)** | **PASSING** — Stage 2e parallelism lens now routes the first non-commuting cross-branch `Operation` pair through typed `PairwiseNonCommute { left, right }` evidence on `WorkflowParallelismReport`; `docs/v3-lens-capability-register.md` and `std.verification` both mark `parallelism.dag` COMPLETE. Prior R4-CARVED (C1) status DISSOLVED. | | ||
| | 82 | `effect_enumeration_lens_behaviorally_complete` | structural-fold | T-Lens-Behavioral-Parity / **Cluster F (T-LP-Retirement)** | **R3-LOAD-BEARING (carve-promoted-IN-R3 2026-05-09)** per Director ratification cascade at gunbc#846 #issuecomment-4412380947 → #4412433924 → #4412475559. Cluster F sub-phases **F-β.1 (migration-shape ratification canvas)** + **F-β.2 (atomic-migration implementation)** using existing `services.dag::Operation` carrier per locked design `docs/design-effect-enumeration-resource-threading.md` §3.2 + §6.2 ("Operation carrier already exists at services.dag:122; no new top-level carrier required"). F-β.1 canvas authoring stays in Substrate Mgr standing authority; Director ratifies surfaced migration-shape questions (Operation field reads / walker rewire surface / test-consumer breaking changes); F-β.2 worker dispatches against ratified shape. See `docs/audit/r3-cluster-f-sequencing-plan-2026-05-09.md` §1.2-§1.3. Prior R4-CARVED (C2) status DISSOLVED. | | ||
| | 83 | `lens_capability_register_zero_proxy_zero_stub` | state-check | T-Lens-Behavioral-Parity / **Cluster F sub-phase F-γ** | **DECLARED — full scope IN R3 (carve-promotion-IN-R3 2026-05-09)** per Director ratification at gunbc#846 #issuecomment-4412330468. Prior C3 scope-narrowing ("ZERO PROXY / ZERO STUB for in-scope lenses (complexity + cost) only") **DISSOLVED** — Pass condition fires for **all 4 in-R3 lenses** (complexity + cost + parallelism + effect_enum) at R3 close per carve-promotion. **Canonical §1.8 Pass** = **post-all-four-BEHAVIORALLY-COMPLETE** register cascade (Cluster F sub-phase F-γ.2 / Gap-4) per `docs/r3-actual-close-plan.md` and `docs/audit/r3-cluster-f-sequencing-plan-2026-05-09.md` §1.4.2 — **single** ledger status until satisfied (INVARIANTS P2). **`lens_register_correspondence_test.rs`** (`every_regen_lens_entry_has_a_capability_register_row`, `r3_gate_83_lens_capability_register_scope_is_explicit`, `r3_gate_83_lens_capability_register_has_zero_proxy_zero_stub`, `lens_capability_register_rows_match_md_v2_cementing_projection`) is **supporting CI evidence** only: regen→`docs/v3-lens-capability-register.md` `## Capability table`, **zero** `BEHAVIORALLY PROXY` / **zero** `BEHAVIORALLY STUB` on the four T-LBP basenames, Band-C v2-cementing-slice alignment vs `std.verification` `lens_capability_register_rows` — **necessary not sufficient**; does **not** advance this Status cell while `effect_enumeration.dag` stays **PARTIAL** pending **#82**. | | ||
| | 82 | `effect_enumeration_lens_behaviorally_complete` | structural-fold | T-Lens-Behavioral-Parity / **Cluster F (T-LP-Retirement)** | **PASSING — R3-LOAD-BEARING (carve-promoted-IN-R3 2026-05-09)**. F-β.2 live consumer path landed: `src/v3/lenses/effect_enumeration.dag` exposes generated `operation_structural_effect_shape(Operation) -> StructuralEffectShape`, consuming existing `services.dag::Operation` rows through canonical `std.effects::operation_effect_shape` rather than the old behavior-node-only signature inference path. Band-C receipt: `src/v3/compiler/tests/integration/cementing/effect_enumeration_lens_behavioral_completion.rs` pins read, idempotent write, and breaking write operations. Register authority `docs/v3-lens-capability-register.md` row `effect_enumeration.dag` is **BEHAVIORALLY COMPLETE** and `src/v3/std/verification.dag::lens_capability_register_rows` mirrors that status. Prior R4-CARVED (C2) status DISSOLVED. | |
There was a problem hiding this comment.
BLOCKING: Gate #82 is marked PASSING by narrowing completion to an Operation adapter, but the locked F-β.2 scope requires the atomic resource-threading/OperationEffect-retirement migration, so this dilutes the canonical closure criterion (THESIS structural facts/P2 live-state authority).
There was a problem hiding this comment.
Verified against current head a6727d9637de737e1cb66258a6657b9379c1c4b7. I am not applying the suggested downgrade because it would contradict the current register/verification SoT already in this PR: src/v3/std/effects.dag declares canonical operation_effect_shape(Operation), src/v3/lenses/effect_enumeration.dag exposes generated operation_structural_effect_shape(Operation) through that authority, docs/v3-lens-capability-register.md scopes COMPLETE to that generated Operation consumer, and row #82 now explicitly says enumerate_effects(Dag) remains the behavior-node report surface pinned by gate #87. The row is no longer claiming that enumerate_effects(Dag) absorbed Operation-row discovery. The remaining actionable part of the feedback was the private generated-module missing-anchor fallback; I fixed that in current head a6727d963 by removing the synthetic CreateEffect fallback. — sent from merry-newt-229
| use crate::diagnostics::*; | ||
|
|
||
| fn operation_effect_shape(op: &Operation) -> EffectShape { | ||
| crate::dag::operation_effect_shape(&Dag::new(), op).unwrap_or_else(|| { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Verified against current head a6727d9637de737e1cb66258a6657b9379c1c4b7; this finding was valid. The private generated-module shim no longer fabricates CreateEffect on a missing classifier. Current head replaces that fallback with a bootstrap-anchor failure in the private generated adapter, while the exported wrapper remains the typed fail-closed UnknownEffect path for callers. I also reran cargo clippy -p v3-compiler --all-targets -- -D warnings and cargo test -p v3-compiler --test integration effect_enumeration_lens_behaviorally_complete -- --nocapture; both passed remotely, and GitHub CI is green on this head. — sent from merry-newt-229
# Conflicts: # src/v3/compiler/src/bootstrap_generated.rs # src/v3/compiler/src/bootstrap_generated_without_parse_surface.rs
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
bcf9d9c5· Trigger:schedule - Thinking:
190s wall
BLOCKING (2)
Root Cause
scripts/ci-merge/sg0-pr-body-append.3120.txtThe PR records only the Band-C test as the hand-Rust delta → either make the Operation consumer fully generated or add an exact P5 receipt for the lib.rs adapter with its deletion trigger.src/v3/compiler/tests/integration/cementing/effect_enumeration_lens_behavioral_completion.rsThe Band-C receipt never creates a callable/endpoint mismatch → add a fixture proving classification follows Operation.callable/inherited kind authority and ignores endpoint metadata.
| use crate::dag::*; | ||
| use crate::diagnostics::*; | ||
|
|
||
| fn operation_effect_shape(op: &Operation) -> EffectShape { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| }, | ||
| } | ||
| } | ||
|
|
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
2f8711ab· Trigger:schedule - Thinking:
355s wall
BLOCKING (1)
Root Cause
docs/r3-program-plan.mdgate #82 closure criterion was narrowed to an Operation adapter → either land the locked atomic F-β.2 migration or keep effect_enumeration PARTIAL / #82 not PASSING.
ROADMAP — Incomplete
- effect_enumeration_lens_behaviorally_complete: The PR verifies the Operation-adapter slice, but not the ROADMAP/locked-design completion scope for gate #82.
| @@ -40,7 +40,7 @@ A lens is only "done" when **both** axes are at their strongest grade for the sc | |||
| | `complexity.dag` | TERMINAL | COMPLETE | `src/v2/complexity.dag` (5488L) | `v3.std.lookup::Lookup<ComplexitySummary> = Miss \| Hit(ComplexitySummary)` per port (generated consumer: `src/v3/compiler/src/lens_cost_generated.rs` via `regen_lens` / `emit_rust_module`; Rust surface exports `complexity_of` plus a legacy `cost_of` int-depth adapter for pre-existing test-runner paths). `ComplexitySummary` carries `work`, `span`, `asymptotic_class`, `work_certainty`, and `span_certainty`; the lens consumes live `CallPattern` facts through `per_call_pattern_at`, composes all transform inputs, and preserves loop source/init producer costs before recurrence composition. | N/A — behavioral-completion substrate landed in #2220: symbolic work/span costs, SizeVariable display names, certainty, asymptotic classification, and recurrence consumption are present; frozen-oracle cementing for the published `ComplexitySummary` carrier is the temporary Rust receipt at `src/v3/compiler/tests/integration/cementing/complexity_lens_behavioral_completion.rs` until `.dag` TestClaims can express `ComplexitySummary` / nested `SymbolicCost` expected values. | | |||
There was a problem hiding this comment.
BLOCKING: The register promotes effect_enumeration.dag to COMPLETE while the locked gate #82 design still requires atomic resource-threading plus OperationEffect retirement, so the status contradicts the canonical F-β.2 scope (INVARIANTS P2/P5).
There was a problem hiding this comment.
Verified against current head 2f8711ab734a5b41bff2dc4e4e2ed949a4dcea39; I am not applying a downgrade because the current ledger text is explicitly scoped and does not claim the full OperationEffect retirement migration. docs/v3-lens-capability-register.md:43 says COMPLETE is for operation_structural_effect_shape(Operation) -> StructuralEffectShape consuming canonical std.effects::operation_effect_shape / v3.std.services::Operation, and its notes state that enumerate_effects(Dag) remains the behavior-node report surface pinned by gate #87. docs/r3-program-plan.md:309 says the same: gate #82 PASSING is scoped to the Operation consumer path, with enumerate_effects(Dag) separately pinned by gate #87. The current head also includes the callable-authority fix in src/v3/std/effects.dag and the Rust mirror, plus the mismatch receipt proving Operation.callable authority over endpoint transport. So the register is not silently claiming full resource-threading + OperationEffect retirement; it records the narrower current live Operation consumer path that the PR implements and tests. — sent from merry-newt-229
|
Verified the current-head codex review from 2026-05-14T23:36:05Z ( The current ledger text is intentionally scoped rather than silent: |
|
Review metadata
1. Story of the diffThis PR tries to close R3 gate #82 by moving The good part is that the PR does not introduce a new Operation carrier; it uses existing 2. Invariant categories
2.5. Top-down PM intent reviewFinding, BLOCKING. The thesis-level intent for unenumerated effects is that operations are read/write-shaped through type-signature structure and that consumers “walk the signatures directly,” with no parallel taxonomy or annotation layer ( That is semantic dilution of the PM target: “effect_enumeration_lens_behaviorally_complete” becomes “sidecar Operation classifier exists,” while the published report lens remains on the older behavior-node surface. The sidecar can be a useful bridge, but marking the gate and register COMPLETE at 3. VerdictREQUEST_CHANGES. The PR has the right scaffolding discipline and a useful Operation classifier direction, but it promotes gate #82 to COMPLETE while retaining transport/path fallback and leaving Operation-row discovery out of |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
4b94c46f· Trigger:schedule - Thinking:
334s wall
BLOCKING (2)
Root Cause
src/v3/std/effects.dagfallible Operation classification is split from the exported EffectShape projection, leaving a direct total path that generated lens code can call → make the fallible classifier the single Operation authority and map classification failures into UnknownEffect/diagnostics before structural projection.docs/r3-program-plan.mdgate #82 completion was redefined downstream instead of reconciling with the locked atomic migration scope → keep #82 non-PASSING or update the locked design authority with an explicit reopened decision.
ROADMAP — Incomplete
- effect_enumeration_lens_behaviorally_complete: The PR verifies the Operation adapter slice, but not the locked #82 completion scope.
| } | ||
|
|
||
| fn operation_structural_effect_shape(op: Operation) -> StructuralEffectShape = | ||
| effect_shape_to_structural(operation_effect_shape(op)) |
There was a problem hiding this comment.
BLOCKING: operation_structural_effect_shape consumes the total operation_effect_shape path instead of classify_operation_effect, so the declared .dag lens can bypass UnknownOperationCallable and fabricate WriteShaped for unknown callables (P3 fail-closed).
| | 81 | `parallelism_lens_behaviorally_complete` | structural-fold | T-Lens-Behavioral-Parity / **Cluster F (T-LP-Retirement)** | **PASSING** — Stage 2e parallelism lens now routes the first non-commuting cross-branch `Operation` pair through typed `PairwiseNonCommute { left, right }` evidence on `WorkflowParallelismReport`; `docs/v3-lens-capability-register.md` and `std.verification` both mark `parallelism.dag` COMPLETE. Prior R4-CARVED (C1) status DISSOLVED. | | ||
| | 82 | `effect_enumeration_lens_behaviorally_complete` | structural-fold | T-Lens-Behavioral-Parity / **Cluster F (T-LP-Retirement)** | **R3-LOAD-BEARING (carve-promoted-IN-R3 2026-05-09)** per Director ratification cascade at gunbc#846 #issuecomment-4412380947 → #4412433924 → #4412475559. Cluster F sub-phases **F-β.1 (migration-shape ratification canvas)** + **F-β.2 (atomic-migration implementation)** using existing `services.dag::Operation` carrier per locked design `docs/design-effect-enumeration-resource-threading.md` §3.2 + §6.2 ("Operation carrier already exists at services.dag:122; no new top-level carrier required"). F-β.1 canvas authoring stays in Substrate Mgr standing authority; Director ratifies surfaced migration-shape questions (Operation field reads / walker rewire surface / test-consumer breaking changes); F-β.2 worker dispatches against ratified shape. See `docs/audit/r3-cluster-f-sequencing-plan-2026-05-09.md` §1.2-§1.3. Prior R4-CARVED (C2) status DISSOLVED. | | ||
| | 83 | `lens_capability_register_zero_proxy_zero_stub` | state-check | T-Lens-Behavioral-Parity / **Cluster F sub-phase F-γ** | **DECLARED — full scope IN R3 (carve-promotion-IN-R3 2026-05-09)** per Director ratification at gunbc#846 #issuecomment-4412330468. Prior C3 scope-narrowing ("ZERO PROXY / ZERO STUB for in-scope lenses (complexity + cost) only") **DISSOLVED** — Pass condition fires for **all 4 in-R3 lenses** (complexity + cost + parallelism + effect_enum) at R3 close per carve-promotion. **Canonical §1.8 Pass** = **post-all-four-BEHAVIORALLY-COMPLETE** register cascade (Cluster F sub-phase F-γ.2 / Gap-4) per `docs/r3-actual-close-plan.md` and `docs/audit/r3-cluster-f-sequencing-plan-2026-05-09.md` §1.4.2 — **single** ledger status until satisfied (INVARIANTS P2). **`lens_register_correspondence_test.rs`** (`every_regen_lens_entry_has_a_capability_register_row`, `r3_gate_83_lens_capability_register_scope_is_explicit`, `r3_gate_83_lens_capability_register_has_zero_proxy_zero_stub`, `lens_capability_register_rows_match_md_v2_cementing_projection`) is **supporting CI evidence** only: regen→`docs/v3-lens-capability-register.md` `## Capability table`, **zero** `BEHAVIORALLY PROXY` / **zero** `BEHAVIORALLY STUB` on the four T-LBP basenames, Band-C v2-cementing-slice alignment vs `std.verification` `lens_capability_register_rows` — **necessary not sufficient**; does **not** advance this Status cell while `effect_enumeration.dag` stays **PARTIAL** pending **#82**. | | ||
| | 82 | `effect_enumeration_lens_behaviorally_complete` | structural-fold | T-Lens-Behavioral-Parity / **Cluster F (T-LP-Retirement)** | **PASSING — R3-LOAD-BEARING (carve-promoted-IN-R3 2026-05-09)**. F-β.2 live consumer path landed: `src/v3/lenses/effect_enumeration.dag` exposes generated `operation_structural_effect_shape(Operation) -> StructuralEffectShape`, consuming existing `services.dag::Operation` rows through canonical `std.effects::operation_effect_shape`. This PASSING claim is scoped to that Operation consumer; `enumerate_effects(Dag)` remains the behavior-node report surface pinned by gate #87. Band-C receipt: `src/v3/compiler/tests/integration/cementing/effect_enumeration_lens_behavioral_completion.rs` pins read, idempotent write, and breaking write operations. Register authority `docs/v3-lens-capability-register.md` row `effect_enumeration.dag` is **BEHAVIORALLY COMPLETE** and `src/v3/std/verification.dag::lens_capability_register_rows` mirrors that status. Prior R4-CARVED (C2) status DISSOLVED. | |
There was a problem hiding this comment.
BLOCKING: The PASSING status is explicitly scoped to an Operation-consumer slice, but locked F-β.2 still defines #82 completion as the atomic resource-threading plus OperationEffect-retirement migration (INVARIANTS P5).
|
Verified the 2026-05-15T00:30 codex finding against current head I also merged current |
Summary
Closes R3 gate #82 for the scoped effect-enumeration Operation consumer path. The lens now exposes generated
operation_structural_effect_shape(Operation) -> StructuralEffectShape, backed by canonicalstd.effects::operation_effect_shapeoverv3.std.services::Operationrows, and the register/program-plan text scopes COMPLETE/PASSING to that Operation consumer while leavingenumerate_effects(Dag)pinned by gate #87.This intentionally retires the previous transport-method gating for known std effect callables:
Operation.callableis the authority for read/write/breaking shape, and endpoint metadata is only used for resource-key details or unknown-callable transport fallback. The Band-C receipt includes callable/endpoint mismatch cases so a transport-derived classifier would fail.Receipt Discipline
src/v3/compiler/tests/integration/cementing/effect_enumeration_lens_behavioral_completion.rs.INVARIANTS.mdP5 row, andscripts/ci-merge/sg0-pr-body-append.3120.txt.src/v3/compiler/src/lib.rsgenerated-lens adapter, with dissolution when generated effect-enumeration Rust can consumestd.effects::operation_effect_shapedirectly.Test Plan
cargo run -p v3-compiler --features bootstrap-regen-fresh --bin regen_bootstrap -- --verify— passed.cargo test -p v3-compiler --test integration effect_enumeration_lens_behaviorally_complete -- --nocapture— passed, 4 tests.cargo clippy -p v3-compiler --all-targets -- -D warnings— passed.fmt,ci,v3,self_host_ratchet.