Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ src/v1/stage0/src/v1_tests_claim_v1_annotation_erasure_test.rs merge=generated-a
src/v1/stage0/src/v1_tests_claim_v1_annotation_round_trip_test.rs merge=generated-artifact
src/v1/stage0/src/v1_tests_claim_v1_annotation_target_emission_test.rs merge=generated-artifact
src/v1/stage0/src/v1_tests_claim_v1_complexity_eviction_hazard_test.rs merge=generated-artifact
src/v1/stage0/src/v2_std_live_tree.rs merge=generated-artifact
src/v1/stage0/src/wt_a.rs merge=generated-artifact
src/v1/stage0/src/wt_b.rs merge=generated-artifact
src/v1/stage0/src/wt_common.rs merge=generated-artifact
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dag/gunbc/ci_layer_roots.dag
Original file line number Diff line number Diff line change
Expand Up @@ -914,7 +914,7 @@ data v1_claim_scoped_witness_dissolve_on: List<V1ClaimScopedWitnessDissolutionTr
V2ParserOwnsV1Claims {},
]

data v1_claim_scoped_witness_dissolve_on_note: String = "When V2ParserOwnsV1Claims removes this scoped tail, the floor coordinator's scoped-receipt arming and std.realization_schedule scoped_witness_execution_receipt_decode surface must dissolve or change in the same motion: a gunbc_ci_floor_plan with no scoped tail otherwise leaves a header-only ledger that the decoder deliberately refuses, so the coupling reds visibly instead of normalizing an unmodeled zero-row run."
data v1_claim_scoped_witness_dissolve_on_note: String = "When V2ParserOwnsV1Claims removes this scoped tail, the floor coordinator's scoped-receipt arming and std.realization_schedule scoped_witness_execution_receipt_decode surface must dissolve or change in the same motion. CORRECTED 2026-08-11 (session lively-bat-548): this note previously stated that a gunbc_ci_floor_plan with no scoped tail leaves a header-only ledger that the decoder deliberately refuses, so the coupling reds visibly. The first half is true and the second is not. The coordinator does arm a header-only ledger unconditionally, and the decoder would refuse that text - its refusal keys on ledger shape, never on plan content - but that decoder has NO production consumer: it is reached only from authored string literals in v2.test.claim.ci_floor_plan_witness, so a header-only ledger reds nothing. A zero-scoped run is already representable end to end today: an empty manifest decodes to an empty id list, the coordinator's spawn loop runs zero times, and it exits SUCCESS. The couplings that DO red on an unconditionally absent scoped tail are model-level, not receipt-level - the enrolled-label set equality in v2.workflow.ci_floor_plan and the singleton-and-outside-positional-clamps witness - and they are unaffected by gunbc.scoped_floor_execution, which leaves the plan shape alone and gates only the manifest projection."

