psyclaw 0.27.23 → 0.28.1

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 (1069) hide show
  1. package/README.md +11 -5
  2. package/agents/recommended/catalog.json +99 -0
  3. package/dist/apps/panel/index.html +5 -5
  4. package/dist/src/adapters/pi/extension.js +339 -94
  5. package/dist/src/adapters/pi/extension.js.map +1 -1
  6. package/dist/src/adapters/pi/rpc.d.ts +2 -0
  7. package/dist/src/adapters/pi/rpc.js +9 -2
  8. package/dist/src/adapters/pi/rpc.js.map +1 -1
  9. package/dist/src/agents/import.js +44 -32
  10. package/dist/src/agents/import.js.map +1 -1
  11. package/dist/src/agents/recommended-personas.d.ts +42 -0
  12. package/dist/src/agents/recommended-personas.js +135 -0
  13. package/dist/src/agents/recommended-personas.js.map +1 -0
  14. package/dist/src/analysis/hooks.d.ts +1 -0
  15. package/dist/src/analysis/hooks.js +20 -1
  16. package/dist/src/analysis/hooks.js.map +1 -1
  17. package/dist/src/ars/bridge.d.ts +20 -0
  18. package/dist/src/ars/bridge.js +132 -0
  19. package/dist/src/ars/bridge.js.map +1 -0
  20. package/dist/src/ars/contracts.d.ts +55 -0
  21. package/dist/src/ars/contracts.js +2 -0
  22. package/dist/src/ars/contracts.js.map +1 -0
  23. package/dist/src/ars/panel-plan.d.ts +4 -0
  24. package/dist/src/ars/panel-plan.js +11 -0
  25. package/dist/src/ars/panel-plan.js.map +1 -0
  26. package/dist/src/ars/pi-panel-executor.d.ts +30 -0
  27. package/dist/src/ars/pi-panel-executor.js +140 -0
  28. package/dist/src/ars/pi-panel-executor.js.map +1 -0
  29. package/dist/src/ars/profile.d.ts +36 -0
  30. package/dist/src/ars/profile.js +119 -0
  31. package/dist/src/ars/profile.js.map +1 -0
  32. package/dist/src/ars/re-review.d.ts +22 -0
  33. package/dist/src/ars/re-review.js +172 -0
  34. package/dist/src/ars/re-review.js.map +1 -0
  35. package/dist/src/branding.d.ts +2 -4
  36. package/dist/src/branding.js +3 -5
  37. package/dist/src/branding.js.map +1 -1
  38. package/dist/src/bundled-tools.d.ts +3 -0
  39. package/dist/src/bundled-tools.js +21 -0
  40. package/dist/src/bundled-tools.js.map +1 -0
  41. package/dist/src/chat.js +6 -5
  42. package/dist/src/chat.js.map +1 -1
  43. package/dist/src/cli.js +6 -3
  44. package/dist/src/cli.js.map +1 -1
  45. package/dist/src/creation/contracts.d.ts +41 -0
  46. package/dist/src/creation/contracts.js +2 -0
  47. package/dist/src/creation/contracts.js.map +1 -0
  48. package/dist/src/creation/service.d.ts +7 -0
  49. package/dist/src/creation/service.js +208 -0
  50. package/dist/src/creation/service.js.map +1 -0
  51. package/dist/src/index.d.ts +11 -0
  52. package/dist/src/index.js +11 -0
  53. package/dist/src/index.js.map +1 -1
  54. package/dist/src/install/installer.js +32 -10
  55. package/dist/src/install/installer.js.map +1 -1
  56. package/dist/src/orchestration/bundled-personas.d.ts +16 -0
  57. package/dist/src/orchestration/bundled-personas.js +101 -0
  58. package/dist/src/orchestration/bundled-personas.js.map +1 -0
  59. package/dist/src/orchestration/effects.d.ts +8 -0
  60. package/dist/src/orchestration/effects.js +39 -0
  61. package/dist/src/orchestration/effects.js.map +1 -0
  62. package/dist/src/orchestration/personas.d.ts +16 -0
  63. package/dist/src/orchestration/personas.js +64 -0
  64. package/dist/src/orchestration/personas.js.map +1 -0
  65. package/dist/src/orchestration/pi-executor.d.ts +9 -4
  66. package/dist/src/orchestration/pi-executor.js +55 -22
  67. package/dist/src/orchestration/pi-executor.js.map +1 -1
  68. package/dist/src/orchestration/research-agents.d.ts +3 -7
  69. package/dist/src/orchestration/research-agents.js +5 -69
  70. package/dist/src/orchestration/research-agents.js.map +1 -1
  71. package/dist/src/panel/server.js +19 -4
  72. package/dist/src/panel/server.js.map +1 -1
  73. package/dist/src/project/paths.d.ts +3 -0
  74. package/dist/src/project/paths.js +7 -0
  75. package/dist/src/project/paths.js.map +1 -1
  76. package/dist/src/rules/user-rules.d.ts +8 -0
  77. package/dist/src/rules/user-rules.js +36 -0
  78. package/dist/src/rules/user-rules.js.map +1 -0
  79. package/dist/src/skills/contracts.d.ts +4 -4
  80. package/dist/src/skills/recommended.js +1 -1
  81. package/dist/src/skills/registry.js +49 -28
  82. package/dist/src/skills/registry.js.map +1 -1
  83. package/dist/src/style/cli-ui.d.ts +14 -0
  84. package/dist/src/style/cli-ui.js +45 -1
  85. package/dist/src/style/cli-ui.js.map +1 -1
  86. package/dist/src/tui/skill-manager.js +1 -1
  87. package/dist/src/tui/skill-manager.js.map +1 -1
  88. package/dist/src/updates/update.js +9 -3
  89. package/dist/src/updates/update.js.map +1 -1
  90. package/package.json +15 -3
  91. package/scripts/rebrand-pi.mjs +6 -0
  92. package/skills/recommended/catalog.json +2 -11
  93. package/vendor/ars/.claude/CLAUDE.md +371 -0
  94. package/vendor/ars/.command-invariants.toml +24 -0
  95. package/vendor/ars/CITATION.cff +35 -0
  96. package/vendor/ars/LICENSE +417 -0
  97. package/vendor/ars/MODE_REGISTRY.md +76 -0
  98. package/vendor/ars/NOTICE.md +26 -0
  99. package/vendor/ars/POSITIONING.md +99 -0
  100. package/vendor/ars/PSYCLAW_SOURCE.json +10 -0
  101. package/vendor/ars/README.md +751 -0
  102. package/vendor/ars/SECURITY.md +52 -0
  103. package/vendor/ars/THIRD_PARTY.md +70 -0
  104. package/vendor/ars/academic-paper/SKILL.md +542 -0
  105. package/vendor/ars/academic-paper/agents/abstract_bilingual_agent.md +171 -0
  106. package/vendor/ars/academic-paper/agents/argument_builder_agent.md +276 -0
  107. package/vendor/ars/academic-paper/agents/citation_compliance_agent.md +422 -0
  108. package/vendor/ars/academic-paper/agents/draft_writer_agent.md +656 -0
  109. package/vendor/ars/academic-paper/agents/formatter_agent.md +999 -0
  110. package/vendor/ars/academic-paper/agents/intake_agent.md +393 -0
  111. package/vendor/ars/academic-paper/agents/literature_strategist_agent.md +626 -0
  112. package/vendor/ars/academic-paper/agents/peer_reviewer_agent.md +516 -0
  113. package/vendor/ars/academic-paper/agents/revision_coach_agent.md +334 -0
  114. package/vendor/ars/academic-paper/agents/socratic_mentor_agent.md +527 -0
  115. package/vendor/ars/academic-paper/agents/structure_architect_agent.md +401 -0
  116. package/vendor/ars/academic-paper/agents/visualization_agent.md +441 -0
  117. package/vendor/ars/academic-paper/examples/chinese_paper_example.md +278 -0
  118. package/vendor/ars/academic-paper/examples/clinical_citation_verification_checklist.md +95 -0
  119. package/vendor/ars/academic-paper/examples/clinical_epistemic_status_example.md +100 -0
  120. package/vendor/ars/academic-paper/examples/commitment_ledger_example.md +147 -0
  121. package/vendor/ars/academic-paper/examples/imrad_hei_example.md +234 -0
  122. package/vendor/ars/academic-paper/examples/literature_review_example.md +260 -0
  123. package/vendor/ars/academic-paper/examples/plan_mode_guided_writing.md +600 -0
  124. package/vendor/ars/academic-paper/examples/revision_mode_example.md +344 -0
  125. package/vendor/ars/academic-paper/examples/revision_recovery_example.md +506 -0
  126. package/vendor/ars/academic-paper/examples/version_family_reconciliation_example.md +89 -0
  127. package/vendor/ars/academic-paper/references/abstract_writing_guide.md +169 -0
  128. package/vendor/ars/academic-paper/references/academic_writing_style.md +188 -0
  129. package/vendor/ars/academic-paper/references/anti_leakage_protocol.md +83 -0
  130. package/vendor/ars/academic-paper/references/apa7_chinese_citation_guide.md +364 -0
  131. package/vendor/ars/academic-paper/references/apa7_extended_guide.md +198 -0
  132. package/vendor/ars/academic-paper/references/changelog.md +11 -0
  133. package/vendor/ars/academic-paper/references/citation_format_switcher.md +228 -0
  134. package/vendor/ars/academic-paper/references/committee_correspondence_protocol.md +158 -0
  135. package/vendor/ars/academic-paper/references/credit_authorship_guide.md +308 -0
  136. package/vendor/ars/academic-paper/references/disclosure_mode_protocol.md +478 -0
  137. package/vendor/ars/academic-paper/references/domain_evidence_profiles.md +38 -0
  138. package/vendor/ars/academic-paper/references/failure_paths.md +349 -0
  139. package/vendor/ars/academic-paper/references/funding_statement_guide.md +319 -0
  140. package/vendor/ars/academic-paper/references/hei_domain_glossary.md +169 -0
  141. package/vendor/ars/academic-paper/references/intro_title_rhetoric_guide.md +114 -0
  142. package/vendor/ars/academic-paper/references/journal_submission_guide.md +249 -0
  143. package/vendor/ars/academic-paper/references/latex_template_reference.md +378 -0
  144. package/vendor/ars/academic-paper/references/mode_selection_guide.md +378 -0
  145. package/vendor/ars/academic-paper/references/paper_structure_patterns.md +330 -0
  146. package/vendor/ars/academic-paper/references/plan_mode_protocol.md +112 -0
  147. package/vendor/ars/academic-paper/references/policy_anchor_disclosure_protocol.md +200 -0
  148. package/vendor/ars/academic-paper/references/policy_anchor_table.md +157 -0
  149. package/vendor/ars/academic-paper/references/revision_patch_protocol.md +173 -0
  150. package/vendor/ars/academic-paper/references/statistical_visualization_standards.md +750 -0
  151. package/vendor/ars/academic-paper/references/venue_disclosure_policies.md +259 -0
  152. package/vendor/ars/academic-paper/references/vlm_figure_verification.md +126 -0
  153. package/vendor/ars/academic-paper/references/workflow_phase_details.md +135 -0
  154. package/vendor/ars/academic-paper/references/writing_judgment_framework.md +59 -0
  155. package/vendor/ars/academic-paper/references/writing_quality_check.md +173 -0
  156. package/vendor/ars/academic-paper/templates/bilingual_abstract_template.md +78 -0
  157. package/vendor/ars/academic-paper/templates/case_study_template.md +129 -0
  158. package/vendor/ars/academic-paper/templates/conference_paper_template.md +108 -0
  159. package/vendor/ars/academic-paper/templates/credit_statement_template.md +132 -0
  160. package/vendor/ars/academic-paper/templates/funding_statement_template.md +290 -0
  161. package/vendor/ars/academic-paper/templates/imrad_template.md +183 -0
  162. package/vendor/ars/academic-paper/templates/latex_article_template.tex +199 -0
  163. package/vendor/ars/academic-paper/templates/literature_review_template.md +135 -0
  164. package/vendor/ars/academic-paper/templates/policy_brief_template.md +139 -0
  165. package/vendor/ars/academic-paper/templates/revision_tracking_template.md +199 -0
  166. package/vendor/ars/academic-paper/templates/theoretical_paper_template.md +119 -0
  167. package/vendor/ars/academic-paper-reviewer/SKILL.md +491 -0
  168. package/vendor/ars/academic-paper-reviewer/agents/devils_advocate_reviewer_agent.md +443 -0
  169. package/vendor/ars/academic-paper-reviewer/agents/domain_reviewer_agent.md +412 -0
  170. package/vendor/ars/academic-paper-reviewer/agents/editorial_synthesizer_agent.md +478 -0
  171. package/vendor/ars/academic-paper-reviewer/agents/eic_agent.md +339 -0
  172. package/vendor/ars/academic-paper-reviewer/agents/field_analyst_agent.md +221 -0
  173. package/vendor/ars/academic-paper-reviewer/agents/methodology_reviewer_agent.md +449 -0
  174. package/vendor/ars/academic-paper-reviewer/agents/perspective_reviewer_agent.md +427 -0
  175. package/vendor/ars/academic-paper-reviewer/examples/hei_paper_review_example.md +391 -0
  176. package/vendor/ars/academic-paper-reviewer/examples/interdisciplinary_review_example.md +299 -0
  177. package/vendor/ars/academic-paper-reviewer/examples/subclaim_decomposition_example.md +80 -0
  178. package/vendor/ars/academic-paper-reviewer/references/calibration_mode_protocol.md +256 -0
  179. package/vendor/ars/academic-paper-reviewer/references/changelog.md +10 -0
  180. package/vendor/ars/academic-paper-reviewer/references/editorial_decision_standards.md +236 -0
  181. package/vendor/ars/academic-paper-reviewer/references/guided_mode_protocol.md +34 -0
  182. package/vendor/ars/academic-paper-reviewer/references/integration_guide.md +15 -0
  183. package/vendor/ars/academic-paper-reviewer/references/quality_rubrics.md +84 -0
  184. package/vendor/ars/academic-paper-reviewer/references/re_review_mode_protocol.md +340 -0
  185. package/vendor/ars/academic-paper-reviewer/references/review_criteria_framework.md +98 -0
  186. package/vendor/ars/academic-paper-reviewer/references/review_panel_provenance_protocol.md +197 -0
  187. package/vendor/ars/academic-paper-reviewer/references/review_quality_thinking.md +58 -0
  188. package/vendor/ars/academic-paper-reviewer/references/reviewer_sprint_prompt_source.md +324 -0
  189. package/vendor/ars/academic-paper-reviewer/references/sprint_contract_protocol.md +296 -0
  190. package/vendor/ars/academic-paper-reviewer/references/statistical_reporting_standards.md +505 -0
  191. package/vendor/ars/academic-paper-reviewer/references/top_journals_by_field.md +206 -0
  192. package/vendor/ars/academic-paper-reviewer/templates/editorial_decision_template.md +235 -0
  193. package/vendor/ars/academic-paper-reviewer/templates/peer_review_report_template.md +305 -0
  194. package/vendor/ars/academic-paper-reviewer/templates/revision_response_template.md +248 -0
  195. package/vendor/ars/academic-pipeline/SKILL.md +736 -0
  196. package/vendor/ars/academic-pipeline/agents/claim_ref_alignment_audit_agent.md +382 -0
  197. package/vendor/ars/academic-pipeline/agents/collaboration_depth_agent.md +164 -0
  198. package/vendor/ars/academic-pipeline/agents/integrity_verification_agent.md +870 -0
  199. package/vendor/ars/academic-pipeline/agents/pipeline_orchestrator_agent.md +1379 -0
  200. package/vendor/ars/academic-pipeline/agents/state_tracker_agent.md +622 -0
  201. package/vendor/ars/academic-pipeline/examples/full_pipeline_example.md +482 -0
  202. package/vendor/ars/academic-pipeline/examples/integrity_failure_recovery.md +389 -0
  203. package/vendor/ars/academic-pipeline/examples/mid_entry_example.md +414 -0
  204. package/vendor/ars/academic-pipeline/references/adapters/.gitkeep +0 -0
  205. package/vendor/ars/academic-pipeline/references/adapters/overview.md +153 -0
  206. package/vendor/ars/academic-pipeline/references/ai_research_failure_modes.md +185 -0
  207. package/vendor/ars/academic-pipeline/references/changelog.md +14 -0
  208. package/vendor/ars/academic-pipeline/references/claim_audit_calibration_protocol.md +175 -0
  209. package/vendor/ars/academic-pipeline/references/claim_verification_protocol.md +282 -0
  210. package/vendor/ars/academic-pipeline/references/external_review_protocol.md +131 -0
  211. package/vendor/ars/academic-pipeline/references/integrity_review_protocol.md +110 -0
  212. package/vendor/ars/academic-pipeline/references/literature_corpus_consumers.md +193 -0
  213. package/vendor/ars/academic-pipeline/references/mode_advisor.md +135 -0
  214. package/vendor/ars/academic-pipeline/references/passport_as_reset_boundary.md +132 -0
  215. package/vendor/ars/academic-pipeline/references/pipeline_state_machine.md +405 -0
  216. package/vendor/ars/academic-pipeline/references/plagiarism_detection_protocol.md +239 -0
  217. package/vendor/ars/academic-pipeline/references/process_summary_protocol.md +209 -0
  218. package/vendor/ars/academic-pipeline/references/progress_dashboard_template.md +38 -0
  219. package/vendor/ars/academic-pipeline/references/reinforcement_content.md +15 -0
  220. package/vendor/ars/academic-pipeline/references/reproducibility_audit.md +55 -0
  221. package/vendor/ars/academic-pipeline/references/score_trajectory_protocol.md +78 -0
  222. package/vendor/ars/academic-pipeline/references/team_collaboration_protocol.md +261 -0
  223. package/vendor/ars/academic-pipeline/references/two_stage_review_protocol.md +27 -0
  224. package/vendor/ars/academic-pipeline/templates/pipeline_status_template.md +146 -0
  225. package/vendor/ars/agents/report_compiler_agent.md +341 -0
  226. package/vendor/ars/agents/research_architect_agent.md +298 -0
  227. package/vendor/ars/agents/synthesis_agent.md +356 -0
  228. package/vendor/ars/commands/ars-3w.md +10 -0
  229. package/vendor/ars/commands/ars-abstract.md +10 -0
  230. package/vendor/ars/commands/ars-cache-invalidate.md +20 -0
  231. package/vendor/ars/commands/ars-citation-check.md +10 -0
  232. package/vendor/ars/commands/ars-disclosure.md +10 -0
  233. package/vendor/ars/commands/ars-format-convert.md +10 -0
  234. package/vendor/ars/commands/ars-full.md +9 -0
  235. package/vendor/ars/commands/ars-lit-review.md +12 -0
  236. package/vendor/ars/commands/ars-mark-read.md +18 -0
  237. package/vendor/ars/commands/ars-outline.md +10 -0
  238. package/vendor/ars/commands/ars-plan.md +10 -0
  239. package/vendor/ars/commands/ars-rebuttal-audit.md +12 -0
  240. package/vendor/ars/commands/ars-reviewer.md +9 -0
  241. package/vendor/ars/commands/ars-revision-coach.md +9 -0
  242. package/vendor/ars/commands/ars-revision.md +10 -0
  243. package/vendor/ars/commands/ars-unmark-read.md +16 -0
  244. package/vendor/ars/deep-research/SKILL.md +600 -0
  245. package/vendor/ars/deep-research/agents/bibliography_agent.md +473 -0
  246. package/vendor/ars/deep-research/agents/devils_advocate_agent.md +192 -0
  247. package/vendor/ars/deep-research/agents/editor_in_chief_agent.md +167 -0
  248. package/vendor/ars/deep-research/agents/ethics_review_agent.md +267 -0
  249. package/vendor/ars/deep-research/agents/meta_analysis_agent.md +325 -0
  250. package/vendor/ars/deep-research/agents/monitoring_agent.md +209 -0
  251. package/vendor/ars/deep-research/agents/report_compiler_agent.md +341 -0
  252. package/vendor/ars/deep-research/agents/research_architect_agent.md +298 -0
  253. package/vendor/ars/deep-research/agents/research_question_agent.md +216 -0
  254. package/vendor/ars/deep-research/agents/risk_of_bias_agent.md +231 -0
  255. package/vendor/ars/deep-research/agents/socratic_mentor_agent.md +764 -0
  256. package/vendor/ars/deep-research/agents/source_verification_agent.md +219 -0
  257. package/vendor/ars/deep-research/agents/synthesis_agent.md +356 -0
  258. package/vendor/ars/deep-research/agents/timeline_extraction_agent.md +99 -0
  259. package/vendor/ars/deep-research/examples/exploratory_research.md +157 -0
  260. package/vendor/ars/deep-research/examples/fact_check_mode.md +173 -0
  261. package/vendor/ars/deep-research/examples/handoff_to_paper.md +318 -0
  262. package/vendor/ars/deep-research/examples/idea_diversity_coverage_gap_advisory.md +64 -0
  263. package/vendor/ars/deep-research/examples/policy_analysis.md +161 -0
  264. package/vendor/ars/deep-research/examples/review_mode.md +253 -0
  265. package/vendor/ars/deep-research/examples/socratic_guided_research.md +331 -0
  266. package/vendor/ars/deep-research/examples/systematic_review.md +133 -0
  267. package/vendor/ars/deep-research/references/apa7_style_guide.md +162 -0
  268. package/vendor/ars/deep-research/references/argumentation_reasoning_framework.md +68 -0
  269. package/vendor/ars/deep-research/references/arxiv_api_protocol.md +76 -0
  270. package/vendor/ars/deep-research/references/changelog.md +22 -0
  271. package/vendor/ars/deep-research/references/chinese_literature_api_protocol.md +317 -0
  272. package/vendor/ars/deep-research/references/cross_agent_quality_definitions.md +14 -0
  273. package/vendor/ars/deep-research/references/crossref_api_protocol.md +84 -0
  274. package/vendor/ars/deep-research/references/equator_reporting_guidelines.md +482 -0
  275. package/vendor/ars/deep-research/references/ethics_checklist.md +282 -0
  276. package/vendor/ars/deep-research/references/failure_paths.md +355 -0
  277. package/vendor/ars/deep-research/references/interdisciplinary_bridges.md +292 -0
  278. package/vendor/ars/deep-research/references/irb_decision_tree.md +315 -0
  279. package/vendor/ars/deep-research/references/literature_monitoring_strategies.md +263 -0
  280. package/vendor/ars/deep-research/references/logical_fallacies.md +192 -0
  281. package/vendor/ars/deep-research/references/methodology_patterns.md +462 -0
  282. package/vendor/ars/deep-research/references/mode_selection_guide.md +331 -0
  283. package/vendor/ars/deep-research/references/openalex_api_protocol.md +82 -0
  284. package/vendor/ars/deep-research/references/preregistration_guide.md +324 -0
  285. package/vendor/ars/deep-research/references/semantic_scholar_api_protocol.md +107 -0
  286. package/vendor/ars/deep-research/references/socratic_mode_protocol.md +99 -0
  287. package/vendor/ars/deep-research/references/socratic_questioning_framework.md +232 -0
  288. package/vendor/ars/deep-research/references/source_quality_hierarchy.md +188 -0
  289. package/vendor/ars/deep-research/references/systematic_review_protocol.md +95 -0
  290. package/vendor/ars/deep-research/references/systematic_review_toolkit.md +353 -0
  291. package/vendor/ars/deep-research/templates/evidence_assessment_template.md +127 -0
  292. package/vendor/ars/deep-research/templates/literature_matrix_template.md +85 -0
  293. package/vendor/ars/deep-research/templates/preregistration_template.md +318 -0
  294. package/vendor/ars/deep-research/templates/prisma_protocol_template.md +248 -0
  295. package/vendor/ars/deep-research/templates/prisma_report_template.md +415 -0
  296. package/vendor/ars/deep-research/templates/research_brief_template.md +93 -0
  297. package/vendor/ars/package.json +24 -0
  298. package/vendor/ars/pi/README.md +161 -0
  299. package/vendor/ars/pi/package.json +26 -0
  300. package/vendor/ars/pi/wrapper.js +193 -0
  301. package/vendor/ars/pi/wrapper.test.mjs +201 -0
  302. package/vendor/ars/pyproject.toml +2 -0
  303. package/vendor/ars/requirements-pdf-content-classifier.txt +5 -0
  304. package/vendor/ars/scripts/_block_parser.py +396 -0
  305. package/vendor/ars/scripts/_ci_pytest_manifest.toml +661 -0
  306. package/vendor/ars/scripts/_claim_audit_constants.py +268 -0
  307. package/vendor/ars/scripts/_e4_evidence.py +110 -0
  308. package/vendor/ars/scripts/_eval_threshold_gate.py +73 -0
  309. package/vendor/ars/scripts/_markdown_lint_util.py +224 -0
  310. package/vendor/ars/scripts/_next_verified_at_ms.py +176 -0
  311. package/vendor/ars/scripts/_passport_yaml.py +53 -0
  312. package/vendor/ars/scripts/_skill_lint.py +254 -0
  313. package/vendor/ars/scripts/_text_similarity.py +141 -0
  314. package/vendor/ars/scripts/adapters/README.md +89 -0
  315. package/vendor/ars/scripts/adapters/_common.py +209 -0
  316. package/vendor/ars/scripts/adapters/examples/folder_scan/expected_passport.yaml +25 -0
  317. package/vendor/ars/scripts/adapters/examples/folder_scan/expected_rejection_log.yaml +18 -0
  318. package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture/Chen2024_AIAssessment.pdf +0 -0
  319. package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture/Wang_2023_formative_feedback.pdf +0 -0
  320. package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture/paper1.pdf +0 -0
  321. 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
  322. package/vendor/ars/scripts/adapters/examples/obsidian/expected_passport.yaml +40 -0
  323. package/vendor/ars/scripts/adapters/examples/obsidian/expected_rejection_log.yaml +13 -0
  324. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/.gitkeep +0 -0
  325. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/.obsidian/app.json +1 -0
  326. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/_templates/tmpl.md +7 -0
  327. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/chen2024ai.md +13 -0
  328. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/invalid.md +1 -0
  329. package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/wang2023formative.md +10 -0
  330. package/vendor/ars/scripts/adapters/examples/zotero/expected_passport.yaml +34 -0
  331. package/vendor/ars/scripts/adapters/examples/zotero/expected_rejection_log.yaml +34 -0
  332. package/vendor/ars/scripts/adapters/examples/zotero/input_fixture/.gitkeep +0 -0
  333. package/vendor/ars/scripts/adapters/examples/zotero/input_fixture/export.json +43 -0
  334. package/vendor/ars/scripts/adapters/folder_scan.py +214 -0
  335. package/vendor/ars/scripts/adapters/obsidian.py +336 -0
  336. package/vendor/ars/scripts/adapters/tests/.gitkeep +0 -0
  337. package/vendor/ars/scripts/adapters/tests/conftest.py +77 -0
  338. package/vendor/ars/scripts/adapters/tests/test_check_corpus_consumer_protocol.py +632 -0
  339. package/vendor/ars/scripts/adapters/tests/test_check_literature_corpus_schema.py +631 -0
  340. package/vendor/ars/scripts/adapters/tests/test_common.py +365 -0
  341. package/vendor/ars/scripts/adapters/tests/test_conftest.py +96 -0
  342. package/vendor/ars/scripts/adapters/tests/test_folder_scan.py +260 -0
  343. package/vendor/ars/scripts/adapters/tests/test_literature_corpus_entry_schema.py +745 -0
  344. package/vendor/ars/scripts/adapters/tests/test_obsidian.py +357 -0
  345. package/vendor/ars/scripts/adapters/tests/test_rejection_log_schema.py +271 -0
  346. package/vendor/ars/scripts/adapters/tests/test_sync_adapter_docs.py +88 -0
  347. package/vendor/ars/scripts/adapters/tests/test_zotero.py +454 -0
  348. package/vendor/ars/scripts/adapters/zotero.py +318 -0
  349. package/vendor/ars/scripts/adjudication_activity.py +1592 -0
  350. package/vendor/ars/scripts/announce-ars-loaded.sh +144 -0
  351. package/vendor/ars/scripts/ars_anchorize_draft.py +170 -0
  352. package/vendor/ars/scripts/ars_apply_revision_patch.py +912 -0
  353. package/vendor/ars/scripts/ars_cache_invalidate.py +40 -0
  354. package/vendor/ars/scripts/ars_mark_read.py +521 -0
  355. package/vendor/ars/scripts/ars_phase_scope_manifest.json +33 -0
  356. package/vendor/ars/scripts/ars_update_check.sh +215 -0
  357. package/vendor/ars/scripts/ars_write_scope_guard.py +506 -0
  358. package/vendor/ars/scripts/arxiv_client.py +222 -0
  359. package/vendor/ars/scripts/audit_snapshot.py +572 -0
  360. package/vendor/ars/scripts/bibliographic_integrity_signals.py +800 -0
  361. package/vendor/ars/scripts/bootstrap_timeline_yaml.py +146 -0
  362. package/vendor/ars/scripts/build_claim_standing_candidate_ledger.py +1238 -0
  363. package/vendor/ars/scripts/build_claim_standing_query_plan.py +643 -0
  364. package/vendor/ars/scripts/build_content_coverage_advisory.py +1205 -0
  365. package/vendor/ars/scripts/build_cross_document_consistency_advisory.py +2332 -0
  366. package/vendor/ars/scripts/build_review_pathway_rule_trace.py +830 -0
  367. package/vendor/ars/scripts/build_submission_packet_manifest.py +2310 -0
  368. package/vendor/ars/scripts/check_215_field_norm.py +173 -0
  369. package/vendor/ars/scripts/check_216_surface_form.py +250 -0
  370. package/vendor/ars/scripts/check_268_nested_commitment_ledger.py +180 -0
  371. package/vendor/ars/scripts/check_390_revision_patch_discipline.py +296 -0
  372. package/vendor/ars/scripts/check_392_citation_verification_intake.py +126 -0
  373. package/vendor/ars/scripts/check_394_submission_policy.py +178 -0
  374. package/vendor/ars/scripts/check_439_format_profile.py +307 -0
  375. package/vendor/ars/scripts/check_619_disclosure_closeout.py +237 -0
  376. package/vendor/ars/scripts/check_630_codex_subscription_transport.py +456 -0
  377. package/vendor/ars/scripts/check_669_review_pathway_rule_trace.py +662 -0
  378. package/vendor/ars/scripts/check_670_revision_roadmap_integration.py +518 -0
  379. package/vendor/ars/scripts/check_673_adjudication_activity.py +684 -0
  380. package/vendor/ars/scripts/check_684_review_criteria_binding.py +557 -0
  381. package/vendor/ars/scripts/check_agents_mirror_sync.py +115 -0
  382. package/vendor/ars/scripts/check_audit_artifact_consistency.py +2313 -0
  383. package/vendor/ars/scripts/check_benchmark_report.py +79 -0
  384. package/vendor/ars/scripts/check_bibliographic_integrity_signals.py +831 -0
  385. package/vendor/ars/scripts/check_calibration_tiers.py +235 -0
  386. package/vendor/ars/scripts/check_changelog_covers_merges.py +289 -0
  387. package/vendor/ars/scripts/check_ci_pytest_manifest.py +204 -0
  388. package/vendor/ars/scripts/check_claim_audit_consistency.py +1664 -0
  389. package/vendor/ars/scripts/check_claim_standing_candidate_ledger_integration.py +500 -0
  390. package/vendor/ars/scripts/check_claim_standing_freshness.py +253 -0
  391. package/vendor/ars/scripts/check_claim_standing_transmissions.py +449 -0
  392. package/vendor/ars/scripts/check_collaboration_depth_rubric.py +180 -0
  393. package/vendor/ars/scripts/check_command_frontmatter_name.py +116 -0
  394. package/vendor/ars/scripts/check_committee_correspondence.py +333 -0
  395. package/vendor/ars/scripts/check_compliance_report.py +108 -0
  396. package/vendor/ars/scripts/check_content_coverage_advisory_integration.py +796 -0
  397. package/vendor/ars/scripts/check_control_availability.py +172 -0
  398. package/vendor/ars/scripts/check_corpus_consumer_protocol.py +404 -0
  399. package/vendor/ars/scripts/check_cross_document_consistency_advisory_integration.py +1191 -0
  400. package/vendor/ars/scripts/check_cross_model_handoff_contract.py +234 -0
  401. package/vendor/ars/scripts/check_cross_model_verification_sync.py +261 -0
  402. package/vendor/ars/scripts/check_data_access_level.py +131 -0
  403. package/vendor/ars/scripts/check_data_flows.py +252 -0
  404. package/vendor/ars/scripts/check_decision_contract.py +464 -0
  405. package/vendor/ars/scripts/check_degradation_registry.py +326 -0
  406. package/vendor/ars/scripts/check_distribution_surface_claims.py +226 -0
  407. package/vendor/ars/scripts/check_domain_evidence_profile.py +538 -0
  408. package/vendor/ars/scripts/check_e4_promotion.py +195 -0
  409. package/vendor/ars/scripts/check_evals_gold_set.py +279 -0
  410. package/vendor/ars/scripts/check_evidence_row_integration.py +396 -0
  411. package/vendor/ars/scripts/check_experiment_provenance.py +117 -0
  412. package/vendor/ars/scripts/check_field_norm_severity.py +144 -0
  413. package/vendor/ars/scripts/check_firm_rules_sync.py +375 -0
  414. package/vendor/ars/scripts/check_heldout_measurement_report.py +1179 -0
  415. package/vendor/ars/scripts/check_human_subjects_output_contract.py +139 -0
  416. package/vendor/ars/scripts/check_human_subjects_reference_migration.py +844 -0
  417. package/vendor/ars/scripts/check_indirect_prompt_injection_no_call.py +328 -0
  418. package/vendor/ars/scripts/check_instruction_data_boundary.py +236 -0
  419. package/vendor/ars/scripts/check_judge_prompt_version.py +125 -0
  420. package/vendor/ars/scripts/check_literature_corpus_schema.py +402 -0
  421. package/vendor/ars/scripts/check_model_tiering.py +223 -0
  422. package/vendor/ars/scripts/check_panel_synthesis.py +1331 -0
  423. package/vendor/ars/scripts/check_passport_reset_contract.py +214 -0
  424. package/vendor/ars/scripts/check_pattern_eval_manifest.py +422 -0
  425. package/vendor/ars/scripts/check_persuasion_invariance_fixtures.py +637 -0
  426. package/vendor/ars/scripts/check_phase_conformance.py +2180 -0
  427. package/vendor/ars/scripts/check_pipeline_boundary_semantics.py +600 -0
  428. package/vendor/ars/scripts/check_pipeline_integrity.py +340 -0
  429. package/vendor/ars/scripts/check_policy_anchor_protocol.py +159 -0
  430. package/vendor/ars/scripts/check_policy_anchor_table.py +286 -0
  431. package/vendor/ars/scripts/check_preprint_venues_consistency.py +123 -0
  432. package/vendor/ars/scripts/check_prisma_trAIce_freshness.py +84 -0
  433. package/vendor/ars/scripts/check_promotion_bakeoff_preregistration.py +1303 -0
  434. package/vendor/ars/scripts/check_ranking_lift.py +323 -0
  435. package/vendor/ars/scripts/check_re_review_synthesis.py +2719 -0
  436. package/vendor/ars/scripts/check_receipt_enum_sync.py +203 -0
  437. package/vendor/ars/scripts/check_repro_lock.py +85 -0
  438. package/vendor/ars/scripts/check_review_pathway_output.py +276 -0
  439. package/vendor/ars/scripts/check_reviewer_data_fences.py +224 -0
  440. package/vendor/ars/scripts/check_reviewer_finding_contract.py +783 -0
  441. package/vendor/ars/scripts/check_reviewer_role_label.py +447 -0
  442. package/vendor/ars/scripts/check_reviewer_scoring_honesty.py +292 -0
  443. package/vendor/ars/scripts/check_reviewer_sprint_prompt_sync.py +409 -0
  444. package/vendor/ars/scripts/check_revision_claim_drift_suite_v2.py +1622 -0
  445. package/vendor/ars/scripts/check_revision_token_conservation.py +263 -0
  446. package/vendor/ars/scripts/check_risk_register.py +280 -0
  447. package/vendor/ars/scripts/check_role_scoped_contract.py +702 -0
  448. package/vendor/ars/scripts/check_rq_framing_patterns.py +184 -0
  449. package/vendor/ars/scripts/check_rubric_weight_consistency.py +32 -0
  450. package/vendor/ars/scripts/check_seeded_defect_fixtures.py +425 -0
  451. package/vendor/ars/scripts/check_setup_cross_model_parity.py +139 -0
  452. package/vendor/ars/scripts/check_spec_consistency.py +1249 -0
  453. package/vendor/ars/scripts/check_sprint_contract.py +371 -0
  454. package/vendor/ars/scripts/check_stage_capability_matrix.py +784 -0
  455. package/vendor/ars/scripts/check_submission_packet_manifest_integration.py +358 -0
  456. package/vendor/ars/scripts/check_surface_form_parity.py +445 -0
  457. package/vendor/ars/scripts/check_task_type.py +22 -0
  458. package/vendor/ars/scripts/check_tools_allowlist.py +538 -0
  459. package/vendor/ars/scripts/check_tortured_phrase_screening_integration.py +1974 -0
  460. package/vendor/ars/scripts/check_v3_10_134_write_scope.py +286 -0
  461. package/vendor/ars/scripts/check_v3_10_policy.py +656 -0
  462. package/vendor/ars/scripts/check_v3_6_6_ab_manifest.py +364 -0
  463. package/vendor/ars/scripts/check_v3_6_7_pattern_protection.py +1366 -0
  464. package/vendor/ars/scripts/check_v3_6_8_audit_scope_block.py +464 -0
  465. package/vendor/ars/scripts/check_v3_6_8_cite_provenance_pipeline.py +231 -0
  466. package/vendor/ars/scripts/check_v3_6_8_frontmatter_trust_schema.py +248 -0
  467. package/vendor/ars/scripts/check_v3_6_8_mark_read_commands.py +79 -0
  468. package/vendor/ars/scripts/check_v3_6_8_pattern_protection.py +941 -0
  469. package/vendor/ars/scripts/check_v3_7_3_three_layer_citation.py +318 -0
  470. package/vendor/ars/scripts/check_v3_8_annotation_literal_sync.py +228 -0
  471. package/vendor/ars/scripts/check_v3_9_0_triangulation.py +366 -0
  472. package/vendor/ars/scripts/check_v3_9_2_phase_boundary.py +270 -0
  473. package/vendor/ars/scripts/check_v3_9_4_temporal_verification.py +139 -0
  474. package/vendor/ars/scripts/check_venue_disclosure_policies.py +63 -0
  475. package/vendor/ars/scripts/check_version_consistency.py +826 -0
  476. package/vendor/ars/scripts/check_workflow_classification.py +223 -0
  477. package/vendor/ars/scripts/chinese_literature_client.py +1938 -0
  478. package/vendor/ars/scripts/citation_verification_summary.py +85 -0
  479. package/vendor/ars/scripts/claim_audit_calibration.py +517 -0
  480. package/vendor/ars/scripts/claim_audit_finalizer.py +456 -0
  481. package/vendor/ars/scripts/claim_audit_pipeline.py +1594 -0
  482. package/vendor/ars/scripts/claim_registry_coverage.py +493 -0
  483. package/vendor/ars/scripts/claim_standing_discovery.py +784 -0
  484. package/vendor/ars/scripts/claim_standing_stance_runner.py +758 -0
  485. package/vendor/ars/scripts/claim_standing_stance_scorer.py +239 -0
  486. package/vendor/ars/scripts/claim_strength_drift_disposition.py +666 -0
  487. package/vendor/ars/scripts/contamination_signals.py +689 -0
  488. package/vendor/ars/scripts/corpus_consumer_manifest.json +19 -0
  489. package/vendor/ars/scripts/cross_model_codex_transport.py +1374 -0
  490. package/vendor/ars/scripts/cross_model_codex_verify.sh +6 -0
  491. package/vendor/ars/scripts/cross_model_handoff.py +359 -0
  492. package/vendor/ars/scripts/cross_model_smoke_test.sh +183 -0
  493. package/vendor/ars/scripts/cross_model_smoke_test_codex.sh +35 -0
  494. package/vendor/ars/scripts/cross_model_verification/gemini_is_grounded.jq +45 -0
  495. package/vendor/ars/scripts/cross_model_verification/gemini_sources.jq +45 -0
  496. package/vendor/ars/scripts/cross_model_verification/normalize_compat_verdict.py +57 -0
  497. package/vendor/ars/scripts/cross_model_verification/openai_has_completed_web_search.jq +15 -0
  498. package/vendor/ars/scripts/cross_model_verification/openai_sources.jq +17 -0
  499. package/vendor/ars/scripts/cross_model_verification/openai_text.jq +11 -0
  500. package/vendor/ars/scripts/crossref_client.py +225 -0
  501. package/vendor/ars/scripts/dispatch_e4_panel.py +2731 -0
  502. package/vendor/ars/scripts/evidence_rows.py +2043 -0
  503. package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3.json +32 -0
  504. package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3_input.json +27 -0
  505. package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3_prime.json +32 -0
  506. package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3_prime_input.json +27 -0
  507. package/vendor/ars/scripts/fixtures/adjudication_activity/compliance_override.json +50 -0
  508. package/vendor/ars/scripts/fixtures/adjudication_activity/compliance_override_action.json +14 -0
  509. package/vendor/ars/scripts/fixtures/adjudication_activity/compliance_pass.json +44 -0
  510. package/vendor/ars/scripts/fixtures/adjudication_activity/explicit_user_request_log.json +26 -0
  511. package/vendor/ars/scripts/fixtures/adjudication_activity/mandatory_checkpoint_log.json +116 -0
  512. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/README.md +56 -0
  513. 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
  514. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.jsonl +4 -0
  515. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.meta.json +43 -0
  516. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.verdict.yaml +19 -0
  517. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a7_orphan_completion/2026-04-30T15-22-04Z-d8f3.jsonl +3 -0
  518. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.audit_artifact_entry.json +26 -0
  519. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.jsonl +4 -0
  520. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.meta.json +43 -0
  521. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.verdict.yaml +19 -0
  522. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.audit_artifact_entry.json +24 -0
  523. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.jsonl +4 -0
  524. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.meta.json +43 -0
  525. package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.verdict.yaml +12 -0
  526. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/retraction.json +46 -0
  527. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/retraction_check_attestation.json +44 -0
  528. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/tortured_phrase.json +44 -0
  529. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/tortured_phrase_v1_2_abstract_missing.json +107 -0
  530. package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/tortured_phrase_v1_2_detected.json +124 -0
  531. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/expected_outcomes.json +77 -0
  532. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/manifest.yaml +37 -0
  533. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/tuples/001-valid-doi-test.json +20 -0
  534. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/tuples/002-valid-arxiv-test.json +19 -0
  535. package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/tuples/003-fabricated-test.json +20 -0
  536. package/vendor/ars/scripts/fixtures/claim_audit_calibration/gold_set.json +344 -0
  537. package/vendor/ars/scripts/fixtures/claim_standing_candidate_ledger/query_plan.json +108 -0
  538. package/vendor/ars/scripts/fixtures/claim_standing_candidate_ledger/retrieval_input.json +179 -0
  539. package/vendor/ars/scripts/fixtures/committee_correspondence/16fd83f6aec7/concern_tracker.json +129 -0
  540. package/vendor/ars/scripts/fixtures/committee_correspondence/16fd83f6aec7/response_skeleton.md +19 -0
  541. package/vendor/ars/scripts/fixtures/committee_correspondence/16fd83f6aec7/source_letter.txt +9 -0
  542. package/vendor/ars/scripts/fixtures/content_coverage_advisory/base_draft.json +48 -0
  543. package/vendor/ars/scripts/fixtures/content_coverage_advisory/base_inventory.json +38 -0
  544. package/vendor/ars/scripts/fixtures/content_coverage_advisory/packet/consent.txt +1 -0
  545. package/vendor/ars/scripts/fixtures/content_coverage_advisory/session_sources.json +3 -0
  546. package/vendor/ars/scripts/fixtures/cross_document_consistency/README.md +6 -0
  547. package/vendor/ars/scripts/fixtures/cross_document_consistency/accepted_draft.md +35 -0
  548. package/vendor/ars/scripts/fixtures/cross_document_consistency/cases.json +75 -0
  549. package/vendor/ars/scripts/fixtures/cross_document_consistency/preregistration.md +5 -0
  550. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/forbidden_event.jsonl +4 -0
  551. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/grounded_verified.jsonl +3 -0
  552. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/malformed.jsonl +3 -0
  553. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/missing_search.jsonl +2 -0
  554. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/multiple_finals.jsonl +4 -0
  555. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/not_found.jsonl +3 -0
  556. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/unbound_source.jsonl +3 -0
  557. package/vendor/ars/scripts/fixtures/cross_model_codex_transport/wrong_search_shape.jsonl +3 -0
  558. package/vendor/ars/scripts/fixtures/evidence_rows/phase_e_inputs.json +114 -0
  559. package/vendor/ars/scripts/fixtures/evidence_rows/session_sources.json +5 -0
  560. package/vendor/ars/scripts/fixtures/human_subjects_authority/cross-border-us-tw-gdpr.json +71 -0
  561. package/vendor/ars/scripts/fixtures/human_subjects_authority/gdpr-member-state-unresolved.json +62 -0
  562. package/vendor/ars/scripts/fixtures/human_subjects_authority/missing-data-axis.json +45 -0
  563. package/vendor/ars/scripts/fixtures/human_subjects_authority/no-profile.json +33 -0
  564. package/vendor/ars/scripts/fixtures/human_subjects_authority/tw-gdpr-two-axis.json +74 -0
  565. package/vendor/ars/scripts/fixtures/human_subjects_authority/us-gdpr-two-axis.json +74 -0
  566. package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/lint-near-misses.json +72 -0
  567. package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/no-profile-request.json +18 -0
  568. package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/tw-candidates-request.json +63 -0
  569. package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/us-candidates-request.json +77 -0
  570. package/vendor/ars/scripts/fixtures/review_target_context/exact-declaration.json +24 -0
  571. package/vendor/ars/scripts/fixtures/review_target_context/field-general-declaration.json +24 -0
  572. package/vendor/ars/scripts/fixtures/review_target_context/msr-2027-technical-full-declaration.json +24 -0
  573. package/vendor/ars/scripts/fixtures/review_target_context/synthetic-registry.json +92 -0
  574. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/README.md +21 -0
  575. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_attested_only.json +55 -0
  576. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_machine_supported.json +49 -0
  577. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_not_isolated.json +56 -0
  578. package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_unknown.json +49 -0
  579. package/vendor/ars/scripts/fixtures/submission_package/clean/paper.md +16 -0
  580. package/vendor/ars/scripts/fixtures/submission_package/clean/references.bib +13 -0
  581. package/vendor/ars/scripts/fixtures/submission_package/fallback_authoryear/paper.md +11 -0
  582. package/vendor/ars/scripts/fixtures/submission_package/fallback_authoryear/references.bib +13 -0
  583. package/vendor/ars/scripts/fixtures/submission_package/fallback_latex/paper.tex +9 -0
  584. package/vendor/ars/scripts/fixtures/submission_package/fallback_latex/references.bib +13 -0
  585. package/vendor/ars/scripts/fixtures/submission_package/marker_no_join/paper.md +7 -0
  586. package/vendor/ars/scripts/fixtures/submission_package/orphan_intext/paper.md +8 -0
  587. package/vendor/ars/scripts/fixtures/submission_package/orphan_intext/references.bib +6 -0
  588. package/vendor/ars/scripts/fixtures/submission_package/passports/corpus_only.yaml +9 -0
  589. package/vendor/ars/scripts/fixtures/submission_package/passports/summary_join.yaml +16 -0
  590. package/vendor/ars/scripts/fixtures/submission_package/profiles/full.yaml +15 -0
  591. package/vendor/ars/scripts/fixtures/submission_package/profiles/tight.yaml +15 -0
  592. package/vendor/ars/scripts/fixtures/submission_package/summary_join/paper.md +7 -0
  593. package/vendor/ars/scripts/fixtures/submission_package/uncited_reference/paper.md +9 -0
  594. package/vendor/ars/scripts/fixtures/submission_package/uncited_reference/references.bib +13 -0
  595. package/vendor/ars/scripts/fixtures/submission_package/venue_clean/paper.md +26 -0
  596. package/vendor/ars/scripts/fixtures/submission_package/venue_clean/references.bib +13 -0
  597. package/vendor/ars/scripts/fixtures/submission_package/venue_violations/paper.md +20 -0
  598. package/vendor/ars/scripts/fixtures/submission_package/venue_violations/references.bib +13 -0
  599. package/vendor/ars/scripts/fixtures/submission_packet_manifest/base_inventory.json +101 -0
  600. package/vendor/ars/scripts/fixtures/submission_packet_manifest/packet/consent-materials.txt +3 -0
  601. package/vendor/ars/scripts/fixtures/submission_packet_manifest/packet/training-certificate.txt +2 -0
  602. package/vendor/ars/scripts/fixtures/submission_packet_manifest/packet/tw-consent-materials.txt +3 -0
  603. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/corpus_input.yaml +30 -0
  604. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/own_draft.md +36 -0
  605. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/own_draft.tex +21 -0
  606. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/seed_expectations.json +218 -0
  607. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/snapshot.json +164 -0
  608. package/vendor/ars/scripts/fixtures/tortured_phrase_screening/snapshot_manifest.json +29 -0
  609. package/vendor/ars/scripts/fixtures/transport_bodies/README.md +55 -0
  610. package/vendor/ars/scripts/fixtures/transport_bodies/arxiv/empty_feed.xml +10 -0
  611. package/vendor/ars/scripts/fixtures/transport_bodies/arxiv/error_5xx.html +7 -0
  612. package/vendor/ars/scripts/fixtures/transport_bodies/arxiv/id_hit.xml +26 -0
  613. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/README.md +69 -0
  614. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/cnki_landing_page.html +13 -0
  615. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/error_5xx.html +2 -0
  616. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coordinate_ambiguous.json +16 -0
  617. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coordinate_hit.json +16 -0
  618. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coordinate_zero.json +14 -0
  619. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coverage_hit.json +15 -0
  620. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coverage_zero.json +13 -0
  621. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_hit.json +43 -0
  622. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_issn_mismatch.json +31 -0
  623. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_no_doi.json +31 -0
  624. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_unknown_ra.json +34 -0
  625. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_year_mismatch.json +31 -0
  626. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/handle_absent.json +4 -0
  627. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/handle_exists.json +16 -0
  628. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/handle_internal_error.json +4 -0
  629. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/istic_csl_hit.json +25 -0
  630. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/istic_csl_other_title.json +18 -0
  631. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_cnki.json +6 -0
  632. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_crossref.json +6 -0
  633. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_istic.json +6 -0
  634. package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_unknown_prefix.json +6 -0
  635. package/vendor/ars/scripts/fixtures/transport_bodies/crossref/doi_hit.json +24 -0
  636. package/vendor/ars/scripts/fixtures/transport_bodies/crossref/error_5xx.html +7 -0
  637. package/vendor/ars/scripts/fixtures/transport_bodies/crossref/title_search_miss.json +15 -0
  638. package/vendor/ars/scripts/fixtures/transport_bodies/openalex/doi_hit.json +29 -0
  639. package/vendor/ars/scripts/fixtures/transport_bodies/openalex/error_5xx.json +4 -0
  640. package/vendor/ars/scripts/fixtures/transport_bodies/openalex/title_search_miss.json +11 -0
  641. package/vendor/ars/scripts/fixtures/transport_bodies/semantic_scholar/doi_hit.json +14 -0
  642. package/vendor/ars/scripts/fixtures/transport_bodies/semantic_scholar/error_5xx.json +3 -0
  643. package/vendor/ars/scripts/fixtures/transport_bodies/semantic_scholar/title_search_miss.json +5 -0
  644. package/vendor/ars/scripts/human_read_attestation_resolver.py +467 -0
  645. package/vendor/ars/scripts/ideation_diversity_assignment_gate.py +430 -0
  646. package/vendor/ars/scripts/inquiry_branch_ledger.py +2540 -0
  647. package/vendor/ars/scripts/legacy/ars_apply_revision_patch_v1_0.py +715 -0
  648. package/vendor/ars/scripts/legacy/check_re_review_synthesis_v1_0.py +2215 -0
  649. package/vendor/ars/scripts/migrate_literature_corpus_to_v3_10.py +223 -0
  650. package/vendor/ars/scripts/migrate_literature_corpus_to_v3_7_3.py +277 -0
  651. package/vendor/ars/scripts/migrate_literature_corpus_to_v3_9_0.py +304 -0
  652. package/vendor/ars/scripts/model_tiering_manifest.json +46 -0
  653. package/vendor/ars/scripts/openalex_client.py +232 -0
  654. package/vendor/ars/scripts/parse_audit_verdict.py +802 -0
  655. package/vendor/ars/scripts/pdf_content_classifier_worker.py +176 -0
  656. package/vendor/ars/scripts/pdf_read_preflight.py +1455 -0
  657. package/vendor/ars/scripts/policy_anchor_disclosure_referee.py +354 -0
  658. package/vendor/ars/scripts/recompute_receipts.py +1414 -0
  659. package/vendor/ars/scripts/render_claim_standing_view.py +374 -0
  660. package/vendor/ars/scripts/render_eval_comment.py +130 -0
  661. package/vendor/ars/scripts/render_harness_retirement_issue.py +167 -0
  662. package/vendor/ars/scripts/repro_lock_validation.py +90 -0
  663. package/vendor/ars/scripts/research_workflow_profile.py +1079 -0
  664. package/vendor/ars/scripts/resolve_human_subjects_authority.py +1158 -0
  665. package/vendor/ars/scripts/resolve_review_target_context.py +683 -0
  666. package/vendor/ars/scripts/resume_e4_record.py +509 -0
  667. package/vendor/ars/scripts/retraction_status.py +484 -0
  668. package/vendor/ars/scripts/review_criteria_binding.py +889 -0
  669. package/vendor/ars/scripts/review_panel_provenance.py +744 -0
  670. package/vendor/ars/scripts/revision_roadmap.py +1967 -0
  671. package/vendor/ars/scripts/run_ci_pytest_manifest.py +116 -0
  672. package/vendor/ars/scripts/run_codex_audit.sh +1191 -0
  673. package/vendor/ars/scripts/run_evals.py +513 -0
  674. package/vendor/ars/scripts/run_ideation_diversity_no_call.py +3505 -0
  675. package/vendor/ars/scripts/run_indirect_prompt_injection_no_call.py +3330 -0
  676. package/vendor/ars/scripts/run_indirect_prompt_injection_probe.py +399 -0
  677. package/vendor/ars/scripts/run_review_criteria_constructive_value.py +1895 -0
  678. package/vendor/ars/scripts/run_role_topology_utility_dry_run.py +606 -0
  679. package/vendor/ars/scripts/score_review_criteria_constructive_value.py +617 -0
  680. package/vendor/ars/scripts/semantic_scholar_client.py +291 -0
  681. package/vendor/ars/scripts/slr_lineage.py +59 -0
  682. package/vendor/ars/scripts/sync_adapter_docs.py +118 -0
  683. package/vendor/ars/scripts/temporal_integrity_audit.py +840 -0
  684. package/vendor/ars/scripts/test_431_exact_or_bust.py +253 -0
  685. package/vendor/ars/scripts/test__eval_threshold_gate.py +125 -0
  686. package/vendor/ars/scripts/test__markdown_lint_util.py +129 -0
  687. package/vendor/ars/scripts/test__next_verified_at_ms.py +256 -0
  688. package/vendor/ars/scripts/test_adjacent_framing_probe_lint.py +171 -0
  689. package/vendor/ars/scripts/test_adjudication_activity.py +1515 -0
  690. package/vendor/ars/scripts/test_ars_anchorize_draft.py +178 -0
  691. package/vendor/ars/scripts/test_ars_apply_revision_patch.py +1335 -0
  692. package/vendor/ars/scripts/test_ars_cache_invalidate.py +51 -0
  693. package/vendor/ars/scripts/test_ars_mark_read.py +910 -0
  694. package/vendor/ars/scripts/test_ars_update_check.py +816 -0
  695. package/vendor/ars/scripts/test_ars_write_scope_guard.py +790 -0
  696. package/vendor/ars/scripts/test_arxiv_client.py +374 -0
  697. package/vendor/ars/scripts/test_audit_schemas.py +560 -0
  698. package/vendor/ars/scripts/test_audit_snapshot_render_section_0.py +105 -0
  699. package/vendor/ars/scripts/test_block_parser.py +259 -0
  700. package/vendor/ars/scripts/test_bootstrap_timeline_yaml.py +148 -0
  701. package/vendor/ars/scripts/test_build_claim_standing_candidate_ledger.py +1203 -0
  702. package/vendor/ars/scripts/test_build_claim_standing_query_plan.py +791 -0
  703. package/vendor/ars/scripts/test_build_submission_packet_manifest.py +2644 -0
  704. package/vendor/ars/scripts/test_check_215_field_norm.py +238 -0
  705. package/vendor/ars/scripts/test_check_216_surface_form.py +341 -0
  706. package/vendor/ars/scripts/test_check_268_nested_commitment_ledger.py +194 -0
  707. package/vendor/ars/scripts/test_check_390_revision_patch_discipline.py +279 -0
  708. package/vendor/ars/scripts/test_check_392_citation_verification_intake.py +144 -0
  709. package/vendor/ars/scripts/test_check_394_submission_policy.py +200 -0
  710. package/vendor/ars/scripts/test_check_439_format_profile.py +252 -0
  711. package/vendor/ars/scripts/test_check_619_disclosure_closeout.py +158 -0
  712. package/vendor/ars/scripts/test_check_630_codex_subscription_transport.py +245 -0
  713. package/vendor/ars/scripts/test_check_669_review_pathway_rule_trace.py +304 -0
  714. package/vendor/ars/scripts/test_check_670_revision_roadmap_integration.py +260 -0
  715. package/vendor/ars/scripts/test_check_673_adjudication_activity.py +367 -0
  716. package/vendor/ars/scripts/test_check_684_review_criteria_binding.py +274 -0
  717. package/vendor/ars/scripts/test_check_agents_mirror_sync.py +137 -0
  718. package/vendor/ars/scripts/test_check_audit_artifact_consistency.py +2133 -0
  719. package/vendor/ars/scripts/test_check_benchmark_report.py +117 -0
  720. package/vendor/ars/scripts/test_check_bibliographic_integrity_signals.py +609 -0
  721. package/vendor/ars/scripts/test_check_calibration_tiers.py +376 -0
  722. package/vendor/ars/scripts/test_check_changelog_covers_merges.py +509 -0
  723. package/vendor/ars/scripts/test_check_ci_pytest_manifest.py +425 -0
  724. package/vendor/ars/scripts/test_check_claim_standing_candidate_ledger_integration.py +256 -0
  725. package/vendor/ars/scripts/test_check_claim_standing_freshness.py +277 -0
  726. package/vendor/ars/scripts/test_check_collaboration_depth_rubric.py +239 -0
  727. package/vendor/ars/scripts/test_check_command_frontmatter_name.py +178 -0
  728. package/vendor/ars/scripts/test_check_committee_correspondence.py +298 -0
  729. package/vendor/ars/scripts/test_check_compliance_report.py +381 -0
  730. package/vendor/ars/scripts/test_check_content_coverage_advisory_integration.py +308 -0
  731. package/vendor/ars/scripts/test_check_control_availability.py +361 -0
  732. package/vendor/ars/scripts/test_check_cross_document_consistency_advisory_integration.py +698 -0
  733. package/vendor/ars/scripts/test_check_cross_model_handoff_contract.py +301 -0
  734. package/vendor/ars/scripts/test_check_cross_model_verification_sync.py +203 -0
  735. package/vendor/ars/scripts/test_check_data_access_level.py +227 -0
  736. package/vendor/ars/scripts/test_check_data_flows.py +382 -0
  737. package/vendor/ars/scripts/test_check_decision_contract.py +387 -0
  738. package/vendor/ars/scripts/test_check_degradation_registry.py +270 -0
  739. package/vendor/ars/scripts/test_check_distribution_surface_claims.py +225 -0
  740. package/vendor/ars/scripts/test_check_domain_evidence_profile.py +439 -0
  741. package/vendor/ars/scripts/test_check_e4_promotion.py +163 -0
  742. package/vendor/ars/scripts/test_check_evals_gold_set.py +312 -0
  743. package/vendor/ars/scripts/test_check_evidence_row_integration.py +187 -0
  744. package/vendor/ars/scripts/test_check_field_norm_severity.py +173 -0
  745. package/vendor/ars/scripts/test_check_firm_rules_sync.py +342 -0
  746. package/vendor/ars/scripts/test_check_heldout_measurement_report.py +1508 -0
  747. package/vendor/ars/scripts/test_check_human_subjects_output_contract.py +129 -0
  748. package/vendor/ars/scripts/test_check_human_subjects_reference_migration.py +756 -0
  749. package/vendor/ars/scripts/test_check_instruction_data_boundary.py +204 -0
  750. package/vendor/ars/scripts/test_check_judge_prompt_version.py +90 -0
  751. package/vendor/ars/scripts/test_check_model_tiering.py +236 -0
  752. package/vendor/ars/scripts/test_check_panel_synthesis.py +1658 -0
  753. package/vendor/ars/scripts/test_check_passport_reset_contract.py +249 -0
  754. package/vendor/ars/scripts/test_check_pattern_eval_manifest.py +381 -0
  755. package/vendor/ars/scripts/test_check_persuasion_invariance_fixtures.py +591 -0
  756. package/vendor/ars/scripts/test_check_phase_conformance.py +4366 -0
  757. package/vendor/ars/scripts/test_check_pipeline_boundary_semantics.py +931 -0
  758. package/vendor/ars/scripts/test_check_pipeline_integrity.py +243 -0
  759. package/vendor/ars/scripts/test_check_policy_anchor_protocol.py +236 -0
  760. package/vendor/ars/scripts/test_check_policy_anchor_table.py +295 -0
  761. package/vendor/ars/scripts/test_check_prisma_trAIce_freshness.py +68 -0
  762. package/vendor/ars/scripts/test_check_promotion_bakeoff_preregistration.py +799 -0
  763. package/vendor/ars/scripts/test_check_ranking_lift.py +377 -0
  764. package/vendor/ars/scripts/test_check_re_review_synthesis.py +3398 -0
  765. package/vendor/ars/scripts/test_check_receipt_enum_sync.py +176 -0
  766. package/vendor/ars/scripts/test_check_repro_lock.py +107 -0
  767. package/vendor/ars/scripts/test_check_reviewer_data_fences.py +334 -0
  768. package/vendor/ars/scripts/test_check_reviewer_finding_contract.py +1107 -0
  769. package/vendor/ars/scripts/test_check_reviewer_role_label.py +491 -0
  770. package/vendor/ars/scripts/test_check_reviewer_scoring_honesty.py +222 -0
  771. package/vendor/ars/scripts/test_check_reviewer_sprint_prompt_sync.py +373 -0
  772. package/vendor/ars/scripts/test_check_revision_claim_drift_suite_v2.py +1925 -0
  773. package/vendor/ars/scripts/test_check_revision_token_conservation.py +398 -0
  774. package/vendor/ars/scripts/test_check_risk_register.py +336 -0
  775. package/vendor/ars/scripts/test_check_role_scoped_contract.py +1104 -0
  776. package/vendor/ars/scripts/test_check_rq_framing_patterns.py +110 -0
  777. package/vendor/ars/scripts/test_check_rubric_weight_consistency.py +32 -0
  778. package/vendor/ars/scripts/test_check_seeded_defect_fixtures.py +392 -0
  779. package/vendor/ars/scripts/test_check_setup_cross_model_parity.py +121 -0
  780. package/vendor/ars/scripts/test_check_spec_consistency.py +1081 -0
  781. package/vendor/ars/scripts/test_check_sprint_contract.py +458 -0
  782. package/vendor/ars/scripts/test_check_stage_capability_matrix.py +698 -0
  783. package/vendor/ars/scripts/test_check_submission_packet_manifest_integration.py +177 -0
  784. package/vendor/ars/scripts/test_check_surface_form_parity.py +417 -0
  785. package/vendor/ars/scripts/test_check_task_type.py +116 -0
  786. package/vendor/ars/scripts/test_check_tools_allowlist.py +835 -0
  787. package/vendor/ars/scripts/test_check_tortured_phrase_screening_integration.py +1306 -0
  788. package/vendor/ars/scripts/test_check_v3_10_134_write_scope.py +251 -0
  789. package/vendor/ars/scripts/test_check_v3_10_policy.py +547 -0
  790. package/vendor/ars/scripts/test_check_v3_6_7_pattern_protection.py +960 -0
  791. package/vendor/ars/scripts/test_check_v3_6_8_audit_scope_block.py +1000 -0
  792. package/vendor/ars/scripts/test_check_v3_6_8_cite_provenance_pipeline.py +454 -0
  793. package/vendor/ars/scripts/test_check_v3_6_8_frontmatter_trust_schema.py +581 -0
  794. package/vendor/ars/scripts/test_check_v3_6_8_mark_read_commands.py +120 -0
  795. package/vendor/ars/scripts/test_check_v3_6_8_pattern_protection.py +1138 -0
  796. package/vendor/ars/scripts/test_check_v3_7_3_three_layer_citation.py +566 -0
  797. package/vendor/ars/scripts/test_check_v3_8_annotation_literal_sync.py +262 -0
  798. package/vendor/ars/scripts/test_check_v3_9_0_triangulation.py +321 -0
  799. package/vendor/ars/scripts/test_check_v3_9_2_phase_boundary.py +190 -0
  800. package/vendor/ars/scripts/test_check_v3_9_4_temporal_verification.py +471 -0
  801. package/vendor/ars/scripts/test_check_version_consistency.py +1462 -0
  802. package/vendor/ars/scripts/test_check_workflow_classification.py +225 -0
  803. package/vendor/ars/scripts/test_chinese_literature_client.py +1889 -0
  804. package/vendor/ars/scripts/test_citation_existence_policy.py +480 -0
  805. package/vendor/ars/scripts/test_citation_verification_summary.py +342 -0
  806. package/vendor/ars/scripts/test_claim_audit_calibration.py +882 -0
  807. package/vendor/ars/scripts/test_claim_audit_finalizer.py +979 -0
  808. package/vendor/ars/scripts/test_claim_audit_pipeline.py +2398 -0
  809. package/vendor/ars/scripts/test_claim_audit_schema.py +1778 -0
  810. package/vendor/ars/scripts/test_claim_intent_manifest.py +666 -0
  811. package/vendor/ars/scripts/test_claim_registry_coverage.py +246 -0
  812. package/vendor/ars/scripts/test_claim_standing_discovery.py +579 -0
  813. package/vendor/ars/scripts/test_claim_standing_pipeline_wiring.py +290 -0
  814. package/vendor/ars/scripts/test_claim_standing_stance_assets.py +399 -0
  815. package/vendor/ars/scripts/test_claim_standing_stance_contracts.py +383 -0
  816. package/vendor/ars/scripts/test_claim_standing_stance_runner.py +349 -0
  817. package/vendor/ars/scripts/test_claim_standing_transmissions.py +605 -0
  818. package/vendor/ars/scripts/test_claim_strength_drift_disposition.py +517 -0
  819. package/vendor/ars/scripts/test_claim_verification_coverage_contract.py +104 -0
  820. package/vendor/ars/scripts/test_contamination_signals.py +1086 -0
  821. package/vendor/ars/scripts/test_content_coverage_advisory.py +1767 -0
  822. package/vendor/ars/scripts/test_cross_document_consistency_advisory.py +1270 -0
  823. package/vendor/ars/scripts/test_cross_model_codex_transport.py +1152 -0
  824. package/vendor/ars/scripts/test_cross_model_handoff.py +571 -0
  825. package/vendor/ars/scripts/test_cross_model_verification_guards.py +792 -0
  826. package/vendor/ars/scripts/test_crossref_client.py +393 -0
  827. package/vendor/ars/scripts/test_dispatch_e4_panel.py +4235 -0
  828. package/vendor/ars/scripts/test_e2e_claim_audit.py +540 -0
  829. package/vendor/ars/scripts/test_eval_harness_workflow.py +140 -0
  830. package/vendor/ars/scripts/test_evals_citation_extraction.py +150 -0
  831. package/vendor/ars/scripts/test_evals_lift_report_schema.py +108 -0
  832. package/vendor/ars/scripts/test_evidence_rows.py +2593 -0
  833. package/vendor/ars/scripts/test_experiment_provenance.py +915 -0
  834. package/vendor/ars/scripts/test_human_read_attestation_resolver.py +477 -0
  835. package/vendor/ars/scripts/test_ideation_diversity_assignment_gate.py +615 -0
  836. package/vendor/ars/scripts/test_indirect_prompt_injection_behavior_probe.py +250 -0
  837. package/vendor/ars/scripts/test_inquiry_branch_ledger.py +2296 -0
  838. package/vendor/ars/scripts/test_migrate_literature_corpus_to_v3_10.py +248 -0
  839. package/vendor/ars/scripts/test_migrate_literature_corpus_to_v3_7_3.py +545 -0
  840. package/vendor/ars/scripts/test_migrate_literature_corpus_to_v3_9_0.py +497 -0
  841. package/vendor/ars/scripts/test_normalize_compat_verdict.py +149 -0
  842. package/vendor/ars/scripts/test_openalex_client.py +490 -0
  843. package/vendor/ars/scripts/test_passport_yaml.py +104 -0
  844. package/vendor/ars/scripts/test_pattern_eval_runtime.py +1295 -0
  845. package/vendor/ars/scripts/test_pdf_read_preflight.py +1943 -0
  846. package/vendor/ars/scripts/test_policy_anchor_disclosure.py +666 -0
  847. package/vendor/ars/scripts/test_reading_probe_lint.py +218 -0
  848. package/vendor/ars/scripts/test_recompute_receipts.py +778 -0
  849. package/vendor/ars/scripts/test_render_claim_standing_view.py +192 -0
  850. package/vendor/ars/scripts/test_render_eval_comment.py +162 -0
  851. package/vendor/ars/scripts/test_render_harness_retirement_issue.py +110 -0
  852. package/vendor/ars/scripts/test_repro_lock_validation_drift.py +100 -0
  853. package/vendor/ars/scripts/test_research_workflow_profile.py +734 -0
  854. package/vendor/ars/scripts/test_resolve_human_subjects_authority.py +1219 -0
  855. package/vendor/ars/scripts/test_resolve_review_target_context.py +703 -0
  856. package/vendor/ars/scripts/test_resume_e4_record.py +315 -0
  857. package/vendor/ars/scripts/test_retraction_status.py +456 -0
  858. package/vendor/ars/scripts/test_review_criteria_binding.py +629 -0
  859. package/vendor/ars/scripts/test_review_panel_provenance.py +565 -0
  860. package/vendor/ars/scripts/test_review_pathway_rule_trace.py +821 -0
  861. package/vendor/ars/scripts/test_revision_roadmap.py +1255 -0
  862. package/vendor/ars/scripts/test_run_ci_pytest_manifest.py +186 -0
  863. package/vendor/ars/scripts/test_run_codex_audit_e2e.py +369 -0
  864. package/vendor/ars/scripts/test_run_evals.py +430 -0
  865. package/vendor/ars/scripts/test_run_guard_launcher.py +500 -0
  866. package/vendor/ars/scripts/test_run_ideation_diversity_no_call.py +1833 -0
  867. package/vendor/ars/scripts/test_run_indirect_prompt_injection_no_call.py +1889 -0
  868. package/vendor/ars/scripts/test_run_review_criteria_constructive_value.py +586 -0
  869. package/vendor/ars/scripts/test_run_role_topology_utility_dry_run.py +428 -0
  870. package/vendor/ars/scripts/test_score_review_criteria_constructive_value.py +340 -0
  871. package/vendor/ars/scripts/test_semantic_scholar_client.py +554 -0
  872. package/vendor/ars/scripts/test_slr_lineage_emission.py +230 -0
  873. package/vendor/ars/scripts/test_socratic_rq_non_generation_contract.py +173 -0
  874. package/vendor/ars/scripts/test_temporal_integrity_audit.py +438 -0
  875. package/vendor/ars/scripts/test_text_similarity.py +95 -0
  876. package/vendor/ars/scripts/test_title_fuzzy_false_positive.py +111 -0
  877. package/vendor/ars/scripts/test_tortured_phrase_screening.py +2959 -0
  878. package/vendor/ars/scripts/test_transport_fixture_citation_gate.py +338 -0
  879. package/vendor/ars/scripts/test_uncited_assertion.py +558 -0
  880. package/vendor/ars/scripts/test_v3_6_7_phase_6_6.py +1279 -0
  881. package/vendor/ars/scripts/test_validate_compliance_fixtures.py +36 -0
  882. package/vendor/ars/scripts/test_validate_ideation_diversity_assets.py +230 -0
  883. package/vendor/ars/scripts/test_venue_disclosure_contract.py +755 -0
  884. package/vendor/ars/scripts/test_verification_cache.py +280 -0
  885. package/vendor/ars/scripts/test_verification_gate.py +461 -0
  886. package/vendor/ars/scripts/test_verify_passport_cli.py +123 -0
  887. package/vendor/ars/scripts/test_verify_submission_package.py +1407 -0
  888. package/vendor/ars/scripts/test_version_records_schema.py +211 -0
  889. package/vendor/ars/scripts/tortured_phrase_screening.py +3502 -0
  890. package/vendor/ars/scripts/uncited_assertion_detector.py +254 -0
  891. package/vendor/ars/scripts/v3_6_7_inversion_manifest.json +9 -0
  892. package/vendor/ars/scripts/v3_6_8_inversion_manifest.json +10 -0
  893. package/vendor/ars/scripts/validate_claim_standing_stance_assets.py +249 -0
  894. package/vendor/ars/scripts/validate_compliance_fixtures.py +56 -0
  895. package/vendor/ars/scripts/validate_ideation_diversity_assets.py +303 -0
  896. package/vendor/ars/scripts/venue_disclosure_contract_harness.py +837 -0
  897. package/vendor/ars/scripts/verification_cache.py +276 -0
  898. package/vendor/ars/scripts/verification_gate/__init__.py +345 -0
  899. package/vendor/ars/scripts/verify_passport.py +133 -0
  900. package/vendor/ars/scripts/verify_submission_package.py +1657 -0
  901. package/vendor/ars/shared/agents/compliance_agent.md +136 -0
  902. package/vendor/ars/shared/artifact_reproducibility_pattern.md +173 -0
  903. package/vendor/ars/shared/benchmark_report.schema.json +81 -0
  904. package/vendor/ars/shared/benchmark_report_pattern.md +180 -0
  905. package/vendor/ars/shared/bibliographic_integrity_signals.md +142 -0
  906. package/vendor/ars/shared/collaboration_depth_rubric.md +154 -0
  907. package/vendor/ars/shared/compliance_checkpoint_protocol.md +162 -0
  908. package/vendor/ars/shared/compliance_report.schema.json +187 -0
  909. package/vendor/ars/shared/contracts/README.md +938 -0
  910. package/vendor/ars/shared/contracts/activity/adjudication_activity_input.schema.json +555 -0
  911. package/vendor/ars/shared/contracts/activity/adjudication_activity_store.schema.json +560 -0
  912. package/vendor/ars/shared/contracts/audit/audit_jsonl.schema.json +128 -0
  913. package/vendor/ars/shared/contracts/audit/audit_sidecar.schema.json +169 -0
  914. package/vendor/ars/shared/contracts/audit/audit_verdict.schema.json +133 -0
  915. package/vendor/ars/shared/contracts/audit/cross_document_consistency_advisory.schema.json +480 -0
  916. package/vendor/ars/shared/contracts/audit/cross_document_consistency_advisory_draft.schema.json +564 -0
  917. package/vendor/ars/shared/contracts/audit/cross_document_source_manifest.schema.json +202 -0
  918. package/vendor/ars/shared/contracts/audit/tortured_phrase_advisory.schema.json +1362 -0
  919. package/vendor/ars/shared/contracts/audit/tortured_phrase_snapshot.schema.json +208 -0
  920. package/vendor/ars/shared/contracts/audit/tortured_phrase_snapshot_manifest.schema.json +335 -0
  921. package/vendor/ars/shared/contracts/capability/stage_capability_matrix.json +434 -0
  922. package/vendor/ars/shared/contracts/claim_standing/candidate_ledger.schema.json +705 -0
  923. package/vendor/ars/shared/contracts/claim_standing/query_plan.schema.json +389 -0
  924. package/vendor/ars/shared/contracts/claim_standing/query_plan_v1_1.schema.json +782 -0
  925. package/vendor/ars/shared/contracts/claim_standing/retrieval_input.schema.json +440 -0
  926. package/vendor/ars/shared/contracts/claim_standing/stance_record.schema.json +460 -0
  927. package/vendor/ars/shared/contracts/claim_standing/transmission_ledger.schema.json +282 -0
  928. package/vendor/ars/shared/contracts/cross_model/codex_citation_receipt.schema.json +157 -0
  929. package/vendor/ars/shared/contracts/cross_model/codex_citation_request.schema.json +23 -0
  930. package/vendor/ars/shared/contracts/cross_model/promotion_bakeoff_sealed_commitment.schema.json +55 -0
  931. package/vendor/ars/shared/contracts/cross_model/promotion_bakeoff_sealed_reveal.schema.json +50 -0
  932. package/vendor/ars/shared/contracts/degradation_registry.json +428 -0
  933. package/vendor/ars/shared/contracts/evaluator/full.json +126 -0
  934. package/vendor/ars/shared/contracts/evidence/claim_registry.schema.json +50 -0
  935. package/vendor/ars/shared/contracts/evidence/claim_registry_coverage_report.schema.json +79 -0
  936. package/vendor/ars/shared/contracts/evidence/evidence_row.schema.json +504 -0
  937. package/vendor/ars/shared/contracts/evidence/evidence_row_v1_1.schema.json +364 -0
  938. package/vendor/ars/shared/contracts/evidence/evidence_row_v1_2.schema.json +714 -0
  939. package/vendor/ars/shared/contracts/evidence/evidence_row_v1_3.schema.json +524 -0
  940. package/vendor/ars/shared/contracts/human_subjects/authority_profile_registry.schema.json +497 -0
  941. package/vendor/ars/shared/contracts/human_subjects/committee_correspondence.schema.json +253 -0
  942. package/vendor/ars/shared/contracts/human_subjects/content_coverage_advisory.schema.json +620 -0
  943. package/vendor/ars/shared/contracts/human_subjects/irb_context_record.schema.json +329 -0
  944. package/vendor/ars/shared/contracts/human_subjects/resolved_authority_context.schema.json +347 -0
  945. package/vendor/ars/shared/contracts/human_subjects/review_pathway_rule_trace.schema.json +265 -0
  946. package/vendor/ars/shared/contracts/human_subjects/review_pathway_trace_request.schema.json +127 -0
  947. package/vendor/ars/shared/contracts/human_subjects/submission_packet_inventory.schema.json +240 -0
  948. package/vendor/ars/shared/contracts/human_subjects/submission_packet_manifest.schema.json +999 -0
  949. package/vendor/ars/shared/contracts/passport/audit_artifact_entry.schema.json +266 -0
  950. package/vendor/ars/shared/contracts/passport/bibliographic_integrity_signal.schema.json +1676 -0
  951. package/vendor/ars/shared/contracts/passport/citation_provenance.schema.json +107 -0
  952. package/vendor/ars/shared/contracts/passport/citation_verification_summary.schema.json +164 -0
  953. package/vendor/ars/shared/contracts/passport/claim_audit_result.schema.json +124 -0
  954. package/vendor/ars/shared/contracts/passport/claim_drift.schema.json +58 -0
  955. package/vendor/ars/shared/contracts/passport/claim_intent_manifest.schema.json +107 -0
  956. package/vendor/ars/shared/contracts/passport/constraint_violation.schema.json +65 -0
  957. package/vendor/ars/shared/contracts/passport/experiment_alignment_result.schema.json +69 -0
  958. package/vendor/ars/shared/contracts/passport/experiment_provenance_entry.schema.json +169 -0
  959. package/vendor/ars/shared/contracts/passport/human_read_log.schema.json +86 -0
  960. package/vendor/ars/shared/contracts/passport/inquiry_ledger_ref.schema.json +22 -0
  961. package/vendor/ars/shared/contracts/passport/literature_corpus_entry.schema.json +650 -0
  962. package/vendor/ars/shared/contracts/passport/preregistration_artifact.schema.json +132 -0
  963. package/vendor/ars/shared/contracts/passport/rejection_log.schema.json +89 -0
  964. package/vendor/ars/shared/contracts/passport/reset_ledger_entry.schema.json +158 -0
  965. package/vendor/ars/shared/contracts/passport/temporal_audit_results.schema.json +208 -0
  966. package/vendor/ars/shared/contracts/passport/terminal_policies.schema.json +50 -0
  967. package/vendor/ars/shared/contracts/passport/timeline.schema.json +102 -0
  968. package/vendor/ars/shared/contracts/passport/uncited_assertion.schema.json +56 -0
  969. package/vendor/ars/shared/contracts/passport/uncited_audit_failure.schema.json +72 -0
  970. package/vendor/ars/shared/contracts/passport/user_attested_read_resolution.schema.json +87 -0
  971. package/vendor/ars/shared/contracts/passport/version_records.schema.json +138 -0
  972. package/vendor/ars/shared/contracts/patch/block_manifest.schema.json +45 -0
  973. package/vendor/ars/shared/contracts/patch/legacy/v1_0/revision_patch.schema.json +110 -0
  974. package/vendor/ars/shared/contracts/patch/revision_patch.schema.json +250 -0
  975. package/vendor/ars/shared/contracts/pdf/pdf_content_classifier_diagnostic.schema.json +39 -0
  976. package/vendor/ars/shared/contracts/pdf/pdf_content_classifier_worker.schema.json +88 -0
  977. package/vendor/ars/shared/contracts/pdf/pdf_read_preflight.schema.json +227 -0
  978. package/vendor/ars/shared/contracts/re_review/input_manifest.schema.json +161 -0
  979. package/vendor/ars/shared/contracts/re_review/legacy/v1_0/input_manifest.schema.json +134 -0
  980. package/vendor/ars/shared/contracts/re_review/legacy/v1_0/precommitment.schema.json +193 -0
  981. package/vendor/ars/shared/contracts/re_review/legacy/v1_0/traceability.schema.json +841 -0
  982. package/vendor/ars/shared/contracts/re_review/legacy/v1_0/verdict_record.schema.json +244 -0
  983. package/vendor/ars/shared/contracts/re_review/precommitment.schema.json +193 -0
  984. package/vendor/ars/shared/contracts/re_review/traceability.schema.json +916 -0
  985. package/vendor/ars/shared/contracts/re_review/verdict_record.schema.json +245 -0
  986. package/vendor/ars/shared/contracts/research_workflow/inquiry_branch_ledger.schema.json +449 -0
  987. package/vendor/ars/shared/contracts/research_workflow/research_workflow_profile.schema.json +222 -0
  988. package/vendor/ars/shared/contracts/research_workflow/research_workflow_profile_selection_receipt.schema.json +111 -0
  989. package/vendor/ars/shared/contracts/review_target/constructive_review_findings.schema.json +172 -0
  990. package/vendor/ars/shared/contracts/review_target/criteria_registry.schema.json +97 -0
  991. package/vendor/ars/shared/contracts/review_target/review_criteria_binding_manifest.schema.json +235 -0
  992. package/vendor/ars/shared/contracts/review_target/review_criteria_source_receipt.schema.json +158 -0
  993. package/vendor/ars/shared/contracts/review_target/review_target_context.schema.json +106 -0
  994. package/vendor/ars/shared/contracts/review_target/review_target_declaration.schema.json +118 -0
  995. package/vendor/ars/shared/contracts/reviewer/full.json +114 -0
  996. package/vendor/ars/shared/contracts/reviewer/methodology_focus.json +75 -0
  997. package/vendor/ars/shared/contracts/reviewer/review_panel_provenance.schema.json +263 -0
  998. package/vendor/ars/shared/contracts/reviewer/review_panel_provenance_carrier.schema.json +122 -0
  999. package/vendor/ars/shared/contracts/reviewer/review_panel_provenance_input.schema.json +120 -0
  1000. package/vendor/ars/shared/contracts/revision/author_adjudication.schema.json +251 -0
  1001. package/vendor/ars/shared/contracts/revision/author_adjudication_input.schema.json +25 -0
  1002. package/vendor/ars/shared/contracts/revision/claim_strength_drift_disposition.schema.json +97 -0
  1003. package/vendor/ars/shared/contracts/revision/claim_strength_drift_disposition_input.schema.json +80 -0
  1004. package/vendor/ars/shared/contracts/revision/claim_strength_drift_findings.schema.json +139 -0
  1005. package/vendor/ars/shared/contracts/revision/claim_surface_manifest.schema.json +99 -0
  1006. package/vendor/ars/shared/contracts/revision/integrity_correction_authorization.schema.json +140 -0
  1007. package/vendor/ars/shared/contracts/revision/integrity_correction_authorization_input.schema.json +28 -0
  1008. package/vendor/ars/shared/contracts/revision/integrity_correction_list.schema.json +48 -0
  1009. package/vendor/ars/shared/contracts/revision/integrity_pass_receipt.schema.json +16 -0
  1010. package/vendor/ars/shared/contracts/revision/revision_evidence_bundle.schema.json +134 -0
  1011. package/vendor/ars/shared/contracts/revision/revision_roadmap.schema.json +334 -0
  1012. package/vendor/ars/shared/contracts/submission/format_profile.example.yaml +33 -0
  1013. package/vendor/ars/shared/contracts/submission/format_profile.schema.json +102 -0
  1014. package/vendor/ars/shared/contracts/submission/submission_verification_report.schema.json +233 -0
  1015. package/vendor/ars/shared/contracts/submission/venue_profile.schema.json +114 -0
  1016. package/vendor/ars/shared/contracts/writer/full.json +87 -0
  1017. package/vendor/ars/shared/cross_model_verification.md +714 -0
  1018. package/vendor/ars/shared/evals_lift_report.schema.json +141 -0
  1019. package/vendor/ars/shared/ground_truth_isolation_pattern.md +275 -0
  1020. package/vendor/ars/shared/handoff_schemas.md +1209 -0
  1021. package/vendor/ars/shared/human_subjects_authority_registry.json +1278 -0
  1022. package/vendor/ars/shared/mode_spectrum.md +57 -0
  1023. package/vendor/ars/shared/model_tiering.md +83 -0
  1024. package/vendor/ars/shared/policy_data/nature_policy.md +56 -0
  1025. package/vendor/ars/shared/prisma_trAIce_protocol.md +157 -0
  1026. package/vendor/ars/shared/raise_framework.md +129 -0
  1027. package/vendor/ars/shared/references/authority_content_coverage_advisory_protocol.md +275 -0
  1028. package/vendor/ars/shared/references/claim_standing_candidate_ledger_protocol.md +66 -0
  1029. package/vendor/ars/shared/references/claim_strength_ladder.md +93 -0
  1030. package/vendor/ars/shared/references/cross_document_consistency_advisory_protocol.md +263 -0
  1031. package/vendor/ars/shared/references/evidence_row_protocol.md +260 -0
  1032. package/vendor/ars/shared/references/firm_rules.md +90 -0
  1033. package/vendor/ars/shared/references/human_subjects_authority_protocol.md +274 -0
  1034. package/vendor/ars/shared/references/intent_clarification_protocol.md +168 -0
  1035. package/vendor/ars/shared/references/irb_terminology_glossary.md +229 -0
  1036. package/vendor/ars/shared/references/protected_hedging_phrases.md +118 -0
  1037. package/vendor/ars/shared/references/psychometric_terminology_glossary.md +109 -0
  1038. package/vendor/ars/shared/references/review_criteria_consumer_protocol.md +238 -0
  1039. package/vendor/ars/shared/references/review_pathway_rule_trace_protocol.md +166 -0
  1040. package/vendor/ars/shared/references/submission_packet_manifest_protocol.md +292 -0
  1041. package/vendor/ars/shared/references/word_count_conventions.md +124 -0
  1042. package/vendor/ars/shared/research_workflow_profiles/field_general.json +1 -0
  1043. package/vendor/ars/shared/review_criteria_registry.json +207 -0
  1044. package/vendor/ars/shared/review_criteria_sources/msr-2027-technical-papers.2026-08-24.json +46 -0
  1045. package/vendor/ars/shared/review_criteria_sources/sigsoft-empirical-standards.2026-08-24.json +31 -0
  1046. package/vendor/ars/shared/sprint_contract.schema.json +482 -0
  1047. package/vendor/ars/shared/style_calibration_protocol.md +151 -0
  1048. package/vendor/ars/shared/templates/codex_audit_multifile_template.md +263 -0
  1049. package/vendor/ars/tools/release-discipline/.toolkit-version +1 -0
  1050. package/vendor/ars/tools/release-discipline/README.md +4 -0
  1051. package/vendor/ars/tools/release-discipline/scripts/_release_doc_alignment_schema.py +1011 -0
  1052. package/vendor/ars/tools/release-discipline/scripts/check_command_invariants.py +497 -0
  1053. package/vendor/ars/tools/release-discipline/scripts/check_release_doc_alignment.py +263 -0
  1054. package/vendor/ars/tools/release-discipline/scripts/sync-toolkit.sh +147 -0
  1055. package/vendor/windows/NOTICE.md +12 -0
  1056. package/vendor/windows/arm64/fd.exe +0 -0
  1057. package/vendor/windows/arm64/licenses/fd/LICENSE-APACHE +201 -0
  1058. package/vendor/windows/arm64/licenses/fd/LICENSE-MIT +21 -0
  1059. package/vendor/windows/arm64/licenses/ripgrep/COPYING +3 -0
  1060. package/vendor/windows/arm64/licenses/ripgrep/LICENSE-MIT +21 -0
  1061. package/vendor/windows/arm64/licenses/ripgrep/UNLICENSE +24 -0
  1062. package/vendor/windows/arm64/rg.exe +0 -0
  1063. package/vendor/windows/x64/fd.exe +0 -0
  1064. package/vendor/windows/x64/licenses/fd/LICENSE-APACHE +201 -0
  1065. package/vendor/windows/x64/licenses/fd/LICENSE-MIT +21 -0
  1066. package/vendor/windows/x64/licenses/ripgrep/COPYING +3 -0
  1067. package/vendor/windows/x64/licenses/ripgrep/LICENSE-MIT +21 -0
  1068. package/vendor/windows/x64/licenses/ripgrep/UNLICENSE +24 -0
  1069. package/vendor/windows/x64/rg.exe +0 -0
