Docs: correct value/control-core recipe after #1385 stale names (#1254)#1386
Merged
Merged
Conversation
#1385 used shorthand value-shape names and the wrong hub entry set. This updates the Value/Control-Core Sub-Partition Recipe in docs/compiler-source-decomposition-plan.md: - Parent-preserved hub is now lower_i64_expr, lower_i64_runtime_stmt, and lower_i64_return_value_expr (was lower_i64_stmt / lower_i64_value). - Removes stale shorthand fns (lower_i64_literal, lower_i64_bool, lower_i64_numeric) and lists the real leaf helpers instead. - States literal/bool/numeric is NOT safe as the first extraction, with verified evidence of cross-shape/hub sharing. - Next code PR should pick a verified small closure such as tuple or struct only after caller/sibling checks pass, not the literal/constant group. Only docs changed; no Rust edited and cargo fmt not run.
athena-omt
approved these changes
Jul 8, 2026
athena-omt
left a comment
Contributor
There was a problem hiding this comment.
Docs-only correction verified against live source and CI.
- Head 99349b4 is current and not stale.
- All PR Fast CI checks are green, including CI Gate.
- The corrected hub names exist in stage1/crates/axiomc/src/cranelift_backend.rs: lower_i64_runtime_stmt (24 refs) and lower_i64_return_value_expr (23 refs); stale lower_i64_stmt/lower_i64_value are absent.
- The seven listed shared helpers all exist, and the reference breadth supports the updated guidance that literal/bool/numeric is not a safe first extraction.
Approving so the already-armed squash auto-merge can proceed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Correct the Value/Control-Core Sub-Partition Recipe in
docs/compiler-source-decomposition-plan.mdafter #1385 used stale/imprecisevalue/control names.
lower_i64_expr,lower_i64_runtime_stmt, andlower_i64_return_value_expr(waslower_i64_stmt/lower_i64_value).lower_i64_literal,lower_i64_bool,lower_i64_numeric) and replaced them with the real leafhelpers:
lower_i64_literal_value,lower_i64_literal_index,lower_i64_bool_value_expr,lower_i64_bool_value_compare,lower_i64_bool_literal_compare,lower_i64_bool_argument_expr, andlower_i64_numeric_literal.because those helpers are shared across other value shapes and hub paths, with
verified evidence (reference counts and feeder relationships).
struct) only after the caller/sibling checks pass, not the literal/constant
group.
Governing Issue
Closes #1254
Validation
python3 scripts/ci/report-compiler-source-monoliths.py --json --check-plan --check-ratchetpassed (plan_check.passed=true, ratchet_check.passed=true, exit 0)git diff --checkis cleancargo fmtnot run (docs-only change)CI GateBootstrap Governance
Semantic Layer Checklist
Flow Contract
Flow Merge Readiness
Merge Automation
Notes
Evidence verified by grepping
stage1/crates/axiomc/src:lower_i64_literal_indexis referenced from at least 13 enclosing functions across slice/projection/map/
string/expr/condition paths;
lower_i64_bool_value_exprfrom at least 16 acrossaggregate/body/runtime-let/assign/projection/return-value/option paths;
lower_i64_bool_value_compareandlower_i64_bool_literal_comparefeedlower_i64_condition;lower_i64_bool_argument_exprfeeds call-arg/projectionpaths;
lower_i64_numeric_literalfeeds bothlower_i64_literal_valueandlower_i64_expr.