Cai
2026-08-24 156ea25b402479f0abc54c558bbf87f9eaaa0422
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
import fs from 'node:fs';
import path from 'node:path';
import crypto from 'node:crypto';
import {pathToFileURL} from 'node:url';
import * as base from './detail_strengthening_p0_primary_source_discovery_runtime_20260730.mjs';
import {parseAuthorityCsv,serializeCsv,serializeManifestDataRows,validateAppendStableManifest} from './artifact_manifest_append_stable_parser_repair001_20260730.mjs';
 
export const ROOT=process.cwd();
export const CASE_ID=base.CASE_ID;
export const BASE=base.BASE;
export const AUDIT_REPORT=base.AUDIT_REPORT;
export const MANIFEST=base.MANIFEST;
export const ANOMALY_AUTHORITY=base.ANOMALY_AUTHORITY;
export const ORIGINAL_TRIAGE_RUN=base.ORIGINAL_TRIAGE_RUN;
export const DESIGN_RUN='RUN-ANA-ROBOT-DETAIL-STRENGTHENING-P0-PRIMARY-SOURCE-DISCOVERY-DESIGN-REPAIR-001';
export const DESIGN_BATCH='BATCH-ANA-ROBOT-DETAIL-STRENGTHENING-P0-PRIMARY-SOURCE-DISCOVERY-DESIGN-REPAIR-001';
export const EXEC_RUN=base.EXEC_RUN;
export const EXEC_BATCH=base.EXEC_BATCH;
export const RELEASE_AUDIT='AUDIT-ANA-ROBOT-DETAIL-STRENGTHENING-P0-PRIMARY-SOURCE-DISCOVERY-DESIGN-REPAIR001-REREVIEW-001';
export const EXEC_TOKEN='EXECUTE_DETAIL_STRENGTHENING_P0_PRIMARY_SOURCE_DISCOVERY_REPAIR001';
 
export const SCRIPT='dev/ana-dev/detail_strengthening_p0_primary_source_discovery_runtime_repair001_20260730.mjs';
export const TARGET_AUTHORITY=base.TARGET_AUTHORITY;
export const GAP_AUTHORITY=base.GAP_AUTHORITY;
export const QUERY_AUTHORITY=`${BASE}/evidence/detail_strengthening_p0_primary_source_query_authority_repair001_20260730.csv`;
export const SOURCE_POLICY=`${BASE}/evidence/detail_strengthening_p0_primary_source_policy_repair001_20260730.csv`;
export const METHOD_AUTHORITY=`${BASE}/evidence/detail_strengthening_p0_external_information_method_authority_repair001_20260730.csv`;
export const FORMAL_DESIGN_ENTRY_AUTHORITY=`${BASE}/evidence/detail_strengthening_p0_formal_design_entry_authority_repair001_20260730.csv`;
export const CONTRACT=`${BASE}/evidence/detail_strengthening_p0_primary_source_discovery_runtime_contract_repair001_20260730.csv`;
export const SCHEMA=`${BASE}/evidence/detail_strengthening_p0_primary_source_discovery_schema_authority_repair001_20260730.csv`;
export const EXEC_SET=`${BASE}/manifest/detail_strengthening_p0_primary_source_discovery_execution_artifact_set_repair001_20260730.csv`;
export const EXEC_BASELINE=`${BASE}/evidence/detail_strengthening_p0_primary_source_discovery_execution_baseline_repair001_20260730.csv`;
export const METHOD_PREFLIGHT=`${BASE}/evidence/detail_strengthening_p0_external_information_method_preflight_repair001_20260730.csv`;
export const RAW_ARCHIVE=`${BASE}/evidence/detail_strengthening_p0_primary_source_raw_archive_repair001_20260730.jsonl`;
export const QUERY_LEDGER=`${BASE}/evidence/detail_strengthening_p0_primary_source_query_execution_ledger_repair001_20260730.csv`;
export const SUPPLEMENT_LEDGER=`${BASE}/evidence/detail_strengthening_p0_primary_source_supplement_ledger_repair001_20260730.csv`;
export const PROVENANCE_LEDGER=`${BASE}/evidence/detail_strengthening_p0_primary_source_evidence_provenance_repair001_20260730.csv`;
export const CANDIDATE_REGISTER=`${BASE}/evidence/detail_strengthening_p0_primary_source_candidate_register_repair001_20260730.csv`;
export const OCCURRENCE_DISPOSITION=`${BASE}/evidence/detail_strengthening_p0_primary_source_occurrence_disposition_repair001_20260730.csv`;
export const GAP_SUMMARY=`${BASE}/outputs/数据表/robot_detail_p0_primary_source_discovery_summary_v01_repair001_20260730.csv`;
export const APPLICATION=`${BASE}/evidence/detail_strengthening_p0_primary_source_discovery_application_repair001_20260730.csv`;
export const EXEC_REQUEST=`${BASE}/manifest/review_request_detail_strengthening_p0_primary_source_discovery_execution_repair001_20260730.md`;
export const EXEC_VALIDATION=`${BASE}/manifest/detail_strengthening_p0_primary_source_discovery_execution_validation_repair001_20260730.csv`;
 
export const QUERY_COLUMNS=base.QUERY_COLUMNS;
export const POLICY_COLUMNS=base.POLICY_COLUMNS;
export const METHOD_COLUMNS=['method_id','darkline_required','darkline_availability','approved_equivalent_method','equivalent_tool_sequence','task_mode','availability_preflight','unavailable_status','release_before_network','raw_archive_path','query_log_path','supplement_ledger_path','provenance_ledger_path','archive_identity_policy','network_boundary'];
export const FORMAL_ENTRY_COLUMNS=['entry_id','design_id','artifact_path','start_line','end_line','lines','bytes','sha256','normalization','required_markers'];
export const CONTRACT_COLUMNS=base.CONTRACT_COLUMNS;
export const SCHEMA_COLUMNS=base.SCHEMA_COLUMNS;
export const EXEC_SET_COLUMNS=base.EXEC_SET_COLUMNS;
export const BASELINE_COLUMNS=base.BASELINE_COLUMNS;
export const METHOD_PREFLIGHT_COLUMNS=['preflight_id','method_id','darkline_available','equivalent_method_available','selected_method','task_mode','release_gate_status','checked_at','status'];
export const QUERY_LEDGER_COLUMNS=base.QUERY_LEDGER_COLUMNS;
export const SUPPLEMENT_COLUMNS=['supplement_id','raw_record_id','query_id','conceptual_gap_key','canonical_url','disposition','reason_code','candidate_id','gap_effect'];
export const PROVENANCE_COLUMNS=['provenance_id','candidate_id','raw_record_id','query_id','conceptual_gap_key','canonical_url','content_locator','snippet_text_sha256','source_class','primary_source_status','raw_record_sha256','evidence_effect'];
export const CANDIDATE_COLUMNS=base.CANDIDATE_COLUMNS;
export const DISPOSITION_COLUMNS=base.DISPOSITION_COLUMNS;
export const SUMMARY_COLUMNS=['summary_id','conceptual_gap_key','source_occurrences','queries_executed','candidates_captured','primary_confirmed','primary_pending','darkline_queries','result','gap_state_after','claim_strength_ceiling','formal_pool_effect','evidence_strength_effect'];
export const APPLICATION_COLUMNS=base.APPLICATION_COLUMNS;
export const VALIDATION_COLUMNS=base.VALIDATION_COLUMNS;
export const RAW_FIELDS=['raw_record_id','query_id','conceptual_gap_key','result_rank','operation','canonical_url','title','snippet_text','source_tool','retrieved_at','raw_record_sha256'];
 
