logicsrc/docs
Anthony Ettinger bb09c145cd
fix(cli): vault names join with "--", not "/" — the server rejects slashes (#112)
#109 addressed vaults as <project>/<env> and shipped broken: every push
failed with

    Vault name must be lowercase letters, numbers, and dashes.

The vault-create endpoint slugifies through /^[a-z0-9][a-z0-9-]{0,62}$/
(apps/pwa/src/routes/credshare.mjs), so a "/" join is refused outright.
Nothing in the CLI ever saw it, because the tests exercised vaultName and
splitVaultName in isolation and never made a request — the one assumption
that mattered, that the server takes an arbitrary vault name, was the one
left unverified.

Switches the separator to "--", which is inside the allowed character set
and still splits unambiguously since neither half may contain one. A
single dash would not: "a-b" + "c" and "a" + "b-c" would collide.

Also validates the joined name against the server's own regex before the
request, so a bad name fails locally with a useful message rather than a
422 after the .env has been read.

The tests now assert the produced name matches that regex, so the
separator cannot drift back out of the allowed set without failing.

Verified end to end against app.logicsrc.com: push, then pull into a
scratch file and diff — keys and values both round-trip losslessly. Then
49 repos pushed under the profullstack team; server reports 49 vaults,
169 secrets, 0 failures.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 13:32:07 -07:00
..
openprd feat(openprd): revise standard to DIP-style numbered proposals (0.2) (#96) 2026-07-12 08:55:19 -07:00
agent-screening.md Add AgentByte screening plugin spec 2026-06-06 15:54:08 +00:00
agentad-marketplace.md feat(agentad): AgentAd Marketplace PRD + reference exchange (M5) 2026-07-01 10:29:36 +00:00
agentad.md feat(agentad): AgentAd Marketplace PRD + reference exchange (M5) 2026-07-01 10:29:36 +00:00
agentgit.md Add AgentGit M1: agent-native git layer over a Forgejo backend 2026-06-14 15:15:06 +00:00
agentstack.md feat(agentstack): add @logicsrc/agentstack coordination module (#5) 2026-06-10 16:39:32 -07:00
ans-sdk.md docs(ans): spec the @logicsrc/ans TypeScript SDK 2026-06-24 14:41:00 +00:00
arcade.md Add waiting arcade MVP 2026-06-06 22:09:22 +00:00
cli.md Add communication account plugin scaffolds 2026-06-09 10:02:07 +00:00
communication-accounts.md Add communication account plugin scaffolds 2026-06-09 10:02:07 +00:00
config.md Add waiting arcade MVP 2026-06-06 22:09:22 +00:00
credential-sharing.md fix(cli): vault names join with "--", not "/" — the server rejects slashes (#112) 2026-07-30 13:32:07 -07:00
data-model.md Add communication account plugin scaffolds 2026-06-09 10:02:07 +00:00
openapi.yaml Add communication account plugin scaffolds 2026-06-09 10:02:07 +00:00
openontology-governance.md feat(openontology): implement OpenOntology Phase 0 + local engine and CLI (#99) 2026-07-26 02:10:13 -07:00
openontology-interoperability.md feat(openontology): Phase 2 + Phase 3 — storage, REST/SSE, MCP, RDF/SHACL, adapters, TUI, explorer (#101) 2026-07-28 05:10:33 -07:00
openontology.md feat(openontology): Phase 2 + Phase 3 — storage, REST/SSE, MCP, RDF/SHACL, adapters, TUI, explorer (#101) 2026-07-28 05:10:33 -07:00
openprd.md feat(openprd): implement the OpenPRD standard — engine, CLI, conformance bundle (#100) 2026-07-28 04:11:07 -07:00
openspec-comparison.md feat(agentstack): add @logicsrc/agentstack coordination module (#5) 2026-06-10 16:39:32 -07:00
permissions.md Add communication account plugin scaffolds 2026-06-09 10:02:07 +00:00
plugins.md Add AgentGit M1: agent-native git layer over a Forgejo backend 2026-06-14 15:15:06 +00:00
positioning.md Add credential sharing openspec 2026-06-06 18:47:41 +00:00
roadmap.md Add communication account plugin scaffolds 2026-06-09 10:02:07 +00:00
tui.md Add waiting arcade MVP 2026-06-06 22:09:22 +00:00