Repository navigation
Move the bottom seam to the leaf std.error_primitives; trim diverges through the named seam (XL-2) - #13399
Move the bottom seam to the leaf std.error_primitives; trim diverges through the named seam (XL-2)#13399gunbai-bot[bot] wants to merge 13 commits into
Conversation
…Scalar) + total char_text; migrate v2 callers Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… identity grain, by kind) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… session/proud-crane-779
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…through the named seam Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… session/proud-crane-779
…nd round rebuild_packages=0) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
The floor red at 99d7a87 is the stack effect, not this change: |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…s=0) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dc3cfc23c1
ℹ️ 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".
| empty: optional_absent(), | ||
| cons: fn(found, row) { if (row.lower == spelled) || (row.upper == spelled) { optional_present(value: row.value) } else { found } } | ||
| ) | ||
| match from_code_point(cp: c) { |
There was a problem hiding this comment.
Rename the partial constructor so calls can reach it
When an escaped string is decoded, this bare call still binds the seed builtin from_code_point: Int -> String, even though the new declaration is imported, so the subsequent Ok/Err match receives a plain string and fails with PatternMatchFailure instead of decoding or returning DagStringDecodeMalformed. Running the newly added from_code_point_spells_a_scalar witness demonstrates this directly: the match receives "A" and aborts. The same binding affects both new matches in this decoder; use a non-colliding declaration name or retire/change the builtin resolution before routing parser input through it.
Useful? React with 👍 / 👎.
|
Closed without folding in the v1 closeout bankruptcy (#13641). Red and conflicting with main. Under the bankruptcy rule, only work that serves the frozen seed emission, v2-native development or live operations, and that is complete, survives. The branch is kept for archaeology; no follow-up obligation is created. — sent from neat-wolf-604 |
) * Move the bottom seam to std.error_primitives (re-derives #13399) pure_dag_seam_unreachable and its _float/_string projections leave std.bytes for the leaf std.error_primitives; all 7 importers re-pointed, std.algebra trim names the seam instead of an unnamed 1 / 0, seed mirrors name the new module. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Regenerate stage0 mirrors for the error_primitives seam Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Emit a nullary realized seam as its bridge call Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Regenerate the emit mirror from the nullary-seam arm (comment moved above the fn) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Regenerate stage0 mirrors on the merged tree to the fixed point (first_generation_equal=true) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: gunbc-ci-auto-heal <gunbc-ci-auto-heal@users.noreply.github.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Stacked on #13381 (proud-crane-779, still open). This branch contains #13381's commits because it retires the in-place copy that PR records. Land #13381 first, or land this PR in its place.
What
The divergent host seam
pure_dag_seam_unreachableand its_floatand_stringprojections move fromstd.bytestostd.error_primitives. That module already exists, imports nothing, and is already imported bystd.algebra, so no new module is minted. Instd.bytesthe seam sat at the wrong layer:std.bytes -> std.types -> std.algebramade it unimportable fromstd.algebra.Replacement migration (DESIGN §3), delete-first: the three fns were removed from
std.bytes(nothing re-exports them), and then all 7 importers were re-pointed:std.encodingstd.decimalgunbc.auth.approval_device_wiregunbc.auth.oidc_id_token_verificationextdeps.languages.gpu.wgsl.kernelextdeps.languages.simd.kernelextdeps.cloud.gcp.secret_managerstd.algebra trimnow readsif s == s { pure_dag_seam_unreachable_string() } else { pure_dag_seam_unreachable_string() }. That keeps thes == swiring-liveness read and replaces the unnamed1 / 0. #13381's record of the in-place copy is retired in two places:std.bytesis deleted with the fns;bare_from_code_point_binds_the_total_seed_builtinSTD SEAM disposition is rewritten.Comments in
std.encoding,secret_managerandpid_control_programthat still namedstd.bytesas the seam's home are corrected.std.decimalno longer importsstd.bytes, so the cyclepid_control_programcited is gone. Its aliases stay withdrawn on review 56966's ruling, which never rested on that cycle.Mirrors (v1)
v1 is semantics-frozen with active maintenance (
gunbc.v1_maintenance_standing v1_seed_standing). This change is admitted because it serves the v2 self-host: it gives std a bottom seam that every std layer can import. Seed changes:std.primitive_projectionrow'smodule_pathis nowstd.error_primitives;runtime_rust.dag/v1_rtpanic text and the interpreter arm text now name the new module.Bootstrap step: the first regen round failed with
unconditional_recursioninv1-stage0-std-core. The running seed still routed the seam via the oldstd.bytesrow, so it emitted the moved self-call as plain recursion. I advanced that one row instd_primitive_projection.rsby hand, to the value the generator writes. Round 1 then rebuilt 7 packages and round 2 reportedrebuild_packages=0. That is the fixed point, and it confirms the hand row equals the generator's output.Seed-reproduction receipt for the hand-advanced row
The hand edit is the seed-bootstrap step only: the old seed cannot project its successor. Here is the evidence that the new seed reproduces it with no hand edit. Each step was a single BuildBuddy dispatch over the committed tree.
claim_executorFROM the committed carrier. Committedstd_primitive_projection.rssha256 is2dc8badefbbd817cc453c6646b458292641b9fb69214484300874a0308828fc4."std.bytes". Afterwards 0 rows namingstd.error_primitiveswere left.claim_executor --required-regen --regen-candidate-dir /tmp/c1reportedFAIL generated surface drift: std_primitive_projection.rs. That is the only drifted mirror, and drift is the expected result against the erased file. The candidate is BYTE_IDENTICAL_TO_COMMITTED, with candidate sha2562dc8badefbbd817cc453c6646b458292641b9fb69214484300874a0308828fc4. The row comes out asprimitive_pure_dag_seam_unreachable(), "std.error_primitives".to_string(), "pure_dag_seam_unreachable".to_string()..dagrow'smodule_pathto"std.control_sentinel"and regenerated with the same binary. The candidate row followed it and came out as"std.control_sentinel".to_string(). So the row is projected fromdag/std/primitive_projection.dag, not from a string baked into the binary.Evidence
std.error_primitives pure_dag_seam_unreachable_string(trim's seam),gunbc runon BuildBuddy prints:cause: TypeError { msg: "std.error_primitives pure_dag_seam_unreachable reached: an arm declared unreachable was evaluated" }Before this change, trim's seam refused as an unnamed DivisionByZero.
claim_executor --regen-round-cost, round 2rebuild_packages=0.std.error_primitivesimports nothing, and resolving the 7,915-module pool for the probe succeeded.No rows were added to
floor_cross_claim_pure_producers_warm.🤖 Generated with Claude Code