Repository navigation
Conversation
… probe)
Calibration investigation applying v4-discovered modeling discipline back
onto a working v2 stage. Safe in-file dissolution, behavior-preserving:
- Dissolve `PartitionRule = Explicit { artifacts }` — a single-variant
coproduct is not a coproduct; `plan_artifacts` was a degenerate 1-arm
match. Both inlined into `default_artifact_plan`, which now constructs
the identical `ArtifactPlan` value directly.
- Delete `type ArtifactOutput` — zero consumers anywhere in src/v2;
speculative dead code retained only by a comment.
- Drop the now-unused `import v2.std.core { TextFile }` (used only by
`ArtifactOutput`).
113 → 84 lines. No external consumer references the removed symbols
(grep-verified across src/v2). `default_artifact_plan` output is
byte-identical. Findings on `RenderTarget` / `ArtifactKind` / `Boundary`
(cross-file / gated) are in the PR description.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls
marked this pull request as ready for review
May 19, 2026 20:52
Contributor
Author
|
Thanks for the review. On the exploratory point — leaving
So no stage0 regen is expected in a follow-up from this calibration probe. If the operator later decides v2 should keep the seed in lockstep, that is the dedicated stage0 worker's call, not this — sent from loyal-dove-547 |
briansrls
commented
May 19, 2026
briansrls
left a comment
Contributor
Author
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
b1aa0f7e· Trigger:schedule - Thinking:
176s wall
Non-blocking — Strengths
src/v2/artifact.dagThis looks clean: the PR dissolves the single-variant PartitionRule wrapper and removes the unused ArtifactOutput without adding a new substrate coproduct or duplicate authority.
✅ No blocking concerns found.
Contributor
Author
|
Closing per operator wrap-up directive 2026-05-20. |
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.
v2 stage rework —
artifact.dag(calibration probe)Calibration investigation: applies the v4-discovered modeling discipline back onto a working v2 stage. Draft for operator review — not a binding direction. One of a parallel set of v2 stage probes.
Before / after line counts
src/v2/artifact.dagWhat dissolved
PartitionRule = Explicit { artifacts }(was lines 75–85) — a single-variant coproduct. One variant is not a sum;fn plan_artifactswas a degenerate 1-armmatch(the limiting case of a template-hole). The header even noted "Placeholder partition strategies were removed" — this is the husk left behind. Dissolved:type PartitionRule+fn plan_artifactsdeleted;default_artifact_plannow constructs theArtifactPlandirectly.type ArtifactOutput(was lines 94–97) — zero consumers anywhere insrc/v2(grep-verified). Speculative dead code held alive only by an explanatory comment. Deleted.import v2.std.core { TextFile }— used only byArtifactOutput; dropped.Behavioral contract
default_artifact_planreturns the byte-identicalArtifactPlan { artifacts: [Artifact{…}], boundaries: [] }it did before — previously routed throughplan_artifacts(Explicit{…}), now built inline. No external file referencesPartitionRule,plan_artifacts,ArtifactOutput, orTextFile-via-this-module (grep-verified acrosssrc/v2). The file's three external consumers (compile.dag,coercion.dag,05_emit*.dag) import onlyRenderTarget/ its variants /ArtifactPlan/Artifact/default_artifact_plan— all unchanged.Per-principle citations
PartitionRule🔴 dissolved (1-variant husk).RenderTarget(artifact.dag:15) andArtifactKind(:22),BoundaryKind(:44) classified below.type X = Yreading zero facts) in the file.plan_artifacts1-armmatchwas the only structural recursion candidate; gone. No hand-rolled fold remains.matchinplan_artifactsis removed;artifact.dagnow contains nomatch.ArtifactOutputis gone with the type.default_artifact_planis now a single direct constructor, no rule-object indirection.PartitionRuleis judged on its own merit (1 variant ⇒ husk), not excused by analogy.Honest 🟡 / findings list (NOT executed — operator decides)
This file is mostly forward-looking orchestration modeling for a multi-artifact partitioner that does not exist. Strict v4 discipline would dissolve more, but the remaining items are either cross-file or in tension with the file's stated purpose, so they are surfaced rather than executed in this draft:
RenderTarget = Rust | Python | Go | Dag— 🟡consumer-gated. The watchpoint dissolution (data-not-tag: each target carrying a per-targetTargetSyntaxrecord, the shape v4 uses for target-language-as-data) requires reshaping a type consumed by sibling-owned files (05_emit.dag,coercion.dag— ~30target:signatures, plus Rust tests andstage0). Out of this file's scope; surfaced to the PM for cross-stage routing.ArtifactKind+Artifact.kind— thekindfield is written (default_artifact_plansetsServiceBinary) but never read —compile.dag::emit_artifactdispatches only on.target. A never-matched 4-variant coproduct. In-file-removable, but it is deliberate forward modeling per the file's stated purpose; flagged for the operator's "keep speculative data models in v2?" call rather than unilaterally deleted.Boundary/BoundaryKind— 🟡 cross-file.BoundaryKind's variants are never constructed;Boundaryis never inhabited (boundariesis always[]);compile.dag::validate_boundariesreads onlyfrom_artifact/to_artifact, never.kind. Removing them would breakcompile.dag(ArtifactPlan.boundaries,validate_boundaries) — a sibling-owned file. Surfaced to the PM.Acceptance criteria — honest status
cargo build -p v2-compiler --release— passes (verified, 2m05s, exit 0).cargo test -p v2-compiler-tests --release bootstrap_fixed_point -- --ignored --exact— fails onmain, pre-existing, unrelated to this change. It fails at a prerequisite before stage0 compiles anything:bootstrap.rs:58runscargo run -p v3-compiler --bin emit_method_template_projection, but that bin does not exist. The bin was deleted in39ba75728(R3 gate Daglang compiler scaffolding #42);#3148(fdaedb127) restoredsrc/v2and itsbootstrap.rstest but not the v3-side bin it depends on. No v2 PR can currently pass this criterion — escalated to the PM; affects every sibling v2 stage worker.cargo run -p v2-compiler --release -- compile --source-root src/v2 --source-root dslcompilesv2.compiler.artifactcleanly. The only 3 diagnostics are the missinggenerated.method_template_projectionmodule (same root cause as above) and a circular-dependency cascade off it — none referenceartifact.dag.default_artifact_planoutput byte-identical (see above).🤖 Generated with Claude Code