Standards Library

Unit Standards — Engineer Review

Canonical standards, release-gate protocol, engineer handover template, and docs-archive discipline. The reference set every Unit module is built and locked against.

Source of truth UDSP v2.2 Component Library v2.0 Release Gate v2.3 Handover Template v1.1 Header Doctrine v2.0
01 · Overview

Standards Library Overview

The Unit Standards Library is the source of truth for how every Unit module is designed, implemented, previewed, tested, documented, reviewed, and handed off. Standards are not optional guidance — they define how work is accepted.

Purpose

Define the binding rules for module delivery: visual rules (UDSP), component contracts (Component Library), release-gate verification (preview-release-gate), engineer handover documentation (engineer-handover-template), and header / path doctrine. Each standard is canonical, append-only, and enforced as a release-gate BLOCKER on violation.

Canonical location

All standards live under unit-app-system-library/01-STANDARDS/. Execution work lives under unit-lab/. The system library is the source of truth; unit-lab/ is the execution workspace. Standards are never duplicated inside unit-lab/.

Current canonical standards

File Version Authority Scope
UNIT-UI-DESIGN-SYSTEM-PROTOCOL.md v2.2 GLOBAL STANDARD (NON-NEGOTIABLE) Tokens, typography, spacing, error model, content & hierarchy discipline.
UI-COMPONENT-LIBRARY-STANDARD.md v2.0 GLOBAL STANDARD (NON-NEGOTIABLE) 19 catalogued components with module classification + per-component enforcement.
preview-release-gate.md v2.3 GLOBAL STANDARD (NON-NEGOTIABLE) Verify-all pipeline, release-gate report, engineer handover protocol, docs archive discipline.
engineer-handover-template.md v1.1 GLOBAL STANDARD (NON-NEGOTIABLE) 16-section handover structure for LOCKED modules + docs structure contract.
global-header-path-doctrine.md v2.0 GLOBAL STANDARD (NON-NEGOTIABLE) Required headers, repo-relative paths only, append-only Author History.
UI-CLAUDE-PROMPT-TEMPLATE.md v2.0 GLOBAL STANDARD (NON-NEGOTIABLE) Canonical prompt block for AI-assisted UI work.
UI-CANONICALIZATION-REPORT.md v1.0 REPORT (READ-ONLY) Records the 2026-04-28 migration of UI standards into the system library.
how-to-use-the-standards-library.md v1.0 USAGE GUIDE Read-this-first guide for engineers, reviewers, integrators.

How engineers use this library

01Read first. Identify which standards apply before writing code. Minimum read set: global wallet invariants, UDSP, Component Library, module execution spec, module invariant map.
02Confirm authority chain. Every binding document declares its chain. A lower layer never overrides a higher layer; conflicts are GAPs.
03Build inside approved patterns. No invented UI patterns, states, error labels, validation behaviour, or layout structures. Missing patterns are GAPs — escalate to the standards layer first.
04Produce required artifacts. README, STATUS, execution spec, invariant map, preview HTML, screenshots, tests, codebase audit, release-gate report, engineer handover.
05Validate before handoff. verify:all exits 0, screenshots regenerated this pass, forbidden patterns absent, no unrelated modules touched.
02 · Authority Hierarchy

Authority Hierarchy

When specs disagree, the higher layer wins. A lower layer cannot override a higher layer — conflicts are GAPs, flagged in audit and resolved at the higher layer.

Layer Source Override scope
1 unit-lab/docs/global-wallet-module-invariants.md Overrides every UI rule below. Defines SEND / DEPOSIT / WITHDRAW / RECEIVE protocol contracts.
2 UDSP v1.1 token files at unit-lab/design-system/tokens/ Overrides UI implementations. Closed sets for color, typography, spacing, radius, shadow, gradient.
3 01-STANDARDS/UNIT-UI-DESIGN-SYSTEM-PROTOCOL.md Overrides per-module visual choices.
4 01-STANDARDS/UI-COMPONENT-LIBRARY-STANDARD.md Overrides ad-hoc component usage.
5 01-STANDARDS/preview-release-gate.md Binds verification pipeline + handover documentation + docs archive discipline.
6 01-STANDARDS/global-header-path-doctrine.md Binds header format + repo-relative paths for every authored artifact.
7 Module-level execution specs and invariant maps Subject to all layers above; bind module TSX, preview, tests.
8 Module TSX, preview HTML, tests Pure-render execution layer. No conflict resolution permitted here.
03 · UI Design System

