Skip to main content

ADR Vault

"A tool that works for mysterious reasons is not a tool — it is a ritual. Zenzic works for documented reasons. This vault is the proof."

This page is the complete index of Architectural Decision Records (ADRs) for the Zenzic project. Each ADR documents a major technical decision: its context (why the problem existed), its decision (what was chosen), and its invariants (what must never change as a consequence).

For day-to-day contribution flow, release checks, and governance enforcement, follow the operational runbook instead:

ADRs are the immutable memory of the project. They explain not only what Zenzic does, but why. Operational behavior at commit and push time is governed by the Developer Release and Governance Protocol.


Genesis Decisions

These ADRs define the philosophical and technical foundations on which all subsequent decisions rest.

ADRTitle
ADR 001Lint the Source, Not the Build
ADR 002Zero Subprocesses Policy (Maintainer Only)

Core Architecture Decisions

These ADRs document the structural decisions for the current architecture.

ADRTitle
ADR 003Root Discovery Protocol
ADR 004Decentralized CLI Package
ADR 005Z404 Agnostic Universalism
ADR 007Sovereign Sandbox (Maintainer Only)
ADR 008Bilingual Structural Invariant
ADR 009Path Sovereignty
ADR 013The Regex Anti-Corruption Layer (ReDoS Protection)
ADR 015Native Telemetry Validation
ADR 020Parallel Audit Completeness vs. Fail-Fast

Documentation Site Decisions

These ADRs document architectural decisions specific to this documentation site (zenzic.dev) — choices about how the Docusaurus site is built, localized, and maintained.

ADRTitle
ADR 006Unified Scan Scope (Storage + Blog)

Reading Guide

Each ADR follows a consistent structure:

  • Context — the problem that existed before the decision was made. Reading

    the Context of an ADR tells you what pain the decision was eliminating.

  • Decision — the choice that was made, stated precisely and without

    ambiguity. If you ever wonder "why does Zenzic do X?", the Decision section of the relevant ADR is the answer.

  • Rationale — the engineering reasoning behind the decision. This section

    is the "why not the alternative?" — it records the rejected approaches and explains why they were insufficient.

  • Invariants — the constraints that must never be violated as a consequence

    of the decision. These are permanent. They do not expire with version increments. A PR that violates an invariant listed in an ADR is an automatic revert candidate, regardless of its other merits.

  • Consequences — the known trade-offs and capabilities that the decision

    enables or forecloses. Reading Consequences helps contributors understand the boundaries of what Zenzic can and cannot do by design.


Adding a New ADR

For the step-by-step procedure on how to propose and record a new Architectural Decision Record, see the ADR contribution guide.