Package Contracts¶
Make fragments encode package contracts too. They show what each package is expected to provide for shared automation.
Contract Model¶
flowchart TB
shared["shared automation contract"]
fragment["package fragment binding"]
capability["real package capability"]
mismatch["difference made explicit or blocked"]
shared --> fragment
fragment --> capability
capability --> mismatch
This page should help a maintainer see package dispatch as a contract surface, not just repetitive make syntax. Shared automation stays honest only when each fragment maps to a real package capability.
Contract Rules¶
- each package target family should map to a real package capability
- shared automation should not assume hidden package behavior
- when a package differs, document the difference explicitly in its fragment
First Proof Check¶
makes/packages/agentic-proteins.mkmakes/packages/bijux-proteomics-*.mk
Design Pressure¶
The easy failure is to let shared automation assume behavior a package never formally agreed to provide, which turns make dispatch into implicit policy.