Reference: 12-Factor Agents
ParameterDescriptionRequireddocs_pathPath to documentation directory (for existing analyses)Optionalcodebase_pathRoot path of the codebase to analyzeRequired
The full per-factor rubric — principle, search patterns, file patterns, compliance criteria (Strong/Partial/Weak), and anti-patterns for each of the 13 factors — lives in references/factors.md. During the Analysis Workflow, read the relevant factor sections there for the search patterns to run and the criteria to score against.
#FactorFocus1Natural Language to Tool CallsSchema-validated structured outputs from LLM2Own Your PromptsPrompts as first-class, versioned, templated code3Own Your Context WindowCustom formatting of history/state/tool results4Tools Are Structured OutputsValidated JSON triggers deterministic code5Unify Execution StateSingle state object merging execution + business state6Launch/Pause/ResumeAPIs to launch, pause anywhere, resume7Contact Humans with ToolsHuman contact as a structured tool call8Own Your Control FlowCustom routing/retries, not framework defaults9Compact Errors into ContextErrors fed back for self-healing + escalation10Small, Focused AgentsNarrow responsibility, 3-10 steps each11Trigger from AnywhereCLI/REST/WebSocket/chat/webhook entry points12Stateless ReducerPure (state, input) -> (state, output) agents13Pre-fetch ContextFetch likely-needed data upfront
See references/factors.md for the complete rubric for every factor above.
Gate order: Do not assign Strong / Partial / Weak or treat recommendations as observed facts until Hard gates (after Analysis Workflow) are satisfied for the factors in scope.
markdown
| Factor | Status | Notes |
|--------|--------|-------|
| 1. Natural Language -> Tool Calls | **Strong/Partial/Weak** | [Key finding] |
| 2. Own Your Prompts | **Strong/Partial/Weak** | [Key finding] |
| ... | ... | ... |
| 13. Pre-fetch Context | **Strong/Partial/Weak** | [Key finding] |
**Overall**: X Strong, Y Partial, Z Weak
For each factor, provide:
Run these in order. Do not skip ahead: each Pass is an objective condition you can check (paths on disk, citations present), not internal certainty.
codebase_path, or an explicit no evidence located statement after targeted reads. If evidence is missing after search, default that factor to Weak unless the criterion is clearly N/A (say why).ScoreMeaningActionStrongFully implements principleMaintain, minor optimizationsPartialSome implementation, significant gapsPlanned improvementsWeakMinimal or no implementationHigh priority for roadmap