Global Model Updates
Architecture claims belong in shape/**/*.shape. The checker loads those files as one global model.
If an architecture change is not ready to be checked, keep it outside shape/. Files under shape/ are part of the model like any other source file.

When source changes alter architecture, edit the owning global model file:
module audit
component AuditStore { owns AuditEvent grants HardDelete<AuditEvent> fn purgeOldEvents source ts("src/audit/purge.ts#purgeOldEvents") effects complete { HardDelete<AuditEvent> evidence ts("src/audit/purge.ts:12-16") }}The checker evaluates the model as committed. Coverage then confirms that changed governed source paths have a current .shape source or evidence reference, or a current attestation.
Update Checklist
Section titled “Update Checklist”- Find the component, resource, implementation, relation, rule, or memory that describes the changed behavior.
- Edit the global
.shapefile directly. - Add source and evidence refs for material effects.
- Use
effects unknownonly while uncertainty remains. - Add a
reevaluationwhen changing a guarded function shape. - Run
shp fmt --checkandshp check --changed-files changed.txt.
Attestation Path
Section titled “Attestation Path”If a governed source change does not alter the architecture model, add a narrow attestation in a changed global .shape file:
module audit
attest no_shape_change { source ts("src/audit/reporting.ts") reason "Formatting-only change; no resource access or effect changed."}Attestations are current-change evidence. A previously committed attestation does not waive a future source change unless the declaring .shape file is changed again.