Shared task-lifecycle skeleton for domain agents, generated agents, red-team harnesses, and coding agents. Standardizes the lifecycle (runAgentTask, runAgentTaskStream); delegates domain behavior to adapters.
Imports @tangle-network/agent-eval for the control loop, knowledge readiness scoring, and run-record types. Does not own domain policy, models, tools, connectors, or UI.
Do not add Co-Authored-By: trailers (or any other AI-attribution lines) to commits, PR descriptions, or other artifacts in this repo. Author = the human running the session. Applies to every contributor, including AI agents and subagents — do not include the default Claude Code template trailer.
Comments describe what the code does and why — never what it used to do, what it replaced, which audit found a bug, or what the prior version looked like. History belongs in commit messages and PR descriptions, not the source tree.
- Bad:
// replaces the inline retry loop,// fix for the silent-zero bug,// the 2yr rewrite added this,// audit fix - Good:
// value: null when retries exhaust — callers must inspect succeeded
Applies to docstrings, README sections, SKILL.md, AGENTS.md, CLAUDE.md — anywhere the source tree carries prose.
Sloppy fallbacks corrupt every signal downstream. No silent zeros, no ?? default on required fields, no try/catch { return null } that erases diagnostic info, no legacy back-compat mode defaulted on for new code.
External-boundary calls (LLM, network, FS, subprocess) return typed outcomes ({ succeeded, value, error }). Callers MUST inspect succeeded before using value. Named, opted-in fallback rotations (policy.fallbackModels: [...]) are fine; deep ?? "kimi" helpers are not.
Full doctrine: ~/dotfiles/claude/AGENTS.md → "No fallbacks. Fail loud."