Back to docs

Janus Stack (Architecture)

Janus is a governance kernel and layered architecture for auditable systems operating in AI-assisted environments.

This document defines the conceptual separation of layers in the Janus-Governance-Core repository.

Normative note: where this document uses MUST/SHOULD/MAY, those statements apply to repository organization and interpretation rules. Core protocol requirements live under core/.

Layer separation

Janus is structured as a set of layers with explicit responsibilities.

Core

Location: core/

Core defines:

Core does not define:

Framework

Location: framework/

Framework defines:

Framework should remain compatible with multiple runtimes.

Runtimes

Location: runtimes/

Runtimes:

Runtimes MUST NOT redefine Core meanings.

Adapters

Location: adapters/

Adapters:

Adapters MUST document any lossy mapping.

SDK

Location: sdk/

SDKs:

Knowledge spaces

The repository separates normative specifications from supporting material.

If a document outside core/ or docs/ is intended to be normative, it MUST explicitly declare its normative scope.

Semantic stability rule (glossary-first)

docs/glossary.md is the source of semantic truth for named terms used across layers.

Rules: 1) A term used in Core, Framework, Runtimes, Adapters, or SDK text MUST have a stable meaning anchored in the glossary. 2) Changing a glossary definition MUST trigger review of dependent documents. 3) When meaning conflicts are discovered, the glossary MUST be updated first, then dependent specifications updated to match.

This rule is intended to keep semantics stable while allowing implementations to evolve independently.