Repository navigation
Conversation
This was referenced Jul 28, 2026
Contributor
Author
|
Superseded by the review-driven stacked drafts: #7371 generic durability contract; #7372 capability facts/live receipts; #7373 desired state/reconciliation; #7374 typed operations; #7375 demand-derived access ensure; #7376 live actuator/rollback. The interpreter substring-redaction change is absent from the stack. Exact stack-tip Linux CI is green: https://github.com/gunb-ai/gunbc/actions/runs/30380260457. The original branch remains available for history. |
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.
Review status
The typed-operation migration is complete and pushed. This remains a draft for review and CI, not because raw fan-control scripts remain: those builders and the generic password-SSH script operation are deleted.
What changed
TEMP_SOCpolicy that requests 30% through 90C and ramps to 55/70/85/100% at 93/95/97/98C.cow / overlay, lowerdir/run/initramfs/ro, upperdir/run/initramfs/rw/cow, with SquashFS and parent JFFS2 backing mounts.busctl --json=shortand typed local jq projection rather than presentation-text parsing.FAN1throughFAN4andzone0 FailSafe=falseas desired state; unpopulatedFAN5is not an aggregate PID input.Why
srv4 factory policy jumped from 50% at 65C to 75% at 75C, explaining its audible surge near the original 72-77C observation. The first live transaction also exposed a stale
FAN5input that kept the controller in failsafe.An extant writable file and a currently effective controller do not prove the intended lifetime. Reconciliation now distinguishes literal storage/publication facts, capability across a named boundary, and evidence that the exact realization survived that boundary.
srv3 and srv4 share global firmware intent but not observed state. srv3 remains on OpenBMC 2.07 and refuses version-specific fan mutation. It will not silently update without an approved exact firmware artifact and qualified update realizer.
Live execution
FAN1-FAN4topology to srv4; independent readback reportedFailSafe=false.TEMP_SOC72-77C, final 73C; guarded DIMMs at most 69C; four healthy tachs.srv4_bmc_fan_convergeentrypoint after this migration. It returnedExitSuccessthrough the fully observed no-op path, so it made no config write or service restart.Remaining boundaries and gaps
gunbc convergeremains HostOs-only; top-level whole-BMC convergence wiring is still explicit follow-up work.Validation
bmc_fan_converge.dagclosure: zero blocking diagnostics.host_standup.dagclosure: zero blocking diagnostics.ExitSuccessno-op.git diff --checkpassed.