E
Egora
OverviewHow It WorksArchitectureDesignDashboard
Teacher sign inOpen dashboard
E
Egora

A teacher workspace for planning courses, reviewing drafts, and publishing approved work to students.

© 2026 Egora

How It WorksArchitectureDashboardTeacher sign in
Back to design index
Architecture Decision Records · 0004 – 0008

Five load-bearing decisions

Each ADR records a fork that was taken with a real trade-off, alternatives considered, and consequences worth surfacing. Future agents land cold and need to know why, not just what.

From the 2026-05-27 redesign
0004
Proposed
2026-05-27

V2 architecture baseline

Next-generation from collapsed (not V1-original), git substrate, pure-workspace projection, no JSONB during generation.

Read ADR
0005
Proposed
2026-05-27

Prompts-as-agents pattern

One TypeScript Task primitive + N markdown prompts. Adding a new evaluation context = writing a new markdown file, not adding a TS class.

Read ADR
0006
Proposed
2026-05-27

LLM Wiki pattern for the Knowledge Base

Per-teacher KB repo following Karpathy's LLM Wiki gist. Three layers (sources / pages / schema), four verbs (ingest, query, lint, file-back).

Read ADR
0007
Proposed
2026-05-27
Reverses 0e0703d

Revert the V2 LLM-Evaluator deletion (0e0703d)

The original deletion mistook the baseline AND mistook Claude Code's pattern. Evaluator capability returns as gate prompts under ADR 0005.

Read ADR
0008
Proposed
2026-05-27

Pipelined-sequential dispatch with APPROVED threshold

Within-parent sub-agents dispatch sequentially; next sibling fires when prior reaches APPROVED. Cross-parent siblings parallelize.

Read ADR
Cross-ADR dependency map

The five ADRs interlock — 0004 establishes the substrate, 0005 the agent layer, and 0006-0008 layer specific capabilities on top. Reading order matches the build order (Wave R1 lands all five together).

Foundation
ADR 0004 · Architecture baseline
git substrate · per-course repo · pure-workspace
Agent layer
ADR 0005 · Prompts-as-agents
1 Task primitive + N markdown prompts
Layer
ADR 0006 · LLM Wiki KB
Per-teacher knowledge repo; Karpathy 2026-04 pattern
Layer
ADR 0007 · Evaluator restored
Reverts 0e0703d; Evaluator returns as gate prompts (uses 0005)
Layer
ADR 0008 · Pipelined dispatch
APPROVED threshold; sequential within-parent, parallel cross-parent
When an ADR gets created

Per docs/adr/README.md, ADRs are written lazily — only when ALL three conditions hold. Routine decisions stay out.

1
Hard to reverse — changing your mind later has meaningful cost
2
Surprising without context — a future reader asks 'why this way?'
3
A real trade-off — genuine alternatives existed; one was chosen for specific reasons
Earlier ADRs (preserved)

The 2026-05-27 redesign does not touch the existing ADRs. They remain canonical for their respective scopes.

0001
Rubric storage: JSONB column → markdown section
2026-05-22
Preserved
0002
spec_files approval lifecycle: at gate, dispatcher-owned
2026-05-23
Preserved
0003
teacher_inputs field semantics
2026-05-25
Preserved
Back to design index