{"$id":"cwi.change-record/1.0","description":"Append-only, hash-chained record of an agent behavior change proposal or decision. Advisory review trail, not a sandbox.","entry_types":{"decision":{"decision_enum":["approved","rejected","needs_changes"],"required":["decision_id","decider","decided_at","decision","rationale"]},"proposal":{"change_type_enum":["prompt_edit","skill_update","config_change","policy_change"],"required":["proposer","proposed_at","change_type","target","after","diff_summary","risk_flags","risk_level"],"risk_level_enum":["none","low","medium","high","critical"]}},"hashing":{"algorithm":"sha256","canonicalization":"recursive key sort, no whitespace (see ledger.js canon())","entry_hash":"sha256hex(canon(entry minus entry_hash, with prev_hash set))","genesis_prev_hash":"GENESIS"},"issuer":"Cumulative Web Inc","protocol":"change/1.0","required_entry_fields":["schema","protocol","change_id","entry_type","prev_hash","entry_hash"],"risk_flag":{"categories":["prompt-injection","data-exfiltration","destructive","privilege","approval-bypass"],"fields":["rule","category","severity","title","evidence","added_line"],"severities":["critical","high","medium","low"]},"seal":{"algorithm":"Ed25519","description":"The canonical published ledger.json is Ed25519-sealed at publish time. seal.json carries {tip_hash, count, sealed_at, signature} over canonical bytes of {tip_hash, count, sealed_at}. Public key: keys/ed25519.pub."},"title":"CWI Change Record"}