Derivatives of Plumb (factory-brand-v1) for the Factory's modules and decision domains. These are editorial concept studies. They are not product features, status indicators or evidence of progress. Construction: geometry. Reviewed images: assets.
Shared art direction:
- Every study uses the same Plumb, built from one construction in one palette with one outline weight.
- Only three things vary:
- one prop that shows the module's job;
- the pose, tilted no more than 12°;
- the backdrop shape.
- Each module's canonical name is always shown as a text label.
- Nicknames are editorial captions only.
Accepted local modules: two family plates
The dispositions and rows below come from the local implementation review as of 2026-09-28. Acceptance means independently reviewed local infrastructure. It is not a completed epic, a release or a customer benefit.
Every row maps to real source. None of these modules is a separate service.
Each module has exactly one labelled position on one of two plates:
- Plate 1: six modules for records and runs.
- Plate 2: five modules for isolation, delivery and visibility.
Both plates use pale blue rounded-square tiles.
| Plate · position | Accepted module (canonical label) | Maps to | Source | Disposition | Prop | Nickname |
|---|---|---|---|---|---|---|
| 1 · 1 | Command journal | Durable facts and messages (design) | src/journal.ts, src/canonical-json.ts | Accepted local reads and writes | bound ledger with a ribbon bookmark | Plumb with the ledger |
| 1 · 2 | Evidence / Assurance | Evidence store foundation; Assurance judgement | src/evidence.ts, src/assurance.ts | Accepted for trusted local fixtures | glass specimen case with a blank tag | Plumb the curator |
| 1 · 3 | Execution | Execution foundation: Run and Attempt lifecycle, durable cancellation | src/execution.ts | Accepted for trusted local supervision | relay baton | Plumb with the baton |
| 1 · 4 | Local fixture worker | Execution: bounded worker Attempts on fixed fixtures | src/local-worker.ts, src/fixture-child.ts, src/fixture-gate.ts, src/fixture-manifest.ts | Accepted for fixed trusted fixtures | small closed toolbox | Plumb at the bench |
| 1 · 5 | Attempt fence / workspace | Execution: per-Attempt ownership and private workspace | src/attempt-fence.ts, src/attempt-workspace.ts | Accepted for trusted local POSIX fixtures | low garden gate with a latch | Plumb at the gate |
| 1 · 6 | Guarded verification / recovery | Assurance verification under Execution ownership, with bounded replacement | src/guarded-verification.ts, src/attempt-ledger.ts | Accepted for trusted fixtures | round loupe over a folded blank report | Plumb double-checks |
| 2 · 1 | Confined executor | Execution: one bounded program against read-only snapshots | src/confined-executor.ts | Accepted for the tested stateless macOS boundary | tiny gear under a glass cloche | Plumb under glass |
| 2 · 2 | Repository sealing / export | Operations: exact prospective Candidate and manifest | src/repository.ts | Accepted for fresh owned local repositories | parcel tied with string and a plain round seal | Plumb seals the parcel |
| 2 · 3 | Repository integration | Operations: guarded local ref update with reconciliation | src/repository.ts | Accepted as a local effect primitive | railway points lever | Plumb at the points |
| 2 · 4 | Portfolio | Operations-owned registry and read-only sourced views | src/portfolio.ts, src/portfolio-inventory.ts | Accepted for local metadata registration and sourced facts | index-card drawer with blank tabs | Plumb the registrar |
| 2 · 5 | Dashboard | Local browser interface: typed contract, pure projection, HTTP composition, presentation (dashboard) | src/dashboard-contract.ts, src/dashboard-view.ts, src/dashboard-server.ts, apps/dashboard/src | Accepted local browser interface | an empty window frame on a small stand | Plumb at the window |
The composition and support files src/local-factory.ts, src/cli.ts, src/factory-support.ts and src/errors.ts belong to the modules they compose, so they get no study of their own.
Work that is under review or outside the accepted table gets no accepted-module study, because a study must not look like an acceptance claim. Such work may have a planned study, provided it is clearly labelled "planned" or "in review".
Decision domains: documented derivatives
These are the domains from the design. No domain has a completed customer-value epic. These studies are documented only, and no domain image is planned yet. When one is made, it uses a pale blue circle backdrop.
| Canonical domain | Decides | Prop | Nickname |
|---|---|---|---|
| Planning | Objectives, Outcomes, Assessments, priority, retirement | blank folded map and small compass | Plumb the scout |
| Delivery | Design, implementation and repair of a Slice | hand plane lifting one curl of shaving | Plumb the joiner |
| Assurance | Independent Scenarios, checks and Verdicts | spirit level with a round loupe | Plumb the inspector |
| Operations | Integration, release, health, rollback, recovery | small unlit signal lantern | Plumb the keeper |
| Growth | Docs, site and launch from confirmed release facts | oversized pen nib over a blank card | Plumb the scribe |
Completed-epic asset rule
On 2026-09-28 all 27 epics (E01–E27) were open, so no completed-epic pack exists.
A pack becomes due only when an epic closes with independent closure evidence. The pack's first line links to that evidence: the Assessment, Verdict or Receipt.
A pack contains:
- A caption: the epic ID and canonical title, plus a factual one-line outcome copied from the evidence. It never claims more than a Supported Assessment.
- The study for the surface the epic changed. Reuse an existing study where one exists, or make one new study under this art direction.
- A record in assets: consistency, accessibility and truth-state checks, with provenance.
If the epic has no visible surface, the pack records "no visible change; no artwork". An epic closed as learning after a rejected or inconclusive result gets no celebratory asset.
