research-copilot 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 (395) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +190 -0
  3. package/app/build/icon.icns +0 -0
  4. package/app/build/icon.ico +0 -0
  5. package/app/build/icon.png +0 -0
  6. package/app/out/main/index.mjs +6719 -0
  7. package/app/out/preload/index.js +141 -0
  8. package/app/out/renderer/assets/Inter-Variable-Latin-8kRkwJBP.woff2 +0 -0
  9. package/app/out/renderer/assets/Inter-Variable-LatinExt-B_-bZUTo.woff2 +0 -0
  10. package/app/out/renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  11. package/app/out/renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  12. package/app/out/renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  13. package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  14. package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  15. package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  16. package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  17. package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  18. package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  19. package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  20. package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  21. package/app/out/renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  22. package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  23. package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  24. package/app/out/renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  25. package/app/out/renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  26. package/app/out/renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  27. package/app/out/renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  28. package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  29. package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  30. package/app/out/renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  31. package/app/out/renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  32. package/app/out/renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  33. package/app/out/renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  34. package/app/out/renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  35. package/app/out/renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  36. package/app/out/renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  37. package/app/out/renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  38. package/app/out/renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  39. package/app/out/renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  40. package/app/out/renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  41. package/app/out/renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  42. package/app/out/renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  43. package/app/out/renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  44. package/app/out/renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  45. package/app/out/renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  46. package/app/out/renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  47. package/app/out/renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  48. package/app/out/renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  49. package/app/out/renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  50. package/app/out/renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  51. package/app/out/renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  52. package/app/out/renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  53. package/app/out/renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  54. package/app/out/renderer/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  55. package/app/out/renderer/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  56. package/app/out/renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  57. package/app/out/renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  58. package/app/out/renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  59. package/app/out/renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  60. package/app/out/renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  61. package/app/out/renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  62. package/app/out/renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  63. package/app/out/renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  64. package/app/out/renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  65. package/app/out/renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  66. package/app/out/renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  67. package/app/out/renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  68. package/app/out/renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  69. package/app/out/renderer/assets/MilkdownMarkdownEditor-bLPxrCVb.js +89821 -0
  70. package/app/out/renderer/assets/MilkdownMarkdownEditor-tTNRIB2K.css +2555 -0
  71. package/app/out/renderer/assets/Tableau10-BqnYsPR6.js +9 -0
  72. package/app/out/renderer/assets/apl-fqmucPXA.js +140 -0
  73. package/app/out/renderer/assets/arc-J47ePHZ2.js +132 -0
  74. package/app/out/renderer/assets/array-DgktLKBx.js +6 -0
  75. package/app/out/renderer/assets/asciiarmor-DucZyvP0.js +56 -0
  76. package/app/out/renderer/assets/asn1-BnOEsgAm.js +144 -0
  77. package/app/out/renderer/assets/asterisk-QAlztEwS.js +345 -0
  78. package/app/out/renderer/assets/blockDiagram-c4efeb88-5uRQXgQJ.js +1817 -0
  79. package/app/out/renderer/assets/brainfuck-DZVCuF_t.js +53 -0
  80. package/app/out/renderer/assets/c4Diagram-c83219d4-C4iCTPEL.js +2464 -0
  81. package/app/out/renderer/assets/channel-ZAmhHE3g.js +7 -0
  82. package/app/out/renderer/assets/classDiagram-beda092f-7NOZxq_W.js +357 -0
  83. package/app/out/renderer/assets/classDiagram-v2-2358418a-5fPT-cUH.js +291 -0
  84. package/app/out/renderer/assets/clike-xqXYL6ge.js +805 -0
  85. package/app/out/renderer/assets/clojure-BhXMqnxz.js +849 -0
  86. package/app/out/renderer/assets/clone-CsnzsYXQ.js +8 -0
  87. package/app/out/renderer/assets/cmake-BGaNd9E7.js +71 -0
  88. package/app/out/renderer/assets/cobol-4yqQntpt.js +120 -0
  89. package/app/out/renderer/assets/coffeescript-D2dXvhEc.js +308 -0
  90. package/app/out/renderer/assets/commonlisp-CF_VNHQR.js +130 -0
  91. package/app/out/renderer/assets/createText-1719965b-Cji7KN4K.js +4904 -0
  92. package/app/out/renderer/assets/crystal-DyuLTqLs.js +398 -0
  93. package/app/out/renderer/assets/css-c-jst79C.js +1783 -0
  94. package/app/out/renderer/assets/cypher-Dlu_3r4V.js +121 -0
  95. package/app/out/renderer/assets/d-UURgV0Ux.js +179 -0
  96. package/app/out/renderer/assets/diff-B_Bi2Crb.js +25 -0
  97. package/app/out/renderer/assets/dockerfile-Bvk733Ga.js +201 -0
  98. package/app/out/renderer/assets/dtd-Dy74G54E.js +114 -0
  99. package/app/out/renderer/assets/dylan-TSb-Nfix.js +314 -0
  100. package/app/out/renderer/assets/ebnf-DAomQUbD.js +139 -0
  101. package/app/out/renderer/assets/ecl-B59qGGVg.js +178 -0
  102. package/app/out/renderer/assets/edges-96097737-CD0EvAZQ.js +1844 -0
  103. package/app/out/renderer/assets/eiffel-Dze7nlu3.js +134 -0
  104. package/app/out/renderer/assets/elm-DG7jkhNZ.js +176 -0
  105. package/app/out/renderer/assets/erDiagram-0228fc6a-DRYXBpi7.js +1321 -0
  106. package/app/out/renderer/assets/erlang-BO6gOnGA.js +674 -0
  107. package/app/out/renderer/assets/factor-CMxFHDqz.js +65 -0
  108. package/app/out/renderer/assets/fcl-CDDUNjTj.js +141 -0
  109. package/app/out/renderer/assets/flowDb-c6c81e3f-CuoIN-Cy.js +1713 -0
  110. package/app/out/renderer/assets/flowDiagram-50d868cf-CPWPLOml.js +1272 -0
  111. package/app/out/renderer/assets/flowDiagram-v2-4f6560a1-C_R12s4S.js +33 -0
  112. package/app/out/renderer/assets/flowchart-elk-definition-6af322e1-BdKUSFpi.js +92921 -0
  113. package/app/out/renderer/assets/forth-B9D2JCeE.js +116 -0
  114. package/app/out/renderer/assets/fortran-CAG2BFbe.js +467 -0
  115. package/app/out/renderer/assets/ganttDiagram-a2739b55-ygqT5HlG.js +3399 -0
  116. package/app/out/renderer/assets/gas-d3KEcW3x.js +294 -0
  117. package/app/out/renderer/assets/gherkin-DhZlEZiy.js +115 -0
  118. package/app/out/renderer/assets/gitGraphDiagram-82fe8481-D97GT4iA.js +1791 -0
  119. package/app/out/renderer/assets/graph-DpC13d95.js +1237 -0
  120. package/app/out/renderer/assets/groovy-CpwJiBl7.js +223 -0
  121. package/app/out/renderer/assets/haskell-BlGBCCe3.js +459 -0
  122. package/app/out/renderer/assets/haxe-7MlzfeYV.js +514 -0
  123. package/app/out/renderer/assets/http-BqypyemW.js +79 -0
  124. package/app/out/renderer/assets/idl-4HIGJlDI.js +985 -0
  125. package/app/out/renderer/assets/index-4-ziknCv.js +292 -0
  126. package/app/out/renderer/assets/index-5325376f-Bbs7Fbqr.js +663 -0
  127. package/app/out/renderer/assets/index-B2jip-rk.js +2489 -0
  128. package/app/out/renderer/assets/index-BKTVfokE.js +312 -0
  129. package/app/out/renderer/assets/index-BiJbFgVG.js +118 -0
  130. package/app/out/renderer/assets/index-Bn433Fat.js +83 -0
  131. package/app/out/renderer/assets/index-BqDyyRCx.js +39679 -0
  132. package/app/out/renderer/assets/index-BzFMeMPn.js +158 -0
  133. package/app/out/renderer/assets/index-C-_uCjZJ.css +2701 -0
  134. package/app/out/renderer/assets/index-C1ithNW1.js +1765 -0
  135. package/app/out/renderer/assets/index-CAJkRYkO.js +407 -0
  136. package/app/out/renderer/assets/index-CleO0-yj.js +690 -0
  137. package/app/out/renderer/assets/index-Cq4MH3sY.js +1020 -0
  138. package/app/out/renderer/assets/index-CtA0Xj22.js +705 -0
  139. package/app/out/renderer/assets/index-CvAZkqBZ.js +83 -0
  140. package/app/out/renderer/assets/index-D3UDN-5c.js +152 -0
  141. package/app/out/renderer/assets/index-D4F9R5ao.js +179 -0
  142. package/app/out/renderer/assets/index-D6RguhZ5.js +328 -0
  143. package/app/out/renderer/assets/index-DnEowqXv.js +386 -0
  144. package/app/out/renderer/assets/index-K8c8Mqdy.js +98 -0
  145. package/app/out/renderer/assets/index-Kh14gO6K.js +62 -0
  146. package/app/out/renderer/assets/index-WFd2jRnA.js +333 -0
  147. package/app/out/renderer/assets/index-WgMfkRFp.js +313 -0
  148. package/app/out/renderer/assets/index-Y4lKyF6t.js +1042 -0
  149. package/app/out/renderer/assets/index-fx307_f1.js +643 -0
  150. package/app/out/renderer/assets/infoDiagram-8eee0895-ptaVSwzq.js +511 -0
  151. package/app/out/renderer/assets/init-ZxktEp_H.js +16 -0
  152. package/app/out/renderer/assets/javascript-C3MnDRiU.js +994 -0
  153. package/app/out/renderer/assets/journeyDiagram-c64418c1-aloEGOQp.js +1184 -0
  154. package/app/out/renderer/assets/julia-Bs6JJhYG.js +407 -0
  155. package/app/out/renderer/assets/layout-ZeuHE_aY.js +2217 -0
  156. package/app/out/renderer/assets/line-CAgaGl-S.js +45 -0
  157. package/app/out/renderer/assets/linear-DIg7lTe1.js +539 -0
  158. package/app/out/renderer/assets/livescript-DmzgM3Yt.js +296 -0
  159. package/app/out/renderer/assets/lua-8cJgIlqe.js +256 -0
  160. package/app/out/renderer/assets/mathematica-DNLOL9PQ.js +110 -0
  161. package/app/out/renderer/assets/mbox-Ga7d4MMN.js +117 -0
  162. package/app/out/renderer/assets/mindmap-definition-8da855dc-B8XVoUxz.js +36054 -0
  163. package/app/out/renderer/assets/mirc-Dma3B8rS.js +107 -0
  164. package/app/out/renderer/assets/mllike-DHn7xckP.js +334 -0
  165. package/app/out/renderer/assets/modelica-0d55jYY0.js +147 -0
  166. package/app/out/renderer/assets/mscgen-DdqZYINH.js +135 -0
  167. package/app/out/renderer/assets/mumps-Btr8VblO.js +93 -0
  168. package/app/out/renderer/assets/nginx-DTDtBDVN.js +141 -0
  169. package/app/out/renderer/assets/nsis-3zG7tgur.js +62 -0
  170. package/app/out/renderer/assets/ntriples-CvgOYMpL.js +153 -0
  171. package/app/out/renderer/assets/octave-DYBj3-tl.js +200 -0
  172. package/app/out/renderer/assets/ordinal-DSZU4PqD.js +76 -0
  173. package/app/out/renderer/assets/oz-R_e8WMIi.js +231 -0
  174. package/app/out/renderer/assets/pascal-GD8iposT.js +105 -0
  175. package/app/out/renderer/assets/path-Cp2qmpkd.js +109 -0
  176. package/app/out/renderer/assets/perl-DL9mHpoi.js +1105 -0
  177. package/app/out/renderer/assets/pieDiagram-a8764435-DlwoeBU2.js +770 -0
  178. package/app/out/renderer/assets/pig-C_4T4YIV.js +101 -0
  179. package/app/out/renderer/assets/powershell-B0suO7Vd.js +328 -0
  180. package/app/out/renderer/assets/properties-BR-vP1aU.js +58 -0
  181. package/app/out/renderer/assets/protobuf-BxgpyhoW.js +77 -0
  182. package/app/out/renderer/assets/pug-By0kVCfm.js +405 -0
  183. package/app/out/renderer/assets/puppet-Bdao66PW.js +137 -0
  184. package/app/out/renderer/assets/python-CvWbmiX4.js +427 -0
  185. package/app/out/renderer/assets/q-CrbCVq4a.js +131 -0
  186. package/app/out/renderer/assets/quadrantDiagram-1e28029f-BaSi1XB4.js +1200 -0
  187. package/app/out/renderer/assets/r-V7nswm59.js +170 -0
  188. package/app/out/renderer/assets/requirementDiagram-08caed73-D3EFyegZ.js +1092 -0
  189. package/app/out/renderer/assets/rpm-C-DLY-If.js +109 -0
  190. package/app/out/renderer/assets/ruby-JDKLJNK0.js +330 -0
  191. package/app/out/renderer/assets/sankeyDiagram-a04cb91d-Cv44AsnM.js +1174 -0
  192. package/app/out/renderer/assets/sas-D2UG-yhZ.js +207 -0
  193. package/app/out/renderer/assets/scheme-BKzrkGJD.js +222 -0
  194. package/app/out/renderer/assets/sequenceDiagram-c5b8d532-CuUBu-x4.js +3337 -0
  195. package/app/out/renderer/assets/shell-BlsXDxCn.js +222 -0
  196. package/app/out/renderer/assets/sieve-CjwBwOY5.js +135 -0
  197. package/app/out/renderer/assets/simple-mode-DMneyfDu.js +130 -0
  198. package/app/out/renderer/assets/smalltalk-BOIGQuhN.js +121 -0
  199. package/app/out/renderer/assets/solr-CwD7U71z.js +69 -0
  200. package/app/out/renderer/assets/sparql-DYskk2vE.js +249 -0
  201. package/app/out/renderer/assets/spreadsheet-Bgtt3oLP.js +87 -0
  202. package/app/out/renderer/assets/sql-BSrOzCRI.js +354 -0
  203. package/app/out/renderer/assets/stateDiagram-1ecb1508-BOU34Zp4.js +454 -0
  204. package/app/out/renderer/assets/stateDiagram-v2-c2b004d7-BgRoffou.js +326 -0
  205. package/app/out/renderer/assets/stex-B6LNC55o.js +231 -0
  206. package/app/out/renderer/assets/styles-b4e223ce-BMr9TPuj.js +1483 -0
  207. package/app/out/renderer/assets/styles-ca3715f6-DgbNw99p.js +1363 -0
  208. package/app/out/renderer/assets/styles-d45a18b0-DtRYKYKf.js +574 -0
  209. package/app/out/renderer/assets/stylus-BkS-boTH.js +565 -0
  210. package/app/out/renderer/assets/svgDrawCommon-b86b1483-Bein03PD.js +100 -0
  211. package/app/out/renderer/assets/swift-FRZi1uvB.js +291 -0
  212. package/app/out/renderer/assets/tcl-CUcaCdmq.js +114 -0
  213. package/app/out/renderer/assets/textile-BnFpjsrl.js +414 -0
  214. package/app/out/renderer/assets/tiddlywiki-CjprD-Qp.js +218 -0
  215. package/app/out/renderer/assets/tiki-B4EPSQ1G.js +265 -0
  216. package/app/out/renderer/assets/timeline-definition-faaaa080-BlWpLE_4.js +1212 -0
  217. package/app/out/renderer/assets/toml-BOuWGMcf.js +76 -0
  218. package/app/out/renderer/assets/troff-E1bJ0PPL.js +61 -0
  219. package/app/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +133 -0
  220. package/app/out/renderer/assets/ttcn-tKd4HLu4.js +192 -0
  221. package/app/out/renderer/assets/turtle-Dq7-1WAf.js +124 -0
  222. package/app/out/renderer/assets/vb-Dp90gtsv.js +196 -0
  223. package/app/out/renderer/assets/vbscript-CI6_mxxU.js +479 -0
  224. package/app/out/renderer/assets/velocity-BwIZK1TH.js +149 -0
  225. package/app/out/renderer/assets/verilog-DDCYnHN8.js +430 -0
  226. package/app/out/renderer/assets/vhdl-DCkMIyT9.js +158 -0
  227. package/app/out/renderer/assets/webidl-BTLTThCm.js +204 -0
  228. package/app/out/renderer/assets/xquery-BgiOC5Ce.js +525 -0
  229. package/app/out/renderer/assets/xychartDiagram-f5964ef8-Bhga-YXm.js +1799 -0
  230. package/app/out/renderer/assets/yacas-b5lAVEIl.js +130 -0
  231. package/app/out/renderer/assets/z80-BZV19vqv.js +93 -0
  232. package/app/out/renderer/index.html +13 -0
  233. package/app/out/skills/community-builtin/README.md +29 -0
  234. package/app/out/skills/community-builtin/document-docx/SKILL.md +44 -0
  235. package/app/out/skills/community-builtin/document-docx/scripts/docx-to-markdown.sh +20 -0
  236. package/app/out/skills/community-builtin/document-docx/scripts/extract-docx-text.sh +28 -0
  237. package/app/out/skills/community-builtin/document-docx/scripts/init-docx-template.sh +32 -0
  238. package/app/out/skills/community-builtin/document-docx/scripts/setup-docx-tools.sh +10 -0
  239. package/app/out/skills/community-builtin/markitdown/SKILL.md +105 -0
  240. package/app/out/skills/community-builtin/markitdown/scripts/batch-convert.sh +40 -0
  241. package/app/out/skills/community-builtin/markitdown/scripts/convert-file.sh +24 -0
  242. package/app/out/skills/community-builtin/markitdown/scripts/setup-markitdown.sh +10 -0
  243. package/app/out/skills/community-builtin/repo-quick-audit/SKILL.md +27 -0
  244. package/app/out/skills/community-builtin/repo-quick-audit/scripts/audit-basics.sh +19 -0
  245. package/app/out/skills/research-pilot-default-project-skills/README.md +23 -0
  246. package/app/out/skills/research-pilot-default-project-skills/citation-management/SKILL.md +39 -0
  247. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/doi-to-bibtex.sh +25 -0
  248. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/normalize-bibtex-keys.sh +51 -0
  249. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/setup-citation-tools.sh +10 -0
  250. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/validate-bib.sh +31 -0
  251. package/app/out/skills/research-pilot-default-project-skills/matplotlib/SKILL.md +34 -0
  252. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/api_reference.md +412 -0
  253. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/common_issues.md +563 -0
  254. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/plot_types.md +476 -0
  255. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/styling_guide.md +589 -0
  256. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/subagent_quickstart.md +30 -0
  257. package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/plot_template.py +401 -0
  258. package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/style_configurator.py +409 -0
  259. package/app/out/skills/research-pilot-default-project-skills/research-grants/SKILL.md +38 -0
  260. package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/check-grant-compliance.sh +40 -0
  261. package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/grant-summary-card.sh +32 -0
  262. package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/init-grant-structure.sh +70 -0
  263. package/app/package.json +77 -0
  264. package/bin/cli.mjs +56 -0
  265. package/lib/README.md +145 -0
  266. package/lib/skills/_generated.ts +13 -0
  267. package/lib/skills/builtin/brainstorming-research-ideas/SKILL.md +280 -0
  268. package/lib/skills/builtin/coding/SKILL.md +114 -0
  269. package/lib/skills/builtin/creative-thinking-for-research/SKILL.md +273 -0
  270. package/lib/skills/builtin/matplotlib/SKILL.md +361 -0
  271. package/lib/skills/builtin/matplotlib/references/api_reference.md +412 -0
  272. package/lib/skills/builtin/matplotlib/references/common_issues.md +563 -0
  273. package/lib/skills/builtin/matplotlib/references/plot_types.md +476 -0
  274. package/lib/skills/builtin/matplotlib/references/styling_guide.md +589 -0
  275. package/lib/skills/builtin/matplotlib/scripts/plot_template.py +401 -0
  276. package/lib/skills/builtin/matplotlib/scripts/style_configurator.py +409 -0
  277. package/lib/skills/builtin/paper-writing/SKILL.md +554 -0
  278. package/lib/skills/builtin/paper-writing/references/checklists.md +524 -0
  279. package/lib/skills/builtin/paper-writing/references/citation-workflow.md +562 -0
  280. package/lib/skills/builtin/paper-writing/references/reviewer-guidelines.md +462 -0
  281. package/lib/skills/builtin/paper-writing/references/sources.md +189 -0
  282. package/lib/skills/builtin/paper-writing/references/systems-conferences.md +260 -0
  283. package/lib/skills/builtin/paper-writing/references/writing-guide.md +476 -0
  284. package/lib/skills/builtin/paper-writing/templates/README.md +408 -0
  285. package/lib/skills/builtin/paper-writing/templates/aaai2026/README.md +534 -0
  286. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
  287. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
  288. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bib +111 -0
  289. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
  290. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.sty +315 -0
  291. package/lib/skills/builtin/paper-writing/templates/acl/README.md +50 -0
  292. package/lib/skills/builtin/paper-writing/templates/acl/acl.sty +312 -0
  293. package/lib/skills/builtin/paper-writing/templates/acl/acl_latex.tex +377 -0
  294. package/lib/skills/builtin/paper-writing/templates/acl/acl_lualatex.tex +101 -0
  295. package/lib/skills/builtin/paper-writing/templates/acl/acl_natbib.bst +1940 -0
  296. package/lib/skills/builtin/paper-writing/templates/acl/anthology.bib.txt +26 -0
  297. package/lib/skills/builtin/paper-writing/templates/acl/custom.bib +70 -0
  298. package/lib/skills/builtin/paper-writing/templates/acl/formatting.md +326 -0
  299. package/lib/skills/builtin/paper-writing/templates/asplos2027/main.tex +459 -0
  300. package/lib/skills/builtin/paper-writing/templates/asplos2027/references.bib +135 -0
  301. package/lib/skills/builtin/paper-writing/templates/colm2025/README.md +3 -0
  302. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
  303. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
  304. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
  305. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
  306. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
  307. package/lib/skills/builtin/paper-writing/templates/colm2025/fancyhdr.sty +485 -0
  308. package/lib/skills/builtin/paper-writing/templates/colm2025/math_commands.tex +508 -0
  309. package/lib/skills/builtin/paper-writing/templates/colm2025/natbib.sty +1246 -0
  310. package/lib/skills/builtin/paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
  311. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
  312. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
  313. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
  314. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
  315. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
  316. package/lib/skills/builtin/paper-writing/templates/iclr2026/math_commands.tex +508 -0
  317. package/lib/skills/builtin/paper-writing/templates/iclr2026/natbib.sty +1246 -0
  318. package/lib/skills/builtin/paper-writing/templates/icml2026/algorithm.sty +79 -0
  319. package/lib/skills/builtin/paper-writing/templates/icml2026/algorithmic.sty +201 -0
  320. package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.bib +75 -0
  321. package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.pdf +0 -0
  322. package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.tex +662 -0
  323. package/lib/skills/builtin/paper-writing/templates/icml2026/fancyhdr.sty +864 -0
  324. package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.bst +1443 -0
  325. package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.sty +767 -0
  326. package/lib/skills/builtin/paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
  327. package/lib/skills/builtin/paper-writing/templates/neurips2025/Makefile +36 -0
  328. package/lib/skills/builtin/paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
  329. package/lib/skills/builtin/paper-writing/templates/neurips2025/main.tex +38 -0
  330. package/lib/skills/builtin/paper-writing/templates/neurips2025/neurips.sty +382 -0
  331. package/lib/skills/builtin/paper-writing/templates/nsdi2027/main.tex +426 -0
  332. package/lib/skills/builtin/paper-writing/templates/nsdi2027/references.bib +151 -0
  333. package/lib/skills/builtin/paper-writing/templates/nsdi2027/usenix-2020-09.sty +83 -0
  334. package/lib/skills/builtin/paper-writing/templates/osdi2026/main.tex +429 -0
  335. package/lib/skills/builtin/paper-writing/templates/osdi2026/references.bib +150 -0
  336. package/lib/skills/builtin/paper-writing/templates/osdi2026/usenix-2020-09.sty +83 -0
  337. package/lib/skills/builtin/paper-writing/templates/sosp2026/main.tex +532 -0
  338. package/lib/skills/builtin/paper-writing/templates/sosp2026/references.bib +148 -0
  339. package/lib/skills/builtin/research-grants/SKILL.md +958 -0
  340. package/lib/skills/builtin/research-grants/assets/budget_justification_template.md +453 -0
  341. package/lib/skills/builtin/research-grants/assets/nih_specific_aims_template.md +166 -0
  342. package/lib/skills/builtin/research-grants/assets/nsf_project_summary_template.md +92 -0
  343. package/lib/skills/builtin/research-grants/references/README.md +285 -0
  344. package/lib/skills/builtin/research-grants/references/broader_impacts.md +392 -0
  345. package/lib/skills/builtin/research-grants/references/darpa_guidelines.md +636 -0
  346. package/lib/skills/builtin/research-grants/references/doe_guidelines.md +586 -0
  347. package/lib/skills/builtin/research-grants/references/nih_guidelines.md +851 -0
  348. package/lib/skills/builtin/research-grants/references/nsf_guidelines.md +570 -0
  349. package/lib/skills/builtin/research-grants/references/nstc_guidelines.md +733 -0
  350. package/lib/skills/builtin/research-grants/references/specific_aims_guide.md +458 -0
  351. package/lib/skills/builtin/rewrite-humanize/SKILL.md +116 -0
  352. package/lib/skills/builtin/rewrite-humanize/references/cs-venue-tone.md +57 -0
  353. package/lib/skills/builtin/rewrite-humanize/references/lexicon.md +50 -0
  354. package/lib/skills/builtin/scholar-evaluation/SKILL.md +300 -0
  355. package/lib/skills/builtin/scholar-evaluation/references/evaluation_framework.md +663 -0
  356. package/lib/skills/builtin/scholar-evaluation/scripts/calculate_scores.py +379 -0
  357. package/lib/skills/builtin/scientific-schematics/SKILL.md +603 -0
  358. package/lib/skills/builtin/scientific-schematics/references/QUICK_REFERENCE.md +182 -0
  359. package/lib/skills/builtin/scientific-schematics/references/README.md +292 -0
  360. package/lib/skills/builtin/scientific-schematics/references/best_practices.md +560 -0
  361. package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic.cpython-312.pyc +0 -0
  362. package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic_ai.cpython-312.pyc +0 -0
  363. package/lib/skills/builtin/scientific-schematics/scripts/example_usage.sh +85 -0
  364. package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic.py +141 -0
  365. package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic_ai.py +910 -0
  366. package/lib/skills/builtin/scientific-visualization/SKILL.md +749 -0
  367. package/lib/skills/builtin/scientific-visualization/assets/color_palettes.py +197 -0
  368. package/lib/skills/builtin/scientific-visualization/assets/nature.mplstyle +63 -0
  369. package/lib/skills/builtin/scientific-visualization/assets/presentation.mplstyle +61 -0
  370. package/lib/skills/builtin/scientific-visualization/assets/publication.mplstyle +68 -0
  371. package/lib/skills/builtin/scientific-visualization/references/color_palettes.md +348 -0
  372. package/lib/skills/builtin/scientific-visualization/references/journal_requirements.md +320 -0
  373. package/lib/skills/builtin/scientific-visualization/references/matplotlib_examples.md +620 -0
  374. package/lib/skills/builtin/scientific-visualization/references/publication_guidelines.md +205 -0
  375. package/lib/skills/builtin/scientific-visualization/scripts/figure_export.py +343 -0
  376. package/lib/skills/builtin/scientific-visualization/scripts/style_presets.py +416 -0
  377. package/lib/skills/builtin/scientific-writing/SKILL.md +745 -0
  378. package/lib/skills/builtin/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
  379. package/lib/skills/builtin/scientific-writing/assets/scientific_report.sty +606 -0
  380. package/lib/skills/builtin/scientific-writing/assets/scientific_report_template.tex +449 -0
  381. package/lib/skills/builtin/scientific-writing/references/citation_styles.md +720 -0
  382. package/lib/skills/builtin/scientific-writing/references/figures_tables.md +806 -0
  383. package/lib/skills/builtin/scientific-writing/references/imrad_structure.md +686 -0
  384. package/lib/skills/builtin/scientific-writing/references/professional_report_formatting.md +664 -0
  385. package/lib/skills/builtin/scientific-writing/references/reporting_guidelines.md +748 -0
  386. package/lib/skills/builtin/scientific-writing/references/writing_principles.md +824 -0
  387. package/lib/skills/builtin/seaborn/SKILL.md +674 -0
  388. package/lib/skills/builtin/seaborn/references/examples.md +822 -0
  389. package/lib/skills/builtin/seaborn/references/function_reference.md +770 -0
  390. package/lib/skills/builtin/seaborn/references/objects_interface.md +964 -0
  391. package/lib/skills/data-analysis/SKILL.md +285 -0
  392. package/lib/skills/generate-skill-content.mjs +58 -0
  393. package/lib/skills/index.ts +34 -0
  394. package/lib/skills/loader.ts +452 -0
  395. package/package.json +62 -0
