Skip to content

pkgs/id: stale runtime .identity.db databases tracked in git (4 + 22 local identity rows); successor .identity.redb not gitignored #372

Closed

Description

@dezren39

Problem

Two stale runtime identity databases are tracked in git:

  • pkgs/id/.identity.db — SQLite 3 database, identities table with 4 rows
  • pkgs/id/e2e/.identity.db — SQLite 3 database, identities table with 22 rows

Evidence (verified on main a00dd292)

  • git ls-files -s pkgs/id/.identity.db pkgs/id/e2e/.identity.db — both tracked as regular files.
  • Schema is runtime state, not a fixture: identities(client_id TEXT, name TEXT, created_at INTEGER, updated_at INTEGER) — locally registered identities accumulated by running the server.
  • No current code reads either file. git grep -F ".identity.db" finds only a design ledger (thoughts/ledgers/CONTINUITY_ses_2b82.md) describing the old libsql design: "Store in encrypted Turso/libsql DB (.identity.db next to .iroh-key)".
  • The current code uses a different filename: pkgs/id/src/commands/serve.rs:1098 constructs .identity.redb (Path::new(KEY_FILE).with_file_name(".identity.redb")).
  • The e2e suite does not use it as a seed/fixture: no reference in pkgs/id/e2e/ (Playwright config starts ephemeral servers: ../target/debug/id serve --web --ephemeral).
  • Nothing ignores the pattern: pkgs/id/.gitignore contains only .iroh* and test.*; git check-ignore pkgs/id/.identity.db returns nothing. The neighbouring runtime key material is ignored via .iroh*, but the identity DB escapes that pattern — and the current .identity.redb runtime file is not ignored either, so it is one accidental git add -A away from the same problem.
  • History: the files arrived in bulk April commits (c0a30175 "idk stuff from april").

This is the same class as #367 (.opencode/ runtime state) and #370 (.claude/settings.local.json), but a distinct location those issues do not cover. Single-repo: no .identity.db is tracked in developing-today/opencode, developing-today/openchamber, or dezren39/nix (checked git ls-files in all three).

Why it matters

  • Local identity registrations (names/client IDs and timestamps from whoever ran the server) leak into the shared repo and go stale immediately.
  • A stale DB checked out fresh can be mistaken for a seed/fixture, and if the old libsql path is ever revived it would silently load April's identities.
  • The un-ignored .identity.redb successor is the live version of the same hazard.

Acceptance criteria

Activity

  1. added a commit that references this issue on Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions