dsh-aris-panel 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +98 -0
  3. package/README_CN.md +87 -0
  4. package/dsh/checkout.patch.yml +38 -0
  5. package/dsh/client.js +634 -0
  6. package/dsh/cordis.patch.yml +44 -0
  7. package/dsh/index.mjs +76 -0
  8. package/dsh/run-status.mjs +182 -0
  9. package/dsh/scope-limits.mjs +50 -0
  10. package/dsh/workbench.mjs +291 -0
  11. package/mcp-servers/claude-review/README.md +93 -0
  12. package/mcp-servers/claude-review/run_with_claude_aws.sh +49 -0
  13. package/mcp-servers/claude-review/server.py +718 -0
  14. package/mcp-servers/codex-image2/README.md +65 -0
  15. package/mcp-servers/codex-image2/server.py +893 -0
  16. package/mcp-servers/feishu-bridge/requirements.txt +1 -0
  17. package/mcp-servers/feishu-bridge/server.py +240 -0
  18. package/mcp-servers/gemini-review/README.md +171 -0
  19. package/mcp-servers/gemini-review/server.py +1856 -0
  20. package/mcp-servers/llm-chat/requirements.txt +1 -0
  21. package/mcp-servers/llm-chat/server.py +664 -0
  22. package/mcp-servers/manual-review/README.md +133 -0
  23. package/mcp-servers/manual-review/server.py +910 -0
  24. package/mcp-servers/manual-review/ui.html +279 -0
  25. package/mcp-servers/minimax-chat/requirements.txt +1 -0
  26. package/mcp-servers/minimax-chat/server.py +381 -0
  27. package/package.json +51 -0
  28. package/skills/ablation-planner/SKILL.md +123 -0
  29. package/skills/alphaxiv/SKILL.md +196 -0
  30. package/skills/analyze-results/SKILL.md +46 -0
  31. package/skills/arxiv/SKILL.md +248 -0
  32. package/skills/auto-paper-improvement-loop/SKILL.md +651 -0
  33. package/skills/auto-review-loop/SKILL.md +1137 -0
  34. package/skills/auto-review-loop-llm/SKILL.md +259 -0
  35. package/skills/auto-review-loop-minimax/SKILL.md +302 -0
  36. package/skills/citation-audit/SKILL.md +502 -0
  37. package/skills/claims-drafting/SKILL.md +227 -0
  38. package/skills/comm-lit-review/SKILL.md +297 -0
  39. package/skills/deepxiv/SKILL.md +263 -0
  40. package/skills/dse-loop/SKILL.md +296 -0
  41. package/skills/embodiment-description/SKILL.md +129 -0
  42. package/skills/exa-search/SKILL.md +205 -0
  43. package/skills/experiment-audit/SKILL.md +311 -0
  44. package/skills/experiment-bridge/SKILL.md +376 -0
  45. package/skills/experiment-plan/SKILL.md +249 -0
  46. package/skills/experiment-queue/SKILL.md +431 -0
  47. package/skills/experiment-queue/scripts/build_manifest.py +142 -0
  48. package/skills/experiment-queue/scripts/queue_manager.py +433 -0
  49. package/skills/feishu-notify/SKILL.md +156 -0
  50. package/skills/figure-description/SKILL.md +138 -0
  51. package/skills/figure-spec/SKILL.md +262 -0
  52. package/skills/figure-spec/scripts/figure_renderer.py +799 -0
  53. package/skills/formula-derivation/SKILL.md +280 -0
  54. package/skills/gemini-search/SKILL.md +231 -0
  55. package/skills/grant-proposal/SKILL.md +698 -0
  56. package/skills/idea-creator/SKILL.md +542 -0
  57. package/skills/idea-discovery/SKILL.md +521 -0
  58. package/skills/idea-discovery-robot/SKILL.md +363 -0
  59. package/skills/integrity-forensics/SKILL.md +284 -0
  60. package/skills/interview-cheatsheet/SKILL.md +245 -0
  61. package/skills/invention-structuring/SKILL.md +188 -0
  62. package/skills/jurisdiction-format/SKILL.md +192 -0
  63. package/skills/kill-argument/SKILL.md +437 -0
  64. package/skills/mermaid-diagram/SKILL.md +419 -0
  65. package/skills/meta-apply/SKILL.md +141 -0
  66. package/skills/meta-optimize/SKILL.md +437 -0
  67. package/skills/monitor-experiment/SKILL.md +140 -0
  68. package/skills/novelty-check/SKILL.md +101 -0
  69. package/skills/openalex/SKILL.md +237 -0
  70. package/skills/overleaf-sync/SKILL.md +220 -0
  71. package/skills/paper-claim-audit/SKILL.md +348 -0
  72. package/skills/paper-compile/SKILL.md +266 -0
  73. package/skills/paper-figure/SKILL.md +312 -0
  74. package/skills/paper-illustration/SKILL.md +736 -0
  75. package/skills/paper-illustration-image2/SKILL.md +391 -0
  76. package/skills/paper-illustration-image2/scripts/paper_illustration_image2.py +255 -0
  77. package/skills/paper-plan/SKILL.md +386 -0
  78. package/skills/paper-poster/SKILL.md +19 -0
  79. package/skills/paper-poster-html/DESIGN_FINAL.md +176 -0
  80. package/skills/paper-poster-html/IMPLEMENTATION_CONVENTIONS.md +161 -0
  81. package/skills/paper-poster-html/LICENSES/posterly-MIT.txt +21 -0
  82. package/skills/paper-poster-html/NOTICE.md +57 -0
  83. package/skills/paper-poster-html/SKILL.md +323 -0
  84. package/skills/paper-poster-html/scripts/_posterly/__init__.py +0 -0
  85. package/skills/paper-poster-html/scripts/_posterly/canvas.py +200 -0
  86. package/skills/paper-poster-html/scripts/_posterly/measure.py +588 -0
  87. package/skills/paper-poster-html/scripts/_posterly/polish.py +498 -0
  88. package/skills/paper-poster-html/scripts/_posterly/preflight.py +489 -0
  89. package/skills/paper-poster-html/scripts/_posterly/render.py +215 -0
  90. package/skills/paper-poster-html/scripts/_posterly/textutil.py +16 -0
  91. package/skills/paper-poster-html/scripts/_posterly/verify_final.py +171 -0
  92. package/skills/paper-poster-html/scripts/asset_check.py +897 -0
  93. package/skills/paper-poster-html/scripts/extract_pdf_figures.py +666 -0
  94. package/skills/paper-poster-html/scripts/poster_check.py +251 -0
  95. package/skills/paper-poster-html/scripts/preprocess_figures.py +238 -0
  96. package/skills/paper-poster-html/scripts/render_preview.py +217 -0
  97. package/skills/paper-poster-html/scripts/run_gates.py +556 -0
  98. package/skills/paper-poster-html/scripts/style_check.py +1324 -0
  99. package/skills/paper-poster-html/templates/COMPONENTS.md +462 -0
  100. package/skills/paper-poster-html/templates/README.md +170 -0
  101. package/skills/paper-poster-html/templates/landscape_4col.html +1032 -0
  102. package/skills/paper-poster-html/templates/landscape_hero.html +1046 -0
  103. package/skills/paper-poster-html/templates/portrait_2col.html +947 -0
  104. package/skills/paper-poster-html/templates/tokens/acl.json +9 -0
  105. package/skills/paper-poster-html/templates/tokens/cvpr.json +9 -0
  106. package/skills/paper-poster-html/templates/tokens/generic.json +9 -0
  107. package/skills/paper-poster-html/templates/tokens/iclr.json +9 -0
  108. package/skills/paper-poster-html/templates/tokens/icml.json +9 -0
  109. package/skills/paper-poster-html/templates/tokens/neurips.json +9 -0
  110. package/skills/paper-slides/SKILL.md +635 -0
  111. package/skills/paper-talk/SKILL.md +381 -0
  112. package/skills/paper-write/SKILL.md +604 -0
  113. package/skills/paper-write/templates/IEEEtran.bst +2409 -0
  114. package/skills/paper-write/templates/IEEEtran.cls +6347 -0
  115. package/skills/paper-write/templates/iclr2026.tex +84 -0
  116. package/skills/paper-write/templates/icml2025.tex +87 -0
  117. package/skills/paper-write/templates/ieee_conference.tex +89 -0
  118. package/skills/paper-write/templates/ieee_journal.tex +93 -0
  119. package/skills/paper-write/templates/math_commands.tex +48 -0
  120. package/skills/paper-write/templates/neurips2025.tex +80 -0
  121. package/skills/paper-writing/SKILL.md +916 -0
  122. package/skills/patent-novelty-check/SKILL.md +153 -0
  123. package/skills/patent-pipeline/SKILL.md +344 -0
  124. package/skills/patent-review/SKILL.md +203 -0
  125. package/skills/pixel-art/SKILL.md +137 -0
  126. package/skills/prior-art-search/SKILL.md +146 -0
  127. package/skills/proof-checker/SKILL.md +866 -0
  128. package/skills/proof-orchestrator/NOTICE.md +24 -0
  129. package/skills/proof-orchestrator/SKILL.md +254 -0
  130. package/skills/proof-orchestrator/references/audit-output-contract.md +126 -0
  131. package/skills/proof-orchestrator/references/deepseek-routing.md +74 -0
  132. package/skills/proof-orchestrator/references/dispatch-prompts.md +227 -0
  133. package/skills/proof-orchestrator/references/notation-audit.md +135 -0
  134. package/skills/proof-orchestrator/references/proof-audit-rubric.md +70 -0
  135. package/skills/proof-orchestrator/references/stress-tests.md +38 -0
  136. package/skills/proof-writer/SKILL.md +223 -0
  137. package/skills/qzcli/SKILL.md +324 -0
  138. package/skills/rebuttal/SKILL.md +376 -0
  139. package/skills/render-html/SKILL.md +316 -0
  140. package/skills/render-html/scripts/render_html.py +1006 -0
  141. package/skills/render-html/scripts/templates/academic.html +703 -0
  142. package/skills/render-html/scripts/templates/dashboard.html +333 -0
  143. package/skills/research-lit/SKILL.md +756 -0
  144. package/skills/research-pipeline/SKILL.md +384 -0
  145. package/skills/research-refine/SKILL.md +770 -0
  146. package/skills/research-refine-pipeline/SKILL.md +186 -0
  147. package/skills/research-review/SKILL.md +198 -0
  148. package/skills/research-wiki/SKILL.md +461 -0
  149. package/skills/resubmit-pipeline/SKILL.md +447 -0
  150. package/skills/result-to-claim/SKILL.md +311 -0
  151. package/skills/run-experiment/SKILL.md +313 -0
  152. package/skills/semantic-scholar/SKILL.md +236 -0
  153. package/skills/serverless-modal/SKILL.md +335 -0
  154. package/skills/shared-references/acceptance-gate.md +324 -0
  155. package/skills/shared-references/assurance-contract.md +248 -0
  156. package/skills/shared-references/capture-antipatterns.md +78 -0
  157. package/skills/shared-references/citation-discipline.md +583 -0
  158. package/skills/shared-references/compute-env-contract.md +163 -0
  159. package/skills/shared-references/effort-contract.md +183 -0
  160. package/skills/shared-references/evidence-precheck.md +65 -0
  161. package/skills/shared-references/experiment-integrity.md +49 -0
  162. package/skills/shared-references/external-cadence.md +326 -0
  163. package/skills/shared-references/fan-out-pattern.md +366 -0
  164. package/skills/shared-references/injection-hygiene.md +127 -0
  165. package/skills/shared-references/integration-contract.md +461 -0
  166. package/skills/shared-references/output-composition.md +93 -0
  167. package/skills/shared-references/output-language.md +45 -0
  168. package/skills/shared-references/output-manifest.md +49 -0
  169. package/skills/shared-references/output-versioning.md +111 -0
  170. package/skills/shared-references/patent-format-cn.md +199 -0
  171. package/skills/shared-references/patent-format-ep.md +173 -0
  172. package/skills/shared-references/patent-format-us.md +161 -0
  173. package/skills/shared-references/patent-writing-principles.md +197 -0
  174. package/skills/shared-references/prior-art-databases.md +141 -0
  175. package/skills/shared-references/resumable-runs.md +109 -0
  176. package/skills/shared-references/review-scope-limits.md +81 -0
  177. package/skills/shared-references/review-tracing.md +391 -0
  178. package/skills/shared-references/reviewer-independence.md +79 -0
  179. package/skills/shared-references/reviewer-routing.md +852 -0
  180. package/skills/shared-references/skill-governance.md +104 -0
  181. package/skills/shared-references/taste-calibration.md +85 -0
  182. package/skills/shared-references/venue-checklists.md +114 -0
  183. package/skills/shared-references/wiki-helper-resolution.md +134 -0
  184. package/skills/shared-references/writing-principles.md +525 -0
  185. package/skills/skills-codex/README.md +102 -0
  186. package/skills/skills-codex/README_CN.md +100 -0
  187. package/skills/skills-codex/ablation-planner/SKILL.md +126 -0
  188. package/skills/skills-codex/alphaxiv/SKILL.md +186 -0
  189. package/skills/skills-codex/analyze-results/SKILL.md +45 -0
  190. package/skills/skills-codex/arxiv/SKILL.md +210 -0
  191. package/skills/skills-codex/auto-paper-improvement-loop/SKILL.md +574 -0
  192. package/skills/skills-codex/auto-review-loop/SKILL.md +500 -0
  193. package/skills/skills-codex/auto-review-loop-llm/SKILL.md +247 -0
  194. package/skills/skills-codex/auto-review-loop-minimax/SKILL.md +290 -0
  195. package/skills/skills-codex/citation-audit/SKILL.md +504 -0
  196. package/skills/skills-codex/claims-drafting/SKILL.md +239 -0
  197. package/skills/skills-codex/comm-lit-review/SKILL.md +299 -0
  198. package/skills/skills-codex/comm-lit-review/references/domain-taxonomy.md +57 -0
  199. package/skills/skills-codex/comm-lit-review/references/output-template.md +37 -0
  200. package/skills/skills-codex/comm-lit-review/references/source-policy.md +99 -0
  201. package/skills/skills-codex/comm-lit-review/references/venue-tiering.md +112 -0
  202. package/skills/skills-codex/deepxiv/SKILL.md +142 -0
  203. package/skills/skills-codex/dse-loop/SKILL.md +285 -0
  204. package/skills/skills-codex/embodiment-description/SKILL.md +129 -0
  205. package/skills/skills-codex/exa-search/SKILL.md +192 -0
  206. package/skills/skills-codex/experiment-audit/SKILL.md +286 -0
  207. package/skills/skills-codex/experiment-bridge/SKILL.md +356 -0
  208. package/skills/skills-codex/experiment-plan/SKILL.md +249 -0
  209. package/skills/skills-codex/experiment-queue/SKILL.md +401 -0
  210. package/skills/skills-codex/feishu-notify/SKILL.md +155 -0
  211. package/skills/skills-codex/figure-description/SKILL.md +138 -0
  212. package/skills/skills-codex/figure-spec/SKILL.md +252 -0
  213. package/skills/skills-codex/formula-derivation/SKILL.md +280 -0
  214. package/skills/skills-codex/gemini-search/SKILL.md +205 -0
  215. package/skills/skills-codex/grant-proposal/SKILL.md +626 -0
  216. package/skills/skills-codex/idea-creator/SKILL.md +405 -0
  217. package/skills/skills-codex/idea-discovery/SKILL.md +475 -0
  218. package/skills/skills-codex/idea-discovery-robot/SKILL.md +362 -0
  219. package/skills/skills-codex/integrity-forensics/SKILL.md +106 -0
  220. package/skills/skills-codex/interview-cheatsheet/SKILL.md +245 -0
  221. package/skills/skills-codex/invention-structuring/SKILL.md +188 -0
  222. package/skills/skills-codex/jurisdiction-format/SKILL.md +192 -0
  223. package/skills/skills-codex/kill-argument/SKILL.md +403 -0
  224. package/skills/skills-codex/mermaid-diagram/SKILL.md +379 -0
  225. package/skills/skills-codex/meta-apply/SKILL.md +154 -0
  226. package/skills/skills-codex/meta-optimize/SKILL.md +348 -0
  227. package/skills/skills-codex/monitor-experiment/SKILL.md +98 -0
  228. package/skills/skills-codex/novelty-check/SKILL.md +89 -0
  229. package/skills/skills-codex/openalex/SKILL.md +228 -0
  230. package/skills/skills-codex/overleaf-sync/SKILL.md +220 -0
  231. package/skills/skills-codex/paper-claim-audit/SKILL.md +350 -0
  232. package/skills/skills-codex/paper-compile/SKILL.md +253 -0
  233. package/skills/skills-codex/paper-figure/SKILL.md +311 -0
  234. package/skills/skills-codex/paper-illustration/SKILL.md +690 -0
  235. package/skills/skills-codex/paper-illustration-image2/SKILL.md +383 -0
  236. package/skills/skills-codex/paper-illustration-image2/scripts/paper_illustration_image2.py +255 -0
  237. package/skills/skills-codex/paper-plan/SKILL.md +278 -0
  238. package/skills/skills-codex/paper-poster/SKILL.md +19 -0
  239. package/skills/skills-codex/paper-poster-html/SKILL.md +377 -0
  240. package/skills/skills-codex/paper-slides/SKILL.md +571 -0
  241. package/skills/skills-codex/paper-talk/SKILL.md +381 -0
  242. package/skills/skills-codex/paper-write/SKILL.md +411 -0
  243. package/skills/skills-codex/paper-write/templates/IEEEtran.bst +2409 -0
  244. package/skills/skills-codex/paper-write/templates/IEEEtran.cls +6347 -0
  245. package/skills/skills-codex/paper-write/templates/aaai2026.bst +1493 -0
  246. package/skills/skills-codex/paper-write/templates/aaai2026.sty +315 -0
  247. package/skills/skills-codex/paper-write/templates/aaai2026.tex +952 -0
  248. package/skills/skills-codex/paper-write/templates/acl.sty +312 -0
  249. package/skills/skills-codex/paper-write/templates/acl2026.tex +377 -0
  250. package/skills/skills-codex/paper-write/templates/acl_natbib.bst +1940 -0
  251. package/skills/skills-codex/paper-write/templates/acm.bst +3081 -0
  252. package/skills/skills-codex/paper-write/templates/acm_mm2026.tex +204 -0
  253. package/skills/skills-codex/paper-write/templates/acmart.cls +3520 -0
  254. package/skills/skills-codex/paper-write/templates/cvpr.bst +1448 -0
  255. package/skills/skills-codex/paper-write/templates/cvpr.sty +508 -0
  256. package/skills/skills-codex/paper-write/templates/cvpr2026.tex +63 -0
  257. package/skills/skills-codex/paper-write/templates/iclr2026.tex +84 -0
  258. package/skills/skills-codex/paper-write/templates/iclr2026_conference.bst +1440 -0
  259. package/skills/skills-codex/paper-write/templates/iclr2026_conference.sty +246 -0
  260. package/skills/skills-codex/paper-write/templates/icml2026.sty +767 -0
  261. package/skills/skills-codex/paper-write/templates/icml2026.tex +662 -0
  262. package/skills/skills-codex/paper-write/templates/ieee_conference.tex +89 -0
  263. package/skills/skills-codex/paper-write/templates/ieee_journal.tex +93 -0
  264. package/skills/skills-codex/paper-write/templates/math_commands.tex +48 -0
  265. package/skills/skills-codex/paper-write/templates/neurips2026.tex +493 -0
  266. package/skills/skills-codex/paper-write/templates/neurips_2026.sty +437 -0
  267. package/skills/skills-codex/paper-writing/SKILL.md +731 -0
  268. package/skills/skills-codex/patent-novelty-check/SKILL.md +153 -0
  269. package/skills/skills-codex/patent-pipeline/SKILL.md +344 -0
  270. package/skills/skills-codex/patent-review/SKILL.md +202 -0
  271. package/skills/skills-codex/pixel-art/SKILL.md +139 -0
  272. package/skills/skills-codex/prior-art-search/SKILL.md +146 -0
  273. package/skills/skills-codex/proof-checker/SKILL.md +554 -0
  274. package/skills/skills-codex/proof-orchestrator/SKILL.md +260 -0
  275. package/skills/skills-codex/proof-orchestrator/references/audit-output-contract.md +126 -0
  276. package/skills/skills-codex/proof-orchestrator/references/deepseek-routing.md +76 -0
  277. package/skills/skills-codex/proof-orchestrator/references/dispatch-prompts.md +227 -0
  278. package/skills/skills-codex/proof-orchestrator/references/notation-audit.md +135 -0
  279. package/skills/skills-codex/proof-orchestrator/references/proof-audit-rubric.md +70 -0
  280. package/skills/skills-codex/proof-orchestrator/references/stress-tests.md +38 -0
  281. package/skills/skills-codex/proof-writer/SKILL.md +222 -0
  282. package/skills/skills-codex/qzcli/SKILL.md +324 -0
  283. package/skills/skills-codex/rebuttal/SKILL.md +305 -0
  284. package/skills/skills-codex/render-html/SKILL.md +305 -0
  285. package/skills/skills-codex/render-html/scripts/__pycache__/render_html.cpython-314.pyc +0 -0
  286. package/skills/skills-codex/render-html/scripts/render_html.py +909 -0
  287. package/skills/skills-codex/render-html/scripts/templates/academic.html +342 -0
  288. package/skills/skills-codex/render-html/scripts/templates/dashboard.html +333 -0
  289. package/skills/skills-codex/research-lit/SKILL.md +464 -0
  290. package/skills/skills-codex/research-pipeline/SKILL.md +340 -0
  291. package/skills/skills-codex/research-refine/SKILL.md +721 -0
  292. package/skills/skills-codex/research-refine-pipeline/SKILL.md +186 -0
  293. package/skills/skills-codex/research-review/SKILL.md +135 -0
  294. package/skills/skills-codex/research-wiki/SKILL.md +421 -0
  295. package/skills/skills-codex/resubmit-pipeline/SKILL.md +444 -0
  296. package/skills/skills-codex/result-to-claim/SKILL.md +246 -0
  297. package/skills/skills-codex/run-experiment/SKILL.md +236 -0
  298. package/skills/skills-codex/semantic-scholar/SKILL.md +219 -0
  299. package/skills/skills-codex/serverless-modal/SKILL.md +335 -0
  300. package/skills/skills-codex/shared-references/acceptance-gate.md +336 -0
  301. package/skills/skills-codex/shared-references/assurance-contract.md +139 -0
  302. package/skills/skills-codex/shared-references/capture-antipatterns.md +84 -0
  303. package/skills/skills-codex/shared-references/citation-discipline.md +452 -0
  304. package/skills/skills-codex/shared-references/compute-env-contract.md +163 -0
  305. package/skills/skills-codex/shared-references/effort-contract.md +143 -0
  306. package/skills/skills-codex/shared-references/evidence-precheck.md +73 -0
  307. package/skills/skills-codex/shared-references/experiment-integrity.md +49 -0
  308. package/skills/skills-codex/shared-references/external-cadence.md +334 -0
  309. package/skills/skills-codex/shared-references/fan-out-pattern.md +375 -0
  310. package/skills/skills-codex/shared-references/injection-hygiene.md +132 -0
  311. package/skills/skills-codex/shared-references/integration-contract.md +372 -0
  312. package/skills/skills-codex/shared-references/output-composition.md +98 -0
  313. package/skills/skills-codex/shared-references/output-language.md +45 -0
  314. package/skills/skills-codex/shared-references/output-manifest.md +40 -0
  315. package/skills/skills-codex/shared-references/output-versioning.md +111 -0
  316. package/skills/skills-codex/shared-references/patent-format-cn.md +199 -0
  317. package/skills/skills-codex/shared-references/patent-format-ep.md +173 -0
  318. package/skills/skills-codex/shared-references/patent-format-us.md +161 -0
  319. package/skills/skills-codex/shared-references/patent-writing-principles.md +197 -0
  320. package/skills/skills-codex/shared-references/prior-art-databases.md +141 -0
  321. package/skills/skills-codex/shared-references/resumable-runs.md +125 -0
  322. package/skills/skills-codex/shared-references/review-scope-limits.md +81 -0
  323. package/skills/skills-codex/shared-references/review-tracing.md +144 -0
  324. package/skills/skills-codex/shared-references/reviewer-independence.md +66 -0
  325. package/skills/skills-codex/shared-references/reviewer-routing.md +128 -0
  326. package/skills/skills-codex/shared-references/skill-governance.md +119 -0
  327. package/skills/skills-codex/shared-references/taste-calibration.md +90 -0
  328. package/skills/skills-codex/shared-references/venue-checklists.md +73 -0
  329. package/skills/skills-codex/shared-references/wiki-helper-resolution.md +69 -0
  330. package/skills/skills-codex/shared-references/writing-principles.md +525 -0
  331. package/skills/skills-codex/slides-polish/SKILL.md +563 -0
  332. package/skills/skills-codex/specification-writing/SKILL.md +211 -0
  333. package/skills/skills-codex/system-profile/SKILL.md +103 -0
  334. package/skills/skills-codex/training-check/SKILL.md +83 -0
  335. package/skills/skills-codex/vast-gpu/SKILL.md +394 -0
  336. package/skills/skills-codex/web-debug-search/SKILL.md +334 -0
  337. package/skills/skills-codex/wiki-enrich/SKILL.md +255 -0
  338. package/skills/skills-codex/writing-systems-papers/SKILL.md +184 -0
  339. package/skills/skills-codex-claude-review/README.md +79 -0
  340. package/skills/skills-codex-claude-review/README_CN.md +78 -0
  341. package/skills/skills-codex-claude-review/auto-paper-improvement-loop/SKILL.md +581 -0
  342. package/skills/skills-codex-claude-review/auto-review-loop/SKILL.md +510 -0
  343. package/skills/skills-codex-claude-review/novelty-check/SKILL.md +102 -0
  344. package/skills/skills-codex-claude-review/paper-figure/SKILL.md +319 -0
  345. package/skills/skills-codex-claude-review/paper-plan/SKILL.md +287 -0
  346. package/skills/skills-codex-claude-review/paper-write/SKILL.md +420 -0
  347. package/skills/skills-codex-claude-review/research-refine/SKILL.md +732 -0
  348. package/skills/skills-codex-claude-review/research-review/SKILL.md +149 -0
  349. package/skills/skills-codex-gemini-review/README.md +176 -0
  350. package/skills/skills-codex-gemini-review/README_CN.md +175 -0
  351. package/skills/skills-codex-gemini-review/auto-paper-improvement-loop/SKILL.md +331 -0
  352. package/skills/skills-codex-gemini-review/auto-review-loop/SKILL.md +304 -0
  353. package/skills/skills-codex-gemini-review/grant-proposal/SKILL.md +630 -0
  354. package/skills/skills-codex-gemini-review/idea-creator/SKILL.md +263 -0
  355. package/skills/skills-codex-gemini-review/idea-discovery/SKILL.md +275 -0
  356. package/skills/skills-codex-gemini-review/idea-discovery-robot/SKILL.md +365 -0
  357. package/skills/skills-codex-gemini-review/novelty-check/SKILL.md +92 -0
  358. package/skills/skills-codex-gemini-review/paper-figure/SKILL.md +289 -0
  359. package/skills/skills-codex-gemini-review/paper-plan/SKILL.md +265 -0
  360. package/skills/skills-codex-gemini-review/paper-poster-html/SKILL.md +102 -0
  361. package/skills/skills-codex-gemini-review/paper-slides/SKILL.md +582 -0
  362. package/skills/skills-codex-gemini-review/paper-write/SKILL.md +346 -0
  363. package/skills/skills-codex-gemini-review/paper-writing/SKILL.md +312 -0
  364. package/skills/skills-codex-gemini-review/research-refine/SKILL.md +674 -0
  365. package/skills/skills-codex-gemini-review/research-review/SKILL.md +112 -0
  366. package/skills/slides-polish/SKILL.md +565 -0
  367. package/skills/specification-writing/SKILL.md +211 -0
  368. package/skills/system-profile/SKILL.md +103 -0
  369. package/skills/training-check/SKILL.md +132 -0
  370. package/skills/vast-gpu/SKILL.md +394 -0
  371. package/skills/web-debug-search/SKILL.md +334 -0
  372. package/skills/wiki-enrich/SKILL.md +257 -0
  373. package/skills/writing-systems-papers/SKILL.md +184 -0
  374. package/templates/CLAUDE_MD_TEMPLATE.md +29 -0
  375. package/templates/EXPERIMENT_LOG_TEMPLATE.md +47 -0
  376. package/templates/EXPERIMENT_PLAN_TEMPLATE.md +51 -0
  377. package/templates/EXPERIMENT_PLAN_TEMPLATE_CN.md +53 -0
  378. package/templates/FINDINGS_TEMPLATE.md +52 -0
  379. package/templates/IDEA_CANDIDATES_TEMPLATE.md +47 -0
  380. package/templates/IDEA_CANDIDATES_TEMPLATE_CN.md +47 -0
  381. package/templates/INVENTION_BRIEF_TEMPLATE.md +87 -0
  382. package/templates/MANIFEST_TEMPLATE.md +7 -0
  383. package/templates/NARRATIVE_REPORT_TEMPLATE.md +49 -0
  384. package/templates/PAPER_PLAN_TEMPLATE.md +47 -0
  385. package/templates/PATENT_CLAIMS_TEMPLATE.md +78 -0
  386. package/templates/PATENT_SPECIFICATION_TEMPLATE.md +68 -0
  387. package/templates/README.md +57 -0
  388. package/templates/RESEARCH_BRIEF_TEMPLATE.md +35 -0
  389. package/templates/RESEARCH_BRIEF_TEMPLATE_CN.md +41 -0
  390. package/templates/RESEARCH_CONTRACT_TEMPLATE.md +60 -0
  391. package/templates/claude-hooks/corpus_write_guard.json +16 -0
  392. package/templates/claude-hooks/corpus_write_guard.py +85 -0
  393. package/templates/claude-hooks/meta_logging.json +74 -0
  394. package/templates/gitignore-trace.txt +3 -0
  395. package/tools/__pycache__/check_skills_inventory.cpython-314.pyc +0 -0
  396. package/tools/arxiv_fetch.py +311 -0
  397. package/tools/capture_filter.py +126 -0
  398. package/tools/check_skills_inventory.py +273 -0
  399. package/tools/convert_skills_to_llm_chat.py +282 -0
  400. package/tools/copilot_native_evidence.py +818 -0
  401. package/tools/deepxiv_fetch.py +213 -0
  402. package/tools/evidence_check.py +212 -0
  403. package/tools/exa_search.py +425 -0
  404. package/tools/experiment_queue/README.md +118 -0
  405. package/tools/experiment_queue/build_manifest.py +44 -0
  406. package/tools/experiment_queue/queue_manager.py +44 -0
  407. package/tools/extract_paper_style.py +560 -0
  408. package/tools/figure_renderer.py +69 -0
  409. package/tools/forensics_gate.py +669 -0
  410. package/tools/generate_codex_claude_review_overrides.py +299 -0
  411. package/tools/idea_discovery_gate.py +256 -0
  412. package/tools/install_aris.ps1 +1372 -0
  413. package/tools/install_aris.sh +1370 -0
  414. package/tools/install_aris_codex.sh +1023 -0
  415. package/tools/install_aris_copilot.sh +1052 -0
  416. package/tools/iteration_log.py +143 -0
  417. package/tools/lint_skills_helpers.sh +84 -0
  418. package/tools/meta_opt/check_ready.sh +80 -0
  419. package/tools/meta_opt/log_event.sh +91 -0
  420. package/tools/meta_opt/trigger_eval.py +280 -0
  421. package/tools/meta_opt/trigger_evals.sample.json +28 -0
  422. package/tools/openalex_fetch.py +326 -0
  423. package/tools/overleaf_audit.sh +104 -0
  424. package/tools/overleaf_setup.sh +150 -0
  425. package/tools/paper_illustration_image2.py +62 -0
  426. package/tools/provenance.py +294 -0
  427. package/tools/research_wiki.py +1720 -0
  428. package/tools/review_gate.py +502 -0
  429. package/tools/run_state.py +399 -0
  430. package/tools/save_trace.sh +477 -0
  431. package/tools/semantic_scholar_fetch.py +438 -0
  432. package/tools/skill-groups.tsv +116 -0
  433. package/tools/skill_picker.py +238 -0
  434. package/tools/smart_update.ps1 +521 -0
  435. package/tools/smart_update.sh +591 -0
  436. package/tools/smart_update_codex.sh +419 -0
  437. package/tools/smart_update_copilot.sh +605 -0
  438. package/tools/threat_scan.py +222 -0
  439. package/tools/verify_paper_audits.sh +487 -0
  440. package/tools/verify_papers.py +613 -0
  441. package/tools/verify_wiki_coverage.sh +176 -0
  442. package/tools/watchdog.py +485 -0
