CLI Commands

anchor decide

Notarizing architectural intent alongside local Git diffs.

Use anchor decide whenever a commit or PR represents a non-obvious decision that a future engineer, reviewer, or CISO auditor would ask "Why did we do this?" about.

💡 Decision Matrix: When to Notarize

🟢 DO NOTARIZE:
  • Architectural Trade-offs (e.g., Choosing Redis over Postgres for session storage)
  • AI Steering & Overrides (e.g., Overriding LLM-generated ORM query with raw SQL for 10x speed)
  • Security & Compliance (e.g., Implementing custom HMAC webhook signatures, argon2id hashing)
  • Breaking Schema Migrations (e.g., Deprecating user_id in favor of organization_id index)
🔴 DO NOT NOTARIZE (SKIP):
  • Typo and formatting fixes (e.g., Fix navbar spacing, bump tailwind version)
  • Minor UI/CSS tweaks (e.g., Change button padding from 4 to 6)
  • Routine dependency updates (e.g., npm audit fix)

💻 Terminal Output

Example 1: Logging Architectural Trade-OffTerminal
$anchor decide "Switched session store to Redis cluster for multi-region scale."
⚓ Decision Notarized!
   ├─ Rationale:  "Switched session store to Redis..."
   ├─ Git Commit: a9c4e23 (main) | +64 / -28 LOC
   └─ HMAC Sign:  f7d3a8b2... [Workstation Hardware Verified]
Example 2: Logging AI Override / Security PatchTerminal
$anchor decide "Overrode generated LLM auth middleware due to missing CSRF token check."
⚓ Decision Notarized!
   ├─ Rationale:  "Overrode generated LLM auth middleware..."
   ├─ Category:   AI Override / Security Control
   └─ HMAC Sign:  e3b0c442... [Workstation Hardware Verified]