Skip to content

XL-2 3c: enumerate ServiceSetAside consumers before delete-first - #13637

Closed
gunbai-bot[bot] wants to merge 1 commit into
mainfrom
session/bold-carp-102
Closed

gunbai-bot[bot] wants to merge 1 commit into
mainfrom
session/bold-carp-102

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Census only: every producer/reader of ServiceSetAside, both set-aside reasons, admit_set_aside, and body_lowering_reason_service_realization_unreachable, named by module and symbol, in-gate vs out-of-gate.
  • Does not implement 3c (no deletion). The required-floor in-gate fixture is v2.test.claim.namespace_xl0.reference_conservation; remaining claim modules are out-of-gate and listed so they cannot fail silently.
  • Infer / emit / eval need their own compile_door_cause_ownership rows; the interface reason also has a record-field producer that must survive if the type is deleted.

Test plan

  • Read docs/plans/xl2-3c-service-set-aside-census.md against v2.compiler.body_lowering_fold / v2.compiler.normalize / required_gate_authored_modules
  • Confirm no compiler or claim behaviour change (docs only)

Made with Cursor

…first cut.

Enumerate in-gate and out-of-gate producers so 3c does not drop a silent consumer or inherit the blanket unreachable cause.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot marked this pull request as draft October 9, 2026 17:28
@briansrls
briansrls marked this pull request as ready for review October 9, 2026 17:39
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 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-09T17:41:44.089760Z 89a3ded 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: 89a3ded600

ℹ️ 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".


- `body_lowering_reason_realization_member_set_aside` — kind `RealizationMemberSetAside`
- `body_lowering_reason_interface_member_unmodeled` — kind `InterfaceMemberUnmodeled`
- Fatal on the full route: `body_lowering_reason_service_realization_unreachable` (owned row in `v2.workflow.compile_door_cause_ownership` `known_frontier_causes`, lane `SharedSelfHostCriticalPath`). The two set-aside reasons are pending advisories, not fatal last elements, and have no ownership rows.

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 Classify the interface reason as potentially fatal

For a record field with a from wire key, body_lower_field_decl_block_payload directly returns Rejected with body_lowering_reason_interface_member_unmodeled as the fatal diagnostic (src/v2/compiler/body_lowering_fold.dag:1329-1334). Therefore, only occurrences emitted through service_set_aside_diagnostics are pending advisories; describing both reason symbols as never fatal can cause the 3c cut to overlook the record-field cause's ownership or replacement requirements.

Useful? React with 👍 / 👎.

- `body_lower_operation_status_arms` — exit / response / mock_response lower into the sibling **and** append `RealizationMemberSetAside`
- `body_lower_service_member` on service-level `transport` — set-aside only
- `body_lower_realization_with_rows` — io `from` keys already become projection rows; the field items are still tagged `InterfaceMemberUnmodeled`
- Accumulators: `BodyLowerIoBlock.set_aside`, `BodyLowerOperationAcc.set_aside`, `BodyLowerRealizationAcc.members`, `BodyLowerServiceAcc.set_aside`

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 Include all ServiceSetAside carrier structs

The accumulator census omits IoAcc.set_aside and, more importantly, BodyLowerOperation.set_aside and BodyLowerOperation.realization_members. The latter fields actively carry operation and realization rows into body_lower_resource_with_capability, so a 3c implementation following this supposedly complete roster would miss carrier seams that must be rewritten when ServiceSetAside is removed; add these readers to the list.

Useful? React with 👍 / 👎.

@gunbai-bot

gunbai-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor Author

Closed without folding in the v1 closeout bankruptcy (#13641). A docs-only plan; the plans bankruptcy (#13550) applies. The branch is kept for archaeology; no follow-up obligation is created. — sent from neat-wolf-604

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.

0 participants