Skip to content

Separate key type and capabilities with conservative record migration - #193

Merged
GDR merged 2 commits into
ui/refactorfrom
codex/key-capability-metadata
Oct 24, 2026
Merged

GDR merged 2 commits into
ui/refactorfrom
codex/key-capability-metadata

Conversation

@GDR

@GDR GDR commented Oct 24, 2026

Copy link
Copy Markdown
Owner

Separates Personal/Bot type from independent SSH/Signature capabilities in authenticated private records. Version 2 records decode with their original restrictions and round-trip without rewriting key material; version 3 stores the independent profile. Rename, type changes, repair, and the sidebar preserve that profile.

Signing checks capabilities against the authenticated record. Cache/profile disagreements fail closed rather than restoring a potentially broader vault backup. Existing purpose and socket restrictions remain additional constraints until caller authorization is integrated. Existing approval settings are unchanged. Older binaries refuse version 3 records.

Validation: 480 core and 345 app tests passed, including migration, capability combinations, strict decoding, and stale-cache signing refusal. A full run hit a socket-test SIGPIPE; the core rerun passed. 301 changed lines. Local commit is unsigned because no signing identity is available.

Integration target: ui/refactor only.

@GDR
GDR merged commit 20dcb0c into ui/refactor Oct 24, 2026
1 check passed
@GDR
GDR deleted the codex/key-capability-metadata branch October 24, 2026 09:49
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