Skip to content

Qualify cross-process provider credential ownership - #1479

Merged
piclaw-bot merged 1 commit into
mainfrom
audit/1458-auth-cross-process
Sep 30, 2026
Merged

piclaw-bot merged 1 commit into
mainfrom
audit/1458-auth-cross-process

Conversation

@piclaw-bot

Copy link
Copy Markdown
Collaborator

Cross-process credential ownership qualification

Refs #1458 and #1442; both stay open.

  • Exercise public exact-0.99.1 ModelRuntime consumers in independent disposable children sharing only the explicit Piclaw FileCredentialStore path.
  • Verify one refresh supplies concurrent auth, logout commits after held refresh, and a rejected refresh releases the lock before a contender rotates.
  • Require storage-entry barriers, lock-release rejection fence, exact final credential IDs, synthetic auth outcomes and unrelated-provider preservation.
  • Add an opt-in owned-SIGKILL pre-write holder case: unchanged auth bytes/leftover lock, real35s stale window, fresh successor recovery. No clock or lock-option changes.

The public app-store subclass observes entry/rejection only; it delegates to the real store and never patches SDK internals. IPC carries events/commands only. No provider network, inference, live credentials, deployment or restart.

This proves serialization/pre-write holder recovery, not crash-safe file writes. Current in-place writeFileSync overwrite can corrupt under mid-write loss; that durability boundary, legacy backups, complete CLI/device/Delegate/live acceptance remain open.

Validation

Opt-in full fixture: 4 pass / 35 assertions plus child assertions. Post-merge fast+lifecycle: 9 pass / 42 assertions, one documented slow opt-in skip. Strict fixtures, five types and scoped lint pass. Review corrected barriers, rejection fence, final cardinality and termination signal; rereview green. Canonical gate: 5,954 passed, eight skipped, zero failed; 25 feature and nine web checks passed. Seven existing skips plus the documented slow opt-in crash case (separately passed). Pack hygiene: 24,741 files; final five types/diff passed at baseline 7ed2e7187, unchanged compose baseline. Initial static guard caught an empty cleanup catch; corrected error propagation/finally cleanup passed guard and full gate with no relaxed limits. Environment snapshot change is docs-only opt-in reference, no production readers.

@piclaw-bot
piclaw-bot merged commit e7539b6 into main Sep 30, 2026
1 check passed
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.

2 participants