コンテンツにスキップ

ADR Index

Architecture Decision Records (ADRs) capture significant choices and the reasoning behind them. We use the MADR format.

ADRs live under docs/architecture/adr/ and are numbered sequentially. They are immutable once accepted — a later decision that replaces or modifies an earlier one creates a new ADR that supersedes the old one.

Accepted

Number Topic Date Milestone
0001 Adopt Clean Architecture + DDD layout under src/ 2026-04-26 M3
0002 OpenAPI 3.1 as the single source of truth for /api/v1/* 2026-04-26 M3
0003 Pluggable IdP (AuthProvider interface) with OIDC + SAML implementations 2026-04-26 M3
0004 RFC 7807 Problem Details + SASO-DOMAIN-NNNN codes 2026-04-26 M3
0005 OpenFeature SDK + DB-backed provider with cron circuit breaker 2026-04-26 M4
0006 system_setting DB table editable from the admin Web UI 2026-04-26 M4
0007 Phinx for schema migrations 2026-04-26 M4
0009 Multi-LLM gateway with provider abstraction (OpenAI / Gemini / Claude) 2026-04-26 M6
0010 Vector embeddings + image search via OpenSearch k-NN 2026-04-26 M6
0011 Flexible item attributes (EAV) + storage location codes 2026-04-26 M6
0012 Search + cache infrastructure: OpenSearch primary, Redis cache 2026-04-26 M6
0013 Background job queue via Symfony Messenger 2026-04-26 M6
0014 Flutter device pairing (RFC 8628) + MCP server endpoint 2026-04-26 M6
0015 Plugin system: Composer-installed packages with extension points 2026-04-26 M6
0016 English-as-default + extract legacy JA strings into i18n catalogue 2026-04-26 M6

Planned

Number Topic Milestone
0008 Vendor-bundled release ZIP for shared-hosting deploys M5

Format

Each ADR follows MADR's slim template:

# NNNN — short title

* Status: accepted | proposed | superseded by ADR-NNNN
* Date: YYYY-MM-DD
* Deciders: @owner-handle, ...

## Context and Problem Statement
## Decision Drivers
## Considered Options
## Decision Outcome
## Consequences

Numbers are assigned at PR-open time. If two ADRs collide, the later one is renumbered before merge.