UI Design System Protocol v2.2

Source: UNIT-UI-DESIGN-SYSTEM-PROTOCOL.md v2.2. The protocol binds every wallet module — Send, Deposit, Withdraw, Receive, Activity, Dashboard. Every rule is a release-gate BLOCKER or REJECT on violation.

Token-only rule

All colors come from import { color } from 'design-system/tokens'; no raw hex outside colors.ts. All spacing comes from the closed space.s* scale. All radii from radius.{xs / sm / md / lg / xl / xxl / full}. All shadows from named tokens. Single approved gradient: gradient.primary on the primary CTA only. No inline color/spacing literals; no Tailwind color classes.

Enforcement

Violation Inline style={{ color: '...' }}, off-scale spacing, or Tailwind colour class detected by source-scan.

Response BLOCKER — release gate fails. PR rejected.

Resolution Replace with token. If no token exists, propose one at the tokens layer (UDSP v1.1) before implementing.

Typography

Font sizes come from the closed scale: displayXL: 44, displayLG: 36, displayMD: 32, displaySM: 28, titleLG: 22, titleMD: 18, bodyLG: 17, bodyMD: 16, bodySM: 15, metaLG: 14, metaMD: 13, metaSM: 12, metaXS: 11. Line heights from display: 1.02 / tight: 1.08 / snug: 1.20 / normal: 1.40. Weights and tracking from typography.ts named values.

Spacing

All padding, margin, gap, and offsets use space.s* from the closed scale s4 / s6 / s8 / s10 / s12 / s14 / s16 / s18 / s20 / s22 / s24 / s28 / s32 / s40. s40 is reserved for screen-edge padding only. Off-scale spacing is BLOCKER.

Error-state model (v2.2 — minimal product standard)

Error renders as a content state, not a container or alert box. It replaces the primary surface while preserving the overall layout structure.

ElementToken / rule
Containerborder: none, background: transparent, no border-radius framing
Background fillFORBIDDEN — color.errorSoft as a surface fill is not allowed
BorderFORBIDDEN — zero borders inside the error block
Chromatic signalSingle error dot above headline
HeadlinetitleMD · color.textStrong — neutral, never red
BodybodySM · color.textBody — neutral, never red
"Reason" eyebrowNEVER RENDERED
Retry buttonNEVER RENDERED unless explicitly defined in spec
Tone copyCalm, instructional, single line. No "Something went wrong". No raw enums.

Principle. Error is a state of the same product — not a system alert or interruption.

Content & hierarchy discipline (§12)

Ten enforcement rules codifying Apple-level minimalism. Each rule binds as a release-gate BLOCKER or REJECT.

12.1No rhetorical titles. A title is either omitted or a minimal structural label (Receive, Send). Forbidden: "Scan to receive", "Enter amount to send", "Click Continue", "Tap to copy". REJECT
12.2Single-line helper text. Helper / supporting copy fits on exactly one line at the canonical card width. Multi-paragraph descriptive copy is forbidden. BLOCKER
12.3Primary-object dominance. The primary object (QR, hero amount, terminal-status icon) is the first visual focus within 0.5 s and dominates by size, position, and emphasis. REJECT
12.4No container-first design. Layout is content-driven. Heavy bordered cards wrapping content, boxed layouts, and tinted background fills used for grouping are forbidden. Content defines structure, not containers. REJECT
12.5No form illusion for display data. Read-only addresses, identifiers, and reference IDs render as text, not as input. BLOCKER
12.6Border minimization. Borders only when structurally necessary — separating StepContainer from page surface, marking input focus, indicating an error surface. REJECT
12.7Brand colour as structural element. Primary purple guides hierarchy, highlights key actions, and anchors focus — not decoration, not hover-only. REJECT
12.8CTA precision. One primary CTA per surface. Canonical sizing per §5.1. No oversized buttons. REJECT
12.9Density discipline. Tight but breathable. Vertical gaps follow the canonical space.s* scale and serve a purpose. REJECT
12.10Zero UI noise. Every visible element improves clarity, hierarchy, or usability. The default is "absent" until an element earns its place. REJECT
04 · Component Library

Component Library Standard v2.0

Source: UI-COMPONENT-LIBRARY-STANDARD.md v2.0. 19 catalogued components, each carrying a Module Classification table (Send / Deposit / Withdraw / Receive: REQUIRED / OPTIONAL / FORBIDDEN / N/A) and a 4-row enforcement table.

