Repository navigation
CI-humming PR2: ground oomd evidence from the gunbc.oomd_install seam + de-conflate spec from realization-evidence - #5720
Merged
Conversation
…ll seam + de-conflate spec from realization-evidence The capacity unlock was scoped as a "1-line flip OomdUnverified -> OomdEnforced". That framing was unsound: there were TWO independent oomd gates, and the one resolve_session_slice read (the Regime2 mode's oomd_enforcement FIELD) could never be grounded in place -- gunbc.oomd_install imports ci_floor_measurement, so a cycle forbids the mode reading the verify seam. Hand-flipping that field to OomdEnforced would be the DESIGN section 5 anti-pattern (editing a declaration to green a gate the realization does not back). De-conflation (DESIGN section 4): the Regime2 mode is pure operating-point SPEC (ceiling + concurrency + aggregate); oomd enforcement is realization EVIDENCE, threaded from the SINGLE grounded authority fleet_host_budget.gunbc_fleet_oomd_evidence. That authority now binds the gunbc.oomd_install seam (gunbc_oomd_fleet_evidence) over the committed show-effective read, assembling the REGIME-2 thresholds and the PSI single authority (gunbc_oomd_sessions_policy). It stays OomdUnverified (fail-closed) until a real ReadObserved grounds the full conjunction; when it does, BOTH gates (session-slice resolution + host plan) open with no further gunbc edit. - ci_floor_measurement: drop oomd_enforcement from Regime2AggregateOomd; rewrite the keystone marker to the verify-not-validate structure. - fleet_host_budget: import the oomd_install seam + mode types; ground gunbc_fleet_oomd_evidence via gunbc_fleet_oomd_evidence_for(mode). - ci_runner_placement: resolve_session_slice takes oomd as a threaded param, gates on the single authority at all call sites. - runner_deploy_emit: PSI dissolve-repoint (interim Int 60 -> percent_count of the gunbc_oomd_sessions_policy single authority; #5677 was the dissolve trigger); drop the removed field from the match; drop now-unused Int import. - std.realization_reconcile: rename reconcile -> reconcile_grounded. Grounding the evidence newly EXECUTES the reconcile path inside fleet_host_budget's closure, which also holds std.realization.reconcile(steps) and budget_tree.reconcile -- three reconcile fns in one flat namespace; the bare call mis-dispatched (undefined variable steps) until disambiguated. The literal had MASKED this latent collision; grounding surfaced it (DESIGN section 5). Flat fn namespace is the substrate root (operator-steered). Verified by EXECUTION: runner_placement_holds, oomd_install_grounding_holds, runner_slot_enforcement_grounding_holds, reconcile_share_collapse_witnesses all PASS via claim_batch. Posture stays fail-closed (committed read is ReadAbsent). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…lice call site + regenerate the drifted manifest Floor caught two consequences of the de-conflation that my local witness subset missed: - ci_budget_tree.dag:46 (session_pool_bytes_live) is a THIRD resolve_session_slice call site, outside ci_runner_placement — it lost the now-required oomd param (runtime: undefined variable oomd). Threads gunbc_fleet_oomd_evidence (imported from fleet_host_budget; no cycle — fleet_host_budget does not import ci_budget_tree). Same fail-closed fallback to host_allocatable_bytes while OomdUnverified. - The resolve_session_slice UNSOUND reason string changed (oomd_enforcement -> gunbc_fleet_oomd_evidence), which flows into the emitted session-reservation UNSOUND manifest line. Regenerated .github/fleet-runner-deploy.manifest via main_wet (the single authority; no hand-edit). Verified by execution: ci_budget_tree_holds, runner_placement_holds, generated_artifact_drift_gate_passes all PASS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
added a commit
that referenced
this pull request
Jun 24, 2026
… shell (§2 handler by emission) Re-apply the post-operator apply-transport redirect into the migrated .dag authority (dsl/gunbc/plans/ci_humming.dag, post #5727) + regenerate the docs/plans/ci-humming.md projection: - T5 reframed: host apply via gunbc-emitted .github/fleet-converge.sh (the §2 regime-2 Doc-IR projection handler that inhabits the §6 carrier by emission), thin ctrl consume/run; supersedes the closed JS reconciler #1803. - C1: reconcile -> reconcile_grounded (the flat-namespace collision PR2 #5720 surfaced when grounding newly executed the fn in a closure holding two other reconcile fns). - New "Re-sequence 2026-06-24" section: A (converge emit #5725) / B (thin consume/run #1805) / G (membership conjunct #5726) + the fail-closed grounding order. Supersedes the closed #5723 (which edited the .md directly, pre-migration). Verified green-by-execution: plan-lens (dissolution-trigger + titled) PASS, read-side generated-artifact drift gate ExitSuccess (disk == projection), regen idempotent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
added a commit
that referenced
this pull request
Jun 24, 2026
… shell (§2 handler by emission) (#5728) Re-apply the post-operator apply-transport redirect into the migrated .dag authority (dsl/gunbc/plans/ci_humming.dag, post #5727) + regenerate the docs/plans/ci-humming.md projection: - T5 reframed: host apply via gunbc-emitted .github/fleet-converge.sh (the §2 regime-2 Doc-IR projection handler that inhabits the §6 carrier by emission), thin ctrl consume/run; supersedes the closed JS reconciler #1803. - C1: reconcile -> reconcile_grounded (the flat-namespace collision PR2 #5720 surfaced when grounding newly executed the fn in a closure holding two other reconcile fns). - New "Re-sequence 2026-06-24" section: A (converge emit #5725) / B (thin consume/run #1805) / G (membership conjunct #5726) + the fail-closed grounding order. Supersedes the closed #5723 (which edited the .md directly, pre-migration). Verified green-by-execution: plan-lens (dissolution-trigger + titled) PASS, read-side generated-artifact drift gate ExitSuccess (disk == projection), regen idempotent. Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
What
Wires the single grounded oomd authority that turns REGIME-2 capacity SOUND once systemd-oomd is verified live — with no further gunbc edit at flip time. Built on the now-merged
gunbc.oomd_installseam (#5677).The "1-line flip" was unsound — why this is a de-conflation
The plan framed PR2 as a literal
OomdUnverified -> OomdEnforcedflip. But there were two independent oomd gates, and the oneresolve_session_slicereads (the Regime2 mode'soomd_enforcementfield) can never be grounded in place:gunbc.oomd_installimportsci_floor_measurement, so a cycle forbids the mode reading the verify seam. Hand-flipping that field toOomdEnforcedwould be the DESIGN §5 anti-pattern — editing a declaration to green a gate the realization does not back.Fix (DESIGN §4 de-conflation): the Regime2 mode is pure operating-point spec (ceiling + concurrency + aggregate); oomd enforcement is realization evidence, threaded from the single grounded authority
fleet_host_budget.gunbc_fleet_oomd_evidence, which binds the seam over the committed show-effective read. StaysOomdUnverified(fail-closed) until a realReadObservedgrounds the full conjunction; when it does, both gates (session-slice resolution + host plan) open at once.Changes
ci_floor_measurement: dropoomd_enforcementfromRegime2AggregateOomd; rewrite the keystone marker to the verify-not-validate structure.fleet_host_budget: import the seam + mode types; groundgunbc_fleet_oomd_evidenceviagunbc_fleet_oomd_evidence_for(mode).ci_runner_placement:resolve_session_slicetakesoomdas a threaded param; gates on the single authority at all call sites.runner_deploy_emit: PSI dissolve-repoint (interim localInt 60→percent_countof thegunbc_oomd_sessions_policysingle authority — Model systemd-oomd as a dependency (pure .dag, no live execution): extdeps/systemd unit-management interface plus oomd config surface, apt install-as-effect, and a gunbc install Realization that grounds OomdEnforced from a verify/show-effective read #5677 was the dissolve trigger); drop the removed field from the match; drop now-unusedIntimport.std.realization_reconcile: renamereconcile→reconcile_grounded. Latent bug surfaced by execution: grounding the evidence newly runs the reconcile path insidefleet_host_budget's closure, which also holdsstd.realization.reconcile(steps)andbudget_tree.reconcile— threereconcilefns in one flat namespace. The bare call mis-dispatched (undefined variable steps) until disambiguated. The literal had masked the collision; grounding surfaced it (DESIGN §5). The flat fn namespace itself is the substrate root (operator-steered).Verified by execution (DESIGN §5)
claim_batchgreen:runner_placement_holds,oomd_install_grounding_holds,runner_slot_enforcement_grounding_holds,reconcile_share_collapse_witnesses. Posture stays fail-closed (committed read isReadAbsent→OomdUnverified→ live planUNSOUND); the discriminating witnesses (oomd-unverified → unresolved, enforced+measured → resolved) pass on the threaded param.🤖 Generated with Claude Code