Paul O'Reilly bd3a99e2ad docs(airouter): correct failure-path picture + F70 vs local divergence
The previous "Dogfood Failure Path: Branch + Logs Lost" section was wrong
on two counts (verified by M16 Wave B3, 2026-05-08):

1. The agent's branch IS pushed on F70-failure (dispatcher logs "branch
   will still push (partial work preserved)"). The earlier "no branch"
   claim was a fetch-refspec mistake — both B2 and B3 have task-<id>
   branches on the agents fork.

2. The CP task record's logs ARE populated (~50 KB on B3). What's actually
   missing is the pytest stdout/stderr from the F70 invocation — only the
   high-level "Tests failed" line is logged.

Section retitled "What's Visible, What Isn't" with the corrected picture.
Operator pattern updated: fetch the task branch, apply the diff locally,
run the test — if local passes, cherry-pick to main.

New section "F70 Pytest Can Disagree with Local Pytest" captures the B3
finding: airouter's 15-line MN-14 validator passed 5/5 locally but F70
reported failure twice. Possible causes listed; workaround is
--max-test-iterations 1 + local apply-and-run after failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 20:27:41 +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%