Approved component categories

#ComponentStatusReference
1PageShellEXTRACTEDDepositStepOne.tsx page+shell+body
2StepContainerEXTRACTEDDepositStepOne.tsx + WithdrawStepOne.tsx card
3SectionHeaderEXTRACTEDDepositStepOne.tsx titleBlock + headerRow
4AssetSelectorEXTRACTEDDepositStepOne.tsx SelectShell
5AmountInputEXTRACTEDDepositStepOne.tsx amountHero + amountInput
6QuickFillControlsEXTRACTEDWithdrawStepOne.tsx quick-fill grid
7AddressCardEXTRACTEDDepositStepTwo.tsx addressBox
8QRBlockEXTRACTEDDepositStepTwo.tsx qrFrame + qrInner
9ReviewSummaryEXTRACTEDDepositStepOne + ReviewWithdrawal summary
10StatusPanelEXTRACTEDDepositStepTwo.tsx statusBlock
11CTAButtonEXTRACTEDDepositStepOne.tsx cta + ctaDisabled
12SecondaryButtonEXTRACTEDDepositStepThreeCancelled.tsx secondaryCta
13ValidationMessageEXTRACTEDDepositStepOne.tsx helper
14CopyActionEXTRACTEDDepositStepTwo.tsx copyButton
15NetworkLabelEXTRACTEDWithdrawStepOne.tsx networkBadge
16EmptyStateEXTRACTED · GAPDepositStepOne empty-asset; Receive.tsx skeleton
17LoadingStateEXTRACTED · GAPReceive.tsx skeleton (live app)
18ErrorStateEXTRACTEDDepositTxHashFlow + WithdrawalTerminal Failed
19SuccessStateEXTRACTEDDepositStepThreeCompleted + WithdrawalTerminal Completed

Module classification matrix

ComponentSendDepositWithdrawReceive
PageShellREQREQREQREQ
StepContainerREQREQREQREQ
AmountInputREQREQREQN/A
QuickFillControlsREQFORBIDDENREQN/A
QRBlockFORBIDDENREQFORBIDDENREQ
AddressCardOPTREQREQOPT
StatusPanelOPTREQREQN/A
CopyActionOPTREQREQREQ
LoadingStateREQREQREQREQ
SuccessStateREQREQREQN/A

Forbidden inventions

Engineers MUST NOT invent new patterns at the implementation layer. If a required pattern is not catalogued, mark GAP in the module's audit, propose at the standards layer, implement only after the catalog is updated. Implementation-layer invention is REJECT.

Module compliance expectations

Every TSX component used by a module is traceable to an entry in this standard. A component appearing in module TSX without a catalog entry, or with a contract that diverges from the catalog, is REJECT.

05 · Release Gate

Preview Release-Gate Protocol v2.3

Source: preview-release-gate.md v2.3. Binds every module's verification pipeline. A module is not eligible for engineer handover until verify:all exits 0 from a clean checkout. Manual screenshot placement is banned.

The verify:all pipeline

Every module exposes a single canonical entry point at handover/tests/package.json. verify:all MUST execute, in order:

1npm installresolve dependencies
2npm run install:browsersplaywright install chromium
3npm run capture:previewcapture-preview.mjs · zero console / pageerror
4npm run verify:screenshotsverify-screenshots.mjs · closed-set inventory
5npm run testplaywright + source-scan

Screenshot capture

capture-preview.mjs probes localhost:5173, spawns Vite if unreachable, captures every required PNG for the module's canonical state set, prints inventory, exits non-zero on any capture failure, any pageerror, any console.error, or any missing PNG.

Manual placement is BANNED BLOCKER — every PNG must come from capture-preview.mjs.

Playwright test suite

The Playwright suite must cover all six dimensions — no partial coverage permitted:

  1. Invariant compliance (assertions tied to the invariant map)
  2. UI correctness (every visible affordance per spec)
  3. All states (LOADING / READY / ERROR / closed set per module)
  4. Error model compliance (UDSP §7.3)
  5. Forbidden patterns (source-scan grep over TSX + preview HTML)
  6. Layout stability — no shift between LOADING and READY

Source-scan

