↑ subaud · one binary · MIT

Waste

Ten classes of waste, eleven recipes.

The waste catalog is in the published standard (muda standard). Each recipe is a known fix for one or more classes. The eleven recipes cover the fixes for GitHub Actions, CDK, Docker, Python, Node and Go (muda recipes).

waste classes

Ten classes of waste.

ClassWasteWhat it looks likeRecipes
W1No-op not a no-opAn unchanged deploy still updates stacks or builds images.R2 R3 R4
W2Unpinned toolchainFloating versions let the same tree produce different outputs.R1
W3Emulated buildsImages build under CPU emulation instead of natively.R6
W4Uncached workUnchanged installs or layers are rebuilt, including a cache that never warms.R6 R11
W5Serial where it could be parallelIndependent work runs one at a time, or the same computation runs twice.R5
W6Re-verificationThe same checks run more than once on the same tested tree.R10
W7Chain stallsAutomated hand-offs fail or stall with no visible outcome.R7
W8Silent runner-plane failureJobs queue because the runners cannot take work, and nothing alerts.R8
W9Rebuilt artifactIdentical inputs are built again in a later stage.R6
W10Ignored advance noticeCI warnings about platform or toolchain changes go unread.R9

recipes

Eleven recipes.

Each recipe gives the symptom, how to detect it in real logs, the fix, its traps and how to verify it, with detail for each stack it covers.

RecipeFixWaste
R1Pin the toolchain through version filesW2
R2Turn off framework version reportingW1
R3Keep rotating secrets out of image asset hashesW1
R4Isolate images that share a build contextW1
R5Find the duplicate before parallelizing testsW5
R6Build once, outside deploy; promote by digestW3 W4 W9
R7Automated hand-offs never stall silentlyW7
R8Keep runners current and make a refused plane loudW8
R9Read and act on advance noticesW10
R10Reuse proven checks without dropping deploy-specific gatesW6
R11A cache that never warmsW4

ask your agent

Ask your agent about the standard.

The standard and the recipes ship inside muda, so your agent reads the version you run. Ask in plain words; each example shows the kind of answer you get back.

One waste class

› What does muda's waste class W4 mean, and how would we detect it here?
W4 is uncached work: unchanged dependency installs or layers are
recomputed. To detect it, muda repeats identical inputs and checks the
real hit or miss evidence for each asset and layer. A common cause is a
rotating build argument, which invalidates every layer after it.

One recipe, for your stack

› Show me muda's recipe for a cache that never warms, for a Go repo.
R11, a cache that never warms. Symptom: a setup or build step stays slow
on every run although its dependency cache reports a hit. For Go,
setup-go's cache is on by default, so a light job with no cache input
can still save the shared key first. The fix: only the job that builds
the full dependency set saves it; turn the cache off in the others.

What applies to this repository

› Which muda recipes apply to this repository's stacks?
This repository is Go on GitHub Actions. Four recipes have Go detail:
R1 pin the toolchain through version files, R5 find the duplicate
before parallelizing tests, R6 build once and promote by digest, and
R11 a cache that never warms.