Process as code

sop-slop

The quality system for a one-person workspace where several Claude Code sessions build, review and hand over work side by side.

What it is

A small Git repository of plain Markdown that every AI session reads before it plans, builds or tests anything. Sessions don't read all of it: a routing file points each one to the one or two slices its task needs.

Working rulesWho the work is for, how plans are written, how git is used. user-specs/
Best practicesOne slice each for planning, executing and testing. best-practices/
Procedures and machine specsStep-by-step SOPs, and specs of how this machine should be configured. sops/ mspecs/
Deviation registerEvery slip from any project, with its root cause and what changed because of it. deviations/

Process in proportion to risk

Every project gets a tier. The highest signal decides; checking takes about a minute.

T1LightT2StandardT3Full
Which projectsEarly, tiny or inactive; privatePrivate and active, or shared infrastructurePublic repo or website, personal data, someone else's repo, money
Branch and pull requestDirect commits are fineRequiredRequired
Review before merge—For rule and spec changesAlways
When something slipsFix it, say so in the commitNote on the pull requestNote plus a register entry

In every tier: no secrets in git, no personal data anywhere public, no rewriting shared history, and nothing pushed to someone else's repo without the owner's OK. Any slip that touches those gets the full treatment, whatever the tier.

When something goes wrong

A slip is data, not a failure to hide. The register exists so that the same mistake in two different projects shows up as one pattern.

  1. Note it at the moment. A structured DEVIATION: note on the pull request: what the procedure says, what happened, why, and what would prevent it.
  2. File it by tier and severity. A minor slip in a low-risk project stops at the note; a recurring or serious one gets a full record.
  3. Find the root cause. A five-why analysis, written from the artefacts, not from memory.
  4. Fix and prevent. Corrective actions for this case; a preventive action for the next one, implemented or explicitly deferred with a reason.
  5. Watch for recurrences. Records are grouped into clusters by root cause, and each cluster is checked at the next documentation review.

Adapted from a real record

ID WDEV-0NN Severity minor — caught in review before merge Tier T3 What A figure in a plan came from a local run that didn't match CI, which is what actually decides. Why ×5 stale dependencies → never reinstalled after the lockfile changed → no step prompts it → the figure was recorded from a proxy, not from the artefact that decides Fix reinstall; correct the figures; add a reminder Prevent check figures against CI before they go into a record

What actually holds

The most useful lesson so far: rules that depend on a session remembering them keep recurring, sometimes in the very session that wrote the rule down. Rules a script or a gate enforces hold. So the system keeps moving rules from prose into machinery.