Append-only. Newest on top. Each entry links to the corresponding cross-agent record in
docs/agents/decisions.mdwhen applicable.
- OQ-A-001 resolved — "no CI" reversed. The test suites now run
server-side on every PR (
.github/workflows/ci.yml): backendpytest- the frontend gate. Trigger: regressions slipping onto
mainunder CodeQL-only gating (#401 / #451). Cross-role record:docs/agents/decisions.md(2026-05-28). — #452. Follow-ups: wire the Python lint gate into CI (de-conflictruff format/blackfirst), required-checks branch protection.
- the frontend gate. Trigger: regressions slipping onto
ACCEPTANCE.md§3 is the engineering bar. Every criterion is binary (yes / no) and verifiable by a documented command or file read. Subjective language is not used. Cross-reference: this PR.- Coverage thresholds (codified in §3.5 / T-2):
- overall ≥ 90 %
permissions.pyandserializers.py: 100 % statements + 100 % branchesviews/*: ≥ 95 % Reason: these are the surfaces where a one-line regression has the worst blast radius.
- Source-of-truth files for engineering (codified in §3 head
paragraph):
ARCHITECTURE.md,TESTING.md(to write),API_CONTRACT.md(top-level pointer to write). scripts/lint.shis the merge gate,scripts/build.shis the release gate. No GitHub Actions per repo-owner direction. To be revisited before leaving pre-alpha (recorded as an open question).- Architect does not edit §2 (PM) or §4 (Security) of
ACCEPTANCE.md. Boundary recorded here for future sessions.
Decisions made before this folder existed are tracked in
docs/agents/decisions.md. The
architecture-owned subset is, in order:
- ModelAdmin is the only source of truth.
- Frontend packages:
@dar/ui,@dar/api,@dar/data,@dar/list,@dar/details,@dar/models,@dar/shell(closed set; no "mega-monster" package). @dar/datais the only package that imports@dar/api; UI packages go through@dar/data.- Settings live under a single optional dict
settings.DJANGO_ADMIN_REACT. - Mount point is consumer-chosen; the package hardcodes no URL.
- Conservative serializer with
str()fallback. - The PyPI artifact ships pre-built React assets — no Node required on the consumer side.
- Poetry for Python, pnpm for frontend. No mixing.
- v1 is small: inlines, custom actions, bulk actions, custom widgets, autocomplete, raw_id, and any React-side extension API are explicitly deferred.
If any of those needs revisiting, open an entry in
OPEN_QUESTIONS.md and propose a follow-up PR;
do not silently change the implementation.