const abs=value=>path.join(ROOT,...value.split('/'));
const sha=value=>crypto.createHash('sha256').update(value).digest('hex');
const normalize=value=>value.toString('utf8').replace(/^\uFEFF/,'').replace(/\r\n/g,'\n').replace(/\r/g,'\n');
const lineCount=value=>{const text=normalize(value);return text.split('\n').length-(text.endsWith('\n')?1:0);};
const readCsv=file=>{const parsed=parseAuthorityCsv(normalize(fs.readFileSync(abs(file))));if(parsed.errors.length)throw new Error(`CSV:${file}:${parsed.errors.join('|')}`);return parsed;};
const fileIdentity=file=>{const buffer=fs.readFileSync(abs(file)),stat=fs.statSync(abs(file));return{rows:file.endsWith('.csv')?readCsv(file).rows.length:lineCount(buffer),lines:lineCount(buffer),bytes:buffer.length,sha256:sha(buffer),mtime:new Date(Math.trunc(stat.mtimeMs)).toISOString(),mtimeMs:Math.trunc(stat.mtimeMs)};};
const writeText=(file,text)=>{fs.mkdirSync(path.dirname(abs(file)),{recursive:true});fs.writeFileSync(abs(file),text,'utf8');};
const exactColumns=(parsed,columns,code)=>parsed.header.join('|')===columns.join('|')?[]:[`${code}_COLUMNS`];
const iso=value=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z$/.test(String(value))&&Number.isFinite(Date.parse(value));
const equalRows=(actual,expected,columns,code)=>{const errors=[];if(actual.length!==expected.length)return[`${code}_COUNT:${actual.length}:${expected.length}`];for(let i=0;i<expected.length;i++)for(const column of columns)if(String(actual[i]?.[column]??'')!==String(expected[i]?.[column]??'')){errors.push(`${code}_FIELD:${i+1}:${column}`);break;}return errors;};
 
export function authorityBundle(){return{targets:readCsv(TARGET_AUTHORITY).rows,gaps:readCsv(GAP_AUTHORITY).rows,queries:readCsv(QUERY_AUTHORITY).rows,policies:readCsv(SOURCE_POLICY).rows,methods:readCsv(METHOD_AUTHORITY).rows,contracts:readCsv(CONTRACT).rows,schemas:readCsv(SCHEMA).rows,executionSet:readCsv(EXEC_SET).rows};}
 
export function queryPolicyErrors(bundle=authorityBundle()){
  const errors=[],policyById=new Map();
  for(const policy of bundle.policies){if(policyById.has(policy.policy_id))errors.push(`POLICY_DUPLICATE:${policy.policy_id}`);policyById.set(policy.policy_id,policy);}
  for(const query of bundle.queries){const policy=policyById.get(query.domain_policy_id);if(!policy){errors.push(`QUERY_POLICY_MISSING:${query.query_id}:${query.domain_policy_id}`);continue;}const required=new Set(query.required_source_class.split('|').filter(Boolean)),allowed=new Set(policy.allowed_value.split('|').filter(Boolean));for(const value of required)if(!allowed.has(value))errors.push(`QUERY_POLICY_SOURCE_CLASS:${query.query_id}:${value}:${query.domain_policy_id}`);}
  const referenced=new Set(bundle.queries.map(row=>row.domain_policy_id));for(const id of referenced)if(!policyById.has(id))errors.push(`REFERENCED_POLICY_UNRESOLVED:${id}`);
  return[...new Set(errors)];
}
 
function auditEntry(auditId){const lines=normalize(fs.readFileSync(abs(AUDIT_REPORT))).split('\n'),start=lines.findIndex(line=>line.startsWith('### ')&&line.includes(auditId));if(start<0)return null;let end=lines.length;for(let i=start+1;i<lines.length;i++)if(lines[i].startsWith('### ')){end=i;break;}while(end>start&&lines[end-1]==='')end--;const buffer=Buffer.from(`${lines.slice(start,end).join('\n')}\n`);return{start:start+1,end,lines:end-start,bytes:buffer.length,sha256:sha(buffer),text:buffer.toString('utf8')};}
 