data v1_claim_scoped_witness_entries: List<ScheduleWitnessEntry> = [
ScheduleWitnessEntry {
Expand Down Expand Up @@ -944,7 +944,7 @@ data v1_claim_scoped_witness_entries: List<ScheduleWitnessEntry> = [
},
]

data v1_claim_scoped_witness_batch_note: String = "This is one INSTANCE of std.realization_schedule ScopedWitnessBatch, not a parser branch in the floor mechanism. The four file-grain rows expand through ScheduleWitnessEntry's empty-function authority, so adding or renaming a test fn changes no roster. Their dag plus src/v1 source-root envelope admits the v1 compiler closure without widening witness_layer_roots for unrelated witnesses. SelectionApplied is deliberate: normal affected-set selection avoids paying the measured closure materialization on unrelated PRs; every unselected roster row still emits an exact-head ScopedWitnessSelectionSkipped receipt with provenance, while a provenance failure refuses loudly and never widens. The executor's own module universe is a distinct fact carried by ScopedWitnessBatch.execution_authority as InheritedWalkSourceRoots: the worker resolves affected_set_floor_runner, witness_entry_eligibility_census, and post-discovery cost/attribution projectors from the enclosing walk's roots while the witness subject index remains exactly dag plus src/v1. Adding src/v2 to this batch's witness roots was considered and refused because it widens the subject envelope, moves the receipt digest, and invalidates the measured clamp basis; executor-authority dependencies never enter the witness roots as an absorbing fallback. The profile declares a substantial whole-tree resolve, Hermetic effects, a batch-owned 480-second clamp, and SequentialChildProcess isolation. RECEIPTED RAISE (2026-08-08, PR #7924 CI run 31223532865 @ 93b1373751): scoped child FLOOR-BATCH-OVER-BUDGET wall_ms=375553 clamp_ms=360000 units=27 — reproduced locally on the same commit after merge with main. Prior 360s basis (199.393s arm64 x 1.8 = 358.9s) is stale: post-merge scoped-worker stage wall is ~376s on x86_local with the full executor-authority projector path. Sizing follows gunbc.ci_spec gunbc_ci_floor_batch_clamp_note fleet-margin policy (measured worst wall x 1.2, not host roulette): 375.553s x 1.2 = 451s, rounded up to 480s whole-minute grain (+33% over the retired 360s row). THE ENROLLMENT THAT GREW THE BATCH: none — wall is closure-materialization dominated, not a roster edit. The earlier 180-second basis measured only 96 seconds before the cost projector and renderers were reachable from the narrow scoped envelope, so it no longer described the executing batch. COST DISPOSITION: the approximately 103-second increase correlated with making the cost projector, histogram, and slowest-attribution renderer reachable while witness row evaluations themselves remain negligible per-row; that reporting/closure cost has not been decomposed in this scoped-scheduling change and is tracked by the real ROADMAP module-grain-materialization lane. Its trigger is a per-projector resolve/materialization attribution showing whether the three projections recompute identical semantic facts, followed by cached-vs-cold receipts before any optimization claim. The larger clamp must not normalize that open cost question into proportionality. per_unit_ms remains zero because row evaluation is negligible; this catches closure growth and deliberately does not price row-count growth until a file brings a distinct closure. Exact-head run 30713632253 proves SharedWalkProcess cannot satisfy this instance: ordinary discovery completed at 7.113GB RSS, then the floor vanished while materializing this second root closure before a batch-start line. The kernel cause is unclassified, but additive same-process residency is established. SequentialChildProcess makes the ordinary worker exit before this worker starts, releasing the first live set without claiming the stronger fresh-cgroup semantics of FreshJobProcess. v1_claim_scoped_witness_dissolve_on fires when the v2 parser owns these claims."
data v1_claim_scoped_witness_batch_note: String = "This is one INSTANCE of std.realization_schedule ScopedWitnessBatch, not a parser branch in the floor mechanism. The four file-grain rows expand through ScheduleWitnessEntry's empty-function authority, so adding or renaming a test fn changes no roster. Their dag plus src/v1 source-root envelope admits the v1 compiler closure without widening witness_layer_roots for unrelated witnesses. SelectionApplied is deliberate; every unselected roster row still emits an exact-head ScopedWitnessSelectionSkipped receipt with provenance, while a provenance failure refuses loudly and never widens. CORRECTED 2026-08-11 (session lively-bat-548): this sentence previously claimed that normal affected-set selection avoided paying the measured closure materialization on unrelated PRs. It did not, and could not have. None of the five entries declared a live_tree_disposition row, undeclared fail-closes to ReadsLiveTree, and a ReadsLiveTree row can never predict-skip, so the declared SelectionApplied was INERT and all 31 expanded rows ran on every pull request. The derived axis was not what forced it: all five closures carry zero path-like data rows and zero host-effect sinks. Two things had to change before the claim became true. The entries now declare SubstrateInputsOnly, which required moving the LiveTreeDisposition carrier under dag/ because the scoped subject universe excludes src/v2 and the annotation was otherwise a hard UnresolvedType. And selection alone would still not have saved the wall, because it runs INSIDE the child after process_shared_index has already materialized the dag plus src/v1 world: the saving comes from gunbc.scoped_floor_execution, which decides admission BEFORE the ordinary worker projects this batch id into the scoped manifest, so an unaffected diff spawns no child at all. The executor's own module universe is a distinct fact carried by ScopedWitnessBatch.execution_authority as InheritedWalkSourceRoots: the worker resolves affected_set_floor_runner, witness_entry_eligibility_census, and post-discovery cost/attribution projectors from the enclosing walk's roots while the witness subject index remains exactly dag plus src/v1. Adding src/v2 to this batch's witness roots was considered and refused because it widens the subject envelope, moves the receipt digest, and invalidates the measured clamp basis; executor-authority dependencies never enter the witness roots as an absorbing fallback. The profile declares a substantial whole-tree resolve, Hermetic effects, a batch-owned 480-second clamp, and SequentialChildProcess isolation. RECEIPTED RAISE (2026-08-08, PR #7924 CI run 31223532865 @ 93b1373751): scoped child FLOOR-BATCH-OVER-BUDGET wall_ms=375553 clamp_ms=360000 units=27 — reproduced locally on the same commit after merge with main. Prior 360s basis (199.393s arm64 x 1.8 = 358.9s) is stale: post-merge scoped-worker stage wall is ~376s on x86_local with the full executor-authority projector path. Sizing follows gunbc.ci_spec gunbc_ci_floor_batch_clamp_note fleet-margin policy (measured worst wall x 1.2, not host roulette): 375.553s x 1.2 = 451s, rounded up to 480s whole-minute grain (+33% over the retired 360s row). THE ENROLLMENT THAT GREW THE BATCH: none — wall is closure-materialization dominated, not a roster edit. The earlier 180-second basis measured only 96 seconds before the cost projector and renderers were reachable from the narrow scoped envelope, so it no longer described the executing batch. COST DISPOSITION: the approximately 103-second increase correlated with making the cost projector, histogram, and slowest-attribution renderer reachable while witness row evaluations themselves remain negligible per-row; that reporting/closure cost has not been decomposed in this scoped-scheduling change and is tracked by the real ROADMAP module-grain-materialization lane. Its trigger is a per-projector resolve/materialization attribution showing whether the three projections recompute identical semantic facts, followed by cached-vs-cold receipts before any optimization claim. The larger clamp must not normalize that open cost question into proportionality. per_unit_ms remains zero because row evaluation is negligible; this catches closure growth and deliberately does not price row-count growth until a file brings a distinct closure. Exact-head run 30713632253 proves SharedWalkProcess cannot satisfy this instance: ordinary discovery completed at 7.113GB RSS, then the floor vanished while materializing this second root closure before a batch-start line. The kernel cause is unclassified, but additive same-process residency is established. SequentialChildProcess makes the ordinary worker exit before this worker starts, releasing the first live set without claiming the stronger fresh-cgroup semantics of FreshJobProcess. v1_claim_scoped_witness_dissolve_on fires when the v2 parser owns these claims."

data v1_claim_scoped_witness_batch: ScopedWitnessBatch = scoped_witness_batch(
batch_id: "v1-claim-scoped-witnesses" as ScopedWitnessBatchId,
Expand Down
Loading
Loading