{
  "id": "2026-04-23-project-structure-backlog-design-6962c31d9f",
  "scope": "redkey",
  "source_of_truth": "repo",
  "source_path": "docs/specs/2026-04-23-project-structure-backlog-design.md",
  "source_kind": "markdown",
  "visibility": "internal",
  "renderer_id": "design_doc.dreamborn-forge.generated.v1",
  "design_system": "dreamborn-design-system:forge",
  "generated_at": "2026-05-09T13:00:55.664Z",
  "artifact_type": "design_doc",
  "schema_version": "design_doc.generated.v1",
  "title": "Project Structure + Backlog Design",
  "summary": "Project Structure + Backlog Design Date: 2026 04 23 Status: Approved Problem No persistent, machine readable record of what work is active or queued. At session start, Justin must reconstruct intent from conversation. Atlas has no \"what are we building\" signal beyond session summaries and memory search. Secondary: docs/ accumulated files from multiple conven...",
  "format_source": "markdown",
  "sections": [
    {
      "title": "Project Structure + Backlog Design",
      "level": 1,
      "body": "**Date:** 2026-04-23  \n**Status:** Approved\n\n---"
    },
    {
      "title": "Problem",
      "level": 2,
      "body": "No persistent, machine-readable record of what work is active or queued. At session start, Justin must reconstruct intent from conversation. Atlas has no \"what are we building\" signal beyond session summaries and memory search.\n\nSecondary: `docs/` accumulated files from multiple conventions with no clear separation between platform docs and client docs.\n\n---"
    },
    {
      "title": "Two Layers of Work",
      "level": 3,
      "body": "**RedKey (platform)** — work on the engine, agents, HCS infra, Atlas. Lives in this repo forever.\n\n**Client deployments** — projects that run *through* RedKey (CCOS2, CCOS3, future clients). Each client gets their own repo eventually. This repo holds a bootstrap stub until migration.\n\n---"
    },
    {
      "title": "Folder Structure",
      "level": 3,
      "body": "```\nredkey/\n  backlog.yaml              ← platform work items (RedKey engine, infra, Atlas)\n  ccos2/\n    backlog.yaml            ← CCOS2 work items (migrates to ccos2 repo)\n    docs/                   ← CCOS2 specs, briefs, design docs (migrates)\n    definitions/            ← agent definitions (already exists)\n  docs/                     ← platform docs only\n    execution-model.md\n    topic-map.md\n    roadmap.md\n    plans/                  ← dated implementation plans\n    specs/                  ← dated design specs\n    ideas/                  ← vision/exploration docs\n```\n\nClient migration: when CCOS2 gets its own repo, `ccos2/` lifts out wholesale. No restructuring needed.\n\n---"
    },
    {
      "title": "Backlog Schema",
      "level": 3,
      "body": "```yaml"
    },
    {
      "title": "backlog.yaml",
      "level": 1,
      "body": "items:\n  - id: slug-style-id\n    description: one line — what we're building or deciding\n    status: active        # active | queued | blocked | done\n    priority: 1           # lower = higher priority\n    notes: optional context, blockers, links\n```\n\nRules:\n- `done` items stay in the file as audit trail — Atlas filters them out at session start\n- You own the file. Atlas proposes changes mid-session; you commit.\n- One backlog per layer: `backlog.yaml` (platform), `ccos2/backlog.yaml` (CCOS2)\n\n---"
    },
    {
      "title": "Atlas Context Injection",
      "level": 3,
      "body": "`scripts/atlas-context.js` gets a new **Active Work** section injected before recent sessions. Logic:\n\n1. Read `backlog.yaml` from repo root\n2. If `ATLAS_CLIENT_ID` matches a client folder (e.g. `ccos2`), also read `ccos2/backlog.yaml`\n3. Filter out `status: done`, sort by `priority`\n4. Output as a markdown block:\n\n```"
    },
    {
      "title": "Active Work",
      "level": 2,
      "body": "**Platform**\n1. [active] quinn-step3 — Check Quinn completed marketing site step 3\n2. [queued] project-planning-design — Design phase/depends_on model for Claire + Engine\n\n**CCOS2**\n1. [active] marketing-site — redkey-marketing-site workflow in progress\n```\n\nIf no backlog file exists, section is omitted silently.\n\n---"
    },
    {
      "title": "Docs Convention",
      "level": 3,
      "body": "| Type | Location |\n|---|---|\n| Platform architecture docs | `docs/` root |\n| Design specs | `docs/specs/YYYY-MM-DD-<topic>-design.md` |\n| Implementation plans | `docs/plans/YYYY-MM-DD-<topic>.md` |\n| Ideas / exploration | `docs/ideas/` |\n| Client specs + briefs | `ccos2/docs/` (or `<client>/docs/`) |\n\n`docs/superpowers/` is removed. CLAUDE.md declares `docs/specs/` as the canonical spec location — this overrides the brainstorming skill default.\n\n---"
    },
    {
      "title": "What This Is Not",
      "level": 2,
      "body": "- Not a Supabase-backed work queue. That's Phase 3+ if needed.\n- Not agent-writable autonomously. Agents propose; humans commit.\n- Not a project management system. One flat prioritized list per layer is enough for now.\n\n---"
    },
    {
      "title": "Implementation",
      "level": 2,
      "body": "1. Create `backlog.yaml` at root with current platform items\n2. Create `ccos2/backlog.yaml` with current CCOS2 items\n3. Create `ccos2/docs/` folder\n4. Update `scripts/atlas-context.js` to inject Active Work section\n5. Update `redkey.yaml` atlas section to reference `atlas.sh` (not `run-architect.sh`)"
    }
  ],
  "html_path": "artifacts/2026-04-23-project-structure-backlog-design-6962c31d9f.html",
  "json_path": "artifacts/2026-04-23-project-structure-backlog-design-6962c31d9f.json"
}