psyclaw 0.27.22 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1048) hide show
  1. package/README.md +11 -5
  2. package/dist/apps/panel/index.html +2 -2
  3. package/dist/src/adapters/pi/extension.js +225 -92
  4. package/dist/src/adapters/pi/extension.js.map +1 -1
  5. package/dist/src/agents/import.js +44 -32
  6. package/dist/src/agents/import.js.map +1 -1
  7. package/dist/src/analysis/hooks.d.ts +1 -0
  8. package/dist/src/analysis/hooks.js +20 -1
  9. package/dist/src/analysis/hooks.js.map +1 -1
  10. package/dist/src/ars/bridge.d.ts +20 -0
  11. package/dist/src/ars/bridge.js +132 -0
  12. package/dist/src/ars/bridge.js.map +1 -0
  13. package/dist/src/ars/contracts.d.ts +55 -0
  14. package/dist/src/ars/contracts.js +2 -0
  15. package/dist/src/ars/contracts.js.map +1 -0
  16. package/dist/src/ars/panel-plan.d.ts +4 -0
  17. package/dist/src/ars/panel-plan.js +11 -0
  18. package/dist/src/ars/panel-plan.js.map +1 -0
  19. package/dist/src/ars/pi-panel-executor.d.ts +30 -0
  20. package/dist/src/ars/pi-panel-executor.js +140 -0
  21. package/dist/src/ars/pi-panel-executor.js.map +1 -0
  22. package/dist/src/ars/profile.d.ts +36 -0
  23. package/dist/src/ars/profile.js +119 -0
  24. package/dist/src/ars/profile.js.map +1 -0
  25. package/dist/src/ars/re-review.d.ts +22 -0
  26. package/dist/src/ars/re-review.js +172 -0
  27. package/dist/src/ars/re-review.js.map +1 -0
  28. package/dist/src/branding.d.ts +2 -4
  29. package/dist/src/branding.js +3 -5
  30. package/dist/src/branding.js.map +1 -1
  31. package/dist/src/bundled-tools.d.ts +3 -0
  32. package/dist/src/bundled-tools.js +21 -0
  33. package/dist/src/bundled-tools.js.map +1 -0
  34. package/dist/src/chat.js +6 -5
  35. package/dist/src/chat.js.map +1 -1
  36. package/dist/src/creation/contracts.d.ts +38 -0
  37. package/dist/src/creation/contracts.js +2 -0
  38. package/dist/src/creation/contracts.js.map +1 -0
  39. package/dist/src/creation/service.d.ts +7 -0
  40. package/dist/src/creation/service.js +196 -0
  41. package/dist/src/creation/service.js.map +1 -0
  42. package/dist/src/index.d.ts +10 -0
  43. package/dist/src/index.js +10 -0
  44. package/dist/src/index.js.map +1 -1
  45. package/dist/src/install/installer.js +32 -10
  46. package/dist/src/install/installer.js.map +1 -1
  47. package/dist/src/orchestration/personas.d.ts +15 -0
  48. package/dist/src/orchestration/personas.js +51 -0
  49. package/dist/src/orchestration/personas.js.map +1 -0
  50. package/dist/src/orchestration/pi-executor.d.ts +1 -0
  51. package/dist/src/orchestration/pi-executor.js +1 -1
  52. package/dist/src/orchestration/pi-executor.js.map +1 -1
  53. package/dist/src/panel/extension.js +29 -8
  54. package/dist/src/panel/extension.js.map +1 -1
  55. package/dist/src/panel/server.js +14 -5
  56. package/dist/src/panel/server.js.map +1 -1
  57. package/dist/src/project/paths.d.ts +3 -0
  58. package/dist/src/project/paths.js +7 -0
  59. package/dist/src/project/paths.js.map +1 -1
  60. package/dist/src/rules/user-rules.d.ts +8 -0
  61. package/dist/src/rules/user-rules.js +36 -0
  62. package/dist/src/rules/user-rules.js.map +1 -0
  63. package/dist/src/skills/contracts.d.ts +4 -4
  64. package/dist/src/skills/recommended.js +1 -1
  65. package/dist/src/skills/registry.js +49 -28
  66. package/dist/src/skills/registry.js.map +1 -1
  67. package/dist/src/style/cli-ui.js +0 -1
  68. package/dist/src/style/cli-ui.js.map +1 -1
  69. package/package.json +14 -3
  70. package/scripts/rebrand-pi.mjs +6 -0
  71. package/skills/recommended/catalog.json +2 -11
  72. package/vendor/ars/.claude/CLAUDE.md +371 -0
  73. package/vendor/ars/.command-invariants.toml +24 -0
  74. package/vendor/ars/CITATION.cff +35 -0
  75. package/vendor/ars/LICENSE +417 -0
  76. package/vendor/ars/MODE_REGISTRY.md +76 -0
  77. package/vendor/ars/NOTICE.md +26 -0
  78. package/vendor/ars/POSITIONING.md +99 -0
  79. package/vendor/ars/PSYCLAW_SOURCE.json +10 -0
  80. package/vendor/ars/README.md +751 -0
  81. package/vendor/ars/SECURITY.md +52 -0
  82. package/vendor/ars/THIRD_PARTY.md +70 -0
  83. package/vendor/ars/academic-paper/SKILL.md +542 -0
  84. package/vendor/ars/academic-paper/agents/abstract_bilingual_agent.md +171 -0
  85. package/vendor/ars/academic-paper/agents/argument_builder_agent.md +276 -0
  86. package/vendor/ars/academic-paper/agents/citation_compliance_agent.md +422 -0
  87. package/vendor/ars/academic-paper/agents/draft_writer_agent.md +656 -0
  88. package/vendor/ars/academic-paper/agents/formatter_agent.md +999 -0
  89. package/vendor/ars/academic-paper/agents/intake_agent.md +393 -0
  90. package/vendor/ars/academic-paper/agents/literature_strategist_agent.md +626 -0
  91. package/vendor/ars/academic-paper/agents/peer_reviewer_agent.md +516 -0
  92. package/vendor/ars/academic-paper/agents/revision_coach_agent.md +334 -0
  93. package/vendor/ars/academic-paper/agents/socratic_mentor_agent.md +527 -0
  94. package/vendor/ars/academic-paper/agents/structure_architect_agent.md +401 -0
  95. package/vendor/ars/academic-paper/agents/visualization_agent.md +441 -0
  96. package/vendor/ars/academic-paper/examples/chinese_paper_example.md +278 -0
  97. package/vendor/ars/academic-paper/examples/clinical_citation_verification_checklist.md +95 -0
  98. package/vendor/ars/academic-paper/examples/clinical_epistemic_status_example.md +100 -0
  99. package/vendor/ars/academic-paper/examples/commitment_ledger_example.md +147 -0
  100. package/vendor/ars/academic-paper/examples/imrad_hei_example.md +234 -0
  101. package/vendor/ars/academic-paper/examples/literature_review_example.md +260 -0
  102. package/vendor/ars/academic-paper/examples/plan_mode_guided_writing.md +600 -0
  103. package/vendor/ars/academic-paper/examples/revision_mode_example.md +344 -0
  104. package/vendor/ars/academic-paper/examples/revision_recovery_example.md +506 -0
  105. package/vendor/ars/academic-paper/examples/version_family_reconciliation_example.md +89 -0
  106. package/vendor/ars/academic-paper/references/abstract_writing_guide.md +169 -0
  107. package/vendor/ars/academic-paper/references/academic_writing_style.md +188 -0
  108. package/vendor/ars/academic-paper/references/anti_leakage_protocol.md +83 -0
  109. package/vendor/ars/academic-paper/references/apa7_chinese_citation_guide.md +364 -0
  110. package/vendor/ars/academic-paper/references/apa7_extended_guide.md +198 -0
  111. package/vendor/ars/academic-paper/references/changelog.md +11 -0
  112. package/vendor/ars/academic-paper/references/citation_format_switcher.md +228 -0
  113. package/vendor/ars/academic-paper/references/committee_correspondence_protocol.md +158 -0
  114. package/vendor/ars/academic-paper/references/credit_authorship_guide.md +308 -0
  115. package/vendor/ars/academic-paper/references/disclosure_mode_protocol.md +478 -0
  116. package/vendor/ars/academic-paper/references/domain_evidence_profiles.md +38 -0
  117. package/vendor/ars/academic-paper/references/failure_paths.md +349 -0
  118. package/vendor/ars/academic-paper/references/funding_statement_guide.md +319 -0
  119. package/vendor/ars/academic-paper/references/hei_domain_glossary.md +169 -0
  120. package/vendor/ars/academic-paper/references/intro_title_rhetoric_guide.md +114 -0
  121. package/vendor/ars/academic-paper/references/journal_submission_guide.md +249 -0
  122. package/vendor/ars/academic-paper/references/latex_template_reference.md +378 -0
  123. package/vendor/ars/academic-paper/references/mode_selection_guide.md +378 -0
  124. package/vendor/ars/academic-paper/references/paper_structure_patterns.md +330 -0
  125. package/vendor/ars/academic-paper/references/plan_mode_protocol.md +112 -0
  126. package/vendor/ars/academic-paper/references/policy_anchor_disclosure_protocol.md +200 -0
  127. package/vendor/ars/academic-paper/references/policy_anchor_table.md +157 -0
  128. package/vendor/ars/academic-paper/references/revision_patch_protocol.md +173 -0
  129. package/vendor/ars/academic-paper/references/statistical_visualization_standards.md +750 -0
  130. package/vendor/ars/academic-paper/references/venue_disclosure_policies.md +259 -0
  131. package/vendor/ars/academic-paper/references/vlm_figure_verification.md +126 -0
  132. package/vendor/ars/academic-paper/references/workflow_phase_details.md +135 -0
  133. package/vendor/ars/academic-paper/references/writing_judgment_framework.md +59 -0
  134. package/vendor/ars/academic-paper/references/writing_quality_check.md +173 -0
  135. package/vendor/ars/academic-paper/templates/bilingual_abstract_template.md +78 -0
  136. package/vendor/ars/academic-paper/templates/case_study_template.md +129 -0
  137. package/vendor/ars/academic-paper/templates/conference_paper_template.md +108 -0
  138. package/vendor/ars/academic-paper/templates/credit_statement_template.md +132 -0
  139. package/vendor/ars/academic-paper/templates/funding_statement_template.md +290 -0
  140. package/vendor/ars/academic-paper/templates/imrad_template.md +183 -0
  141. package/vendor/ars/academic-paper/templates/latex_article_template.tex +199 -0
  142. package/vendor/ars/academic-paper/templates/literature_review_template.md +135 -0
  143. package/vendor/ars/academic-paper/templates/policy_brief_template.md +139 -0
  144. package/vendor/ars/academic-paper/templates/revision_tracking_template.md +199 -0
  145. package/vendor/ars/academic-paper/templates/theoretical_paper_template.md +119 -0
  146. package/vendor/ars/academic-paper-reviewer/SKILL.md +491 -0
  147. package/vendor/ars/academic-paper-reviewer/agents/devils_advocate_reviewer_agent.md +443 -0
  148. package/vendor/ars/academic-paper-reviewer/agents/domain_reviewer_agent.md +412 -0
  149. package/vendor/ars/academic-paper-reviewer/agents/editorial_synthesizer_agent.md +478 -0
  150. package/vendor/ars/academic-paper-reviewer/agents/eic_agent.md +339 -0
  151. package/vendor/ars/academic-paper-reviewer/agents/field_analyst_agent.md +221 -0
  152. package/vendor/ars/academic-paper-reviewer/agents/methodology_reviewer_agent.md +449 -0
  153. package/vendor/ars/academic-paper-reviewer/agents/perspective_reviewer_agent.md +427 -0
  154. package/vendor/ars/academic-paper-reviewer/examples/hei_paper_review_example.md +391 -0
  155. package/vendor/ars/academic-paper-reviewer/examples/interdisciplinary_review_example.md +299 -0
  156. package/vendor/ars/academic-paper-reviewer/examples/subclaim_decomposition_example.md +80 -0
  157. package/vendor/ars/academic-paper-reviewer/references/calibration_mode_protocol.md +256 -0
  158. package/vendor/ars/academic-paper-reviewer/references/changelog.md +10 -0
  159. package/vendor/ars/academic-paper-reviewer/references/editorial_decision_standards.md +236 -0
  160. package/vendor/ars/academic-paper-reviewer/references/guided_mode_protocol.md +34 -0
  161. package/vendor/ars/academic-paper-reviewer/references/integration_guide.md +15 -0
  162. package/vendor/ars/academic-paper-reviewer/references/quality_rubrics.md +84 -0
  163. package/vendor/ars/academic-paper-reviewer/references/re_review_mode_protocol.md +340 -0
  164. package/vendor/ars/academic-paper-reviewer/references/review_criteria_framework.md +98 -0
  165. package/vendor/ars/academic-paper-reviewer/references/review_panel_provenance_protocol.md +197 -0
  166. package/vendor/ars/academic-paper-reviewer/references/review_quality_thinking.md +58 -0
  167. package/vendor/ars/academic-paper-reviewer/references/reviewer_sprint_prompt_source.md +324 -0
  168. package/vendor/ars/academic-paper-reviewer/references/sprint_contract_protocol.md +296 -0
  169. package/vendor/ars/academic-paper-reviewer/references/statistical_reporting_standards.md +505 -0
  170. package/vendor/ars/academic-paper-reviewer/references/top_journals_by_field.md +206 -0
  171. package/vendor/ars/academic-paper-reviewer/templates/editorial_decision_template.md +235 -0
  172. package/vendor/ars/academic-paper-reviewer/templates/peer_review_report_template.md +305 -0
  173. package/vendor/ars/academic-paper-reviewer/templates/revision_response_template.md +248 -0
  174. package/vendor/ars/academic-pipeline/SKILL.md +736 -0
  175. package/vendor/ars/academic-pipeline/agents/claim_ref_alignment_audit_agent.md +382 -0
  176. package/vendor/ars/academic-pipeline/agents/collaboration_depth_agent.md +164 -0
  177. package/vendor/ars/academic-pipeline/agents/integrity_verification_agent.md +870 -0
  178. package/vendor/ars/academic-pipeline/agents/pipeline_orchestrator_agent.md +1379 -0
  179. package/vendor/ars/academic-pipeline/agents/state_tracker_agent.md +622 -0
  180. package/vendor/ars/academic-pipeline/examples/full_pipeline_example.md +482 -0
  181. package/vendor/ars/academic-pipeline/examples/integrity_failure_recovery.md +389 -0
  182. package/vendor/ars/academic-pipeline/examples/mid_entry_example.md +414 -0
  183. package/vendor/ars/academic-pipeline/references/adapters/.gitkeep +0 -0
  184. package/vendor/ars/academic-pipeline/references/adapters/overview.md +153 -0
  185. package/vendor/ars/academic-pipeline/references/ai_research_failure_modes.md +185 -0
  186. package/vendor/ars/academic-pipeline/references/changelog.md +14 -0
  187. package/vendor/ars/academic-pipeline/references/claim_audit_calibration_protocol.md +175 -0
  188. package/vendor/ars/academic-pipeline/references/claim_verification_protocol.md +282 -0
  189. package/vendor/ars/academic-pipeline/references/external_review_protocol.md +131 -0
  190. package/vendor/ars/academic-pipeline/references/integrity_review_protocol.md +110 -0
  191. package/vendor/ars/academic-pipeline/references/literature_corpus_consumers.md +193 -0
  192. package/vendor/ars/academic-pipeline/references/mode_advisor.md +135 -0
  193. package/vendor/ars/academic-pipeline/references/passport_as_reset_boundary.md +132 -0
  194. package/vendor/ars/academic-pipeline/references/pipeline_state_machine.md +405 -0
  195. package/vendor/ars/academic-pipeline/references/plagiarism_detection_protocol.md +239 -0
  196. package/vendor/ars/academic-pipeline/references/process_summary_protocol.md +209 -0
  197. package/vendor/ars/academic-pipeline/references/progress_dashboard_template.md +38 -0
  198. package/vendor/ars/academic-pipeline/references/reinforcement_content.md +15 -0
  199. package/vendor/ars/academic-pipeline/references/reproducibility_audit.md +55 -0
  200. package/vendor/ars/academic-pipeline/references/score_trajectory_protocol.md +78 -0
  201. package/vendor/ars/academic-pipeline/references/team_collaboration_protocol.md +261 -0
  202. package/vendor/ars/academic-pipeline/references/two_stage_review_protocol.md +27 -0
  203. package/vendor/ars/academic-pipeline/templates/pipeline_status_template.md +146 -0
  204. package/vendor/ars/agents/report_compiler_agent.md +341 -0
  205. package/vendor/ars/agents/research_architect_agent.md +298 -0
  206. package/vendor/ars/agents/synthesis_agent.md +356 -0
  207. package/vendor/ars/commands/ars-3w.md +10 -0
  208. package/vendor/ars/commands/ars-abstract.md +10 -0
  209. package/vendor/ars/commands/ars-cache-invalidate.md +20 -0
  210. package/vendor/ars/commands/ars-citation-check.md +10 -0
  211. package/vendor/ars/commands/ars-disclosure.md +10 -0
  212. package/vendor/ars/commands/ars-format-convert.md +10 -0
  213. package/vendor/ars/commands/ars-full.md +9 -0
  214. package/vendor/ars/commands/ars-lit-review.md +12 -0
  215. package/vendor/ars/commands/ars-mark-read.md +18 -0
  216. package/vendor/ars/commands/ars-outline.md +10 -0
  217. package/vendor/ars/commands/ars-plan.md +10 -0
  218. package/vendor/ars/commands/ars-rebuttal-audit.md +12 -0
  219. package/vendor/ars/commands/ars-reviewer.md +9 -0
  220. package/vendor/ars/commands/ars-revision-coach.md +9 -0
  221. package/vendor/ars/commands/ars-revision.md +10 -0
  222. package/vendor/ars/commands/ars-unmark-read.md +16 -0
  223. package/vendor/ars/deep-research/SKILL.md +600 -0
  224. package/vendor/ars/deep-research/agents/bibliography_agent.md +473 -0
  225. package/vendor/ars/deep-research/agents/devils_advocate_agent.md +192 -0
  226. package/vendor/ars/deep-research/agents/editor_in_chief_agent.md +167 -0
  227. package/vendor/ars/deep-research/agents/ethics_review_agent.md +267 -0
  228. package/vendor/ars/deep-research/agents/meta_analysis_agent.md +325 -0
  229. package/vendor/ars/deep-research/agents/monitoring_agent.md +209 -0
  230. package/vendor/ars/deep-research/agents/report_compiler_agent.md +341 -0
  231. package/vendor/ars/deep-research/agents/research_architect_agent.md +298 -0
  232. package/vendor/ars/deep-research/agents/research_question_agent.md +216 -0
  233. package/vendor/ars/deep-research/agents/risk_of_bias_agent.md +231 -0
  234. package/vendor/ars/deep-research/agents/socratic_mentor_agent.md +764 -0
  235. package/vendor/ars/deep-research/agents/source_verification_agent.md +219 -0
  236. package/vendor/ars/deep-research/agents/synthesis_agent.md +356 -0
  237. package/vendor/ars/deep-research/agents/timeline_extraction_agent.md +99 -0
  238. package/vendor/ars/deep-research/examples/exploratory_research.md +157 -0
  239. package/vendor/ars/deep-research/examples/fact_check_mode.md +173 -0
  240. package/vendor/ars/deep-research/examples/handoff_to_paper.md +318 -0
  241. package/vendor/ars/deep-research/examples/idea_diversity_coverage_gap_advisory.md +64 -0
  242. package/vendor/ars/deep-research/examples/policy_analysis.md +161 -0
  243. package/vendor/ars/deep-research/examples/review_mode.md +253 -0
  244. package/vendor/ars/deep-research/examples/socratic_guided_research.md +331 -0
  245. package/vendor/ars/deep-research/examples/systematic_review.md +133 -0
  246. package/vendor/ars/deep-research/references/apa7_style_guide.md +162 -0
  247. package/vendor/ars/deep-research/references/argumentation_reasoning_framework.md +68 -0
  248. package/vendor/ars/deep-research/references/arxiv_api_protocol.md +76 -0
  249. package/vendor/ars/deep-research/references/changelog.md +22 -0
  250. package/vendor/ars/deep-research/references/chinese_literature_api_protocol.md +317 -0
  251. package/vendor/ars/deep-research/references/cross_agent_quality_definitions.md +14 -0
  252. package/vendor/ars/deep-research/references/crossref_api_protocol.md +84 -0
  253. package/vendor/ars/deep-research/references/equator_reporting_guidelines.md +482 -0
  254. package/vendor/ars/deep-research/references/ethics_checklist.md +282 -0
  255. package/vendor/ars/deep-research/references/failure_paths.md +355 -0
  256. package/vendor/ars/deep-research/references/interdisciplinary_bridges.md +292 -0
  257. package/vendor/ars/deep-research/references/irb_decision_tree.md +315 -0
  258. package/vendor/ars/deep-research/references/literature_monitoring_strategies.md +263 -0
  259. package/vendor/ars/deep-research/references/logical_fallacies.md +192 -0
  260. package/vendor/ars/deep-research/references/methodology_patterns.md +462 -0
  261. package/vendor/ars/deep-research/references/mode_selection_guide.md +331 -0
  262. package/vendor/ars/deep-research/references/openalex_api_protocol.md +82 -0
  263. package/vendor/ars/deep-research/references/preregistration_guide.md +324 -0
  264. package/vendor/ars/deep-research/references/semantic_scholar_api_protocol.md +107 -0
  265. package/vendor/ars/deep-research/references/socratic_mode_protocol.md +99 -0
  266. package/vendor/ars/deep-research/references/socratic_questioning_framework.md +232 -0
  267. package/vendor/ars/deep-research/references/source_quality_hierarchy.md +188 -0
  268. package/vendor/ars/deep-research/references/systematic_review_protocol.md +95 -0
  269. package/vendor/ars/deep-research/references/systematic_review_toolkit.md +353 -0
  270. package/vendor/ars/deep-research/templates/evidence_assessment_template.md +127 -0
  271. package/vendor/ars/deep-research/templates/literature_matrix_template.md +85 -0
  272. package/vendor/ars/deep-research/templates/preregistration_template.md +318 -0
  273. package/vendor/ars/deep-research/templates/prisma_protocol_template.md +248 -0
  274. package/vendor/ars/deep-research/templates/prisma_report_template.md +415 -0
  275. package/vendor/ars/deep-research/templates/research_brief_template.md +93 -0
  276. package/vendor/ars/package.json +24 -0
  277. package/vendor/ars/pi/README.md +161 -0
  278. package/vendor/ars/pi/package.json +26 -0
  279. package/vendor/ars/pi/wrapper.js +193 -0
  280. package/vendor/ars/pi/wrapper.test.mjs +201 -0
  281. package/vendor/ars/pyproject.toml +2 -0
  282. package/vendor/ars/requirements-pdf-content-classifier.txt +5 -0
  283. package/vendor/ars/scripts/_block_parser.py +396 -0
  284. package/vendor/ars/scripts/_ci_pytest_manifest.toml +661 -0
  285. package/vendor/ars/scripts/_claim_audit_constants.py +268 -0
  286. package/vendor/ars/scripts/_e4_evidence.py +110 -0
  287. package/vendor/ars/scripts/_eval_threshold_gate.py +73 -0
  288. package/vendor/ars/scripts/_markdown_lint_util.py +224 -0
  289. package/vendor/ars/scripts/_next_verified_at_ms.py +176 -0
  290. package/vendor/ars/scripts/_passport_yaml.py +53 -0
  291. package/vendor/ars/scripts/_skill_lint.py +254 -0
  292. package/vendor/ars/scripts/_text_similarity.py +141 -0
  293. package/vendor/ars/scripts/adapters/README.md +89 -0
  294. package/vendor/ars/scripts/adapters/_common.py +209 -0
  295. package/vendor/ars/scripts/adapters/examples/folder_scan/expected_passport.yaml +25 -0
  296. package/vendor/ars/scripts/adapters/examples/folder_scan/expected_rejection_log.yaml +18 -0
  297. package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture/Chen2024_AIAssessment.pdf +0 -0
  298. package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture/Wang_2023_formative_feedback.pdf +0 -0
  299. package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture/paper1.pdf +0 -0
  300. package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture//344/270/255/346/226/207/346/252/224/345/220/215_2024.pdf +0 -0
  301. package/vendor/ars/scripts/adapters/examples/obsidian/expected_passport.yaml +40 -0
  302. package/vendor/ars/scripts/adapters/examples/obsidian/expected_rejection_log.yaml +13 -0
  303. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/.gitkeep +0 -0
  304. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/.obsidian/app.json +1 -0
  305. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/_templates/tmpl.md +7 -0
  306. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/chen2024ai.md +13 -0
  307. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/invalid.md +1 -0
  308. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/wang2023formative.md +10 -0
  309. package/vendor/ars/scripts/adapters/examples/zotero/expected_passport.yaml +34 -0
  310. package/vendor/ars/scripts/adapters/examples/zotero/expected_rejection_log.yaml +34 -0
  311. package/vendor/ars/scripts/adapters/examples/zotero/input_fixture/.gitkeep +0 -0
  312. package/vendor/ars/scripts/adapters/examples/zotero/input_fixture/export.json +43 -0
  313. package/vendor/ars/scripts/adapters/folder_scan.py +214 -0
  314. package/vendor/ars/scripts/adapters/obsidian.py +336 -0
  315. package/vendor/ars/scripts/adapters/tests/.gitkeep +0 -0
  316. package/vendor/ars/scripts/adapters/tests/conftest.py +77 -0
  317. package/vendor/ars/scripts/adapters/tests/test_check_corpus_consumer_protocol.py +632 -0
  318. package/vendor/ars/scripts/adapters/tests/test_check_literature_corpus_schema.py +631 -0
  319. package/vendor/ars/scripts/adapters/tests/test_common.py +365 -0
  320. package/vendor/ars/scripts/adapters/tests/test_conftest.py +96 -0
  321. package/vendor/ars/scripts/adapters/tests/test_folder_scan.py +260 -0
  322. package/vendor/ars/scripts/adapters/tests/test_literature_corpus_entry_schema.py +745 -0
  323. package/vendor/ars/scripts/adapters/tests/test_obsidian.py +357 -0
  324. package/vendor/ars/scripts/adapters/tests/test_rejection_log_schema.py +271 -0
  325. package/vendor/ars/scripts/adapters/tests/test_sync_adapter_docs.py +88 -0
  326. package/vendor/ars/scripts/adapters/tests/test_zotero.py +454 -0
  327. package/vendor/ars/scripts/adapters/zotero.py +318 -0
  328. package/vendor/ars/scripts/adjudication_activity.py +1592 -0
  329. package/vendor/ars/scripts/announce-ars-loaded.sh +144 -0
  330. package/vendor/ars/scripts/ars_anchorize_draft.py +170 -0
  331. package/vendor/ars/scripts/ars_apply_revision_patch.py +912 -0
  332. package/vendor/ars/scripts/ars_cache_invalidate.py +40 -0
  333. package/vendor/ars/scripts/ars_mark_read.py +521 -0
  334. package/vendor/ars/scripts/ars_phase_scope_manifest.json +33 -0
  335. package/vendor/ars/scripts/ars_update_check.sh +215 -0
  336. package/vendor/ars/scripts/ars_write_scope_guard.py +506 -0
  337. package/vendor/ars/scripts/arxiv_client.py +222 -0
  338. package/vendor/ars/scripts/audit_snapshot.py +572 -0
  339. package/vendor/ars/scripts/bibliographic_integrity_signals.py +800 -0
  340. package/vendor/ars/scripts/bootstrap_timeline_yaml.py +146 -0
  341. package/vendor/ars/scripts/build_claim_standing_candidate_ledger.py +1238 -0
  342. package/vendor/ars/scripts/build_claim_standing_query_plan.py +643 -0
  343. package/vendor/ars/scripts/build_content_coverage_advisory.py +1205 -0
  344. package/vendor/ars/scripts/build_cross_document_consistency_advisory.py +2332 -0
  345. package/vendor/ars/scripts/build_review_pathway_rule_trace.py +830 -0
  346. package/vendor/ars/scripts/build_submission_packet_manifest.py +2310 -0
  347. package/vendor/ars/scripts/check_215_field_norm.py +173 -0
  348. package/vendor/ars/scripts/check_216_surface_form.py +250 -0
  349. package/vendor/ars/scripts/check_268_nested_commitment_ledger.py +180 -0
  350. package/vendor/ars/scripts/check_390_revision_patch_discipline.py +296 -0
  351. package/vendor/ars/scripts/check_392_citation_verification_intake.py +126 -0
  352. package/vendor/ars/scripts/check_394_submission_policy.py +178 -0
  353. package/vendor/ars/scripts/check_439_format_profile.py +307 -0
  354. package/vendor/ars/scripts/check_619_disclosure_closeout.py +237 -0
  355. package/vendor/ars/scripts/check_630_codex_subscription_transport.py +456 -0
  356. package/vendor/ars/scripts/check_669_review_pathway_rule_trace.py +662 -0
  357. package/vendor/ars/scripts/check_670_revision_roadmap_integration.py +518 -0
  358. package/vendor/ars/scripts/check_673_adjudication_activity.py +684 -0
  359. package/vendor/ars/scripts/check_684_review_criteria_binding.py +557 -0
  360. package/vendor/ars/scripts/check_agents_mirror_sync.py +115 -0
  361. package/vendor/ars/scripts/check_audit_artifact_consistency.py +2313 -0
  362. package/vendor/ars/scripts/check_benchmark_report.py +79 -0
  363. package/vendor/ars/scripts/check_bibliographic_integrity_signals.py +831 -0
  364. package/vendor/ars/scripts/check_calibration_tiers.py +235 -0
  365. package/vendor/ars/scripts/check_changelog_covers_merges.py +289 -0
  366. package/vendor/ars/scripts/check_ci_pytest_manifest.py +204 -0
  367. package/vendor/ars/scripts/check_claim_audit_consistency.py +1664 -0
  368. package/vendor/ars/scripts/check_claim_standing_candidate_ledger_integration.py +500 -0
  369. package/vendor/ars/scripts/check_claim_standing_freshness.py +253 -0
  370. package/vendor/ars/scripts/check_claim_standing_transmissions.py +449 -0
  371. package/vendor/ars/scripts/check_collaboration_depth_rubric.py +180 -0
  372. package/vendor/ars/scripts/check_command_frontmatter_name.py +116 -0
  373. package/vendor/ars/scripts/check_committee_correspondence.py +333 -0
  374. package/vendor/ars/scripts/check_compliance_report.py +108 -0
  375. package/vendor/ars/scripts/check_content_coverage_advisory_integration.py +796 -0
  376. package/vendor/ars/scripts/check_control_availability.py +172 -0
  377. package/vendor/ars/scripts/check_corpus_consumer_protocol.py +404 -0
  378. package/vendor/ars/scripts/check_cross_document_consistency_advisory_integration.py +1191 -0
  379. package/vendor/ars/scripts/check_cross_model_handoff_contract.py +234 -0
  380. package/vendor/ars/scripts/check_cross_model_verification_sync.py +261 -0
  381. package/vendor/ars/scripts/check_data_access_level.py +131 -0
  382. package/vendor/ars/scripts/check_data_flows.py +252 -0
  383. package/vendor/ars/scripts/check_decision_contract.py +464 -0
  384. package/vendor/ars/scripts/check_degradation_registry.py +326 -0
  385. package/vendor/ars/scripts/check_distribution_surface_claims.py +226 -0
  386. package/vendor/ars/scripts/check_domain_evidence_profile.py +538 -0
  387. package/vendor/ars/scripts/check_e4_promotion.py +195 -0
  388. package/vendor/ars/scripts/check_evals_gold_set.py +279 -0
  389. package/vendor/ars/scripts/check_evidence_row_integration.py +396 -0
  390. package/vendor/ars/scripts/check_experiment_provenance.py +117 -0
  391. package/vendor/ars/scripts/check_field_norm_severity.py +144 -0
  392. package/vendor/ars/scripts/check_firm_rules_sync.py +375 -0
  393. package/vendor/ars/scripts/check_heldout_measurement_report.py +1179 -0
  394. package/vendor/ars/scripts/check_human_subjects_output_contract.py +139 -0
  395. package/vendor/ars/scripts/check_human_subjects_reference_migration.py +844 -0
  396. package/vendor/ars/scripts/check_indirect_prompt_injection_no_call.py +328 -0
  397. package/vendor/ars/scripts/check_instruction_data_boundary.py +236 -0
  398. package/vendor/ars/scripts/check_judge_prompt_version.py +125 -0
  399. package/vendor/ars/scripts/check_literature_corpus_schema.py +402 -0
  400. package/vendor/ars/scripts/check_model_tiering.py +223 -0
  401. package/vendor/ars/scripts/check_panel_synthesis.py +1331 -0
  402. package/vendor/ars/scripts/check_passport_reset_contract.py +214 -0
  403. package/vendor/ars/scripts/check_pattern_eval_manifest.py +422 -0
  404. package/vendor/ars/scripts/check_persuasion_invariance_fixtures.py +637 -0
  405. package/vendor/ars/scripts/check_phase_conformance.py +2180 -0
  406. package/vendor/ars/scripts/check_pipeline_boundary_semantics.py +600 -0
  407. package/vendor/ars/scripts/check_pipeline_integrity.py +340 -0
  408. package/vendor/ars/scripts/check_policy_anchor_protocol.py +159 -0
  409. package/vendor/ars/scripts/check_policy_anchor_table.py +286 -0
  410. package/vendor/ars/scripts/check_preprint_venues_consistency.py +123 -0
  411. package/vendor/ars/scripts/check_prisma_trAIce_freshness.py +84 -0
  412. package/vendor/ars/scripts/check_promotion_bakeoff_preregistration.py +1303 -0
  413. package/vendor/ars/scripts/check_ranking_lift.py +323 -0
  414. package/vendor/ars/scripts/check_re_review_synthesis.py +2719 -0
  415. package/vendor/ars/scripts/check_receipt_enum_sync.py +203 -0
  416. package/vendor/ars/scripts/check_repro_lock.py +85 -0
  417. package/vendor/ars/scripts/check_review_pathway_output.py +276 -0
  418. package/vendor/ars/scripts/check_reviewer_data_fences.py +224 -0
  419. package/vendor/ars/scripts/check_reviewer_finding_contract.py +783 -0
  420. package/vendor/ars/scripts/check_reviewer_role_label.py +447 -0
  421. package/vendor/ars/scripts/check_reviewer_scoring_honesty.py +292 -0
  422. package/vendor/ars/scripts/check_reviewer_sprint_prompt_sync.py +409 -0
  423. package/vendor/ars/scripts/check_revision_claim_drift_suite_v2.py +1622 -0
  424. package/vendor/ars/scripts/check_revision_token_conservation.py +263 -0
  425. package/vendor/ars/scripts/check_risk_register.py +280 -0
  426. package/vendor/ars/scripts/check_role_scoped_contract.py +702 -0
  427. package/vendor/ars/scripts/check_rq_framing_patterns.py +184 -0
  428. package/vendor/ars/scripts/check_rubric_weight_consistency.py +32 -0
  429. package/vendor/ars/scripts/check_seeded_defect_fixtures.py +425 -0
  430. package/vendor/ars/scripts/check_setup_cross_model_parity.py +139 -0
  431. package/vendor/ars/scripts/check_spec_consistency.py +1249 -0
  432. package/vendor/ars/scripts/check_sprint_contract.py +371 -0
  433. package/vendor/ars/scripts/check_stage_capability_matrix.py +784 -0
  434. package/vendor/ars/scripts/check_submission_packet_manifest_integration.py +358 -0
  435. package/vendor/ars/scripts/check_surface_form_parity.py +445 -0
  436. package/vendor/ars/scripts/check_task_type.py +22 -0
  437. package/vendor/ars/scripts/check_tools_allowlist.py +538 -0
  438. package/vendor/ars/scripts/check_tortured_phrase_screening_integration.py +1974 -0
  439. package/vendor/ars/scripts/check_v3_10_134_write_scope.py +286 -0
  440. package/vendor/ars/scripts/check_v3_10_policy.py +656 -0
  441. package/vendor/ars/scripts/check_v3_6_6_ab_manifest.py +364 -0
  442. package/vendor/ars/scripts/check_v3_6_7_pattern_protection.py +1366 -0
  443. package/vendor/ars/scripts/check_v3_6_8_audit_scope_block.py +464 -0
  444. package/vendor/ars/scripts/check_v3_6_8_cite_provenance_pipeline.py +231 -0
  445. package/vendor/ars/scripts/check_v3_6_8_frontmatter_trust_schema.py +248 -0
  446. package/vendor/ars/scripts/check_v3_6_8_mark_read_commands.py +79 -0
  447. package/vendor/ars/scripts/check_v3_6_8_pattern_protection.py +941 -0
  448. package/vendor/ars/scripts/check_v3_7_3_three_layer_citation.py +318 -0
  449. package/vendor/ars/scripts/check_v3_8_annotation_literal_sync.py +228 -0
  450. package/vendor/ars/scripts/check_v3_9_0_triangulation.py +366 -0
  451. package/vendor/ars/scripts/check_v3_9_2_phase_boundary.py +270 -0
  452. package/vendor/ars/scripts/check_v3_9_4_temporal_verification.py +139 -0
  453. package/vendor/ars/scripts/check_venue_disclosure_policies.py +63 -0
  454. package/vendor/ars/scripts/check_version_consistency.py +826 -0
  455. package/vendor/ars/scripts/check_workflow_classification.py +223 -0
  456. package/vendor/ars/scripts/chinese_literature_client.py +1938 -0
  457. package/vendor/ars/scripts/citation_verification_summary.py +85 -0
  458. package/vendor/ars/scripts/claim_audit_calibration.py +517 -0
  459. package/vendor/ars/scripts/claim_audit_finalizer.py +456 -0
  460. package/vendor/ars/scripts/claim_audit_pipeline.py +1594 -0
  461. package/vendor/ars/scripts/claim_registry_coverage.py +493 -0
  462. package/vendor/ars/scripts/claim_standing_discovery.py +784 -0
  463. package/vendor/ars/scripts/claim_standing_stance_runner.py +758 -0
  464. package/vendor/ars/scripts/claim_standing_stance_scorer.py +239 -0
  465. package/vendor/ars/scripts/claim_strength_drift_disposition.py +666 -0
  466. package/vendor/ars/scripts/contamination_signals.py +689 -0
  467. package/vendor/ars/scripts/corpus_consumer_manifest.json +19 -0
  468. package/vendor/ars/scripts/cross_model_codex_transport.py +1374 -0
  469. package/vendor/ars/scripts/cross_model_codex_verify.sh +6 -0
  470. package/vendor/ars/scripts/cross_model_handoff.py +359 -0
  471. package/vendor/ars/scripts/cross_model_smoke_test.sh +183 -0
  472. package/vendor/ars/scripts/cross_model_smoke_test_codex.sh +35 -0
  473. package/vendor/ars/scripts/cross_model_verification/gemini_is_grounded.jq +45 -0
  474. package/vendor/ars/scripts/cross_model_verification/gemini_sources.jq +45 -0
  475. package/vendor/ars/scripts/cross_model_verification/normalize_compat_verdict.py +57 -0
  476. package/vendor/ars/scripts/cross_model_verification/openai_has_completed_web_search.jq +15 -0
  477. package/vendor/ars/scripts/cross_model_verification/openai_sources.jq +17 -0
  478. package/vendor/ars/scripts/cross_model_verification/openai_text.jq +11 -0
  479. package/vendor/ars/scripts/crossref_client.py +225 -0
  480. package/vendor/ars/scripts/dispatch_e4_panel.py +2731 -0
  481. package/vendor/ars/scripts/evidence_rows.py +2043 -0
  482. package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3.json +32 -0
  483. package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3_input.json +27 -0
  484. package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3_prime.json +32 -0
  485. package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3_prime_input.json +27 -0
  486. package/vendor/ars/scripts/fixtures/adjudication_activity/compliance_override.json +50 -0
  487. package/vendor/ars/scripts/fixtures/adjudication_activity/compliance_override_action.json +14 -0
  488. package/vendor/ars/scripts/fixtures/adjudication_activity/compliance_pass.json +44 -0
  489. package/vendor/ars/scripts/fixtures/adjudication_activity/explicit_user_request_log.json +26 -0
  490. package/vendor/ars/scripts/fixtures/adjudication_activity/mandatory_checkpoint_log.json +116 -0
  491. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/README.md +56 -0
  492. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.audit_artifact_entry.json +24 -0
  493. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.jsonl +4 -0
  494. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.meta.json +43 -0
  495. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.verdict.yaml +19 -0
  496. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a7_orphan_completion/2026-04-30T15-22-04Z-d8f3.jsonl +3 -0
  497. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.audit_artifact_entry.json +26 -0
  498. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.jsonl +4 -0
  499. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.meta.json +43 -0
  500. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.verdict.yaml +19 -0
  501. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.audit_artifact_entry.json +24 -0
  502. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.jsonl +4 -0
  503. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.meta.json +43 -0
  504. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.verdict.yaml +12 -0
  505. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/retraction.json +46 -0
  506. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/retraction_check_attestation.json +44 -0
  507. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/tortured_phrase.json +44 -0
  508. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/tortured_phrase_v1_2_abstract_missing.json +107 -0
  509. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/tortured_phrase_v1_2_detected.json +124 -0
  510. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/expected_outcomes.json +77 -0
  511. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/manifest.yaml +37 -0
  512. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/tuples/001-valid-doi-test.json +20 -0
  513. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/tuples/002-valid-arxiv-test.json +19 -0
  514. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/tuples/003-fabricated-test.json +20 -0
  515. package/vendor/ars/scripts/fixtures/claim_audit_calibration/gold_set.json +344 -0
  516. package/vendor/ars/scripts/fixtures/claim_standing_candidate_ledger/query_plan.json +108 -0
  517. package/vendor/ars/scripts/fixtures/claim_standing_candidate_ledger/retrieval_input.json +179 -0
  518. package/vendor/ars/scripts/fixtures/committee_correspondence/16fd83f6aec7/concern_tracker.json +129 -0
  519. package/vendor/ars/scripts/fixtures/committee_correspondence/16fd83f6aec7/response_skeleton.md +19 -0
  520. package/vendor/ars/scripts/fixtures/committee_correspondence/16fd83f6aec7/source_letter.txt +9 -0
  521. package/vendor/ars/scripts/fixtures/content_coverage_advisory/base_draft.json +48 -0
  522. package/vendor/ars/scripts/fixtures/content_coverage_advisory/base_inventory.json +38 -0
  523. package/vendor/ars/scripts/fixtures/content_coverage_advisory/packet/consent.txt +1 -0
  524. package/vendor/ars/scripts/fixtures/content_coverage_advisory/session_sources.json +3 -0
  525. package/vendor/ars/scripts/fixtures/cross_document_consistency/README.md +6 -0
  526. package/vendor/ars/scripts/fixtures/cross_document_consistency/accepted_draft.md +35 -0
  527. package/vendor/ars/scripts/fixtures/cross_document_consistency/cases.json +75 -0
  528. package/vendor/ars/scripts/fixtures/cross_document_consistency/preregistration.md +5 -0
  529. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/forbidden_event.jsonl +4 -0
  530. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/grounded_verified.jsonl +3 -0
  531. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/malformed.jsonl +3 -0
  532. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/missing_search.jsonl +2 -0
  533. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/multiple_finals.jsonl +4 -0
  534. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/not_found.jsonl +3 -0
  535. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/unbound_source.jsonl +3 -0
  536. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/wrong_search_shape.jsonl +3 -0
  537. package/vendor/ars/scripts/fixtures/evidence_rows/phase_e_inputs.json +114 -0
  538. package/vendor/ars/scripts/fixtures/evidence_rows/session_sources.json +5 -0
  539. package/vendor/ars/scripts/fixtures/human_subjects_authority/cross-border-us-tw-gdpr.json +71 -0
  540. package/vendor/ars/scripts/fixtures/human_subjects_authority/gdpr-member-state-unresolved.json +62 -0
  541. package/vendor/ars/scripts/fixtures/human_subjects_authority/missing-data-axis.json +45 -0
  542. package/vendor/ars/scripts/fixtures/human_subjects_authority/no-profile.json +33 -0
  543. package/vendor/ars/scripts/fixtures/human_subjects_authority/tw-gdpr-two-axis.json +74 -0
  544. package/vendor/ars/scripts/fixtures/human_subjects_authority/us-gdpr-two-axis.json +74 -0
  545. package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/lint-near-misses.json +72 -0
  546. package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/no-profile-request.json +18 -0
  547. package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/tw-candidates-request.json +63 -0
  548. package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/us-candidates-request.json +77 -0
  549. package/vendor/ars/scripts/fixtures/review_target_context/exact-declaration.json +24 -0
  550. package/vendor/ars/scripts/fixtures/review_target_context/field-general-declaration.json +24 -0
  551. package/vendor/ars/scripts/fixtures/review_target_context/msr-2027-technical-full-declaration.json +24 -0
  552. package/vendor/ars/scripts/fixtures/review_target_context/synthetic-registry.json +92 -0
  553. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/README.md +21 -0
  554. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_attested_only.json +55 -0
  555. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_machine_supported.json +49 -0
  556. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_not_isolated.json +56 -0
  557. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_unknown.json +49 -0
  558. package/vendor/ars/scripts/fixtures/submission_package/clean/paper.md +16 -0
  559. package/vendor/ars/scripts/fixtures/submission_package/clean/references.bib +13 -0
  560. package/vendor/ars/scripts/fixtures/submission_package/fallback_authoryear/paper.md +11 -0
  561. package/vendor/ars/scripts/fixtures/submission_package/fallback_authoryear/references.bib +13 -0
  562. package/vendor/ars/scripts/fixtures/submission_package/fallback_latex/paper.tex +9 -0
  563. package/vendor/ars/scripts/fixtures/submission_package/fallback_latex/references.bib +13 -0
  564. package/vendor/ars/scripts/fixtures/submission_package/marker_no_join/paper.md +7 -0
  565. package/vendor/ars/scripts/fixtures/submission_package/orphan_intext/paper.md +8 -0
  566. package/vendor/ars/scripts/fixtures/submission_package/orphan_intext/references.bib +6 -0
  567. package/vendor/ars/scripts/fixtures/submission_package/passports/corpus_only.yaml +9 -0
  568. package/vendor/ars/scripts/fixtures/submission_package/passports/summary_join.yaml +16 -0
  569. package/vendor/ars/scripts/fixtures/submission_package/profiles/full.yaml +15 -0
  570. package/vendor/ars/scripts/fixtures/submission_package/profiles/tight.yaml +15 -0
  571. package/vendor/ars/scripts/fixtures/submission_package/summary_join/paper.md +7 -0
  572. package/vendor/ars/scripts/fixtures/submission_package/uncited_reference/paper.md +9 -0
  573. package/vendor/ars/scripts/fixtures/submission_package/uncited_reference/references.bib +13 -0
  574. package/vendor/ars/scripts/fixtures/submission_package/venue_clean/paper.md +26 -0
  575. package/vendor/ars/scripts/fixtures/submission_package/venue_clean/references.bib +13 -0
  576. package/vendor/ars/scripts/fixtures/submission_package/venue_violations/paper.md +20 -0
  577. package/vendor/ars/scripts/fixtures/submission_package/venue_violations/references.bib +13 -0
  578. package/vendor/ars/scripts/fixtures/submission_packet_manifest/base_inventory.json +101 -0
  579. package/vendor/ars/scripts/fixtures/submission_packet_manifest/packet/consent-materials.txt +3 -0
  580. package/vendor/ars/scripts/fixtures/submission_packet_manifest/packet/training-certificate.txt +2 -0
  581. package/vendor/ars/scripts/fixtures/submission_packet_manifest/packet/tw-consent-materials.txt +3 -0
  582. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/corpus_input.yaml +30 -0
  583. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/own_draft.md +36 -0
  584. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/own_draft.tex +21 -0
  585. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/seed_expectations.json +218 -0
  586. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/snapshot.json +164 -0
  587. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/snapshot_manifest.json +29 -0
  588. package/vendor/ars/scripts/fixtures/transport_bodies/README.md +55 -0
  589. package/vendor/ars/scripts/fixtures/transport_bodies/arxiv/empty_feed.xml +10 -0
  590. package/vendor/ars/scripts/fixtures/transport_bodies/arxiv/error_5xx.html +7 -0
  591. package/vendor/ars/scripts/fixtures/transport_bodies/arxiv/id_hit.xml +26 -0
  592. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/README.md +69 -0
  593. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/cnki_landing_page.html +13 -0
  594. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/error_5xx.html +2 -0
  595. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coordinate_ambiguous.json +16 -0
  596. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coordinate_hit.json +16 -0
  597. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coordinate_zero.json +14 -0
  598. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coverage_hit.json +15 -0
  599. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coverage_zero.json +13 -0
  600. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_hit.json +43 -0
  601. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_issn_mismatch.json +31 -0
  602. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_no_doi.json +31 -0
  603. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_unknown_ra.json +34 -0
  604. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_year_mismatch.json +31 -0
  605. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/handle_absent.json +4 -0
  606. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/handle_exists.json +16 -0
  607. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/handle_internal_error.json +4 -0
  608. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/istic_csl_hit.json +25 -0
  609. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/istic_csl_other_title.json +18 -0
  610. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_cnki.json +6 -0
  611. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_crossref.json +6 -0
  612. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_istic.json +6 -0
  613. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_unknown_prefix.json +6 -0
  614. package/vendor/ars/scripts/fixtures/transport_bodies/crossref/doi_hit.json +24 -0
  615. package/vendor/ars/scripts/fixtures/transport_bodies/crossref/error_5xx.html +7 -0
  616. package/vendor/ars/scripts/fixtures/transport_bodies/crossref/title_search_miss.json +15 -0
  617. package/vendor/ars/scripts/fixtures/transport_bodies/openalex/doi_hit.json +29 -0
  618. package/vendor/ars/scripts/fixtures/transport_bodies/openalex/error_5xx.json +4 -0
  619. package/vendor/ars/scripts/fixtures/transport_bodies/openalex/title_search_miss.json +11 -0
  620. package/vendor/ars/scripts/fixtures/transport_bodies/semantic_scholar/doi_hit.json +14 -0
  621. package/vendor/ars/scripts/fixtures/transport_bodies/semantic_scholar/error_5xx.json +3 -0
  622. package/vendor/ars/scripts/fixtures/transport_bodies/semantic_scholar/title_search_miss.json +5 -0
  623. package/vendor/ars/scripts/human_read_attestation_resolver.py +467 -0
  624. package/vendor/ars/scripts/ideation_diversity_assignment_gate.py +430 -0
  625. package/vendor/ars/scripts/inquiry_branch_ledger.py +2540 -0
  626. package/vendor/ars/scripts/legacy/ars_apply_revision_patch_v1_0.py +715 -0
  627. package/vendor/ars/scripts/legacy/check_re_review_synthesis_v1_0.py +2215 -0
  628. package/vendor/ars/scripts/migrate_literature_corpus_to_v3_10.py +223 -0
  629. package/vendor/ars/scripts/migrate_literature_corpus_to_v3_7_3.py +277 -0
  630. package/vendor/ars/scripts/migrate_literature_corpus_to_v3_9_0.py +304 -0
  631. package/vendor/ars/scripts/model_tiering_manifest.json +46 -0
  632. package/vendor/ars/scripts/openalex_client.py +232 -0
  633. package/vendor/ars/scripts/parse_audit_verdict.py +802 -0
  634. package/vendor/ars/scripts/pdf_content_classifier_worker.py +176 -0
  635. package/vendor/ars/scripts/pdf_read_preflight.py +1455 -0
  636. package/vendor/ars/scripts/policy_anchor_disclosure_referee.py +354 -0
  637. package/vendor/ars/scripts/recompute_receipts.py +1414 -0
  638. package/vendor/ars/scripts/render_claim_standing_view.py +374 -0
  639. package/vendor/ars/scripts/render_eval_comment.py +130 -0
  640. package/vendor/ars/scripts/render_harness_retirement_issue.py +167 -0
  641. package/vendor/ars/scripts/repro_lock_validation.py +90 -0
  642. package/vendor/ars/scripts/research_workflow_profile.py +1079 -0
  643. package/vendor/ars/scripts/resolve_human_subjects_authority.py +1158 -0
  644. package/vendor/ars/scripts/resolve_review_target_context.py +683 -0
  645. package/vendor/ars/scripts/resume_e4_record.py +509 -0
  646. package/vendor/ars/scripts/retraction_status.py +484 -0
  647. package/vendor/ars/scripts/review_criteria_binding.py +889 -0
  648. package/vendor/ars/scripts/review_panel_provenance.py +744 -0
  649. package/vendor/ars/scripts/revision_roadmap.py +1967 -0
  650. package/vendor/ars/scripts/run_ci_pytest_manifest.py +116 -0
  651. package/vendor/ars/scripts/run_codex_audit.sh +1191 -0
  652. package/vendor/ars/scripts/run_evals.py +513 -0
  653. package/vendor/ars/scripts/run_ideation_diversity_no_call.py +3505 -0
  654. package/vendor/ars/scripts/run_indirect_prompt_injection_no_call.py +3330 -0
  655. package/vendor/ars/scripts/run_indirect_prompt_injection_probe.py +399 -0
  656. package/vendor/ars/scripts/run_review_criteria_constructive_value.py +1895 -0
  657. package/vendor/ars/scripts/run_role_topology_utility_dry_run.py +606 -0
  658. package/vendor/ars/scripts/score_review_criteria_constructive_value.py +617 -0
  659. package/vendor/ars/scripts/semantic_scholar_client.py +291 -0
  660. package/vendor/ars/scripts/slr_lineage.py +59 -0
  661. package/vendor/ars/scripts/sync_adapter_docs.py +118 -0
  662. package/vendor/ars/scripts/temporal_integrity_audit.py +840 -0
  663. package/vendor/ars/scripts/test_431_exact_or_bust.py +253 -0
  664. package/vendor/ars/scripts/test__eval_threshold_gate.py +125 -0
  665. package/vendor/ars/scripts/test__markdown_lint_util.py +129 -0
  666. package/vendor/ars/scripts/test__next_verified_at_ms.py +256 -0
  667. package/vendor/ars/scripts/test_adjacent_framing_probe_lint.py +171 -0
  668. package/vendor/ars/scripts/test_adjudication_activity.py +1515 -0
  669. package/vendor/ars/scripts/test_ars_anchorize_draft.py +178 -0
  670. package/vendor/ars/scripts/test_ars_apply_revision_patch.py +1335 -0
  671. package/vendor/ars/scripts/test_ars_cache_invalidate.py +51 -0
  672. package/vendor/ars/scripts/test_ars_mark_read.py +910 -0
  673. package/vendor/ars/scripts/test_ars_update_check.py +816 -0
  674. package/vendor/ars/scripts/test_ars_write_scope_guard.py +790 -0
  675. package/vendor/ars/scripts/test_arxiv_client.py +374 -0
  676. package/vendor/ars/scripts/test_audit_schemas.py +560 -0
  677. package/vendor/ars/scripts/test_audit_snapshot_render_section_0.py +105 -0
  678. package/vendor/ars/scripts/test_block_parser.py +259 -0
  679. package/vendor/ars/scripts/test_bootstrap_timeline_yaml.py +148 -0
  680. package/vendor/ars/scripts/test_build_claim_standing_candidate_ledger.py +1203 -0
  681. package/vendor/ars/scripts/test_build_claim_standing_query_plan.py +791 -0
  682. package/vendor/ars/scripts/test_build_submission_packet_manifest.py +2644 -0
  683. package/vendor/ars/scripts/test_check_215_field_norm.py +238 -0
  684. package/vendor/ars/scripts/test_check_216_surface_form.py +341 -0
  685. package/vendor/ars/scripts/test_check_268_nested_commitment_ledger.py +194 -0
  686. package/vendor/ars/scripts/test_check_390_revision_patch_discipline.py +279 -0
  687. package/vendor/ars/scripts/test_check_392_citation_verification_intake.py +144 -0
  688. package/vendor/ars/scripts/test_check_394_submission_policy.py +200 -0
  689. package/vendor/ars/scripts/test_check_439_format_profile.py +252 -0
  690. package/vendor/ars/scripts/test_check_619_disclosure_closeout.py +158 -0
  691. package/vendor/ars/scripts/test_check_630_codex_subscription_transport.py +245 -0
  692. package/vendor/ars/scripts/test_check_669_review_pathway_rule_trace.py +304 -0
  693. package/vendor/ars/scripts/test_check_670_revision_roadmap_integration.py +260 -0
  694. package/vendor/ars/scripts/test_check_673_adjudication_activity.py +367 -0
  695. package/vendor/ars/scripts/test_check_684_review_criteria_binding.py +274 -0
  696. package/vendor/ars/scripts/test_check_agents_mirror_sync.py +137 -0
  697. package/vendor/ars/scripts/test_check_audit_artifact_consistency.py +2133 -0
  698. package/vendor/ars/scripts/test_check_benchmark_report.py +117 -0
  699. package/vendor/ars/scripts/test_check_bibliographic_integrity_signals.py +609 -0
  700. package/vendor/ars/scripts/test_check_calibration_tiers.py +376 -0
  701. package/vendor/ars/scripts/test_check_changelog_covers_merges.py +509 -0
  702. package/vendor/ars/scripts/test_check_ci_pytest_manifest.py +425 -0
  703. package/vendor/ars/scripts/test_check_claim_standing_candidate_ledger_integration.py +256 -0
  704. package/vendor/ars/scripts/test_check_claim_standing_freshness.py +277 -0
  705. package/vendor/ars/scripts/test_check_collaboration_depth_rubric.py +239 -0
  706. package/vendor/ars/scripts/test_check_command_frontmatter_name.py +178 -0
  707. package/vendor/ars/scripts/test_check_committee_correspondence.py +298 -0
  708. package/vendor/ars/scripts/test_check_compliance_report.py +381 -0
  709. package/vendor/ars/scripts/test_check_content_coverage_advisory_integration.py +308 -0
  710. package/vendor/ars/scripts/test_check_control_availability.py +361 -0
  711. package/vendor/ars/scripts/test_check_cross_document_consistency_advisory_integration.py +698 -0
  712. package/vendor/ars/scripts/test_check_cross_model_handoff_contract.py +301 -0
  713. package/vendor/ars/scripts/test_check_cross_model_verification_sync.py +203 -0
  714. package/vendor/ars/scripts/test_check_data_access_level.py +227 -0
  715. package/vendor/ars/scripts/test_check_data_flows.py +382 -0
  716. package/vendor/ars/scripts/test_check_decision_contract.py +387 -0
  717. package/vendor/ars/scripts/test_check_degradation_registry.py +270 -0
  718. package/vendor/ars/scripts/test_check_distribution_surface_claims.py +225 -0
  719. package/vendor/ars/scripts/test_check_domain_evidence_profile.py +439 -0
  720. package/vendor/ars/scripts/test_check_e4_promotion.py +163 -0
  721. package/vendor/ars/scripts/test_check_evals_gold_set.py +312 -0
  722. package/vendor/ars/scripts/test_check_evidence_row_integration.py +187 -0
  723. package/vendor/ars/scripts/test_check_field_norm_severity.py +173 -0
  724. package/vendor/ars/scripts/test_check_firm_rules_sync.py +342 -0
  725. package/vendor/ars/scripts/test_check_heldout_measurement_report.py +1508 -0
  726. package/vendor/ars/scripts/test_check_human_subjects_output_contract.py +129 -0
  727. package/vendor/ars/scripts/test_check_human_subjects_reference_migration.py +756 -0
  728. package/vendor/ars/scripts/test_check_instruction_data_boundary.py +204 -0
  729. package/vendor/ars/scripts/test_check_judge_prompt_version.py +90 -0
  730. package/vendor/ars/scripts/test_check_model_tiering.py +236 -0
  731. package/vendor/ars/scripts/test_check_panel_synthesis.py +1658 -0
  732. package/vendor/ars/scripts/test_check_passport_reset_contract.py +249 -0
  733. package/vendor/ars/scripts/test_check_pattern_eval_manifest.py +381 -0
  734. package/vendor/ars/scripts/test_check_persuasion_invariance_fixtures.py +591 -0
  735. package/vendor/ars/scripts/test_check_phase_conformance.py +4366 -0
  736. package/vendor/ars/scripts/test_check_pipeline_boundary_semantics.py +931 -0
  737. package/vendor/ars/scripts/test_check_pipeline_integrity.py +243 -0
  738. package/vendor/ars/scripts/test_check_policy_anchor_protocol.py +236 -0
  739. package/vendor/ars/scripts/test_check_policy_anchor_table.py +295 -0
  740. package/vendor/ars/scripts/test_check_prisma_trAIce_freshness.py +68 -0
  741. package/vendor/ars/scripts/test_check_promotion_bakeoff_preregistration.py +799 -0
  742. package/vendor/ars/scripts/test_check_ranking_lift.py +377 -0
  743. package/vendor/ars/scripts/test_check_re_review_synthesis.py +3398 -0
  744. package/vendor/ars/scripts/test_check_receipt_enum_sync.py +176 -0
  745. package/vendor/ars/scripts/test_check_repro_lock.py +107 -0
  746. package/vendor/ars/scripts/test_check_reviewer_data_fences.py +334 -0
  747. package/vendor/ars/scripts/test_check_reviewer_finding_contract.py +1107 -0
  748. package/vendor/ars/scripts/test_check_reviewer_role_label.py +491 -0
  749. package/vendor/ars/scripts/test_check_reviewer_scoring_honesty.py +222 -0
  750. package/vendor/ars/scripts/test_check_reviewer_sprint_prompt_sync.py +373 -0
  751. package/vendor/ars/scripts/test_check_revision_claim_drift_suite_v2.py +1925 -0
  752. package/vendor/ars/scripts/test_check_revision_token_conservation.py +398 -0
  753. package/vendor/ars/scripts/test_check_risk_register.py +336 -0
  754. package/vendor/ars/scripts/test_check_role_scoped_contract.py +1104 -0
  755. package/vendor/ars/scripts/test_check_rq_framing_patterns.py +110 -0
  756. package/vendor/ars/scripts/test_check_rubric_weight_consistency.py +32 -0
  757. package/vendor/ars/scripts/test_check_seeded_defect_fixtures.py +392 -0
  758. package/vendor/ars/scripts/test_check_setup_cross_model_parity.py +121 -0
  759. package/vendor/ars/scripts/test_check_spec_consistency.py +1081 -0
  760. package/vendor/ars/scripts/test_check_sprint_contract.py +458 -0
  761. package/vendor/ars/scripts/test_check_stage_capability_matrix.py +698 -0
  762. package/vendor/ars/scripts/test_check_submission_packet_manifest_integration.py +177 -0
  763. package/vendor/ars/scripts/test_check_surface_form_parity.py +417 -0
  764. package/vendor/ars/scripts/test_check_task_type.py +116 -0
  765. package/vendor/ars/scripts/test_check_tools_allowlist.py +835 -0
  766. package/vendor/ars/scripts/test_check_tortured_phrase_screening_integration.py +1306 -0
  767. package/vendor/ars/scripts/test_check_v3_10_134_write_scope.py +251 -0
  768. package/vendor/ars/scripts/test_check_v3_10_policy.py +547 -0
  769. package/vendor/ars/scripts/test_check_v3_6_7_pattern_protection.py +960 -0
  770. package/vendor/ars/scripts/test_check_v3_6_8_audit_scope_block.py +1000 -0
  771. package/vendor/ars/scripts/test_check_v3_6_8_cite_provenance_pipeline.py +454 -0
  772. package/vendor/ars/scripts/test_check_v3_6_8_frontmatter_trust_schema.py +581 -0
  773. package/vendor/ars/scripts/test_check_v3_6_8_mark_read_commands.py +120 -0
  774. package/vendor/ars/scripts/test_check_v3_6_8_pattern_protection.py +1138 -0
  775. package/vendor/ars/scripts/test_check_v3_7_3_three_layer_citation.py +566 -0
  776. package/vendor/ars/scripts/test_check_v3_8_annotation_literal_sync.py +262 -0
  777. package/vendor/ars/scripts/test_check_v3_9_0_triangulation.py +321 -0
  778. package/vendor/ars/scripts/test_check_v3_9_2_phase_boundary.py +190 -0
  779. package/vendor/ars/scripts/test_check_v3_9_4_temporal_verification.py +471 -0
  780. package/vendor/ars/scripts/test_check_version_consistency.py +1462 -0
  781. package/vendor/ars/scripts/test_check_workflow_classification.py +225 -0
  782. package/vendor/ars/scripts/test_chinese_literature_client.py +1889 -0
  783. package/vendor/ars/scripts/test_citation_existence_policy.py +480 -0
  784. package/vendor/ars/scripts/test_citation_verification_summary.py +342 -0
  785. package/vendor/ars/scripts/test_claim_audit_calibration.py +882 -0
  786. package/vendor/ars/scripts/test_claim_audit_finalizer.py +979 -0
  787. package/vendor/ars/scripts/test_claim_audit_pipeline.py +2398 -0
  788. package/vendor/ars/scripts/test_claim_audit_schema.py +1778 -0
  789. package/vendor/ars/scripts/test_claim_intent_manifest.py +666 -0
  790. package/vendor/ars/scripts/test_claim_registry_coverage.py +246 -0
  791. package/vendor/ars/scripts/test_claim_standing_discovery.py +579 -0
  792. package/vendor/ars/scripts/test_claim_standing_pipeline_wiring.py +290 -0
  793. package/vendor/ars/scripts/test_claim_standing_stance_assets.py +399 -0
  794. package/vendor/ars/scripts/test_claim_standing_stance_contracts.py +383 -0
  795. package/vendor/ars/scripts/test_claim_standing_stance_runner.py +349 -0
  796. package/vendor/ars/scripts/test_claim_standing_transmissions.py +605 -0
  797. package/vendor/ars/scripts/test_claim_strength_drift_disposition.py +517 -0
  798. package/vendor/ars/scripts/test_claim_verification_coverage_contract.py +104 -0
  799. package/vendor/ars/scripts/test_contamination_signals.py +1086 -0
  800. package/vendor/ars/scripts/test_content_coverage_advisory.py +1767 -0
  801. package/vendor/ars/scripts/test_cross_document_consistency_advisory.py +1270 -0
  802. package/vendor/ars/scripts/test_cross_model_codex_transport.py +1152 -0
  803. package/vendor/ars/scripts/test_cross_model_handoff.py +571 -0
  804. package/vendor/ars/scripts/test_cross_model_verification_guards.py +792 -0
  805. package/vendor/ars/scripts/test_crossref_client.py +393 -0
  806. package/vendor/ars/scripts/test_dispatch_e4_panel.py +4235 -0
  807. package/vendor/ars/scripts/test_e2e_claim_audit.py +540 -0
  808. package/vendor/ars/scripts/test_eval_harness_workflow.py +140 -0
  809. package/vendor/ars/scripts/test_evals_citation_extraction.py +150 -0
  810. package/vendor/ars/scripts/test_evals_lift_report_schema.py +108 -0
  811. package/vendor/ars/scripts/test_evidence_rows.py +2593 -0
  812. package/vendor/ars/scripts/test_experiment_provenance.py +915 -0
  813. package/vendor/ars/scripts/test_human_read_attestation_resolver.py +477 -0
  814. package/vendor/ars/scripts/test_ideation_diversity_assignment_gate.py +615 -0
  815. package/vendor/ars/scripts/test_indirect_prompt_injection_behavior_probe.py +250 -0
  816. package/vendor/ars/scripts/test_inquiry_branch_ledger.py +2296 -0
  817. package/vendor/ars/scripts/test_migrate_literature_corpus_to_v3_10.py +248 -0
  818. package/vendor/ars/scripts/test_migrate_literature_corpus_to_v3_7_3.py +545 -0
  819. package/vendor/ars/scripts/test_migrate_literature_corpus_to_v3_9_0.py +497 -0
  820. package/vendor/ars/scripts/test_normalize_compat_verdict.py +149 -0
  821. package/vendor/ars/scripts/test_openalex_client.py +490 -0
  822. package/vendor/ars/scripts/test_passport_yaml.py +104 -0
  823. package/vendor/ars/scripts/test_pattern_eval_runtime.py +1295 -0
  824. package/vendor/ars/scripts/test_pdf_read_preflight.py +1943 -0
  825. package/vendor/ars/scripts/test_policy_anchor_disclosure.py +666 -0
  826. package/vendor/ars/scripts/test_reading_probe_lint.py +218 -0
  827. package/vendor/ars/scripts/test_recompute_receipts.py +778 -0
  828. package/vendor/ars/scripts/test_render_claim_standing_view.py +192 -0
  829. package/vendor/ars/scripts/test_render_eval_comment.py +162 -0
  830. package/vendor/ars/scripts/test_render_harness_retirement_issue.py +110 -0
  831. package/vendor/ars/scripts/test_repro_lock_validation_drift.py +100 -0
  832. package/vendor/ars/scripts/test_research_workflow_profile.py +734 -0
  833. package/vendor/ars/scripts/test_resolve_human_subjects_authority.py +1219 -0
  834. package/vendor/ars/scripts/test_resolve_review_target_context.py +703 -0
  835. package/vendor/ars/scripts/test_resume_e4_record.py +315 -0
  836. package/vendor/ars/scripts/test_retraction_status.py +456 -0
  837. package/vendor/ars/scripts/test_review_criteria_binding.py +629 -0
  838. package/vendor/ars/scripts/test_review_panel_provenance.py +565 -0
  839. package/vendor/ars/scripts/test_review_pathway_rule_trace.py +821 -0
  840. package/vendor/ars/scripts/test_revision_roadmap.py +1255 -0
  841. package/vendor/ars/scripts/test_run_ci_pytest_manifest.py +186 -0
  842. package/vendor/ars/scripts/test_run_codex_audit_e2e.py +369 -0
  843. package/vendor/ars/scripts/test_run_evals.py +430 -0
  844. package/vendor/ars/scripts/test_run_guard_launcher.py +500 -0
  845. package/vendor/ars/scripts/test_run_ideation_diversity_no_call.py +1833 -0
  846. package/vendor/ars/scripts/test_run_indirect_prompt_injection_no_call.py +1889 -0
  847. package/vendor/ars/scripts/test_run_review_criteria_constructive_value.py +586 -0
  848. package/vendor/ars/scripts/test_run_role_topology_utility_dry_run.py +428 -0
  849. package/vendor/ars/scripts/test_score_review_criteria_constructive_value.py +340 -0
  850. package/vendor/ars/scripts/test_semantic_scholar_client.py +554 -0
  851. package/vendor/ars/scripts/test_slr_lineage_emission.py +230 -0
  852. package/vendor/ars/scripts/test_socratic_rq_non_generation_contract.py +173 -0
  853. package/vendor/ars/scripts/test_temporal_integrity_audit.py +438 -0
  854. package/vendor/ars/scripts/test_text_similarity.py +95 -0
  855. package/vendor/ars/scripts/test_title_fuzzy_false_positive.py +111 -0
  856. package/vendor/ars/scripts/test_tortured_phrase_screening.py +2959 -0
  857. package/vendor/ars/scripts/test_transport_fixture_citation_gate.py +338 -0
  858. package/vendor/ars/scripts/test_uncited_assertion.py +558 -0
  859. package/vendor/ars/scripts/test_v3_6_7_phase_6_6.py +1279 -0
  860. package/vendor/ars/scripts/test_validate_compliance_fixtures.py +36 -0
  861. package/vendor/ars/scripts/test_validate_ideation_diversity_assets.py +230 -0
  862. package/vendor/ars/scripts/test_venue_disclosure_contract.py +755 -0
  863. package/vendor/ars/scripts/test_verification_cache.py +280 -0
  864. package/vendor/ars/scripts/test_verification_gate.py +461 -0
  865. package/vendor/ars/scripts/test_verify_passport_cli.py +123 -0
  866. package/vendor/ars/scripts/test_verify_submission_package.py +1407 -0
  867. package/vendor/ars/scripts/test_version_records_schema.py +211 -0
  868. package/vendor/ars/scripts/tortured_phrase_screening.py +3502 -0
  869. package/vendor/ars/scripts/uncited_assertion_detector.py +254 -0
  870. package/vendor/ars/scripts/v3_6_7_inversion_manifest.json +9 -0
  871. package/vendor/ars/scripts/v3_6_8_inversion_manifest.json +10 -0
  872. package/vendor/ars/scripts/validate_claim_standing_stance_assets.py +249 -0
  873. package/vendor/ars/scripts/validate_compliance_fixtures.py +56 -0
  874. package/vendor/ars/scripts/validate_ideation_diversity_assets.py +303 -0
  875. package/vendor/ars/scripts/venue_disclosure_contract_harness.py +837 -0
  876. package/vendor/ars/scripts/verification_cache.py +276 -0
  877. package/vendor/ars/scripts/verification_gate/__init__.py +345 -0
  878. package/vendor/ars/scripts/verify_passport.py +133 -0
  879. package/vendor/ars/scripts/verify_submission_package.py +1657 -0
  880. package/vendor/ars/shared/agents/compliance_agent.md +136 -0
  881. package/vendor/ars/shared/artifact_reproducibility_pattern.md +173 -0
  882. package/vendor/ars/shared/benchmark_report.schema.json +81 -0
  883. package/vendor/ars/shared/benchmark_report_pattern.md +180 -0
  884. package/vendor/ars/shared/bibliographic_integrity_signals.md +142 -0
  885. package/vendor/ars/shared/collaboration_depth_rubric.md +154 -0
  886. package/vendor/ars/shared/compliance_checkpoint_protocol.md +162 -0
  887. package/vendor/ars/shared/compliance_report.schema.json +187 -0
  888. package/vendor/ars/shared/contracts/README.md +938 -0
  889. package/vendor/ars/shared/contracts/activity/adjudication_activity_input.schema.json +555 -0
  890. package/vendor/ars/shared/contracts/activity/adjudication_activity_store.schema.json +560 -0
  891. package/vendor/ars/shared/contracts/audit/audit_jsonl.schema.json +128 -0
  892. package/vendor/ars/shared/contracts/audit/audit_sidecar.schema.json +169 -0
  893. package/vendor/ars/shared/contracts/audit/audit_verdict.schema.json +133 -0
  894. package/vendor/ars/shared/contracts/audit/cross_document_consistency_advisory.schema.json +480 -0
  895. package/vendor/ars/shared/contracts/audit/cross_document_consistency_advisory_draft.schema.json +564 -0
  896. package/vendor/ars/shared/contracts/audit/cross_document_source_manifest.schema.json +202 -0
  897. package/vendor/ars/shared/contracts/audit/tortured_phrase_advisory.schema.json +1362 -0
  898. package/vendor/ars/shared/contracts/audit/tortured_phrase_snapshot.schema.json +208 -0
  899. package/vendor/ars/shared/contracts/audit/tortured_phrase_snapshot_manifest.schema.json +335 -0
  900. package/vendor/ars/shared/contracts/capability/stage_capability_matrix.json +434 -0
  901. package/vendor/ars/shared/contracts/claim_standing/candidate_ledger.schema.json +705 -0
  902. package/vendor/ars/shared/contracts/claim_standing/query_plan.schema.json +389 -0
  903. package/vendor/ars/shared/contracts/claim_standing/query_plan_v1_1.schema.json +782 -0
  904. package/vendor/ars/shared/contracts/claim_standing/retrieval_input.schema.json +440 -0
  905. package/vendor/ars/shared/contracts/claim_standing/stance_record.schema.json +460 -0
  906. package/vendor/ars/shared/contracts/claim_standing/transmission_ledger.schema.json +282 -0
  907. package/vendor/ars/shared/contracts/cross_model/codex_citation_receipt.schema.json +157 -0
  908. package/vendor/ars/shared/contracts/cross_model/codex_citation_request.schema.json +23 -0
  909. package/vendor/ars/shared/contracts/cross_model/promotion_bakeoff_sealed_commitment.schema.json +55 -0
  910. package/vendor/ars/shared/contracts/cross_model/promotion_bakeoff_sealed_reveal.schema.json +50 -0
  911. package/vendor/ars/shared/contracts/degradation_registry.json +428 -0
  912. package/vendor/ars/shared/contracts/evaluator/full.json +126 -0
  913. package/vendor/ars/shared/contracts/evidence/claim_registry.schema.json +50 -0
  914. package/vendor/ars/shared/contracts/evidence/claim_registry_coverage_report.schema.json +79 -0
  915. package/vendor/ars/shared/contracts/evidence/evidence_row.schema.json +504 -0
  916. package/vendor/ars/shared/contracts/evidence/evidence_row_v1_1.schema.json +364 -0
  917. package/vendor/ars/shared/contracts/evidence/evidence_row_v1_2.schema.json +714 -0
  918. package/vendor/ars/shared/contracts/evidence/evidence_row_v1_3.schema.json +524 -0
  919. package/vendor/ars/shared/contracts/human_subjects/authority_profile_registry.schema.json +497 -0
  920. package/vendor/ars/shared/contracts/human_subjects/committee_correspondence.schema.json +253 -0
  921. package/vendor/ars/shared/contracts/human_subjects/content_coverage_advisory.schema.json +620 -0
  922. package/vendor/ars/shared/contracts/human_subjects/irb_context_record.schema.json +329 -0
  923. package/vendor/ars/shared/contracts/human_subjects/resolved_authority_context.schema.json +347 -0
  924. package/vendor/ars/shared/contracts/human_subjects/review_pathway_rule_trace.schema.json +265 -0
  925. package/vendor/ars/shared/contracts/human_subjects/review_pathway_trace_request.schema.json +127 -0
  926. package/vendor/ars/shared/contracts/human_subjects/submission_packet_inventory.schema.json +240 -0
  927. package/vendor/ars/shared/contracts/human_subjects/submission_packet_manifest.schema.json +999 -0
  928. package/vendor/ars/shared/contracts/passport/audit_artifact_entry.schema.json +266 -0
  929. package/vendor/ars/shared/contracts/passport/bibliographic_integrity_signal.schema.json +1676 -0
  930. package/vendor/ars/shared/contracts/passport/citation_provenance.schema.json +107 -0
  931. package/vendor/ars/shared/contracts/passport/citation_verification_summary.schema.json +164 -0
  932. package/vendor/ars/shared/contracts/passport/claim_audit_result.schema.json +124 -0
  933. package/vendor/ars/shared/contracts/passport/claim_drift.schema.json +58 -0
  934. package/vendor/ars/shared/contracts/passport/claim_intent_manifest.schema.json +107 -0
  935. package/vendor/ars/shared/contracts/passport/constraint_violation.schema.json +65 -0
  936. package/vendor/ars/shared/contracts/passport/experiment_alignment_result.schema.json +69 -0
  937. package/vendor/ars/shared/contracts/passport/experiment_provenance_entry.schema.json +169 -0
  938. package/vendor/ars/shared/contracts/passport/human_read_log.schema.json +86 -0
  939. package/vendor/ars/shared/contracts/passport/inquiry_ledger_ref.schema.json +22 -0
  940. package/vendor/ars/shared/contracts/passport/literature_corpus_entry.schema.json +650 -0
  941. package/vendor/ars/shared/contracts/passport/preregistration_artifact.schema.json +132 -0
  942. package/vendor/ars/shared/contracts/passport/rejection_log.schema.json +89 -0
  943. package/vendor/ars/shared/contracts/passport/reset_ledger_entry.schema.json +158 -0
  944. package/vendor/ars/shared/contracts/passport/temporal_audit_results.schema.json +208 -0
  945. package/vendor/ars/shared/contracts/passport/terminal_policies.schema.json +50 -0
  946. package/vendor/ars/shared/contracts/passport/timeline.schema.json +102 -0
  947. package/vendor/ars/shared/contracts/passport/uncited_assertion.schema.json +56 -0
  948. package/vendor/ars/shared/contracts/passport/uncited_audit_failure.schema.json +72 -0
  949. package/vendor/ars/shared/contracts/passport/user_attested_read_resolution.schema.json +87 -0
  950. package/vendor/ars/shared/contracts/passport/version_records.schema.json +138 -0
  951. package/vendor/ars/shared/contracts/patch/block_manifest.schema.json +45 -0
  952. package/vendor/ars/shared/contracts/patch/legacy/v1_0/revision_patch.schema.json +110 -0
  953. package/vendor/ars/shared/contracts/patch/revision_patch.schema.json +250 -0
  954. package/vendor/ars/shared/contracts/pdf/pdf_content_classifier_diagnostic.schema.json +39 -0
  955. package/vendor/ars/shared/contracts/pdf/pdf_content_classifier_worker.schema.json +88 -0
  956. package/vendor/ars/shared/contracts/pdf/pdf_read_preflight.schema.json +227 -0
  957. package/vendor/ars/shared/contracts/re_review/input_manifest.schema.json +161 -0
  958. package/vendor/ars/shared/contracts/re_review/legacy/v1_0/input_manifest.schema.json +134 -0
  959. package/vendor/ars/shared/contracts/re_review/legacy/v1_0/precommitment.schema.json +193 -0
  960. package/vendor/ars/shared/contracts/re_review/legacy/v1_0/traceability.schema.json +841 -0
  961. package/vendor/ars/shared/contracts/re_review/legacy/v1_0/verdict_record.schema.json +244 -0
  962. package/vendor/ars/shared/contracts/re_review/precommitment.schema.json +193 -0
  963. package/vendor/ars/shared/contracts/re_review/traceability.schema.json +916 -0
  964. package/vendor/ars/shared/contracts/re_review/verdict_record.schema.json +245 -0
  965. package/vendor/ars/shared/contracts/research_workflow/inquiry_branch_ledger.schema.json +449 -0
  966. package/vendor/ars/shared/contracts/research_workflow/research_workflow_profile.schema.json +222 -0
  967. package/vendor/ars/shared/contracts/research_workflow/research_workflow_profile_selection_receipt.schema.json +111 -0
  968. package/vendor/ars/shared/contracts/review_target/constructive_review_findings.schema.json +172 -0
  969. package/vendor/ars/shared/contracts/review_target/criteria_registry.schema.json +97 -0
  970. package/vendor/ars/shared/contracts/review_target/review_criteria_binding_manifest.schema.json +235 -0
  971. package/vendor/ars/shared/contracts/review_target/review_criteria_source_receipt.schema.json +158 -0
  972. package/vendor/ars/shared/contracts/review_target/review_target_context.schema.json +106 -0
  973. package/vendor/ars/shared/contracts/review_target/review_target_declaration.schema.json +118 -0
  974. package/vendor/ars/shared/contracts/reviewer/full.json +114 -0
  975. package/vendor/ars/shared/contracts/reviewer/methodology_focus.json +75 -0
  976. package/vendor/ars/shared/contracts/reviewer/review_panel_provenance.schema.json +263 -0
  977. package/vendor/ars/shared/contracts/reviewer/review_panel_provenance_carrier.schema.json +122 -0
  978. package/vendor/ars/shared/contracts/reviewer/review_panel_provenance_input.schema.json +120 -0
  979. package/vendor/ars/shared/contracts/revision/author_adjudication.schema.json +251 -0
  980. package/vendor/ars/shared/contracts/revision/author_adjudication_input.schema.json +25 -0
  981. package/vendor/ars/shared/contracts/revision/claim_strength_drift_disposition.schema.json +97 -0
  982. package/vendor/ars/shared/contracts/revision/claim_strength_drift_disposition_input.schema.json +80 -0
  983. package/vendor/ars/shared/contracts/revision/claim_strength_drift_findings.schema.json +139 -0
  984. package/vendor/ars/shared/contracts/revision/claim_surface_manifest.schema.json +99 -0
  985. package/vendor/ars/shared/contracts/revision/integrity_correction_authorization.schema.json +140 -0
  986. package/vendor/ars/shared/contracts/revision/integrity_correction_authorization_input.schema.json +28 -0
  987. package/vendor/ars/shared/contracts/revision/integrity_correction_list.schema.json +48 -0
  988. package/vendor/ars/shared/contracts/revision/integrity_pass_receipt.schema.json +16 -0
  989. package/vendor/ars/shared/contracts/revision/revision_evidence_bundle.schema.json +134 -0
  990. package/vendor/ars/shared/contracts/revision/revision_roadmap.schema.json +334 -0
  991. package/vendor/ars/shared/contracts/submission/format_profile.example.yaml +33 -0
  992. package/vendor/ars/shared/contracts/submission/format_profile.schema.json +102 -0
  993. package/vendor/ars/shared/contracts/submission/submission_verification_report.schema.json +233 -0
  994. package/vendor/ars/shared/contracts/submission/venue_profile.schema.json +114 -0
  995. package/vendor/ars/shared/contracts/writer/full.json +87 -0
  996. package/vendor/ars/shared/cross_model_verification.md +714 -0
  997. package/vendor/ars/shared/evals_lift_report.schema.json +141 -0
  998. package/vendor/ars/shared/ground_truth_isolation_pattern.md +275 -0
  999. package/vendor/ars/shared/handoff_schemas.md +1209 -0
  1000. package/vendor/ars/shared/human_subjects_authority_registry.json +1278 -0
  1001. package/vendor/ars/shared/mode_spectrum.md +57 -0
  1002. package/vendor/ars/shared/model_tiering.md +83 -0
  1003. package/vendor/ars/shared/policy_data/nature_policy.md +56 -0
  1004. package/vendor/ars/shared/prisma_trAIce_protocol.md +157 -0
  1005. package/vendor/ars/shared/raise_framework.md +129 -0
  1006. package/vendor/ars/shared/references/authority_content_coverage_advisory_protocol.md +275 -0
  1007. package/vendor/ars/shared/references/claim_standing_candidate_ledger_protocol.md +66 -0
  1008. package/vendor/ars/shared/references/claim_strength_ladder.md +93 -0
  1009. package/vendor/ars/shared/references/cross_document_consistency_advisory_protocol.md +263 -0
  1010. package/vendor/ars/shared/references/evidence_row_protocol.md +260 -0
  1011. package/vendor/ars/shared/references/firm_rules.md +90 -0
  1012. package/vendor/ars/shared/references/human_subjects_authority_protocol.md +274 -0
  1013. package/vendor/ars/shared/references/intent_clarification_protocol.md +168 -0
  1014. package/vendor/ars/shared/references/irb_terminology_glossary.md +229 -0
  1015. package/vendor/ars/shared/references/protected_hedging_phrases.md +118 -0
  1016. package/vendor/ars/shared/references/psychometric_terminology_glossary.md +109 -0
  1017. package/vendor/ars/shared/references/review_criteria_consumer_protocol.md +238 -0
  1018. package/vendor/ars/shared/references/review_pathway_rule_trace_protocol.md +166 -0
  1019. package/vendor/ars/shared/references/submission_packet_manifest_protocol.md +292 -0
  1020. package/vendor/ars/shared/references/word_count_conventions.md +124 -0
  1021. package/vendor/ars/shared/research_workflow_profiles/field_general.json +1 -0
  1022. package/vendor/ars/shared/review_criteria_registry.json +207 -0
  1023. package/vendor/ars/shared/review_criteria_sources/msr-2027-technical-papers.2026-08-24.json +46 -0
  1024. package/vendor/ars/shared/review_criteria_sources/sigsoft-empirical-standards.2026-08-24.json +31 -0
  1025. package/vendor/ars/shared/sprint_contract.schema.json +482 -0
  1026. package/vendor/ars/shared/style_calibration_protocol.md +151 -0
  1027. package/vendor/ars/shared/templates/codex_audit_multifile_template.md +263 -0
  1028. package/vendor/ars/tools/release-discipline/.toolkit-version +1 -0
  1029. package/vendor/ars/tools/release-discipline/README.md +4 -0
  1030. package/vendor/ars/tools/release-discipline/scripts/_release_doc_alignment_schema.py +1011 -0
  1031. package/vendor/ars/tools/release-discipline/scripts/check_command_invariants.py +497 -0
  1032. package/vendor/ars/tools/release-discipline/scripts/check_release_doc_alignment.py +263 -0
  1033. package/vendor/ars/tools/release-discipline/scripts/sync-toolkit.sh +147 -0
  1034. package/vendor/windows/NOTICE.md +12 -0
  1035. package/vendor/windows/arm64/fd.exe +0 -0
  1036. package/vendor/windows/arm64/licenses/fd/LICENSE-APACHE +201 -0
  1037. package/vendor/windows/arm64/licenses/fd/LICENSE-MIT +21 -0
  1038. package/vendor/windows/arm64/licenses/ripgrep/COPYING +3 -0
  1039. package/vendor/windows/arm64/licenses/ripgrep/LICENSE-MIT +21 -0
  1040. package/vendor/windows/arm64/licenses/ripgrep/UNLICENSE +24 -0
  1041. package/vendor/windows/arm64/rg.exe +0 -0
  1042. package/vendor/windows/x64/fd.exe +0 -0
  1043. package/vendor/windows/x64/licenses/fd/LICENSE-APACHE +201 -0
  1044. package/vendor/windows/x64/licenses/fd/LICENSE-MIT +21 -0
  1045. package/vendor/windows/x64/licenses/ripgrep/COPYING +3 -0
  1046. package/vendor/windows/x64/licenses/ripgrep/LICENSE-MIT +21 -0
  1047. package/vendor/windows/x64/licenses/ripgrep/UNLICENSE +24 -0
  1048. package/vendor/windows/x64/rg.exe +0 -0
