logicsrc/packages
Anthony Ettinger 36236eb1a3
fix(credentials): one vault per user, in the config dir (#119)
The credential store resolved its base directory against process.cwd().
Running the CLI from inside a git checkout wrote `.logicsrc/credentials`
into that repo's working tree — a directory containing `vault/`, the one
place raw credential values touch disk — untracked, unignored, and one
`git add -A` from being committed. Two such directories were sitting in
unrelated repos on the machine this was found on.

A per-directory store is also the wrong shape for what the store is for.
It is the record of what was rotated and what the prior values were, and
a record that forks per project folder is several records that disagree.
There is one user, one identity, one vault.

Everything now hangs off a single logicsrcHome(): $LOGICSRC_HOME, else
$XDG_CONFIG_HOME/logicsrc, else ~/.config/logicsrc. The credential store,
the identity and the CLI config all read it rather than each deriving
their own answer — three separate derivations is how the vault ended up
somewhere the config never was.

~/.logicsrc is migrated rather than abandoned. It holds the X25519 secret
key, and losing that loses access to every team vault the member was ever
given, so it is moved on first use; a move that fails says so on stderr
instead of leaving someone silently logged out with a key still on disk
somewhere they were not told about. If the new directory already exists
it wins and the old one is left untouched, because two directories both
claiming to be the identity is how a login writes one and a read finds
the other.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 22:53:17 -07:00
..
account-core Handle non-finite policy risk scores (#75) 2026-06-15 01:23:47 -07:00
agentad feat(agentad): AgentAd Marketplace PRD + reference exchange (M5) 2026-07-01 10:29:36 +00:00
agentstack feat(agentstack): add delegation authority checks (#87) 2026-07-01 01:14:40 -07:00
agentswarm chore(agentswarm): make package publishable to npm 2026-06-25 17:57:32 +00:00
ans fix(ans): reject non-hex input in fromHex instead of silently decoding to 0 (#91) 2026-07-02 16:37:39 -07:00
cli fix(credentials): one vault per user, in the config dir (#119) 2026-07-31 22:53:17 -07:00
logicsrc-mcp feat(web): move Hire Us pricing to $400/hour metered billing (PRD 0002) (#102) 2026-07-28 10:34:49 -07:00
openontology fix(openontology): resolve manifest directories on Windows (#116) 2026-07-30 18:41:15 -07:00
openprd feat(openprd): implement the OpenPRD standard — engine, CLI, conformance bundle (#100) 2026-07-28 04:11:07 -07:00
plugin-core Scaffold LogicSRC and CommandBoard plugins 2026-06-06 11:24:02 +00:00
schemas feat(openprd): implement the OpenPRD standard — engine, CLI, conformance bundle (#100) 2026-07-28 04:11:07 -07:00
sdk Implement OpenSpec artifacts and SDK contracts 2026-06-06 16:44:58 +00:00
tui feat(openontology): Phase 2 + Phase 3 — storage, REST/SSE, MCP, RDF/SHACL, adapters, TUI, explorer (#101) 2026-07-28 05:10:33 -07:00
validators feat(openontology): implement OpenOntology Phase 0 + local engine and CLI (#99) 2026-07-26 02:10:13 -07:00