Skip to content

docs(azure): record R8 done, and correct what the claude profile can do for R6 - #255

Merged
ruby-dlee merged 1 commit into
mainfrom
fm/requirements-r8-done
Aug 19, 2026
Merged

docs(azure): record R8 done, and correct what the claude profile can do for R6#255
ruby-dlee merged 1 commit into
mainfrom
fm/requirements-r8-done

Conversation

@ruby-dlee

Copy link
Copy Markdown
Owner

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-status reports installed.

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 report shows eight usable, and bin/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 refreshable might 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_action is not the only defect. controller_lock is also held across provider calls and for an execute'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_reservations ignores local reservations whose status is not reserved, 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.

…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.
@ruby-dlee
ruby-dlee merged commit 297ea7d into main Aug 19, 2026
13 checks passed
@ruby-dlee
ruby-dlee deleted the fm/requirements-r8-done branch August 19, 2026 05:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant