Repository navigation
Determinism: construction compile-gate in, x2 sampling gate out (Phase D) - #6594
Conversation
…eted) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…er-repoint split + Phase D emit_determinism deletion
Keep main's split of the over-broad gunbc.ci_spec import into
gunbc.ci_spec {specs} + gunbc.ci_gate {gates}, minus the Phase-D-deleted
gunbc_ci_emit_determinism_spec and EmitDeterminismGate symbols. Supersedes the
dashboard-auto-committed unresolved merge (81aac8d).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The CI red here is the pre-existing main-red, not this PR. The only failing check is Cause: the shell→dag srv3/converge slices (#6572/#6586/#6598) expanded the host-effect coproduct with ~12 Owned and already fixed by #6604 (adds — sent from deep-koi-605 |
…reflects landed gate + dropped Phase B Audit finding: the determinism mechanism (A/C/D) landed and the x2 emit gate was deleted (#6551/#6576/#6594), but docs still described the superseded model. The code is clean — the stale concepts (NonDetSource, DeterminismClass, OperationDeterminism) exist in ZERO .dag files; the lens's in-code prose is current. This is DESIGN §6 parallel-ledger drift, fixed here: - delete docs/plans/determinism-mechanism-design.md — a stale parallel ledger whose body §0-§9 described the superseded NonDetSource label enum / DeterminismClass + OperationDeterminism split / emit_determinism_gate-as-permanent-backstop. Authority is the carrier (dag/std/determinism.dag, src/v2/lens/determinism.dag), not a doc. - DESIGN.md open thread (via design_document.dag, regenerated): "P1 landed" -> landed + enforced by construction; remaining = E (consolidation + rename), F (cross-function, gated on SymbolIndex); Phase B (kind:Observation clock/entropy roots) DROPPED — resource Clock/Entropy + kind:Observation are dead (0 consumers, ~1 real occurrence), so grounding would cement a §3 fork for no displaced cost. - non-fold-irreducible-residue-catalogue.md: remove 2 rows naming deleted symbols (determinism_class_eq / non_det_source_eq). - mechanism-inventory-red-controls.md: EmitDeterminismGate row -> determinism_compile_gate. - type-env-single-authority-design.md: repoint the inbound link to the deleted doc. DESIGN.md regenerated via main_wet (drift gate green). No code changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ded gate + dropped Phase B (#6628) * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * Phase D: regenerate ci.yml — remove emit_determinism job (x2 gate deleted) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * WIP: emit determinism * WIP: emit determinism * Resolve merge conflict in ci_floor_plan.dag: main #6591 ci_gate definer-repoint split + Phase D emit_determinism deletion Keep main's split of the over-broad gunbc.ci_spec import into gunbc.ci_spec {specs} + gunbc.ci_gate {gates}, minus the Phase-D-deleted gunbc_ci_emit_determinism_spec and EmitDeterminismGate symbols. Supersedes the dashboard-auto-committed unresolved merge (81aac8d). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: dissolve stale determinism parallel-ledger; DESIGN open-thread reflects landed gate + dropped Phase B Audit finding: the determinism mechanism (A/C/D) landed and the x2 emit gate was deleted (#6551/#6576/#6594), but docs still described the superseded model. The code is clean — the stale concepts (NonDetSource, DeterminismClass, OperationDeterminism) exist in ZERO .dag files; the lens's in-code prose is current. This is DESIGN §6 parallel-ledger drift, fixed here: - delete docs/plans/determinism-mechanism-design.md — a stale parallel ledger whose body §0-§9 described the superseded NonDetSource label enum / DeterminismClass + OperationDeterminism split / emit_determinism_gate-as-permanent-backstop. Authority is the carrier (dag/std/determinism.dag, src/v2/lens/determinism.dag), not a doc. - DESIGN.md open thread (via design_document.dag, regenerated): "P1 landed" -> landed + enforced by construction; remaining = E (consolidation + rename), F (cross-function, gated on SymbolIndex); Phase B (kind:Observation clock/entropy roots) DROPPED — resource Clock/Entropy + kind:Observation are dead (0 consumers, ~1 real occurrence), so grounding would cement a §3 fork for no displaced cost. - non-fold-irreducible-residue-catalogue.md: remove 2 rows naming deleted symbols (determinism_class_eq / non_det_source_eq). - mechanism-inventory-red-controls.md: EmitDeterminismGate row -> determinism_compile_gate. - type-env-single-authority-design.md: repoint the inbound link to the deleted doc. DESIGN.md regenerated via main_wet (drift gate green). No code changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…m (single-authority canonical name) (#6643) * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * WIP: emit determinism * Phase D: regenerate ci.yml — remove emit_determinism job (x2 gate deleted) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * WIP: emit determinism * WIP: emit determinism * Resolve merge conflict in ci_floor_plan.dag: main #6591 ci_gate definer-repoint split + Phase D emit_determinism deletion Keep main's split of the over-broad gunbc.ci_spec import into gunbc.ci_spec {specs} + gunbc.ci_gate {gates}, minus the Phase-D-deleted gunbc_ci_emit_determinism_spec and EmitDeterminismGate symbols. Supersedes the dashboard-auto-committed unresolved merge (81aac8d). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: dissolve stale determinism parallel-ledger; DESIGN open-thread reflects landed gate + dropped Phase B Audit finding: the determinism mechanism (A/C/D) landed and the x2 emit gate was deleted (#6551/#6576/#6594), but docs still described the superseded model. The code is clean — the stale concepts (NonDetSource, DeterminismClass, OperationDeterminism) exist in ZERO .dag files; the lens's in-code prose is current. This is DESIGN §6 parallel-ledger drift, fixed here: - delete docs/plans/determinism-mechanism-design.md — a stale parallel ledger whose body §0-§9 described the superseded NonDetSource label enum / DeterminismClass + OperationDeterminism split / emit_determinism_gate-as-permanent-backstop. Authority is the carrier (dag/std/determinism.dag, src/v2/lens/determinism.dag), not a doc. - DESIGN.md open thread (via design_document.dag, regenerated): "P1 landed" -> landed + enforced by construction; remaining = E (consolidation + rename), F (cross-function, gated on SymbolIndex); Phase B (kind:Observation clock/entropy roots) DROPPED — resource Clock/Entropy + kind:Observation are dead (0 consumers, ~1 real occurrence), so grounding would cement a §3 fork for no displaced cost. - non-fold-irreducible-residue-catalogue.md: remove 2 rows naming deleted symbols (determinism_class_eq / non_det_source_eq). - mechanism-inventory-red-controls.md: EmitDeterminismGate row -> determinism_compile_gate. - type-env-single-authority-design.md: repoint the inbound link to the deleted doc. DESIGN.md regenerated via main_wet (drift gate green). No code changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * WIP: emit determinism --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Determinism: construction gate in, x2 sampling gate out (Phases C.1-live + D)
Completes the determinism-mechanism plan's gate-replacement: make
v2.lens.determinismthe standing forward guard over the v2 compile door, then delete the x2 sampling gate it replaces.Why (§5 — construction over validation)
The old
tools.emit_determinism_gatewas validation: compile the corpus to Rust twice anddiff -r(~12m, corpus-denominated). That proves "two runs coincided" — a sample, not "output is a function of declared inputs". C.2 (#6576) made the v1 seed emittermap_keys-free, so emit determinism is now a construction property. Removing a post-hoc check that construction superseded is exactly §5's "prefer the single authority from which the realization is derived over a check that flags it after the fact."What lands
Live construction gate (completes C.1's AC4):
v2.lens.determinism.determinism_compile_gate— a rooted whole-tree findings walk (one located diagnostic per nondeterministic-root call node), enrolled inv2.compiler.compile.always_required_root_lenses, mirroringaccumulator_copy_compile_gate(Complexity as a compile citizen: accumulator-copy enrolled as a required root-grain compile lens #6527). Reds the instant a baremap_keysreach enters the v2 compile door; vacuously green today (v2 has zeromap_keyscalls).reach_witness_test.dag: RED on a plantedmap_keyscall and a nested-in-subtree reach; GREEN on a clean call and thesorted_map_keysdeterministic sibling.x2 gate deleted (Phase D / AC6):
EmitDeterminismGatefromtype Gate— compile-red-guided the full consumer touch-list acrossci_gate,ci_gates,floor_effect_gate_witness,floor_materialization,merge_admission,commit_workflow(incl. the wholeGithubActionsEmitDeterminismJobCI-job surface),ci_spec,ci_workflow,ci_floor_plan.dag/tools/emit_determinism_gate.dag+dag/tools/emit_determinism_transport.dag; regeneratedci.yml(theemit_determinismjob is gone —build → ciis now the whole serial chain).computation_demand_duplication_witness_test.dag) onto a self-contained syntheticReplicatedOraclefixture (it had borrowed the x2 transport as itsTypedArgvInvocationexample; its property is independent of emit-determinism).heavy_pair_specscheduler control re-pinned toRegenVerifyGate(heavy + host-compiler + off-floor: the faithful analog of the removed gate, preserving the exact heavy count).Coverage / scope (honest boundary)
The gate is enforced exactly like
accumulator_copy(#6527): via floor-enrolled fixture tests and everyvalidate_then_compiledoor invocation (self-host witnesses) — growing as v2 self-hosts.DagCompileCleanGatedrives the v1 seed, so this is the forward wall for the v2 door, not a whole-corpus live scan. v1 emit stays construction-only (map_keys-free by C.2) with no active guard — operator ruling 2026-07-14 (b): a dying §7 seed carries no active guard; the construction guarantee replaces the sampling oracle. Phase B (physics-grounding viakind: Observation) and Phase F (cross-function derivation) remain gated/deferred.Verification (green-by-execution, on the merged tree)
dag+src/v2(theDagCompileCleanGate): 0 diagnostics.witness_gate_roster_matches_coproduct_arms(roster ==type Gatearms — the consistency guard for the arm+roster removal);affected_set_universe_gate_processes_match_declared_gates;witness_plan_serializes_heavy_resolves(scheduler serialize-heavy with the RegenVerify substitute); the two re-homed duplicate-computation controls.origin/main(which touched00_compile.dag/fix(compile): subtree required-lens roster O(n²) cost-shape (fact_density lane) #6579,commit_workflow.dag,ci_floor_plan.dagand the v1 seed) and rebuilding the seed binary.🤖 Generated with Claude Code