{
  "schema_version":"0.1",
  "control_id":"MNT04",
  "reviewed_on":"2026-09-16",
  "status":"implemented_hook_dependency_validation",
  "purpose":"Keep platform, access, storage, research, experimentation, interaction, safety, and obsolescence responses dependency-ordered as the site evolves.",
  "stages":[
    {"id":"detect","requires":["changed condition identified","affected hook selected"],"advance_when":"the trigger and its evidence are recorded"},
    {"id":"trace","requires":["hook prerequisites resolved","dependent features and artifacts inventoried"],"advance_when":"no unknown dependency or affected surface remains"},
    {"id":"review","requires":["required responses assigned","protected boundaries checked","blocked gates preserved"],"advance_when":"the bounded change is authorized by its existing controls"},
    {"id":"verify","requires":["affected checks pass","complete site check passes","production build passes"],"advance_when":"breakage and interconnection evidence is complete"},
    {"id":"release","requires":["change register updated","recoverable source committed","audience preserved"],"advance_when":"the exact verified source is published or the blocker is recorded"}
  ],
  "critical_hooks":["platform.hosting.changed","platform.access.changed","storage.schema.changed","dependency.major.changed","feature.deprecated","accessibility.expectation.changed","limit.compute.changed","privacy.expectation.changed","development.priority.changed","experiment.safety.changed","experiment.claim.status.changed"],
  "stop_conditions":["unknown hook dependency","dependency cycle","missing required response","unresolved protected-boundary impact","failed affected check","audience mismatch"],
  "limitations":["validates declared structure, not external platform state","does not authorize blocked product stages","does not perform dependency upgrades or access changes"],
  "successor_path":"Version this contract, preserve prior hook identifiers or aliases, document changed stage semantics, and keep a compatibility checker until every dependent feature migrates.",
  "verification":{"checker":"scripts/check-maintenance-hooks.mjs","command":"pnpm check:site"}
}
