Living Specification Schema Glossary¶
Every specification document in an Eidos repository is an AsciiDoc (.adoc) file containing structured YAML frontmatter. Frontmatter syntax and cross-references are strictly validated against canonical schemas bundled with the Eidos engine (assets/schemas/v1/).
This glossary details all 16 document schemas (plus shared $defs in common/defs.yaml), their ID conventions, directory locations, required fields, and architectural intent.
Specification Taxonomy Overview¶
Document Type (type) |
ID Prefix | Default Path in eidos/ |
Canonical Schema | Purpose |
|---|---|---|---|---|
product/system |
SYS-* |
system.adoc |
product/system.schema.yaml |
Root system identity, archetypes, and technical stack profile. |
product/domain |
DOM-* |
domains/<domain>/domain.adoc |
product/domain.schema.yaml |
DDD bounded context, architectural boundaries, and ownership. |
product/capability |
CAP-* |
domains/<domain>/capabilities/*.adoc |
product/capability.schema.yaml |
Granular product feature bridging user JTBD with test-bound invariants. |
product/policy |
POL-* |
policies/POL-*.adoc |
product/policy.schema.yaml |
Non-negotiable system invariants, compliance rules, and quality gates. |
product/persona |
PER-* |
personas/*.adoc |
product/persona.schema.yaml |
Human and autonomous AI actor roles, goals, and pain points. |
product/exploration |
EXP-* |
explorations/*.adoc |
product/exploration.schema.yaml |
Technical spikes, hypotheses, and feasibility discovery. |
tech/architecture |
ARCH-* |
architecture/system-architecture.adoc |
tech/architecture.schema.yaml |
Global Arc42 architecture, C4 Level 1-2 container topology. |
tech/container |
CNT-* |
architecture/containers/*.adoc |
tech/container.schema.yaml |
C4 Level 2 Container manifests, deployables, runtimes, and nested components. |
tech/component |
CMP-* |
architecture/components/*.adoc |
tech/component.schema.yaml |
Promoted C4 Level 3 Component manifests, in-process APIs, and component invariants. |
tech/contract |
CTR-* |
architecture/contracts/*.adoc |
tech/contract.schema.yaml |
Interface protocol contracts (OpenAPI, gRPC, CLI, AsyncAPI, JSON Schema). |
design/system |
DS-* |
design/systems/<system>/system.adoc |
design/system.schema.yaml |
Multi-design system catalog, brand themes, and W3C DTCG tokens. |
design/ui-component |
UIC-* |
design/systems/<system>/components/*.adoc |
design/ui-component.schema.yaml |
UI component contract: variants, states, accessibility, and tests. |
design/screen |
SCR-* |
design/clients/<client>/screens/*.adoc |
design/screen.schema.yaml |
Screen views, routes, layout slots, and interaction state machines. |
design/client |
CLT-* |
design/clients/<client>/client.adoc |
design/client.schema.yaml |
Client application platform, runtime surface, design system binding, and owned screens. |
design/flow |
FLOW-* |
design/clients/<client>/flows/*.adoc |
design/flow.schema.yaml |
Interaction user journeys and cross-client flows with visual Mermaid diagrams. |
delta/mutation |
DLT-* |
deltas/dlt-*.adoc |
delta/delta.schema.yaml |
Planned Mode semantic mutations, expect: post-conditions, blast radius, and tombstones. |
[!NOTE] Shared Definitions (
assets/schemas/v1/common/defs.yaml): Reusable definitions for#/$defs/decision(DEC-*),#/$defs/invariant(INV-*withtest_binding),#/$defs/inline_component(CMP-*),#/$defs/lifecycle_status,#/$defs/delta_status,#/$defs/exploration_status,#/$defs/code_paths,#/$defs/contracts_block,#/$defs/external_design_references, andx-eidos-refentity references are automatically injected across schemas bySpecValidator. Each specification's JSON Schema path is automatically derived fromtype.
1. Product & Business Layer¶
product/system¶
- Schema:
schemas/v1/product/system.schema.yaml - ID Convention:
SYS-<NAME>-<NUMBER>(e.g.,SYS-EIDOS-001) - Location:
eidos/system.adoc - Required Properties:
type,id,title,archetypes - Intent: Anchors the root system identity and archetypes in YAML frontmatter while product vision, target users, value proposition, and technical stack profile live in the AsciiDoc prose body.
---
type: product/system
id: SYS-EIDOS-001
title: "Eidos: Agent-Agnostic Git-Native Development Ecosystem"
status: active
archetypes:
- framework
- cli_tool
---
product/domain¶
- Schema:
schemas/v1/product/domain.schema.yaml - ID Convention:
DOM-<NAME>(e.g.,DOM-SPEC-ENGINE,DOM-AUTH) - Location:
eidos/domains/<domain-name>/domain.adoc - Required Properties:
type,id,title,classification - Intent: Implements Domain-Driven Design (DDD) bounded contexts. Classifies domains as
core,supporting, orgeneric, with architectural boundaries and ubiquitous language glossary documented in the AsciiDoc body.
---
type: product/domain
id: DOM-SPEC-ENGINE
title: "Specification Engine Domain"
status: active # draft | planned | active | deprecated | retired
classification: core # core | supporting | generic
owners:
- "Core Architecture Team"
---
product/capability¶
- Schema:
schemas/v1/product/capability.schema.yaml - ID Convention:
CAP-<DOMAIN>-<NUMBER>(e.g.,CAP-PROD-001,CAP-AUTH-002) - Location:
eidos/domains/<domain-name>/capabilities/<name>.adoc - Required Properties:
type,id,title,domain,status,technical - Intent: The core building block of functionality. Bridges human personas and policies with technical containers, components, contracts, and test-bound invariants (
INV-*).
---
type: product/capability
id: CAP-PROD-001
title: "Living Baseline Specification Engine"
domain: DOM-SPEC-ENGINE
status: active # draft | planned | active | deprecated | retired
version: "1.5.0"
business:
personas:
- eidos/personas/product-lead.adoc
policies:
- eidos/policies/POL-001-git-as-single-source-of-truth.adoc
technical:
containers:
- "CNT-EIDOS-CORE"
components:
- "CMP-SPEC-PARSER"
- "CMP-SPEC-VALIDATOR"
contracts:
- "CTR-EIDOS-CLI"
invariants:
- id: INV-SPEC-VALIDATION
rule: "Every .adoc file with YAML frontmatter must validate against schema."
test_binding: "tests/test_validator.py::test_validate_eidos_specifications"
---
product/policy¶
- Schema:
schemas/v1/product/policy.schema.yaml - ID Convention:
POL-<NUMBER>-<NAME>(e.g.,POL-001-GIT-SOURCE-OF-TRUTH) - Location:
eidos/policies/POL-*.adoc - Required Properties:
type,id,title,category,severity,invariants - Intent: Declarative system-wide governance laws (governance, architectural, security, compliance, testing) enforced via test-bound invariants (
INV-*).
---
type: product/policy
id: POL-002-INVARIANT-TEST-ENFORCEMENT
title: "Mandatory Invariant Test Binding"
status: active # draft | planned | active | deprecated | retired
category: testing # governance | architectural | security | compliance | testing
severity: blocking # blocking | warning | advisory
invariants:
- id: INV-POL-002
rule: "Every active invariant (INV-*) MUST declare a test_binding that resolves to an existing test function."
test_binding: "tests/test_validator.py::test_validate_eidos_specifications"
---
product/persona¶
- Schema:
schemas/v1/product/persona.schema.yaml - ID Convention:
PER-<NAME>(e.g.,PER-PRODUCT-LEAD,PER-AUTONOMOUS-AGENT) - Location:
eidos/personas/*.adoc - Required Properties:
type,id,title,role_type - Intent: Captures the role type (
role_type) of human users and autonomous AI coding agents in frontmatter, with goals and pain points documented in the AsciiDoc prose body.
---
type: product/persona
id: PER-AUTONOMOUS-AGENT
title: "Autonomous AI Coding Agent"
status: active # draft | planned | active | deprecated | retired
role_type: autonomous_agent # end_user | admin | human_engineer | autonomous_agent
---
product/exploration¶
- Schema:
schemas/v1/product/exploration.schema.yaml - ID Convention:
EXP-<YEAR>-<NUMBER>(e.g.,EXP-2026-002) - Location:
eidos/explorations/*.adoc - Required Properties:
type,id,title,status - Intent: Formalizes technical spikes and feasibility studies. Prevents prototype code from leaking into production by recording hypotheses, exit criteria, and empirical learnings in the AsciiDoc body and a structured
decision(adopted,discarded, orpivoted, withresulting_deltaslinking to graduatedDLT-*mutations) in frontmatter.
---
type: product/exploration
id: EXP-2026-002
title: "Embedded SQLite Knowledge Graph & FTS5 Retrieval"
status: adopted # proposed | in_progress | adopted | discarded
decision:
outcome: adopted # adopted | discarded | pivoted
resulting_deltas:
- DLT-2026-011
---
2. Technical & Architecture Layer¶
tech/architecture¶
- Schema:
schemas/v1/tech/architecture.schema.yaml - ID Convention:
ARCH-<NAME>-<NUMBER>(e.g.,ARCH-EIDOS-001) - Location:
eidos/architecture/system-architecture.adoc - Required Properties:
type,id,title,c4_context - Intent: Global architectural baseline combining Arc42 (Sections 1–12) in the AsciiDoc prose body with C4 Level 1 System Context (
c4_context) and system-widedecisions:(DEC-*) in frontmatter (C4 Level 2 container topology is derived automatically fromCNT-*specs). Strictly replaces ADRs.
---
type: tech/architecture
id: ARCH-EIDOS-001
title: "Eidos Global System Architecture"
status: active
c4_context:
actors:
- "eidos/personas/product-lead.adoc"
- "eidos/personas/autonomous-agent.adoc"
external_systems:
- name: "Git Repository & CI/CD Pipeline"
role: "Local and remote Git version control and CI verification gates"
protocol: "Git CLI / Subprocess"
---
tech/container¶
- Schema:
schemas/v1/tech/container.schema.yaml - ID Convention:
CNT-<NAME>(e.g.,CNT-EIDOS-CORE,CNT-EIDOS-CLI) - Location:
eidos/architecture/containers/<name>.adoc - Required Properties:
type,id,title,container_type,runtime,source_path - Intent: C4 Level 2 Container manifest (deployable unit, library, service, or CLI). Declares inline C4 Level 3 components (
components[],#/$defs/inline_component), provided/consumed interface contracts (CTR-*), container invariants (INV-*), and embedded architectural decisions (DEC-*). Promoted standalone components (eidos/architecture/components/*.adoc) link bottom-up via their owncontainer: CNT-*property.
---
type: tech/container
id: CNT-EIDOS-CORE
title: "Eidos Core Engine"
status: active # draft | planned | active | deprecated | retired
container_type: library # service | library | cli_app | web_app | worker | daemon
runtime: "Python 3.12+"
source_path: "src/eidos/core"
domain: DOM-SPEC-ENGINE
components:
- id: CMP-SPEC-PARSER
title: "SpecParser"
responsibility: "Parses AsciiDoc files with YAML frontmatter."
source_path: "src/eidos/core/spec/parser.py"
contracts:
provides:
- "CTR-EIDOS-CLI"
consumes: []
decisions:
- id: DEC-INDEX-SQLITE-WAL
title: "Use Embedded SQLite WAL + FTS5 Instead of External Vector DB"
decision: "Store the architectural knowledge graph and lexical index in local SQLite3 with WAL mode and FTS5 BM25."
rationale: "Guarantees zero external runtime dependencies and sub-2ms local queries."
rejected_alternatives:
- option: "ChromaDB / LanceDB Vector Store"
reason_rejected: "Requires external model weights or API calls, violating POL-004."
graduated_from: EXP-2026-002
---
tech/component¶
- Schema:
schemas/v1/tech/component.schema.yaml - ID Convention:
CMP-<NAME>(e.g.,CMP-SPEC-VALIDATOR,CMP-AUTH-TOKEN-MGR) - Location: Centralized in
eidos/architecture/components/<component>.adoc(INV-COMPONENT-CENTRALIZATION-MANDATE; never placed insidesrc/) - Required Properties:
type,id,title,container,status,responsibility,source_path - Intent: Dedicated C4 Level 3 Component specification in the Centralized Hybrid C4 Architecture (promoted via
eidos spec component promote <ID>and composed from#/$defs/inline_component). Binds to its parentCNT-*container (INV-COMPONENT-CONTAINER-AFFINITY), maps to implementation files viasource_path(intra-containerCMP-*->CMP-*dependencies are derived automatically via AST import analysis), and declares component invariants (INV-*) and embedded decisions (DEC-*).
---
type: tech/component
id: CMP-SPEC-VALIDATOR
title: "Specification & Schema Validator"
container: CNT-EIDOS-CORE
status: active # draft | planned | active | deprecated | retired
source_path: "src/eidos/core/spec/validator.py"
domain: DOM-SPEC-ENGINE
responsibility: "Validates specifications against v1 JSON Schemas and enforces x-eidos-ref graph integrity."
invariants:
- id: INV-COMPONENT-CENTRALIZATION-MANDATE
rule: "Every dedicated tech/component specification MUST reside centrally within eidos/architecture/components/."
test_binding: "tests/test_colocated_components.py::test_spike_1_centralization_mandate_enforcement"
---
tech/contract¶
- Schema:
schemas/v1/tech/contract.schema.yaml - ID Convention:
CTR-<NAME>(e.g.,CTR-EIDOS-CLI,CTR-EIDOS-PORTAL) - Location:
eidos/architecture/contracts/<name>.adoc - Required Properties:
type,id,title,protocol,container,specification_file - Intent: Formal interface protocol boundary contract owned by a C4 Level 2 Container (
CNT-*,INV-INTERFACE-BOUNDARY-GOVERNANCE). Binds APIs, CLI signatures, or RPC services to concrete schemas or implementation entrypoints.
---
type: tech/contract
id: CTR-EIDOS-CLI
title: "Eidos CLI Interface Contract"
status: active # draft | planned | active | deprecated | retired
protocol: cli_args # openapi_3_1 | protobuf_grpc | graphql | asyncapi | cli_args | json_schema | http_json
container: "CNT-EIDOS-CLI"
specification_file: "src/eidos/cli/main.py"
---
3. Design System & UI/UX Layer¶
design/system¶
- Schema:
schemas/v1/design/system.schema.yaml - ID Convention:
DS-<NAME>(e.g.,DS-CORE,DS-ACME) - Location:
eidos/design/systems/<system>/system.adoc - Required Properties:
type,id,title,status,tokens - Intent: Defines brand identity, token manifest path, and multi-brand inheritance (
extends,override_mode).
---
type: design/system
id: DS-ACME
title: "Acme Enterprise Theme"
status: active # draft | planned | active | deprecated | retired
extends: "DS-CORE"
override_mode: "token_and_component" # token_only | token_and_component | full_custom
tokens:
spec_format: "w3c_design_tokens"
manifest: "tokens.json"
---
design/ui-component¶
- Schema:
schemas/v1/design/ui-component.schema.yaml - ID Convention:
UIC-<SYSTEM>-<NAME>(e.g.,UIC-CORE-BUTTON) - Location:
eidos/design/systems/<system>/components/<name>.adoc - Required Properties:
type,id,title,design_system,status - Intent: Visual UI component specification. Defines visual variants, interactive states, base component overrides (
implements), and test-bound invariants (invariants), with accessibility criteria (WCAG, ARIA) in the AsciiDoc body.
---
type: design/ui-component
id: UIC-CORE-BUTTON
title: "Action Button"
design_system: "DS-CORE"
status: active # draft | planned | active | deprecated | retired
category: inputs
variants:
- name: "primary"
description: "High-emphasis action."
invariants:
- id: INV-UIC-BUTTON-A11Y
rule: "Action Button must support keyboard activation."
test_binding: "packages/ui/src/Button.test.tsx::test_button_keyboard_activation"
---
design/screen¶
- Schema:
schemas/v1/design/screen.schema.yaml - ID Convention:
SCR-<NAME>(e.g.,SCR-CHECKOUT,SCR-PORTAL-HOME) - Location:
eidos/design/clients/<client>/screens/<name>.adoc - Required Properties:
type,id,title,route,status - Intent: Pure user-facing view/screen definition declaring URL routes, component layout slots, and state machines (
loading,empty,active,error). Referenced from outside bydesign/client.screens,design/flow.steps[].screen, andproduct/capability.experience.screens.
---
type: design/screen
id: SCR-CHECKOUT
title: "Order Checkout Screen"
route: "/checkout"
status: active # draft | planned | active | deprecated | retired
slots:
payment_form: "UIC-*-PAYMENT-FORM"
states:
- name: "loading"
description: "Skeleton placeholder."
- name: "active"
description: "Interactive payment form."
---
design/client¶
- Schema:
schemas/v1/design/client.schema.yaml - ID Convention:
CLT-<NAME>(e.g.,CLT-WEB-PORTAL,CLT-MOBILE-APP) - Location:
eidos/design/clients/<client-name>/client.adoc - Required Properties:
type,id,title,status,platform,design_system - Intent: Client application platform or tenant surface manifest. Encapsulates runtime platform (
web,mobile-ios,mobile-android,desktop,tui), binds primary design systems and themes, links to C4 containers (CNT-*), and organizes owned screens and interaction flows. Referenced from outside byproduct/capability.experience.clients.
---
type: design/client
id: CLT-WEB-PORTAL
title: "Web Living Documentation Portal"
status: active # draft | planned | active | deprecated | retired
platform: "web"
design_system: "DS-CORE"
container: "CNT-EIDOS-PORTAL"
screens:
- "eidos/design/clients/web-portal/screens/portal-home.adoc"
- "eidos/design/clients/web-portal/screens/portal-catalog.adoc"
flows:
- "eidos/design/clients/web-portal/flows/spec-exploration.adoc"
---
design/flow¶
- Schema:
schemas/v1/design/flow.schema.yaml - ID Convention:
FLOW-<NAME>(e.g.,FLOW-PORTAL-EXPLORATION,FLOW-CLI-SERVE-AND-BROWSE) - Location:
eidos/design/clients/<client>/flows/<name>.adoc(client-internal) oreidos/design/flows/<name>.adoc(cross-client omnichannel) - Required Properties:
type,id,title,status,steps - Intent: Pure multi-step user journey or interaction flow definition connecting screens and actions across client surfaces. Referenced from outside by
design/client.flowsandproduct/capability.experience.flows. Features visual Mermaid flowcharts or sequence diagrams.
---
type: design/flow
id: FLOW-PORTAL-EXPLORATION
title: "Specification Discovery & Inspection Flow"
status: active # draft | planned | active | deprecated | retired
flow_type: client_internal # client_internal | cross_client
steps:
- step: 1
title: "Access Dashboard"
screen: "eidos/design/clients/web-portal/screens/portal-home.adoc"
action: "User accesses root portal URL"
- step: 2
title: "Navigate to Master Catalog"
screen: "eidos/design/clients/web-portal/screens/portal-catalog.adoc"
action: "User clicks Quick Nav card or Living Specs Catalog in sidebar"
---
4. Evolution & Mutation Layer¶
delta/mutation¶
- Schema:
schemas/v1/delta/delta.schema.yaml - ID Convention:
DLT-<YEAR>-<NUMBER>(e.g.,DLT-2026-005) - Location:
eidos/deltas/dlt-*.adoc - Required Properties:
type,id,title,status,intent,mutations - Intent: Declarative mutation artifact for Planned Mode. Documents planned architectural changes (
intent.kind:feature,enabler, orbug), composablemutations[].operation(add | modify | remove | deprecate) paired with prefix-validatedtarget, optionalparentscope foradd/removeof child entities (omitted onmodify), and optionalexpect:post-conditions, plustombstonedeletion audit exemptions (whileaffectsandblast_radiusare derived automatically from the knowledge graph). Reconciled in-place upon completion (status: applied).
---
type: delta/mutation
id: DLT-2026-005
title: "Add Spec-to-Code Drift Detection Command"
status: applied # proposed | in_review | approved | applied | rejected
intent:
kind: feature # feature | enabler | bug
motivation: "Enable automated verification of spec-to-code synchronization in local workflows and CI."
mutations:
- operation: modify
target: "CTR-EIDOS-CLI"
details: "Add eidos drift CLI command"
expect:
body:
contains: "eidos drift"
---