Frontend Track — Progress

Track: Frontend Principal Engineering (frontend-principal-engineering.md). The PROGRESS.md at the repo root tracks the other track (browser-framework-internals.md). They run independently; this file never claims progress on that one. Cross-track hooks are listed in curriculum-map.md §2.

Current phase: 1 — Platform Substrate Current module: fe-07 — Networking (next). fe-01–fe-06 built and measured. Status: in progress — concept + mechanics verified empirically; lab strategies measured (see measured-results.md). Outstanding: learner-run failure lab (F1–F3) + Principal Review questions.

See curriculum-map.md for the full map, dependency graph and phase plan. See learning-log.md for struggles, open questions, source readings and the revisit queue. See decisions/ for ADRs written during the program.

Status values: todo · in progress · lab done · complete · revisit


Phase 1 — Platform Substrate (Foundation → Senior)

#ModuleStatusLabFailure labNotes
fe-01Execution model: event loop, tasks/microtasks, rendering pipelinein progress☑ measured☑ seededmodule
fe-02Memory model: closures, GC, retention, leak taxonomyin progress☑ measured☑ seededmodule · results
fe-03Object shapes, hidden classes, ICs, JIT — and when it doesn't matterin progress☑ measuredn/amodule · results
fe-04HTML as a platform: semantics, forms, dialog/popover, web componentsin progress☑ measuredmodule · results
fe-05CSS: cascade, layers, custom properties, containmentin progress☑ measuredmodule · results
fe-06Layout: flex, grid, subgrid, container queries, intrinsic sizingin progress☑ measuredmodule · results
fe-07Networking: HTTP/1.1→3, caching, ETags, CDN, prioritiestodo
fe-08TypeScript as a contract systemtodo
Capstone 1 (Foundation)todo

Gate 1→2: predict execution order + rendering timing of unfamiliar async code unaided · find a leak from a heap-snapshot diff · read a waterfall and name the bottleneck class.


Phase 2 — Framework Mechanics (Senior)

#ModuleStatus
fe-09Component model, reconciliation, Fiber, render vs committodo
fe-10Hooks mechanics, stale closures, the useEffect pathologytodo
fe-11Memoization economicstodo
fe-12Concurrent rendering, transitions, Suspense as schedulingtodo
fe-13Reactivity models compared (Vue/Svelte/Solid/WC)todo
fe-14UI algorithms: diff, LRU, tries, intervals, virtualizationtodo

Phase 3 — Architecture & Data (Senior → Staff)

#ModuleStatus
fe-15State taxonomytodo
fe-16Server state ≠ client state; query caches & invalidationtodo
fe-17Races, cancellation, idempotency, optimistic update + rollbacktodo
fe-18API integration as a distributed-systems problemtodo
fe-19Application architecture — and its overengineering critiquetodo
fe-20Designing for the unhappy pathtodo
fe-21Rendering architectures: CSR/SSR/SSG/ISR/streaming/islands/RSCtodo
Capstone 2 (Intermediate)todo

Phase 4 — Quality Attributes (Staff)

#ModuleStatus
fe-22Performance engineering & budgetstodo
fe-23Loading architecturetodo
fe-24Accessibility as engineeringtodo
fe-25Frontend securitytodo
fe-26i18n / l10ntodo
fe-27Mobile web & PWAtodo
fe-28Workers & parallelismtodo
fe-29WebAssemblytodo
fe-30Large-scale UI performancetodo
Capstone 3 (Senior)todo

Phase 5 — Quality Engineering (Staff)

#ModuleStatus
fe-31Test strategy economicstodo
fe-32UI testingtodo
fe-33E2E & flaky-test preventiontodo
fe-34Integration & contract testingtodo
fe-35Visual regressiontodo
fe-36AI-assisted QAtodo
fe-37Principal quality engineeringtodo

Phase 6 — Platform & Delivery (Staff → Principal)

#ModuleStatus
fe-38Design systemstodo
fe-39Build toolingtodo
fe-40Monorepostodo
fe-41Microfrontends (critically)todo
fe-42Frontend platform engineeringtodo
fe-43Observabilitytodo
fe-44Reliabilitytodo
fe-45CI/CD & release engineeringtodo
Capstone 4 (Staff)todo

Phase 7 — Principal Judgment (Principal → Distinguished)

#ModuleStatus
fe-46ADRstodo
fe-47Technical decision-makingtodo
fe-48Technical debttodo
fe-49Migrationstodo
fe-50Principal skillstodo
fe-51Failure case-study gauntlet (all 12, cold)todo
Capstone 5 (Principal)todo
Capstone 6 (Distinguished/SME)todo

Failure case studies

IncidentPhaseStatus
Rendering loop freezes browser1todo
Memory leak after hours1todo
Global rerenders from context misuse2todo
Stale response overwrites newer data3todo
Hydration mismatch3todo
CSS bundle explosion4todo
Accessibility regression4todo
Cache poisoning4todo
Flaky E2E suite5todo
Design-system upgrade breaks many apps6todo
Dependency compromise6todo
Poor observability hides an outage6todo