export function releaseTextErrors(text){const required=['result=PASS','execution_release=EXPLICITLY_RELEASED',`released_batch_id=${EXEC_BATCH}`,`released_run_id=${EXEC_RUN}`,'external_information_method=CODEX_WEB_SEARCH_QUERY_AND_OPEN_APPROVED_EQUIVALENT','network_execution_scope=PUBLIC_WEB_PRIMARY_SOURCE_DISCOVERY_ONLY'];const normalized=text.split('\n').map(line=>line.trim().replace(/^[\-*]\s*/,'').replace(/`/g,''));const errors=[];for(const marker of required)if(!normalized.includes(marker))errors.push(`RELEASE_MARKER:${marker}`);if(normalized.some(line=>/^(?:result|conclusion)=FAIL(?:_|$)/.test(line))||normalized.includes('execution_release=NOT_ALLOWED')||normalized.includes('execution_release=NOT_RELEASED'))errors.push('RELEASE_CONTRADICTION');return errors;}
export function releaseErrors({requireRelease=true}={}){const entry=auditEntry(RELEASE_AUDIT);if(!entry)return requireRelease?['RELEASE_AUDIT_MISSING']:[];return releaseTextErrors(entry.text);}
 
export function methodAuthorityErrors(rows){const errors=[];if(rows.length!==1)return[`METHOD_AUTHORITY_COUNT:${rows.length}`];const row=rows[0];const expected={method_id:'P0DISCR1-METHOD-001',darkline_required:'PREFERRED_IF_CALLABLE_ELSE_APPROVED_EQUIVALENT',darkline_availability:'NOT_CALLABLE_IN_CURRENT_ENVIRONMENT',approved_equivalent_method:'CODEX_WEB_SEARCH_QUERY_AND_OPEN',equivalent_tool_sequence:'web.search_query->web.open',task_mode:'14_AUTHORITY_QUERIES_PUBLIC_WEB_READ_ONLY',availability_preflight:'REQUIRED_AFTER_RELEASE_BEFORE_NETWORK',unavailable_status:'HELD_BY_REQUIRED_EXTERNAL_INFORMATION_METHOD_UNAVAILABLE',release_before_network:'REQUIRED_EXACT_AUDIT_LITERAL',raw_archive_path:RAW_ARCHIVE,query_log_path:QUERY_LEDGER,supplement_ledger_path:SUPPLEMENT_LEDGER,provenance_ledger_path:PROVENANCE_LEDGER,archive_identity_policy:'UTF8_NO_BOM_LF_JSONL_PER_RECORD_SHA256',network_boundary:'PUBLIC_WEB_READ_ONLY_NO_LOGIN_NO_FORM_SUBMISSION_NO_PURCHASE_NO_PAYWALL_BYPASS'};for(const [field,value] of Object.entries(expected))if(row[field]!==value)errors.push(`METHOD_AUTHORITY_FIELD:${field}`);return errors;}
 
export function methodPreflightErrors(rows){const errors=[];if(rows.length!==1)return[`METHOD_PREFLIGHT_COUNT:${rows.length}`];const row=rows[0];if(row.method_id!=='P0DISCR1-METHOD-001')errors.push('METHOD_PREFLIGHT_ID');if(!['YES','NO'].includes(row.darkline_available)||!['YES','NO'].includes(row.equivalent_method_available))errors.push('METHOD_AVAILABILITY_ENUM');if(row.darkline_available==='YES'&&row.selected_method!=='DARKLINE_PUBLIC_PRIMARY_SOURCE_DISCOVERY')errors.push('METHOD_DARKLINE_SELECTION');if(row.darkline_available==='NO'&&row.equivalent_method_available==='YES'&&row.selected_method!=='CODEX_WEB_SEARCH_QUERY_AND_OPEN')errors.push('METHOD_EQUIVALENT_SELECTION');if(row.darkline_available==='NO'&&row.equivalent_method_available==='NO'&&row.status!=='HELD_BY_REQUIRED_EXTERNAL_INFORMATION_METHOD_UNAVAILABLE')errors.push('METHOD_UNAVAILABLE_NOT_HELD');if(row.status==='PASS'&&!row.selected_method)errors.push('METHOD_PASS_WITHOUT_SELECTION');if(row.task_mode!=='14_AUTHORITY_QUERIES_PUBLIC_WEB_READ_ONLY')errors.push('METHOD_TASK_MODE');if(row.release_gate_status!=='PASS_EXACT_RELEASE_BEFORE_NETWORK')errors.push('METHOD_RELEASE_GATE');if(!iso(row.checked_at))errors.push('METHOD_PREFLIGHT_TIME');return errors;}
 
function rawCanonical(row){return JSON.stringify(Object.fromEntries(RAW_FIELDS.filter(field=>field!=='raw_record_sha256').map(field=>[field,String(row[field]??'')])));}
export function parseRawArchive(text){const rows=[],errors=[];for(const [index,line] of normalize(Buffer.from(text)).split('\n').filter(Boolean).entries()){try{const row=JSON.parse(line);const missing=RAW_FIELDS.filter(field=>!(field in row));if(missing.length){errors.push(`RAW_FIELDS:${index+1}:${missing.join(',')}`);continue;}if(Object.keys(row).join('|')!==RAW_FIELDS.join('|'))errors.push(`RAW_FIELD_ORDER:${index+1}`);if(row.raw_record_sha256!==sha(Buffer.from(rawCanonical(row))))errors.push(`RAW_HASH:${row.raw_record_id}`);rows.push(Object.fromEntries(RAW_FIELDS.map(field=>[field,String(row[field]??'')])));}catch(error){errors.push(`RAW_JSON:${index+1}:${error.message}`);}}return{rows,errors};}
export function serializeRawArchive(rows){return`${rows.map(row=>JSON.stringify(Object.fromEntries(RAW_FIELDS.map(field=>[field,String(row[field]??'')])))).join('\n')}\n`;}
 
export function provenanceErrors({rawRows,supplements,provenance,candidates,queryLedger},bundle=authorityBundle()){
  const errors=[...queryPolicyErrors(bundle),...base.validateStaging(queryLedger,candidates,bundle)],rawById=new Map(),candidateById=new Map(candidates.map(row=>[row.candidate_id,row]));
  for(const row of rawRows){if(rawById.has(row.raw_record_id))errors.push(`RAW_DUPLICATE:${row.raw_record_id}`);rawById.set(row.raw_record_id,row);if(!bundle.queries.some(query=>query.query_id===row.query_id))errors.push(`RAW_QUERY:${row.raw_record_id}`);if(!iso(row.retrieved_at))errors.push(`RAW_TIME:${row.raw_record_id}`);if(!['SEARCH_RESULT','OPEN_RESULT','SEARCH_NO_RESULT','ACCESS_BLOCKED_DARKLINE'].includes(row.operation))errors.push(`RAW_OPERATION:${row.raw_record_id}`);if(!['web.search_query','web.open','darkline'].includes(row.source_tool))errors.push(`RAW_TOOL:${row.raw_record_id}`);if(row.raw_record_sha256!==sha(Buffer.from(rawCanonical(row))))errors.push(`RAW_HASH:${row.raw_record_id}`);}
  const querySet=new Set(rawRows.map(row=>row.query_id));for(const query of bundle.queries)if(!querySet.has(query.query_id))errors.push(`RAW_QUERY_MISSING:${query.query_id}`);
  const supplementByRaw=new Map();for(const row of supplements){if(supplementByRaw.has(row.raw_record_id))errors.push(`SUPPLEMENT_DUPLICATE_RAW:${row.raw_record_id}`);supplementByRaw.set(row.raw_record_id,row);const raw=rawById.get(row.raw_record_id);if(!raw)errors.push(`SUPPLEMENT_RAW:${row.supplement_id}`);else if(row.query_id!==raw.query_id||row.conceptual_gap_key!==raw.conceptual_gap_key||row.canonical_url!==raw.canonical_url)errors.push(`SUPPLEMENT_RAW_MAPPING:${row.supplement_id}`);if(!['CANDIDATE_ACCEPTED','REJECT_SECONDARY','REJECT_NOT_RELEVANT','REJECT_DUPLICATE','NO_RESULT','DARKLINE_HELD'].includes(row.disposition))errors.push(`SUPPLEMENT_DISPOSITION:${row.supplement_id}`);if(row.gap_effect!=='DISCOVERY_ONLY_GAP_REMAINS_OPEN')errors.push(`SUPPLEMENT_GAP_EFFECT:${row.supplement_id}`);if((row.disposition==='CANDIDATE_ACCEPTED')!==Boolean(row.candidate_id))errors.push(`SUPPLEMENT_CANDIDATE_PAIR:${row.supplement_id}`);}
  for(const id of rawById.keys())if(!supplementByRaw.has(id))errors.push(`SUPPLEMENT_MISSING_RAW:${id}`);for(const id of supplementByRaw.keys())if(!rawById.has(id))errors.push(`SUPPLEMENT_EXTRA_RAW:${id}`);
  const provenanceByCandidate=new Map();for(const row of provenance){if(provenanceByCandidate.has(row.candidate_id))errors.push(`PROVENANCE_DUPLICATE_CANDIDATE:${row.candidate_id}`);provenanceByCandidate.set(row.candidate_id,row);const candidate=candidateById.get(row.candidate_id),raw=rawById.get(row.raw_record_id);if(!candidate||!raw){errors.push(`PROVENANCE_FK:${row.provenance_id}`);continue;}for(const field of ['query_id','conceptual_gap_key','canonical_url','content_locator','snippet_text_sha256','source_class','primary_source_status'])if(row[field]!==candidate[field])errors.push(`PROVENANCE_CANDIDATE_FIELD:${row.provenance_id}:${field}`);if(row.query_id!==raw.query_id||row.conceptual_gap_key!==raw.conceptual_gap_key||row.canonical_url!==raw.canonical_url||row.raw_record_sha256!==raw.raw_record_sha256)errors.push(`PROVENANCE_RAW_FIELD:${row.provenance_id}`);if(row.evidence_effect!=='NO_UPGRADE_CANDIDATE_ONLY')errors.push(`PROVENANCE_EFFECT:${row.provenance_id}`);}
  for(const id of candidateById.keys())if(!provenanceByCandidate.has(id))errors.push(`PROVENANCE_MISSING_CANDIDATE:${id}`);for(const id of provenanceByCandidate.keys())if(!candidateById.has(id))errors.push(`PROVENANCE_EXTRA_CANDIDATE:${id}`);
  return[...new Set(errors)];
}
 
export function deriveOutputs(queryLedger,candidates,methodPreflight,bundle=authorityBundle()){const derived=base.deriveOutputs(queryLedger,candidates,bundle),darklineByGap=new Map();for(const row of queryLedger)if(row.execution_status==='ACCESS_BLOCKED')darklineByGap.set(row.conceptual_gap_key,(darklineByGap.get(row.conceptual_gap_key)??0)+1);const dispositions=derived.dispositions.map(row=>({...row,result:(darklineByGap.get(row.conceptual_gap_key)??0)>0?'HELD_BY_DARKLINE_PENDING_MANUAL_SOURCE_ACCESS':row.result}));const summary=derived.summary.map(row=>{const darkline=darklineByGap.get(row.conceptual_gap_key)??0;return{summary_id:row.summary_id,conceptual_gap_key:row.conceptual_gap_key,source_occurrences:row.source_occurrences,queries_executed:row.queries_executed,candidates_captured:row.candidates_captured,primary_confirmed:row.primary_confirmed,primary_pending:row.primary_pending,darkline_queries:String(darkline),result:darkline?'HELD_BY_DARKLINE_PENDING_MANUAL_SOURCE_ACCESS':row.result,gap_state_after:row.gap_state_after,claim_strength_ceiling:row.claim_strength_ceiling,formal_pool_effect:row.formal_pool_effect,evidence_strength_effect:row.evidence_strength_effect};});const applications=derived.applications.map(row=>({...row,application_action:(darklineByGap.get(row.conceptual_gap_key)??0)>0?'REGISTER_DARKLINE_HELD_RETAIN_GAP':row.application_action}));return{dispositions,summary,applications,runStatus:methodPreflight[0]?.status==='PASS'?(darklineByGap.size?'HELD_BY_DARKLINE_PENDING_MANUAL_SOURCE_ACCESS':'CANDIDATE_DISCOVERY_COMPLETED_PENDING_INDEPENDENT_REVIEW'):'HELD_BY_REQUIRED_EXTERNAL_INFORMATION_METHOD_UNAVAILABLE'};}
 
export function derivedErrors({queryLedger,candidates,methodPreflight,dispositions,summary,applications},bundle=authorityBundle()){const expected=deriveOutputs(queryLedger,candidates,methodPreflight,bundle);return[...equalRows(dispositions,expected.dispositions,DISPOSITION_COLUMNS,'DISPOSITION'),...equalRows(summary,expected.summary,SUMMARY_COLUMNS,'SUMMARY'),...equalRows(applications,expected.applications,APPLICATION_COLUMNS,'APPLICATION')];}
 
export function contractRows(){const inherited=base.contractRows().map(row=>({...row,contract_id:row.contract_id.replace('P0DISC-CON','P0DISCR1-CON'),required_value_or_rule:row.required_value_or_rule.replace('16 unique paths','21 unique paths').replace('exact sixteen-row delta','exact twenty-one-row delta')}));const extra=[['FORMAL_DESIGN','ENTRY','append-stable exact design section authority required'],['METHOD','DARKLINE_OR_EQUIVALENT','darkline if callable else CODEX_WEB_SEARCH_QUERY_AND_OPEN approved equivalent'],['METHOD','UNAVAILABLE','both unavailable => HELD before network'],['METHOD','LIFECYCLE','release -> baseline -> preflight -> 14 query raw/query/supplement/provenance freeze -> deterministic derivation -> validation -> manifest'],['QUERY_POLICY','CROSSBIND','required_source_class subset referenced policy allowed_value bidirectionally'],['RAW_ARCHIVE','SCHEMA','JSONL exact ordered fields and per-record hash'],['RAW_ARCHIVE','COVERAGE','every query has at least one raw search/result/no-result/darkline record'],['SUPPLEMENT','ANTI_JOIN','every raw record exactly one disposition and no extras'],['PROVENANCE','ANTI_JOIN','every candidate exactly one raw provenance row and no extras'],['PROVENANCE','FIELDS','candidate/raw URL/query/gap/hash/source class exact'],['DARKLINE','GATE','access blocked => HELD_BY_DARKLINE_PENDING_MANUAL_SOURCE_ACCESS'],['EXECUTION','TWO_PHASE_SAME_RUN','begin writes baseline+method first; finalize validates frozen discovery records and commits exact21'],['EXECUTION','EXACT_SET','21 paths baseline first validation last'],['EXECUTION','ROLLBACK','finalize rollback restores manifest and removes derived outputs while preserving immutable discovery archive for safe retry']];return[...inherited,...extra.map((item,index)=>({contract_id:`P0DISCR1-CON-${String(inherited.length+index+1).padStart(3,'0')}`,scope:item[0],field:item[1],required_value_or_rule:item[2],violation_status:'FAIL_CLOSED_OR_HELD'}))];}
 
export function schemaRows(){const specs=[['EXECUTION_BASELINE',EXEC_BASELINE,BASELINE_COLUMNS,'baseline_id','dynamic_14_or_more','release/design/method/current identities','BASELINE_FIRST'],['METHOD_PREFLIGHT',METHOD_PREFLIGHT,METHOD_PREFLIGHT_COLUMNS,'preflight_id','exact1','release-before-network method availability','HELD_IF_UNAVAILABLE'],['RAW_ARCHIVE',RAW_ARCHIVE,RAW_FIELDS,'raw_record_id','at_least14_jsonl_records','immutable query/search/open provenance','DISCOVERY_ONLY_GAP_REMAINS_OPEN'],['QUERY_LEDGER',QUERY_LEDGER,QUERY_LEDGER_COLUMNS,'query_execution_id','exact14','query authority execution records','DISCOVERY_ONLY_GAP_REMAINS_OPEN'],['SUPPLEMENT_LEDGER',SUPPLEMENT_LEDGER,SUPPLEMENT_COLUMNS,'supplement_id','exact_raw_record_count','raw disposition bijection','DISCOVERY_ONLY_GAP_REMAINS_OPEN'],['PROVENANCE_LEDGER',PROVENANCE_LEDGER,PROVENANCE_COLUMNS,'provenance_id','exact_candidate_count','candidate-to-raw bijection','NO_UPGRADE_CANDIDATE_ONLY'],['CANDIDATE_REGISTER',CANDIDATE_REGISTER,CANDIDATE_COLUMNS,'candidate_id','0_to_35','validated primary-source candidates','DISCOVERY_ONLY_GAP_REMAINS_OPEN'],['OCCURRENCE_DISPOSITION',OCCURRENCE_DISPOSITION,DISPOSITION_COLUMNS,'disposition_id','exact10','deterministic target/candidate/darkline','OPEN_RETAINED_GAP'],['GAP_SUMMARY',GAP_SUMMARY,SUMMARY_COLUMNS,'summary_id','exact7','deterministic gap/query/candidate/darkline','OPEN_RETAINED_GAP'],['APPLICATION',APPLICATION,APPLICATION_COLUMNS,'application_id','exact10','review-only application','NO_GAP_CLOSURE_NO_OUTPUT_MUTATION'],['EXECUTION_REQUEST',EXEC_REQUEST,['MARKDOWN_UTF8_NO_BOM_LF'],'NOT_APPLICABLE','exact_one_file','frozen request','NO_UPGRADE'],['EXECUTION_VALIDATION',EXEC_VALIDATION,VALIDATION_COLUMNS,'check_id','exact20','fail-closed execution oracle','VALIDATION_LAST']];return specs.map((item,index)=>({schema_id:`P0DISCR1-SCHEMA-${String(index+1).padStart(3,'0')}`,artifact_role:item[0],artifact_path:item[1],column_order:item[2].join('|'),primary_key:item[3],row_count_rule:item[4],serialization:item[0]==='EXECUTION_REQUEST'?'UTF8_NO_BOM_LF_MARKDOWN':item[0]==='RAW_ARCHIVE'?'UTF8_NO_BOM_LF_JSONL_CANONICAL_KEYS':'UTF8_NO_BOM_LF_ALL_FIELDS_QUOTED_CSV',derivation_rule:item[5],required_boundary:item[6]}));}
 
export function executionSetRows(){const paths=[SCRIPT,TARGET_AUTHORITY,GAP_AUTHORITY,QUERY_AUTHORITY,SOURCE_POLICY,METHOD_AUTHORITY,FORMAL_DESIGN_ENTRY_AUTHORITY,CONTRACT,SCHEMA,EXEC_BASELINE,METHOD_PREFLIGHT,RAW_ARCHIVE,QUERY_LEDGER,SUPPLEMENT_LEDGER,PROVENANCE_LEDGER,CANDIDATE_REGISTER,OCCURRENCE_DISPOSITION,GAP_SUMMARY,APPLICATION,EXEC_REQUEST,EXEC_VALIDATION];const roles=['RUNTIME_R1','TARGET_AUTHORITY_REUSED','GAP_AUTHORITY_REUSED','QUERY_AUTHORITY_R1','SOURCE_POLICY_R1','EXTERNAL_METHOD_AUTHORITY','FORMAL_DESIGN_ENTRY_AUTHORITY','RUNTIME_CONTRACT_R1','OUTPUT_SCHEMA_R1','EXECUTION_BASELINE_FIRST','METHOD_PREFLIGHT','RAW_ARCHIVE','QUERY_LEDGER','SUPPLEMENT_LEDGER','PROVENANCE_LEDGER','CANDIDATE_REGISTER','OCCURRENCE_DISPOSITION','GAP_SUMMARY','APPLICATION','EXECUTION_REQUEST','VALIDATION_LAST'];return paths.map((artifactPath,index)=>({artifact_id:`P0DISCR1-EXEC-SET-${String(index+1).padStart(3,'0')}`,batch_id:EXEC_BATCH,run_id:EXEC_RUN,generation_order:String(index+1),artifact_path:artifactPath,artifact_role:roles[index],identity_policy:'EXACT_SHA256_BYTES_FILESYSTEM_MTIME_MS'}));}
 
function manifestState({expectedRows=[],expectedRunId='',frozenPrefix=null,expectedPhysicalDelta=null}={}){const buffer=fs.readFileSync(abs(MANIFEST));return validateAppendStableManifest(buffer,{anomalyRows:readCsv(ANOMALY_AUTHORITY).rows,frozenPrefix,originalRunId:ORIGINAL_TRIAGE_RUN,originalRunExpectedRows:11,expectedRunRows:expectedRows,expectedRunId,expectedPhysicalDelta,filesystemIdentity:{runIds:expectedRunId?[expectedRunId]:[],get:file=>fs.existsSync(abs(file))?fileIdentity(file):null}});}
function designManifestRows(){return manifestState().logicalRows.filter(row=>row.run_id===DESIGN_RUN);}
function formalEntryErrors(){const rows=readCsv(FORMAL_DESIGN_ENTRY_AUTHORITY).rows;if(rows.length!==1)return['FORMAL_DESIGN_ENTRY_COUNT'];const row=rows[0],text=normalize(fs.readFileSync(abs(row.artifact_path))),lines=text.split('\n'),entryText=`${lines.slice(Number(row.start_line)-1,Number(row.end_line)).join('\n')}\n`,errors=[];if(sha(Buffer.from(entryText))!==row.sha256||Buffer.byteLength(entryText)!==Number(row.bytes)||lineCount(Buffer.from(entryText))!==Number(row.lines))errors.push('FORMAL_DESIGN_ENTRY_IDENTITY');for(const marker of row.required_markers.split('|'))if(!entryText.includes(marker))errors.push(`FORMAL_DESIGN_ENTRY_MARKER:${marker}`);return errors;}
 
export const GENERATED=[EXEC_BASELINE,METHOD_PREFLIGHT,RAW_ARCHIVE,QUERY_LEDGER,SUPPLEMENT_LEDGER,PROVENANCE_LEDGER,CANDIDATE_REGISTER,OCCURRENCE_DISPOSITION,GAP_SUMMARY,APPLICATION,EXEC_REQUEST,EXEC_VALIDATION];
const DISCOVERY_STAGE=[RAW_ARCHIVE,QUERY_LEDGER,SUPPLEMENT_LEDGER,PROVENANCE_LEDGER,CANDIDATE_REGISTER];
const DERIVED_STAGE=[OCCURRENCE_DISPOSITION,GAP_SUMMARY,APPLICATION,EXEC_REQUEST,EXEC_VALIDATION];
 
export function designInputErrors({requireRelease=false,expectNoExecution=true}={}){const bundle=authorityBundle(),errors=[...queryPolicyErrors(bundle),...methodAuthorityErrors(bundle.methods),...formalEntryErrors(),...releaseErrors({requireRelease})];if(bundle.targets.length!==10)errors.push('TARGET_COUNT');if(bundle.gaps.length!==7)errors.push('GAP_COUNT');if(bundle.queries.length!==14)errors.push('QUERY_COUNT');if(bundle.contracts.length!==46)errors.push(`CONTRACT_COUNT:${bundle.contracts.length}`);if(bundle.schemas.length!==12)errors.push(`SCHEMA_COUNT:${bundle.schemas.length}`);if(bundle.executionSet.length!==21||new Set(bundle.executionSet.map(row=>row.artifact_path)).size!==21)errors.push(`EXEC_SET_COUNT:${bundle.executionSet.length}`);else errors.push(...equalRows(bundle.executionSet,executionSetRows(),EXEC_SET_COLUMNS,'EXEC_SET'));
  const rows=designManifestRows();if(rows.length!==14||new Set(rows.map(row=>row.artifact_path)).size!==14)errors.push(`DESIGN_MANIFEST_ROWS:${rows.length}`);for(const row of rows){if(!fs.existsSync(abs(row.artifact_path))){errors.push(`DESIGN_ARTIFACT_MISSING:${row.artifact_path}`);continue;}const id=fileIdentity(row.artifact_path);if(row.case_id!==CASE_ID||row.run_id!==DESIGN_RUN||row.batch_id!==DESIGN_BATCH||row.sha256!==id.sha256||row.bytes!==String(id.bytes)||Date.parse(row.mtime)!==id.mtimeMs)errors.push(`DESIGN_IDENTITY:${row.artifact_path}`);}
  if(expectNoExecution){if(GENERATED.some(file=>fs.existsSync(abs(file))))errors.push('EXECUTION_FILES_EXIST');if(manifestState().logicalRows.some(row=>row.run_id===EXEC_RUN))errors.push('EXECUTION_MANIFEST_ROWS');}
  return[...new Set(errors)];}
 
function baselineRows(){const release=auditEntry(RELEASE_AUDIT),manifestBuffer=fs.readFileSync(abs(MANIFEST));if(!release)throw new Error('RELEASE_AUDIT_MISSING');const rows=[{baseline_id:'P0DISCR1-EXEC-BASE-001',identity_type:'NORMALIZED_RELEASE_AUDIT_ENTRY',artifact_path:`${AUDIT_REPORT}#L${release.start}-L${release.end}`,rows:String(release.lines),bytes:String(release.bytes),sha256:release.sha256,mtime:'INFO_APPENDABLE_SHARED_FILE',required_state:'EXACT_ENTRY_PASS_RELEASE_METHOD_AND_BATCH_RUN'},{baseline_id:'P0DISCR1-EXEC-BASE-002',identity_type:'RAW_MANIFEST_BEFORE_EXECUTION',artifact_path:MANIFEST,rows:String(manifestState().logicalDataRows),bytes:String(manifestBuffer.length),sha256:sha(manifestBuffer),mtime:new Date(Math.trunc(fs.statSync(abs(MANIFEST)).mtimeMs)).toISOString(),required_state:'EXACT_APPEND_ONLY_PREFIX'}];for(const file of [SCRIPT,TARGET_AUTHORITY,GAP_AUTHORITY,QUERY_AUTHORITY,SOURCE_POLICY,METHOD_AUTHORITY,FORMAL_DESIGN_ENTRY_AUTHORITY,CONTRACT,SCHEMA,EXEC_SET,ANOMALY_AUTHORITY]){const id=fileIdentity(file);rows.push({baseline_id:`P0DISCR1-EXEC-BASE-${String(rows.length+1).padStart(3,'0')}`,identity_type:'PHYSICAL_FILE',artifact_path:file,rows:String(id.rows),bytes:String(id.bytes),sha256:id.sha256,mtime:id.mtime,required_state:'EXACT_FROZEN_EXECUTION_INPUT'});}return rows;}
 
export function baselineErrors(rows){const errors=[];if(rows.length!==13)return[`BASELINE_COUNT:${rows.length}`];const release=auditEntry(RELEASE_AUDIT),manifest=fs.readFileSync(abs(MANIFEST));if(!release)errors.push('BASELINE_RELEASE_MISSING');else{const row=rows[0];if(row.rows!==String(release.lines)||row.bytes!==String(release.bytes)||row.sha256!==release.sha256||row.required_state!=='EXACT_ENTRY_PASS_RELEASE_METHOD_AND_BATCH_RUN')errors.push('BASELINE_RELEASE_ENTRY');}const prefix=rows[1];if(!manifest.subarray(0,Number(prefix.bytes)).equals(manifest.subarray(0,Number(prefix.bytes)))||sha(manifest.subarray(0,Number(prefix.bytes)))!==prefix.sha256)errors.push('BASELINE_MANIFEST_PREFIX');for(const row of rows.slice(2)){if(!fs.existsSync(abs(row.artifact_path))){errors.push(`BASELINE_INPUT_MISSING:${row.artifact_path}`);continue;}const id=fileIdentity(row.artifact_path);if(row.rows!==String(id.rows)||row.bytes!==String(id.bytes)||row.sha256!==id.sha256||Date.parse(row.mtime)!==id.mtimeMs)errors.push(`BASELINE_INPUT_IDENTITY:${row.artifact_path}`);}return errors;}
 
function makePreflight(method){const darkline=method==='DARKLINE_PUBLIC_PRIMARY_SOURCE_DISCOVERY',equivalent=method==='CODEX_WEB_SEARCH_QUERY_AND_OPEN';return[{preflight_id:'P0DISCR1-PREFLIGHT-001',method_id:'P0DISCR1-METHOD-001',darkline_available:darkline?'YES':'NO',equivalent_method_available:equivalent?'YES':'NO',selected_method:darkline?'DARKLINE_PUBLIC_PRIMARY_SOURCE_DISCOVERY':equivalent?'CODEX_WEB_SEARCH_QUERY_AND_OPEN':'',task_mode:'14_AUTHORITY_QUERIES_PUBLIC_WEB_READ_ONLY',release_gate_status:'PASS_EXACT_RELEASE_BEFORE_NETWORK',checked_at:new Date().toISOString(),status:darkline||equivalent?'PASS':'HELD_BY_REQUIRED_EXTERNAL_INFORMATION_METHOD_UNAVAILABLE'}];}
 
export function beginDiscovery({token,method}={}){if(token!==EXEC_TOKEN)throw new Error('EXECUTION_TOKEN_MISMATCH');const errors=designInputErrors({requireRelease:true,expectNoExecution:true});if(errors.length)throw new Error(`BEGIN_PREWRITE:${errors.join('|')}`);writeText(EXEC_BASELINE,serializeCsv(baselineRows(),BASELINE_COLUMNS));const preflight=makePreflight(method);writeText(METHOD_PREFLIGHT,serializeCsv(preflight,METHOD_PREFLIGHT_COLUMNS));const methodErrors=methodPreflightErrors(preflight);if(methodErrors.length)throw new Error(`METHOD_PREFLIGHT:${methodErrors.join('|')}`);return{status:preflight[0].status==='PASS'?'READY_FOR_EXACT_14_QUERY_DISCOVERY':'HELD_BY_REQUIRED_EXTERNAL_INFORMATION_METHOD_UNAVAILABLE',selected_method:preflight[0].selected_method,network_allowed:preflight[0].status==='PASS',baseline_rows:readCsv(EXEC_BASELINE).rows.length};}
 
function readDiscoveryBundle(){const raw=parseRawArchive(fs.readFileSync(abs(RAW_ARCHIVE))),query=readCsv(QUERY_LEDGER),supplements=readCsv(SUPPLEMENT_LEDGER),provenance=readCsv(PROVENANCE_LEDGER),candidates=readCsv(CANDIDATE_REGISTER),method=readCsv(METHOD_PREFLIGHT),errors=[...raw.errors,...exactColumns(query,QUERY_LEDGER_COLUMNS,'QUERY_LEDGER'),...exactColumns(supplements,SUPPLEMENT_COLUMNS,'SUPPLEMENT'),...exactColumns(provenance,PROVENANCE_COLUMNS,'PROVENANCE'),...exactColumns(candidates,CANDIDATE_COLUMNS,'CANDIDATE'),...exactColumns(method,METHOD_PREFLIGHT_COLUMNS,'METHOD_PREFLIGHT')];const value={rawRows:raw.rows,queryLedger:query.rows,supplements:supplements.rows,provenance:provenance.rows,candidates:candidates.rows,methodPreflight:method.rows};errors.push(...methodPreflightErrors(value.methodPreflight),...provenanceErrors(value));return{...value,errors:[...new Set(errors)]};}
 
export function validateDiscoveryStaging(){const errors=[...releaseErrors({requireRelease:true})];if(!fs.existsSync(abs(EXEC_BASELINE))||!fs.existsSync(abs(METHOD_PREFLIGHT)))errors.push('BEGIN_ARTIFACTS_MISSING');for(const file of DISCOVERY_STAGE)if(!fs.existsSync(abs(file)))errors.push(`DISCOVERY_STAGE_MISSING:${file}`);if(errors.length)return errors;errors.push(...baselineErrors(readCsv(EXEC_BASELINE).rows),...readDiscoveryBundle().errors);if(DERIVED_STAGE.some(file=>fs.existsSync(abs(file))))errors.push('DERIVED_STAGE_MUST_BE_ABSENT');if(manifestState().logicalRows.some(row=>row.run_id===EXEC_RUN))errors.push('EXECUTION_MANIFEST_ROWS_EXIST');return[...new Set(errors)];}
 
function requestText(runStatus){return`# P0 一手来源发现执行复审请求(REPAIR-001)\n\ncase_id=${CASE_ID}\nrelease_audit=${RELEASE_AUDIT}\nbatch_id=${EXEC_BATCH}\nrun_id=${EXEC_RUN}\nexternal_information_method=CODEX_WEB_SEARCH_QUERY_AND_OPEN_APPROVED_EQUIVALENT\nnetwork_scope=PUBLIC_WEB_PRIMARY_SOURCE_DISCOVERY_ONLY\nquery_scope=14_FROZEN_AUTHORITY_QUERIES\nraw_archive=${RAW_ARCHIVE}\nprovenance_ledger=${PROVENANCE_LEDGER}\nrun_status=${runStatus}\ngap_effect=DISCOVERY_ONLY_GAP_REMAINS_OPEN\nclaim_strength_ceiling=PENDING_VERIFICATION_MAX_NO_UPGRADE\nformal_pool_effect=NO_AUTOMATIC_FORMAL_POOL_CHANGE\nevidence_strength_effect=NO_UPGRADE\noutput_mutation=NO_BUSINESS_OUTPUT_MUTATION\n\n请独立复核 method preflight、14 条查询、raw/supplement/provenance/candidate 双向闭环、10/7/10 确定性派生、exact-set 与 manifest 事务。\n`;}
 
function validationRows(discovery,derived){const runtime=[...discovery.errors,...derivedErrors({...discovery,...derived})],checks=[['RUNTIME_ERRORS','0',String(runtime.length)],['TARGETS','10','10'],['CONCEPTUAL_GAPS','7','7'],['QUERIES','14',String(discovery.queryLedger.length)],['RAW_QUERY_COVERAGE','14',String(new Set(discovery.rawRows.map(row=>row.query_id)).size)],['SUPPLEMENT_BIJECTION',String(discovery.rawRows.length),String(discovery.supplements.length)],['CANDIDATE_PROVENANCE',String(discovery.candidates.length),String(discovery.provenance.length)],['OCCURRENCE_DISPOSITION','10',String(derived.dispositions.length)],['GAP_SUMMARY','7',String(derived.summary.length)],['APPLICATION','10',String(derived.applications.length)],['GAP_STATE','OPEN_RETAINED_GAP',derived.dispositions.every(row=>row.gap_state_after==='OPEN_RETAINED_GAP')?'OPEN_RETAINED_GAP':'MISMATCH'],['CLAIM_CEILING','PENDING_VERIFICATION_MAX_NO_UPGRADE',derived.dispositions.every(row=>row.claim_strength_after==='PENDING_VERIFICATION_MAX_NO_UPGRADE')?'PENDING_VERIFICATION_MAX_NO_UPGRADE':'MISMATCH'],['FORMAL_POOL','NO_AUTOMATIC_FORMAL_POOL_CHANGE',derived.applications.every(row=>row.formal_pool_effect==='NO_AUTOMATIC_FORMAL_POOL_CHANGE')?'NO_AUTOMATIC_FORMAL_POOL_CHANGE':'MISMATCH'],['EVIDENCE_STRENGTH','NO_UPGRADE',derived.applications.every(row=>row.evidence_strength_effect==='NO_UPGRADE')?'NO_UPGRADE':'MISMATCH'],['BUSINESS_OUTPUT_MUTATION','NO','NO'],['EXECUTION_EXACT_SET','21','21'],['METHOD','CODEX_WEB_SEARCH_QUERY_AND_OPEN',discovery.methodPreflight[0].selected_method],['NETWORK_BOUNDARY','PUBLIC_WEB_READ_ONLY_NO_LOGIN_NO_FORM_SUBMISSION_NO_PURCHASE_NO_PAYWALL_BYPASS','PUBLIC_WEB_READ_ONLY_NO_LOGIN_NO_FORM_SUBMISSION_NO_PURCHASE_NO_PAYWALL_BYPASS'],['REVIEW_STATE','PENDING_INDEPENDENT_EXECUTION_AND_OUTPUT_QUALITY_REVIEW','PENDING_INDEPENDENT_EXECUTION_AND_OUTPUT_QUALITY_REVIEW']];const rows=checks.map((item,index)=>({check_id:`P0DISCR1-EXEC-VAL-${String(index+1).padStart(3,'0')}`,check_description:item[0],expected:item[1],actual:item[2],status:item[1]===item[2]?'PASS':'FAIL',evidence:'REPAIR001_SHARED_RUNTIME_ORACLE'}));rows.push({check_id:'P0DISCR1-EXEC-VAL-020',check_description:'SELF_REFERENCE_EXCLUDED',expected:'SELF_REFERENCE_EXCLUDED',actual:'SELF_REFERENCE_EXCLUDED',status:'INFO',evidence:'validation and manifest identity checked after freeze'});return rows;}
 
function manifestRowsFor(paths){return paths.map(file=>{const id=fileIdentity(file);return{case_id:CASE_ID,run_id:EXEC_RUN,batch_id:EXEC_BATCH,artifact_path:file,sha256:id.sha256,bytes:String(id.bytes),mtime:id.mtime};});}
 
export function finalizeDiscovery({token}={}){if(token!==EXEC_TOKEN)throw new Error('EXECUTION_TOKEN_MISMATCH');const pre=validateDiscoveryStaging();if(pre.length)throw new Error(`FINALIZE_PREWRITE:${pre.join('|')}`);const manifestBefore=fs.readFileSync(abs(MANIFEST)),discovery=readDiscoveryBundle(),derived=deriveOutputs(discovery.queryLedger,discovery.candidates,discovery.methodPreflight),generated=[...DERIVED_STAGE];try{writeText(OCCURRENCE_DISPOSITION,serializeCsv(derived.dispositions,DISPOSITION_COLUMNS));writeText(GAP_SUMMARY,serializeCsv(derived.summary,SUMMARY_COLUMNS));writeText(APPLICATION,serializeCsv(derived.applications,APPLICATION_COLUMNS));writeText(EXEC_REQUEST,requestText(derived.runStatus));const validation=validationRows(discovery,derived);writeText(EXEC_VALIDATION,serializeCsv(validation,VALIDATION_COLUMNS));if(validation.some(row=>row.status==='FAIL'))throw new Error('EXECUTION_VALIDATION_FAIL');const paths=executionSetRows().map(row=>row.artifact_path),rows=manifestRowsFor(paths),candidate=Buffer.concat([manifestBefore,Buffer.from(serializeManifestDataRows(rows),'utf8')]),candidateState=validateAppendStableManifest(candidate,{anomalyRows:readCsv(ANOMALY_AUTHORITY).rows,frozenPrefix:{bytes:manifestBefore.length,sha256:sha(manifestBefore)},originalRunId:ORIGINAL_TRIAGE_RUN,originalRunExpectedRows:11,expectedRunRows:rows,expectedRunId:EXEC_RUN,expectedPhysicalDelta:21});if(candidateState.errors.length)throw new Error(`MANIFEST_CANDIDATE:${candidateState.errors.join('|')}`);fs.writeFileSync(abs(MANIFEST),candidate);const post=validateExecution();if(post.length)throw new Error(`POSTWRITE:${post.join('|')}`);return{status:'EXECUTED_PENDING_INDEPENDENT_EXECUTION_AND_OUTPUT_QUALITY_REVIEW',queries:14,raw_records:discovery.rawRows.length,candidates:discovery.candidates.length,occurrences:10,gaps:7,manifest_rows:21,run_status:derived.runStatus};}catch(error){const cleanup=[];try{fs.writeFileSync(abs(MANIFEST),manifestBefore);}catch(failure){cleanup.push(`MANIFEST_RESTORE:${failure.message}`);}for(const file of generated)if(fs.existsSync(abs(file)))try{fs.rmSync(abs(file));}catch(failure){cleanup.push(`REMOVE:${file}:${failure.message}`);}if(cleanup.length)throw new Error(`ROLLBACK_INCOMPLETE_HELD:${cleanup.join('|')}:${error.message}`);throw error;}}
 
export function validateExecution(){const errors=[];for(const file of GENERATED)if(!fs.existsSync(abs(file)))errors.push(`EXECUTION_ARTIFACT_MISSING:${file}`);if(errors.length)return errors;const baseline=readCsv(EXEC_BASELINE),discovery=readDiscoveryBundle(),dispositions=readCsv(OCCURRENCE_DISPOSITION),summary=readCsv(GAP_SUMMARY),applications=readCsv(APPLICATION),validation=readCsv(EXEC_VALIDATION);errors.push(...exactColumns(baseline,BASELINE_COLUMNS,'BASELINE'),...baselineErrors(baseline.rows),...discovery.errors,...exactColumns(dispositions,DISPOSITION_COLUMNS,'DISPOSITION'),...exactColumns(summary,SUMMARY_COLUMNS,'SUMMARY'),...exactColumns(applications,APPLICATION_COLUMNS,'APPLICATION'),...exactColumns(validation,VALIDATION_COLUMNS,'VALIDATION'),...derivedErrors({...discovery,dispositions:dispositions.rows,summary:summary.rows,applications:applications.rows}));if(validation.rows.length!==20||validation.rows.some(row=>row.status==='FAIL')||validation.rows.filter(row=>row.status==='INFO').length!==1)errors.push('VALIDATION_STATUS');const expected=manifestRowsFor(executionSetRows().map(row=>row.artifact_path)),prefix=baseline.rows[1],state=manifestState({expectedRows:expected,expectedRunId:EXEC_RUN,frozenPrefix:{bytes:Number(prefix.bytes),sha256:prefix.sha256},expectedPhysicalDelta:21});errors.push(...state.errors.map(code=>`MANIFEST:${code}`));if(state.logicalRows.filter(row=>row.run_id===EXEC_RUN).length!==21)errors.push('EXECUTION_MANIFEST_COUNT');return[...new Set(errors)];}
 
function syntheticBundle(){const bundle=authorityBundle(),baseClean=base.syntheticCleanBundle(),candidate=structuredClone(baseClean.candidates[0]),first=bundle.queries[0];candidate.query_id=first.query_id;candidate.conceptual_gap_key=first.conceptual_gap_key;const rawRows=[],supplements=[],provenance=[];for(const [index,query] of bundle.queries.entries()){const accepted=index===0,row={raw_record_id:`P0DISCR1-RAW-${String(index+1).padStart(3,'0')}`,query_id:query.query_id,conceptual_gap_key:query.conceptual_gap_key,result_rank:accepted?'1':'0',operation:accepted?'OPEN_RESULT':'SEARCH_NO_RESULT',canonical_url:accepted?candidate.canonical_url:'',title:accepted?candidate.title:'',snippet_text:accepted?candidate.snippet_text:'',source_tool:accepted?'web.open':'web.search_query',retrieved_at:'2026-07-30T04:00:00.000Z',raw_record_sha256:''};row.raw_record_sha256=sha(Buffer.from(rawCanonical(row)));rawRows.push(row);supplements.push({supplement_id:`P0DISCR1-SUP-${String(index+1).padStart(3,'0')}`,raw_record_id:row.raw_record_id,query_id:row.query_id,conceptual_gap_key:row.conceptual_gap_key,canonical_url:row.canonical_url,disposition:accepted?'CANDIDATE_ACCEPTED':'NO_RESULT',reason_code:accepted?'SYNTHETIC_PRIMARY_FIXTURE':'SYNTHETIC_NO_RESULT',candidate_id:accepted?candidate.candidate_id:'',gap_effect:'DISCOVERY_ONLY_GAP_REMAINS_OPEN'});if(accepted)provenance.push({provenance_id:'P0DISCR1-PROV-001',candidate_id:candidate.candidate_id,raw_record_id:row.raw_record_id,query_id:candidate.query_id,conceptual_gap_key:candidate.conceptual_gap_key,canonical_url:candidate.canonical_url,content_locator:candidate.content_locator,snippet_text_sha256:candidate.snippet_text_sha256,source_class:candidate.source_class,primary_source_status:candidate.primary_source_status,raw_record_sha256:row.raw_record_sha256,evidence_effect:'NO_UPGRADE_CANDIDATE_ONLY'});}
  const queryLedger=baseClean.queryLedger.map(row=>({...row}));for(const row of queryLedger){const query=bundle.queries.find(item=>item.query_id===row.query_id);row.conceptual_gap_key=query.conceptual_gap_key;row.query_text_sha256=sha(Buffer.from(query.query_text));row.candidate_count_captured=query.query_id===first.query_id?'1':'0';row.execution_status=query.query_id===first.query_id?'COMPLETED_WITH_CANDIDATES':'COMPLETED_NO_PRIMARY_CANDIDATE';}
  const methodPreflight=[{preflight_id:'P0DISCR1-PREFLIGHT-001',method_id:'P0DISCR1-METHOD-001',darkline_available:'NO',equivalent_method_available:'YES',selected_method:'CODEX_WEB_SEARCH_QUERY_AND_OPEN',task_mode:'14_AUTHORITY_QUERIES_PUBLIC_WEB_READ_ONLY',release_gate_status:'PASS_EXACT_RELEASE_BEFORE_NETWORK',checked_at:'2026-07-30T04:00:00.000Z',status:'PASS'}];return{methodPreflight,rawRows,queryLedger,supplements,provenance,candidates:[candidate]};}
 
export function repairNegativeRows(){const clean=syntheticBundle(),cases=[['CLEAN',value=>value,'ACCEPT','NONE'],['QUERY_POLICY_ID',value=>({...value,bundle:{...authorityBundle(),queries:authorityBundle().queries.map((row,index)=>index?row:{...row,domain_policy_id:'P0DISC-DOMAIN-001'})}}),'REJECT','QUERY_POLICY_SOURCE_CLASS'],['POLICY_ALLOWED_DROP',value=>({...value,bundle:{...authorityBundle(),policies:authorityBundle().policies.map((row,index)=>index?row:{...row,allowed_value:'EXCHANGE_OR_REGULATOR_FILING'})}}),'REJECT','QUERY_POLICY_SOURCE_CLASS'],['METHOD_UNAVAILABLE_PASS',value=>({...value,methodPreflight:value.methodPreflight.map(row=>({...row,equivalent_method_available:'NO',selected_method:'',status:'PASS'}))}),'REJECT','METHOD_UNAVAILABLE_NOT_HELD'],['METHOD_TASK',value=>({...value,methodPreflight:value.methodPreflight.map(row=>({...row,task_mode:'FREEFORM'}))}),'REJECT','METHOD_TASK_MODE'],['RAW_QUERY_MISSING',value=>({...value,rawRows:value.rawRows.slice(1),supplements:value.supplements.slice(1)}),'REJECT','RAW_QUERY_MISSING'],['RAW_HASH',value=>({...value,rawRows:value.rawRows.map((row,index)=>index?row:{...row,raw_record_sha256:'0'.repeat(64)})}),'REJECT','RAW_HASH'],['SUPPLEMENT_MISSING',value=>({...value,supplements:value.supplements.slice(1)}),'REJECT','SUPPLEMENT_MISSING_RAW'],['PROVENANCE_MISSING',value=>({...value,provenance:[]}),'REJECT','PROVENANCE_MISSING_CANDIDATE'],['PROVENANCE_URL',value=>({...value,provenance:value.provenance.map(row=>({...row,canonical_url:'https://wrong.invalid/'}))}),'REJECT','PROVENANCE_CANDIDATE_FIELD']];return cases.map((item,index)=>{const value=item[1](structuredClone(clean)),bundle=value.bundle??authorityBundle(),errors=[...queryPolicyErrors(bundle),...methodPreflightErrors(value.methodPreflight),...provenanceErrors(value,bundle)],actual=errors.length?'REJECT':'ACCEPT';return{test_id:`P0DISCR1-NEG-${String(index+1).padStart(3,'0')}-${item[0]}`,mutation_applied:index?'YES':'NO_CLEAN_CONTROL',oracle:'repair001RuntimeOracle',expected:item[2],expected_code:item[3],actual,actual_codes:errors.join('|')||'NONE',result:actual===item[2]&&(item[3]==='NONE'||errors.some(code=>code.startsWith(item[3])))?'PASS':'FAIL'};});}
export function negativeRows(){return[...base.negativeRows().map((row,index)=>({...row,test_id:`P0DISCR1-BASE-${String(index+1).padStart(3,'0')}`,oracle:'base.bundleErrors'})),...repairNegativeRows()];}
 
if(process.argv[1]&&import.meta.url===pathToFileURL(process.argv[1]).href){const mode=process.argv[2]??'--preview',token=process.argv.find(value=>value.startsWith('--token='))?.slice(8),method=process.argv.find(value=>value.startsWith('--method='))?.slice(9);if(mode==='--preview'){const clean=syntheticBundle(),errors=[...queryPolicyErrors(),...methodAuthorityErrors(authorityBundle().methods),...methodPreflightErrors(clean.methodPreflight),...provenanceErrors(clean)];console.log(JSON.stringify({status:'PREVIEW_REPAIR001',targets:authorityBundle().targets.length,gaps:authorityBundle().gaps.length,queries:authorityBundle().queries.length,raw:clean.rawRows.length,candidates:clean.candidates.length,contracts:contractRows().length,schemas:schemaRows().length,exact_set:executionSetRows().length,errors},null,2));if(errors.length)process.exitCode=1;}else if(mode==='--self-test'){const rows=negativeRows();console.log(JSON.stringify(rows,null,2));if(rows.some(row=>row.result!=='PASS'))process.exitCode=1;}else if(mode==='--validate-design-inputs'){const errors=designInputErrors({requireRelease:false,expectNoExecution:true});console.log(JSON.stringify({status:errors.length?'FAIL':'PASS_DESIGN_REPAIR001_INPUTS',errors},null,2));if(errors.length)process.exitCode=1;}else if(mode==='--validate-release'){const errors=designInputErrors({requireRelease:true,expectNoExecution:true});console.log(JSON.stringify({status:errors.length?'HELD':'PASS_RELEASE_BEFORE_NETWORK',errors},null,2));if(errors.length)process.exitCode=1;}else if(mode==='--begin-discovery'){console.log(JSON.stringify(beginDiscovery({token,method}),null,2));}else if(mode==='--validate-staging'){const errors=validateDiscoveryStaging();console.log(JSON.stringify({status:errors.length?'FAIL':'PASS_DISCOVERY_STAGING',errors},null,2));if(errors.length)process.exitCode=1;}else if(mode==='--finalize'){console.log(JSON.stringify(finalizeDiscovery({token}),null,2));}else if(mode==='--validate-execution'){const errors=validateExecution();console.log(JSON.stringify({status:errors.length?'FAIL':'PASS_APPEND_STABLE_EXECUTION_STATE',errors},null,2));if(errors.length)process.exitCode=1;}else throw new Error(`UNKNOWN_MODE:${mode}`);}