The portable technical pack, read by every layer repo as external/technical/. Company identity and hard stops come from the master document, which wins on any conflict.

Start here: STAMPED_ARCHITECTURE.md is the single source of truth: six conceptual layers (① Plant, ② Context, ③ Analytics, ④ Decision, ⑤ Action, ⑥ Value), the governance plane, the fast and slow loops, ten contracts, autonomy levels AL0Autonomy levels (direction; fast-loop stages 1–3 = AL1–AL3)–AL5, the write path, scope cut and operating rules. What is still to be decided is in DECISIONS.md.

Technical pack

Depth per repo layer

Technical pack: the architecture

Master document: identity and hard stops

STAMPED_ARCHITECTURE.md
layers, contracts, loops, scope

DECISIONS.md
open choices D1–D21

layers/
L1, L2, L5, L6

L1-L2-DATA-PLANE.md
② Context

l3/
③ Analytics

l4/
④ Decision

fast-loop/
Plant Box, seconds

↩ handoff/, contracts/, decisions/: how each repo builds it

How to read it.

  1. The master document sets what Stamped is and what it never does silently; the architecture builds inside that.
  2. The architecture holds the shape; the decision board holds the open choices and the architecture follows its recommendations until Vinayak decides.
  3. Each deep folder expands one repo layer, or the plant-side fast loop, and names its conceptual layer.
  4. Handoffs, contracts and ADRs turn the pack into repo work.

Build now: read the architecture, then your layer page. Later: the deep folder for the layer you are building, then its handoff.

View Mermaid source
flowchart TB
    %% house-style: technical-pack
    md["Master document: identity and hard stops"]
    subgraph core["Technical pack: the architecture"]
        direction LR
        arch["STAMPED_ARCHITECTURE.md<br/>layers, contracts, loops, scope"]
        dec{{"DECISIONS.md<br/>open choices D1–D21"}}
    end
    subgraph deep["Depth per repo layer"]
        direction LR
        lay["layers/<br/>L1, L2, L5, L6"]
        dp["L1-L2-DATA-PLANE.md<br/>② Context"]
        l3["l3/<br/>③ Analytics"]
        l4["l4/<br/>④ Decision"]
        fl["fast-loop/<br/>Plant Box, seconds"]
    end
    build(["↩ handoff/, contracts/, decisions/: how each repo builds it"])
    md --> arch
    arch --- dec
    arch --> lay & dp & l3 & l4 & fl
    deep --> build

    classDef govc fill:#fff4d6,stroke:#c99a2e,color:#000
    classDef agentc fill:#e8f0ff,stroke:#5b7bd5,color:#000
    classDef loopc fill:#eef7ee,stroke:#4f9a4f,color:#000
    class md,dec govc
    class build loopc

Reading order#

#DocumentFor
0../Stamped_Master_Document.mdCompany identity and hard stops
1STAMPED_ARCHITECTURE.mdThe architecture (SSOT)
2DECISIONS.mdDecisions waiting on Vinayak, and the full board
3layers/One page per repo layer: repos, contracts, must-nots
4L1-L2-DATA-PLANE.mdLoading meters, exports and context into L2
5l3/③ Analytics in depth: runtime, engines, rulepacks, Finding contract, twin
6l4/ · ADRs 020–027④ Decision in depth: kernel, runtime, seams, as-built map
7fast-loop/ · ADRs 033–038Plant Box: twin, fast read, writer, alerts, message budgets (direction)
8SYSTEM_VIEWS.mdSystem and stamped-external views (SYS-00 to SYS-09, EXT-01 to EXT-05) as house diagrams
9tour/Eight short stops through the architecture for engineers joining; tour/in-short/ holds the one-paragraph summaries the website shows
10CHANGELOG.mdEvery architecture version and what changed in it
—pointers/Old filenames that redirect here

Conventions#

  • Status labels: as-built (code on a consumer repo's main), contract (schema or ADR), direction (not built).
  • Names: conceptual layers ①–⑥ and repo layers L1–L6 are different things; architecture section 1.1 defines both. As-built names stay as they are in code and contracts (for example Finding 1.2.0); new contract names are marked direction.
  • Diagrams: house-style Mermaid (flowchart TB, yellow governance, blue people and agents, green return paths), each followed by "How to read it" and a Build now / Later line.
  • Honesty: no invented detectors, savings, customers or revenue. Verified savings today: ₹0.
  • Website: everything here is published on the architecture website, built from these files by site/ in this repo. Edit the markdown, never the site.
  • Contracts: ../contracts/ · ADRs: ../decisions/ · Handoff: ../handoff/ · Design: ../design/.

Changing the architecture#

  1. Edit the markdown here and add a line under Unreleased in CHANGELOG.md. A change with no meaning, such as a typo, can carry the no-changelog label on its pull request instead.
  2. Open a pull request. CI runs docs-check, builds the website and checks for the changelog line.
  3. Merge to main. The website redeploys and shows the change under Unreleased.

To release a version, rename Unreleased to the new version and date following the rules at the top of CHANGELOG.md, add a fresh Unreleased above it, merge, then tag the merge commit architecture-vX.Y.Z and push the tag. CI fails a tag that has no matching heading. The website then shows the new version and marks the pages that changed. site/README.md has the commands and the deployment setup.

Page history: last 5 changes
  1. 2026-10-08 ci(site): deploy to Cloudflare on push to main; document the update and release workflow 4a86a4f
  2. 2026-10-07 docs(technical): archive archify; add SYSTEM_VIEWS.md house diagrams; check_docs --min 1e190b6
  3. 2026-10-07 docs(technical): carry product sections; rewrite README and pointers ee1e818
  4. 2026-10-03 docs(handoff,l4): fast-loop architecture handoff, L4 procedure and ledger links, indexes 0f45a47
  5. 2026-10-03 docs(decisions): add ADR-033..038 (twin runtime, fast read path, plant-side writer, message classes, alerts and quality-to-lot link, part-keyed parameters), fast-loop technical set, rebuilt index with renumbering map; fix bare-number link text and ranges 22e2872

Diagram

100%

Search the architecture