export declare const MISSION_STORE_META_TABLE: "mission_store_meta"; /** Durable M7 quality state. JSON columns are bounded by the adapter before * insertion; SQLite remains the transaction and foreign-key boundary. */ export declare const MISSION_STORE_QUALITY_SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS verification_runs (\n verification_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n target_run_id TEXT NOT NULL,\n target_packet_id TEXT,\n round INTEGER NOT NULL CHECK (round >= 0),\n reviewer_run_id TEXT,\n reviewer_route_id TEXT,\n reviewer_remote_model_id TEXT,\n implementation_route_id TEXT,\n status TEXT NOT NULL CHECK (status IN ('running','completed','interrupted','blocked')),\n started_at TEXT NOT NULL,\n completed_at TEXT,\n quality_decision_id TEXT,\n potential_mutation_observed INTEGER NOT NULL CHECK (potential_mutation_observed IN (0,1)),\n failure_summary TEXT\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS quality_decisions (\n decision_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n verification_id TEXT NOT NULL REFERENCES verification_runs(verification_id) ON DELETE RESTRICT,\n target_run_id TEXT NOT NULL,\n target_packet_id TEXT,\n round INTEGER NOT NULL CHECK (round >= 0),\n verdict TEXT NOT NULL CHECK (verdict IN ('pass','reject','blocked')),\n criterion_results_json TEXT NOT NULL,\n mechanical_checks_json TEXT NOT NULL,\n reviewer_summary TEXT NOT NULL,\n findings_json TEXT NOT NULL,\n required_fixes_json TEXT NOT NULL,\n risks_json TEXT NOT NULL,\n gate_reasons_json TEXT NOT NULL,\n reviewer_route_id TEXT,\n created_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS quality_escalations (\n escalation_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n rejected_run_id TEXT NOT NULL,\n verification_id TEXT NOT NULL REFERENCES verification_runs(verification_id) ON DELETE RESTRICT,\n quality_round INTEGER NOT NULL CHECK (quality_round >= 0),\n failed_criteria_json TEXT NOT NULL,\n required_fixes_json TEXT NOT NULL,\n reviewer_findings_json TEXT NOT NULL,\n prior_implementation_route_ids_json TEXT NOT NULL,\n reviewer_route_id TEXT,\n preferred_pool TEXT NOT NULL CHECK (preferred_pool = 'implementation'),\n route_exclusions_json TEXT NOT NULL,\n diversity TEXT NOT NULL CHECK (diversity IN ('none','prefer','require')),\n status TEXT NOT NULL CHECK (status IN ('ready','exhausted','blocked')),\n created_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS task_quality_status (\n task_id TEXT PRIMARY KEY REFERENCES tasks(task_id) ON DELETE CASCADE,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n status TEXT NOT NULL CHECK (status IN ('unverified','verification_running','passed','rejected','blocked','review_required')),\n quality_round INTEGER NOT NULL CHECK (quality_round >= 0),\n latest_verification_id TEXT,\n latest_decision_id TEXT,\n updated_at TEXT NOT NULL\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS verification_runs_mission_task_idx ON verification_runs(mission_id, task_id, round, started_at);\nCREATE INDEX IF NOT EXISTS quality_decisions_mission_task_idx ON quality_decisions(mission_id, task_id, round, created_at);\nCREATE INDEX IF NOT EXISTS quality_escalations_mission_task_idx ON quality_escalations(mission_id, task_id, quality_round, created_at);\nCREATE INDEX IF NOT EXISTS task_quality_status_mission_idx ON task_quality_status(mission_id, status, updated_at);\n"; /** The exact M6 schema used by migration fixtures and v1 databases. */ export declare const MISSION_STORE_SCHEMA_V1_SQL = "\nCREATE TABLE IF NOT EXISTS mission_store_meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS missions (\n mission_id TEXT PRIMARY KEY,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n status TEXT NOT NULL CHECK (status IN ('draft','planned','active','paused','running','awaiting-review','blocked','failed','cancelled','completed')),\n title TEXT NOT NULL,\n objective TEXT NOT NULL,\n goal TEXT NOT NULL,\n constraints_json TEXT NOT NULL,\n acceptance_json TEXT NOT NULL,\n repository_json TEXT NOT NULL,\n plan_json TEXT NOT NULL,\n approved_decisions_json TEXT NOT NULL,\n validated_findings_json TEXT NOT NULL,\n completed_work_json TEXT NOT NULL,\n current_change_state_json TEXT NOT NULL,\n test_review_evidence_json TEXT NOT NULL,\n unresolved_issues_json TEXT NOT NULL,\n next_steps_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS mission_revisions (\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n snapshot_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n PRIMARY KEY (mission_id, revision)\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS mission_events (\n event_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n kind TEXT NOT NULL,\n actor TEXT NOT NULL,\n task_id TEXT,\n attempt_id TEXT,\n payload_json TEXT,\n created_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS tasks (\n task_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n role_id TEXT NOT NULL,\n execution_class TEXT NOT NULL CHECK (execution_class IN ('investigation','implementation','verification')),\n pool_id TEXT,\n objective TEXT NOT NULL,\n constraints_json TEXT NOT NULL,\n acceptance_json TEXT NOT NULL,\n allowed_tools_json TEXT NOT NULL,\n allowed_actions_json TEXT NOT NULL,\n output_schema_id TEXT,\n context_budget INTEGER,\n packet_json TEXT,\n packet_revision INTEGER NOT NULL CHECK (packet_revision >= 0),\n last_run_id TEXT,\n status TEXT NOT NULL CHECK (status IN ('pending','planned','ready','running','interrupted','succeeded','execution_completed','failed','cancelled','blocked')),\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS attempts (\n attempt_id TEXT PRIMARY KEY,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n route_id TEXT,\n remote_model_id TEXT,\n status TEXT NOT NULL CHECK (status IN ('running','succeeded','failed','interrupted','cancelled','timed-out','unknown')),\n lease_owner TEXT,\n lease_expires_at TEXT,\n started_at TEXT NOT NULL,\n ended_at TEXT,\n terminal_state TEXT,\n mutation_observed INTEGER NOT NULL CHECK (mutation_observed IN (0,1)),\n result_json TEXT,\n packet_revision INTEGER,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS mission_leases (\n mission_id TEXT PRIMARY KEY REFERENCES missions(mission_id) ON DELETE CASCADE,\n owner TEXT NOT NULL,\n acquired_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL,\n expires_at TEXT NOT NULL,\n recovered_from TEXT\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS evidence (\n evidence_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT REFERENCES tasks(task_id) ON DELETE SET NULL,\n attempt_id TEXT REFERENCES attempts(attempt_id) ON DELETE SET NULL,\n kind TEXT NOT NULL,\n status TEXT NOT NULL CHECK (status IN ('proposed','accepted','approved','rejected','stale')),\n content_json TEXT NOT NULL,\n artifact_refs_json TEXT NOT NULL,\n source_revision INTEGER,\n admitted_at TEXT NOT NULL,\n reviewed_at TEXT,\n rejection_reason TEXT\n ,packet_revision INTEGER\n ,run_id TEXT\n ,route_id TEXT\n ,remote_model_id TEXT\n ,role_id TEXT\n ,execution_class TEXT\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS canonical_items (\n item_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n kind TEXT NOT NULL,\n value_json TEXT NOT NULL,\n source_evidence_id TEXT NOT NULL REFERENCES evidence(evidence_id) ON DELETE RESTRICT,\n promoted_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS mission_checkpoints (\n checkpoint_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n kind TEXT NOT NULL,\n status TEXT NOT NULL,\n snapshot_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n UNIQUE (mission_id, revision)\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS mission_events_mission_revision_idx ON mission_events(mission_id, revision, created_at);\nCREATE INDEX IF NOT EXISTS mission_revisions_mission_revision_idx ON mission_revisions(mission_id, revision);\nCREATE INDEX IF NOT EXISTS tasks_mission_status_idx ON tasks(mission_id, status, created_at);\nCREATE INDEX IF NOT EXISTS attempts_mission_status_idx ON attempts(mission_id, status, started_at);\nCREATE INDEX IF NOT EXISTS evidence_mission_status_idx ON evidence(mission_id, status, admitted_at);\nCREATE INDEX IF NOT EXISTS checkpoints_mission_revision_idx ON mission_checkpoints(mission_id, revision);\n"; /** Current schema for a brand-new MissionStore. */ export declare const MISSION_STORE_SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS mission_store_meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS missions (\n mission_id TEXT PRIMARY KEY,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n status TEXT NOT NULL CHECK (status IN ('draft','planned','active','paused','running','awaiting-review','blocked','failed','cancelled','completed')),\n title TEXT NOT NULL,\n objective TEXT NOT NULL,\n goal TEXT NOT NULL,\n constraints_json TEXT NOT NULL,\n acceptance_json TEXT NOT NULL,\n repository_json TEXT NOT NULL,\n plan_json TEXT NOT NULL,\n approved_decisions_json TEXT NOT NULL,\n validated_findings_json TEXT NOT NULL,\n completed_work_json TEXT NOT NULL,\n current_change_state_json TEXT NOT NULL,\n test_review_evidence_json TEXT NOT NULL,\n unresolved_issues_json TEXT NOT NULL,\n next_steps_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS mission_revisions (\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n snapshot_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n PRIMARY KEY (mission_id, revision)\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS mission_events (\n event_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n kind TEXT NOT NULL,\n actor TEXT NOT NULL,\n task_id TEXT,\n attempt_id TEXT,\n payload_json TEXT,\n created_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS tasks (\n task_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n role_id TEXT NOT NULL,\n execution_class TEXT NOT NULL CHECK (execution_class IN ('investigation','implementation','verification')),\n pool_id TEXT,\n objective TEXT NOT NULL,\n constraints_json TEXT NOT NULL,\n acceptance_json TEXT NOT NULL,\n allowed_tools_json TEXT NOT NULL,\n allowed_actions_json TEXT NOT NULL,\n output_schema_id TEXT,\n context_budget INTEGER,\n packet_json TEXT,\n packet_revision INTEGER NOT NULL CHECK (packet_revision >= 0),\n last_run_id TEXT,\n status TEXT NOT NULL CHECK (status IN ('pending','planned','ready','running','interrupted','succeeded','execution_completed','failed','cancelled','blocked')),\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS attempts (\n attempt_id TEXT PRIMARY KEY,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n route_id TEXT,\n remote_model_id TEXT,\n status TEXT NOT NULL CHECK (status IN ('running','succeeded','failed','interrupted','cancelled','timed-out','unknown')),\n lease_owner TEXT,\n lease_expires_at TEXT,\n started_at TEXT NOT NULL,\n ended_at TEXT,\n terminal_state TEXT,\n mutation_observed INTEGER NOT NULL CHECK (mutation_observed IN (0,1)),\n result_json TEXT,\n packet_revision INTEGER,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS mission_leases (\n mission_id TEXT PRIMARY KEY REFERENCES missions(mission_id) ON DELETE CASCADE,\n owner TEXT NOT NULL,\n acquired_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL,\n expires_at TEXT NOT NULL,\n recovered_from TEXT\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS evidence (\n evidence_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT REFERENCES tasks(task_id) ON DELETE SET NULL,\n attempt_id TEXT REFERENCES attempts(attempt_id) ON DELETE SET NULL,\n kind TEXT NOT NULL,\n status TEXT NOT NULL CHECK (status IN ('proposed','accepted','approved','rejected','stale')),\n content_json TEXT NOT NULL,\n artifact_refs_json TEXT NOT NULL,\n source_revision INTEGER,\n admitted_at TEXT NOT NULL,\n reviewed_at TEXT,\n rejection_reason TEXT\n ,packet_revision INTEGER\n ,run_id TEXT\n ,route_id TEXT\n ,remote_model_id TEXT\n ,role_id TEXT\n ,execution_class TEXT\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS canonical_items (\n item_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n kind TEXT NOT NULL,\n value_json TEXT NOT NULL,\n source_evidence_id TEXT NOT NULL REFERENCES evidence(evidence_id) ON DELETE RESTRICT,\n promoted_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS mission_checkpoints (\n checkpoint_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n revision INTEGER NOT NULL CHECK (revision >= 1),\n kind TEXT NOT NULL,\n status TEXT NOT NULL,\n snapshot_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n UNIQUE (mission_id, revision)\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS mission_events_mission_revision_idx ON mission_events(mission_id, revision, created_at);\nCREATE INDEX IF NOT EXISTS mission_revisions_mission_revision_idx ON mission_revisions(mission_id, revision);\nCREATE INDEX IF NOT EXISTS tasks_mission_status_idx ON tasks(mission_id, status, created_at);\nCREATE INDEX IF NOT EXISTS attempts_mission_status_idx ON attempts(mission_id, status, started_at);\nCREATE INDEX IF NOT EXISTS evidence_mission_status_idx ON evidence(mission_id, status, admitted_at);\nCREATE INDEX IF NOT EXISTS checkpoints_mission_revision_idx ON mission_checkpoints(mission_id, revision);\n\n\nCREATE TABLE IF NOT EXISTS verification_runs (\n verification_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n target_run_id TEXT NOT NULL,\n target_packet_id TEXT,\n round INTEGER NOT NULL CHECK (round >= 0),\n reviewer_run_id TEXT,\n reviewer_route_id TEXT,\n reviewer_remote_model_id TEXT,\n implementation_route_id TEXT,\n status TEXT NOT NULL CHECK (status IN ('running','completed','interrupted','blocked')),\n started_at TEXT NOT NULL,\n completed_at TEXT,\n quality_decision_id TEXT,\n potential_mutation_observed INTEGER NOT NULL CHECK (potential_mutation_observed IN (0,1)),\n failure_summary TEXT\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS quality_decisions (\n decision_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n verification_id TEXT NOT NULL REFERENCES verification_runs(verification_id) ON DELETE RESTRICT,\n target_run_id TEXT NOT NULL,\n target_packet_id TEXT,\n round INTEGER NOT NULL CHECK (round >= 0),\n verdict TEXT NOT NULL CHECK (verdict IN ('pass','reject','blocked')),\n criterion_results_json TEXT NOT NULL,\n mechanical_checks_json TEXT NOT NULL,\n reviewer_summary TEXT NOT NULL,\n findings_json TEXT NOT NULL,\n required_fixes_json TEXT NOT NULL,\n risks_json TEXT NOT NULL,\n gate_reasons_json TEXT NOT NULL,\n reviewer_route_id TEXT,\n created_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS quality_escalations (\n escalation_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n rejected_run_id TEXT NOT NULL,\n verification_id TEXT NOT NULL REFERENCES verification_runs(verification_id) ON DELETE RESTRICT,\n quality_round INTEGER NOT NULL CHECK (quality_round >= 0),\n failed_criteria_json TEXT NOT NULL,\n required_fixes_json TEXT NOT NULL,\n reviewer_findings_json TEXT NOT NULL,\n prior_implementation_route_ids_json TEXT NOT NULL,\n reviewer_route_id TEXT,\n preferred_pool TEXT NOT NULL CHECK (preferred_pool = 'implementation'),\n route_exclusions_json TEXT NOT NULL,\n diversity TEXT NOT NULL CHECK (diversity IN ('none','prefer','require')),\n status TEXT NOT NULL CHECK (status IN ('ready','exhausted','blocked')),\n created_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS task_quality_status (\n task_id TEXT PRIMARY KEY REFERENCES tasks(task_id) ON DELETE CASCADE,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n status TEXT NOT NULL CHECK (status IN ('unverified','verification_running','passed','rejected','blocked','review_required')),\n quality_round INTEGER NOT NULL CHECK (quality_round >= 0),\n latest_verification_id TEXT,\n latest_decision_id TEXT,\n updated_at TEXT NOT NULL\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS verification_runs_mission_task_idx ON verification_runs(mission_id, task_id, round, started_at);\nCREATE INDEX IF NOT EXISTS quality_decisions_mission_task_idx ON quality_decisions(mission_id, task_id, round, created_at);\nCREATE INDEX IF NOT EXISTS quality_escalations_mission_task_idx ON quality_escalations(mission_id, task_id, quality_round, created_at);\nCREATE INDEX IF NOT EXISTS task_quality_status_mission_idx ON task_quality_status(mission_id, status, updated_at);\n"; /** Sequential, transactional v1 -> v2 migration. */ export declare const MISSION_STORE_MIGRATION_1_TO_2_SQL = "\n\nCREATE TABLE IF NOT EXISTS verification_runs (\n verification_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n target_run_id TEXT NOT NULL,\n target_packet_id TEXT,\n round INTEGER NOT NULL CHECK (round >= 0),\n reviewer_run_id TEXT,\n reviewer_route_id TEXT,\n reviewer_remote_model_id TEXT,\n implementation_route_id TEXT,\n status TEXT NOT NULL CHECK (status IN ('running','completed','interrupted','blocked')),\n started_at TEXT NOT NULL,\n completed_at TEXT,\n quality_decision_id TEXT,\n potential_mutation_observed INTEGER NOT NULL CHECK (potential_mutation_observed IN (0,1)),\n failure_summary TEXT\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS quality_decisions (\n decision_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n verification_id TEXT NOT NULL REFERENCES verification_runs(verification_id) ON DELETE RESTRICT,\n target_run_id TEXT NOT NULL,\n target_packet_id TEXT,\n round INTEGER NOT NULL CHECK (round >= 0),\n verdict TEXT NOT NULL CHECK (verdict IN ('pass','reject','blocked')),\n criterion_results_json TEXT NOT NULL,\n mechanical_checks_json TEXT NOT NULL,\n reviewer_summary TEXT NOT NULL,\n findings_json TEXT NOT NULL,\n required_fixes_json TEXT NOT NULL,\n risks_json TEXT NOT NULL,\n gate_reasons_json TEXT NOT NULL,\n reviewer_route_id TEXT,\n created_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS quality_escalations (\n escalation_id TEXT PRIMARY KEY,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,\n rejected_run_id TEXT NOT NULL,\n verification_id TEXT NOT NULL REFERENCES verification_runs(verification_id) ON DELETE RESTRICT,\n quality_round INTEGER NOT NULL CHECK (quality_round >= 0),\n failed_criteria_json TEXT NOT NULL,\n required_fixes_json TEXT NOT NULL,\n reviewer_findings_json TEXT NOT NULL,\n prior_implementation_route_ids_json TEXT NOT NULL,\n reviewer_route_id TEXT,\n preferred_pool TEXT NOT NULL CHECK (preferred_pool = 'implementation'),\n route_exclusions_json TEXT NOT NULL,\n diversity TEXT NOT NULL CHECK (diversity IN ('none','prefer','require')),\n status TEXT NOT NULL CHECK (status IN ('ready','exhausted','blocked')),\n created_at TEXT NOT NULL\n) STRICT;\n\nCREATE TABLE IF NOT EXISTS task_quality_status (\n task_id TEXT PRIMARY KEY REFERENCES tasks(task_id) ON DELETE CASCADE,\n mission_id TEXT NOT NULL REFERENCES missions(mission_id) ON DELETE CASCADE,\n status TEXT NOT NULL CHECK (status IN ('unverified','verification_running','passed','rejected','blocked','review_required')),\n quality_round INTEGER NOT NULL CHECK (quality_round >= 0),\n latest_verification_id TEXT,\n latest_decision_id TEXT,\n updated_at TEXT NOT NULL\n) STRICT;\n\nCREATE INDEX IF NOT EXISTS verification_runs_mission_task_idx ON verification_runs(mission_id, task_id, round, started_at);\nCREATE INDEX IF NOT EXISTS quality_decisions_mission_task_idx ON quality_decisions(mission_id, task_id, round, created_at);\nCREATE INDEX IF NOT EXISTS quality_escalations_mission_task_idx ON quality_escalations(mission_id, task_id, quality_round, created_at);\nCREATE INDEX IF NOT EXISTS task_quality_status_mission_idx ON task_quality_status(mission_id, status, updated_at);\n\nINSERT OR IGNORE INTO task_quality_status(task_id, mission_id, status, quality_round, latest_verification_id, latest_decision_id, updated_at)\nSELECT task_id, mission_id, 'unverified', 0, NULL, NULL, updated_at FROM tasks;\nUPDATE mission_store_meta SET value = '2' WHERE key = 'schema_version';\n"; export declare const CURRENT_MISSION_STORE_SCHEMA_VERSION: 2;