Forbidden-pattern greps execute inside the test suite (step 5). Every forbidden token from the module's invariant map and from UDSP §9 must return zero matches. Common module forbidden lists:

  • Deposit: availableBalance, handlePercent, onPercentFill, quickFillDisabled, dpOnPercentFill, percentage / Max controls.
  • Withdraw (user-facing): onSubmitTxHash, txHashSubmitted, "Submit/Paste/Enter transaction hash" copy, WithdrawTxHashSubmitCard (operator-only).
  • Receive: invite / invitee terminology, share buttons (WhatsApp / Telegram / X), navigator.share, crypto_symbol, UNITCOIN, asset symbols.

Codebase audit

Each module produces handover/docs/<module>-codebase-audit-report.md as a precondition to release-gate. Audit verdict must be PASS before the gate is initiated. Any precondition missing or in non-LOCKED / non-PASS state is a BLOCKER — release-gate execution refused.

Release-gate report

Each module produces handover/docs/<module>-release-gate-report.md. The report MUST include: executive summary (PASS / FAIL), commands executed (with exit codes), test results (per group, with counts), screenshot inventory (filename + size + verdict per PNG), source-scan results, console / pageerror results, codebase audit reference, final binary verdict, and any carried-forward advisories with explicit non-blocker classification.

Soft verdicts ("partial PASS", "conditional PASS", "PASS with caveats") are REJECT — gate is not considered passed.

Docs archive discipline

v2.3 introduces §11.7 — before a module can pass release-gate, its handover/docs/ directory MUST conform to a strict three-tier classification (ACTIVE / CERTIFICATION / ARCHIVE). See section 7 below for the full discipline.

Final completeness rule (§11.7.6 · supersedes §10.12 + §11.6)

A module is COMPLETE only when ALL FOUR hold:

1. verify:all exits 0
2. <module>-release-gate-report.md final verdict is PASS
3. <module>-engineer-handover.md exists and conforms to §11.3
4. <module>/handover/docs/ conforms to the docs-archive discipline declared in §11.7

Until all four hold, the module is NOT complete. The STATUS line MUST NOT read LOCKED — WORLD-CLASS STANDARD.

06 · Engineer Handover

Engineer Handover Standard v1.1

Source: engineer-handover-template.md v1.1. Every LOCKED module produces <module>/handover/docs/<module>-engineer-handover.md following the canonical 17-section structure. Authored after release-gate PASS and before the LOCK STATUS line.

Required handover document

Path: <module>/handover/docs/<module>-engineer-handover.md. The document is the entry point for any engineer picking up a LOCKED module — it binds the implementation contract end-to-end with zero ambiguity.

Required sections (16 sections + Author History)

§SectionRequired content
0HeaderModule / STATUS / invariant-map version / execution-spec version / TSX layer / preview / test suite / audit / release-gate — all populated
1Module SummaryOne-paragraph summary + "What does NOT do" exclusions table
2File StructureFull module file tree + role table
3Core Data ModelAll closed types verbatim from <module>Types.ts
4Rendering ContractZone order + canonical-value declaration + header content
5State DefinitionsOne sub-section per closed state (LOADING / READY / ERROR / GAP)
6Invariant RulesNumbered list with rule + authority citation
7Forbidden PatternsNumbered list with pattern + reason citation
8Styling RulesToken-only rules + typography token table + advisories
9Error ModelUDSP v2.2 §7.3 model statement + tone copy rules
10Test CoverageTest-group table with counts + dimensions + spec citation
11Screenshot InventoryClosed N-PNG set with route mapping
12Release-Gate Requirementsverify:all 5-step pipeline + STATUS-line advance rules
13Known AdvisoriesEach advisory with location + issue + resolution path + Impact on LOCK: NONE
14Implementation GuardrailsNumbered FORBIDDEN list + escalation chain
15QA ChecklistNumbered checks with verification method
16Final StatementLOCKED principle + three-situations clause

Docs structure contract (v1.1 addition)

v1.1 adds the Docs Structure Contract section after §2 of the template body. The <module>/handover/docs/ directory follows the three-tier classification declared in preview-release-gate.md §11.7 — see section 7 below.

Implementation guardrails (§14)

Once a module is LOCKED, the following changes are FORBIDDEN against it. Each is a release-gate BLOCKER and a doctrinal violation under preview-release-gate.md §10.10:

14.1Modify the UI layout (zone order, structural composition, card boundaries)
14.2Add features (new buttons, new disclosures, new states, new affordances)
14.3Introduce input fields of any kind (unless module spec explicitly defines them)
14.4Modify invariants (the invariant map is LOCKED)
14.5Modify the error structure (no container, no fill, no border, no "Reason" eyebrow)
14.6Modify any closed-set definition (state, error, status enum, screenshot inventory)
14.7Modify the canonical module-specific value (e.g. Receive Link, recipient model)
14.8Re-introduce any pattern listed in §7 (forbidden patterns)

