{
  "$schema": "https://www.leopoldgarcia.com/architecture.schema.json",
  "version": 1,
  "state": "foundation",
  "asOf": "2026-08-12",
  "direction": {
    "directedBy": "Abhirup",
    "executedBy": "Leopold Garcia",
    "statement": "The architecture and goal were directed by Abhirup. Leopold is responsible for execution, verification, and truthful public reporting."
  },
  "runtimePolicy": {
    "model": "grok-4.5",
    "provider": "xai-oauth",
    "authentication": "OAuth",
    "openRouterAllowed": false
  },
  "orchestrator": {
    "name": "Leopold",
    "role": "Executive orchestrator",
    "rule": "No issue, no build. No independent validation, no deployment."
  },
  "agents": [
    {
      "id": "atlas",
      "name": "Atlas",
      "role": "Setup",
      "remit": "Creates each public project, establishes its privacy boundary, and installs repository and release controls.",
      "trigger": "Once, at project inception",
      "minimumSpawns": 2,
      "status": "operating",
      "may": [
        "create a public repository",
        "install CI and ownership controls"
      ],
      "mayNot": [
        "publish credentials",
        "weaken the privacy boundary"
      ]
    },
    {
      "id": "compass",
      "name": "Compass",
      "role": "Goal",
      "remit": "Turns a broad goal into evidence-backed hypotheses, ranked GitHub issues, and explicit validation criteria.",
      "trigger": "At inception and when the ready queue runs dry",
      "minimumSpawns": 3,
      "status": "operating",
      "may": [
        "research public evidence",
        "create and rank issues"
      ],
      "mayNot": [
        "write production code",
        "invent work to satisfy cadence"
      ]
    },
    {
      "id": "forge",
      "name": "Forge",
      "role": "Builder",
      "remit": "Implements one ready issue at a time on an isolated branch and opens or advances its pull request.",
      "trigger": "Every 15 minutes when a ready issue exists",
      "minimumSpawns": 2,
      "status": "operating",
      "may": [
        "edit a feature branch",
        "add tests and open a pull request"
      ],
      "mayNot": [
        "push main",
        "merge or deploy"
      ]
    },
    {
      "id": "sentinel",
      "name": "Sentinel",
      "role": "Validation",
      "remit": "Owns the acceptance gate and coordinates independent end-to-end, code, privacy, and regression review.",
      "trigger": "When Forge marks an increment ready for review",
      "minimumSpawns": 3,
      "status": "operating",
      "may": [
        "reject a build",
        "require fresh evidence"
      ],
      "mayNot": [
        "author the implementation it validates",
        "expose private evidence"
      ]
    },
    {
      "id": "argus",
      "name": "Argus",
      "role": "Code & privacy review",
      "remit": "Cold-reads the change for correctness, security, privacy, accessibility, and drift from the issue.",
      "trigger": "Inside every Sentinel review",
      "minimumSpawns": 1,
      "status": "operating",
      "may": [
        "request changes",
        "publish public-safe findings"
      ],
      "mayNot": [
        "approve its own code",
        "quote private provenance"
      ]
    },
    {
      "id": "proxy",
      "name": "Proxy",
      "role": "Personal validation",
      "remit": "Uses Leo-owned credentials when real signup, email, OAuth, or third-party account validation is necessary.",
      "trigger": "Conditionally, when acceptance criteria require a real account",
      "minimumSpawns": 1,
      "status": "designed",
      "may": [
        "use Leo-owned test identities",
        "return a redacted result envelope"
      ],
      "mayNot": [
        "publish identifiers, screenshots, tokens, or private URLs",
        "commit validation evidence"
      ]
    },
    {
      "id": "chronicle",
      "name": "Chronicle",
      "role": "Reporter",
      "remit": "Updates this public surface from public-safe project state and distinguishes architecture from operational fact.",
      "trigger": "After each material state transition",
      "minimumSpawns": 1,
      "status": "operating",
      "may": [
        "publish verified status",
        "link public issues and releases"
      ],
      "mayNot": [
        "publish private logs",
        "fabricate live telemetry"
      ]
    },
    {
      "id": "harbor",
      "name": "Harbor",
      "role": "Deploy",
      "remit": "Rechecks the approved commit, releases it, runs a production canary, and records or rolls back the result.",
      "trigger": "Only after Sentinel passes the gate",
      "minimumSpawns": 2,
      "status": "operating",
      "may": [
        "merge an approved pull request",
        "deploy and roll back"
      ],
      "mayNot": [
        "author product code",
        "release without validation"
      ]
    }
  ],
  "pipeline": [
    {
      "id": "goal",
      "name": "Goal",
      "owner": "Compass",
      "gate": "Evidence and a falsifiable hypothesis"
    },
    {
      "id": "issue",
      "name": "Issue",
      "owner": "Compass",
      "gate": "Acceptance and validation criteria"
    },
    {
      "id": "build",
      "name": "Build",
      "owner": "Forge",
      "gate": "One ready issue, one isolated branch"
    },
    {
      "id": "validate",
      "name": "Validate",
      "owner": "Sentinel",
      "gate": "Independent code, E2E, and privacy review"
    },
    {
      "id": "approve",
      "name": "Approve",
      "owner": "Sentinel",
      "gate": "Every required check passes on the same commit"
    },
    {
      "id": "deploy",
      "name": "Deploy",
      "owner": "Harbor",
      "gate": "Approved commit and reversible release path"
    },
    {
      "id": "report",
      "name": "Report",
      "owner": "Chronicle",
      "gate": "Public-safe evidence only"
    }
  ],
  "privacy": {
    "public": [
      "roles",
      "gates",
      "spawn floors",
      "public issues",
      "public pull requests",
      "release evidence"
    ],
    "private": [
      "credentials",
      "account identifiers",
      "private evidence",
      "raw logs",
      "personal validation artifacts"
    ]
  }
}
