docs(azure): record R8 done, and correct what the claude profile can do for R6 - #255
Merged
Conversation
…do for R6 The Pi fleet renews itself now. The refresher, its actuator and the machine-global LaunchAgent are on main, the schedule is installed and launchd's own first fire ran a renewal pass and stamped a matching nonce. All eight profiles moved from 2026-08-25 to 2026-08-29 through the tool, and both consumers read them back: eight usable, eight distinct accounts. The residual is stated rather than glossed: no profile has yet crossed an expiry boundary unattended, because the first one they will cross is 2026-08-29. The mechanism is proven and the calendar is not. R7 said the third claude profile being refreshable might spare R6 an owner login. It does not. That profile is a Claude CLI credential, and pi's anthropic OAuth authenticates as its own client against its own token endpoint, so a refresh token issued to one client cannot be spent by the other. R6 needs the login, as it already said. C2 gains the half it was missing: the single pending action is not the only defect, because the controller lock is also held across provider calls and for an execute's whole guest run. One of its three changes has landed. The entry also records the finding that would have cost money: the three capacity commands stay fully locked, because merged_specialized_reservations ignores local reservations that are not yet reserved, so two concurrent reserves can each admit against a budget that fits one.
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.
Documentation only, following #251, #253 and #254.
R8 is done
The refresher, its actuator and the machine-global LaunchAgent are on
main. The schedule is installed on this machine and launchd's own first fire ran a renewal pass and stamped a matching nonce;scheduler-statusreportsinstalled.All eight profiles moved from 2026-08-25 to 2026-08-29 through the tool, and both consumers read them back:
bin/fm-credential-expiry.py reportshows eightusable, andbin/fm-crosscheck.py's own reader still derives eight distinct accounts.The residual is stated rather than glossed: no profile has yet crossed an expiry boundary unattended, because the first one they will cross is 2026-08-29. The mechanism is proven; the calendar is not.
R7 corrected
R7 said the third claude profile being
refreshablemight spare R6 an owner login. It does not, and I checked rather than assumed. That profile is a Claude CLI credential; pi's anthropic OAuth authenticates as its own client against its own token endpoint, and a refresh token is bound to the client that issued it. R6 needs the login, as R6 already said.C2 gains its missing half
The single
pending_actionis not the only defect.controller_lockis also held across provider calls and for anexecute's whole guest run, and the code's own note records that fixing only the lock was tried and reverted. One of C2's three changes has landed.The entry also records the finding that would have cost money: the three capacity commands stay fully locked, because
merged_specialized_reservationsignores local reservations whose status is notreserved, so a candidate parked by one concurrent reserve is invisible to another's admission arithmetic and two of them can each admit against a budget that fits one.