19 lines
958 B
MySQL
19 lines
958 B
MySQL
|
|
-- Only an acknowledged provider destroy may create retirement evidence.
|
||
|
|
-- A changed PID namespace, provider name or generation is not sufficient.
|
||
|
|
CREATE TABLE computer_generation_retirements (
|
||
|
|
computer_id TEXT NOT NULL REFERENCES computers(id) ON DELETE CASCADE,
|
||
|
|
generation INTEGER NOT NULL CHECK(generation > 0),
|
||
|
|
provider_ref TEXT NOT NULL,
|
||
|
|
home_key TEXT NOT NULL,
|
||
|
|
proof_id TEXT NOT NULL UNIQUE,
|
||
|
|
proof_kind TEXT NOT NULL CHECK(proof_kind = 'provider_destroy_ack'),
|
||
|
|
acknowledged_at TIMESTAMPTZ NOT NULL DEFAULT clock_timestamp(),
|
||
|
|
PRIMARY KEY(computer_id,generation)
|
||
|
|
);
|
||
|
|
|
||
|
|
-- Historical artifact rows did not record their verification source; do not
|
||
|
|
-- retroactively label them as execution receipts without trusted evidence.
|
||
|
|
ALTER TABLE computer_artifacts ADD COLUMN verification_basis TEXT NOT NULL
|
||
|
|
DEFAULT 'legacy_unspecified'
|
||
|
|
CHECK(verification_basis IN ('legacy_unspecified','execution_receipt','postcondition'));
|