Principles
Principles, projected from principle entities. Edit a principle entity and regenerate.
| Id | Title | Summary |
|---|---|---|
| Capture execution data; aggregate, surface, and act on signals | Capture execution data; aggregate, surface, and act on signals | - Every workflow captures structured execution data: what happened, what surprised, what failed, what took too long. |
| Develop SDLC in a self-hosting way wherever possible | Develop SDLC in a self-hosting way wherever possible | - sdlc is built using sdlc: its planning artifacts describe its own work; its lifecycle drives that work; its validators check what it produces. |
| Favor long-lived data formats (markdown + frontmatter) | Favor long-lived data formats (markdown + frontmatter) | - Substrate is plain text under git: markdown with YAML frontmatter. |
| Harness-agnostic substrate | Harness-agnostic substrate | - sdlc’s artifacts (markdown, schemas, validators, scripts) work without Claude Code. |
| Leverage the best available tool; don’t reinvent substrate | Leverage the best available tool; don’t reinvent substrate | - Leverage external tools and agents being built by parties with more resources; don’t build parallel implementations. |
| Operationalize Recurrent Activities Through Processes | Operationalize Recurrent Activities Through Processes | - Any [[TM-0013-reoccurring-workflow|reoccurring workflow]] becomes a defined process: captured, executable, repeatable. This principle owns the capture decision (when repetition crosses a practical threshold); maturation of the captured process is [[P-0001-prefer-deterministic-over-llm]]. |
| Pragmatic, target-driven evolutionary architecture | Pragmatic, target-driven evolutionary architecture | - Architecture evolves pragmatically, but every decision targets a known end state. |
| Prefer deterministic action over indeterminate LLM action when possible | Prefer deterministic action over indeterminate LLM action when possible | - Captured workflows mature toward deterministic expression (script, code) as their shape crystallizes; LLM orchestration is the bootstrap form, not the destination. When a [[TM-0013-reoccurring-workflow|reoccurring workflow]] earns capture at all is [[P-0002-operationalize-activity]]‘s call — this principle governs maturation from there. |
| Rust core, adapters as needed | Rust core, adapters as needed | - Build the core in Rust; add a language adapter when a consumer actually needs one, never in anticipation. |
| Schema over prose; model everything that can be modeled | Schema over prose; model everything that can be modeled | - Every entity is a schema-validated artifact, not just prose; the frontmatter contract is parsed once and consumed by tooling. |
| Surface system shape; don’t hide it | Surface system shape; don’t hide it | - The system publishes its own structure: a reader (human or agent) walking docs/ can derive what sdlc thinks it is without reading code or asking a maintainer. |
Emerging / retired:
| Id | Title | Summary | Status |
|---|---|---|---|
| Avoid deferring small or trivial work items | Avoid deferring small or trivial work items | - Self-referencing improvements ship with their migrations: when we define a new standard / principle / format / convention, the corpus is brought into compliance in the same parent unit of work. | open/draft |