System design and build progress
Read the system by responsibility, boundary and delivery gate. Open the capability inventory only when you need implementation-level evidence and review notes.
rules prose:50 tabular:57 image:6 page:7 route:14 · 146 kinds · 4/4 scanned
system design level
Architecture and delivery readiness
Service boundaries, durable state, failure behavior, security, scaling and the next gate for every major subsystem. Percentages are weighted readiness gates, not estimates of time remaining.
architecture readiness
36%
weighted across 36 gates
verified system gates
partially satisfied gates
9 domains still have an open gate
responsibility model
Architecture planes
Each plane has one reason to change, one state owner and one operational failure boundary.
Next.js web workload
Investigator plane
Case intake, review, search and evidence-backed decisions.
State owner
URL state and API records
Scale signal
Concurrent sessions and render latency
Trust boundary
Authenticated user to case entitlement
Recovery contract
Stateless restart; no evidence stored in the pod
FastAPI service
Control plane
Validate commands, enforce policy and schedule durable work.
State owner
PostgreSQL jobs and case metadata
Scale signal
Request rate and API latency
Trust boundary
Ingress to authorized application service
Recovery contract
Idempotent requests and transactional job submission
CPU and accelerator worker pools
Evidence data plane
Admit, quarantine, parse and enrich hostile mixed-format evidence.
State owner
Object storage plus derivation records
Scale signal
Queue age, bytes waiting and route mix
Trust boundary
Untrusted originals to verified derived artifacts
Recovery contract
Replayable jobs, bounded retries and dead-letter review
Resolution and graph workers
Intelligence plane
Resolve entities and create explainable graph findings.
State owner
Canonical entities, edges and finding versions
Scale signal
Observations per case and graph recompute time
Trust boundary
Machine observation to human-reviewed assertion
Recovery contract
Versioned recomputation from immutable observations
AWS, Kubernetes and GHCR
Platform plane
Build, run, route and observe isolated application workloads.
State owner
Deployment revisions and infrastructure configuration
Scale signal
Pod saturation, queue depth and service objectives
Trust boundary
Workload identity, network policy and secret injection
Recovery contract
Health probes, rollout rollback and reproducible images
Cross-cutting policy and audit controls
Governance plane
Apply authorization, custody, provenance, audit and retention.
State owner
Identity grants, custody events and append-only audit
Scale signal
Policy latency and audit delivery lag
Trust boundary
Default deny at every case and evidence boundary
Recovery contract
Loss-intolerant audit delivery and custody reconciliation
execution model
Evidence path
The request path stays short. Expensive or retryable analysis crosses into asynchronous work after admission.
01 · Human boundary
Investigator
today
Case browser, evidence register, document lab and progress board.
target
Authenticated workspace with review queues and explicit approvals.
HTTPS browser session
02 · Traffic boundary
Ingress
today
A Kubernetes ingress exposes the web and API under one development origin.
target
Managed TLS, request limits and versioned ingress configuration.
/* to frontend · /api/* to API
03 · Synchronous control plane
Application services
today
Next.js and FastAPI run as separate arm64 container workloads.
target
Independent workloads with health, readiness and resource limits.
HTTP + JSON + multipart
04 · Asynchronous data plane
Processing workers
today
Classification runs inside the API process.
target
Idempotent queued jobs for OCR, media, entities and graph updates.
Job envelope + artifact references
05 · Durable state plane
Evidence and records
today
Case folders and normalized JSON on local disk.
target
Object storage, PostgreSQL metadata and immutable provenance.
Object keys + relational IDs
06 · Decision-support plane
Graph and findings
today
Scored fixtures and scenario-shaped screens exist.
target
Resolved entities, sourced edges and ranked explainable findings.
Canonical entities + source spans
The synchronous path ends when the API accepts and records work. OCR, media analysis, entity resolution and graph recomputation belong on the asynchronous data plane so request retries cannot duplicate evidence.
Green is built and answering, amber is partly there, red is not started. Architecture percentages are weighted readiness gates, not delivery dates. Pipeline items marked live are read from /api/status so they cannot drift; the rest are kept by hand in application/frontend/lib/plan.ts.