Glossary
Page Maps
graph LR
family["Reproducible Research"]
program["Deep Dive Make"]
section["Portability Hermeticity Failure Modes"]
page["Glossary"]
capstone["Capstone evidence"]
family --> program --> section --> page
page -.applies in.-> capstone
flowchart LR
orient["Orient on the page map"] --> read["Read the main claim and examples"]
read --> inspect["Inspect the related code, proof, or capstone surface"]
inspect --> verify["Run or review the verification path"]
verify --> apply["Apply the idea back to the module and capstone"]
Use this reference when words such as "portable," "hermetic," "parallel," or "slow" hide
several different claims.
Support contract
flowchart LR
policy["Maintainer support policy"]
discovery["Runtime capability discovery"]
gate["Acceptance or rejection gate"]
identity["Semantic tool identity"]
artifact["Artifact invalidation when identity changes"]
policy --> gate
discovery --> gate
gate --> identity --> artifact
Term
Meaning
portability contract
Declared Make behavior, shell semantics, tools, platforms, and fallback promises supported by the project.
supported release
A runtime version maintainers test and promise to handle; not synonymous with one advertised feature.
capability
Exact behavior required by the build, such as grouped-target semantics.
feature token
Runtime capability name reported through GNU Make's .FEATURES.
feature gate
Early rejection or selection based on required advertised behavior.
behavioral probe
Bounded test of exact required behavior when no direct feature token exists.
contract check
Enforcing target that rejects an unavailable or incompatible requirement before publication.
doctor target
Advisory target that reports observed context without deciding that the context is supported.
executable identity
One tool name or path, kept separate from its argument variables.
presence
Proof that an executable resolves; weaker than compatibility.
compatibility
Proof that the resolved tool implements the behavior accepted by the artifact recipe.
fallback
Alternate implementation that must preserve the stated output and failure contract.
unsupported environment
Context outside the promised contract, rejected with an actionable boundary message.
shell contract
Declared SHELL, .SHELLFLAGS, syntax, quoting, and failure behavior assumed by recipes.
Recursive Make and jobserver
Term
Meaning
recursive Make boundary
Parent recipe that deliberately enters a child Make graph.
declared recursion
+$(MAKE) or an equivalent recognized wrapper contract.
jobserver
GNU Make's shared token protocol for bounding parallel recipes across recursive processes.
jobserver transport
Pipe, FIFO, or another version-specific mechanism carrying authorization.
token conservation
Observed total recipe concurrency remains within the parent budget.
oversubscription
Aggregate work exceeds the intended budget, often because children create independent budgets.
MAKELEVEL
Relative recursion depth; child Make is one level deeper than its immediate parent.
MAKEFLAGS
Recursive option protocol and diagnostic text; its presence alone does not prove usable authorization.
wrapper recursion
Script-mediated child Make boundary whose outer recipe, selected executable, signal behavior, and final exec all matter.
planning visibility
A top-level dry run enters the child graph and prints its plan without publishing child outputs.
output synchronization
Log-grouping behavior such as --output-sync=recurse; improves readability without repairing scheduling.
flowchart LR
intent["Declared +$(MAKE) intent"]
context["Child MAKELEVEL and MAKEFLAGS"]
behavior["Measured recipe intervals"]
claim["Shared budget claim"]
intent --> context --> behavior --> claim
External facts and manifests
Term
Meaning
non-file input
Build-relevant fact not naturally represented by a source file, such as mode, locale, or compiler identity.
semantic input
Fact whose change can alter declared artifact bytes or meaning.
diagnostic context
Useful incident fact that does not control artifact meaning and should not drive freshness.
pinning
Forcing a semantic input to one supported value, such as LC_ALL=C.
attestation
Recording a varying semantic input so artifacts can be connected to the state that produced them.
semantic manifest
Convergent file representation of validated external facts that drive artifact identity.
run record
Event evidence such as start time or operator identity, kept outside artifact freshness unless product meaning requires it.
evaluation trigger
Edge such as a force prerequisite that causes Make to reobserve a non-file fact.
change-only publication
Compare candidate content and retain existing final identity when semantic content is equal.
canonicalization
Mapping raw observations to a stable semantic representation under a documented equivalence rule.
clean-workspace equivalence
Independent workspaces with equal declared inputs produce equal semantic manifests or artifacts.
incremental convergence
Repeating an equal-state invocation preserves final identity and requests no unjustified downstream work.
variant namespace
Output path containing configuration identity, such as build/debug, so supported variants can coexist.
process-local candidate
Complete work file named to avoid collision between concurrent processes.
atomic publication
Rename or equivalent transition that prevents consumers from observing partial final bytes.
flowchart LR
facts["Validated external facts"]
evaluate["Reevaluate"]
candidate["Canonical process-local candidate"]
compare["Compare with final"]
retain["Equal: retain identity"]
publish["Different: atomic publication"]
dependent["Invalidate semantic dependents"]
facts --> evaluate --> candidate --> compare
compare --> retain
compare --> publish --> dependent
Term
Meaning
workload state
Prepared clean, no-op, changed-input, planning, or traced condition being measured.
warm-up
Unreported preparatory run used to reduce startup or cache anomalies under a documented policy.
repetition
Comparable measured run under the same controls.
median
Middle result, useful for small noisy samples without fastest-run selection.
spread
Variation such as minimum–maximum range that exposes unstable measurements.
wall time
Elapsed duration experienced by the caller.
user time
CPU time spent in user-space code across the measured process scope.
system time
CPU time spent in operating-system work across the measured process scope.
orchestration proxy
Measurement such as gmake -n that includes parsing, graph work, expansion, printing, and recursive planning rather than one pure layer.
controlled experiment
Comparison changing one design variable while workload and environment remain fixed.
implicit-search experiment
Bounded -rR comparison used to test built-in rule or variable overhead, not an automatic production setting.
critical path
Longest dependency-constrained chain limiting wall-time improvement.
parallel scaling
Change in duration as job budget changes, accepted only with equivalent outputs.
trace volume
Quantity of diagnostic evidence; an operability proxy rather than a correctness or timing result.
instrumentation overhead
Cost introduced by tracing, logging, profiling, or output capture.
flowchart LR
baseline["Repeated controlled baseline"]
hypothesis["Cost-layer hypothesis"]
experiment["One changed variable"]
timing["Timing distribution"]
correctness["Selected work and output equivalence"]
decision["Accept, reject, or refine"]
baseline --> hypothesis --> experiment
experiment --> timing --> decision
experiment --> correctness --> decision
Failure and ownership
Term
Meaning
graph failure
Incorrect file edge, freshness decision, or output ownership that Make should repair.
environment-contract failure
Required capability or semantic external fact is missing, incompatible, or undeclared.
recipe failure
Bounded external command fails to complete its declared file transaction.
long-lived orchestration
State, retries, authorization, or compensation that survives beyond one Make process.
repair
Correct Make's file and graph truth.
containment
External program owns bounded work inside one recipe while Make owns file edges.
handoff
Another system owns durable semantics through a versioned interface.
tool boundary
Point where concern ownership changes, defined by inputs, outputs, failures, and recovery rather than tool preference.
handoff contract
Input identity, invocation, success, failure, atomicity, ownership, recovery, version, and proof agreement.
publication frontier
Earliest point at which artifact state can become externally visible.
failure owner
System responsible for recording and recovering from a failure at one boundary.
idempotency key
Stable request identity allowing external submission to be retried or queried without duplicating the operation.
receipt
Structured, verifiable result from an external owner, distinct from a local claim about remote state.
shadow comparison
Non-publishing comparison writing only to isolated evidence destinations.
former writer
Previous publication owner that must be removed after handoff to prevent dual ownership.
flowchart LR
make["Make publishes immutable artifact"]
handoff["Versioned digest interface"]
owner["External durable-state owner"]
receipt["Verifiable receipt"]
proof["Combined proof route"]
make --> handoff --> owner --> receipt --> proof
make --> proof
Confusable pairs
Do not conflate
Distinction
supported version / advertised capability
tested maintenance promise / runtime behavior token
tool presence / compatibility
executable resolves / behavior satisfies contract
doctor / contract check
advisory context / enforced support boundary
MAKEFLAGS text / jobserver health
observed protocol string / usable bounded execution
recursion depth / parallel budget
process nesting / shared runnable-recipe limit
atomic publication / variant identity
no partial final bytes / one path has one semantic meaning
no-op convergence / clean-workspace equivalence
stable repeat in one workspace / equal derivation in independent workspaces
-n time / parse time
orchestration proxy / one component of that proxy
trace line count / trace quality
evidence quantity / causal readability
external command / external owner
recipe-contained tool / durable-state authority
local stamp / remote receipt
local file event / authoritative external result
Incident language
Prefer claims that identify evidence and owner:
"The runtime advertises grouped targets, but this release is outside our tested support
matrix."
"The child received jobserver-looking flags; interval evidence shows whether this route
conserved the two-job budget."
"Equal facts retained manifest identity, while debug and release published in separate
namespaces."
"The repeated no-op measurements implicate orchestration, and the -rR experiment
narrows the suspect without licensing the change."
"Make owns the immutable bundle; the deployment system owns promotion, retry, rollback,
and the signed receipt."
These sentences can be reviewed and falsified. "The build is fragile" cannot.