[E01-S01-T07] ADR: React/Vite admin #413
No Reviewers
Labels
Clear labels
agent/analyst-drafted
agent/analyst-drafted
needs/human-decision
needs/human-decision
needs/security-review
needs/security-review
tier/t0
tier/t1
tier/t2
tier/t3
kind
bug
kind
bug
kind
epic
kind
epic
kind
initiative
EPPP programme initiative
kind
story
kind
story
kind
task
EPPP engineering card/task decomposed from a story
kind
toil
kind
toil
loop
1
loop
1
loop
2
loop
2
loop
3
loop
3
risk
agent-full
risk
agent-full
risk
human-gated
risk
human-gated
risk
human-only
risk
human-only
size
l
size
l
size
m
size
m
size
s
size
s
status
blocked
status
blocked
status
done
Workflow: Done
status
in-progress
status
in-progress
status
proposed
status
proposed
status
ready
status
ready
status
review
status
review
stream
checkout
stream
checkout
stream
onboarding
stream
onboarding
stream
platform
stream
platform
trivial — implementer only, auto-merge
standard — implementer + reviewer + tester
complex — security if triggered, human merge
critical — full chain + security, human merge
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Fabrika/PersonalBlog#413
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What changed
Commits the React/Vite admin decision as ADR-008 for [E01-S01-T07] ADR: React/Vite admin (Refs #194), following the same in-repo verifiability pattern the ADR-006 PR (#411) adopted after the reviewer blocker on the wiki-only index reference:
docs/adr/ADR-008-react-vite-admin.md(new) — the ADR, with the six required sections in order (§46):/admin/*→/api/admin/v1/*and the initial IA (§20, §42); React/React DOM 19.2.8 (class C) and Vite 8.2.2 +@vitejs/plugin-react6.1.0 already pinned in the golden tuple and build toolchain (Technology-Stack §5.2, §5.3, §7); no RSC in v1 (Technology-Stack §6); the admin app is not implemented yet (apps/serveris the Fastify health shell, noapps/admin), so the ADR records the decision ahead of the code/admin/*calling the admin API at/api/admin/v1/*; deliberately separate from the public zero-JS SSR pipeline (ADR-007, §19.1); decision text matches the ADR index entry (§70 ofdocs/adr/README.md)/api/admin/v1/*contract, authenticated security surface (ADR-019)apps/adminbuilds to static assets served behind/admin/*from the same image (no separate service/deployment); SPA calls the admin API at/api/admin/v1/*; CIbuild-appsstage globsapps/**and picks the admin up automatically; today rollback is reverting this doc commitdocs/adr/README.md(new) — the repository copy of the ADR index (§70): the full index table from the wiki ADR-Index page (includingADR-008 | React/Vite admin), the §46 six-sections mandate, the §71 architectural fitness tests and the §68 architecture review gates. Committed ADRs must match their §70 row; the wiki page remains the canonical index. This file is byte-identical to the copy introduced onfeature/192(#411), so the two open ADR PRs merge without conflict either order.Criterion → test table
docs/adr/ADR-008-react-vite-admin.mdcommitted onfeature/194(commitedbf8cb); the H1 heading reads# ADR-008: React/Vite adminand the Decision section records that EPPP builds the admin frontend with React/Vite admin. CI gate: theformatting-lintstage scans every git-tracked text file (including the new ADR and index) — verified locally with the committed policy suite:node --test tests/formatting-policy.test.mjs→ 13/13 pass on the branch##sections present, in the mandated order, in the committed file (document review per the issue test plan; §46 mandate also recorded indocs/adr/README.md); locally verified against the committed file content (Contextline 10 →Revisit triggerline 123, order-checked)docs/adr/README.md§70 lists| ADR-008 | React/Vite admin |(mirroring the wiki ADR-Index page §70); the ADR's decision text is React/Vite admin — exact match, and the Decision section plus References line namedocs/adr/README.mdexplicitlyRisks / notes
formatting-lint(tracked-file policy), which passes locally; all other stages are unaffected but will run as usual.docs/adr/README.mdis the in-repo copy so committed ADRs can be verified without leaving the repository (the resolution the ADR-006 reviewer requested, adopted here pre-emptively).docs/adr/README.mdis byte-identical to the one onfeature/192(#411), so both open ADR PRs merge cleanly in either order.Refs #194