singularity-forge/docs/adr
Mikael Hugo fce0c4c781 Tier 1.1: Implement vault credential resolver for provider keys
- Add vault-credential-resolver.js: Async credential resolution with vault:// URI support
- Integration with vault-resolver.js (low-level Vault client)
- Update doctor-providers.js to detect and report vault URIs
- Synchronous doctor checks (no network I/O) with lazy async resolution
- Fail-open semantics: vault unavailable -> fall back to plaintext
- 28 tests for credential resolver (all passing)
- ADR-0078: Architecture and auth chain documentation

Features:
- vault://secret/path/to/secret#fieldname URI format
- Auth chain: VAULT_TOKEN -> ~/.vault-token -> AppRole (reserved)
- Helper functions: couldBeVaultUri, hasProviderCredentialEnvVar, resolveProviderCredential, getCredentialValue, formatCredentialInfo
- Full backward compatibility with plaintext keys and auth.json

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-07 04:59:07 +02:00
..
0000-purpose-to-software-compiler.md docs: align sf purpose doctrine and docs 2026-05-06 00:38:36 +02:00
0001-promote-only-sf-state.md fix: version sf extension runtime sources 2026-05-04 23:27:20 +02:00
0002-sf-schedule-pull-based.md docs: tighten legacy state fallback wording 2026-05-07 03:25:20 +02:00
0075-uok-gate-architecture.md docs: align runtime state and mcp boundaries 2026-05-07 03:09:55 +02:00
0076-uok-memory-integration.md docs: add ADR-076 for UOK memory integration decisions 2026-05-07 02:05:01 +02:00
0077-spec-runtime-evidence-schema-separation.md Tier 1.3: Add spec/runtime/evidence schema separation (v32) 2026-05-07 04:20:32 +02:00
0078-vault-credential-resolution.md Tier 1.1: Implement vault credential resolver for provider keys 2026-05-07 04:59:07 +02:00
README.md docs: align sf purpose doctrine and docs 2026-05-06 00:38:36 +02:00

docs/adr/

Accepted architecture decision records (ADRs).

Start with ADR-0000: SF Is a Purpose-to-Software Compiler. It is the foundational product/architecture decision; later ADRs refine pieces of that contract.

What belongs here

  • Final, accepted architectural decisions that affect the project.
  • Decisions that have been promoted from .sf/DECISIONS.md.

What does NOT belong here

  • Draft decisions still under discussion.
  • Implementation plans (use docs/plans/).
  • Specifications (use docs/specs/).

Naming convention

0001-<slug>.md — zero-padded four digits, auto-numbered by sf plan promote --to docs/adr. 0000-* is reserved for foundational doctrine that later ADRs depend on.

See also