To make any of these changes, amend the relevant authority layer first (invariant map → execution spec → standards), with a versioned LOCK pass at each layer, then re-run the full release gate. Implementation-layer changes that contradict a locked layer are drift, not progress.

QA checklist (§15)

15All forbidden patterns absent — source-scan tests
15Zero console.error / pageerror across all routes — capture-preview.mjs exit 0
15Closed N-PNG inventory satisfied — verify-screenshots.mjs PASS
15All Playwright tests pass — npm run test exit 0
15npm run verify:all exits 0 — single-command run
15Release-gate report final verdict PASSrelease-gate report
15STATUS.md carries LOCKED — WORLD-CLASS STANDARD + LOCK Author History row — STATUS.md current state

No soft language

The handover MUST NOT contain soft language — should, may, likely, expected, possibly, might. Any presence is a BLOCKER. Use protocol-style wording: is, MUST, MUST NOT, renders, imports, is gated by.

07 · Docs Archive Discipline

Docs Archive Discipline (§11.7)

Source: preview-release-gate.md v2.3 §11.7 + engineer-handover-template.md v1.1 (Docs Structure Contract). Before a module can pass release-gate, its handover/docs/ directory MUST conform to a strict three-tier classification.

Required structure

<module>/handover/docs/
├── README.md                                      docs index — entry-point pointer
├── <module>-engineer-handover.md                  ACTIVE · entry point
├── <module>-invariant-map.md                      ACTIVE · LOCKED invariants
├── <module>-live-codebase-extraction.md           ACTIVE · live-app baseline
├── <module>-codebase-audit-report.md              CERTIFICATION · audit verdict
├── <module>-release-gate-report.md                CERTIFICATION · release-gate
└── archive/
    ├── <module>-*-delivery.md                     historical · closeout records
    ├── <module>-*-refinement-*.md                 historical
    └── <other delivery / refinement / intermediate artifacts>

Three-tier classification

TierLives atContents
ACTIVE docs root Engineer handover, invariant map, live-codebase extraction. Read by anyone implementing, auditing, or extending the module.
CERTIFICATION docs root Codebase audit report, release-gate report, docs-discipline cleanup report. Immutable evidence of single passes.
ARCHIVE archive/ Delivery notes (*-delivery.md), refinement notes, intermediate artifacts, superseded drafts. Retained for traceability; never source of truth.

Forbidden at docs root

ForbiddenReason
Delivery files (*-delivery.md)Historical records, not source of truth — belong in archive/
Refinement notes (*-refinement-*.md)Historical — belong in archive/
Duplicate authority docs (e.g. two invariant maps)The LOCKED authority chain permits exactly one canonical document per role
Files of unclear purposeEvery doc-root file maps to ACTIVE or CERTIFICATION; ambiguity is a documentation BLOCKER
Missing README.md docs indexEngineers MUST have a single entry pointer to the module's docs
Mixing archive content into active rootTier separation is binding

README requirement

README.md MUST exist at the docs root and MUST cite preview-release-gate.md §11.7 as the binding standard. It MUST index every ACTIVE + CERTIFICATION doc with a one-line role description for each. The README also explains the archive/ contents at a high level.

No deletion rule

The cleanup pass MUST NOT delete any file. Historical artifacts are moved via git mv from the docs root into archive/. Zero file deletions, zero file content modifications. The cleanup is structural-only.

Enforcement

Docs-archive discipline

Violation Any of: archive/ subdirectory missing; delivery file at root; refinement note at root; README.md missing or stale; ambiguous file at root; duplicate authority doc at root.

Response BLOCKER — module cannot pass release-gate. The §11.6 completeness rule is not satisfied.

Resolution Create archive/. git mv the delivery / refinement files into it. Author or refresh README.md citing this §11.7 standard. Re-validate.

Validation command

find <module>/handover/docs -maxdepth 2 -type f

Expected at root: README.md + the 5 ACTIVE/CERTIFICATION docs + (optionally) a one-time docs-cleanup report. Expected under archive/: every other historical artifact. Anything else at root is a violation.

08 · Header + Path Doctrine

Global Header + Path Doctrine v2.0

Source: global-header-path-doctrine.md v2.0. Defines the mandatory header, path, and validation rules for all Unit Lab artifacts. No document or code file is handover-ready until it complies.