@@ -0,0 +1,197 @@
1
+ # Patent Writing Principles
2
+
3
+ Use this reference when `claims-drafting`, `specification-writing`, or `invention-structuring` need guidance on patent-specific writing rules.
4
+
5
+ ## When to Read
6
+
7
+ - Read before drafting any claims.
8
+ - Read when specification text needs to support claim scope.
9
+ - Read when choosing between claim formats (Jepson vs. two-part vs. open-ended).
10
+ - Read when the language feels too academic or too vague for patent purposes.
11
+ - Read before jurisdiction-specific formatting.
12
+
13
+ ## Contents
14
+
15
+ - [Core Patent Writing Rules](#core-patent-writing-rules)
16
+ - [Claim Drafting Principles](#claim-drafting-principles)
17
+ - [Specification Writing Rules](#specification-writing-rules)
18
+ - [Common Pitfalls](#common-pitfalls)
19
+ - [Terminology Discipline](#terminology-discipline)
20
+
21
+ ---
22
+
23
+ ## Core Patent Writing Rules
24
+
25
+ ### The Three Requirements
26
+
27
+ Every patent application must satisfy three fundamental requirements:
28
+
29
+ 1. **Novelty** (新颖性): The invention must be new -- not anticipated by a single prior art reference.
30
+ 2. **Inventive Step / Non-obviousness** (创造性): The invention must not be obvious to a person skilled in the art (POSITA) based on prior art.
31
+ 3. **Industrial Applicability / Utility** (实用性): The invention must be capable of being made or used in industry.
32
+
33
+ ### The Written Description Requirement
34
+
35
+ The specification must demonstrate that the inventor was in **possession** of the claimed invention as of the filing date. This means:
36
+
37
+ - Every element in every claim must find explicit or inherent support in the specification.
38
+ - Broader claims require broader disclosure. If you claim "a processor," the spec must show you had a processor in mind, not just one specific chip.
39
+ - Adding claim scope after filing that wasn't in the original disclosure is not permitted (no new matter).
40
+
41
+ ### The Enablement Requirement
42
+
43
+ The specification must teach a **Person Skilled in the Art (POSITA)** to make and use the invention without undue experimentation. Test: could a skilled practitioner reproduce the invention from your description alone?
44
+
45
+ ### Claims Define Scope, Specification Enables It
46
+
47
+ - **Claims** = the legal boundary (what is protected)
48
+ - **Specification** = the teaching (how to practice the invention)
49
+ - **Figures** = the visual aid (reference numerals link claims to specification)
50
+
51
+ ---
52
+
53
+ ## Claim Drafting Principles
54
+
55
+ ### Broadest Reasonable Interpretation (BRI)
56
+
57
+ Claims are interpreted under the **broadest reasonable interpretation** during prosecution (USPTO standard; EPO uses a different but analogous approach). This means:
58
+
59
+ - Common words are given their ordinary meaning.
60
+ - Terms are NOT limited to the embodiments described in the specification.
61
+ - If you want a term to have a special meaning, you must explicitly define it in the specification.
62
+
63
+ ### Claim Structure (Universal)
64
+
65
+ Every claim has:
66
+ 1. **Preamble**: Identifies the category of invention (e.g., "A method for...", "A system comprising...", "An apparatus for...")
67
+ 2. **Transitional phrase**: Defines scope boundary
68
+ - "comprising" / "including" / "containing" = OPEN (additional elements allowed)
69
+ - "consisting of" = CLOSED (no additional elements)
70
+ - "consisting essentially of" = SEMI-OPEN (allows insubstantial variations)
71
+ 3. **Body**: The claim elements/limitations, each separated by semicolons or commas
72
+
73
+ ### Antecedent Basis
74
+
75
+ - First mention of an element: use indefinite article ("a", "an") -- "a processor"
76
+ - Subsequent mentions: use definite article ("the", "said") -- "the processor"
77
+ - Never use "the" for something not previously introduced in the claim.
78
+ - Never use "a" again for the same element (implies a second instance).
79
+
80
+ ### Independent vs. Dependent Claims
81
+
82
+ **Independent claims** define the broadest defensible scope. Draft these first.
83
+
84
+ **Dependent claims** narrow the scope by adding specific limitations. Each dependent claim:
85
+ - Must refer back to a prior claim ("The method of claim 1, wherein...")
86
+ - Must add at least one meaningful limitation
87
+ - Should provide fallback positions if the independent claim is rejected
88
+ - Should cover preferred embodiments described in the specification
89
+
90
+ ### Multiple Claim Categories
91
+
92
+ For the same invention, draft claims in multiple categories:
93
+ - **Method/process claims**: Steps performed
94
+ - **System/apparatus claims**: Structural components
95
+ - **Computer-readable medium claims**: (US) Tangible medium storing instructions
96
+ - **Product-by-process claims**: (when structure is difficult to define)
97
+
98
+ This multiplies the scope of protection without requiring separate applications.
99
+
100
+ ---
101
+
102
+ ## Specification Writing Rules
103
+
104
+ ### Section Structure (Universal)
105
+
106
+ 1. **Title**: Concise, matches broadest claim scope, no trademark names, no "improved" or "new"
107
+ 2. **Technical Field** (技术领域): 1-2 paragraphs identifying the technical domain
108
+ 3. **Background** (背景技术): Prior art and its deficiencies -- NOT a literature review, but specific technical shortcomings that the invention addresses
109
+ 4. **Summary** (发明内容): Problem-Solution-Advantage triple
110
+ 5. **Brief Description of Drawings** (附图说明): One sentence per figure
111
+ 6. **Detailed Description** (具体实施方式): Detailed embodiments with reference numerals
112
+ 7. **Abstract** (摘要): Jurisdiction-specific word limits
113
+
114
+ ### Language Rules for Specifications
115
+
116
+ **DO:**
117
+ - Use "embodiment", "aspect", "implementation", "configuration"
118
+ - Use "optionally", "preferably", "in some implementations"
119
+ - Use "may" for optional features, "shall" or "is configured to" for required features
120
+ - Reference figures by numeral: "As shown in FIG. 1, the processor 102..."
121
+ - Use consistent terminology throughout (same word for same concept)
122
+
123
+ **DO NOT:**
124
+ - Use subjective adjectives: "excellent", "surprising", "revolutionary", "superior"
125
+ - Use result-to-be-achieved language: "configured to achieve high accuracy" (instead describe HOW)
126
+ - Use relative terms without definition: "thin", "strong", "fast", "small"
127
+ - Admit prior art is better: avoid "unlike the prior art, which works well, we..."
128
+ - Include experimental results tables (save for prosecution arguments, not the spec itself)
129
+
130
+ ### Reference Numeral Convention
131
+
132
+ - Use consistent numbering series: 100-series for FIG. 1, 200-series for FIG. 2
133
+ - Every component mentioned in specification must have a numeral
134
+ - Every numeral in figures must be explained in the specification
135
+ - Format: "processor 102", "memory 104", "bus 106" (numeral follows the noun)
136
+
137
+ ---
138
+
139
+ ## Common Pitfalls
140
+
141
+ ### Negative Limitations
142
+
143
+ Avoid claims that define the invention by what it is NOT:
144
+ - Bad: "A method that does not use a database"
145
+ - Good: "A method comprising storing data in a local cache"
146
+
147
+ Negative limitations are sometimes necessary but require explicit basis in the specification.
148
+
149
+ ### Result-to-Be-Achieved Claims
150
+
151
+ Do not claim a result without describing the mechanism:
152
+ - Bad: "A method for achieving 99% accuracy in image classification"
153
+ - Good: "A method comprising: extracting features using a convolutional neural network having at least three residual blocks..."
154
+
155
+ ### Indefinite Terms
156
+
157
+ Avoid terms that create uncertainty about scope:
158
+ - "approximately", "about", "substantially" -- acceptable if the specification defines the range
159
+ - "high quality", "efficient", "optimal" -- too vague, will receive 112(b) rejection (US)
160
+ - "etc.", "and the like", "or similar" -- creates open-ended ambiguity
161
+
162
+ ### Functional Claiming (Means-Plus-Function)
163
+
164
+ In US practice, "means for [function]" triggers 35 USC 112(f) and is limited to the corresponding structure in the specification. Use with caution:
165
+ - "means for processing" = limited to the specific processor embodiments described
166
+ - "a processor configured to process" = broader (not means-plus-function)
167
+ - In CN/EP practice, functional claiming is generally more restrictive
168
+
169
+ ### Claim Differentiation Doctrine
170
+
171
+ Dependent claims are presumed to have different scope from their parent claims. Do not:
172
+ - Copy the parent claim verbatim into a dependent claim
173
+ - Add a limitation that is already inherent in the parent claim
174
+ - Create dependent claims that are merely cumulative combinations of other dependent claims
175
+
176
+ ---
177
+
178
+ ## Terminology Discipline
179
+
180
+ ### Consistency Rule
181
+
182
+ Once a term is introduced, use it identically throughout:
183
+ - Do NOT alternate between "processor", "processing unit", "CPU", "computing device" for the same component
184
+ - If the invention has a specific component, name it once and reuse that name
185
+
186
+ ### Definition Rule
187
+
188
+ If a term has a meaning specific to your invention:
189
+ 1. Define it explicitly in the specification
190
+ 2. Use "hereinafter referred to as" or "herein defined as" language
191
+ 3. Use the defined term consistently thereafter
192
+
193
+ ### Jurisdiction-Specific Terminology
194
+
195
+ - **CN**: Use standard patent Chinese. "所述" (said/the), "其特征在于" (characterized in that), "一种...的方法/装置" (a method/apparatus for...)
196
+ - **US**: Use standard patent English. "comprising", "configured to", "in communication with"
197
+ - **EP**: Follow EPO Guidelines for Examination. Two-part claim form mandatory.
@@ -0,0 +1,141 @@
1
+ # Prior Art Search Databases Guide
2
+
3
+ Use this reference in `/prior-art-search` for systematic patent and literature searching.
4
+
5
+ ## When to Read
6
+
7
+ - Read when conducting prior art searches
8
+ - Read when formulating search queries for patents
9
+ - Read when classifying search results by IPC/CPC codes
10
+
11
+ ## Patent Databases (Free, Web-Accessible)
12
+
13
+ ### Google Patents
14
+ - **URL**: patents.google.com
15
+ - **Coverage**: US, EP, CN, WIPO, JP, KR, and 100+ jurisdictions
16
+ - **Search syntax**: Full-text search, inventor:, assignee:, CPC:, before:, after:
17
+ - **Strengths**: Best free full-text search, automatic translation of CN/JP/KR patents, family grouping
18
+ - **Weaknesses**: No legal status data, may lag behind official databases by weeks
19
+ - **Usage in skills**: `WebSearch "site:patents.google.com [keywords]"` or `WebFetch` for specific patent pages
20
+
21
+ ### Espacenet (EPO)
22
+ - **URL**: worldwide.espacenet.com
23
+ - **Coverage**: 150+ million patent documents from 100+ authorities
24
+ - **Search syntax**: Classification=(CPC/IPC), Applicant=, Title/Abstract/Claims full text
25
+ - **Strengths**: Most comprehensive free database, machine translation, legal status via INPADOC
26
+ - **Weaknesses**: Interface is less intuitive, some features require registration
27
+ - **Usage**: `WebFetch` for search results and individual patent pages
28
+
29
+ ### CNIPA Patent Search (中国及多国专利审查信息查询)
30
+ - **URL**: pss-system.cponline.cnipa.gov.cn (or similar)
31
+ - **Coverage**: Chinese patents (CN), the authoritative source for CN applications
32
+ - **Strengths**: Official Chinese patent data, full Chinese text, examination status
33
+ - **Weaknesses**: Interface in Chinese only, limited foreign coverage
34
+ - **Usage**: `WebFetch` for Chinese-specific searches
35
+
36
+ ### USPTO Patent Full-Text Databases
37
+ - **PatFT**: patents.google.com/patents (US granted patents)
38
+ - **AppFT**: patents.google.com (US published applications)
39
+ - **PAIR**: patentcenter.uspto.gov (prosecution history)
40
+ - **Coverage**: US patents and applications
41
+ - **Usage**: `WebFetch` for specific US patent numbers
42
+
43
+ ### WIPO PATENTSCOPE
44
+ - **URL**: patentscope.wipo.int
45
+ - **Coverage**: PCT international applications (WO publications)
46
+ - **Strengths**: Full PCT application texts, CLIR cross-lingual search
47
+ - **Usage**: `WebFetch` for PCT applications
48
+
49
+ ## Academic Literature Databases
50
+
51
+ These are also prior art (non-patent literature, NPL):
52
+
53
+ | Database | URL | Coverage | API Available |
54
+ |----------|-----|----------|---------------|
55
+ | Google Scholar | scholar.google.com | Broadest academic coverage | No API, use WebSearch |
56
+ | Semantic Scholar | semanticscholar.org | CS, biomedical, 200M+ papers | Yes (SEMANTIC_SCHOLAR_API_KEY) |
57
+ | arXiv | arxiv.org | Preprints (CS, physics, math, etc.) | Yes (arxiv_fetch.py) |
58
+ | DBLP | dblp.org | CS bibliography | Yes (XML API) |
59
+ | CrossRef | crossref.org | DOIs for all published works | Yes (free, no key needed) |
60
+ | OpenAlex | openalex.org | 250M+ scholarly works | Yes (free, no key needed) |
61
+
62
+ ## IPC/CPC Classification System
63
+
64
+ The International Patent Classification (IPC) and Cooperative Patent Classification (CPC) organize patents hierarchically:
65
+
66
+ ### Structure
67
+ ```
68
+ A 61 K 39 / 395
69
+ │ │ │ │ │
70
+ │ │ │ │ └─ Subgroup (specific)
71
+ │ │ │ └─ Group
72
+ │ │ └─ Subclass
73
+ │ └─ Class
74
+ └─ Section (A=Human necessities, B=Performing operations, C=Chemistry, etc.)
75
+ ```
76
+
77
+ ### Most Relevant Sections for Software/ML Inventions
78
+ - **G06F**: Electric digital data processing
79
+ - **G06N**: Computing arrangements based on specific computational models (AI/ML)
80
+ - **G06K**: Recognition of data; Presentation of data
81
+ - **G06T**: Image data processing or generation
82
+ - **G06Q**: Data processing systems for business/finance/administration
83
+ - **H04L**: Transmission of digital information (networking)
84
+ - **H04N**: Pictorial communication (video, image)
85
+
86
+ ### Search Strategy with Classifications
87
+
88
+ 1. Identify relevant IPC/CPC classes from the invention description
89
+ 2. Search within those classes for targeted results
90
+ 3. Expand to parent/child classes for broader coverage
91
+ 4. Combine class-restricted searches with keyword searches
92
+
93
+ ## Search Strategy Template
94
+
95
+ For each invention, execute this search protocol:
96
+
97
+ ### Step 1: Keyword Search
98
+ ```
99
+ Primary: [core inventive concept keywords]
100
+ Secondary: [technical problem keywords]
101
+ Tertiary: [advantage/feature keywords]
102
+ ```
103
+
104
+ ### Step 2: Classification Search
105
+ ```
106
+ IPC/CPC: [identified classes]
107
+ Cross-reference: [related classes]
108
+ ```
109
+
110
+ ### Step 3: Assignee/Inventor Search
111
+ ```
112
+ Key assignees: [known companies/universities in the field]
113
+ Key inventors: [known researchers in the field]
114
+ ```
115
+
116
+ ### Step 4: Citation Analysis
117
+ - Forward citations: who cited the closest prior art?
118
+ - Backward citations: what did the closest prior art cite?
119
+
120
+ ### Step 5: Family Analysis
121
+ - Group results by patent family (same invention, different jurisdictions)
122
+ - Only the most relevant family member needs detailed analysis
123
+
124
+ ## Output Format
125
+
126
+ For each prior art reference found:
127
+
128
+ ```markdown
129
+ | Field | Content |
130
+ |-------|---------|
131
+ | Reference ID | [Patent number or paper DOI] |
132
+ | Type | Patent / Paper / Other |
133
+ | Title | [Full title] |
134
+ | Date | [Publication/priority date] |
135
+ | Assignee/Authors | [Who] |
136
+ | IPC/CPC | [Classification codes] |
137
+ | Key Teaching | [What does it teach, 2-3 sentences] |
138
+ | Relevant Claims | [Which claims, if patent] |
139
+ | Overlap Risk | HIGH / MEDIUM / LOW |
140
+ | Relationship | [Anticipating / Relevant / Background] |
141
+ ```
@@ -0,0 +1,109 @@
1
+ # Resumable Runs
2
+
3
+ A long ARIS workflow (`/research-pipeline`, `/paper-writing`, `/idea-discovery`)
4
+ can fail mid-run — a rate limit, a crash, an overnight timeout. Today there is no
5
+ record of *which phase finished*, so a resume restarts from scratch (this is the
6
+ live complaint in issue #272: "the survey run failed — can it continue from the
7
+ last task?"). `tools/run_state.py` fixes that: a run is an **ordered list of
8
+ phases with status**, persisted at `<root>/.aris/runs/<run_id>.json`.
9
+
10
+ Workflow-level deterministic checks are recorded separately under `gates` in
11
+ the same state file. A gate may emit `PASS` or `BLOCKED` with durable reasons;
12
+ it does not replace the per-phase acceptance record.
13
+
14
+ ## The one idea that makes this ARIS, not just "reopen the session"
15
+
16
+ Resumption is not "reopen the id" — it is **resolve FORWARD to where progress
17
+ that can be TRUSTED actually landed.** And "trusted" is where ARIS's invariant
18
+ lives. The phase-status enum splits execution from acceptance:
19
+
20
+ | status | meaning | who sets it | gate class |
21
+ |--------|---------|-------------|-----------|
22
+ | `pending` | not started | `start` | — |
23
+ | `running` | in progress | executor (`set`) | — |
24
+ | `failed` | executor errored | executor (`set`) | — |
25
+ | **`done`** | executor finished writing the artifact | executor (`set`) | **EXECUTION-completeness — safe same-model self-report** |
26
+ | **`accepted`** | a cross-model reviewer **or** a deterministic verifier returned a positive verdict | **`accept` only** — requires a recorded verdict id + reviewer, AND the phase already `done` (use `--force` for a purely-deterministic phase with no executor step) | **QUALITY/correctness — cross-model (or a deterministic check)** |
27
+ | `skipped` | the phase does not apply to this run (e.g. `paper-writing` when `AUTO_WRITE=false`) | executor (`set`) | terminal — a deterministic config decision, not a quality verdict |
28
+
29
+ **Resume walks forward to the first phase that is NOT terminal ({`accepted`, `skipped`})** — never
30
+ the first non-`done`. So a phase the executor self-considered "done" but that
31
+ crashed *before its cross-model audit* is **re-validated** on resume, never
32
+ silently skipped. This is `acceptance-gate.md` made operational: **a loop can
33
+ DRIVE resume, it cannot ACQUIT a phase past itself.**
34
+
35
+ The split is enforced in code, not just docs: `set_status()` may only write
36
+ `running/done/failed`; only `accept()` writes `accepted`, and it **requires** a
37
+ non-empty `verdict_id` + `reviewer` — you cannot mark a phase accepted without
38
+ recording who acquitted it. (A `done`-but-never-`accepted` phase is therefore
39
+ *structurally* visible as an unmet acceptance obligation.)
40
+
41
+ ## Who may call `accept`
42
+
43
+ Only:
44
+ - a **cross-model reviewer** verdict (codex/gemini, per `reviewer-independence.md`)
45
+ — `reviewer="codex-gpt-5.6-sol"`, `verdict_id=<thread/trace id>`; or
46
+ - a **deterministic verifier** — `verify_papers.py`, a passing test suite, a
47
+ compile that exits 0, a file-exists check for a purely mechanical phase.
48
+ Record it as `reviewer="deterministic:verify_papers.py"` so the audit trail
49
+ shows acceptance was not a model self-report (per `fan-out-pattern.md`: a
50
+ deterministic verifier is a valid jury; a process is not a model family).
51
+
52
+ The **executor (Claude) must never call `accept` on its own self-report.** Marking
53
+ your own phase done is fine (`set done`); acquitting it is not. `accept` records
54
+ the `reviewer` and warns loudly if it looks like the executor's own family
55
+ (a `claude*` reviewer ≈ self-acquittal). Record `verdict_id` as a **durable
56
+ handle** — the reviewer thread/trace id, or the path/sha of the verifier's report
57
+ (e.g. `.aris/audit-verifier-report.json`) — not just a label, so the acceptance
58
+ is auditable later.
59
+
60
+ **Concurrency:** one orchestrator per run (single-writer contract). Mutations are
61
+ load-modify-save under a best-effort `flock` with atomic temp-file replace, so a
62
+ stray concurrent resumer can't corrupt the JSON — but a `/loop`/cron resumer must
63
+ not deliberately double-run a run (per `external-cadence.md`, the scheduler
64
+ triggers resume, it does not own the verdict).
65
+
66
+ ## Helper API / CLI
67
+
68
+ ```
69
+ from run_state import start_run, set_status, accept, record_gate_result, resume_point
70
+ start_run(root, run_id, phases) # phases: ["W1","W1.5","W2","W3"]
71
+ set_status(root, run_id, phase, "running"|"done"|"failed", artifact=path)
72
+ accept(root, run_id, phase, verdict_id, reviewer) # the ONLY path to `accepted`
73
+ record_gate_result(root, run_id, gate, "PASS"|"BLOCKED", reasons)
74
+ resume_point(root, run_id) # -> first NON-TERMINAL phase ({accepted,skipped} skipped), or None
75
+ ```
76
+
77
+ ```
78
+ python3 tools/run_state.py start <root> <run_id> --phases "W1,W1.5,W2,W3"
79
+ python3 tools/run_state.py set <root> <run_id> W1 done --artifact idea-stage/IDEA_REPORT.md
80
+ python3 tools/run_state.py accept <root> <run_id> W1 --verdict-id codex:019e... --reviewer codex-gpt-5.6-sol
81
+ python3 tools/run_state.py resume <root> <run_id> # prints the resume-target phase name on stdout
82
+ python3 tools/run_state.py status <root> <run_id>
83
+ ```
84
+
85
+ ## Integration pattern for a workflow skill
86
+
87
+ 1. **At run start** (or `— resume <run_id>`): if resuming, `resume_point` gives
88
+ the phase to start at; else `start_run` with the phase list.
89
+ 2. **Per phase:** `set running` → do the work → `set done --artifact <path>`.
90
+ 3. **At the phase's gate:** run the phase's existing cross-model audit / jury (or
91
+ deterministic verifier). **Only on a positive verdict** call
92
+ `accept --verdict-id <id> --reviewer <name>`. A failed/ambiguous verdict leaves
93
+ the phase `done` (unaccepted) → it will be re-validated on the next resume.
94
+ 4. **Resume** therefore re-runs `running`/`failed` phases and **re-audits**
95
+ `done`-but-unaccepted phases, and skips only terminal (`accepted`/`skipped`) ones.
96
+
97
+ ## Cross-references
98
+ - `acceptance-gate.md` — the source rule (`done` = execution-completeness, safe
99
+ same-model; `accepted` = quality/correctness, must be cross-model or
100
+ deterministic). This file is that rule applied to multi-phase resume.
101
+ - `external-cadence.md` — `/loop` / `/schedule` may *trigger* a resume (fire-control)
102
+ but the acceptance status is owned by the gate, not the scheduler.
103
+ - `reviewer-independence.md` — the `accept` verdict comes from a fresh cross-model
104
+ thread (paths only), and its id is recorded for audit.
105
+
106
+ > Shape inspired by NousResearch/hermes-agent's resume-resolves-forward insight
107
+ > (`hermes_state.py` resolve_resume_session_id). ARIS's increment: Hermes's phase
108
+ > is execution-driven only ("the agent finished → resumable"); ARIS adds the
109
+ > `accepted` gate so resume cannot carry a self-judged-but-unverified phase forward.
@@ -0,0 +1,81 @@
1
+ # Review Scope Limits — what a reviewer may propose
2
+
3
+ ARIS is a research-workflow tool. Its reviewers exist to find what is **actually
4
+ wrong**, not to harden a codebase against what is not happening.
5
+
6
+ This contract is about what a reviewer may **propose**. It never limits what a
7
+ reviewer may **look for** — see *Find vs propose* below.
8
+
9
+ ## The block
10
+
11
+ Every reviewer prompt that can result in a proposed change to code, prompts, or
12
+ mechanism carries this verbatim:
13
+
14
+ ```
15
+ === SCOPE LIMITS (these bound what you PROPOSE, never what you look for) ===
16
+ Report anything that is actually wrong here — including a rare-looking case, if
17
+ this repo actually produces it. Then keep the fix in scope:
18
+ 1. This is a RESEARCH-WORKFLOW tool, not a security paper. Verification is
19
+ welcome; over-defense is not. Assume a cooperating operator on their own
20
+ machine — a malicious local user is NOT in the threat model.
21
+ 2. Do NOT propose SHA / hash / content-fingerprint / digest-binding schemes.
22
+ Reporting a real defect in hashing code that already exists is fine.
23
+ 3. NO speculative machinery: do not add feature flags, migration frameworks,
24
+ compat layers, wrappers, pins, or similar mechanisms unless evidence shows
25
+ a current repo defect they fix or an explicit existing invariant they must
26
+ preserve. "Load-bearing", "compatibility", and "not scaffolding" are labels,
27
+ not evidence. Point to the failing path/artifact or invariant, and check the
28
+ proposal's factual premises, such as whether a named package version exists.
29
+ 4. NO corner-case obsession: exotic encodings, symlink races, RTL text and
30
+ millisecond races are out of scope unless you can show the case arises here.
31
+ 5. Where a rubric or checklist is genuinely needed, do not over-mechanize
32
+ judgement. A clear sentence a human reads beats a scored table nobody
33
+ maintains.
34
+ Exception: code that runs remote commands, starts a network service, or installs
35
+ an MCP server runs on the user's machine with their credentials — trust-boundary
36
+ findings there are in scope and the default is strict.
37
+ Say plainly when something is correct. Do not manufacture findings.
38
+ ```
39
+
40
+ ## Find vs propose
41
+
42
+ These limits bound the **fix**, never the **search**. A reviewer should still
43
+ report:
44
+
45
+ - a bug that only fires on an unusual input, **if that input actually occurs**
46
+ here (a documented example that produces it counts as occurring);
47
+ - a real defect in existing hash/fingerprint code — the ban is on *proposing new*
48
+ binding, not on reading what exists;
49
+ - a case where the code and its own documentation disagree.
50
+
51
+ Worded the wrong way, "no corner cases" would suppress real findings. The test is
52
+ not *how rare does this sound*, it is **does this happen here**.
53
+
54
+ ## The one exception
55
+
56
+ Code that **executes remote commands, starts a network service, or installs an
57
+ MCP server** is different. Trust-boundary findings there are in scope and the
58
+ default is strict — that code runs on a user's GPU box with their credentials.
59
+ `/experiment-queue`, `/run-experiment`, `/vast-gpu`, `/serverless-modal`,
60
+ `mcp-servers/*` and the installers are the surfaces this covers.
61
+
62
+ ## Why this exists
63
+
64
+ Not a style preference. Measured over one day of real maintenance review
65
+ (2026-08-10, ~10 rounds of gpt-5.6-sol at xhigh/ultra), every discarded proposal
66
+ fell in these categories: adding hash binding to a gate that already had four
67
+ layers, adding a lint to mechanize a rule the corpus deliberately keeps as prose,
68
+ adding a dual-spelling compatibility layer for what was a typo, and hardening a
69
+ race that closes in milliseconds. None was self-limiting; each had to be refused
70
+ by hand.
71
+
72
+ The same reviewer, in the same rounds, found five genuine defects that had shipped
73
+ — including one that killed every job in the experiment queue at 60 seconds. The
74
+ reviewer is worth its cost. This contract is how that value arrives without the
75
+ tax.
76
+
77
+ ## Related
78
+
79
+ - [`acceptance-gate.md`](acceptance-gate.md) — what a reviewer verdict may and may not settle.
80
+ - [`reviewer-independence.md`](reviewer-independence.md) — what the reviewer is allowed to see.
81
+ - [`reviewer-routing.md`](reviewer-routing.md) — which backend, which effort tier.