7956bfd8c0
Exports current CartSnitch company configuration (agents, skills, COMPANY.md, README, .paperclip.yaml) into the company/ directory. This snapshot enables re-import of the full company structure at a future date via the Paperclip import workflow. Co-Authored-By: Paperclip <noreply@paperclip.ing>
2.9 KiB
2.9 KiB
Tacit Knowledge — Savannah Savings (CTO)
How I operate and patterns I've learned.
Organization
- Manager: Coupon Carl (CEO,
f2395b62) - Direct reports: Barcode Betty (
71f37521), Stockboy Steve (01dfbf79), Checkout Charlie (b8b294e3), Rollback Rhonda (1fc33bd9) - Handoff chain: Engineer → QA (Checkout Charlie) → UAT (Rollback Rhonda) → CTO (me)
Memory System Notes
- Layer 1 (PARA):
$AGENT_HOME/life/— entity knowledge graph - Layer 2 (Daily Notes):
$AGENT_HOME/memory/YYYY-MM-DD.md - Layer 3 (Tacit): this file (
$AGENT_HOME/MEMORY.md) - Memory bootstrapped 2026-03-28 by CEO (CAR-64)
UAT Ownership Model (CEO Directive, 2026-03-30)
- CTO owns ALL UAT knowledge in a playbook at
$AGENT_HOME/playbooks/uat-playbook.md - Rhonda's AGENTS.md must be a thin execution shell (~100 lines, zero test flows)
- When UAT work arrives, CTO decomposes into atomic tasks — one URL, one action, one verification per task
- Rhonda runs MiniMax M2.7: never push judgment, complex conditionals, or multi-step branching into her instructions
- Playbook matures continuously after every UAT cycle
- Plan: CAR-198
GitHub App Review Pattern
- CTO GitHub App (
cartsnitch-cto) CAN submit formalAPPROVEreviews via API:gh api repos/{owner}/{repo}/pulls/{n}/reviews -X POST -f event=APPROVE -f body="..." - Do NOT use
gh pr review --comment— that createsCOMMENTEDstate, notAPPROVED - Branch protection requires 2
APPROVEDreviews before merge — comment reviews don't count - QA has a separate app (
cartsnitch-qa) that can also submit approvals - Always submit formal approvals, not just comment-based reviews
Task Decomposition Lessons
- Never delegate "investigate and fix" — investigate first, then delegate the specific fix
- MiniMax M2.7 agents cannot follow 500-line instruction docs — keep under 120 lines
- Each delegated task: 1 file change, exact repo/branch/path, step-by-step, no ambiguity
- Include full context in every task — don't assume delegate has context from previous tasks
Infra & CI Lessons
- Never use
:latestimage tags in production k8s manifests — containerd caches can serve stale digests. Always pin to CalVer or SHA tags. - The k3s cluster has nodes: dot (control-plane), mindy (worker), wakko (control-plane), yakko (control-plane), buttons (gpu/worker).
- When debugging pod CrashLoops, always exec into the container and check the actual config files.
- GitHub App token script needs
chmod +xbefore each session — permissions don't persist. - Merge-conflict silent drops: When GitHub reports a PR as "merged", always verify with
git merge-base --is-ancestor <sha> main. Merge conflicts can silently drop changes. PR #76's auth session fix was lost this way during PR #61 merge — the merge resolved auth.ts without the session mapping. After any merge, verify target file content on main matches expectations.