@@ -0,0 +1,938 @@
1
+ # ARS Shared Contracts
2
+
3
+ Schema files for cross-skill contracts: reviewer sprint contracts, Material Passport
4
+ ports, and (v3.6.7+) cross-model audit artifact pipelines.
5
+
6
+ ## Stage capability / evidence matrix (#745)
7
+
8
+ - `capability/stage_capability_matrix.json` (`stage-capability-matrix/1.0`) is the
9
+ single machine-readable source for per-stage mechanism status, deterministic
10
+ conformance, behavioral-evidence provenance, transport limits, and the maximum
11
+ claim that evidence licenses. Behavioral statuses (`DESIGNED` / `NOT_RUN` /
12
+ `MEASURED` / `MIXED` / `OUT_OF_SCOPE`) cannot collapse: an unrun eval can never
13
+ carry a result, a measured row must carry full provenance (in-repo `eval_ref`,
14
+ model, population, ISO date, result summary), and stale measurements require a
15
+ visible staleness note. A measured row whose suite publishes
16
+ `measurement-*.json` reports must bind the current one (date-equal, sibling
17
+ supersession detected), `CI_GATED`/`TESTED` conformance must name existing
18
+ lints/tests (`conformance_pinned_by`, D4-style), and `claim_anchors` bind
19
+ top-level capability sentences verbatim so rewording a claim without
20
+ touching the matrix fails CI.
21
+ - `docs/STAGE_CAPABILITY_MATRIX.md` is GENERATED from the matrix
22
+ (`scripts/check_stage_capability_matrix.py --render`) and byte-pinned by the
23
+ same lint. The matrix indexes evidence, it does not create it: a row licenses
24
+ at most its recorded `max_licensed_claim`, never more.
25
+
26
+ ## Sealed Promotion Bakeoff preregistration (#789)
27
+
28
+ - `cross_model/promotion_bakeoff_sealed_commitment.schema.json` is the closed
29
+ public pre-fleet carrier: campaign id, LF-normalized probe-set SHA-256, and
30
+ the fixed 30-row aggregate composition only. It has no row, label, path, or
31
+ free-text field in which the answer key can be exposed.
32
+ - `cross_model/promotion_bakeoff_sealed_reveal.schema.json` binds that immutable
33
+ commitment to the post-fleet `probe_set.json` reveal. The standard-library
34
+ checker `scripts/check_promotion_bakeoff_preregistration.py` validates the
35
+ closed probe shape, strict Git introduction order, immutable history,
36
+ canonical paths, worktree/index state, and detectable reuse across all local
37
+ refs and every historical probe version. It rejects shallow history and
38
+ unreadable historical objects; the sole 2026-08-19 unsealed grandfather is
39
+ pinned to its canonical path, normalized digest, blob history, and file mode.
40
+ Verification receipts enumerate every bound squash/cherry-pick reveal copy
41
+ whose remote publication time must be witnessed after the fleet.
42
+
43
+ The checker proves repository evidence only. Remote publication time and fleet
44
+ start/end time cannot be derived from local Git, so its receipt explicitly
45
+ requires the public permalink, passing CI witness, and fleet-time bounds in the
46
+ run report before a result is gate-eligible. The full operator lifecycle and
47
+ claims boundary live in `../cross_model_verification.md` § Promotion Bakeoff.
48
+
49
+ ## Research-family workflow profiles (#742)
50
+
51
+ - `research_workflow/research_workflow_profile.schema.json`
52
+ (`research-workflow-profile/1.0`) is the closed, manuscript-blind declaration
53
+ of stage applicability and vocabulary. Omitted task families resolve to
54
+ `unresolved_fit`, never to applicable. The profile embeds a SHA-256 over its
55
+ JSON Canonical Form with `content_sha256` replaced by 64 zeroes; persisted
56
+ profile files must themselves be exact canonical bytes.
57
+ - `research_workflow/research_workflow_profile_selection_receipt.schema.json`
58
+ (`research-workflow-profile-selection-receipt/1.0`) records an append-only
59
+ user selection/confirmation/fallback chain. A correction appends a new
60
+ binding and one visible `profile_context_changed` stale mark per supplied
61
+ prior-profile stage output. It never rewrites or removes an artifact. Newly
62
+ introduced authority requirements remain attached to each mark with an
63
+ explicit `authority_sensitive_reuse_gate: unmet`, so a later consumer can
64
+ block that reuse until the applicable check passes.
65
+ - `../research_workflow_profiles/field_general.json` is the mandatory shipped
66
+ fallback: every task family is unresolved except the field-general integrity
67
+ gates, alternatives are unresolved, the live-branch budget is 3, and an empty
68
+ authority list means “unknown; ask the user,” never “not required.” It ships
69
+ with explicit English and zh-TW display names.
70
+
71
+ The standard-library runtime is `scripts/research_workflow_profile.py`. Its
72
+ `select` command treats an omitted `--profile` as a visibly recorded automatic
73
+ fallback; an explicit profile requires `--selected-by`. `correct` consumes an
74
+ explicit prior-profile binding and stage-output inventory, then emits the new
75
+ receipt to stdout only. No command reads manuscript content, infers a family,
76
+ changes the default workflow, or writes scholar-owned artifacts. The human
77
+ usability protocol and every outcome claim remain `NOT_RUN`.
78
+
79
+ ## Opt-in inquiry branch ledger (#743)
80
+
81
+ - `research_workflow/inquiry_branch_ledger.schema.json`
82
+ (`inquiry-branch-ledger/1.0`) is the closed event-source contract for
83
+ author-originated branches, parked AI-surfaced facets, explicit adoption,
84
+ disposition, reopen signals, profile rebound, and first-degree artifact
85
+ staleness. Dense event ids plus a canonical previous-event hash chain detect
86
+ interior rewrite/reorder; the separate passport digest is the required
87
+ trusted head for truncation detection.
88
+ - `passport/inquiry_ledger_ref.schema.json` closes the optional Material
89
+ Passport pointer to `{ledger_path, ledger_version, content_sha256}`. It never
90
+ embeds a branch or profile and never widens a filesystem path outside the
91
+ caller-supplied workspace root.
92
+
93
+ The deterministic offline runtime is `scripts/inquiry_branch_ledger.py`. Replay
94
+ requires every exact profile bound by the ledger so the live-branch budget is
95
+ never inferred from a current default. Reopen appends contiguous deterministic
96
+ stale-cause events; clearing one cause cannot clear another. Ledger/passport
97
+ publication uses a stable sidecar lock and durable recovery journal. The
98
+ feature is OFF unless `ARS_INQUIRY_LEDGER=1`, does not materialize before a
99
+ second branch, and shows compact summaries only at the frozen Stage 1, 2.5,
100
+ 4.5, or still-actionable recorded-signal moments. Behavioral and usability evidence is
101
+ `NOT_RUN`.
102
+
103
+ ## PDF read-integrity and optional content advisory (#512 follow-up)
104
+
105
+ - `pdf/pdf_read_preflight.schema.json` accepts the unchanged legacy structural sidecar
106
+ or the all-or-nothing opt-in content extension. In that extension, `verdict` is
107
+ explicitly `verdict_scope: STRUCTURE_ONLY`; `OCR_RECOMMENDED` never rewrites that
108
+ structural value into a content claim. The schema binds the legacy shape to tool
109
+ version 1.0.0 and the extension shape to 1.1.0.
110
+ - `pdf/pdf_content_classifier_worker.schema.json` closes the stdout of the fixed
111
+ isolated worker to two classifications, three unavailable reasons, finite bounded
112
+ confidence, and bounded non-negative page indexes. Runtime additionally binds every
113
+ page to the structural page count.
114
+ - `pdf/pdf_content_classifier_diagnostic.schema.json` is the separate POSIX-only,
115
+ local mode-`0600` operator artifact. Platforms without `fchmod` reject its CLI
116
+ option before path creation. Its explicitly untrusted detail is capped and never
117
+ copied into or referenced by the sidecar. File-writing CLI invocations use
118
+ conservative NFC/casefold keys, path resolution, and existing-inode checks to reject
119
+ aliases before worker launch; the stdout-only legacy path adds no such precondition.
120
+ POSIX sidecar output pre-binds the parent dirfd/inode, then uses a private `0700`
121
+ fixed-name staging directory and anchored dirfd-relative publication. Open-inode
122
+ checks reject staging entry swaps; atomic final-entry replacement does not follow
123
+ post-check links. Non-POSIX output fails closed; stdout classification remains
124
+ available. The diagnostic parent is likewise dirfd-bound before the worker. These are
125
+ instantaneous inode postconditions, not a general same-UID sandbox; callers control
126
+ the output parent. A failed diagnostic unlinks only the no-follow leaf still matching
127
+ its created fd inode, preserving the primary error and any attacker replacement while
128
+ keeping its exclusive path retryable.
129
+
130
+ Runtime: `scripts/pdf_read_preflight.py` and
131
+ `scripts/pdf_content_classifier_worker.py`. Frozen opt-in scope and residual risk:
132
+ `docs/design/2026-08-13-512-pdf-content-classification-sandbox-spec.md`.
133
+
134
+ ## Claim-standing candidate ledger (#655 Track A)
135
+
136
+ - `claim_standing/query_plan.schema.json` (`claim-standing-query-plan/1.0`)
137
+ binds one exact high-impact checkpoint claim, at most three accepted queries,
138
+ at most four discovery-index identities, filters, authorized content class,
139
+ frozen caps, and retrieval-only consent through a closed consentable-plan
140
+ projection (version 1.1 below adds the stance-authorizable consent).
141
+ - `claim_standing/retrieval_input.schema.json`
142
+ (`claim-standing-retrieval-input/1.0`) carries already-retained,
143
+ adapter-neutral attempts, closed retry-authorization receipts, raw hits,
144
+ explicit version relations, and caller-supplied relevance success/failure
145
+ evidence bound to exact claim/candidate inputs and canonical prompt bytes.
146
+ - `claim_standing/candidate_ledger.schema.json`
147
+ (`claim-standing-candidate-ledger/1.0`) preserves every attempt and raw-hit
148
+ terminal state while recording deterministic work-family selection.
149
+ - `claim_standing/query_plan_v1_1.schema.json`
150
+ (`claim-standing-query-plan/1.1`) is identical to 1.0 except that the consent
151
+ decision may be `retrieval_plus_stance`, in which case a top-level
152
+ `stance_plan` names the exact stance provider/model surface, the consent
153
+ binds its hash, and the authorized content classes extend by exactly
154
+ `claim_and_selected_evidence_to_stance_provider`. A 1.0 plan stays valid
155
+ under its own schema; the runtime validator accepts both versions and
156
+ enforces the stance bindings only on 1.1.
157
+ - `claim_standing/transmission_ledger.schema.json`
158
+ (`claim-standing-transmission-ledger/1.0`) accounts every event that left the
159
+ session during one probe: retrieval-query events derived one-to-one from the
160
+ retained attempts and stance-classification events copied verbatim from the
161
+ stance runner's transmission records, each carrying recipient, purpose, exact
162
+ content classes, byte count, local hash, time, consent receipt, retention
163
+ disclosure, and result state. `scripts/check_claim_standing_transmissions.py`
164
+ is the normative builder/validator: an event outside the plan's authorized
165
+ content classes or consented recipient roster fails closed (design §9
166
+ gate 14), and validation is exact replay.
167
+ - `claim_standing/stance_record.schema.json`
168
+ (`claim-standing-stance-record/1.0`) is the stance-classification output for
169
+ one probe run: full §7 probe-identity hashes, one row per selected work
170
+ family under the closed §5.1 vocabulary and cross-field rules (a performed
171
+ row requires at least one `EVR-CS-` evidence-row reference; metadata-only
172
+ coverage can never be performed), the all-selected distribution whose seven
173
+ buckets must sum to `selected_total`, a mandatory
174
+ `STANCE CLASSIFICATION UNMEASURED` banner, and no scalar
175
+ credibility/confidence/trust field anywhere (test-pinned).
176
+
177
+ Provider retention disclosure is also closed: `known` requires a non-empty
178
+ reference and `unknown` requires null.
179
+
180
+ The schema-level `\\S` checks are portable first screens. The runtime applies a
181
+ single NFKC visible-semantic-text predicate to the claim/query, disclosure,
182
+ identity, available-abstract, successful-assessment, and failure-detail
183
+ surfaces; it rejects surrogates and text made only of Unicode control/format,
184
+ separator, combining, whitespace, or punctuation characters. Failed malformed
185
+ assessment raw output remains exact evidence and may itself be whitespace- or
186
+ format-only. DOI text is stable identity only when strict NFKC/prefix-trimmed
187
+ `10.<4-9 digits>/<suffix>` validation succeeds.
188
+
189
+ The pure local finalizer is
190
+ `scripts/build_claim_standing_candidate_ledger.py`; the authoritative boundary
191
+ is `shared/references/claim_standing_candidate_ledger_protocol.md`. This slice
192
+ has no discovery adapter, network/model call, stance classification, rendering,
193
+ evidence-row extension, pipeline hook, or held-out dispatch. It is an offline
194
+ substrate only, remains unmeasured, and does not close #655.
195
+ Its CLI never creates an output for a `session_only` plan. `build --output`
196
+ requires the existing, hash-bound `explicit_local_export` consent state; there
197
+ is no command-line override. Authorized output must exactly match the
198
+ hash-bound absolute `authorized_output_path`, is exclusive/no-follow where the host
199
+ supports it, mode `0600` from creation, file- and directory-fsynced, and
200
+ truthfully carries the consented persistence/export/path state at the ledger root
201
+ and in each work family's sharing scope. Its separate rights basis remains
202
+ `not_assessed`; local persistence consent is not a rights claim.
203
+
204
+ ## Codex subscription citation transport (#630)
205
+
206
+ - `cross_model/codex_citation_request.schema.json` — closed, bounded data-only
207
+ request for one citation; no path or caller-authored prompt is representable.
208
+ - `cross_model/codex_citation_receipt.schema.json` — closed verdict plus exact
209
+ app-server search-result bindings and a fixed containment receipt.
210
+
211
+ Runtime: `scripts/cross_model_codex_transport.py`. Protocol and limitations:
212
+ `shared/cross_model_verification.md`. Frozen design:
213
+ `docs/design/2026-08-11-630-codex-subscription-citation-transport-spec.md`.
214
+ The adapter is scoped to Stage 2.5 / 4.5 citation-integrity calls and is not a
215
+ general DA, reviewer, judgment, or handoff transport.
216
+
217
+ ## Sprint contracts (v3.6.2+)
218
+
219
+ Sprint contract templates for reviewer hard-gate orchestration.
220
+
221
+ Schema: `shared/sprint_contract.schema.json` (Schema 13).
222
+ Validator: `scripts/check_sprint_contract.py`.
223
+ Spec: `docs/design/2026-04-23-ars-v3.6.2-sprint-contract-design.md`.
224
+ Protocol: `academic-paper-reviewer/references/sprint_contract_protocol.md`.
225
+
226
+ ### Shipped templates
227
+
228
+ **v3.6.2 (reviewer family)**:
229
+
230
+ - `reviewer/full.json` — panel 5, 5 dimensions, 4 failure conditions
231
+ - `reviewer/methodology_focus.json` — panel 2, 2 dimensions, 3 failure conditions
232
+
233
+ **v3.6.6 / suite v3.6.8 (generator-evaluator family)**:
234
+
235
+ - `writer/full.json` — single-agent writer, 7 dimensions (D1 section_completeness / D2 citation_density / D3 argument_blueprint_fidelity / D4 total_word_count / D5 per_section_word_count / D6 acknowledged_limitations / D7 register_consistency), 5 failure conditions (F1 / F4 / F2 / F3 / F0). No `scoring_plan` field.
236
+ - `evaluator/full.json` — single-agent evaluator, 5 dimensions (D1 originality / D2 methodological_rigor / D3 evidence_sufficiency / D4 argument_coherence / D5 writing_quality), 7 failure conditions (F1 / F2 / F3 / F6 / F4 / F5 / F0). Carries full `scoring_plan` + `disagreement_handling`.
237
+
238
+ Both writer + evaluator templates ship under Schema 13.1 (allOf branches 11/12 require `pre_commitment_artifacts` for `writer_full` and `disagreement_handling` for `evaluator_full`; branches 5/6 pin `failure_conditions[].action` to mode-specific enums; branches 8/9 pin F0 contains to the mode's accept variant). Orchestration block lives in `academic-paper/SKILL.md` § "v3.6.6 Generator-Evaluator Contract Protocol" + the writer/evaluator agent files.
239
+
240
+ ### Reserved reviewer modes without shipped templates
241
+
242
+ `reviewer_calibration` and `reviewer_guided` are in the schema enum but ship without
243
+ templates. Those modes continue to operate in their existing form (no contract, no
244
+ hard-gate) until a follow-up patch release adds their templates. `reviewer_re_review`
245
+ left the Schema 13 enum with #576 Spec B: re-review is governed by the dedicated
246
+ contract family under `re_review/` (four schemas + `scripts/check_re_review_synthesis.py`),
247
+ not by a Schema 13 template — a contract claiming `mode: reviewer_re_review` no longer
248
+ validates.
249
+
250
+ ### How to add a new template
251
+
252
+ 1. Add the file under `shared/contracts/<domain>/<mode>.json`.
253
+ 2. Run `python scripts/check_sprint_contract.py <path> --ars-version vX.Y.Z`; expect
254
+ zero errors and zero soft warnings.
255
+ 3. If `expression` strings use new phrasing, update `sprint_contract_protocol.md`
256
+ and the synthesizer prompt's recognised-pattern list in the same PR.
257
+
258
+ ## Passport contracts (v3.6.4+)
259
+
260
+ Schemas for Material Passport input ports.
261
+
262
+ - `passport/literature_corpus_entry.schema.json` (v3.6.4) — Schema 9 `literature_corpus[]`
263
+ entries produced by user-written adapters.
264
+ - `passport/bibliographic_integrity_signal.schema.json` (#678/#651/#660) — v1.0
265
+ additive signal carrier, v1.1 authoritative retraction-status rows, and the
266
+ v1.2 title/abstract tortured-phrase advisory profile,
267
+ including resolver disagreement/reinstatement, judgment context, freshness,
268
+ and opt-in finalizer policy eligibility. The separate
269
+ `retraction_status_cache_v1` namespace and pure resolver live in
270
+ `scripts/retraction_status.py`.
271
+ - `passport/rejection_log.schema.json` (v3.6.4) — adapter output companion logging
272
+ entries that could not be included in the corpus.
273
+ - `passport/reset_ledger_entry.schema.json` (v3.6.3) — `reset_boundary[]` ledger entries
274
+ for the opt-in passport reset boundary protocol.
275
+ - `passport/inquiry_ledger_ref.schema.json` (#743) — optional digest-bound
276
+ pointer to the separate canonical inquiry branch ledger; missing or
277
+ mismatched targets fail visibly and unpointed candidates are ignored.
278
+ - `passport/audit_artifact_entry.schema.json` (v3.6.7 Step 6) — `audit_artifact[]` entries
279
+ recording one cross-model audit run per downstream-agent deliverable. Two lifecycle
280
+ states (proposal / persisted) share the schema via `oneOf`. Cross-artifact invariants
281
+ are enforced by `scripts/check_audit_artifact_consistency.py`. Spec:
282
+ `docs/design/2026-04-30-ars-v3.6.7-step-6-orchestrator-hooks-spec.md` §3.1-§3.2.
283
+ - `passport/version_records.schema.json` (Kong #258) — optional
284
+ `phase2_investigation/version_records.yaml` sidecar for academic citation version
285
+ families (preprint -> proceedings -> journal extension). This is deliberately a
286
+ sidecar: `literature_corpus_entry.schema.json` stays adapter-owned and unmodified.
287
+ - `passport/human_read_log.schema.json` (#513/#738) — the user-owned
288
+ `USER_ATTESTED_READ` ledger
289
+ (`<passport-stem>_human_read_log.yaml`, written by `scripts/ars_mark_read.py`),
290
+ including required scope on new marks and legacy-compatible scope absence.
291
+ Declaration-only: it is not verified reading or comprehension. Missing/unknown
292
+ scope remains `coverage_unknown` and never promotes to `ok`.
293
+ - `passport/user_attested_read_resolution.schema.json` (#738) — the closed output
294
+ of `scripts/human_read_attestation_resolver.py`; only `state: covered` is
295
+ `ok_eligible`, while absence, rescind, partial/unknown coverage, unresolved
296
+ anchors, and invalid ledgers remain explicitly non-promoting. This output is a
297
+ `transient_routing_decision`, not a persisted audit receipt: it carries no
298
+ input digest and must be recomputed from the current ledger and exact anchor
299
+ on each finalizer pass. Its closed `finalizer_disposition` keeps absent or
300
+ rescinded marks as unacknowledged LOW-WARN, partial/unknown active marks as
301
+ acknowledged-partial, anchor failures on the locator-precedence route, and
302
+ invalid ledgers on a blocking route.
303
+
304
+ ## Shared evidence rows (#656)
305
+
306
+ `shared/contracts/evidence/claim_registry.schema.json` (#737) is the closed E1
307
+ population contract: exact raw-draft hash plus exact UTF-8 byte span and equal
308
+ text for every registered claim. `claim_registry_coverage_report.schema.json`
309
+ is the deterministic, replay-bound gap report emitted by
310
+ `scripts/claim_registry_coverage.py`; it binds exact raw draft and serialized
311
+ registry hashes and joins only those exact spans. It covers citation-bearing
312
+ and quantitative candidate sentences only. Its finite grammar includes common
313
+ Markdown/numeric/author-year/Pandoc/inline-reference citations plus
314
+ unit-bearing numbers, p-values, `N=...`, and common effect-size/ratio notation;
315
+ unrecognized scholarly syntax remains possible. The report always records
316
+ `semantic_extraction_coverage: not_machine_detectable`; it cannot certify that
317
+ every substantive claim was extracted into E1. Consumers replay the report
318
+ against both inputs; absence, stale bindings, or validation failure are
319
+ unresolved execution states, never a zero-gap result.
320
+
321
+ ## Review-panel provenance (#740)
322
+
323
+ `reviewer/review_panel_provenance_input.schema.json` records actual seat-level
324
+ observations; `reviewer/review_panel_provenance.schema.json` is the closed,
325
+ replay-derived artifact built by `scripts/review_panel_provenance.py`. Both are
326
+ closed to `reviewer_full`, bind the exact raw-byte digest of
327
+ `reviewer/full.json`, and require the ordered `EIC`, `R1`, `R2`, `R3`, `DA`
328
+ roster. Actual execution observations remain nullable and are never filled from
329
+ those seat labels. The artifact keeps role separation, within-panel invocation
330
+ context separation, peer-output blinding, model-family diversity, provider
331
+ diversity, and accountable-human diversity as six separate `true` / `false` /
332
+ `unknown` axes. `fresh_context_scope: within_panel_attempt_only` makes explicit
333
+ that no cross-attempt history is checked. Missing facts remain unknown,
334
+ same-family or family-unknown execution carries a fixed correlated-error
335
+ disclosure, and no persona-derived binary independence field is admitted.
336
+
337
+ `reviewer/review_panel_provenance_carrier.schema.json` is the exact closed
338
+ Schema 6 valid/invalid union. The valid branch is accepted only after the
339
+ runtime hashes the referenced artifact's exact raw bytes, validates and replays
340
+ it, and compares the normalized-manifest digest, execution-topology digest,
341
+ fresh-context scope, and six axes. The invalid branch admits only
342
+ `absent|unreachable|digest_mismatch|schema_invalid|replay_invalid`, forces all
343
+ axes to `unknown`, and carries no path or digest. `reviewer_full` must emit one
344
+ branch; the other closed modes must omit the field. Use
345
+ `scripts/review_panel_provenance.py validate-schema6` for mode-scoped presence
346
+ and replay validation.
347
+
348
+ `shared/contracts/evidence/evidence_row.schema.json` defines the closed
349
+ `evidence-row/1.0` carrier for evidence shown at human-adjudication checkpoints.
350
+ V1 has one consumer discriminator, `surface: phase_e_claim_verification`: the
351
+ Stage 2.5/4.5 Phase E Claim Verification Report persists
352
+ one row per `(claim_id, ref_slug, anchor)` at Integrity Report
353
+ `phases.E_claims.evidence_rows[]`. The array is additive: a positively identified
354
+ pre-#656 report may omit it and, only with `--allow-legacy-absence`, renders
355
+ exactly `LEGACY — EVIDENCE ROWS UNAVAILABLE`; missing shape alone is not legacy
356
+ proof and never means that evidence was checked. The opt-in Stage 4→5
357
+ `claim_audit_results[]` contract is a separate lifecycle and is unchanged.
358
+
359
+ The one evidence-state vocabulary is:
360
+
361
+ - `verified_exact_match` — a once-decoded writer `quote` anchor matched the
362
+ exact session-held source string;
363
+ - `agent_extracted` — a `page`/`section` passage selected by the auditing agent,
364
+ also exact-substring checked, but labeled non-authoritative because passage
365
+ selection is agent judgment;
366
+ - `unconfirmed_anchor` — session source was present but the writer's decoded
367
+ quote did not match it;
368
+ - `not_checked`, `source_missing`, `access_failed`, `retrieval_failed`, and
369
+ `anchorless` — explicit empty states. V1 maps `paragraph` to `not_checked` and
370
+ `none`/a missing marker to `anchorless`.
371
+
372
+ These states describe excerpt provenance/availability only. They never compute
373
+ or change the independent Phase E `verdict`, issue severity/count, or PASS/FAIL
374
+ decision. Viewing a row is not reading the source: the runtime never reads or
375
+ writes `human_read_log`, never invokes `/ars-mark-read`, and never affects
376
+ LOW-WARN/read-scope promotion.
377
+
378
+ `scripts/evidence_rows.py` is the standard-library-only normative runtime:
379
+
380
+ ```python
381
+ strict_percent_decode(value)
382
+ build(row, session_source_or_none, *, extracted_text=None,
383
+ failure_state=None, cached_row=None)
384
+ validate(row, session_source_or_none=None)
385
+ paginate(rows, page=1, page_size=25)
386
+ render_markdown(rows, page=1, page_size=25, *, session_sources=None)
387
+ render_html(rows, page=1, page_size=25, *, session_sources=None)
388
+ ```
389
+
390
+ The decoder is strict UTF-8 and runs exactly once (`+` is not a space;
391
+ `%2520` becomes the literal `%20`). Positive excerpts must be an exact
392
+ contiguous substring of the explicitly supplied session source. Quote anchors
393
+ and excerpts are each capped at 25 words by whitespace split and 1000 Unicode
394
+ code points. `source_content_sha256` hashes the exact session source encoded as
395
+ UTF-8 with no Unicode, whitespace, or newline normalization;
396
+ `source_artifact_sha256` hashes optional raw artifact bytes and never substitutes
397
+ for the content hash. UTF-8 byte offsets bind an excerpt to the content hash.
398
+ `row_sha256` covers canonical JSON for the complete row except the digest field
399
+ itself. It is an unkeyed integrity checksum, not a signature or independent
400
+ proof of provenance. Source-bound trust is established by replaying the row
401
+ against explicitly supplied session source text. Direct Python
402
+ `validate(row)` without its optional source argument checks only closed shape,
403
+ cross-fields, and self-contained integrity; it does not prove source provenance.
404
+
405
+ Cache keys bind schema/surface, claim and citation identity, source-content
406
+ hash, decoded anchor, resulting state, and (for `page`/`section`) the candidate
407
+ excerpt hash. A key match is replay-validated against the current session
408
+ source before reuse. Hits preserve the original excerpt and `captured_at`, then
409
+ set `cache.status: hit` and recompute `row_sha256`. Claim/source/content/candidate
410
+ drift is a miss. A corrupt candidate is ignored and rebuilt from current explicit
411
+ inputs; it is never returned as a hit. Current explicit failure states win without
412
+ reading cached evidence; failure/empty states are never cached.
413
+
414
+ Renderers are pure functions over persisted rows plus the explicit in-memory
415
+ `session_sources` mapping supplied by their caller. Every source-bound row must
416
+ have a matching `ref_slug → exact source text` entry and is replay-validated
417
+ before anything is displayed; missing or drifting text fails closed. Empty-state
418
+ rows need no source map. The renderer does not accept or follow a source pointer,
419
+ URL, DOI, retrieval client, model, cache, or read ledger. Integrity validation
420
+ checks the stored encoded/decoded-anchor relationship; display does not decode or
421
+ alter the stored anchor again. Markdown and HTML external strings are rendered
422
+ inert, including percent-decoded markup, table delimiters, bare URLs/email,
423
+ newlines, all Unicode `Cc`/`Cf` controls, and U+2028/U+2029. A render page contains
424
+ at most 25 rows, preserves document order, reports total/page bounds and
425
+ deterministic previous/next/explicit-page navigation, and never silently
426
+ truncates. There is intentionally no `--all`; any number of persisted rows
427
+ remains accessible by page.
428
+
429
+ For any Integrity Report wrapper with `evidence_rows` present, the adapter
430
+ requires integer `E_claims.checked` and `E_claims.verified`; it checks that unique
431
+ evidence `claim_id` count equals `checked`, unique `VERIFIED` claim count equals
432
+ `verified`, and every row sharing a claim ID carries the same claim object and
433
+ claim-level verdict. Thus `checked > 0` with an empty present array fails. Raw
434
+ single-row and row-array inputs remain valid standalone runtime inputs. Only an
435
+ absent `evidence_rows` field is legacy-compatible. Exact omission
436
+ of a selected `(claim_id, ref_slug, anchor)` tuple cannot be proved from this
437
+ wrapper alone because the E1 selected-tuple registry is not machine-carried here;
438
+ the current producer must enforce that completeness before handoff.
439
+
440
+ Rows containing an excerpt or decoded quote anchor default to
441
+ `session_only`/`not_assessed`. Only an explicit user declaration may set the
442
+ paired `user_confirmed_shareable`/`user_declared_authorized` values. The length
443
+ limit is data minimization, not a licence, copyright exception, or publication
444
+ right; exported reports must retain the row handling label/caveat or strip the
445
+ external text.
446
+
447
+ Validate persisted rows or render exactly one page. On both CLI commands, any
448
+ source-bound row requires replay from an explicit `ref_slug → source text` JSON
449
+ map:
450
+
451
+ ```bash
452
+ python scripts/evidence_rows.py validate evidence-rows.json \
453
+ --source-map session-sources.json
454
+
455
+ python scripts/evidence_rows.py render evidence-rows.json \
456
+ --format markdown --page 1 --page-size 25 \
457
+ --source-map session-sources.json
458
+ ```
459
+
460
+ `--source-map` is required whenever either CLI command receives a document with
461
+ a source-bound state; it is the only extra file the command opens. Missing
462
+ `evidence_rows` is a render failure by default. A positively identified pre-#656
463
+ Integrity Report renders the exact fixed legacy label with exit 0 only when the
464
+ caller adds `--allow-legacy-absence`; `validate` always rejects the absence.
465
+ Current producers may never use the compatibility flag.
466
+
467
+ `shared/contracts/evidence/evidence_row_v1_1.schema.json` is the separately
468
+ versioned extension for `surface: authority_profile_content_coverage` (#681).
469
+ It replaces Phase E claim/verdict fields with exact authority-requirement,
470
+ structured-expectation, packet-artifact, and document-locator bindings. Its
471
+ states are `agent_extracted`, `checked_no_match`, `not_checked`,
472
+ `source_missing`, `access_failed`, and `retrieval_failed`; they describe only
473
+ the provenance or absence of one bounded advisory passage. The shared 25-word,
474
+ 1,000-code-point, strict once-decode, exact UTF-8 replay, inert rendering,
475
+ rights, and human-read-ledger boundaries still apply. V1.1 performs no cache
476
+ lookup. `scripts/evidence_rows.py` exposes `build_advisory(...)` for this
477
+ surface, while the existing `evidence-row/1.0` builder and rendered bytes remain
478
+ unchanged. The versioned surfaces cannot be mixed in one page.
479
+
480
+ `shared/contracts/evidence/evidence_row_v1_2.schema.json` is the separate closed
481
+ version for `surface: cross_document_consistency` (#672). It binds one complete
482
+ ordered bilateral or trilateral advisory observation to the exact accepted
483
+ manuscript and optional completed-preregistration bytes. It is finalized only by
484
+ `scripts/build_cross_document_consistency_advisory.py`; the existing 1.0/1.1
485
+ schemas and `scripts/evidence_rows.py` identities and behavior remain unchanged.
486
+
487
+ `shared/contracts/evidence/evidence_row_v1_3.schema.json` is the separate closed `evidence-row/1.3` carrier for the `claim_standing_advisory` surface (#655 design §5.2): one row per (probe claim, selected work-family candidate) binding the bounded inspected-evidence excerpt to its exact source hash/span, reusing the family's excerpt/cache/content-handling blocks verbatim (test-pinned). The row is provenance-only — it never carries a stance or verdict, an exact excerpt match never determines stance, and abstract-level coverage is declared as such and never rendered as verified full text.
488
+
489
+ ## Non-ranking revision authority (#670)
490
+
491
+ The current reviewer-to-author revision family lives under `revision/`:
492
+
493
+ - `revision_roadmap.schema.json` — immutable reviewer-owned
494
+ `revision-roadmap/1.0`, exact draft/manifest bindings, source-trace order,
495
+ independent severity/obligation/cost/consequence, and proposed target scopes;
496
+ - `claim_surface_manifest.schema.json` — exact registered Claim Intent surfaces,
497
+ raw UTF-8 spans, hashes, blocks, current rungs, and byte-identical equality
498
+ between every protected surface and its referenced ClaimIntent `claim_text`;
499
+ - `author_adjudication_input.schema.json` and
500
+ `author_adjudication.schema.json` — explicit session-author choices and the
501
+ deterministic raw-hash-bound sidecar; and
502
+ - `integrity_correction_list.schema.json` plus the integrity authorization
503
+ input/output schemas — proposal-only issues and explicit author approval of
504
+ the complete exact patch SHA-256; and
505
+ - `revision_evidence_bundle.schema.json` plus the integrity receipt schema
506
+ — a continuous local chain from exact integrity PASS through current
507
+ review-write/no-op/integrity rounds to the final draft; and
508
+ - `claim_strength_drift_findings.schema.json`,
509
+ `claim_strength_drift_disposition_input.schema.json`, and
510
+ `claim_strength_drift_disposition.schema.json` — the E6 semantic finding set,
511
+ transient exact raw-event artifact paths plus choices, and deterministic
512
+ hash-bound disposition sidecar. Build and replay validation safely reopen
513
+ every explicitly named regular non-symlink event file and recompute its raw
514
+ SHA-256; a digest assertion alone is insufficient. The sidecar retains no
515
+ event path or raw message. This byte binding does not authenticate source,
516
+ content meaning, or actor identity.
517
+
518
+ `scripts/revision_roadmap.py` builds, validates, renders, and bundle-replays this
519
+ family without a model, network, API, directory scan, or ambient clock. It opens
520
+ only explicitly named local artifacts through containment, symlink, and
521
+ read-once guards. Bundle validation reruns the pure current patch engine for
522
+ every write round and requires byte-exact replay output to equal the named post
523
+ draft; rewritten artifact/report hashes cannot substitute for authorized bytes.
524
+
525
+ The current patch schema accepts only format 1.1 and separates
526
+ `review_roadmap` from `integrity_correction` authority. Registered claim
527
+ replacements and declined-overlap collateral authority are exact and
528
+ single-use. An integrity issue list grants no write by itself: apply requires a
529
+ separate author sidecar whose explicit input already carries the exact proposed
530
+ patch digest. Apply report 1.3 records the replayed witness and explicitly leaves
531
+ unregistered semantic drift to E6 review. Once E6 reports a drift row, it has no
532
+ ordinary advisory default: `scripts/claim_strength_drift_disposition.py` requires
533
+ one explicit `restore`, `authorize_with_reason`, or `pause` choice per finding;
534
+ only an all-authorized sidecar derives `authorized_to_continue`. The sidecar
535
+ proves finding coverage and artifact binding, not semantic-detection completeness
536
+ or scientific warrant. Patch 1.0 lives only under
537
+ `patch/legacy/v1_0/` with its archived loader.
538
+
539
+ The current #576 `re_review/` family is version 1.1, uses
540
+ `obligation_class`, hard-requires original/revised drafts, roadmap, author
541
+ sidecar, and bundle, and copies
542
+ author fields exactly into Schema 11. Version 1.0 is archived under
543
+ `re_review/legacy/v1_0/`; mixed chains are invalid.
544
+
545
+ Spec: `docs/design/2026-08-10-670-non-ranking-revision-roadmap-spec.md`.
546
+
547
+ ## Human-subjects correspondence contract (#668)
548
+
549
+ `human_subjects/committee_correspondence.schema.json` defines the standalone
550
+ `academic-paper revision-coach` committee-correspondence variant. It binds every
551
+ confirmed source comment to one concern record while preserving the entire UTF-8
552
+ letter byte-for-byte, including non-comment material. The contract carries
553
+ multi-label actions, explicit authority/provenance, optional profile enrichment,
554
+ fixed unresolved placeholders, the #665 administrative boundary, and no model
555
+ priority or severity.
556
+
557
+ Validate a bundle with:
558
+
559
+ ```bash
560
+ python scripts/check_committee_correspondence.py \
561
+ committee_correspondence/<source-sha12>/concern_tracker.json
562
+ ```
563
+
564
+ The checker recomputes file/segment hashes, contiguous byte coverage, exact
565
+ comment-to-concern accounting, source order, full-permutation working views, and
566
+ response-skeleton coverage. Spec:
567
+ `docs/design/2026-08-08-668-committee-correspondence-spec.md`.
568
+
569
+ ## Human-subjects authority context (#666)
570
+
571
+ The `human_subjects/` authority family keeps selection explicit and separates three
572
+ closed artifacts:
573
+
574
+ - `irb_context_record.schema.json` — the author-confirmed facts plus exact,
575
+ axis-qualified profile and overlay pins;
576
+ - `authority_profile_registry.schema.json` — curator-owned, versioned, bounded
577
+ profiles and row-local source anchors;
578
+ - `resolved_authority_context.schema.json` — a pointer-only, deterministic
579
+ three-valued applicability trace and downstream gate.
580
+
581
+ V1 has exactly two axes: `review_ethics` and `data_protection`. Institutional and
582
+ funder rules are additive overlays, never a third axis; display precedence cannot
583
+ remove, merge, or satisfy a requirement. The shipped registry demonstrates the
584
+ same contract with bounded US 45 CFR 46, Taiwan Human Subjects Research Act, and
585
+ GDPR research subsets. It is not a completeness, compliance, pathway, exemption,
586
+ or authorization claim.
587
+
588
+ Resolve an explicit context offline, lint the registry alone, or replay-check a
589
+ serialized result before consuming it:
590
+
591
+ ```bash
592
+ python scripts/resolve_human_subjects_authority.py \
593
+ --context context.json \
594
+ --registry shared/human_subjects_authority_registry.json \
595
+ --output resolved-authority-context.json
596
+
597
+ python scripts/resolve_human_subjects_authority.py \
598
+ --registry shared/human_subjects_authority_registry.json \
599
+ --check-registry
600
+
601
+ python scripts/resolve_human_subjects_authority.py \
602
+ --context context.json \
603
+ --registry shared/human_subjects_authority_registry.json \
604
+ --check-resolved resolved-authority-context.json
605
+ ```
606
+
607
+ The resolver is standard-library-only, opens only named files, evaluates a closed
608
+ Strong-Kleene predicate AST, never infers a jurisdiction, and rejects duplicate
609
+ JSON keys and non-finite numbers. Protocol:
610
+ `shared/references/human_subjects_authority_protocol.md`. Spec:
611
+ `docs/design/2026-08-09-666-human-subjects-authority-contract-spec.md`.
612
+
613
+ ## Human-subjects submission-packet manifest (#667)
614
+
615
+ Two closed contracts define the deterministic packet layer:
616
+
617
+ - `shared/contracts/human_subjects/submission_packet_inventory.schema.json` — an author-declared
618
+ list of exact packet-relative files, byte digests, evidence bindings, responsible
619
+ holder roles, declared structure metadata, waiver/exception claims, and
620
+ caller-supplied authorization status; and
621
+ - `shared/contracts/human_subjects/submission_packet_manifest.schema.json` — the pointer-only,
622
+ replay-bound result with five structural status tokens, exact requirement and
623
+ evidence pointers, independent #665 readiness/authorization fields, and the
624
+ fixed non-authorization boundary.
625
+
626
+ The checker consumes a #666 authority result only after exact replay against its
627
+ named context and registry. It filters to `submission_packet` consumer rows and
628
+ uses only `evidence_expected` ids, artifact types, and holders. It never evaluates
629
+ or copies `structured_expectations`, descriptions, or attachment prose; exact
630
+ whole-row bytes are canonical-hashed only for replay integrity. It never infers a
631
+ jurisdiction, grants a waiver, verifies institutional acceptance, or updates the
632
+ caller-supplied authorization value. An evidence row is packet-owned only when
633
+ both its exact obligated actor and exact expected holder occur in the declared
634
+ packet-responsibility roles. Declared version, date, signature, and certificate
635
+ metadata is syntax/internal-consistency only unless a separately versioned,
636
+ source-backed mechanical expectation exists.
637
+ Once the authority and capability gates permit packet observation, every
638
+ inventoried path retains a `DOCUMENTED` or `CONFLICTING` row for
639
+ declared-vs-attached visibility, including extra files not consumed by the
640
+ selected profiles. A closed gate leaves observations empty and does not open the
641
+ packet root. Observation status alone does not change readiness; only an
642
+ applicable packet-owned evidence entry can create a listed packet gap.
643
+ The runtime rejects more than 512 copied consumer scopes, more than 4,096 entry
644
+ or exclusion rows, and any final canonical manifest larger than 8 MiB, ensuring
645
+ that every successful build can be replayed by the same CLI.
646
+
647
+ Build, replay-validate, or render a manifest offline with:
648
+
649
+ ```bash
650
+ python scripts/build_submission_packet_manifest.py build \
651
+ --inventory inventory.json \
652
+ --packet-root packet \
653
+ --context context.json \
654
+ --registry shared/human_subjects_authority_registry.json \
655
+ --resolved resolved-authority-context.json \
656
+ --output submission-packet-manifest.json
657
+
658
+ python scripts/build_submission_packet_manifest.py validate \
659
+ --manifest submission-packet-manifest.json \
660
+ --inventory inventory.json \
661
+ --packet-root packet \
662
+ --context context.json \
663
+ --registry shared/human_subjects_authority_registry.json \
664
+ --resolved resolved-authority-context.json
665
+
666
+ python scripts/build_submission_packet_manifest.py render \
667
+ --manifest submission-packet-manifest.json \
668
+ --inventory inventory.json \
669
+ --packet-root packet \
670
+ --context context.json \
671
+ --registry shared/human_subjects_authority_registry.json \
672
+ --resolved resolved-authority-context.json
673
+ ```
674
+
675
+ The authority triplet is all-or-none. An intentionally absent triplet produces an
676
+ unresolved manifest without a default profile; a partial or mismatched triplet is
677
+ a contract error. `render` requires the same inputs and exact replay, so a
678
+ self-consistent but forged manifest digest is insufficient.
679
+
680
+ Protocol: `shared/references/submission_packet_manifest_protocol.md`. Spec:
681
+ `docs/design/2026-08-09-667-submission-packet-manifest-spec.md`.
682
+
683
+ ## Review-pathway rule trace (#669)
684
+
685
+ Two closed Draft 2020-12 contracts define the determination-adjacent trace:
686
+
687
+ - `shared/contracts/human_subjects/review_pathway_trace_request.schema.json`
688
+ binds caller-owned candidate question labels to an exact, complete partition
689
+ of every selected-profile `pathway_trace` requirement; and
690
+ - `shared/contracts/human_subjects/review_pathway_rule_trace.schema.json`
691
+ carries matched, unmatched, and unresolved predicate work, profile-local
692
+ alternatives, exact fact occurrences, responsible authority roles, exact
693
+ requirement/anchor pointers, the fixed institutional result, and the #665
694
+ footer.
695
+
696
+ The standard-library-only builder first replays the exact #666 context,
697
+ registry, and resolved artifact. It never invents a candidate name, profile,
698
+ predicate, authority anchor, determination, probability, rank, or timeline. All
699
+ selected profiles on both axes are accounted for, but candidates and
700
+ alternatives stay profile-local. An unknown requirement fact remains unresolved;
701
+ a missing profile halts without candidate rows at `JURISDICTION_UNRESOLVED`.
702
+
703
+ Build, replay, render, and lint only explicitly named artifacts:
704
+
705
+ ```bash
706
+ python scripts/build_review_pathway_rule_trace.py build \
707
+ --request pathway-trace-request.json \
708
+ --context context.json \
709
+ --registry shared/human_subjects_authority_registry.json \
710
+ --resolved resolved-authority-context.json \
711
+ --output pathway-rule-trace.json
712
+
713
+ python scripts/build_review_pathway_rule_trace.py validate \
714
+ --request pathway-trace-request.json \
715
+ --context context.json \
716
+ --registry shared/human_subjects_authority_registry.json \
717
+ --resolved resolved-authority-context.json \
718
+ --trace pathway-rule-trace.json
719
+
720
+ python scripts/build_review_pathway_rule_trace.py render \
721
+ --request pathway-trace-request.json \
722
+ --context context.json \
723
+ --registry shared/human_subjects_authority_registry.json \
724
+ --resolved resolved-authority-context.json \
725
+ --trace pathway-rule-trace.json \
726
+ --output pathway-rule-trace.md
727
+
728
+ python scripts/check_review_pathway_output.py \
729
+ --trace-json pathway-rule-trace.json \
730
+ --rendered pathway-rule-trace.md
731
+ ```
732
+
733
+ The banned-output lint is surface-scoped to those named generated files and
734
+ permits a pathway term only in the exact candidate grammar. Successful replay or
735
+ lint never changes a readiness, authorization, acceptance, verdict, checkpoint,
736
+ or workflow gate. Protocol:
737
+ `shared/references/review_pathway_rule_trace_protocol.md`. Spec:
738
+ `docs/design/2026-08-11-669-review-pathway-rule-trace-spec.md`.
739
+
740
+ ## Authority-profile content-coverage advisory (#681)
741
+
742
+ `shared/contracts/human_subjects/content_coverage_advisory.schema.json` defines
743
+ the closed final `content-coverage-advisory/1.0` carrier. It consumes a #667
744
+ manifest only after exact replay against the named inventory, packet root,
745
+ #666 context, authority registry, and resolved context. It then binds explicit
746
+ evaluator judgments to exact `structured_expectations[]` pointers and exact
747
+ session-held artifact strings through `evidence-row/1.1` rows. The standard
748
+ library finalizer is `scripts/build_content_coverage_advisory.py`.
749
+
750
+ The output layer is always `LLM-ADVISORY`, and its independent field is
751
+ `advisory_coverage_status`. The finalizer copies deterministic packet status,
752
+ readiness, caller-supplied authorization, institutional-acceptance boundary,
753
+ authority/evidence pointers, and digests without changing them. A structural
754
+ gap, external dependency, or waiver/exception boundary cannot be converted into
755
+ a semantic missing-element finding. Applicability-false requirements remain
756
+ excluded, and every profiled structured expectation is either explicitly
757
+ checked or explicitly `not_checked`; missing session content never becomes an
758
+ implicit negative result.
759
+ An open authority/capability gate with an explicitly unprovided overlay
760
+ selection preserves each selected base requirement as
761
+ `APPLICABILITY_UNRESOLVED` without inspecting content; a fully closed gate has
762
+ no exact requirement to report and is rejected.
763
+
764
+ The final carrier is deliberately marked `evaluation_status: UNMEASURED`.
765
+ UNMEASURED is not a scored measurement row, and this feature makes no accuracy,
766
+ coverage-improvement, or efficacy claim. The finalizer and renderer open only
767
+ named inputs, perform no directory scan or retrieval, and invoke no model/API;
768
+ the draft judgments and positive-row capture timestamps are caller-supplied
769
+ advisory observations. Rendering first replays the deterministic manifest and
770
+ every source-bound evidence row, so a self-consistent digest alone is
771
+ insufficient. The carrier retains all rows, while one render call exposes only
772
+ one explicit page of at most 25 evidence rows with deterministic navigation;
773
+ there is no render-all mode.
774
+
775
+ Protocol:
776
+ `shared/references/authority_content_coverage_advisory_protocol.md`. Spec:
777
+ `docs/design/2026-08-09-681-authority-content-coverage-advisory-spec.md`.
778
+
779
+ ## Tortured-phrase screening contracts (#660)
780
+
781
+ The #660 family is local, hash-bound, and advisory-only:
782
+
783
+ - `audit/tortured_phrase_snapshot.schema.json` defines the closed canonical
784
+ `literal` / `all` / `any` / `near` AST and rule-level `exclude_if` grammar;
785
+ - `audit/tortured_phrase_snapshot_manifest.schema.json` binds the exact raw
786
+ snapshot bytes, source/version/as-of metadata, preprocessing disclosure,
787
+ zero unsupported rules, and rights; and
788
+ - `audit/tortured_phrase_advisory.schema.json` defines the replay-bound
789
+ own-draft `HEURISTIC-ADVISORY` / `UNMEASURED` transcript.
790
+
791
+ `scripts/tortured_phrase_screening.py` accepts only explicitly named local
792
+ snapshot/manifest and input paths. A snapshot is either user supplied or a
793
+ repository-authored synthetic fixture. ARS includes no native PPS importer,
794
+ fetch option, or redistributed PPS list content, and this path invokes no
795
+ model, external API, human/model judge, ambient clock, file time, or network
796
+ time. Snapshot SHA-256 covers the exact UTF-8 file bytes; required timestamps
797
+ are explicit arguments.
798
+
799
+ The same runtime can return a new passport copy carrying
800
+ `bibliographic-integrity-signal/1.2` rows for each cited title and abstract
801
+ surface. A missing abstract is an explicit `not_checked` / `unresolved`
802
+ `ABSTRACT_MISSING` row; a present whitespace-only abstract uses
803
+ `ABSTRACT_EMPTY`. Consumers remain read-only and the enricher refuses
804
+ in-place output. A detected row is only a phrase-list match requiring review;
805
+ a zero match is not a clean certificate. No result establishes origin,
806
+ paper-mill production, contextual validity, or accuracy, and no result creates
807
+ a marker, terminal gate, replacement text, or automatic rewrite. All corpus
808
+ rows render in the one canonical `Bibliographic Integrity Advisories` section.
809
+
810
+ Spec: `docs/design/2026-08-10-660-tortured-phrase-screening-spec.md`.
811
+
812
+ ## Cross-document consistency advisory (#672)
813
+
814
+ The #672 family is a standalone replay-bound advisory:
815
+
816
+ - `passport/preregistration_artifact.schema.json` defines the persistent
817
+ `preregistration-artifact/1.0` handoff sidecar;
818
+ - `audit/cross_document_source_manifest.schema.json` binds exactly the accepted
819
+ manuscript plus the exact sidecar projection;
820
+ - `audit/cross_document_consistency_advisory_draft.schema.json` accepts the
821
+ closed caller-supplied semantic observations;
822
+ - `evidence/evidence_row_v1_2.schema.json` binds their exact bilateral or
823
+ trilateral evidence; and
824
+ - `audit/cross_document_consistency_advisory.schema.json` defines the canonical
825
+ final `LLM-ADVISORY` / `UNMEASURED` carrier.
826
+
827
+ Only `scripts/build_cross_document_consistency_advisory.py` may build or update
828
+ the preregistration sidecar. The non-shell research architect supplies only the
829
+ explicit caller status and companion handle. Academic-paper intake and every
830
+ pipeline handoff validate and carry the same sidecar and, when provided, the
831
+ same companion bytes unchanged. The repository template is guidance, not
832
+ evidence.
833
+
834
+ Finalization replays the sidecar, exact two-artifact manifest, accepted draft,
835
+ optional preregistration companion, and every quote or checked scope before
836
+ consuming observations. Methods absence requires an exact named counterpart
837
+ scope. An undisclosed preregistration deviation requires a third exact manuscript
838
+ disclosure-scope witness. Missing or unavailable inputs cannot become a
839
+ no-listed result.
840
+
841
+ At the one mandatory Stage-5 entry checkpoint, #660 runs first and #672 second
842
+ against the same accepted-draft artifact ID/SHA-256. Their carriers and failure
843
+ semantics stay separate. #672 failure writes no output and produces only bounded
844
+ `ADVISORY_UNAVAILABLE:<CODE>`; neither advisory changes Stage 4.5 or Stage-5
845
+ routing. Any manuscript revision stales both and requires both to rerun.
846
+
847
+ The final carrier has no score, pass/fail, gate, readiness, authorization,
848
+ rewrite, ClaimIntent, consent/protocol duplicate, or clean-document meaning.
849
+ Protocol: `shared/references/cross_document_consistency_advisory_protocol.md`.
850
+ Spec: `docs/design/2026-08-10-672-cross-document-consistency-advisory-spec.md`.
851
+
852
+ ## Audit artifact contracts (v3.6.7 Step 6)
853
+
854
+ The `audit/` directory carries the three wrapper-emitted artifact schemas that pair
855
+ with the passport-side `audit_artifact_entry.schema.json` above. Together they form
856
+ the four-schema contract that `scripts/run_codex_audit.sh` (Phase 6.1) writes and the
857
+ orchestrator agent reads at every per-agent audit gate.
858
+
859
+ - `audit/audit_jsonl.schema.json` — Layer 2 evidence: per-row schema for the codex CLI
860
+ 0.125+ `--json` event stream (`thread.started` / `turn.started` / `item.completed` /
861
+ `turn.completed` / `error`). One JSONL line per event row.
862
+ - `audit/audit_sidecar.schema.json` — Layer 3 evidence: runner / timing / process /
863
+ stream / prompt metadata. Cross-file rules linking sidecar fields to JSONL events,
864
+ on-disk files, and passport entries (B1-B7 in spec §3.7 family B) are enforced by
865
+ `scripts/check_audit_artifact_consistency.py` (Phase 6.3), not by this schema alone.
866
+ - `audit/audit_verdict.schema.json` — verdict file shape (PASS / MINOR / MATERIAL /
867
+ AUDIT_FAILED). The artifact orchestrator parses for ship/block decisions; cross-field
868
+ consistency with `finding_counts` and `failure_reason` is lint-enforced per
869
+ spec §3.7 A1 / A2 / A5 / A6.
870
+
871
+ Spec: `docs/design/2026-04-30-ars-v3.6.7-step-6-orchestrator-hooks-spec.md` §3.
872
+
873
+ ## Review target contracts (#683)
874
+
875
+ The `review_target/` family keeps target selection author-owned and separates it
876
+ from deterministic criterion resolution:
877
+
878
+ - `review_target_declaration.schema.json` — the closed author-confirmed discipline,
879
+ exact venue/track/contribution-type (or explicit no-venue fallback), overlay,
880
+ selection, precedence, and as-of input;
881
+ - `criteria_registry.schema.json` — the versioned four-part authority registry with
882
+ criterion provenance, applicability/exclusions, freshness, and blocking policy;
883
+ - `review_criteria_source_receipt.schema.json` — the closed discriminated
884
+ receipts for mutable-web semantic snapshots and immutable Git repository-head
885
+ verification;
886
+ - `review_target_context.schema.json` — the pointer-only resolved profile, three
887
+ independent outcome dimensions, parallel conflicts, fallback state, and stable
888
+ digests.
889
+
890
+ `shared/review_criteria_registry.json` ships a bounded source-backed proving set
891
+ for MSR 2027 Technical Papers Full Papers and ACM SIGSOFT's General and
892
+ Repository Mining standards, alongside the field-general fallbacks. This is not
893
+ a coverage claim: targets without an exact official profile remain unresolved,
894
+ and the SIGSOFT rows remain advisory unless venue adoption is separately
895
+ sourced. The executable exact-target declaration and hermetic source/digest
896
+ checks live under `scripts/fixtures/review_target_context/` and
897
+ `scripts/test_resolve_review_target_context.py`; the dated source audit is
898
+ `audits/575-source-backed-proving-set-2026-08-24.md`. Mutable-page and
899
+ immutable-repository verification receipts live under
900
+ `shared/review_criteria_sources/`. The fixture models a hypothetical
901
+ author-confirmed declaration; it is not a real-manuscript attestation. The
902
+ registry release preserves its id, increments its version, and visibly rotates
903
+ V1 resolved digests so consumers must explicitly rebind.
904
+
905
+ Resolve a declaration and optionally emit the Phase 0/1 Target Criteria Brief:
906
+
907
+ ```bash
908
+ python scripts/resolve_review_target_context.py \
909
+ --context declaration.json \
910
+ --output review-target-context.json \
911
+ --brief target-criteria-brief.md
912
+ ```
913
+
914
+ The resolver is standard-library-only and opens only the named context and registry
915
+ inputs. It never reads manuscript content, infers a venue, averages interdisciplinary
916
+ criteria, or applies adaptive numeric weights. Spec:
917
+ `docs/design/2026-08-08-683-review-target-context-spec.md`.
918
+
919
+ ## Review criteria consumer binding (#684)
920
+
921
+ The #684 layer binds the #683 context across the three actual consumer classes
922
+ without copying criterion prose or inventing a second resolver:
923
+
924
+ - `review_target/review_criteria_binding_manifest.schema.json` — the closed,
925
+ pointer-only manifest with exact formative, internal-evaluator, and
926
+ five-seat external-panel receipt roles;
927
+ - `review_target/constructive_review_findings.schema.json` — the closed
928
+ Critical/Major finding sidecar with exact criterion pointers, typed
929
+ manuscript anchors, separate scholarly/target relevance, honest remedies,
930
+ costs/trade-offs, and author-choice boundaries.
931
+
932
+ Build, record, render markers, and validate with
933
+ `scripts/review_criteria_binding.py`. The tool reads only explicit paths,
934
+ hashes artifacts itself, and has no model/API/network/clock/ambient-scan path.
935
+ The manifest is workflow-conformance authority only: it never supplies a
936
+ severity, verdict, checkpoint, or author triage. Operational protocol:
937
+ `shared/references/review_criteria_consumer_protocol.md`. Frozen spec:
938
+ `docs/design/2026-08-11-684-review-criteria-consumer-binding-spec.md`.