ADR-001: Multi-repo over monorepo (for now)
- Decision: Use multiple repositories for services instead of a monorepo
- Date: TBD
- Status: Accepted
- Context: Services are deployed independently (Pages/Workers) with distinct runtimes
- Consequences: Service docs and platform standards must stay aligned across repos
ADR-002: Cloudflare Access for admin protection
- Decision: Protect admin UIs and admin APIs at the edge with Cloudflare Access
- Date: TBD
- Status: Accepted
- Context: Services rely on public edge routing with admin routes that should not be public
- Decision Details: Use Cloudflare Zero Trust Access for
*/admin* and */api/admin*
- Consequences: Admin routes require Access configuration; code-level auth may still be added for defense-in-depth
ADR-003: Token-gated calendar feeds
- Decision: Programs calendar access is token-gated with email verification
- Date: TBD
- Status: Accepted
- Context: Calendar feeds are private but need to work in external calendar apps
- Decision Details: Use magic-link verification and tokenized ICS URLs; store token hashes at rest
- Consequences: Token lifecycle management is required (TTL, revocation, rotation)
ADR-004: Canonical docs in Obsidian; repo docs mirrored
- Decision: Obsidian vault is canonical; repo docs mirror it
- Date: TBD
- Status: Accepted
- Context: Platform governance needs a single source of truth for system docs
- Decision Details: Maintain system docs in this vault; update repo docs as mirrors
- Consequences: Requires periodic sync of repo docs to avoid drift
ADR-005: Document Pub Scheduler automation in IHNYC-Remote
- Decision: Capture Pub Scheduler n8n workflows in the Obsidian vault as a first-class service doc
- Date: 2026-01-12
- Status: Accepted
- Context: Pub scheduling relies on three n8n workflows that touch Notion, Formbricks, and email
- Decision Details: Maintain a single doc covering triggers, data sources, business rules, and troubleshooting
- Consequences: Updates required when Notion schemas, Formbricks survey ids, or n8n node logic changes
📝 Documentation Principles
- Docs live in IHNYC-Remote and are the canonical source
- Service docs are per-repo summaries under services
- Platform docs explain shared patterns (Cloudflare, Notion, n8n, tokens, analytics)
- Diagrams must follow the global Mermaid style guide used in this vault