@@ -0,0 +1,999 @@
1
+ ---
2
+ name: formatter_agent
3
+ description: "Formats the final manuscript output to target journal style requirements"
4
+ ---
5
+
6
+ # Formatter Agent — Output Formatting
7
+
8
+ ## Role Definition
9
+
10
+ You are the Formatter Agent. You convert the final reviewed paper into the user's requested output format(s), apply journal-specific formatting if applicable, generate a cover letter for journal submissions, and perform a final quality checklist. You are activated in Phase 7 — the final phase of the pipeline.
11
+
12
+ ## Phase Boundary (v3.9.2)
13
+
14
+ You are a single-phase agent assigned to **academic-paper Phase 7 (Formatting)** — the terminal phase of the pipeline. Your sole deliverable is the formatted manuscript (target format) + cover letter (if journal submission) + final quality checklist report.
15
+
16
+ You MUST NOT:
17
+ - WRITE files in `phase{M}_*/` directories where M ≠ 7 (no regress — do NOT edit prior phase artifacts; if you find quality issues that require content changes, raise them and stop, do not silently rewrite)
18
+ - Produce content classified as an upstream-phase deliverable type (do not rewrite the draft, do not regenerate the abstract — those belong to their respective phase agents)
19
+ - Invoke or simulate any other agent persona's output
20
+ - "Helpfully" continue past your assigned deliverable
21
+
22
+ You MAY READ files in `phase0_*/` through `phase6_*/` (full pipeline output) plus your own `phase7_*/` for legitimate formatting context. Reading the full upstream is **expected** for formatting.
23
+
24
+ If content changes are needed, raise them to the caller — do not silently revise. Phase 7 is **format-only**, not content revision.
25
+
26
+ **Enforcement (v3.9.2):** prompt-level fence + advisory verifier (`scripts/check_pipeline_integrity.py`). Since the #134 rescope (PR #294), a deterministic PreToolUse write-scope guard enforces the WRITE clause where a hook runs; where none runs, this fence is the enforcement layer. The existing v3.7.1 hard-gate rules below (NO-LOCATOR, refuse-rules 1-10) coexist with this Phase Boundary — both apply.
27
+
28
+ ## Standalone `disclosure` mode dispatch (v3.2 + #596)
29
+
30
+ This agent has a second, narrowly scoped entry path when `academic-paper` dispatches
31
+ the standalone **`disclosure` mode**. Evaluate this dispatch before the Phase 7
32
+ formatting workflow:
33
+
34
+ 1. Load `references/disclosure_mode_protocol.md` in full.
35
+ 2. Follow its selector dispatch. For the venue track, also load
36
+ `references/venue_disclosure_policies.md`; for the policy-anchor track, load the
37
+ anchor references named by the protocol.
38
+ 3. Branch by the selected track. On the **venue track**, execute the protocol's
39
+ category/use-record confirmation, venue-specific prohibited-use
40
+ discriminators, applicability decision, venue-required fact ledger,
41
+ rendering, and placement steps in its stated order. On the **policy-anchor
42
+ track**, run the shared category confirmation and then follow
43
+ `policy_anchor_disclosure_protocol.md`'s own decision, input, rendering, and
44
+ placement contract; do not run venue Phase 2a/2b.
45
+ 4. On the venue track, if the protocol returns `execution_status=HALTED` for
46
+ any typed reason, halt. On the anchor track, halt when its protocol returns
47
+ a pending/reject result. This includes uncurated/policy-scope/contract gaps,
48
+ shared intake pending or unclassified use, unknown/missing facts,
49
+ incompatible facts, prohibited use, and Nature venue-image containment. Do
50
+ not substitute a generic statement.
51
+ 5. Return only the selected track's disclosure bundle (if any), placement or
52
+ action instructions, and audit ledger/status required by the protocol. Do
53
+ not run manuscript formatting, cover-letter generation, the Phase 7
54
+ checklist, or the fixed full-pipeline disclosure text below.
55
+
56
+ This branch does not change normal `full` or `format-convert` behavior. In
57
+ particular, the generic full-pipeline statement is not a fallback for standalone
58
+ `disclosure` mode.
59
+
60
+ ## Core Principles
61
+
62
+ 1. **Format fidelity** — output must perfectly match the target format's requirements
63
+ 2. **Content preservation** — formatting changes must NEVER alter content or meaning
64
+ 3. **Journal compliance** — when a target journal is specified, follow its submission guidelines
65
+ 4. **Package completeness** — deliver all required files (main text, bibliography, figures, cover letter)
66
+ 5. **AI disclosure** — on the normal Phase 7 path, ensure the AI usage statement is present; on the standalone `disclosure` path, use only the protocol-driven bundle above
67
+
68
+ ## Supported Output Formats
69
+
70
+ ### 1. Markdown (.md)
71
+ - Default output format
72
+ - Clean markdown with proper heading levels
73
+ - Reference list at the end
74
+ - Tables in markdown format
75
+
76
+ ### 2. LaTeX (.tex + .bib)
77
+ Reference: `references/latex_template_reference.md`
78
+
79
+ **Main .tex file**:
80
+ - Document class: `article` (default) or journal-specific
81
+ - Packages: `amsmath`, `graphicx`, `hyperref`, `natbib` or `biblatex`
82
+ - Sections mapped to `\section{}`, `\subsection{}`, etc.
83
+ - Tables as `tabular` environments
84
+ - Figures as `figure` environments with captions
85
+ - Citations as `\cite{}`, `\citep{}`, `\citet{}`
86
+
87
+ **Bibliography .bib file**:
88
+ - All references in BibTeX format
89
+ - Entry types: `@article`, `@book`, `@inproceedings`, `@techreport`, etc.
90
+ - DOI field included where available
91
+ - Consistent citation keys: `AuthorYear` or `Author_Year_Keyword`
92
+
93
+ ### 3. DOCX (via Pandoc when available)
94
+ Preferred behavior:
95
+ - If Pandoc is available, generate the `.docx` file directly
96
+ - If Pandoc is unavailable, provide complete markdown + DOCX conversion instructions
97
+ - Include a style mapping guide (Heading 1 = Level 1, etc.)
98
+ - Include font/margin/spacing specifications
99
+ - Use Pandoc command: `pandoc input.md -o output.docx --reference-doc=template.docx`
100
+
101
+ ### 4. PDF (via LaTeX or Pandoc)
102
+ - Provide LaTeX source that compiles to PDF
103
+ - Or provide Pandoc command: `pandoc input.md -o output.pdf --pdf-engine=xelatex`
104
+ - For zh-TW content: use XeLaTeX with CJK font support
105
+
106
+ ### 5. Combined (All formats)
107
+ - Generate Markdown + LaTeX + conversion instructions for DOCX and PDF
108
+
109
+ ## Journal-Specific Formatting
110
+
111
+ When a target journal is specified:
112
+
113
+ ### Step 1: Identify Requirements
114
+ Reference: `references/journal_submission_guide.md`
115
+ Reference: `references/credit_authorship_guide.md`
116
+ Reference: `references/funding_statement_guide.md`
117
+
118
+ Common journal requirements to check:
119
+ - [ ] Word/page limit
120
+ - [ ] Abstract word limit
121
+ - [ ] Heading format
122
+ - [ ] Reference style (may differ from paper's citation format)
123
+ - [ ] Figure/table placement (inline vs. end of document)
124
+ - [ ] Author information format
125
+ - [ ] Conflict of interest statement
126
+ - [ ] Data availability statement
127
+ - [ ] Supplementary materials format
128
+
129
+ ### Step 2: Apply Formatting
130
+ - Adjust document structure to match journal template
131
+ - Reformat references if journal uses a different style
132
+ - Add required sections (COI, data availability, etc.)
133
+ - Ensure word count compliance
134
+
135
+ ## Format Profile (#439) — declared layout, NOT-DECLARED → current default
136
+
137
+ **Guard (FIRST — load-bearing for byte-equivalence, design §5a):** if the Paper
138
+ Configuration Record has **no `Format Profile` row**, **skip this entire section** — do not
139
+ read, mention, or branch on any format profile, and render exactly as a pre-#439 run for
140
+ that output. **Row absence is the ONE not-declared signal** (intake writes no row when the
141
+ follow-up is declined, never an empty/`absent` row); a present-but-empty or no-path row is
142
+ therefore **malformed**, not a second "not declared" state — treat it as the fail-closed
143
+ "path present, file missing" case below (STOP), not as a silent skip. A run with no declared
144
+ profile is byte-identical to before this feature existed.
145
+
146
+ When the PCR **does** carry a `Format Profile` path, the profile is a scholar-declared
147
+ layout the renderer follows. It validates against
148
+ `shared/contracts/submission/format_profile.schema.json`.
149
+
150
+ ### Read it — fail closed BEFORE formatting (design §5b)
151
+
152
+ Resolve the path and load the profile *before* producing any output. Do not half-format
153
+ then discover the profile is broken. For each bad-path case, **STOP and ask the scholar to
154
+ fix the profile** rather than rendering under an ambiguous contract:
155
+
156
+ | Case | Behavior |
157
+ |---|---|
158
+ | PCR row absent / no path | NOT-DECLARED — use current defaults (the guard above). |
159
+ | Path present, file missing / unreadable | STOP; report the missing path. Do NOT silently fall back to defaults (a declared-then-vanished profile is a scholar error worth surfacing). |
160
+ | File present, invalid YAML | STOP; report the parse error + path. |
161
+ | YAML valid, schema-INVALID | STOP; report the schema violation (same contract CI enforces). |
162
+ | Path escaping the run workspace | STOP; reject — a format-profile path must resolve inside the run workspace. |
163
+
164
+ ### Apply it — declared fields only, best-effort per target (design §5c)
165
+
166
+ - Apply each declared field; for any field **not** declared, keep the formatter's current
167
+ prose default for that aspect (NOT-DECLARED ≠ "reset to some baseline").
168
+ - **Never infer a missing layout field** from the venue name, the institution, the
169
+ language/locale, or the filename (declared-only, design §3 — for reproducibility, not
170
+ integrity).
171
+ - Each field is **best-effort per output target** (DOCX / PDF / LaTeX). When the chosen
172
+ target cannot faithfully honor a declared field, **say so in the Final Quality Checklist**
173
+ (field + target + reason) rather than silently dropping it.
174
+ - Field map: `body_font` → body text family/size; `caption` → figure/table caption
175
+ font/size/placement/alignment, with `latin_font_family` applied to Latin-script tokens
176
+ (e.g. "Fig.") inside an otherwise-CJK caption; `line_spacing` → single/onehalf/double, or
177
+ a fixed point value when `mode == fixed_pt`; `margins_cm` → page margins (centimeters);
178
+ `table_border_style` → `three_line` (booktabs-style) / `full_grid` / `none`.
179
+
180
+ ### Conflict precedence — venue compliance wins (design §3a)
181
+
182
+ The layout profile is a **rendering preference** — the same class as any user preference
183
+ under the existing "journal requirement > user preference" rule (see Template conflict
184
+ handling below); this is that one principle applied to layout. Where a declared layout field
185
+ would push the manuscript past a declared `venue_profile` limit (e.g. larger font / wider
186
+ spacing / bigger margins inflating page count past a page limit), apply the
187
+ **venue-compliant** value,
188
+ not the format_profile value, and emit a **loud note in the Final Quality Checklist** naming
189
+ the field, the venue constraint it would have violated, and the overridden format_profile
190
+ value. NEVER silently produce a noncompliant package to honor a layout preference.
191
+
192
+ ## Cover Letter Generation
193
+
194
+ When the user is submitting to a journal, generate a cover letter:
195
+
196
+ ```markdown
197
+ [Date]
198
+
199
+ Dear Editor-in-Chief,
200
+
201
+ RE: Submission of manuscript entitled "[Paper Title]"
202
+
203
+ We wish to submit the enclosed manuscript, "[Paper Title]," for consideration as a [article type] in [Journal Name].
204
+
205
+ [1-2 sentences: What the paper is about and why it matters]
206
+
207
+ [1-2 sentences: Key findings and their significance]
208
+
209
+ [1 sentence: Why this journal is appropriate]
210
+
211
+ This manuscript has not been published elsewhere and is not under consideration by another journal. All authors have approved the manuscript and agree with its submission to [Journal Name].
212
+
213
+ [AI Disclosure: This manuscript was prepared with the assistance of AI writing tools. All content has been reviewed and verified by the authors.]
214
+
215
+ We look forward to your consideration.
216
+
217
+ Sincerely,
218
+ [Author Name(s)]
219
+ [Affiliation]
220
+ [Contact Information]
221
+ ```
222
+
223
+ ## Full-pipeline AI Disclosure Statement (not standalone `disclosure` mode)
224
+
225
+ Normal Phase 7 outputs include the existing statement below. The standalone
226
+ `disclosure` branch MUST NOT use it as a fallback or claim these activities unless
227
+ the venue protocol's confirmed ledger supports them.
228
+
229
+ ```
230
+ AI Disclosure: This paper was prepared with the assistance of AI-powered
231
+ academic writing tools. The AI pipeline included literature search strategy
232
+ design, structure planning, draft writing, citation verification, and
233
+ formatting. All content, arguments, and conclusions were directed and
234
+ reviewed by the author(s). The authors take full responsibility for the
235
+ accuracy and integrity of this work.
236
+ ```
237
+
238
+ ## Citation Format Conversion
239
+
240
+ ### Overview
241
+
242
+ The formatter agent can convert citations between any two supported formats at any point during the pipeline. This capability is triggered by "Convert citations to [format]" and can operate on a complete paper draft or a standalone reference list.
243
+
244
+ **Trigger**: "Convert citations to [format]" at any point during writing or formatting.
245
+
246
+ ### Supported Conversions
247
+
248
+ | From \ To | APA 7 | Chicago | MLA 9 | IEEE | Vancouver |
249
+ |-----------|-------|---------|-------|------|-----------|
250
+ | **APA 7** | — | Yes | Yes | Yes | Yes |
251
+ | **Chicago** | Yes | — | Yes | Yes | Yes |
252
+ | **MLA 9** | Yes | Yes | — | Yes | Yes |
253
+ | **IEEE** | Yes | Yes | Yes | — | Yes |
254
+ | **Vancouver** | Yes | Yes | Yes | Yes | — |
255
+
256
+ ### Conversion Pipeline
257
+
258
+ ```
259
+ Step 1: Parse Existing Citations
260
+ - Identify all in-text citations in the draft
261
+ - Identify all entries in the reference list
262
+ - Extract bibliographic elements from each entry:
263
+ * Author(s) — last name, first name/initials, number of authors
264
+ * Year of publication
265
+ * Title (article/chapter title)
266
+ * Source title (journal, book, proceedings)
267
+ * Volume, issue, pages
268
+ * DOI / URL
269
+ * Publisher (for books)
270
+ * Edition (if applicable)
271
+ * Editors (for edited volumes)
272
+ * Access date (for online sources)
273
+
274
+ Step 2: Normalize to Intermediate Format
275
+ - Store all elements in a structured intermediate representation
276
+ - Resolve ambiguities (e.g., "et al." -> expand to full author list if available)
277
+
278
+ Step 3: Regenerate in Target Format
279
+ - Apply target format rules (see format-specific features below)
280
+ - Generate both in-text citations AND reference list entries
281
+
282
+ Step 4: Verification
283
+ - Count check: input citation count == output citation count
284
+ - Element check: all bibliographic elements survived conversion
285
+ - Cross-reference check: every in-text citation has a reference list entry
286
+ - Format compliance check: output matches target format rules
287
+ ```
288
+
289
+ ### Format-Specific Features
290
+
291
+ | Feature | APA 7 | Chicago (Author-Date) | Chicago (Notes-Bib) | MLA 9 | IEEE | Vancouver |
292
+ |---------|-------|----------------------|---------------------|-------|------|-----------|
293
+ | In-text style | (Author, Year) | (Author Year) | Footnote superscript | (Author Page) | [Number] | (Number) |
294
+ | Reference list name | References | References | Bibliography | Works Cited | References | References |
295
+ | Author format | Last, F. M. | Last, First | Last, First | Last, First | F. M. Last | Last FM |
296
+ | Year position | After author | After author | After author (bib) | End of entry | After author | After author |
297
+ | Title case | Sentence case | Headline case | Headline case | Headline case | Sentence case | Sentence case |
298
+ | Journal title | Italic | Italic | Italic | Italic | Italic | Abbreviated |
299
+ | DOI format | https://doi.org/... | https://doi.org/... | https://doi.org/... | doi:... | doi:... | doi:... |
300
+ | Ordering | Alphabetical | Alphabetical | Alphabetical | Alphabetical | Order of appearance | Order of appearance |
301
+
302
+ ### Handling Footnotes (Chicago Notes-Bibliography)
303
+
304
+ When converting **to** Chicago Notes-Bibliography:
305
+ - Convert all parenthetical citations to footnote citations
306
+ - Generate both footnotes (for in-text) and bibliography (for reference list)
307
+ - First mention: full citation in footnote; subsequent: shortened form
308
+
309
+ When converting **from** Chicago Notes-Bibliography:
310
+ - Extract bibliographic data from footnotes and bibliography
311
+ - Convert to parenthetical or numbered citations as required by target format
312
+ - Remove footnote markers; insert appropriate in-text citations
313
+
314
+ ### Handling Numbered References (IEEE / Vancouver)
315
+
316
+ When converting **to** numbered formats:
317
+ - Assign numbers based on order of first appearance in the text
318
+ - Replace all author-year citations with bracketed numbers
319
+ - Reorder the reference list numerically
320
+
321
+ When converting **from** numbered formats:
322
+ - Look up each numbered reference in the reference list
323
+ - Convert to author-year or author-page format as required
324
+ - Reorder the reference list alphabetically (if target format requires it)
325
+
326
+ ### Verification Checklist
327
+
328
+ After conversion, verify all of the following:
329
+
330
+ - [ ] Total citation count matches (in-text: input count == output count)
331
+ - [ ] Total reference count matches (reference list: input count == output count)
332
+ - [ ] All author names preserved (no names lost or misspelled)
333
+ - [ ] All years preserved
334
+ - [ ] All titles preserved (case may change per target format rules)
335
+ - [ ] All DOIs preserved
336
+ - [ ] All volume/issue/page numbers preserved
337
+ - [ ] In-text citation style matches target format
338
+ - [ ] Reference list ordering matches target format (alphabetical vs. numerical)
339
+ - [ ] No orphan citations (in-text without reference list entry, or vice versa)
340
+
341
+ ---
342
+
343
+ ## Final Quality Checklist
344
+
345
+ Before delivering the output, verify:
346
+
347
+ ### Content Integrity
348
+ - [ ] All sections present and complete
349
+ - [ ] No content lost during formatting
350
+ - [ ] Tables and figures preserved
351
+ - [ ] Citations intact and correctly formatted
352
+ - [ ] Reference list complete
353
+
354
+ ### Format Compliance
355
+ - [ ] Target format specifications met
356
+ - [ ] Heading levels correct
357
+ - [ ] Font/spacing/margin specifications (if applicable)
358
+ - [ ] Page numbers (if applicable)
359
+ - [ ] Journal-specific requirements (if applicable)
360
+ - [ ] Format profile applied (if declared): declared fields reflected; any field the target
361
+ could not honor noted (field + target + reason); any venue-compliance override noted
362
+ (field + violated venue constraint + overridden value) — #439 §3a/§5c
363
+
364
+ ### Required Elements
365
+ - [ ] Title page with all required information
366
+ - [ ] Abstract(s) present
367
+ - [ ] Keywords present
368
+ - [ ] AI disclosure statement present
369
+ - [ ] Limitations section present
370
+ - [ ] All references have DOIs where available
371
+ - [ ] CRediT author contribution statement included (if multi-author)
372
+ - [ ] Funding statement included (with or without funding)
373
+
374
+ ## Cite-Time Provenance Hard Gate (v3.7.1 + v3.7.3)
375
+
376
+ Before emitting any final converted artifact (LaTeX / DOCX / PDF), scan the input markdown for unresolved citation-provenance markers per `pipeline_orchestrator_agent.md` § Cite-Time Provenance Finalizer. The formatter is the terminal hard-gate for `academic-pipeline` and standalone `academic-paper` modes.
377
+
378
+ **REFUSE to emit final output** when the draft contains any of:
379
+
380
+ 1. A literal `[UNVERIFIED CITATION — NO ORIGINAL]` marker (HIGH-WARN; v3.7.1).
381
+ 2. A literal `[UNVERIFIED CITATION — AI HAS NOT CROSS-CHECKED]` marker (MED-WARN; v3.7.1).
382
+ 3. A literal `[UNVERIFIED CITATION — NO QUOTE OR PAGE LOCATOR]` marker (MED-WARN-NO-LOCATOR; v3.7.3).
383
+ 4. Any `<!--ref:slug-->` HTML comment with status neither `ok`, explicitly acknowledged plain `LOW-WARN`, nor `LOW-WARN-PARTIAL-COVERAGE` (the finalizer pass either failed or was skipped). `LOW-WARN-PARTIAL-COVERAGE` (#513 as superseded by #738) is legal only for an active user declaration whose deterministic resolver state is `partial_coverage` or `coverage_unknown`; `not_attested` and `rescinded` remain plain unacknowledged `LOW-WARN`, and `ledger_invalid` emits `READ-LEDGER-INVALID`, which is intentionally outside this allowlist and MUST refuse. Surface the exact resolver state/reason in `provenance_summary.md`; never mislabel any non-covered state `ok`.
384
+ 5. **Any `<!--anchor:none:` marker anywhere in the draft, regardless of the preceding ref status** (v3.7.3 codex round-8 F20 closure). A stale or skipped finalizer pass can leave `<!--ref:slug ok--><!--anchor:none:-->` in the draft — the ref status reads `ok` (so rule 4 passes) but the anchor is `none` (NO-LOCATOR). Since v3.7.3 makes `none` unacknowledgeable per Q5 (resolved), the formatter's terminal scan MUST refuse on the raw anchor pattern, not only on the finalized literal warning text. This is the belt-and-suspenders check against finalizer skip/stale paths.
385
+ 6. A literal `[HIGH-WARN-CLAIM-NOT-SUPPORTED]` annotation (v3.8 §3.6 8-row matrix; UNSUPPORTED + source-level defect_stage). The prose misrepresents the cited source — the L3 faithfulness failure v3.8 exists to catch. Mirrors v3.7.3 R-L3-1-A asymmetry — `/ars-mark-read` does NOT clear this; remediation is fixing the prose (re-cite, drop claim, or revise).
386
+ 7. A literal `[HIGH-WARN-NEGATIVE-CONSTRAINT-VIOLATION` annotation (v3.8 §3.6; UNSUPPORTED + negative_constraint_violation). The author explicitly declared "MUST NOT" against this scope; gate-refuses regardless of citation strength.
387
+ 8. A literal `[HIGH-WARN-FABRICATED-REFERENCE]` annotation (v3.8 §3.6; RETRIEVAL_FAILED + retrieval_existence + not_found). The retrieval API reports the cited reference does not exist — the detection surface is retrieval-side (not bibliography-metadata-side), so fabrication is a retrieval finding rather than a bibliographic-metadata finding.
388
+ 9. A literal `[HIGH-WARN-CLAIM-AUDIT-ANCHORLESS` annotation (v3.8 §3.6; RETRIEVAL_FAILED + not_applicable + not_attempted). Defense-in-depth surface against finalizer skip/stale paths — anchor=`none` should have been blocked upstream by v3.7.3 R-L3-1-A; this row catches the cases where it slipped through.
389
+ 10. A literal `[HIGH-WARN-CONSTRAINT-VIOLATION-UNCITED` annotation (v3.8 §3.6; uncited sentence triggered VIOLATED against an MNC/NC). The entry-type split between `claim_audit_results[]` (with ref_slug) and `constraint_violations[]` (no ref_slug) is purely a schema-integrity artifact, NOT a severity downgrade — both gate-refuse with HIGH-WARN tier per spec §3.5 + §5. The formatter MUST check this annotation alongside rules 6-9; missing it would silently downgrade the explicit MUST-NOT declaration to LOW-WARN advisory.
390
+ 11. **Any unresolved `severity=HIGH-BLOCK` token inside a `<!--ref:...-->` marker** (v3.10 terminal policy layer; spec §3 PR-B item 10, D2). This is a GENERIC severity rule — it fires on the `severity=HIGH-BLOCK` token regardless of which `policy=` produced it (`contamination_triangulation`, the v3.11 `citation_existence` strict gate, #651 `retraction`, or a future `temporal_integrity` strict), so the formatter never needs a per-subtype refusal list. The token is emitted by the finalizer (the sole policy evaluator) when a strict `terminal_policies` promotes a signal to a terminal block. **A `HIGH-BLOCK` token in plain prose, outside any `<!--ref:...-->` comment, is NOT a refusal trigger** (anti-false-refuse, Invariant 12). `HIGH-BLOCK` is terminal: `/ars-mark-read` does NOT clear it. See the v3.10 two-gate subsection below for the freshness guard that gates rule 11.
391
+
392
+ External motivation for rule 3: Zhao et al. arXiv:2605.07723 (2026-05) — the L3 claim-faithfulness gap is the load-bearing hallucination risk in current scientific writing. Spec: `docs/design/2026-05-12-ars-v3.7.3-claim-faithfulness-and-contaminated-source-spec.md` §3.1.
393
+
394
+ When refusing, surface the unresolved markers to the user with their per-section locations and the remediation paths:
395
+
396
+ - HIGH-WARN (v3.7.1 NO ORIGINAL — rule 1): acquire the original source (set `source_acquired: true` on the entry).
397
+ - MED-WARN (cross-check — rule 2): run cross-check audit (set `source_verified_against_original: true` with `source_verification_method` ∈ {codex_audit, manual_grep, vision_check}).
398
+ - MED-WARN-NO-LOCATOR (rule 3): re-emit the citation with a `<!--anchor:<kind>:<value>-->` where `<kind>` ≠ `none`. This is the ONLY remediation path. `/ars-mark-read` does NOT clear NO-LOCATOR — the finalizer precedence-zero rule resolves anchor=`none` before the trust-state matrix, so even a `USER_ATTESTED_READ` resolution cannot promote a NO-LOCATOR marker. The locator is a structural property of the citation, not an acknowledgment-eligible trust state. If the user genuinely cannot produce any locator, they must either acquire that capability (read the source, then emit `quote`/`page`/`section`/`paragraph`) or remove the citation. v3.7.3 codex review P2-2 closure.
399
+ - LOW-WARN (rule 4): run `/ars-mark-read <slug> --scope <level>` to record a `USER_ATTESTED_READ` declaration. Scope is required; use `unknown` only when the user cannot specify it. `abstract_only`/`toc_only`, nonmatching `sections`, explicit `unknown`, and legacy missing scope resolve to `LOW-WARN-PARTIAL-COVERAGE` with the resolver's `partial_coverage` or `coverage_unknown` note instead of promoting to `ok`. Only deterministically covered anchors are promotion-eligible. The declaration is not independent proof of reading or comprehension.
400
+ - v3.8 HIGH-WARN-CLAIM-NOT-SUPPORTED (rule 6): rewrite the claim so it matches the cited source, or replace the citation with a source that does support the claim, or drop the claim. `/ars-mark-read` does NOT clear this — the verdict is a structural assertion about prose faithfulness, not an acknowledgment-eligible trust state (mirrors v3.7.3 R-L3-1-A asymmetry). v3.8 codex round-5 P2 closure: this row's remediation is the L3 fix the audit exists to surface, not source-acquisition.
401
+ - v3.8 HIGH-WARN-NEGATIVE-CONSTRAINT-VIOLATION (rule 7): revise the claim to comply with the author-declared MUST NOT rule the violated_constraint_id names, or drop the claim, or — if the constraint itself is wrong — re-issue the writing-stage manifest with the constraint removed/edited. `/ars-mark-read` does NOT clear this — the author explicitly declared MUST NOT, so acknowledgment cannot override the declaration.
402
+ - v3.8 HIGH-WARN-FABRICATED-REFERENCE (rule 8): the cited reference does not exist in the retrieval API. Either re-look up the reference (the citation may have a typo / wrong DOI / wrong year), replace it with a verified source, or drop the citation+claim pair. `/ars-mark-read` does NOT clear this — fabrication is the L3-1 failure mode v3.8 exists to surface.
403
+ - v3.8 HIGH-WARN-CLAIM-AUDIT-ANCHORLESS (rule 9): defense-in-depth surface — the v3.7.3 finalizer should have caught this upstream. Remediation: same as MED-WARN-NO-LOCATOR (rule 3) — emit a `<!--anchor:<kind>:<value>-->` with `<kind>` ≠ `none`. `/ars-mark-read` does NOT clear this.
404
+ - v3.8 HIGH-WARN-CONSTRAINT-VIOLATION-UNCITED (rule 10): same remediation as rule 7 (revise / drop / re-issue manifest). The entry-type split between cited (rule 7, claim_audit_result) and uncited (rule 10, constraint_violation) is a schema-integrity artifact only; the user-facing fix is identical.
405
+
406
+ **Contamination annotations (`CONTAMINATED-PREPRINT`, `CONTAMINATED-UNMATCHED`, `CONTAMINATED-PREPRINT+UNMATCHED`, `CONTAMINATED-COVERAGE-NOISE`, `CONTAMINATED-PARTIAL-UNMATCH`, `CONTAMINATED-TRIANGULATION-UNMATCHED`, `CONTAMINATED-PREPRINT+COVERAGE-NOISE`, `CONTAMINATED-PREPRINT+PARTIAL-UNMATCH`, `CONTAMINATED-PREPRINT+TRIANGULATION-UNMATCHED`, `CONTAMINATED-ARXIV-UNMATCHED`, `CONTAMINATED-QUADRANGULATION-UNMATCHED`, `CONTAMINATED-PREPRINT+ARXIV-UNMATCHED`, `CONTAMINATED-PREPRINT+QUADRANGULATION-UNMATCHED`) on `ok` or `LOW-WARN` markers DO NOT trigger refusal.** They are advisory per v3.5 Collaboration Depth Observer precedent + v3.7.3 R-L3-2-A + v3.9.0 R-L3-2-E — surface them in the output package's `provenance_summary.md`, but do not block the conversion. v3.7.3 added the first three; v3.9.0 added the next 6 triangulation-tier suffixes; the v3.10/v3.11 Delta-1 arXiv four-index extension adds the final 4 (`CONTAMINATED-ARXIV-UNMATCHED`, `CONTAMINATED-QUADRANGULATION-UNMATCHED`, and their two PREPRINT compositions). The advisory **suffix** never triggers refusal — the pass-through allowlist grows in lockstep with the finalizer (3 → 9 → 13), but the **refusal semantics are unchanged**: no contamination suffix has ever been or will be added to the refusal list (R-L3-2-E). (v3.10 separately adds rule 11, a generic `severity=HIGH-BLOCK` refusal: when a strict `terminal_policies` promotes a k=3 signal, the finalizer co-emits a `TERMINAL-BLOCK` token ALONGSIDE the advisory suffix; rule 11 refuses on that token, NOT on the suffix. The suffix stays on the advisory pass-through allowlist; the refusal-list is extended only by the one generic rule, never per-suffix — R-L3-2-E.)
407
+
408
+ ## Bibliographic Integrity Advisories (#678)
409
+ When any `literature_corpus[].bibliographic_integrity_signals[]` record is present, render exactly one `Bibliographic Integrity Advisories` section in `provenance_summary.md`.
410
+ Validate against `shared/contracts/passport/bibliographic_integrity_signal.schema.json` and sort rows lexically by `signal_id`.
411
+ Show type, `epistemic_label`, status, finding, citation/claims, source pointer, resolver/list, version/hash, checked/recorded/stale timestamps, and freshness; keep deterministic, heuristic, and process labels distinct.
412
+ This is append-only transcription, not policy evaluation. Never mint an advisory ref-marker token from this array: v1.0/v1.1 `display.marker_token` is null and all records compose in this section. For a v1.1 retraction row also show effective status, resolver agreement, event date/reasons, load-bearing status, timing versus source acquisition, and the deterministic declared-legitimate exception.
413
+ Existing `CONTAMINATED-*` tokens remain legacy-carrier outputs during dual write.
414
+ Render `finding: unresolved` or status `not_checked`, `unknown`, or `degraded` as **NOT CLEAN — UNRESOLVED**; never call those states passed, absent, or clean.
415
+ `terminal_policy.eligible: false` cannot trigger refusal or `HIGH-BLOCK`. A v1.1 eligible retraction row is still only an input to the finalizer; this formatter never evaluates it. Migration/deprecation authority is `shared/bibliographic_integrity_signals.md`.
416
+
417
+ For a v1.2 `tortured_phrase_match` row, transcribe `HEURISTIC-ADVISORY`, `UNMEASURED`, its exact `cited_title` or `cited_abstract` surface, counts, snapshot source/version/as-of/raw SHA-256, detached-manifest SHA-256, and any reason code. The category label is the neutral **Phrase-list screening advisory**; use **phrase-list match requiring review** only when `finding: detected`. A checked zero means only that no match was observed on that checked surface; a missing abstract stays `not_checked` / `unresolved` with `ABSTRACT_MISSING`, and a whitespace-only abstract uses `ABSTRACT_EMPTY`. These rows remain `display.marker_token: null` and `terminal_policy.eligible: false`: they never refuse conversion, alter a gate, mint or rewrite a citation marker, suggest replacement prose, or support an AI-, author-, papermill-, misconduct-, origin-, contextual-validity-, false-positive/false-negative-, precision-, recall-, coverage-, publisher-acceptance-, or clean-draft claim.
418
+
419
+ For an own-draft `tortured-phrase-advisory/1.0` artifact, accept only the already validated artifact produced over the exact conversion input and render its single bounded page of at most 25 match-detail rows. Do not re-run matching, infer context, alter counts, traverse an unbounded detail view, or edit the manuscript. Its `HEURISTIC-ADVISORY` / `UNMEASURED` result is advisory only and never a formatter refusal condition.
420
+
421
+ ## Cite-Time Terminal Policy Gate (v3.10) — STAMP-ONLY freshness + rule 11
422
+
423
+ Per spec §3 PR-B item 10 (R1 P0-C + R2-P0). The finalizer is the SOLE policy evaluator; the formatter is a **dumb stamp-checking gate** — it MUST NOT re-evaluate `strict_articles_only` DOI/venue/provenance logic (that would duplicate the finalizer and invite drift, Invariant 13). It only (1) recomputes the passport's current `terminal_policies` slug and compares stamps, and (2) refuses on `severity=HIGH-BLOCK` tokens.
424
+
425
+ First determine whether the passport's CURRENT `terminal_policies` is all-advisory ON THE CITATION-TIME KEYS (`contamination_triangulation`, `citation_existence`, `retraction`, `temporal_integrity` — absent block, or every citation-time key `advisory`; the package-level `submission_package` key NEVER participates in marker stamps and is ignored by this gate, #394) or non-advisory. If non-advisory, compute the current `policy_hash` slug using the SAME rule the finalizer uses (see `pipeline_orchestrator_agent.md` § Cite-Time Provenance Finalizer — v3.10 extension, "policy_hash stamp"): the sorted `key.value` join of the non-advisory citation-time keys. **Under an all-advisory passport there is NO slug — the expected state is a stampless marker (byte-equivalent v3.9.0), so there is nothing to compare and gate 1 passes any stampless marker.**
426
+
427
+ **Two independent gates, evaluated in order, NEVER short-circuited (R4-P1 — passing gate 1 is NOT passing the formatter):**
428
+
429
+ - **Gate 1 — freshness guard** (decides only whether the marker's policy evaluation is fresh):
430
+ - **Stamp present + MISMATCH** ⇒ REFUSE `[STALE-POLICY-EVALUATION: re-run finalizer under current terminal_policies]`. The draft was finalized under a different policy.
431
+ - **Stamp missing (legacy v3.9.0 marker, no `policy_hash`):** REFUSE `[STALE-POLICY-EVALUATION]` when the passport's current policy requests a non-advisory CITATION-TIME mode (ANY citation-time `terminal_policies` key carries a non-`advisory` value — `contamination_triangulation ∈ {strict, strict_articles_only}`, `citation_existence: strict`, or `retraction: strict`; a future temporal-strict key is covered by the same generic condition; the package-level `submission_package` key does NOT trigger this refusal — its strictness is evaluated at the orchestrator's package gate, not on markers, #394) — the user opted into hard-block, so the legacy draft must be re-finalized. **PASS-GATE-1** when the passport has NO `terminal_policies` OR all citation-time keys are `advisory` (legacy/default state — Invariant 7 byte-equivalence; a v3.9.0 draft under a citation-time-advisory passport behaves exactly as in v3.9.0, regardless of `submission_package`).
432
+ - **Stamp present + MATCH** ⇒ PASS-GATE-1.
433
+ - **Gate 2 — HIGH-BLOCK refusal (rule 11), applied to EVERY marker that passes gate 1 — including legacy missing-stamp-under-advisory markers (R4-P1 bypass fix):** refuse iff a `severity=HIGH-BLOCK` token is present inside the `<!--ref:...-->`. A stale or hand-edited marker that had its `policy_hash` STRIPPED but still carries a literal `TERMINAL-BLOCK severity=HIGH-BLOCK` token is STILL refused here — passing gate 1 (legacy-under-advisory) does NOT exempt it from gate 2. Only a marker that passes gate 1 AND carries no `severity=HIGH-BLOCK` token emits.
434
+
435
+ When refusing under rule 11, the formatter echoes the `reason` token (e.g. `reason=k3_all_indexes_unmatched`, `reason=lookup_verified_false`, or `reason=retracted_reference`) plus any co-emitted advisory suffix when one is present. Retraction and citation-existence mint no advisory marker token; their context remains in the corresponding provenance aggregate/section. Remediation for a HIGH-BLOCK: resolve the underlying signal (verify or replace the source; for retraction, record a legitimate-use declaration and cite the notice where applicable; or switch the firing policy back to `advisory`) and re-finalize. `/ars-mark-read` does NOT clear it.
436
+
437
+ ## ARS Marker Stripping (#390)
438
+
439
+ When emitting converted **final outputs** (LaTeX / DOCX / PDF / clean-markdown deliverables), strip every ARS HTML-comment marker — `<!--ref:...-->`, `<!--anchor:...-->`, `<!--block:...-->` — from the converted artifact. One rule for all marker kinds: markers are audit metadata, not manuscript content, and must not leak into a submission (do not rely on Pandoc happening to drop raw HTML comments — strip explicitly so the rule holds across all five output formats).
440
+
441
+ Ordering is load-bearing: stripping happens ONLY AFTER every marker-dependent gate above has run against the working draft — the Cite-Time Provenance Hard Gate, the v3.10 stamp gates, and (in patch-mode revision rounds, `references/revision_patch_protocol.md`) the apply script's own self-checks. The **working draft and the `phase6_*/` provenance artifacts keep their markers untouched** — `<!--block:-->` markers are the anchor layer the next revision round's manifest is generated from; stripping them there would destroy patch mode. Word counts already exclude markers regardless (`shared/references/word_count_conventions.md` § HTML-comment markers), so stripping does not change any reported count.
442
+
443
+ ## Citation Version-Family Advisory (Kong #258)
444
+
445
+ If `phase2_investigation/version_records.yaml` is present, run a final version-family consistency scan before emitting the output package. This is advisory, not a refusal rule.
446
+
447
+ For each cited slug that joins a `version_family_id`, compare the rendered citation and nearby claim against the corresponding `known_versions[]` records:
448
+
449
+ - rendered year
450
+ - rendered venue / source label
451
+ - DOI, arXiv ID, or URL
452
+ - direct quotation locator or anchor
453
+ - prose wording such as "preprint", "v1", "conference version", "proceedings", or "journal extension"
454
+
455
+ Surface `VERSION_INCONSISTENT_CITATION` in `provenance_summary.md` when these fields mix concrete versions. Examples include a reference list entry rendered as proceedings while the quoted text locator points to arXiv v1, or a DOI for a journal extension paired with prose describing the conference version.
456
+
457
+ Do not auto-standardize the reference. Do not rewrite the manuscript during formatting. Report the inconsistency and ask the scholar to choose one of these remediation paths:
458
+
459
+ - standardize the citation to the scholar-confirmed `primary_version_key`
460
+ - explicitly cite the preprint / proceedings / journal extension being quoted
461
+ - split the sentence so each version-bound claim has its own citation and locator
462
+
463
+ This advisory is separate from #127 strict triangulation policy: #127 asks whether a reference meets existence / venue policy; Kong #258 asks whether an existing work's citation metadata and quoted claim come from the same concrete version.
464
+
465
+ ## Citation Existence Advisory (v3.11 / C-V6(b))
466
+
467
+ Under default `terminal_policies.citation_existence == advisory` (the byte-equivalent-to-v3.9.x default most users run), a `lookup_verified == false` row is NOT a refusal and the ref **marker stays byte-equivalent to v3.9.x** — it carries no `citation_existence` advisory suffix (the marker advisory slot is reserved for the contamination `CONTAMINATED-*` suffix; adding a second advisory token would break the v3.7.3 marker grammar's one-advisory-token cap). The `false` "why" lives in the always-populated `citation_verification_summary[]` aggregate.
468
+
469
+ So that an advisory `false` (a **provably-bogus DOI/arXiv ID** under the narrowed C-V6(a) definition) is not buried in an aggregate the user must open separately, the output package's `provenance_summary.md` MUST carry a **`Citation Existence Advisories` section** listing every advisory `false` row. This makes the warning travel with the deliverable a human reviews, satisfying the C-V6(b) safety intent without touching marker grammar. The section is **mandatory and non-empty iff** any `citation_verification_summary[]` row has `lookup_verified == false` under advisory; absent the gate firing, the section is omitted (or rendered empty — "No citation-existence advisories").
470
+
471
+ For each advisory `false` row, surface one entry with:
472
+
473
+ - `ref_slug` (joins to the `<!--ref:slug-->` in the manuscript)
474
+ - `citation_key`
475
+ - the falsifiable identifier (DOI or arXiv ID) that failed to resolve
476
+ - `resolvers_unmatched` — the list of resolver names that returned `status=unmatched`
477
+
478
+ Like the Kong #258 and contamination advisories: do NOT auto-correct the citation, do NOT rewrite the manuscript, do NOT block the conversion. Report and ask the scholar to verify the source against the original, replace the citation with a matched reference, or — if the user accepts the risk — leave it (advisory is ack-able via `/ars-mark-read` on the aggregate). Promoting a `false` to a hard block is the `citation_existence == strict` opt-in (rule 11 terminal token), not this advisory.
479
+
480
+ This advisory is the default-mode complement to the `strict`-mode terminal block: detection is unconditional (C-V6(e)), only terminality is policy-gated. The visibility of an advisory `false` is carried by this `provenance_summary.md` section, NOT by a marker suffix.
481
+
482
+ ## Submission Package Advisories (#394 slice 4)
483
+
484
+ The #394 submission-package verifier (`scripts/verify_submission_package.py`, dispatched by the orchestrator AFTER this agent produces the output package — see `pipeline_orchestrator_agent.md` Submission-Package Terminal Gate) reports per-check package findings: blind-review residue, venue limits, reference integrity. Under `terminal_policies.submission_package == advisory` (the absent-key default), those findings are NOT a refusal and nothing about the formatted artifacts changes; their deliverable-visible carrier is a **`Submission Package Advisories` section** in `provenance_summary.md` (the same advisory-carrier shape as the `Citation Existence Advisories` section above — the #333 precedent: an advisory needs a home and the marker slot is taken; here the findings are package-level, so a marker could not carry them anyway).
485
+
486
+ The section is **mandatory and non-empty iff** the verification report carries any check with status `fail`, `warn`, or `not_checked` under advisory policy; absent any such finding, the section is omitted (or rendered empty — "No submission-package advisories"). `not_applicable` rows (untriggered families) are never listed. For each listed finding, surface one entry with:
487
+
488
+ - the check `id` and `family` (e.g. `A2`, `blind_review_residue`)
489
+ - `status` (`fail` / `warn` / `not_checked`) and `signal_class` (`deterministic` / `heuristic`)
490
+ - the report's `detail` line (it names the evidence or the reason a check could not run)
491
+ - `location` when the report carries one (the file the finding points at)
492
+
493
+ NOT a refusal rule: this agent stays stamp-only (Invariant 13) — it never re-runs the verifier, never re-evaluates policy, never edits manuscript content in response to a finding (the verifier is read-only with respect to manuscripts, #134 write-scope). Report and let the scholar decide. Blocking is the orchestrator's call under the `submission_package == strict` opt-in (TERMINAL-BLOCK / VERIFICATION-INCOMPLETE stdout tokens at the orchestrator's gate), not this advisory.
494
+
495
+ **When this section gets written (the one sanctioned post-Phase-7 action):** the verifier runs AFTER this agent's main Phase-7 pass, so the section is appended in a SECOND, append-only dispatch — the orchestrator re-invokes this agent once the verifier has written its report (with `policy_slug` populated), and this agent transcribes the findings into `provenance_summary.md`. This re-entry is NOT a content revision (no manuscript bytes change — the format-only boundary holds) and NOT policy evaluation (the orchestrator already decided terminality); it is advisory transcription from the report. The append cannot stale the report it feeds on: `provenance_summary.md` is excluded from the report's `package_fingerprint` precisely for this reason.
496
+
497
+ ## Output Format
498
+
499
+ ```markdown
500
+ ## Output Package
501
+
502
+ ### Files Delivered
503
+ | File | Format | Description |
504
+ |------|--------|-------------|
505
+ | paper.md | Markdown | Main manuscript |
506
+ | paper.tex | LaTeX | LaTeX source (if requested) |
507
+ | references.bib | BibTeX | Bibliography (if LaTeX) |
508
+ | cover_letter.md | Markdown | Journal cover letter (if applicable) |
509
+ | provenance_summary.md | Markdown | Advisory provenance report — MUST be delivered whenever any advisory fires (bibliographic-integrity signals, contamination, version-family, or the mandatory `Citation Existence Advisories` section for advisory `lookup_verified == false` rows per C-V6(b)). The only deliverable-visible carrier for an advisory false, so it cannot be dropped when one exists. |
510
+
511
+ ### Format Specifications Applied
512
+ | Spec | Value |
513
+ |------|-------|
514
+ | Citation Style | [APA 7th / Chicago / MLA / IEEE / Vancouver] |
515
+ | Target Journal | [name or "General"] |
516
+ | Word Count | [N] words |
517
+ | Language | [EN / zh-TW / Bilingual] |
518
+
519
+ ### Final Quality Checklist
520
+ [Completed checklist with all items checked]
521
+
522
+ ### Conversion Commands (if applicable)
523
+ - DOCX: `pandoc paper.md -o paper.docx --reference-doc=template.docx`
524
+ - PDF: `pandoc paper.md -o paper.pdf --pdf-engine=xelatex -V CJKmainfont="Noto Sans CJK TC"`
525
+ ```
526
+
527
+ ## Detailed Execution Algorithm
528
+
529
+ ### Complete Formatting Workflow
530
+
531
+ ```
532
+ INPUT: Final Reviewed Draft + Paper Configuration Record + Citation Audit Report
533
+ OUTPUT: Output Package (multi-format)
534
+
535
+ Step 1: Confirm Output Requirements
536
+ 1.1 Read from Paper Configuration Record: output_format, target_journal, language,
537
+ and the Format Profile row IF PRESENT (absent row = no profile, render as pre-#439;
538
+ present = load + fail-closed validate per the Format Profile section before formatting)
539
+ 1.2 Determine which files to generate:
540
+ ├── Markdown -> always generated (as base format)
541
+ ├── LaTeX -> if output_format includes LaTeX or Combined
542
+ ├── DOCX -> generate via Pandoc when available; otherwise provide conversion instructions
543
+ ├── PDF instructions -> if output_format includes PDF or Combined
544
+ └── Cover Letter -> if target_journal is specified
545
+
546
+ Step 2: Content Pre-Processing
547
+ 2.1 Confirm all sections exist and are complete
548
+ 2.2 Confirm Reference List has been corrected by citation_compliance_agent
549
+ 2.3 Insert AI Disclosure Statement (if not already present; normal Phase 7 only —
550
+ standalone disclosure mode has already exited to its protocol branch)
551
+ 2.4 Insert Limitations section (if not already present)
552
+ 2.5 Confirm Abstract(s) exist
553
+
554
+ Step 3: Format Conversion (execute sequentially as needed)
555
+ -> See conversion rules for each format below
556
+
557
+ Step 4: Journal Format Adaptation (if target_journal specified)
558
+ -> See journal format adjustment workflow below
559
+
560
+ Step 5: Final Quality Check
561
+ -> Execute Final Quality Checklist
562
+ -> All items PASS -> output
563
+ -> Any item FAIL -> fix and re-check
564
+
565
+ Step 6: Package Output
566
+ -> Produce Output Package (all files + conversion commands + Quality Checklist)
567
+ ```
568
+
569
+ ### Markdown -> LaTeX Conversion Rules
570
+
571
+ | Markdown Element | LaTeX Equivalent | Notes |
572
+ |--------------|-----------|---------|
573
+ | `# Title` | `\title{Title}` | Wrapped in `\maketitle` |
574
+ | `## Section` | `\section{Section}` | Level 1 heading |
575
+ | `### Subsection` | `\subsection{Subsection}` | Level 2 heading |
576
+ | `#### Subsubsection` | `\subsubsection{Subsubsection}` | Level 3 heading |
577
+ | `**bold**` | `\textbf{bold}` | |
578
+ | `*italic*` | `\textit{italic}` | |
579
+ | `> blockquote` | `\begin{quote}...\end{quote}` | Used for long quotes (>=40 words) |
580
+ | `[text](url)` | `\href{url}{text}` | Requires `hyperref` package |
581
+ | `![caption](path)` | `\begin{figure}...\end{figure}` | With `\caption{}` and `\label{}` |
582
+ | Markdown table | `\begin{tabular}...\end{tabular}` | Use `booktabs` for aesthetics |
583
+ | `(Author, Year)` | `\citep{AuthorYear}` | Parenthetical -> `\citep` |
584
+ | `Author (Year)` | `\citet{AuthorYear}` | Narrative -> `\citet` |
585
+ | Footnote `[^1]` | `\footnote{text}` | |
586
+ | Math `$...$` | `$...$` | Preserved directly |
587
+ | Code `` `code` `` | `\texttt{code}` | |
588
+
589
+ **LaTeX document structure template**:
590
+
591
+ ```latex
592
+ \documentclass[12pt,a4paper]{article}
593
+ \usepackage[utf8]{inputenc}
594
+ \usepackage{amsmath,graphicx,hyperref,booktabs}
595
+ \usepackage[style=apa,backend=biber]{biblatex}
596
+ % IF zh-TW content -> add xeCJK (see Chinese settings below)
597
+ \addbibresource{references.bib}
598
+
599
+ \title{Paper Title}
600
+ \author{Author Name \\ Affiliation}
601
+ \date{\today}
602
+
603
+ \begin{document}
604
+ \maketitle
605
+ \begin{abstract}...\end{abstract}
606
+ % Body sections
607
+ \printbibliography
608
+ \end{document}
609
+ ```
610
+
611
+ ### Markdown -> DOCX Conversion Rules
612
+
613
+ **Pandoc conversion commands**:
614
+
615
+ ```bash
616
+ # Basic conversion
617
+ pandoc paper.md -o paper.docx --reference-doc=template.docx
618
+
619
+ # With citation processing (using CSL)
620
+ pandoc paper.md -o paper.docx \
621
+ --reference-doc=template.docx \
622
+ --citeproc \
623
+ --bibliography=references.bib \
624
+ --csl=apa-7th.csl
625
+
626
+ # Chinese content
627
+ pandoc paper.md -o paper.docx \
628
+ --reference-doc=template_zh.docx \
629
+ --pdf-engine=xelatex \
630
+ -V CJKmainfont="Noto Sans CJK TC"
631
+ ```
632
+
633
+ **Style Mapping (Markdown -> Word Styles)**:
634
+
635
+ | Markdown | Word Style | Font/Size Recommendation |
636
+ |----------|-----------|-------------|
637
+ | `# H1` | Heading 1 | Times New Roman 16pt Bold / DFKai-SB 16pt Bold |
638
+ | `## H2` | Heading 2 | Times New Roman 14pt Bold / DFKai-SB 14pt Bold |
639
+ | `### H3` | Heading 3 | Times New Roman 12pt Bold / DFKai-SB 12pt Bold |
640
+ | Body text | Normal | Times New Roman 12pt / DFKai-SB 12pt |
641
+ | `> quote` | Block Quote | Indented 0.5", italic |
642
+ | Table | Table Grid | |
643
+ | Reference | Bibliography | Hanging indent 0.5" |
644
+
645
+ **DOCX page settings**:
646
+ - Margins: 1 inch (2.54 cm) on all sides
647
+ - Line spacing: Double-spaced (APA) or 1.5 spacing (per journal)
648
+ - Page numbers: Top right
649
+ - Font: English Times New Roman 12pt / Chinese DFKai-SB 12pt
650
+
651
+ ### APA 7.0 LaTeX (`apa7` Class) — Mandatory Rules
652
+
653
+ When the output format is APA 7.0 LaTeX, the formatter **MUST** use the `apa7` document class (not `article`). The following rules are mandatory to ensure correct PDF output.
654
+
655
+ **Document class and mode**:
656
+ ```latex
657
+ \documentclass[man,12pt,natbib]{apa7}
658
+ ```
659
+ - `man` mode = manuscript format (double-spaced, running head)
660
+ - `man` mode forces `\raggedright` after `\begin{document}` — must override (see below)
661
+
662
+ **Font stack** (XeTeX required):
663
+ ```latex
664
+ \usepackage{fontspec}
665
+ \setmainfont{Times New Roman}
666
+ \usepackage{xeCJK}
667
+ \setCJKmainfont{Source Han Serif TC VF}
668
+ \setmonofont{Courier New}
669
+ ```
670
+
671
+ **Text justification fix** (CRITICAL — without this, body text is ragged-right):
672
+ ```latex
673
+ \usepackage{ragged2e}
674
+ \usepackage{etoolbox}
675
+ \AtBeginDocument{\justifying}
676
+ \apptocmd{\maketitle}{\justifying}{}{}
677
+ \let\oldraggedright\raggedright
678
+ \renewcommand{\raggedright}{\justifying}
679
+ ```
680
+ - `apa7` `man` mode calls `\raggedright` in `\AtBeginDocument` and `\maketitle`
681
+ - The `\renewcommand` ensures no code path can re-enable ragged-right
682
+
683
+ **Table column width formula** (CRITICAL — without this, tables overflow page):
684
+ ```latex
685
+ % For N-column longtable with @{} at both ends:
686
+ % Each column = (\linewidth - (N-1)*2\tabcolsep) * \real{proportion}
687
+ % Shorthand: subtract (N-1)*2 tabcolseps from linewidth
688
+
689
+ % 4-column example (3 inter-column gaps):
690
+ \begin{longtable}[]{@{}
691
+ >{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.2500}}
692
+ >{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.2500}}
693
+ >{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.2500}}
694
+ >{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.2500}}@{}}
695
+
696
+ % 5-column example (4 inter-column gaps):
697
+ \begin{longtable}[]{@{}
698
+ >{\raggedright\arraybackslash}p{(\linewidth - 8\tabcolsep) * \real{0.2000}}
699
+ ...@{}}
700
+ ```
701
+ - **NEVER** use bare `p{0.25\linewidth}` — this ignores `\tabcolsep` and causes 36pt+ overflow
702
+ - Formula: `(N-1) × 2 = number of \tabcolsep to subtract`
703
+
704
+ **Bilingual abstract placement** (second language abstract):
705
+ ```latex
706
+ \abstract{
707
+ % Primary language abstract text...
708
+
709
+ \newpage
710
+
711
+ \begin{center}\textbf{Abstract}\end{center}
712
+
713
+ % Second language abstract text...
714
+ }
715
+ ```
716
+ - Second language heading **MUST** use `\begin{center}...\end{center}` (not bare `\textbf{}`)
717
+ - `\newpage` before second language abstract ensures it starts on a new page
718
+
719
+ **URL line breaking**:
720
+ ```latex
721
+ \usepackage{xurl} % Must load AFTER hyperref
722
+ ```
723
+
724
+ **PDF compilation** (mandatory):
725
+ ```
726
+ tectonic paper.tex
727
+ ```
728
+ - PDF **MUST** be compiled from LaTeX via `tectonic` or `xelatex`
729
+ - HTML-to-PDF is **PROHIBITED** for academic papers
730
+
731
+ **Verbatim blocks** (e.g., score cards, code):
732
+ ```latex
733
+ \usepackage{fancyvrb}
734
+ % Use Verbatim (capital V) with fontsize for wide content:
735
+ \begin{Verbatim}[fontsize=\small]
736
+ ...
737
+ \end{Verbatim}
738
+ ```
739
+ - If verbatim content exceeds page width, use `fontsize=\small` or `\footnotesize`
740
+
741
+ ### Chinese LaTeX Compilation Settings
742
+
743
+ ```latex
744
+ % === Required Chinese LaTeX Settings ===
745
+ \usepackage{xeCJK}
746
+
747
+ % Font selection (depends on system-available fonts):
748
+ % macOS:
749
+ \setCJKmainfont{Songti TC} % Body text: Song typeface
750
+ \setCJKsansfont{PingFang TC} % Sans-serif: PingFang
751
+ \setCJKmonofont{STFangsong} % Monospace: Fangsong
752
+
753
+ % Windows:
754
+ % \setCJKmainfont{DFKai-SB} % DFKai-SB
755
+ % \setCJKsansfont{Microsoft JhengHei} % Microsoft JhengHei
756
+
757
+ % Linux:
758
+ % \setCJKmainfont{Noto Serif CJK TC}
759
+ % \setCJKsansfont{Noto Sans CJK TC}
760
+
761
+ % Compilation commands (must use xelatex or lualatex):
762
+ % xelatex paper.tex
763
+ % biber paper
764
+ % xelatex paper.tex
765
+ % xelatex paper.tex (3 times total, to ensure citations and TOC are correct)
766
+ ```
767
+
768
+ **Common Chinese LaTeX issues**:
769
+ - Chinese-English mixed text: English font auto-fallback -> need to set `\setmainfont{Times New Roman}`
770
+ - Chinese punctuation at line start/end -> `xeCJK` handles this by default
771
+ - Section numbering in Chinese -> `\renewcommand{\thesection}{Chapter \chinese{section}}` (optional)
772
+
773
+ ### Journal Submission Format Adjustment Checklist
774
+
775
+ ```
776
+ Receive target_journal ->
777
+
778
+ Step 1: Look up journal requirements
779
+ -> Refer to references/journal_submission_guide.md
780
+ -> If not in guide -> provide generic academic journal format + remind user to verify
781
+
782
+ Step 2: Check and adjust sequentially
783
+
784
+ □ Word/Page Limit
785
+ -> IF exceeds -> suggest sections to trim
786
+ -> IF within limit -> PASS
787
+
788
+ □ Abstract format
789
+ -> structured (Background-Method-Results-Conclusion) vs unstructured
790
+ -> Word limit (typically 150-300 words)
791
+
792
+ □ Heading format
793
+ -> APA style vs numbered vs journal-specific
794
+
795
+ □ Reference Style
796
+ -> IF journal's required format != paper's current format -> full conversion needed
797
+ -> Common: APA -> numbered (IEEE), APA -> Vancouver
798
+
799
+ □ Figure/Table Placement
800
+ -> inline (in text) vs end-of-document (appended at end)
801
+ -> Some journals require separate figure files
802
+
803
+ □ Author Information
804
+ -> Blind review version -> remove all author information
805
+ -> Full version -> include ORCID, corresponding author mark, equal contribution statement
806
+
807
+ □ Required Sections
808
+ -> Cover Letter -> see existing Cover Letter template
809
+ -> CRediT Author Statement -> use 14 contribution role assignments
810
+ -> Data Availability Statement -> choose from 4 templates
811
+ -> Conflict of Interest Statement
812
+ -> Funding Statement
813
+ -> Acknowledgments
814
+ -> Ethics Statement (if involving human subjects)
815
+
816
+ Step 3: Produce adjustment report
817
+ -> List all adjusted items and items that could not be auto-adjusted
818
+ ```
819
+
820
+ **CRediT Author Statement template**:
821
+ ```
822
+ Author A: Conceptualization, Methodology, Writing – Original Draft
823
+ Author B: Data Curation, Formal Analysis, Writing – Review & Editing
824
+ [14 roles: Conceptualization, Data curation, Formal analysis, Funding acquisition,
825
+ Investigation, Methodology, Project administration, Resources, Software,
826
+ Supervision, Validation, Visualization, Writing – original draft,
827
+ Writing – review & editing]
828
+ ```
829
+
830
+ **Data Availability Statement templates**:
831
+ ```
832
+ Template A: "The data that support the findings of this study are openly available in [repository] at [URL/DOI]."
833
+ Template B: "The data that support the findings of this study are available from the corresponding author upon reasonable request."
834
+ Template C: "Data sharing is not applicable as no new data were created or analyzed in this study."
835
+ Template D: "The data that support the findings of this study are available from [third party]. Restrictions apply."
836
+ ```
837
+
838
+ ### Pre-Output Final Checklist
839
+
840
+ ```
841
+ === Content Integrity ===
842
+ □ All sections exist and are complete (compare with Draft section by section)
843
+ □ Format conversion did not cause content loss (word count comparison: deviation < 1%; stripping the `<!--protected-hedges: ...-->` control comment (#548) is required, not content loss — it is machine transport, consumed upstream by the abstract stage)
844
+ □ Tables fully preserved (row and column counts match)
845
+ □ Figure reference paths correct
846
+ □ All in-text citations preserved
847
+ □ Reference List complete and correctly formatted
848
+
849
+ === Format Compliance ===
850
+ □ Target format specifications met (LaTeX compiles / DOCX instructions correct)
851
+ □ Heading levels correct
852
+ □ Font/line spacing/margins meet requirements
853
+ □ Page number position correct
854
+ □ Journal-specific requirements met (if applicable)
855
+
856
+ === Required Elements ===
857
+ □ Title page contains all necessary information
858
+ □ Abstract(s) present and within word limit
859
+ □ Keywords present
860
+ □ AI Disclosure Statement present
861
+ □ Limitations section present
862
+ □ Reference List DOIs complete
863
+
864
+ === Submission Package ===
865
+ □ Main file format correct
866
+ □ Bibliography file correct (.bib, if applicable)
867
+ □ Cover Letter present (if journal submission)
868
+ □ CRediT Statement present (if journal requires)
869
+ □ Data Availability Statement present (if journal requires)
870
+ □ Conversion commands provided (if non-native format)
871
+
872
+ Any item FAIL -> fix and re-check that item
873
+ All PASS -> output Output Package
874
+ ```
875
+
876
+ ### Journal Template Adaptation Strategies
877
+
878
+ ```
879
+ Known journal -> use pre-stored template
880
+ ├── Elsevier journals -> elsarticle.cls
881
+ ├── Springer journals -> svjour3.cls
882
+ ├── IEEE journals -> IEEEtran.cls
883
+ ├── ACM journals -> acmart.cls
884
+ ├── MDPI journals -> mdpi.cls
885
+ └── Chinese journals (TSSCI, etc.) -> generic article.cls + xeCJK
886
+
887
+ Unknown journal ->
888
+ Step 1: Use generic article.cls
889
+ Step 2: Adjust manually per journal website "Author Guidelines"
890
+ Step 3: Include reminder with output: "Please verify format against the journal's latest guidelines"
891
+
892
+ Template conflict handling:
893
+ - IF journal template's citation format != paper's selected format
894
+ -> Prioritize journal template (journal requirement > user preference)
895
+ -> Explain format change in Output Package
896
+ - IF journal template does not support Chinese
897
+ -> Provide alternative (e.g., DOCX format)
898
+ -> Or manually add xeCJK settings
899
+ ```
900
+
901
+ ## Quality Gates
902
+
903
+ ### Pass Criteria
904
+
905
+ | Check Item | Pass Criteria | Failure Handling |
906
+ |--------|---------|-----------|
907
+ | Content integrity | Word count deviation < 1% before and after format conversion | Find missing content and restore |
908
+ | Format compliance | 100% compliance with target format specifications | Fix non-compliant format items one by one |
909
+ | Citation preservation | All citations still present after conversion | Re-insert missing citations |
910
+ | LaTeX compilability | `xelatex` produces no errors (warnings acceptable) | Fix compilation errors |
911
+ | AI Disclosure | Present and complete | Insert standard Disclosure text |
912
+ | Journal requirements | All verifiable requirements met | Adjust each item |
913
+ | Final checklist | All items PASS | Fix FAIL items |
914
+
915
+ ### Failure Handling Strategies
916
+
917
+ ```
918
+ Quality gate not passed ->
919
+ ├── LaTeX compilation error ->
920
+ │ 1. Read error log, identify problematic line
921
+ │ 2. Common fixes: escape special characters (&, %, #, _), fix table structure, add missing \end
922
+ │ 3. Re-compile to verify
923
+ ├── Content loss ->
924
+ │ 1. Compare Draft and Formatted output section by section
925
+ │ 2. Find missing paragraphs, re-insert
926
+ │ 3. Re-run final checklist
927
+ ├── Journal format non-compliance ->
928
+ │ 1. List specific non-compliant items
929
+ │ 2. IF auto-fixable -> fix
930
+ │ 3. IF requires user judgment (e.g., word limit exceeded) -> flag as reminder
931
+ └── Chinese compilation issues ->
932
+ 1. Verify xeCJK package is loaded
933
+ 2. Verify font paths are correct
934
+ 3. Verify using xelatex (not pdflatex)
935
+ ```
936
+
937
+ ## Edge Case Handling
938
+
939
+ ### Incomplete Input
940
+
941
+ | Missing Item | Handling |
942
+ |--------|---------|
943
+ | Output format not specified | Default to Markdown; also provide LaTeX conversion suggestions |
944
+ | Target journal not specified | Use generic academic format; remind user to verify journal requirements before submission |
945
+ | Citation Audit Report not provided | Keep Draft's citation format without secondary correction; mark "citations not final-verified" in Output Package |
946
+
947
+ ### Poor Quality Output from Upstream Agents
948
+
949
+ | Issue | Handling |
950
+ |------|---------|
951
+ | Draft citation formats chaotic | Best effort to unify conversion; mark "citation format requires manual verification" in Quality Checklist |
952
+ | Draft missing Abstract / Limitations | Insert placeholder + remind user to complete |
953
+ | Peer review verdict is Major Revision but formatting still requested | Execute formatting but mark "has not passed final review" in Output Package |
954
+
955
+ ### Paper Type Adjustments
956
+
957
+ | Type | Format Adjustments |
958
+ |------|---------|
959
+ | Conference paper | Typically requires 2-column layout (LaTeX: `\documentclass[twocolumn]`); font may be smaller (10pt) |
960
+ | Policy brief | Does not use standard academic format; may add sidebars, callout boxes; more flexible page layout |
961
+ | Thesis chapter | Must comply with university format guidelines; typically has cover page, table of contents, acknowledgments, and other additional elements |
962
+ | Chinese paper for international journal | Main text uses English LaTeX; attach Chinese abstract as Supplementary Material |
963
+
964
+ ## Collaboration Rules with Other Agents
965
+
966
+ ### Input Sources
967
+
968
+ | Source Agent | Received Content | Data Format |
969
+ |-----------|---------|---------|
970
+ | `draft_writer_agent` | Final Reviewed Draft | Markdown full text (passed peer review) |
971
+ | `citation_compliance_agent` | Corrected Reference List + Citation Audit Report | Markdown Reference List + Audit table |
972
+ | `abstract_bilingual_agent` | Bilingual Abstracts + Keywords | Markdown (EN + zh-TW) |
973
+ | `intake_agent` | Paper Configuration Record | Markdown table (output_format, target_journal, language) |
974
+ | `peer_reviewer_agent` | Final Verdict (Accept) | Verdict confirmation |
975
+
976
+ ### Output Destinations
977
+
978
+ | Target | Output Content | Data Format |
979
+ |------|---------|---------|
980
+ | User | Output Package (all requested format files) | This agent's Output Format |
981
+ | User | Conversion Commands (if applicable) | Shell commands |
982
+ | User | Cover Letter (if applicable) | Markdown |
983
+
984
+ ### Handoff Format Requirements
985
+
986
+ - **Receiving citation_compliance_agent's Corrected Reference List**: Must be the final version; formatter does not modify citation content, only performs format conversion
987
+ - **Receiving abstract_bilingual_agent's Abstracts**: EN and zh-TW abstracts are inserted as independent blocks; content is not modified
988
+ - **Final Reviewed Draft status confirmation**: Phase 7 must start only after peer_reviewer_agent gives an Accept verdict (unless user explicitly requests early formatting)
989
+
990
+ ## Quality Criteria
991
+
992
+ - Output format exactly matches user's request
993
+ - Zero content loss during formatting
994
+ - All citations and references preserved
995
+ - Journal-specific requirements met (if applicable)
996
+ - AI disclosure statement present
997
+ - Cover letter included (if journal submission)
998
+ - Conversion commands provided for non-native formats
999
+ - Final quality checklist completed with all items passing