phase 1 core platform

Phase 1 — Decision Log

Quick decisions during Phase 1. Promote durable choices to /docs/adr when they affect multiple phases.

Phase 1 — Decision Log

Quick decisions during Phase 1. Promote durable choices to docs/adr/ when they affect multiple phases.

DateDecisionRationaleADR
2026-06-01Roadmap lives under docs/roadmap/Avoid new top-level dir; repo-guards unchanged
2026-06-02Migration tool: golang-migrate + Go embed runnerVersion-pinned in root go.mod; reproducible CI; make db-migrate via go runADR-0005
2026-06-03Auth package: ibex.auth.v1Matches ibex.context.v1; ValidateToken only in v1ADR-0006
2026-06-03PAT wire format + service-account lookupibex_pat_<uuid>_<secret>; Argon2id PHC on full bearer; RLS bypass for lookup onlyADR-0007
2026-06-03Integration Postgres: CI services vs local testcontainersRequired CI uses GHA service Postgres; local default is compose test (5433); IBEX_USE_TESTCONTAINERS=1 for self-contained runs
2026-06-04Permission bitmap layout lockedpackages/permissions; Phase 2 proxy minimum ProxyChatCompletionADR-0009
2026-06-04Token management gRPC + caller bearer authzCreateToken/RevokeToken/ListTokens; metadata authorization: BearerADR-0006
2026-06-04Cryptography policy centralizedpackages/crypto; Argon2id PHC; production p=4ADR-0010
2026-06-04Proxy auth gRPC clientValidateToken middleware; fail closedADR-0011
2026-06-04Auth cache required in Phase 2 (M2.2.1)Per-request gRPC cannot meet <20ms overhead; bloom + LRU after Phase 1 security gateADR-0011 §7; M2.2.1
2026-06-04Proxy chat body normalizationParse-only; INVALID_JSON / 501 stubADR-0012
2026-06-02Proxy input validation + envelopeBody limit, 413/415, field_errors, response headersADR-0013
2026-06-05Core domain schema sequencingusers / agents added in M1.1.7; token FKs via NOT VALID + VALIDATE; Phase-1 column subset onlyADR-0014
TBDProto gen: Option A uncommittedConsistent with ADR-0004ADR-0004

Pending decisions (resolve during milestones)

  1. gRPC port and TLS for local dev — default insecure localhost for dev only; document production mTLS separately.
  2. Permission bitmap minimal set — Resolved: permissions.ProxyChatCompletion per ADR-0009.
  3. Integration test tagging — Resolved: //go:build integration for Postgres/RLS tests (see infra/migrations/postgres).
Edit on GitHub

Last updated on

On this page

0%