---
title: Nexus Tech Tree — Record
---

# Nexus Tech Tree — Record

Captured for the first Nexus build on 2026-06-13.
**8 eras · 31 nodes.**

## Eras

| id | name | tagline |
|----|------|---------|
| ERA-0 | Name the platform | Ratify the names, the boundary split, and the first public contracts so everyone is building the same thing. |
| ERA-1 | Author the product | Most engineers build products by authored files, not framework Python. |
| ERA-2 | Wire the core | `n1r.core` owns tokens, model routing, observability, bounds, and runtime execution. |
| ERA-3 | Open the library | Pinax exposes governed capabilities and patient-context reads through one shaped door. |
| ERA-4 | Make reasoning durable | Clinical reasoning artifacts and lineage become the durable spine. |
| ERA-5 | Compose surfaces | Composer turns artifacts into product surfaces. |
| ERA-6 | Run products reliably | Nexus runtime makes execution bounded, visible, and auditable. |
| ERA-7 | Retire draft docs | Older draft platform docs are retired from the active architecture set. |
## Relationship tree

An edge runs `prereq -> node`. Nodes with no prereqs in an era are frontier nodes you can start now.

**ERA-0**
- `nexus-brief`
- `supersession-adr`
- `n1r-core-api`

**ERA-1**
- `authoring-pack` <- `nexus-brief`, `n1r-core-api`
- `pack-validator` <- `authoring-pack`
- `definition-store` <- `authoring-pack`
- `definition-document-contract` <- `definition-store`
- `definition-versioning` <- `definition-document-contract`
- `clinician-agent-authoring-surface` <- `definition-document-contract`

**ERA-2**
- `runtime-context` <- `n1r-core-api`
- `token-lifecycle` <- `runtime-context`
- `model-resolver` <- `runtime-context`
- `llm-observability` <- `runtime-context`, `model-resolver`
- `hard-run-bounds` <- `runtime-context`

**ERA-3**
- `pinax-service` <- `token-lifecycle`
- `pinax-capability-api` <- `pinax-service`
- `patient-bound-session` <- `pinax-capability-api`
- `shaped-capability-outputs` <- `pinax-capability-api`

**ERA-4**
- `clinical-artifact-contract` <- `n1r-core-api`
- `artifact-lineage` <- `clinical-artifact-contract`, `llm-observability`

**ERA-5**
- `composer-service` <- `clinical-artifact-contract`
- `surface-contracts` <- `composer-service`, `artifact-lineage`
- `ag-ui-artifact-panel` <- `composer-service`, `artifact-lineage`

**ERA-6**
- `nexus-runtime-service` <- `hard-run-bounds`, `artifact-lineage`, `pinax-service`
- `baseline-trust-rails` <- `nexus-runtime-service`, `llm-observability`
- `react-workflow-builder` <- `definition-versioning`, `clinician-agent-authoring-surface`
- `template-agent-library` <- `definition-versioning`
- `platform-ai-chat` <- `nexus-runtime-service`, `pinax-service`, `ag-ui-artifact-panel`
- `chat-session-store` <- `platform-ai-chat`, `artifact-lineage`

**ERA-7**
- `retirement-map` <- `supersession-adr`, `nexus-runtime-service`, `composer-service`
- `retired-doc-notices` <- `retirement-map`

## Node notes