@@ -0,0 +1,532 @@
1
+ %%%%%%%% SOSP 2026 PAPER TEMPLATE %%%%%%%%%%%%%%%%%
2
+ %
3
+ % The 32nd ACM Symposium on Operating Systems Principles
4
+ % September 30, 2026
5
+ %
6
+ % Format: ACM SIGPLAN, <= 12 pages technical content (excluding references)
7
+ % A4 or US letter, 178x229mm (7x9") text block
8
+ % Two-column, 8mm separation, 10pt on 12pt leading
9
+ %
10
+ % Official CFP: https://sigops.org/s/conferences/sosp/2026/cfp.html
11
+ % ACM Template: https://www.acm.org/publications/proceedings-template
12
+ %
13
+ % IMPORTANT NOTES:
14
+ % - Double-blind review (use paper ID, not author names)
15
+ % - Anonymized system/project name required (different from arXiv/talks)
16
+ % - Optional Artifact Evaluation after acceptance
17
+ % - Author response period available:
18
+ % --> LIMITED TO: correcting factual errors + addressing questions
19
+ % --> NO new experiments or additional work
20
+ % --> Keep under 500 words
21
+ % - Supplementary material allowed (reviewers not required to read)
22
+ % - Figures/tables readable without magnification, color encouraged
23
+ % - Pages numbered, references hyperlinked
24
+ %
25
+ % WHAT SOSP VALUES:
26
+ % - Groundbreaking work in significant new directions
27
+ % - Significant problem motivation
28
+ % - Interesting, compelling solution with demonstrated practicality
29
+ % - Clear contributions and advances beyond previous work
30
+ % - Papers addressing new problems may be evaluated differently
31
+ % from those in established areas
32
+
33
+ \documentclass[sigplan,10pt]{acmart}
34
+
35
+ % Remove copyright/permission footer for submission
36
+ \renewcommand\footnotetextcopyrightpermission[1]{}
37
+ \settopmatter{printfolios=true}
38
+
39
+ % Remove ACM reference format for submission
40
+ \setcopyright{none}
41
+ \renewcommand\acmConference[4]{}
42
+ \acmDOI{}
43
+ \acmISBN{}
44
+
45
+ % Recommended packages for systems papers
46
+ \usepackage{booktabs} % Professional tables
47
+ \usepackage{xspace}
48
+ \usepackage{subcaption} % Side-by-side figures
49
+ \usepackage{algorithm} % Algorithm environment
50
+ \usepackage{algorithmic} % Pseudocode formatting
51
+ \usepackage{listings} % Code listings
52
+ \usepackage[capitalize,noabbrev]{cleveref} % Smart cross-references
53
+
54
+ % Code listing style
55
+ \lstset{
56
+ basicstyle=\footnotesize\ttfamily,
57
+ numbers=left,
58
+ numberstyle=\tiny,
59
+ xleftmargin=2em,
60
+ breaklines=true,
61
+ tabsize=2,
62
+ showstringspaces=false,
63
+ frame=single,
64
+ captionpos=b,
65
+ language=C % Default language; change as needed
66
+ }
67
+
68
+ % Custom commands -- replace \system with your anonymized name
69
+ \newcommand{\system}{SystemName\xspace}
70
+ \newcommand{\eg}{e.g.,\xspace}
71
+ \newcommand{\ie}{i.e.,\xspace}
72
+ \newcommand{\etal}{\textit{et al.}\xspace}
73
+ \newcommand{\para}[1]{\smallskip\noindent\textbf{#1.}}
74
+ \newcommand{\parait}[1]{\smallskip\noindent\textit{#1.}}
75
+
76
+ % Systems-specific unit macros
77
+ \newcommand{\us}{\,$\mu$s\xspace}
78
+ \newcommand{\ms}{\,ms\xspace}
79
+ \newcommand{\ns}{\,ns\xspace}
80
+ \newcommand{\GB}{\,GB\xspace}
81
+ \newcommand{\MB}{\,MB\xspace}
82
+ \newcommand{\TB}{\,TB\xspace}
83
+ \newcommand{\Gbps}{\,Gbps\xspace}
84
+
85
+ \begin{document}
86
+
87
+ \title{Your Paper Title Here}
88
+
89
+ % Anonymized for submission -- use paper ID
90
+ \author{Paper \#XXX}
91
+ \affiliation{%
92
+ \institution{Anonymous}
93
+ \country{}}
94
+
95
+ % Camera-ready (uncomment and fill in):
96
+ % \author{Author One}
97
+ % \affiliation{%
98
+ % \institution{University/Company}
99
+ % \city{City}
100
+ % \country{Country}}
101
+ % \email{email@example.com}
102
+ %
103
+ % \author{Author Two}
104
+ % \affiliation{%
105
+ % \institution{University/Company}
106
+ % \city{City}
107
+ % \country{Country}}
108
+ % \email{email@example.com}
109
+
110
+ \begin{abstract}
111
+ % Guidelines for a strong SOSP abstract:
112
+ % - State the OS/systems principle advanced
113
+ % - Identify why existing approaches are insufficient
114
+ % - Describe your approach and key insight
115
+ % - Quantify with concrete numbers
116
+ %
117
+ % Keep to 150--200 words. SOSP values groundbreaking contributions
118
+ % to operating systems principles.
119
+
120
+ We present \system, a [describe system] that [key capability] for
121
+ [OS/systems problem].
122
+ [Problem: why existing OS approaches fall short.]
123
+ Our key insight is that [fundamental observation about systems design].
124
+ \system realizes this insight through [N] novel mechanisms:
125
+ (1)~[technique A] and (2)~[technique B].
126
+ We evaluate \system on [workloads] and demonstrate [X]$\times$
127
+ improvement in [metric] over [baseline], while maintaining
128
+ [reliability/consistency/other property].
129
+ \end{abstract}
130
+
131
+ \maketitle
132
+ \pagestyle{plain}
133
+
134
+ %----------------------------------------------------------------------
135
+ \section{Introduction}
136
+ \label{sec:intro}
137
+
138
+ % SOSP values groundbreaking work. Structure your introduction to show:
139
+ % 1. Important problem in systems principles (1--2 paragraphs)
140
+ % 2. Fundamental limitation of existing approaches (1 paragraph)
141
+ % 3. Key insight -- a new principle or observation (1 paragraph)
142
+ % 4. System design and approach overview (1 paragraph)
143
+ % 5. Contributions (bulleted list)
144
+ % 6. Results preview with concrete numbers (1 paragraph)
145
+ %
146
+ % SOSP encourages papers that open significant new directions.
147
+ % Evaluation criteria for papers addressing new problems may differ
148
+ % from those in established areas.
149
+
150
+ Operating systems must [challenge] as modern hardware and workloads
151
+ evolve~\cite{ghemawat2003gfs}. The traditional approach of [prior method]
152
+ was designed for [assumptions], but [new trend] fundamentally changes
153
+ the landscape~\cite{corbett2013spanner}.
154
+
155
+ \para{Fundamental Limitation}
156
+ Existing systems~\cite{decandia2007dynamo, hunt2010zookeeper}
157
+ rely on [assumption]. We show that this assumption breaks down
158
+ when [condition], leading to [consequence].
159
+
160
+ \para{Key Insight}
161
+ We observe that [fundamental systems principle/observation]. This
162
+ insight enables a new approach where [high-level description].
163
+
164
+ \para{\system Overview}
165
+ Building on this insight, we design \system, which introduces:
166
+ (1)~[mechanism A] for [purpose], and (2)~[mechanism B] for [purpose].
167
+ Together, these enable [combined capability].
168
+
169
+ We make the following contributions:
170
+ \begin{itemize}
171
+ \item We identify a fundamental limitation in [existing approach]
172
+ and formalize the problem (\cref{sec:background}).
173
+ \item We design \system with [N] novel mechanisms: [list]
174
+ (\cref{sec:design}).
175
+ \item We prove that \system provides [formal guarantee] under
176
+ [conditions] (\cref{sec:correctness}).
177
+ \item We implement \system in [X]K lines of [language] and evaluate
178
+ on [workloads], demonstrating [X]$\times$ improvement
179
+ (\cref{sec:evaluation}).
180
+ \end{itemize}
181
+
182
+ %----------------------------------------------------------------------
183
+ \section{Background and Motivation}
184
+ \label{sec:background}
185
+
186
+ \subsection{System Model and Assumptions}
187
+
188
+ Define your system model, including the hardware, software, and
189
+ failure assumptions.
190
+
191
+ \subsection{Limitations of Existing Approaches}
192
+
193
+ Explain why current systems are insufficient. Use concrete examples.
194
+
195
+ \subsection{Motivating Measurements}
196
+
197
+ % Real measurements on production systems or realistic workloads
198
+ % are highly valued at SOSP.
199
+ \Cref{fig:motivation} shows [measurement] that illustrates the
200
+ fundamental problem.
201
+
202
+ \begin{figure}[t]
203
+ \centering
204
+ \fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
205
+ \textit{Measurement study showing the fundamental problem: \\
206
+ e.g., latency distribution, throughput breakdown, or failure analysis}
207
+ \vspace{3em}}}
208
+ \caption{[Description.] We analyze [N] hours of production workload
209
+ and find that [X]\% of [operations] violate [property],
210
+ motivating [your approach].}
211
+ \label{fig:motivation}
212
+ \end{figure}
213
+
214
+ %----------------------------------------------------------------------
215
+ \section{Design}
216
+ \label{sec:design}
217
+
218
+ % Present your system design clearly and rigorously.
219
+ % SOSP papers often include formal guarantees or invariants.
220
+
221
+ \Cref{fig:architecture} presents the architecture of \system.
222
+
223
+ \begin{figure*}[t]
224
+ \centering
225
+ \fbox{\parbox{0.9\textwidth}{\centering\vspace{4em}
226
+ \textit{System architecture diagram showing components, \\
227
+ data flow, and control flow}
228
+ \vspace{4em}}}
229
+ \caption{Architecture of \system. [Describe the components
230
+ and their interactions.]}
231
+ \label{fig:architecture}
232
+ \end{figure*}
233
+
234
+ \subsection{[Mechanism A]}
235
+ \label{sec:design:a}
236
+
237
+ Describe the first key mechanism. Its core logic is specified
238
+ in \cref{alg:mechanism}.
239
+
240
+ \begin{algorithm}[t]
241
+ \caption{[Mechanism A] in \system}
242
+ \label{alg:mechanism}
243
+ \begin{algorithmic}[1]
244
+ \STATE \textbf{Input:} request $r$, state $S$, configuration $C$
245
+ \STATE \textbf{Output:} response and updated state
246
+ \STATE \textbf{Invariant:} $\forall t: \text{Consistent}(S_t)$
247
+ \STATE Acquire lock on $S.\text{partition}(r.\text{key})$
248
+ \IF{$r.\text{type} = \text{READ}$}
249
+ \STATE $v \leftarrow S.\text{Get}(r.\text{key}, r.\text{timestamp})$
250
+ \STATE \textbf{return} $(v, S)$
251
+ \ELSE
252
+ \STATE $S' \leftarrow S.\text{Apply}(r.\text{mutation})$
253
+ \STATE Replicate $S'$ to $C.\text{replicas}$
254
+ \STATE Wait for quorum acknowledgment
255
+ \STATE \textbf{return} $(\text{OK}, S')$
256
+ \ENDIF
257
+ \end{algorithmic}
258
+ \end{algorithm}
259
+
260
+ \subsection{[Mechanism B]}
261
+ \label{sec:design:b}
262
+
263
+ Describe the second key mechanism. The consistency guarantee can
264
+ be formally expressed as:
265
+ \begin{equation}
266
+ \label{eq:consistency}
267
+ \forall r_1, r_2 \in \mathcal{R}: \;
268
+ r_1 \xrightarrow{\text{hb}} r_2 \implies
269
+ \text{vis}(r_1) \subseteq \text{vis}(r_2)
270
+ \end{equation}
271
+ where $\xrightarrow{\text{hb}}$ denotes the happens-before relation
272
+ and $\text{vis}(r)$ is the set of operations visible to request $r$.
273
+
274
+ \subsection{Fault Tolerance}
275
+
276
+ Describe how \system handles failures:
277
+
278
+ \para{Node Failures}
279
+ [How the system handles crashed or slow nodes.]
280
+
281
+ \para{Network Partitions}
282
+ [How the system handles network partitions.]
283
+
284
+ \para{Recovery}
285
+ [How the system recovers after failures.]
286
+
287
+ %----------------------------------------------------------------------
288
+ \section{Correctness}
289
+ \label{sec:correctness}
290
+
291
+ % SOSP papers in areas like distributed systems, storage, and
292
+ % concurrency often include formal correctness arguments.
293
+
294
+ We prove that \system maintains [property] under [failure model].
295
+
296
+ \begin{theorem}
297
+ \label{thm:safety}
298
+ Under the failure model of \cref{sec:background}, \system
299
+ guarantees [safety property]: for all executions $E$,
300
+ [formal statement].
301
+ \end{theorem}
302
+
303
+ \begin{proof}[Proof sketch]
304
+ By induction on the number of operations. The base case holds
305
+ because [reason]. For the inductive step, [key argument].
306
+ Full proof in the supplementary material.
307
+ \end{proof}
308
+
309
+ %----------------------------------------------------------------------
310
+ \section{Implementation}
311
+ \label{sec:implementation}
312
+
313
+ We implement \system in approximately [X]K lines of [language].
314
+ Key implementation details include:
315
+
316
+ \para{Storage Layer}
317
+ [Describe the storage implementation.]
318
+
319
+ \para{Network Layer}
320
+ [Describe the networking implementation.]
321
+
322
+ \para{Concurrency Control}
323
+ [Describe the concurrency control mechanism.]
324
+
325
+ % Example code snippet (common in SOSP papers)
326
+ \Cref{lst:api} shows the client API for \system.
327
+
328
+ \begin{figure}[t]
329
+ \begin{lstlisting}[caption={Client API for \system. The interface
330
+ provides [property] guarantees.}, label={lst:api},
331
+ language=Python]
332
+ class Client:
333
+ def get(self, key, consistency="strong"):
334
+ """Read with configurable consistency."""
335
+ ts = self._get_timestamp()
336
+ return self._send_read(key, ts,
337
+ consistency)
338
+
339
+ def put(self, key, value):
340
+ """Write with durability guarantee."""
341
+ ts = self._get_timestamp()
342
+ ack = self._send_write(key, value, ts)
343
+ return ack.committed
344
+ \end{lstlisting}
345
+ \end{figure}
346
+
347
+ %----------------------------------------------------------------------
348
+ \section{Evaluation}
349
+ \label{sec:evaluation}
350
+
351
+ We evaluate \system to answer:
352
+ \begin{enumerate}
353
+ \item How does \system compare to state-of-the-art systems?
354
+ \item What is the cost of [guarantee] in terms of performance?
355
+ \item How does \system perform under failures?
356
+ \item What is the contribution of each mechanism?
357
+ \end{enumerate}
358
+
359
+ \subsection{Experimental Setup}
360
+ \label{sec:eval:setup}
361
+
362
+ \para{Testbed}
363
+ We run experiments on [N] machines in [cloud/cluster], each with
364
+ [CPU], [X]\GB RAM, [Y]\GB SSD, connected via [network].
365
+
366
+ \para{Workloads}
367
+ We use [standard benchmarks] and [production traces].
368
+ \Cref{tab:workloads} summarizes the workload characteristics.
369
+
370
+ \para{Baselines}
371
+ We compare against:
372
+ (1)~[System A]~\cite{ghemawat2003gfs},
373
+ (2)~[System B]~\cite{corbett2013spanner}, and
374
+ (3)~[System C]~\cite{decandia2007dynamo}.
375
+
376
+ \begin{table}[t]
377
+ \caption{Workload characteristics. Workloads span different
378
+ read/write ratios and access patterns.}
379
+ \label{tab:workloads}
380
+ \centering
381
+ \begin{small}
382
+ \begin{tabular}{@{}lrrcl@{}}
383
+ \toprule
384
+ \textbf{Workload} & \textbf{Ops/s} & \textbf{Data} &
385
+ \textbf{R:W} & \textbf{Pattern} \\
386
+ \midrule
387
+ YCSB-A & 100K & 10\,GB & 50:50 & Uniform \\
388
+ YCSB-B & 100K & 10\,GB & 95:5 & Zipfian \\
389
+ YCSB-C & 100K & 10\,GB & 100:0 & Zipfian \\
390
+ YCSB-F & 50K & 10\,GB & 50:50 & RMW \\
391
+ Production& 200K & 100\,GB & 80:20 & Zipfian \\
392
+ \bottomrule
393
+ \end{tabular}
394
+ \end{small}
395
+ \end{table}
396
+
397
+ \subsection{End-to-End Performance}
398
+ \label{sec:eval:e2e}
399
+
400
+ \Cref{tab:e2e} shows the end-to-end performance comparison.
401
+ \system achieves [X]\% higher throughput and [Y]\% lower tail
402
+ latency compared to [best baseline].
403
+
404
+ \begin{table}[t]
405
+ \caption{End-to-end performance comparison across workloads.
406
+ Bold indicates best result.}
407
+ \label{tab:e2e}
408
+ \centering
409
+ \begin{small}
410
+ \begin{tabular}{@{}lcccc@{}}
411
+ \toprule
412
+ & \multicolumn{2}{c}{\textbf{YCSB-A}} &
413
+ \multicolumn{2}{c}{\textbf{Production}} \\
414
+ \cmidrule(lr){2-3} \cmidrule(lr){4-5}
415
+ \textbf{System} & \textbf{Kops/s} & \textbf{p99 (ms)} &
416
+ \textbf{Kops/s} & \textbf{p99 (ms)} \\
417
+ \midrule
418
+ System A & 85.2 & 12.4 & 142.1 & 18.7 \\
419
+ System B & 72.1 & 15.8 & 128.4 & 22.1 \\
420
+ System C & 98.4 & 8.2 & 165.3 & 11.5 \\
421
+ \textbf{\system} & \textbf{124.6} & \textbf{5.1} &
422
+ \textbf{201.8} & \textbf{7.3} \\
423
+ \bottomrule
424
+ \end{tabular}
425
+ \end{small}
426
+ \end{table}
427
+
428
+ \subsection{Performance Under Failures}
429
+ \label{sec:eval:failure}
430
+
431
+ \begin{figure}[t]
432
+ \centering
433
+ \fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
434
+ \textit{Time-series: throughput and latency during node failure \\
435
+ and recovery, showing impact duration and recovery time}
436
+ \vspace{3em}}}
437
+ \caption{Performance during node failure at $t=60$s. \system
438
+ recovers within [X]\ms with [Y]\% throughput drop, compared
439
+ to [Z]\ms and [W]\% drop for [baseline].}
440
+ \label{fig:failure}
441
+ \end{figure}
442
+
443
+ \subsection{Microbenchmarks}
444
+ \label{sec:eval:micro}
445
+
446
+ We isolate the performance of key mechanisms.
447
+
448
+ \begin{figure}[t]
449
+ \centering
450
+ \fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
451
+ \textit{Latency breakdown or CDF comparing mechanisms}
452
+ \vspace{3em}}}
453
+ \caption{Latency CDF for individual operations. \system's
454
+ [mechanism] adds only [X]\us overhead to the critical path.}
455
+ \label{fig:microbench}
456
+ \end{figure}
457
+
458
+ \subsection{Ablation Study}
459
+ \label{sec:eval:ablation}
460
+
461
+ \Cref{fig:ablation} shows the contribution of each mechanism.
462
+
463
+ \begin{figure}[t]
464
+ \centering
465
+ \fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
466
+ \textit{Bar chart: \system variants with mechanisms disabled}
467
+ \vspace{3em}}}
468
+ \caption{Ablation study on YCSB-A. Mechanism A contributes
469
+ [X]\% and Mechanism B contributes [Y]\% of the improvement.}
470
+ \label{fig:ablation}
471
+ \end{figure}
472
+
473
+ %----------------------------------------------------------------------
474
+ \section{Discussion}
475
+ \label{sec:discussion}
476
+
477
+ \para{Lessons Learned}
478
+ [Share insights from designing and building the system.]
479
+
480
+ \para{Limitations}
481
+ [Honest discussion of where \system falls short.]
482
+
483
+ \para{Applicability}
484
+ [Discuss how the principles generalize to other systems.]
485
+
486
+ %----------------------------------------------------------------------
487
+ \section{Related Work}
488
+ \label{sec:related}
489
+
490
+ % Organize by theme. SOSP reviewers expect thorough related work.
491
+
492
+ \para{Distributed Storage Systems}
493
+ GFS~\cite{ghemawat2003gfs}, Dynamo~\cite{decandia2007dynamo}, and
494
+ Spanner~\cite{corbett2013spanner} address [aspect]. \system differs by
495
+ [distinction].
496
+
497
+ \para{Consensus and Coordination}
498
+ Paxos~\cite{lamport1998paxos} and ZooKeeper~\cite{hunt2010zookeeper}
499
+ provide [guarantee]. \system builds on these foundations while
500
+ [extending/relaxing] [aspect].
501
+
502
+ \para{[Other Category]}
503
+ [Other related work] explores [approach]. \system complements these
504
+ by [distinction].
505
+
506
+ %----------------------------------------------------------------------
507
+ \section{Conclusion}
508
+ \label{sec:conclusion}
509
+
510
+ We presented \system, a [type of system] that [key capability].
511
+ Through [mechanisms], \system achieves [X]$\times$ improvement in
512
+ [metric] while guaranteeing [property].
513
+ Our experience building \system reveals [key lesson], suggesting
514
+ [future direction] for systems research.
515
+
516
+ %----------------------------------------------------------------------
517
+ % Acknowledgments (only in camera-ready, remove for submission)
518
+ % \begin{acks}
519
+ % We thank the anonymous reviewers and our shepherd for their
520
+ % invaluable feedback. This work was supported by [funding].
521
+ % \end{acks}
522
+
523
+ \bibliographystyle{ACM-Reference-Format}
524
+ \bibliography{references}
525
+
526
+ %----------------------------------------------------------------------
527
+ % ARTIFACT EVALUATION (optional, after acceptance)
528
+ % SOSP offers optional artifact evaluation. If your paper is accepted,
529
+ % consider preparing your artifact for evaluation.
530
+ % See: https://sysartifacts.github.io/
531
+
532
+ \end{document}
@@ -0,0 +1,148 @@
1
+ % SOSP 2026 Example Bibliography
2
+ %
3
+ % This file contains example references demonstrating different BibTeX entry
4
+ % types commonly used in operating systems and distributed systems papers.
5
+ % Replace with your actual references.
6
+ %
7
+ % Entry types demonstrated:
8
+ % inproceedings -- Conference paper (most common in systems)
9
+ % article -- Journal article (TOCS, JACM, etc.)
10
+ % techreport -- Technical report
11
+ % phdthesis -- Doctoral dissertation
12
+ % misc -- ArXiv preprint or software
13
+ % book -- Book reference
14
+
15
+ %----------------------------------------------------------------------
16
+ % Conference papers (inproceedings) -- SOSP landmark papers
17
+ %----------------------------------------------------------------------
18
+
19
+ @inproceedings{ghemawat2003gfs,
20
+ author = {Ghemawat, Sanjay and Gobioff, Howard and Leung, Shun-Tak},
21
+ title = {The {Google} File System},
22
+ booktitle = {Proceedings of the 19th ACM Symposium on Operating Systems
23
+ Principles (SOSP)},
24
+ year = {2003},
25
+ pages = {29--43},
26
+ address = {Bolton Landing, NY},
27
+ publisher = {ACM},
28
+ doi = {10.1145/945445.945450},
29
+ }
30
+
31
+ @inproceedings{decandia2007dynamo,
32
+ author = {DeCandia, Giuseppe and Hastorun, Deniz and Jampani, Madan and
33
+ Kakulapati, Gunavardhan and Lakshman, Avinash and Pilchin, Alex
34
+ and Sivasubramanian, Swaminathan and Vosshall, Peter and
35
+ Vogels, Werner},
36
+ title = {Dynamo: {Amazon}'s Highly Available Key-value Store},
37
+ booktitle = {Proceedings of the 21st ACM Symposium on Operating Systems
38
+ Principles (SOSP)},
39
+ year = {2007},
40
+ pages = {205--220},
41
+ address = {Stevenson, WA},
42
+ publisher = {ACM},
43
+ doi = {10.1145/1294261.1294281},
44
+ }
45
+
46
+ @inproceedings{corbett2013spanner,
47
+ author = {Corbett, James C. and Dean, Jeffrey and Epstein, Michael and
48
+ Fikes, Andrew and Frost, Christopher and Furman, J. J. and
49
+ Ghemawat, Sanjay and Gubarev, Andrey and Heiser, Christopher
50
+ and Hochschild, Peter and others},
51
+ title = {Spanner: {Google}'s Globally-Distributed Database},
52
+ booktitle = {Proceedings of the 10th USENIX Symposium on Operating Systems
53
+ Design and Implementation (OSDI)},
54
+ year = {2013},
55
+ pages = {261--264},
56
+ address = {Hollywood, CA},
57
+ publisher = {USENIX Association},
58
+ }
59
+
60
+ @inproceedings{hunt2010zookeeper,
61
+ author = {Hunt, Patrick and Konar, Mahadev and Junqueira, Flavio P.
62
+ and Reed, Benjamin},
63
+ title = {{ZooKeeper}: Wait-free Coordination for Internet-scale Systems},
64
+ booktitle = {Proceedings of the 2010 USENIX Annual Technical Conference
65
+ (USENIX ATC)},
66
+ year = {2010},
67
+ pages = {145--158},
68
+ address = {Boston, MA},
69
+ publisher = {USENIX Association},
70
+ }
71
+
72
+ @inproceedings{barroso2017attack,
73
+ author = {Barroso, Luiz Andr\'{e} and Marty, Mike and Patterson, David
74
+ and Ranganathan, Parthasarathy},
75
+ title = {Attack of the Killer Microseconds},
76
+ booktitle = {Communications of the ACM},
77
+ year = {2017},
78
+ volume = {60},
79
+ number = {4},
80
+ pages = {48--54},
81
+ publisher = {ACM},
82
+ }
83
+
84
+ @inproceedings{aguilera2020microsecond,
85
+ author = {Aguilera, Marcos K. and Keeton, Kimberly and
86
+ Novakovic, Stanko and Singhal, Sharad},
87
+ title = {Designing Far Memory Data Structures: Think Outside the Box},
88
+ booktitle = {Proceedings of the Workshop on Hot Topics in Operating Systems
89
+ (HotOS)},
90
+ year = {2019},
91
+ pages = {120--126},
92
+ publisher = {ACM},
93
+ }
94
+
95
+ %----------------------------------------------------------------------
96
+ % Journal article (article) -- TOCS, JACM, etc.
97
+ %----------------------------------------------------------------------
98
+
99
+ @article{lamport1998paxos,
100
+ author = {Lamport, Leslie},
101
+ title = {The Part-Time Parliament},
102
+ journal = {ACM Transactions on Computer Systems (TOCS)},
103
+ volume = {16},
104
+ number = {2},
105
+ pages = {133--169},
106
+ year = {1998},
107
+ doi = {10.1145/279227.279229},
108
+ publisher = {ACM},
109
+ }
110
+
111
+ %----------------------------------------------------------------------
112
+ % Book (book)
113
+ %----------------------------------------------------------------------
114
+
115
+ @book{tanenbaum2017distributed,
116
+ author = {Tanenbaum, Andrew S. and van Steen, Maarten},
117
+ title = {Distributed Systems: Principles and Paradigms},
118
+ publisher = {Pearson Education},
119
+ year = {2017},
120
+ edition = {3rd},
121
+ address = {Upper Saddle River, NJ},
122
+ }
123
+
124
+ %----------------------------------------------------------------------
125
+ % ArXiv preprint (misc)
126
+ %----------------------------------------------------------------------
127
+
128
+ @misc{brooker2023raft,
129
+ author = {Brooker, Marc and Chen, Taiwei and Ping, Fan},
130
+ title = {Paxos and Raft: Have We Reached Consensus on
131
+ Distributed Consensus?},
132
+ year = {2023},
133
+ eprint = {2303.00762},
134
+ archivePrefix = {arXiv},
135
+ primaryClass = {cs.DC},
136
+ }
137
+
138
+ %----------------------------------------------------------------------
139
+ % PhD thesis (phdthesis)
140
+ %----------------------------------------------------------------------
141
+
142
+ @phdthesis{ongaro2014thesis,
143
+ author = {Ongaro, Diego},
144
+ title = {Consensus: Bridging Theory and Practice},
145
+ school = {Stanford University},
146
+ year = {2014},
147
+ address = {Stanford, CA},
148
+ }