
    j`                        d dl Z d dlZej                  d   Zh dZh dZh dZ e j                  e      Zej                  d       	 ej                  d       ej                  d      D  ch c]  } | d   	 c} Z
g d	ZeD ]!  \  ZZee
vsej                  d
e de        # ej                  d       ej                  d       ej                  d       ej                  d       ej                  d       ej                  dd      j                         d    Zedk7  r ede       ej                  dd       ej                  d      j                         d    dk7  r ed      ej#                           edej                  d      j                         d    dej                  d      j                         d           ej'                          yc c} w # ej'                          w xY w)    N   >   
   BESTÄTIGT   WIDERSPRÜCHLICHUNSICHER	GESICHERT	PLAUSIBEL>   LEGACYPENDINGAPPROVEDREJECTEDNEEDS_REVIEW>   GOLDNONEREVOKED	CANDIDATEzPRAGMA foreign_keys=ONzBEGIN IMMEDIATEz"PRAGMA table_info(knowledge_units)))source_locatorTEXT)evidence_classu~   TEXT NOT NULL DEFAULT 'UNSICHER' CHECK(evidence_class IN ('UNSICHER','PLAUSIBEL','BESTÄTIGT','GESICHERT','WIDERSPRÜCHLICH')))confidence_reasonz@TEXT NOT NULL DEFAULT 'legacy_placeholder_not_quality_validated')review_statezpTEXT NOT NULL DEFAULT 'PENDING' CHECK(review_state IN ('PENDING','APPROVED','REJECTED','NEEDS_REVIEW','LEGACY')))
gold_statezWTEXT NOT NULL DEFAULT 'NONE' CHECK(gold_state IN ('NONE','CANDIDATE','GOLD','REVOKED')))legacy_placeholderz=INTEGER NOT NULL DEFAULT 0 CHECK(legacy_placeholder IN (0,1))z'ALTER TABLE knowledge_units ADD COLUMN  a  CREATE TABLE IF NOT EXISTS knowledge_unit_provenance(
      id INTEGER PRIMARY KEY,
      knowledge_unit_id INTEGER NOT NULL REFERENCES knowledge_units(id) ON DELETE RESTRICT,
      source_identity TEXT NOT NULL,
      source_version TEXT NOT NULL,
      source_locator TEXT NOT NULL,
      representation_type TEXT NOT NULL,
      created_at TEXT NOT NULL,
      UNIQUE(knowledge_unit_id,source_identity,source_version,source_locator)
    )ac  CREATE TABLE IF NOT EXISTS knowledge_unit_review_audit(
      id INTEGER PRIMARY KEY,
      knowledge_unit_id INTEGER NOT NULL UNIQUE REFERENCES knowledge_units(id) ON DELETE RESTRICT,
      verdict TEXT NOT NULL CHECK(verdict IN ('PASS','TEILWEISE','FAIL')),
      reason TEXT NOT NULL,
      reviewer TEXT NOT NULL,
      reviewed_at TEXT NOT NULL
    )zjCREATE INDEX IF NOT EXISTS idx_ku_prov_source ON knowledge_unit_provenance(source_identity,source_version)zOCREATE INDEX IF NOT EXISTS idx_ku_review_state ON knowledge_units(review_state)zKCREATE INDEX IF NOT EXISTS idx_ku_gold_state ON knowledge_units(gold_state)z;SELECT count(*) FROM knowledge_units WHERE statement LIKE ?)zKnowledge unit from %   z-expected exact 17 legacy placeholders, found zUPDATE knowledge_units SET review_state='REJECTED',gold_state='NONE',legacy_placeholder=1,confidence_reason='historical_placeholder_not_quality_validated' WHERE statement LIKE ?z?SELECT count(*) FROM knowledge_units WHERE legacy_placeholder=1zlegacy marker count mismatchmigration_okz$SELECT count(*) FROM knowledge_unitslegacy)sqlite3sysargvDBVALID_EVALID_RVALID_Gconnectcexecutecols	additionsnamedeclfetchonephRuntimeErrorcommitprintclose)rs   0#/opt/struktur/AA-043-P34-migrate.py<module>r3      s   88A;LA-'//"qyy!9:(II 		"FG	H1!A$	HDI  `	TtQYY)PQUPVVWX\W]'^_`II 		 	
 II 	 
 IIz{II_`II[\yyNOijssuvwxB	Rx|&STVSW$XYYII  B  C]  ^yyRS\\^_`aeggo{  }[  p\  j\HHJ	.#IJSSUVWXYabcbkbk  mn  co  cx  cx  cz  {|  c}  ~	
M 
IL 
s%   $G ,G8G D;G G G/