Repository navigation
[DO NOT MERGE] chore(identity): DO NOT MERGE — isolated debug Keychain slot (full stack for native testing) - #1822
Draft
matt2e wants to merge 1 commit into
Conversation
matt2e
force-pushed
the
onboarding/08-settings-key-backup-row
branch
from
October 28, 2026 14:18
d5a5ef2 to
c1e4548
Compare
matt2e
force-pushed
the
onboarding/09-do-not-merge-keychain-slot
branch
from
October 28, 2026 14:18
c90322b to
1dbab3b
Compare
matt2e
force-pushed
the
onboarding/08-settings-key-backup-row
branch
from
October 28, 2026 14:21
c1e4548 to
954be58
Compare
matt2e
force-pushed
the
onboarding/09-do-not-merge-keychain-slot
branch
from
October 28, 2026 14:21
1dbab3b to
2bc85e8
Compare
This was referenced Oct 28, 2026
Open
…ychain slot
Every debug build of buzz-app, from any worktree, stores the human key in
the same Keychain item (service `dev.local.buzz.foundation.identity.debug`,
account `human`). That item already holds the real key from another
worktree, so on this branch "Creating keys…" fails with -25299 and the
first-run flow cannot be exercised without deleting that key.
This changes the debug slot name returned by `human_service(true)` in
crates/credential-store/src/lib.rs to
`dev.local.buzz.foundation.identity.debug.onboarding`. Everything that
restores, creates, imports, deletes or sign-out-marks the human key goes
through `HUMAN_SERVICE`, so this branch's dev identity is isolated and can
be reset safely:
security delete-generic-password \
-s dev.local.buzz.foundation.identity.debug.onboarding -a human
The release slot is unchanged. The two tests that pin the exact debug
string (`human_identity_slots_stay_separate`,
`development_and_release_items_are_separate`) move with it so CI stays
green. No TypeScript, fixture or script references the string;
docs/identity.md is left describing the real slot.
Revert or drop this commit before merging.
Validation: `cargo test -p buzz-credential-store human_identity_slots`
and `cargo test --manifest-path src-tauri/Cargo.toml
development_and_release_items_are_separate` pass; `cargo fmt --check`
clean.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Matt Toohey <contact@matttoohey.com>
matt2e
force-pushed
the
onboarding/08-settings-key-backup-row
branch
from
October 29, 2026 03:36
954be58 to
b4e66e5
Compare
matt2e
force-pushed
the
onboarding/09-do-not-merge-keychain-slot
branch
from
October 29, 2026 03:36
2bc85e8 to
0735dbf
Compare
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.
DO NOT MERGE. PR 08's tree plus one debug-only commit, so the native app can be built and exercised on the complete first-run flow. Nothing in it is meant to land.
Onboarding stack (merge in order, top to bottom):
Diff over PR 08: production +2/−2; tests +6/−3 — the isolated debug Keychain slot (
xyz.block.buzz.desktop.identity.debug.onboarding) so a dev build of this branch does not share an identity with the primary checkout.Native testing on this tree
Build and run the desktop app from this branch. Because of the debug slot, the first run starts from an empty identity without disturbing the primary checkout's Keychain item. To reset the slot between runs:
Native evidence (first-run recordings, hands-on checks) applies only to this tree; PRs 01–08 are unit/integration-tested only.
Checks run
Deferred to CI at the author's request (build machine under a stress load from another session). The plan's checks for this tip were the full native suites —
cargo test --manifest-path src-tauri/Cargo.toml --lockedandcargo test -p buzzodz-plugins --locked— at the 04 tip and again here, plus the whole-suitevitest run. Pushed with--no-verify.🤖 Generated with Claude Code