---
-template-target: Implementation
-template-levels: pro, master
-template-note: the implementation of a pro or master project, made when the project is created (P-530)
-description: The implementation of {{project}}: how its code realises the design, and how it is built and run
+template-target: {{codebase}}Impl
+template-levels:
+template-note: not made at project creation (P-605): a code base's notes topic, made when someone starts building {{project}} in a code base (e.g. Proto1Impl); its companions …Code, …Routes, …Test are made with it
+description: How the {{codebase}} code base met the design of {{project}}, per feature, with notes for later builds
tags: ai, impl
status: draft
---
-# {{project}}: implementation
+# {{project}}: {{codebase}} as built
-This is the implementation for {{project}}: how its code realises the design — files, classes, language — and how it is built and run. Its companions: [[Spec]] (the specification), [[UiSpec]] (the UI specification), [[Design]] (the design) and [[Implementation]] (the implementation). If the project gets more than one implementation (a prototype and a final build, say), each gets a topic of its own, named after it, and this one lists them.
+This is {{codebase}}Impl, kept by the {{codebase}} builders: per feature (the same `{#id}` as in [[Design]]), how {{codebase}} met the design, where it differs and why, the builders' small decisions, and notes for the next implementation. Each entry names its item, e.g. *(P-12)*. No code references and no version numbers: files, classes, releases and deploys are in [[{{codebase}}Code]]. Its companions: [[Spec]] (what it does), [[SpecUi]] (how the UI behaves), [[Design]] (the mechanisms), [[DesignRoutes]] (the API) and [[SpecTest]] (the black-box tests); each code base that builds {{project}} keeps its own topics, named after it (e.g. `Proto1Impl`, `Proto1Code`, `Proto1Routes`, `Proto1Test`).
## Goals
-What this topic is for, and how to tell a line belongs here:
-
-- **Role:** how one code base realises [[Design]] (files, classes, language), and how it is built, hosted and run.
-- **A line belongs here if** it would be wrong only if rewritten in another language or hosted elsewhere.
-- **It fails if** you can't find from it where a design mechanism lives in the code, or if it holds behaviour or mechanisms the specification and design don't.
-
-## Code layout
+- **Role:** what was built and why, readable without opening the code.
+- **A line belongs here if** a later build of {{project}} would want to know it.
+- **It fails if** it names files, classes or commits, or if a builder changed [[Design]] instead of writing here what couldn't be built as designed.
-## Build and run
+## Notes for the next implementation
-## Decisions
+## As built