| Node | Era | Purpose | Required behavior | Excluded form |
|---|---|---|---|---|
| `nexus-brief` | ERA-0 | Define one standard product model | Define Nexus as the standard way N1 builds clinical AI products | Keep old and new platform names active without a supersession record |
| `supersession-adr` | ERA-0 | Record the current platform naming set | Publish one accepted ADR that maps older platform documents to Nexus replacements | Leave older platform documents without a current supersession record |
| `n1r-core-api` | ERA-0 | Define the current runtime contract | Publish one N1-owned API for pack and definition loading, validation, and bounded runs | Expose substrate objects as the required consumer interface |
| `authoring-pack` | ERA-1 | Define the file-authored contract | Constrain authoring to validated files and normalized runtime fields | Allow unsupported workflow-local hooks or hidden runtime code |
| `pack-validator` | ERA-1 | Prevent invalid authored input from reaching runtime | Fail invalid packs before execution | Continue into runtime after blocking validation failures |
| `definition-store` | ERA-1 | Store runtime definitions in a document-native source | Use DocumentDB as the primary store for agents, skills, teams, workflows, templates, and versions | Use Postgres JSONB as the primary runtime-definition source |
| `definition-document-contract` | ERA-1 | Standardize stored definition shape | Use stable definition and immutable version documents | Store runtime definitions without a shared contract |
| `definition-versioning` | ERA-1 | Make activation and rollback explicit | Use immutable versions plus current-version pointers | Mutate historical versions in place |
| `clinician-agent-authoring-surface` | ERA-1 | Define clinician editing boundaries | Expose constrained clinician-editable fields only | Expose auth logic, provider config, or arbitrary code fields |
| `runtime-context` | ERA-2 | Define the bound run/session context | Carry run ID, principal, subject user, narrowing record IDs, and timeout configuration | Treat patient or auth scope as optional runtime values |
| `token-lifecycle` | ERA-2 | Define one runtime token boundary | `n1r.core` acquires and refreshes the token centrally | Move token minting into capability or pack code |
| `model-resolver` | ERA-2 | Define one model-resolution boundary | Resolve by registry ID and use provider-native routes | Use one generic adapter path for all provider behavior |
| `llm-observability` | ERA-2 | Centralize attribution, cost, and safe telemetry | Emit PHI-safe spans with run, pack, caller, and model metadata | Emit raw prompts, completions, or PHI-rich payloads in default logs |
| `hard-run-bounds` | ERA-2 | Enforce mandatory execution timeouts | Wrap async execution in hard wall-clock limits and cancellation | Use `tool_call_limit` as the sole execution bound |
| `pinax-service` | ERA-3 | Define governed capability access | Use discovery-first deterministic shaped outputs | Mirror backend routes directly as tools |
| `pinax-capability-api` | ERA-3 | Define the capability contract | Specify deterministic capability contracts with shaped outputs | Allow each capability to define its own envelope and auth |
| `patient-bound-session` | ERA-3 | Restrict patient scope to session | Bind subject context once in runtime/session state | Expose `patient_id` as a model-supplied tool argument |
| `shaped-capability-outputs` | ERA-3 | Shape capability response modes | Return `result`, `clarify`, `narrow`, `absent`, or `need-input` | Return raw nested dicts or bare empty lists |
| `clinical-artifact-contract` | ERA-4 | Define the durable reasoning record | Use artifacts as the primary platform record | Use the final report as the primary platform record |
| `artifact-lineage` | ERA-4 | Define the artifact lineage record | Link artifacts back to runs, versions, sources, and runtime metadata | Use model-authored lineage fields or define lineage as exact replay |
| `composer-service` | ERA-5 | Define the surface-composition layer | Build narratives, charts, cards, and report sections from artifacts | Add primary reasoning to the surface layer |
| `ag-ui-artifact-panel` | ERA-5 | Define live artifact-panel events | Use typed AG-UI panel and widget contracts with artifact/lineage links | Send arbitrary renderer code or untyped payloads to the browser |
| `surface-contracts` | ERA-5 | Define stable downstream shapes | Publish clear output contracts for narratives, charts, and cards | Require every consumer to parse one combined report blob |
| `nexus-runtime-service` | ERA-6 | Define runtime execution behavior | Use bounded agent, team, and workflow runs, safe status, explicit retries, active-version selection, and durable lineage | Leave runtime state and failure reporting implicit |
| `baseline-trust-rails` | ERA-6 | Enforce baseline platform rules | Enforce auth, PHI-safe telemetry, eval hooks, and fail-closed behavior | Omit baseline rails or define them as the only platform thesis |
| `react-workflow-builder` | ERA-6 | Define the React app authoring surface | Show visible definitions, allow constrained editing, and use React Flow | Use Svelte or hide existing definitions |
| `template-agent-library` | ERA-6 | Reuse platform specialist agents safely | Copy platform templates into clinic or clinician control before edits | Edit platform templates in place |
| `platform-ai-chat` | ERA-6 | Define the platform-wide chat surface | Run chat through `n1r.core` with Pinax and Artifact panel support | Create a separate ungoverned runtime path for chat |
| `chat-session-store` | ERA-6 | Preserve durable chat linkage | Store chat session, artifact, and event references in DocumentDB | Depend on raw logs as the only chat record |
| `retirement-map` | ERA-7 | Define the mapping from retired drafts | Record how older draft platform assumptions map into active Nexus specs | Leave older draft architecture in the active spec surface |
| `retired-doc-notices` | ERA-7 | Mark old files as retired | Explicitly retire older draft files from the active spec surface | Leave retired draft architecture without retirement markers |