GitHub paths only

Every authored artifact (.md, .tsx, .ts, .html, .mjs, .js) carries a Path / Source block with both a repo-relative path and a GitHub URL. Local absolute paths are forbidden in checked-in artifacts.

No local paths

Forbidden anywhere in checked-in content:

/Users/...
/home/...
~/...
<HOME>/...
C:\Users\...

Required path format:

Path:
- Repo: <repo-relative-path>
- GitHub: https://github.com/UNITNETWORKECOSYSTEM/unit-lab/tree/main/<repo-relative-path>

Required header fields (Markdown)

FieldRule
Title# <Module> — <Document Title>
Versionv<x.y>
Last UpdatedYYYY-MM-DD
PathRepo + GitHub block (no local paths)
Authority Levele.g. GLOBAL STANDARD, MODULE INVARIANT, ENGINEER HANDOVER
StatusDRAFT / ACTIVE / LOCKED / FINAL / DEPRECATED
Workspaceunit-lab or unit-app-system-library
ModuleModule name (or "global")

Author History rules

Every authored Markdown file carries an ## Author History table directly after the header divider:

  • Author rules: initials only (e.g. SL). No full names. No AI attribution.
  • Role enum: Spec Owner · Reviewer · Engineer · Auditor
  • Change-Type enum: CREATE · UPDATE · CORRECTION · MIGRATION · LOCK · DEPRECATE
  • Summary rule: one line, factual only, no narrative.
  • Structure: append-only. Newest rows appended at bottom. No row mutation, no row deletion.

Code header standard

/**
 * Module: <Module>
 * File: <repo-relative-path>
 * Authority Level: <LEVEL>
 * Purpose: <one-line purpose>
 * Status: <ACTIVE | LOCKED | FINAL>
 *
 * Source:
 * - Repo: <repo-relative-path>
 * - GitHub: https://github.com/UNITNETWORKECOSYSTEM/unit-lab/tree/main/<repo-relative-path>
 *
 * Rules:
 * - Do not use local absolute paths.
 * - Do not change behavior without updating the governing execution spec.
 */

Validation

grep -RIn "/Users/" <module>/ \
  --exclude-dir=node_modules \
  --exclude-dir=dist \
  --exclude-dir=.next \
  --exclude-dir=build || true

Expected result: zero forbidden user-absolute paths across authored artifacts. Dependency folders are excluded.

09 · Engineer Workflow

Engineer Workflow — Module Lifecycle

The exact lifecycle every Unit module goes through, from spec to LOCK. Each stage produces required artifacts; lower stages cannot proceed until upper stages PASS.

1 Spec <module>-execution-spec.md + <module>-invariant-map.md (LOCKED)
2 Build handover/ui/ TSX (pure-render) + handover/preview/ HTML
3 Test handover/tests/<module>.test.ts (Playwright + source-scan)
4 Codebase Audit handover/docs/<module>-codebase-audit-report.md (verdict PASS)
5 Release Gate npm run verify:all (exit 0) + <module>-release-gate-report.md (PASS)
6 Engineer Handover handover/docs/<module>-engineer-handover.md (per template v1.1)
7 Docs Clean handover/docs/ conforms to §11.7 + README.md authored
8 Lock STATUS.md: LOCKED — WORLD-CLASS STANDARD (LOCK row appended)

STATUS line advance

After successful release-gate execution, STATUS.md advances through exactly two STATUS lines:

  1. RELEASE GATE PASSED — READY TO LOCK (Author History change-type VERIFY)
  2. LOCKED — WORLD-CLASS STANDARD (Author History change-type LOCK)

Skipping the verify line, mutating either Author History row, or advancing to LOCKED before stages 6 + 7 complete is a BLOCKER.

10 · Current Module Reference

Receive — First Reference Implementation

Receive is the first Unit module to reach LOCKED — WORLD-CLASS STANDARD under the full v2.3 protocol. It is the canonical reference for every subsequent module. The module's own docs live at unit-lab/receive/handover/docs/.

Release Gate
PASS
Tests
55 / 55
Screenshots
6 / 6
Codebase Audit
PASS
Engineer Handover
Complete
Docs Cleanup
PASS

Receive's docs directory at unit-lab/receive/handover/docs/ is the reference implementation of §11.7 docs-archive discipline: 4 active / certification docs at root, README.md docs index, 4 delivery files moved to archive/. Use Receive as the worked example when applying this protocol to a new module.