abkslmandClaude Fable 5 fb826bbcf1 Item 5 complete: credential mesh, device side + runner→device mirror-back
Finishes ANTIMATTER_RUNNER §6 / §0.2 item 5 — both directions of the
credential mesh, replacing the smoke stand-in with production device code.

Device providing (CredentialProvider, NucleicCore): captures the Mac's
login credentials (Keychain OAuth via ClaudeLoginKeychain, managed token
via GitHubCredentialStore), gossips a CredentialManifest — now carrying the
device's own sealing key (additive CredentialManifest.sealingPublicKey) so
a runner can seal updates back — and seals its held kinds to a runner's key
answering credentialNeeded. PeerClient.setCredentialHandlers routes all
three (manifest push on connect to a canReceiveSealedCredentials peer,
seal-on-credentialNeeded, land-on-credentialUpdate) into AppStore.

Mirror-back (runner → device, the syncClaudeLoginBack analogue): a
session's CLI refreshes the OAuth token in place; a 30s digest-gated sweep
in nucleicd (AppStore.mirrorRefreshedCredentials) seals the rotation to
each connected device's sealing key and pushes credentialUpdate; the device
reconciles it newest-wins into its Keychain (CredentialProvider.landUpdate
→ ClaudeLoginKeychain.shouldWriteBack). RunnerCredentialVault gains the
current-plaintext read, the change digest, and mirrorBackEnvelope; SyncHost
gains pushCredentialUpdate; ConnectionHandler gains deliverCredentialUpdate.

Refresh lease: AppStore.credentialRefreshHolder arbitrates devices'
gossiped leases with CredentialRefreshLease.merged (earliest live claim
wins), so at most one device advances a rotating token; the runner's own
session CLI is the de-facto refresher and the digest-gated mirror-back
keeps everyone coherent.

Verified: device→runner E2E over the production relay (runner asked,
provisioned, files landed 0600, real claude turn authenticated); the
runner→device reverse-seal + AAD binding + digest change-gate unit-tested
(CredentialMeshTests, 3 tests); Darwin app + iOS builds; 171 protocol tests
green on Linux; sync suites green.

Remaining of item 5 is mechanical (doc'd): more kinds (codex/grok/API
keys) and a Mac UI surface for what it shares.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-11 04:21:25 +00:00
2026-07-06 21:20:10 -07:00
2026-07-02 22:47:01 -07:00
2026-06-27 15:36:22 -07:00
2026-06-11 21:12:12 -07:00
2026-07-06 12:25:11 -07:00
S
Description
No description provided
38 MiB
Languages
Swift 83.6%
HTML 4.7%
Python 4.5%
Shell 1.9%
C# 1.9%
Other 3.2%