Field guide 01 Software that survives contact with reality

12 has become 22.

Ten durable ideas from the original twelve. Twelve missing principles for security, reliability, delivery, data, correctness, and sustainability. One opinionated field guide for software people can actually operate.

Revision2026.3
12 original2 retired+12 missing
Comparative edition · open source

This is not a vendor checklist. It is a set of architectural pressures: make the right thing easy, make unsafe states hard to reach, and leave enough evidence for the next person to understand what happened.

A respectful edit,
not a ceremonial sequel.

Keep / 10

Philosophy: Preserve what still compounds

Codebase discipline, explicit dependencies, external config, attached services, immutable releases, stateless execution, horizontal scale, disposability, parity, and one-off administration remain excellent constraints. We kept them—and made every page more testable.

Retire / 02

Philosophy: Promote intent over mechanism

Port binding was a useful 2011 deployment contract, but not every modern workload listens on a port. Logs-as-streams was a useful platform rule, but logs are only one observability signal. Their intent now lives in contract-first interfaces and observability with SLOs.

Read the retirement notes
Add / 12

Philosophy: Cover the production blind spots

Hoffman’s Fifteen-Factor App identified interface-first design, telemetry, and identity. Reactive, SRE, Chaos, DORA, secure-by-design, GitOps, privacy, Local-first, FinOps, and sustainable-software work expose the remaining gaps. The new twelve compress those lessons into testable rules.

Follow the research trail

Twenty-two pressures.
No maturity theater.

Each factor starts with one imperative commandment and one boundary that prevents a common over-reading. The article then explains the constraint, names failure modes, and ends with a litmus test. Adopt the pressures as a system; adapt their implementation to context.

11—22

The missing twelve

Modern obligations the original methodology did not name.

XIArchitecture

Contract-First Interfaces

Commandment

Specify consumer-visible behavior before implementation, then evolve contracts with consumers.

XIISecurity

Secure by Design

Commandment

Design the safe path as the default; verify identity, privilege, inputs, abuse cases, and failure behavior.

XIIIReliability

Observability & SLOs

Commandment

Define user-visible objectives, instrument causality, and alert only on actionable risk.

XIVSecurity

Supply Chain Integrity

Commandment

Admit only artifacts traceable to reviewed source, declared inputs, and verifiable builds.

XVReliability

Resilience & Fault Containment

Commandment

Assume components fail; bound time, retries, queues, load, and blast radius, then prove recovery.

XVITrust

Data Lifecycle & Privacy

Commandment

Collect only justified data; preserve user agency; govern every copy through verifiable deletion.

XVIIOperations

Infrastructure & Policy as Code

Commandment

Express infrastructure and policy as reviewed desired state, then reconcile drift within explicit safety bounds.

XVIIIDelivery

Progressive Delivery

Commandment

Separate deployment from exposure; expand change only while evidence and abort controls hold.

XIXArchitecture

Evolutionary Compatibility

Commandment

Change additively; let old and new versions coexist until migration and rollback are proved.

XXCorrectness

Formal Methods & Functional Core

Commandment

Model critical state transitions explicitly; implement a functional core with pure transformations, immutable values, typed errors, and exhaustive cases.

XXICorrectness

Safe Languages & Total Types

Commandment

Prefer memory-safe languages and total types; make absence, failure, and invalid states explicit, and isolate every unsafe boundary.

XXIIEfficiency

Sustainable Operation

Commandment

Deliver useful work with less energy, carbon, water, and hardware—without exporting harm.

Find evidence.
Keep the judgment.

The Rust auditor inspects a repository or GitHub organization for factor-scoped evidence, then creates a versioned assessment for the decisions automation cannot make. It never compresses architectural risk into a flattering score.

  1. 01Discover

    Locate reviewable evidence without claiming that a filename proves compliance.

  2. 02Assess

    Record status, rationale, evidence, owner, review date, and follow-up per factor.

  3. 03Revisit

    Pin the edition and source release so the decision remains reproducible.

Compared, challenged,
then compressed.

Open the comparison

A methodology should be
a conversation, not scripture.

The original twelve became useful because teams argued with them in public. This project is MIT-licensed and intentionally opinionated. Bring evidence.