logicsrc/packages
Anthony Ettinger b873c2bf41
Keep what the Bitwarden export actually says (#206)
Four things the first pass threw away, all of them recorded in the mapping notes
from the 2026-09-02 hand conversion and all of them silent.

Item ids were regenerated. Bitwarden ids are already UUIDs, so keeping them is
what makes a re-import idempotent: run the same export twice and the second run
reports its items as already present under "skip", rather than duplicating the
entire vault. createItem deliberately refuses a caller-supplied id and always
mints a fresh one, so the id is adopted after construction, and only when it
really is a UUID.

Timestamps were restamped to "now". creationDate and revisionDate are the only
record of when a password was last rotated, and overwriting them destroys that
permanently. The oldest item in a real export dates to 2018; every one of them
would have been dated today.

Password history was dropped entirely. It is carried now, newest first, mapping
lastUsedDate to changedAt and capped at MAX_HISTORY_ENTRIES. 189 items in a real
export have history, so this was not a rare case.

URI match rules were hardcoded to "domain". Bitwarden stores them as a number --
0 domain, 1 host, 2 startsWith, 3 exact, 4 regex, 5 never, with null meaning
domain -- and flattening them quietly widens a login pinned to an exact URL,
which is a security change rather than a cosmetic one.

Verified on the same 4,395-item export: all 4,395 ids carried across, stable
across two runs, 189 items with history recovered, and the oldest createdAt still
2018-02-22. That export happens to use domain matching throughout, so the match
mapping is covered by tests rather than by it.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-24 04:06:47 -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 vault + teams: filter secrets by category, export to CSV, simpler help (#195) 2026-09-23 21:08:08 -07:00
logicsrc-mcp OpenFleet reference implementation: @logicsrc/openfleet, logicsrc fleet, and Claude Code hooks (#185) 2026-09-13 10:58:55 +00:00
opencontext Enforce OpenContext HTTP byte limit while streaming (#136) 2026-08-09 21:57:05 -07:00
opencreds Keep what the Bitwarden export actually says (#206) 2026-09-24 04:06:47 -07:00
openfleet OpenFleet reference implementation: @logicsrc/openfleet, logicsrc fleet, and Claude Code hooks (#185) 2026-09-13 10:58:55 +00:00
openontology fix(openontology): migrate in one transaction, and stop timing out on slow disks (#124) 2026-08-03 06:38:05 -07:00
openprd Release @logicsrc/openprd 0.2.0 to npm (#145) 2026-09-07 05:01:33 -07:00
plugin-core Scaffold LogicSRC and CommandBoard plugins 2026-06-06 11:24:02 +00:00
schemas Add OpenABTest draft experiment and accounting contracts (#180) 2026-09-13 02:17:35 -07:00
sdk Add OpenABTest draft experiment and accounting contracts (#180) 2026-09-13 02:17:35 -07: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 Add OpenABTest draft experiment and accounting contracts (#180) 2026-09-13 02:17:35 -07:00