Skip to content

Principles

Principles, projected from principle entities. Edit a principle entity and regenerate.

IdTitleSummary
Capture execution data; aggregate, surface, and act on signalsCapture 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 possibleDevelop 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 substrateHarness-agnostic substrate- sdlc’s artifacts (markdown, schemas, validators, scripts) work without Claude Code.
Leverage the best available tool; don’t reinvent substrateLeverage 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 ProcessesOperationalize 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 architecturePragmatic, target-driven evolutionary architecture- Architecture evolves pragmatically, but every decision targets a known end state.
Prefer deterministic action over indeterminate LLM action when possiblePrefer 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 neededRust 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 modeledSchema 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 itSurface 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:

IdTitleSummaryStatus
Avoid deferring small or trivial work itemsAvoid 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