Files
timmy-config/docs/CANONICAL_INDEX_MATRIX.md
Ezra 94c7da253e docs: canonical Matrix index + #187 decision framework
- Adds docs/CANONICAL_INDEX_MATRIX.md declaring infra/matrix/ authoritative
- Adds docs/DECISION_FRAMEWORK_187.md with Option A recommendation
- Maps all legacy/duplicate paths to prevent scatter
- Ezra burn mode artifact for #166 / #183 / #187 continuity
2026-04-05 17:12:11 +00:00

5.0 KiB

Canonical Index: Matrix/Conduit Deployment Artifacts

Issues: #166 (Execution Epic) | #183 (Scaffold — Closed) | #187 (Decision Blocker)
Created: 2026-04-05 by Ezra (burn mode)
Purpose: Single source of truth mapping every Matrix/Conduit artifact in timmy-config. Stops scatter, eliminates "which file is real?" ambiguity.


Status at a Glance

Milestone State Evidence
Deployment scaffold Complete infra/matrix/ (15 files)
Operator runbook Complete docs/matrix-fleet-comms/
Host readiness script Complete infra/matrix/host-readiness-check.sh
Target host selected ⚠️ BLOCKED Pending #187
Live deployment ⚠️ BLOCKED Waiting on host + domain + proxy decision

Authoritative Paths (Read/Edit These)

1. Deployment Scaffold — infra/matrix/

This is the primary executable scaffold. If you are deploying Conduit, start here and nowhere else.

File Purpose Lines/Size
README.md Entry point, quick-start, architecture diagram 3,275 bytes
prerequisites.md 6 concrete blocking items pre-deployment 2,690 bytes
docker-compose.yml Conduit + Postgres + optional Element Web 1,427 bytes
conduit.toml Base Conduit configuration template 1,498 bytes
.env.example Environment secrets template 1,861 bytes
deploy-matrix.sh One-command deployment orchestrator 3,388 bytes
host-readiness-check.sh Pre-flight validation script 3,321 bytes
caddy/Caddyfile Reverse-proxy rules for Caddy users 1,612 bytes
conduit/conduit.toml Advanced Conduit config (federation-ready) 2,280 bytes
conduit/docker-compose.yml Extended compose with replication 1,469 bytes
scripts/deploy-conduit.sh Low-level Conduit installer 5,488 bytes
docs/RUNBOOK.md Day-2 operations (backup, upgrade, health) 3,412 bytes

Command for next deployer:

cd infra/matrix
./host-readiness-check.sh   # 1. verify target
# Edit conduit.toml + .env
./deploy-matrix.sh          # 2. deploy

2. Operator Runbook — docs/matrix-fleet-comms/

Human-facing narrative for Alexander and operators.

File Purpose Size
README.md Fleet communications authority map + onboarding 7,845 bytes
DEPLOYMENT_RUNBOOK.md Step-by-step operator playbook 4,484 bytes

Legacy / Duplicate Paths (Do Not Edit — Reference Only)

The following directories contain overlapping or superseded material. They exist for historical continuity but are not the current source of truth. If you edit these, you create divergence.

Path Status Note
deploy/matrix/ 🔴 Superseded by infra/matrix/ Smaller subset; lacks host-readiness check
deploy/conduit/ 🔴 Superseded by infra/matrix/scripts/ install.sh + health.sh — good ideas ported into infra/matrix/
matrix/ 🔴 Superseded by infra/matrix/ Early docker-compose experiment
docs/matrix-conduit/DEPLOYMENT.md 🔴 Superseded by docs/matrix-fleet-comms/DEPLOYMENT_RUNBOOK.md
docs/matrix-deployment.md 🔴 Superseded by infra/matrix/prerequisites.md + runbook
scaffold/matrix-conduit/ 🔴 Superseded by infra/matrix/ Bootstrap + nginx configs; nginx approach not chosen

House Rule: New Matrix work must branch from infra/matrix/ or docs/matrix-fleet-comms/. If a legacy file needs resurrection, migrate it into the authoritative tree and delete the old reference.


Decision Blocker: #187

#166 cannot proceed until #187 is resolved.

Ezra has produced a dedicated decision framework to make this a 5-minute choice rather than an architectural debate:

📄 See: docs/DECISION_FRAMEWORK_187.md

The framework recommends:

  • Host: Timmy-Home bare metal (primary) or existing VPS
  • Domain: matrix.timmytime.net (or sub-domain of existing fleet domain)
  • Proxy: Caddy (simplest) or extend existing Traefik
  • TLS: Let's Encrypt ACME HTTP-01 (port 80/443 open)

Next Agent Checklist

If you are picking up #166:

  1. Read infra/matrix/README.md
  2. Read docs/DECISION_FRAMEWORK_187.md
  3. Confirm resolution of #187 (host/domain/proxy chosen)
  4. Run infra/matrix/host-readiness-check.sh on target host
  5. Cut a feature branch; edit infra/matrix/conduit.toml and .env
  6. Execute infra/matrix/deploy-matrix.sh
  7. Verify federation with Matrix.org test server
  8. Create operator room; invite Alexander
  9. Post SITREP on #166 with proof-of-deployment

Changelog

Date Change Author
2026-04-05 Canonical index created; authoritative paths declared Ezra