ADR-0005: Inherit from Cortex patterns (R1-R19)

Status: Accepted Date: 2026-04-23 Deciders: Jacob

Context

Cortex's docs/future-plans/texting-bot-groups/ directory contains ~100 numbered requirements (R1-R19) developed over the past month, covering per-chat workspace isolation, attention gating, sharing bridge, phone-OTP identity, and so on. They are the most thought-through design for this problem anywhere Jacob has access to.

The options are:

  1. Re-derive from scratch. Rejected: wastes weeks re-litigating decisions Cortex already made.
  2. Copy-paste R1-R19 into picortex docs verbatim. Rejected: stale-on-day-one; no attribution; muddles diff-with-Cortex reviews.
  3. Inherit by reference. Mark each Cortex requirement as one of: adopt, adapt, reject, defer. Document divergences in an inheritance map.

Decision

Inherit by reference. Maintain docs/wiki/cortex-inheritance.md as a living map. Every Cortex requirement gets one of four labels:

  • adopt — use as-is; cite Cortex doc path.
  • adapt — use the idea, change implementation (e.g. Linux users instead of Docker).
  • reject — does not apply to picortex (e.g. enterprise billing flow).
  • defer — applies but post-v0.1.

When Cortex updates a requirement, the inheritance map gets re-reviewed at quarterly diff checkpoints (see ADR-0001 "Mitigations").

Consequences

Positive

  • Zero re-derivation cost.
  • Clear audit trail for why each decision was made: "we adopted R4.3" or "we adapted R2.1 from Docker to Linux users (see ADR-0002)."
  • Cortex's language (e.g. WorkspaceAccessResolver, BridgeEvent) can be reused — agents writing code for picortex recognize it.
  • Forces explicit decision on every requirement — no silent drift.

Negative

  • Requires reading Cortex's plan-jacob-unified.md + requirements.md in full to build the map.
  • If Cortex's R-numbers ever reshuffle, the map breaks. Needs timestamped snapshot column.
  • Divergences have to be maintained in two places (ADR + inheritance map) — unavoidable but notable.

Mitigations

  • Inheritance map pins Cortex git SHA on adoption (e.g. "as of e55f129, 2026-04-23").
  • Every 3 months, re-diff against latest Cortex and update.
  • Cortex inheritance map — the actual mapping
  • ADR-0001 — why standalone not fork
  • Cortex source: IdeaFlowCo/cortex @ ~/code/cortex/docs/future-plans/texting-bot-groups/
[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?