Paul O'Reilly 52cd0a3cb6 docs(airouter): 2026-05-08 dogfood batch + test design rules
Three additions to agent-repos.md based on the post-A1-incident dogfood
batch (8 successes + 1 operator-induced "failure"):

1. Airouter Qwen3.6 section: pattern reconfirmed across M16 Wave A1/A2/B1
   and M25 Waves A1-A5 + B1-B2. Time-to-success bands recorded for cost
   calibration (1m30s for git rm; ~5 min for Pydantic regex; ~12 min for
   class addition). Default --max-test-iterations 1 for cheap probes.

2. New section: Test Design for AI Agent Dogfood Pipelines. Triggered by
   the M16 Wave B2 (MN-4 prompt cap) failure — a 14-minute airouter run
   blamed on the agent that was actually an over-strict test asserting on
   sanitised 422 body content. CP's RequestValidationError handler strips
   Pydantic detail for security; tests asserting body content for that
   path are structurally impossible. Rules: verify test passes against a
   reference impl before pushing; status-code-only ceiling for validator-
   driven 422s; model on previous successes not stricter variants; F70
   retries don't recover structurally impossible tests.

3. New section: Dogfood Failure Path: Branch + Logs Lost. When all F70
   retries exhaust, the agent's last attempt is not pushed to the agents
   fork, the CP task record's logs field is empty, and the pod is gone.
   Operator must reproduce locally — until F70 finalize-on-failure pushes
   the failed branch.

BESTPRACTICES.md index updated to reflect the new sub-topics.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 19:50:45 +12:00

best-practices

Cross-project best practices extracted from real project work via the /distill-best-practices skill.

How It Works

The knowledge distillation pipeline in claude-foundations processes session logs and memory files from all tracked projects, extracting generalisable practices into topic files here.

Pipeline

  1. /log — Captures session decisions and gotchas into per-project memory/log/
  2. /reflect-logs — Processes logs into structured topic memory files
  3. /distill-best-practices — Reads memory files across projects, proposes updates to this repo

For Humans

Browse BESTPRACTICES.md for the full index. Each topic file is self-contained.

For Agents

Container agents get this repo cloned to /best-practices. Read BESTPRACTICES.md for the index, then read only the topic files relevant to your task.

Topics

File Description
ansible.md Inventory, templates, idempotency, credential safety
database-selection.md SQLite vs PostgreSQL decision criteria
debugging.md Systematic diagnosis, full-chain testing, common pitfalls
docker.md gosu PID 1, GIT_SSH_COMMAND scope, slim image patterns
docker-uid-matching.md UID wrapper entrypoint, gosu pattern
documentation.md CLAUDE.md, MEMORY.md, FUTURE.md, README.md structure
git-source-control.md Commit practices, GitOps workflows, remote conventions
helm.md Schema validation, version verification, values structure
kubernetes.md Volume mounts, deployment strategies, naming, bootstrap ordering
linting.md Tool choices per language, PostToolUse hook, pre-commit
milestones.md Milestone workflow, verification, reflection process
networking.md nftables, systemd sockets, Docker forwarding, TLS
octopus-process-templates.md OCL syntax, step templates, Platform Hub patterns
scripting.md Shell conventions, verification scripts, idempotency
secrets-management.md SOPS + age, credential handling, encryption gotchas
security-architecture.md Server boundary rule, proxy patterns, defense in depth
skills-development.md Skill authoring, context injection, tool restrictions
spec-driven-development.md Spec structure, requirement numbering, test-first workflow
test-driven-development.md Edge case discovery, property-based testing, AI agent patterns
validation.md Validate locally, deploy once; full-chain testing

Source Control

  • Gitea: skynet/best-practices
  • Remote: git@gitea.oreillyit.nz-ai-enablement:skynet/best-practices.git
Description
Cross-project best practices extracted from real project work
Readme 251 KiB
Languages
Markdown 100%