@alisio/plugin-thesis 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 (547) hide show
  1. package/.agents/agents/thesis-architect.md +38 -0
  2. package/.agents/agents/thesis-coordinator.md +39 -0
  3. package/.agents/agents/thesis-editor.md +35 -0
  4. package/.agents/agents/thesis-evidence-auditor.md +37 -0
  5. package/.agents/agents/thesis-librarian.md +38 -0
  6. package/.agents/agents/thesis-methodologist.md +39 -0
  7. package/.agents/agents/thesis-reviewer.md +36 -0
  8. package/.agents/agents/thesis-writer.md +38 -0
  9. package/.agents/skills/thesis-build/SKILL.md +48 -0
  10. package/.agents/skills/thesis-citations/SKILL.md +49 -0
  11. package/.agents/skills/thesis-csl-authoring/SKILL.md +48 -0
  12. package/.agents/skills/thesis-editing/SKILL.md +49 -0
  13. package/.agents/skills/thesis-evidence/SKILL.md +48 -0
  14. package/.agents/skills/thesis-figures/SKILL.md +50 -0
  15. package/.agents/skills/thesis-institution-norms/SKILL.md +50 -0
  16. package/.agents/skills/thesis-intake/SKILL.md +48 -0
  17. package/.agents/skills/thesis-math/SKILL.md +48 -0
  18. package/.agents/skills/thesis-methodology/SKILL.md +49 -0
  19. package/.agents/skills/thesis-outline/SKILL.md +48 -0
  20. package/.agents/skills/thesis-policy/SKILL.md +48 -0
  21. package/.agents/skills/thesis-review/SKILL.md +49 -0
  22. package/.agents/skills/thesis-search/SKILL.md +47 -0
  23. package/.agents/skills/thesis-writing/SKILL.md +52 -0
  24. package/LICENSE +21 -0
  25. package/README.es.md +242 -0
  26. package/README.md +235 -0
  27. package/THIRD_PARTY_NOTICES.md +94 -0
  28. package/assets/architecture.svg +1 -0
  29. package/assets/evidence-pipeline.svg +1 -0
  30. package/assets/lifecycle.svg +1 -0
  31. package/assets/policy-resolution.svg +1 -0
  32. package/cover.webp +0 -0
  33. package/dist/authoring.d.ts +30 -0
  34. package/dist/authoring.d.ts.map +1 -0
  35. package/dist/authoring.js +681 -0
  36. package/dist/authoring.js.map +1 -0
  37. package/dist/brief.d.ts +40 -0
  38. package/dist/brief.d.ts.map +1 -0
  39. package/dist/brief.js +566 -0
  40. package/dist/brief.js.map +1 -0
  41. package/dist/cache.d.ts +8 -0
  42. package/dist/cache.d.ts.map +1 -0
  43. package/dist/cache.js +20 -0
  44. package/dist/cache.js.map +1 -0
  45. package/dist/checks/brief.d.ts +5 -0
  46. package/dist/checks/brief.d.ts.map +1 -0
  47. package/dist/checks/brief.js +38 -0
  48. package/dist/checks/brief.js.map +1 -0
  49. package/dist/checks/citations.d.ts +14 -0
  50. package/dist/checks/citations.d.ts.map +1 -0
  51. package/dist/checks/citations.js +87 -0
  52. package/dist/checks/citations.js.map +1 -0
  53. package/dist/checks/claims.d.ts +16 -0
  54. package/dist/checks/claims.d.ts.map +1 -0
  55. package/dist/checks/claims.js +147 -0
  56. package/dist/checks/claims.js.map +1 -0
  57. package/dist/checks/closing.d.ts +20 -0
  58. package/dist/checks/closing.d.ts.map +1 -0
  59. package/dist/checks/closing.js +168 -0
  60. package/dist/checks/closing.js.map +1 -0
  61. package/dist/checks/design.d.ts +5 -0
  62. package/dist/checks/design.d.ts.map +1 -0
  63. package/dist/checks/design.js +107 -0
  64. package/dist/checks/design.js.map +1 -0
  65. package/dist/checks/document.d.ts +17 -0
  66. package/dist/checks/document.d.ts.map +1 -0
  67. package/dist/checks/document.js +213 -0
  68. package/dist/checks/document.js.map +1 -0
  69. package/dist/checks/evidence.d.ts +7 -0
  70. package/dist/checks/evidence.d.ts.map +1 -0
  71. package/dist/checks/evidence.js +133 -0
  72. package/dist/checks/evidence.js.map +1 -0
  73. package/dist/checks/hygiene.d.ts +5 -0
  74. package/dist/checks/hygiene.d.ts.map +1 -0
  75. package/dist/checks/hygiene.js +37 -0
  76. package/dist/checks/hygiene.js.map +1 -0
  77. package/dist/checks/index.d.ts +21 -0
  78. package/dist/checks/index.d.ts.map +1 -0
  79. package/dist/checks/index.js +98 -0
  80. package/dist/checks/index.js.map +1 -0
  81. package/dist/checks/language.d.ts +14 -0
  82. package/dist/checks/language.d.ts.map +1 -0
  83. package/dist/checks/language.js +73 -0
  84. package/dist/checks/language.js.map +1 -0
  85. package/dist/checks/outline.d.ts +25 -0
  86. package/dist/checks/outline.d.ts.map +1 -0
  87. package/dist/checks/outline.js +214 -0
  88. package/dist/checks/outline.js.map +1 -0
  89. package/dist/checks/policy.d.ts +5 -0
  90. package/dist/checks/policy.d.ts.map +1 -0
  91. package/dist/checks/policy.js +129 -0
  92. package/dist/checks/policy.js.map +1 -0
  93. package/dist/checks/project.d.ts +65 -0
  94. package/dist/checks/project.d.ts.map +1 -0
  95. package/dist/checks/project.js +203 -0
  96. package/dist/checks/project.js.map +1 -0
  97. package/dist/checks/styles.d.ts +12 -0
  98. package/dist/checks/styles.d.ts.map +1 -0
  99. package/dist/checks/styles.js +67 -0
  100. package/dist/checks/styles.js.map +1 -0
  101. package/dist/checks/writing.d.ts +6 -0
  102. package/dist/checks/writing.d.ts.map +1 -0
  103. package/dist/checks/writing.js +115 -0
  104. package/dist/checks/writing.js.map +1 -0
  105. package/dist/chrome/detect.d.ts +19 -0
  106. package/dist/chrome/detect.d.ts.map +1 -0
  107. package/dist/chrome/detect.js +116 -0
  108. package/dist/chrome/detect.js.map +1 -0
  109. package/dist/claims.d.ts +19 -0
  110. package/dist/claims.d.ts.map +1 -0
  111. package/dist/claims.js +99 -0
  112. package/dist/claims.js.map +1 -0
  113. package/dist/cli.d.ts +11 -0
  114. package/dist/cli.d.ts.map +1 -0
  115. package/dist/cli.js +262 -0
  116. package/dist/cli.js.map +1 -0
  117. package/dist/context.d.ts +55 -0
  118. package/dist/context.d.ts.map +1 -0
  119. package/dist/context.js +62 -0
  120. package/dist/context.js.map +1 -0
  121. package/dist/coordinator.d.ts +139 -0
  122. package/dist/coordinator.d.ts.map +1 -0
  123. package/dist/coordinator.js +710 -0
  124. package/dist/coordinator.js.map +1 -0
  125. package/dist/delegate.d.ts +34 -0
  126. package/dist/delegate.d.ts.map +1 -0
  127. package/dist/delegate.js +105 -0
  128. package/dist/delegate.js.map +1 -0
  129. package/dist/diffguard.d.ts +24 -0
  130. package/dist/diffguard.d.ts.map +1 -0
  131. package/dist/diffguard.js +92 -0
  132. package/dist/diffguard.js.map +1 -0
  133. package/dist/doctor.d.ts +34 -0
  134. package/dist/doctor.d.ts.map +1 -0
  135. package/dist/doctor.js +155 -0
  136. package/dist/doctor.js.map +1 -0
  137. package/dist/draft.d.ts +64 -0
  138. package/dist/draft.d.ts.map +1 -0
  139. package/dist/draft.js +801 -0
  140. package/dist/draft.js.map +1 -0
  141. package/dist/figure.d.ts +13 -0
  142. package/dist/figure.d.ts.map +1 -0
  143. package/dist/figure.js +143 -0
  144. package/dist/figure.js.map +1 -0
  145. package/dist/finalize.d.ts +29 -0
  146. package/dist/finalize.d.ts.map +1 -0
  147. package/dist/finalize.js +230 -0
  148. package/dist/finalize.js.map +1 -0
  149. package/dist/index.d.ts +33 -0
  150. package/dist/index.d.ts.map +1 -0
  151. package/dist/index.js +206 -0
  152. package/dist/index.js.map +1 -0
  153. package/dist/intake.d.ts +57 -0
  154. package/dist/intake.d.ts.map +1 -0
  155. package/dist/intake.js +772 -0
  156. package/dist/intake.js.map +1 -0
  157. package/dist/labels.d.ts +50 -0
  158. package/dist/labels.d.ts.map +1 -0
  159. package/dist/labels.js +98 -0
  160. package/dist/labels.js.map +1 -0
  161. package/dist/outline.d.ts +45 -0
  162. package/dist/outline.d.ts.map +1 -0
  163. package/dist/outline.js +148 -0
  164. package/dist/outline.js.map +1 -0
  165. package/dist/pack-commands.d.ts +18 -0
  166. package/dist/pack-commands.d.ts.map +1 -0
  167. package/dist/pack-commands.js +397 -0
  168. package/dist/pack-commands.js.map +1 -0
  169. package/dist/package-paths.d.ts +8 -0
  170. package/dist/package-paths.d.ts.map +1 -0
  171. package/dist/package-paths.js +13 -0
  172. package/dist/package-paths.js.map +1 -0
  173. package/dist/policy/context.d.ts +19 -0
  174. package/dist/policy/context.d.ts.map +1 -0
  175. package/dist/policy/context.js +62 -0
  176. package/dist/policy/context.js.map +1 -0
  177. package/dist/policy/ethics.d.ts +59 -0
  178. package/dist/policy/ethics.d.ts.map +1 -0
  179. package/dist/policy/ethics.js +106 -0
  180. package/dist/policy/ethics.js.map +1 -0
  181. package/dist/policy/kinds.d.ts +9 -0
  182. package/dist/policy/kinds.d.ts.map +1 -0
  183. package/dist/policy/kinds.js +68 -0
  184. package/dist/policy/kinds.js.map +1 -0
  185. package/dist/policy/packs.d.ts +53 -0
  186. package/dist/policy/packs.d.ts.map +1 -0
  187. package/dist/policy/packs.js +336 -0
  188. package/dist/policy/packs.js.map +1 -0
  189. package/dist/policy/resolver.d.ts +87 -0
  190. package/dist/policy/resolver.d.ts.map +1 -0
  191. package/dist/policy/resolver.js +337 -0
  192. package/dist/policy/resolver.js.map +1 -0
  193. package/dist/policy/rules.d.ts +65 -0
  194. package/dist/policy/rules.d.ts.map +1 -0
  195. package/dist/policy/rules.js +194 -0
  196. package/dist/policy/rules.js.map +1 -0
  197. package/dist/protocol.d.ts +46 -0
  198. package/dist/protocol.d.ts.map +1 -0
  199. package/dist/protocol.js +86 -0
  200. package/dist/protocol.js.map +1 -0
  201. package/dist/render/adapters/chrome-pdf/cdp.d.ts +36 -0
  202. package/dist/render/adapters/chrome-pdf/cdp.d.ts.map +1 -0
  203. package/dist/render/adapters/chrome-pdf/cdp.js +291 -0
  204. package/dist/render/adapters/chrome-pdf/cdp.js.map +1 -0
  205. package/dist/render/adapters/chrome-pdf/index.d.ts +10 -0
  206. package/dist/render/adapters/chrome-pdf/index.d.ts.map +1 -0
  207. package/dist/render/adapters/chrome-pdf/index.js +139 -0
  208. package/dist/render/adapters/chrome-pdf/index.js.map +1 -0
  209. package/dist/render/adapters/chrome-pdf/network.d.ts +7 -0
  210. package/dist/render/adapters/chrome-pdf/network.d.ts.map +1 -0
  211. package/dist/render/adapters/chrome-pdf/network.js +33 -0
  212. package/dist/render/adapters/chrome-pdf/network.js.map +1 -0
  213. package/dist/render/adapters/html-preview/index.d.ts +8 -0
  214. package/dist/render/adapters/html-preview/index.d.ts.map +1 -0
  215. package/dist/render/adapters/html-preview/index.js +62 -0
  216. package/dist/render/adapters/html-preview/index.js.map +1 -0
  217. package/dist/render/adapters/test-json/index.d.ts +8 -0
  218. package/dist/render/adapters/test-json/index.d.ts.map +1 -0
  219. package/dist/render/adapters/test-json/index.js +62 -0
  220. package/dist/render/adapters/test-json/index.js.map +1 -0
  221. package/dist/render/adapters/typst-pdf/emitter.d.ts +21 -0
  222. package/dist/render/adapters/typst-pdf/emitter.d.ts.map +1 -0
  223. package/dist/render/adapters/typst-pdf/emitter.js +259 -0
  224. package/dist/render/adapters/typst-pdf/emitter.js.map +1 -0
  225. package/dist/render/adapters/typst-pdf/escape.d.ts +14 -0
  226. package/dist/render/adapters/typst-pdf/escape.d.ts.map +1 -0
  227. package/dist/render/adapters/typst-pdf/escape.js +56 -0
  228. package/dist/render/adapters/typst-pdf/escape.js.map +1 -0
  229. package/dist/render/adapters/typst-pdf/index.d.ts +9 -0
  230. package/dist/render/adapters/typst-pdf/index.d.ts.map +1 -0
  231. package/dist/render/adapters/typst-pdf/index.js +154 -0
  232. package/dist/render/adapters/typst-pdf/index.js.map +1 -0
  233. package/dist/render/adapters/typst-pdf/profile.d.ts +3 -0
  234. package/dist/render/adapters/typst-pdf/profile.d.ts.map +1 -0
  235. package/dist/render/adapters/typst-pdf/profile.js +55 -0
  236. package/dist/render/adapters/typst-pdf/profile.js.map +1 -0
  237. package/dist/render/adapters/typst-pdf/runner.d.ts +52 -0
  238. package/dist/render/adapters/typst-pdf/runner.d.ts.map +1 -0
  239. package/dist/render/adapters/typst-pdf/runner.js +209 -0
  240. package/dist/render/adapters/typst-pdf/runner.js.map +1 -0
  241. package/dist/render/adapters/typst-pdf/setup.d.ts +30 -0
  242. package/dist/render/adapters/typst-pdf/setup.d.ts.map +1 -0
  243. package/dist/render/adapters/typst-pdf/setup.js +183 -0
  244. package/dist/render/adapters/typst-pdf/setup.js.map +1 -0
  245. package/dist/render/adapters/typst-pdf/version.d.ts +8 -0
  246. package/dist/render/adapters/typst-pdf/version.d.ts.map +1 -0
  247. package/dist/render/adapters/typst-pdf/version.js +14 -0
  248. package/dist/render/adapters/typst-pdf/version.js.map +1 -0
  249. package/dist/render/assemble.d.ts +28 -0
  250. package/dist/render/assemble.d.ts.map +1 -0
  251. package/dist/render/assemble.js +309 -0
  252. package/dist/render/assemble.js.map +1 -0
  253. package/dist/render/assets.d.ts +27 -0
  254. package/dist/render/assets.d.ts.map +1 -0
  255. package/dist/render/assets.js +232 -0
  256. package/dist/render/assets.js.map +1 -0
  257. package/dist/render/build.d.ts +43 -0
  258. package/dist/render/build.d.ts.map +1 -0
  259. package/dist/render/build.js +187 -0
  260. package/dist/render/build.js.map +1 -0
  261. package/dist/render/charts.d.ts +83 -0
  262. package/dist/render/charts.d.ts.map +1 -0
  263. package/dist/render/charts.js +633 -0
  264. package/dist/render/charts.js.map +1 -0
  265. package/dist/render/default-registry.d.ts +7 -0
  266. package/dist/render/default-registry.d.ts.map +1 -0
  267. package/dist/render/default-registry.js +15 -0
  268. package/dist/render/default-registry.js.map +1 -0
  269. package/dist/render/diagram-theme.d.ts +7 -0
  270. package/dist/render/diagram-theme.d.ts.map +1 -0
  271. package/dist/render/diagram-theme.js +50 -0
  272. package/dist/render/diagram-theme.js.map +1 -0
  273. package/dist/render/dialect.d.ts +23 -0
  274. package/dist/render/dialect.d.ts.map +1 -0
  275. package/dist/render/dialect.js +188 -0
  276. package/dist/render/dialect.js.map +1 -0
  277. package/dist/render/html/citations.d.ts +70 -0
  278. package/dist/render/html/citations.d.ts.map +1 -0
  279. package/dist/render/html/citations.js +371 -0
  280. package/dist/render/html/citations.js.map +1 -0
  281. package/dist/render/html/css.d.ts +14 -0
  282. package/dist/render/html/css.d.ts.map +1 -0
  283. package/dist/render/html/css.js +113 -0
  284. package/dist/render/html/css.js.map +1 -0
  285. package/dist/render/html/emitter.d.ts +20 -0
  286. package/dist/render/html/emitter.d.ts.map +1 -0
  287. package/dist/render/html/emitter.js +652 -0
  288. package/dist/render/html/emitter.js.map +1 -0
  289. package/dist/render/html/escape.d.ts +11 -0
  290. package/dist/render/html/escape.d.ts.map +1 -0
  291. package/dist/render/html/escape.js +32 -0
  292. package/dist/render/html/escape.js.map +1 -0
  293. package/dist/render/html/katex.d.ts +9 -0
  294. package/dist/render/html/katex.d.ts.map +1 -0
  295. package/dist/render/html/katex.js +39 -0
  296. package/dist/render/html/katex.js.map +1 -0
  297. package/dist/render/html/stage.d.ts +12 -0
  298. package/dist/render/html/stage.d.ts.map +1 -0
  299. package/dist/render/html/stage.js +30 -0
  300. package/dist/render/html/stage.js.map +1 -0
  301. package/dist/render/index.d.ts +5 -0
  302. package/dist/render/index.d.ts.map +1 -0
  303. package/dist/render/index.js +5 -0
  304. package/dist/render/index.js.map +1 -0
  305. package/dist/render/math.d.ts +9 -0
  306. package/dist/render/math.d.ts.map +1 -0
  307. package/dist/render/math.js +60 -0
  308. package/dist/render/math.js.map +1 -0
  309. package/dist/render/model.d.ts +233 -0
  310. package/dist/render/model.d.ts.map +1 -0
  311. package/dist/render/model.js +2 -0
  312. package/dist/render/model.js.map +1 -0
  313. package/dist/render/numbering.d.ts +51 -0
  314. package/dist/render/numbering.d.ts.map +1 -0
  315. package/dist/render/numbering.js +155 -0
  316. package/dist/render/numbering.js.map +1 -0
  317. package/dist/render/output-name.d.ts +4 -0
  318. package/dist/render/output-name.d.ts.map +1 -0
  319. package/dist/render/output-name.js +11 -0
  320. package/dist/render/output-name.js.map +1 -0
  321. package/dist/render/palettes.d.ts +22 -0
  322. package/dist/render/palettes.d.ts.map +1 -0
  323. package/dist/render/palettes.js +46 -0
  324. package/dist/render/palettes.js.map +1 -0
  325. package/dist/render/parse.d.ts +15 -0
  326. package/dist/render/parse.d.ts.map +1 -0
  327. package/dist/render/parse.js +637 -0
  328. package/dist/render/parse.js.map +1 -0
  329. package/dist/render/port.d.ts +79 -0
  330. package/dist/render/port.d.ts.map +1 -0
  331. package/dist/render/port.js +2 -0
  332. package/dist/render/port.js.map +1 -0
  333. package/dist/render/registry.d.ts +11 -0
  334. package/dist/render/registry.d.ts.map +1 -0
  335. package/dist/render/registry.js +21 -0
  336. package/dist/render/registry.js.map +1 -0
  337. package/dist/render/text.d.ts +13 -0
  338. package/dist/render/text.d.ts.map +1 -0
  339. package/dist/render/text.js +65 -0
  340. package/dist/render/text.js.map +1 -0
  341. package/dist/render/walk.d.ts +13 -0
  342. package/dist/render/walk.d.ts.map +1 -0
  343. package/dist/render/walk.js +69 -0
  344. package/dist/render/walk.js.map +1 -0
  345. package/dist/research/bibtex.d.ts +12 -0
  346. package/dist/research/bibtex.d.ts.map +1 -0
  347. package/dist/research/bibtex.js +99 -0
  348. package/dist/research/bibtex.js.map +1 -0
  349. package/dist/research/client.d.ts +112 -0
  350. package/dist/research/client.d.ts.map +1 -0
  351. package/dist/research/client.js +661 -0
  352. package/dist/research/client.js.map +1 -0
  353. package/dist/research/dossier.d.ts +31 -0
  354. package/dist/research/dossier.d.ts.map +1 -0
  355. package/dist/research/dossier.js +54 -0
  356. package/dist/research/dossier.js.map +1 -0
  357. package/dist/research/flow.d.ts +31 -0
  358. package/dist/research/flow.d.ts.map +1 -0
  359. package/dist/research/flow.js +635 -0
  360. package/dist/research/flow.js.map +1 -0
  361. package/dist/research/library.d.ts +79 -0
  362. package/dist/research/library.d.ts.map +1 -0
  363. package/dist/research/library.js +319 -0
  364. package/dist/research/library.js.map +1 -0
  365. package/dist/research/verify.d.ts +80 -0
  366. package/dist/research/verify.d.ts.map +1 -0
  367. package/dist/research/verify.js +307 -0
  368. package/dist/research/verify.js.map +1 -0
  369. package/dist/resources.d.ts +15 -0
  370. package/dist/resources.d.ts.map +1 -0
  371. package/dist/resources.js +148 -0
  372. package/dist/resources.js.map +1 -0
  373. package/dist/review.d.ts +22 -0
  374. package/dist/review.d.ts.map +1 -0
  375. package/dist/review.js +355 -0
  376. package/dist/review.js.map +1 -0
  377. package/dist/schemas.d.ts +252 -0
  378. package/dist/schemas.d.ts.map +1 -0
  379. package/dist/schemas.js +1020 -0
  380. package/dist/schemas.js.map +1 -0
  381. package/dist/sections.d.ts +30 -0
  382. package/dist/sections.d.ts.map +1 -0
  383. package/dist/sections.js +62 -0
  384. package/dist/sections.js.map +1 -0
  385. package/dist/storage.d.ts +21 -0
  386. package/dist/storage.d.ts.map +1 -0
  387. package/dist/storage.js +296 -0
  388. package/dist/storage.js.map +1 -0
  389. package/dist/style-commands.d.ts +15 -0
  390. package/dist/style-commands.d.ts.map +1 -0
  391. package/dist/style-commands.js +54 -0
  392. package/dist/style-commands.js.map +1 -0
  393. package/dist/styles/csl.d.ts +58 -0
  394. package/dist/styles/csl.d.ts.map +1 -0
  395. package/dist/styles/csl.js +112 -0
  396. package/dist/styles/csl.js.map +1 -0
  397. package/dist/styles/discovery.d.ts +45 -0
  398. package/dist/styles/discovery.d.ts.map +1 -0
  399. package/dist/styles/discovery.js +99 -0
  400. package/dist/styles/discovery.js.map +1 -0
  401. package/dist/styles/golden.d.ts +52 -0
  402. package/dist/styles/golden.d.ts.map +1 -0
  403. package/dist/styles/golden.js +216 -0
  404. package/dist/styles/golden.js.map +1 -0
  405. package/dist/styles/profile.d.ts +126 -0
  406. package/dist/styles/profile.d.ts.map +1 -0
  407. package/dist/styles/profile.js +582 -0
  408. package/dist/styles/profile.js.map +1 -0
  409. package/dist/styles/xml.d.ts +22 -0
  410. package/dist/styles/xml.d.ts.map +1 -0
  411. package/dist/styles/xml.js +179 -0
  412. package/dist/styles/xml.js.map +1 -0
  413. package/dist/types.d.ts +285 -0
  414. package/dist/types.d.ts.map +1 -0
  415. package/dist/types.js +155 -0
  416. package/dist/types.js.map +1 -0
  417. package/dist/typst-pins.d.ts +16 -0
  418. package/dist/typst-pins.d.ts.map +1 -0
  419. package/dist/typst-pins.js +39 -0
  420. package/dist/typst-pins.js.map +1 -0
  421. package/dist/version.d.ts +2 -0
  422. package/dist/version.d.ts.map +1 -0
  423. package/dist/version.js +3 -0
  424. package/dist/version.js.map +1 -0
  425. package/dist/workflow.d.ts +49 -0
  426. package/dist/workflow.d.ts.map +1 -0
  427. package/dist/workflow.js +722 -0
  428. package/dist/workflow.js.map +1 -0
  429. package/dist/workspace.d.ts +12 -0
  430. package/dist/workspace.d.ts.map +1 -0
  431. package/dist/workspace.js +71 -0
  432. package/dist/workspace.js.map +1 -0
  433. package/package.json +70 -0
  434. package/policy-packs/countries/CO/academic-standards/ntc-1486-2022.yaml +188 -0
  435. package/policy-packs/countries/CO/copyright/decision-andina-351.yaml +61 -0
  436. package/policy-packs/countries/CO/copyright/ley-1915-2018.yaml +25 -0
  437. package/policy-packs/countries/CO/copyright/ley-23-1982.yaml +64 -0
  438. package/policy-packs/countries/CO/domains/health/resolucion-8430-1993.yaml +219 -0
  439. package/policy-packs/countries/CO/higher-education/ley-30-1992.yaml +61 -0
  440. package/policy-packs/countries/CO/manifest.yaml +42 -0
  441. package/policy-packs/countries/CO/official-domains.yaml +90 -0
  442. package/policy-packs/countries/CO/privacy/ley-1581-2012.yaml +197 -0
  443. package/policy-packs/countries/CO/research-integrity/minciencias-res-0314-2018.yaml +64 -0
  444. package/policy-packs/global/academic-integrity.yaml +45 -0
  445. package/policy-packs/global/academic-writing.yaml +70 -0
  446. package/policy-packs/global/evidence-quality.yaml +81 -0
  447. package/policy-packs/global/manifest.yaml +54 -0
  448. package/policy-packs/global/objective-verbs.yaml +245 -0
  449. package/policy-packs/global/reporting-guidelines.yaml +392 -0
  450. package/policy-packs/global/work-types.yaml +195 -0
  451. package/styles/LICENSE-CSL +375 -0
  452. package/styles/apa.csl +2283 -0
  453. package/styles/catalog.json +43 -0
  454. package/styles/fixtures/apa-7.expected.json +25 -0
  455. package/styles/fixtures/icontec-ntc1486-2022.expected.json +25 -0
  456. package/styles/fixtures/ieee.expected.json +25 -0
  457. package/styles/fixtures/references.jsonl +8 -0
  458. package/styles/icontec-ntc1486-2022.csl +388 -0
  459. package/styles/ieee.csl +519 -0
  460. package/templates/html/runtime.js +159 -0
  461. package/templates/html/thesis.css +98 -0
  462. package/templates/html/vendor/katex/LICENSE +21 -0
  463. package/templates/html/vendor/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  464. package/templates/html/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  465. package/templates/html/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  466. package/templates/html/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  467. package/templates/html/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  468. package/templates/html/vendor/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  469. package/templates/html/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  470. package/templates/html/vendor/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  471. package/templates/html/vendor/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  472. package/templates/html/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  473. package/templates/html/vendor/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  474. package/templates/html/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  475. package/templates/html/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  476. package/templates/html/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  477. package/templates/html/vendor/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  478. package/templates/html/vendor/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  479. package/templates/html/vendor/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  480. package/templates/html/vendor/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  481. package/templates/html/vendor/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  482. package/templates/html/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  483. package/templates/html/vendor/katex/katex.min.css +1 -0
  484. package/templates/html/vendor/katex/katex.min.js +1 -0
  485. package/templates/html/vendor/mermaid/LICENSE +21 -0
  486. package/templates/html/vendor/mermaid/mermaid.min.js +3587 -0
  487. package/templates/html/vendor/pagedjs/LICENSE +21 -0
  488. package/templates/html/vendor/pagedjs/paged.polyfill.min.js +4 -0
  489. package/templates/palettes.json +57 -0
  490. package/templates/profiles/apa-7.profile.yaml +15 -0
  491. package/templates/profiles/generic.profile.yaml +20 -0
  492. package/templates/profiles/icontec-ntc1486-2022.profile.yaml +36 -0
  493. package/templates/profiles/ieee.profile.yaml +14 -0
  494. package/templates/typst/i18n/en.yaml +31 -0
  495. package/templates/typst/i18n/es.yaml +31 -0
  496. package/templates/typst/i18n/pt.yaml +31 -0
  497. package/templates/typst/thesis.typ +276 -0
  498. package/typst-packages/preview/merman/0.3.0/LICENSE +231 -0
  499. package/typst-packages/preview/merman/0.3.0/README.md +388 -0
  500. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cose-base-v1/LICENSE +21 -0
  501. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cose-base-v2/LICENSE +21 -0
  502. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cytoscape/LICENSE +19 -0
  503. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cytoscape-cose-bilkent/LICENSE +21 -0
  504. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/cytoscape-fcose/LICENSE +19 -0
  505. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/d3-shape/LICENSE +13 -0
  506. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/dagre/LICENSE +19 -0
  507. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/dompurify/LICENSE +202 -0
  508. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/eclipse-elk/LICENSE.md +264 -0
  509. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/elkjs/LICENSE.md +264 -0
  510. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/fmin/LICENSE +27 -0
  511. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/graphlib/LICENSE +19 -0
  512. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/layout-base-v1/LICENSE +21 -0
  513. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/layout-base-v2/LICENSE +21 -0
  514. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/mermaid/LICENSE +21 -0
  515. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/rough-rs/LICENSE +21 -0
  516. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/roughjs/LICENSE +21 -0
  517. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/sanitize-url/LICENSE +21 -0
  518. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/venn-js/LICENSE +22 -0
  519. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/wasm-minimal-protocol/LICENSE +24 -0
  520. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_LICENSES/zenuml-core/LICENSE +21 -0
  521. package/typst-packages/preview/merman/0.3.0/THIRD_PARTY_NOTICES.md +265 -0
  522. package/typst-packages/preview/merman/0.3.0/lib.typ +1 -0
  523. package/typst-packages/preview/merman/0.3.0/merman_typst_plugin.wasm +0 -0
  524. package/typst-packages/preview/merman/0.3.0/src/capabilities.typ +5 -0
  525. package/typst-packages/preview/merman/0.3.0/src/context.typ +1 -0
  526. package/typst-packages/preview/merman/0.3.0/src/errors.typ +33 -0
  527. package/typst-packages/preview/merman/0.3.0/src/exports.typ +5 -0
  528. package/typst-packages/preview/merman/0.3.0/src/figure.typ +143 -0
  529. package/typst-packages/preview/merman/0.3.0/src/image.typ +50 -0
  530. package/typst-packages/preview/merman/0.3.0/src/options.typ +566 -0
  531. package/typst-packages/preview/merman/0.3.0/src/plugin.typ +1 -0
  532. package/typst-packages/preview/merman/0.3.0/src/raw.typ +22 -0
  533. package/typst-packages/preview/merman/0.3.0/src/render.typ +137 -0
  534. package/typst-packages/preview/merman/0.3.0/src/source.typ +7 -0
  535. package/typst-packages/preview/merman/0.3.0/src/units.typ +51 -0
  536. package/typst-packages/preview/merman/0.3.0/typst.toml +12 -0
  537. package/typst-packages/preview/mitex/0.2.7/CHANGELOG.md +69 -0
  538. package/typst-packages/preview/mitex/0.2.7/LICENSE +176 -0
  539. package/typst-packages/preview/mitex/0.2.7/README.md +154 -0
  540. package/typst-packages/preview/mitex/0.2.7/lib.typ +1 -0
  541. package/typst-packages/preview/mitex/0.2.7/mitex.typ +45 -0
  542. package/typst-packages/preview/mitex/0.2.7/mitex.wasm +0 -0
  543. package/typst-packages/preview/mitex/0.2.7/specs/README.md +250 -0
  544. package/typst-packages/preview/mitex/0.2.7/specs/latex/standard.typ +1187 -0
  545. package/typst-packages/preview/mitex/0.2.7/specs/mod.typ +12 -0
  546. package/typst-packages/preview/mitex/0.2.7/specs/prelude.typ +230 -0
  547. package/typst-packages/preview/mitex/0.2.7/typst.toml +12 -0
@@ -0,0 +1,219 @@
1
+ # Resolución 8430 de 1993 (MinSalud) — scientific, technical and administrative norms for
2
+ # health research. In force with no recorded modifications (SuperSalud compilation, 2026-10-04).
3
+ # Scope (art. 1): "la actividad investigativa en salud". Many universities apply it by analogy to
4
+ # research with people in other fields; that is institutional practice, so rules here apply only
5
+ # when domain is health unless an institutional rule extends them.
6
+ # WATCH: a MinSalud draft resolution (second public consultation, reported 2026-07-30) would repeal
7
+ # Títulos I and II and reportedly reduce the risk categories to two. Not issued as of 2026-10-04.
8
+ rules:
9
+ - ruleId: CO.MINSALUD.R8430.1993.ETHICS_COMMITTEE.02
10
+ level: REGULATION
11
+ authority: { organization: Ministerio de Salud de Colombia }
12
+ document: { id: RES-8430-1993, version: "1993" }
13
+ status: active
14
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: human_participants }
15
+ requirement:
16
+ kind: ethics_trigger
17
+ values:
18
+ trigger: human_participants
19
+ requires:
20
+ - CO.MINSALUD.R8430.1993.RISK_CLASSIFICATION.11
21
+ - CO.MINSALUD.R8430.1993.APPROVALS.06G
22
+ - CO.MINSALUD.R8430.1993.CONSENT.14_16
23
+ evidence: ethics_committee_approval_in_annexes
24
+ quote: "Las instituciones que vayan a realizar investigación en humanos, deberán tener un Comité de Etica en Investigación"
25
+ source:
26
+ reference: "Resolución 8430 de 1993, art. 2"
27
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
28
+ retrievedAt: "2026-10-04"
29
+ verification: { lastChecked: "2026-10-04", basis: official_text }
30
+ supersedes: []
31
+
32
+ - ruleId: CO.MINSALUD.R8430.1993.APPROVALS.06G
33
+ level: REGULATION
34
+ authority: { organization: Ministerio de Salud de Colombia }
35
+ document: { id: RES-8430-1993, version: "1993" }
36
+ status: active
37
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: human_participants }
38
+ requirement:
39
+ kind: ethics_trigger
40
+ values:
41
+ trigger: human_participants
42
+ approvals: [researcher_institution_legal_representative, research_site_institution, participant_informed_consent, ethics_committee]
43
+ mustStateRisks: true
44
+ quote: "autorización: del representante legal de la institución investigadora y de la institución donde se realice la investigación; el Consentimiento Informado de los participantes; y la aprobación del proyecto por parte del Comité de Etica"
45
+ source:
46
+ reference: "Resolución 8430 de 1993, art. 6 lit. d, e, g"
47
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
48
+ retrievedAt: "2026-10-04"
49
+ verification: { lastChecked: "2026-10-04", basis: official_text }
50
+ supersedes: []
51
+
52
+ - ruleId: CO.MINSALUD.R8430.1993.RISK_CLASSIFICATION.11
53
+ level: REGULATION
54
+ authority: { organization: Ministerio de Salud de Colombia }
55
+ document: { id: RES-8430-1993, version: "1993" }
56
+ status: active
57
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: human_participants }
58
+ requirement:
59
+ kind: risk_classification
60
+ values:
61
+ categories:
62
+ - id: sin_riesgo
63
+ definition: "técnicas y métodos de investigación documental restrospectivos y aquellos en los que no se realiza ninguna intervención o modificación intencionada de las variables biológicas, fisiológicas, sicológicas o sociales"
64
+ condition: "interviews and questionnaires qualify only when participants are not identified and sensitive aspects of conduct are not addressed"
65
+ - id: riesgo_minimo
66
+ definition: "estudios prospectivos que emplean el registro de datos a través de procedimientos comunes … pruebas sicológicas a grupos o individuos en los que no se manipulará la conducta del sujeto"
67
+ - id: riesgo_mayor_que_el_minimo
68
+ definition: "aquellas en que las probabilidades de afectar al sujeto son significativas"
69
+ examples: [radiology, new_drugs_or_devices, surgery, invasive_procedures, random_allocation, placebo_control]
70
+ escalateWhen: [identifiable_personal_data, sensitive_data]
71
+ aboveMinimalTrigger: risk_above_minimal
72
+ source:
73
+ reference: "Resolución 8430 de 1993, art. 11 lit. a, b, c"
74
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
75
+ retrievedAt: "2026-10-04"
76
+ verification: { lastChecked: "2026-10-04", basis: official_text }
77
+ supersedes: []
78
+
79
+ - ruleId: CO.MINSALUD.R8430.1993.CONSENT.14_16
80
+ level: REGULATION
81
+ authority: { organization: Ministerio de Salud de Colombia }
82
+ document: { id: RES-8430-1993, version: "1993" }
83
+ status: active
84
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: human_participants }
85
+ requirement:
86
+ kind: consent_requirement
87
+ values:
88
+ form: written
89
+ elements: [justification_and_objectives, procedures, expected_risks, expected_benefits, alternative_procedures, right_to_ask_questions, right_to_withdraw, confidentiality, new_information_commitment, treatment_and_compensation, additional_costs]
90
+ validity: [drafted_by_principal_investigator, reviewed_by_ethics_committee, two_witnesses_named, signed_by_subject_and_two_witnesses, made_in_duplicate]
91
+ waiverDecidedBy: ethics_committee
92
+ waivers:
93
+ riesgo_minimo: committee_may_allow_non_written_consent
94
+ sin_riesgo: committee_may_waive_consent
95
+ dependentParticipants: consent_obtained_by_independent_team_member
96
+ quote: "En el caso de investigaciones con riesgo mínimo, el Comité … podrá autorizar que el Consentimiento Informado se obtenga sin formularse por escrito y tratándose de investigaciones sin riesgo, podrá dispensar al investigador de la obtención del mismo."
97
+ source:
98
+ reference: "Resolución 8430 de 1993, arts. 14, 15 lit. a–k, 16 and parágrafos 1–2"
99
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
100
+ retrievedAt: "2026-10-04"
101
+ verification: { lastChecked: "2026-10-04", basis: official_text }
102
+ supersedes: []
103
+
104
+ - ruleId: CO.MINSALUD.R8430.1993.PRIVACY.08
105
+ level: REGULATION
106
+ authority: { organization: Ministerio de Salud de Colombia }
107
+ document: { id: RES-8430-1993, version: "1993" }
108
+ status: active
109
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: identifiable_personal_data }
110
+ requirement:
111
+ kind: data_protection
112
+ values:
113
+ identification: only_when_results_require_and_subject_authorizes
114
+ default: pseudonymize
115
+ quote: "se protegerá la privacidad del individuo, sujeto de investigación, identificándolo solo cuando los resultados lo requieran y éste lo autorice."
116
+ source:
117
+ reference: "Resolución 8430 de 1993, art. 8"
118
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
119
+ retrievedAt: "2026-10-04"
120
+ verification: { lastChecked: "2026-10-04", basis: official_text }
121
+ supersedes: []
122
+
123
+ - ruleId: CO.MINSALUD.R8430.1993.COMMUNITIES.17_18
124
+ level: REGULATION
125
+ authority: { organization: Ministerio de Salud de Colombia }
126
+ document: { id: RES-8430-1993, version: "1993" }
127
+ status: active
128
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: communities }
129
+ requirement:
130
+ kind: ethics_trigger
131
+ values:
132
+ trigger: communities
133
+ approvals: [community_health_authorities, community_civil_authorities, individual_informed_consent]
134
+ quote: "el investigador principal deberá obtener la aprobación de las autoridades de salud y de otras autoridades civiles de la comunidad a estudiar, además de obtener la carta de Consentimiento Informado de los individuos"
135
+ source:
136
+ reference: "Resolución 8430 de 1993, arts. 17–18"
137
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
138
+ retrievedAt: "2026-10-04"
139
+ verification: { lastChecked: "2026-10-04", basis: official_text }
140
+ supersedes: []
141
+
142
+ - ruleId: CO.MINSALUD.R8430.1993.MINORS.23_26
143
+ level: REGULATION
144
+ authority: { organization: Ministerio de Salud de Colombia }
145
+ document: { id: RES-8430-1993, version: "1993" }
146
+ status: active
147
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: minors }
148
+ requirement:
149
+ kind: ethics_trigger
150
+ values:
151
+ trigger: minors
152
+ requires: [prior_similar_studies_in_adults_and_immature_animals_unless_age_specific_condition, consent_of_parent_or_legal_representative, capacity_certification_by_neurologist_psychiatrist_or_psychologist, child_assent_when_capacity_allows]
153
+ quote: "aquella que se realice en menores de edad o en discapacitados físicos y mentales, deberá satisfacer plenamente todas las exigencias que se establecen en este capítulo."
154
+ note: "Arts. 27–32 were not read in full (open question)."
155
+ source:
156
+ reference: "Resolución 8430 de 1993, arts. 23–26"
157
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
158
+ retrievedAt: "2026-10-04"
159
+ verification: { lastChecked: "2026-10-04", basis: official_text }
160
+ supersedes: []
161
+
162
+ - ruleId: CO.MINSALUD.R8430.1993.BIOLOGICAL.47
163
+ level: REGULATION
164
+ authority: { organization: Ministerio de Salud de Colombia }
165
+ document: { id: RES-8430-1993, version: "1993" }
166
+ status: active
167
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: biological_samples }
168
+ requirement:
169
+ kind: ethics_trigger
170
+ values:
171
+ trigger: biological_samples
172
+ appliesTo: [human_organs, tissues, derivatives, products, cadavers]
173
+ quote: "comprende la que incluye la utilización de órganos, tejidos y sus derivados, productos y cadáveres de seres humanos"
174
+ source:
175
+ reference: "Resolución 8430 de 1993, art. 47 (Título II, Capítulo VI)"
176
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
177
+ retrievedAt: "2026-10-04"
178
+ verification: { lastChecked: "2026-10-04", basis: official_text }
179
+ supersedes: []
180
+
181
+ - ruleId: CO.MINSALUD.R8430.1993.CLINICAL.49
182
+ level: REGULATION
183
+ authority: { organization: Ministerio de Salud de Colombia }
184
+ document: { id: RES-8430-1993, version: "1993" }
185
+ status: active
186
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: clinical_research }
187
+ requirement:
188
+ kind: ethics_trigger
189
+ values:
190
+ trigger: clinical_research
191
+ appliesTo: [new_prophylactic_diagnostic_therapeutic_or_rehabilitation_resources]
192
+ requires: [ethics_committee_approval, CO.MINSALUD.R8430.1993.CONSENT.14_16]
193
+ quote: "Cuando se realice investigación en seres humanos, sobre nuevos recursos profilácticos, de diagnóstico, terapéuticos y de rehabilitación … deberá … satisfacer lo contemplado en este título."
194
+ source:
195
+ reference: "Resolución 8430 de 1993, arts. 49–50 (Título III)"
196
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
197
+ retrievedAt: "2026-10-04"
198
+ verification: { lastChecked: "2026-10-04", basis: official_text }
199
+ supersedes: []
200
+
201
+ - ruleId: CO.MINSALUD.R8430.1993.ANIMALS.87_89
202
+ level: REGULATION
203
+ authority: { organization: Ministerio de Salud de Colombia }
204
+ document: { id: RES-8430-1993, version: "1993" }
205
+ status: active
206
+ appliesWhen: { country: CO, domain: health, ethicsTrigger: animals }
207
+ requirement:
208
+ kind: ethics_trigger
209
+ values:
210
+ trigger: animals
211
+ requires: [comply_with_ley_84_de_1989, prefer_alternatives_models_simulation_in_vitro, justify_contribution_to_knowledge, minimum_number_of_animals, apply_3rs_replacement_reduction_refinement]
212
+ quote: "se sigue el principio de Russell Burch '3R', remplazo, reducción y refinamiento."
213
+ note: "Scope follows art. 1 (health research). Outside health, Ley 84 de 1989 and institutional animal-ethics rules apply; not encoded here (open question)."
214
+ source:
215
+ reference: "Resolución 8430 de 1993, arts. 87–89 (Título V)"
216
+ url: "https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/DIJ/RESOLUCION-8430-DE-1993.PDF"
217
+ retrievedAt: "2026-10-04"
218
+ verification: { lastChecked: "2026-10-04", basis: official_text }
219
+ supersedes: []
@@ -0,0 +1,61 @@
1
+ # Ley 30 de 1992 — public higher education service (university autonomy).
2
+ # Effect on the resolver (spec §11.3): national law sets no thesis format; institution,
3
+ # faculty and program rules govern presentation, citation style and degree requirements.
4
+ rules:
5
+ - ruleId: CO.LEY30.1992.AUTONOMY.28
6
+ level: LAW
7
+ authority: { organization: Congreso de la República de Colombia }
8
+ document: { id: LEY-30-1992, version: "1992" }
9
+ status: active
10
+ appliesWhen: { country: CO }
11
+ requirement:
12
+ kind: institutional_authority
13
+ values:
14
+ scope: [statutes, academic_programs, degree_requirements]
15
+ effect: institution_rules_govern_thesis_requirements
16
+ quote: "reconoce a las universidades el derecho a darse y modificar sus estatutos, … crear, organizar y desarrollar sus programas académicos, … otorgar los títulos correspondientes"
17
+ source:
18
+ reference: "Ley 30 de 1992, art. 28"
19
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=253"
20
+ retrievedAt: "2026-10-04"
21
+ verification: { lastChecked: "2026-10-04", basis: official_text }
22
+ supersedes: []
23
+
24
+ - ruleId: CO.LEY30.1992.AUTONOMY.29
25
+ level: LAW
26
+ authority: { organization: Congreso de la República de Colombia }
27
+ document: { id: LEY-30-1992, version: "1992" }
28
+ status: active
29
+ appliesWhen: { country: CO }
30
+ requirement:
31
+ kind: institutional_authority
32
+ values:
33
+ scope: [academic_programs, formative_activities, student_regime]
34
+ effect: institution_rules_govern_thesis_requirements
35
+ appliesTo: [instituciones_universitarias, escuelas_tecnologicas, instituciones_tecnicas_profesionales]
36
+ quote: "c. Crear, desarrollar sus programas académicos, lo mismo que expedir los correspondientes títulos; d. Definir y organizar sus labores formativas, académicas…; f. Adoptar el régimen de alumnos y docentes"
37
+ source:
38
+ reference: "Ley 30 de 1992, art. 29 lit. c, d, f"
39
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=253"
40
+ retrievedAt: "2026-10-04"
41
+ verification: { lastChecked: "2026-10-04", basis: official_text }
42
+ supersedes: []
43
+
44
+ - ruleId: CO.LEY30.1992.STUDENT_REGULATIONS.109
45
+ level: LAW
46
+ authority: { organization: Congreso de la República de Colombia }
47
+ document: { id: LEY-30-1992, version: "1992" }
48
+ status: active
49
+ appliesWhen: { country: CO }
50
+ requirement:
51
+ kind: institutional_authority
52
+ values:
53
+ scope: [student_regulations]
54
+ effect: ask_for_reglamento_estudiantil_and_program_thesis_guidelines
55
+ quote: "deberán tener un reglamento estudiantil que regule al menos … régimen disciplinario y demás aspectos académicos."
56
+ source:
57
+ reference: "Ley 30 de 1992, art. 109"
58
+ url: "http://www.secretariasenado.gov.co/senado/basedoc/ley_0030_1992.html"
59
+ retrievedAt: "2026-10-04"
60
+ verification: { lastChecked: "2026-10-04", basis: official_text }
61
+ supersedes: []
@@ -0,0 +1,42 @@
1
+ # Colombia (CO) policy pack manifest. Manifest format: spec §11.1.1.
2
+ packId: CO
3
+ scope: country
4
+ country: CO
5
+ version: "2026.10.04"
6
+ lastChecked: "2026-10-04"
7
+ extends: global
8
+ languages: [es]
9
+ files:
10
+ - higher-education/ley-30-1992.yaml
11
+ - academic-standards/ntc-1486-2022.yaml
12
+ - research-integrity/minciencias-res-0314-2018.yaml
13
+ - copyright/ley-23-1982.yaml
14
+ - copyright/ley-1915-2018.yaml
15
+ - copyright/decision-andina-351.yaml
16
+ - privacy/ley-1581-2012.yaml
17
+ - domains/health/resolucion-8430-1993.yaml
18
+ - official-domains.yaml
19
+ defaults:
20
+ # Colombia never auto-enables ICONTEC (spec §11.3): no national rule imposes a presentation
21
+ # standard or citation style; Ley 30 de 1992 arts. 28–29 leave it to the institution.
22
+ presentationStandard: null
23
+ citationStyle: null
24
+ askInRound2: [citationStyle, presentationStandard, institution]
25
+ availableStandards: [icontec-ntc1486-2022]
26
+ ethicsTriggers: # questionnaire ids answered yes/no (spec §11.4); `minors` is proposed here
27
+ - human_participants
28
+ - identifiable_personal_data
29
+ - sensitive_data
30
+ - intervention
31
+ - risk_above_minimal
32
+ - biological_samples
33
+ - animals
34
+ - communities
35
+ - clinical_research
36
+ - minors
37
+ - additional_institutional_rules
38
+ domains:
39
+ health: domains/health/
40
+ watchList:
41
+ - id: minsalud-draft-replacing-res-8430-titles-I-II
42
+ note: "Draft resolution in second public consultation (reported 2026-07-30); would repeal Res. 8430 Títulos I–II. Re-check before each release."
@@ -0,0 +1,90 @@
1
+ # Allowlist used by research/verify.ts (spec §8.4) to grant VERIFIED_PRIMARY.
2
+ # Matching is host-suffix based and offline: a URL host matches an entry when it equals the
3
+ # entry or ends with "." + entry. Reachability is NOT a verification criterion: on 2026-10-04
4
+ # several hosts below (funcionpublica.gov.co, suin-juriscol.gov.co, sic.gov.co) served an
5
+ # incomplete TLS chain and failed Node 22 fetch with UNABLE_TO_VERIFY_LEAF_SIGNATURE.
6
+ rules:
7
+ - ruleId: CO.DOMAINS.OFFICIAL.PRIMARY.01
8
+ level: RECOMMENDATION
9
+ authority: { organization: alisio-plugin-thesis }
10
+ document: { id: CO-OFFICIAL-DOMAINS, version: "2026-10-04" }
11
+ status: active
12
+ appliesWhen: { country: CO }
13
+ requirement:
14
+ kind: official_domain_allowlist
15
+ values:
16
+ tier: primary
17
+ hostSuffixes:
18
+ - gov.co # Colombian State second-level domain (all public entities)
19
+ explicitHosts: # members of gov.co listed for traceability (reachable 2026-10-04)
20
+ - funcionpublica.gov.co # Gestor Normativo (consolidated laws)
21
+ - suin-juriscol.gov.co # Ministry of Justice consolidated legal information system
22
+ - secretariasenado.gov.co # Senate consolidated legal base (HTTP only; HTTPS timed out)
23
+ - corteconstitucional.gov.co
24
+ - consejodeestado.gov.co
25
+ - cortesuprema.gov.co
26
+ - minciencias.gov.co
27
+ - mineducacion.gov.co
28
+ - minsalud.gov.co
29
+ - derechodeautor.gov.co
30
+ - sic.gov.co
31
+ - dane.gov.co
32
+ - datos.gov.co # open data portal (datasets)
33
+ - dnp.gov.co
34
+ - banrep.gov.co
35
+ - invima.gov.co
36
+ - ins.gov.co
37
+ - ideam.gov.co
38
+ - igac.gov.co
39
+ - cna.gov.co
40
+ - icfes.gov.co
41
+ otherHosts:
42
+ - comunidadandina.org # Andean Community: official source of Decisión 351
43
+ allowedTypes: [law, standard, report, dataset]
44
+ source:
45
+ reference: "MinTIC Resolución 2715 de 2011 (keeps .gov.co for State entities; the .gob.co transition was not carried out); MinTIC 2025 notice on the gov.co/mil.co/edu.co/org.co operator for public entities. Host list checked by HTTP request for this pack."
46
+ url: "https://normograma.crcom.gov.co/crc/compilacion/docs/resolucion_mintic_2715_2011.htm"
47
+ retrievedAt: "2026-10-04"
48
+ verification: { lastChecked: "2026-10-04", basis: secondary_source }
49
+ supersedes: []
50
+
51
+ - ruleId: CO.DOMAINS.STANDARDS_BODY.01
52
+ level: RECOMMENDATION
53
+ authority: { organization: alisio-plugin-thesis }
54
+ document: { id: CO-OFFICIAL-DOMAINS, version: "2026-10-04" }
55
+ status: active
56
+ appliesWhen: { country: CO }
57
+ requirement:
58
+ kind: official_domain_allowlist
59
+ values:
60
+ tier: primary
61
+ explicitHosts: [icontec.org] # national standards body; returned 403 to curl on 2026-10-04 (bot protection)
62
+ allowedTypes: [standard]
63
+ source:
64
+ reference: "ICONTEC is the Colombian national standardization body (publisher of NTC standards)."
65
+ url: "https://www.icontec.org/"
66
+ retrievedAt: "2026-10-04"
67
+ verification: { lastChecked: "2026-10-04", basis: secondary_source }
68
+ supersedes: []
69
+
70
+ - ruleId: CO.DOMAINS.INDEXING.01
71
+ level: RECOMMENDATION
72
+ authority: { organization: alisio-plugin-thesis }
73
+ document: { id: CO-OFFICIAL-DOMAINS, version: "2026-10-04" }
74
+ status: active
75
+ appliesWhen: { country: CO }
76
+ requirement:
77
+ kind: official_domain_allowlist
78
+ values:
79
+ tier: indexing # NEVER grants VERIFIED_PRIMARY; discovery/metadata only
80
+ explicitHosts:
81
+ - scielo.org.co # SciELO Colombia (HTTP 200; HTTPS refused on 2026-10-04)
82
+ - publindex.minciencias.gov.co # journal indexing service; overrides the gov.co primary match
83
+ - scienti.minciencias.gov.co # CvLAC/GrupLAC researcher registries; overrides the gov.co primary match
84
+ note: "Articles found here are peer-reviewed candidates that still need Crossref/OpenAlex verification (VERIFIED_PEER_REVIEWED), not primary sources."
85
+ source:
86
+ reference: "Classification decision for this pack: indexing services list publications they do not author."
87
+ url: "https://scielo.org/"
88
+ retrievedAt: "2026-10-04"
89
+ verification: { lastChecked: "2026-10-04", basis: secondary_source }
90
+ supersedes: []
@@ -0,0 +1,197 @@
1
+ # Ley Estatutaria 1581 de 2012 (personal data protection; authority: SIC) and its regulation,
2
+ # Decreto 1377 de 2013, now compiled in Decreto 1074 de 2015 (DUR Comercio), Libro 2, Parte 2,
3
+ # Título 2, Capítulo 25. Rules cite the current DUR article and the original 1377 article.
4
+ # Ethics triggers: identifiable_personal_data, sensitive_data, minors (see P0.6-results.md).
5
+ rules:
6
+ - ruleId: CO.LEY1581.2012.TRIGGER.PERSONAL_DATA
7
+ level: LAW
8
+ authority: { organization: Congreso de la República de Colombia }
9
+ document: { id: LEY-1581-2012, version: "2012" }
10
+ status: active
11
+ appliesWhen: { country: CO, ethicsTrigger: identifiable_personal_data }
12
+ requirement:
13
+ kind: ethics_trigger
14
+ values:
15
+ trigger: identifiable_personal_data
16
+ definition: "Dato personal: Cualquier información vinculada o que pueda asociarse a una o varias personas naturales determinadas o determinables"
17
+ requires:
18
+ - CO.LEY1581.2012.CONSENT.04C
19
+ - CO.LEY1581.2012.INFORM.12
20
+ - CO.LEY1581.2012.SECURITY.04G
21
+ - CO.LEY1581.2012.PUBLICATION.04F
22
+ - CO.D1074.2015.AUTHORIZATION_PROOF.2_2_2_25_2_5
23
+ thesisSection: data_handling # method chapter subsection or annex describing purpose, consent, storage, access, anonymization
24
+ source:
25
+ reference: "Ley 1581 de 2012, art. 3 lit. c"
26
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=49981"
27
+ retrievedAt: "2026-10-04"
28
+ verification: { lastChecked: "2026-10-04", basis: official_text }
29
+ supersedes: []
30
+
31
+ - ruleId: CO.LEY1581.2012.CONSENT.04C
32
+ level: LAW
33
+ authority: { organization: Congreso de la República de Colombia }
34
+ document: { id: LEY-1581-2012, version: "2012" }
35
+ status: active
36
+ appliesWhen: { country: CO, ethicsTrigger: identifiable_personal_data }
37
+ requirement:
38
+ kind: consent_requirement
39
+ values:
40
+ timing: prior_to_collection
41
+ qualities: [prior, express, informed]
42
+ validForms: [written, oral, unequivocal_conduct]
43
+ silenceIsConsent: false
44
+ evidenceRequired: true
45
+ quote: "El Tratamiento sólo puede ejercerse con el consentimiento, previo, expreso e informado del Titular."
46
+ note: "Art. 10 lit. d waives authorization only where a law authorizes processing for historical, statistical or scientific purposes; it is not a blanket research exemption."
47
+ source:
48
+ reference: "Ley 1581 de 2012, arts. 4 lit. c, 9, 10 lit. d; Decreto 1074 de 2015, art. 2.2.2.25.2.4 (Decreto 1377 de 2013, art. 7)"
49
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=49981"
50
+ retrievedAt: "2026-10-04"
51
+ verification: { lastChecked: "2026-10-04", basis: official_text }
52
+ supersedes: []
53
+
54
+ - ruleId: CO.LEY1581.2012.INFORM.12
55
+ level: LAW
56
+ authority: { organization: Congreso de la República de Colombia }
57
+ document: { id: LEY-1581-2012, version: "2012" }
58
+ status: active
59
+ appliesWhen: { country: CO, ethicsTrigger: identifiable_personal_data }
60
+ requirement:
61
+ kind: consent_requirement
62
+ values:
63
+ informationSheetElements:
64
+ - processing_and_purpose
65
+ - optional_answers_for_sensitive_or_minors_data
66
+ - data_subject_rights
67
+ - controller_identification_and_contact
68
+ evidenceRequired: true
69
+ quote: "deberá informarle de manera clara y expresa lo siguiente: a) El Tratamiento … y la finalidad del mismo; b) El carácter facultativo de la respuesta a las preguntas … sobre datos sensibles o sobre los datos de las niñas, niños y adolescentes; c) Los derechos…; d) La identificación…"
70
+ source:
71
+ reference: "Ley 1581 de 2012, art. 12 and parágrafo"
72
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=49981"
73
+ retrievedAt: "2026-10-04"
74
+ verification: { lastChecked: "2026-10-04", basis: official_text }
75
+ supersedes: []
76
+
77
+ - ruleId: CO.LEY1581.2012.SECURITY.04G
78
+ level: LAW
79
+ authority: { organization: Congreso de la República de Colombia }
80
+ document: { id: LEY-1581-2012, version: "2012" }
81
+ status: active
82
+ appliesWhen: { country: CO, ethicsTrigger: identifiable_personal_data }
83
+ requirement:
84
+ kind: data_protection
85
+ values:
86
+ measures: [technical, human, administrative]
87
+ describeIn: data_handling
88
+ confidentialityDuty: all_team_members_including_after_study
89
+ quote: "se deberá manejar con las medidas técnicas, humanas y administrativas que sean necesarias para otorgar seguridad a los registros evitando su adulteración, pérdida, consulta, uso o acceso no autorizado"
90
+ source:
91
+ reference: "Ley 1581 de 2012, art. 4 lit. g, h"
92
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=49981"
93
+ retrievedAt: "2026-10-04"
94
+ verification: { lastChecked: "2026-10-04", basis: official_text }
95
+ supersedes: []
96
+
97
+ - ruleId: CO.LEY1581.2012.PUBLICATION.04F
98
+ level: LAW
99
+ authority: { organization: Congreso de la República de Colombia }
100
+ document: { id: LEY-1581-2012, version: "2012" }
101
+ status: active
102
+ appliesWhen: { country: CO, ethicsTrigger: identifiable_personal_data }
103
+ requirement:
104
+ kind: data_protection
105
+ values:
106
+ publication: no_identifiable_personal_data_in_thesis_repository_or_open_dataset_unless_access_controlled
107
+ checks: [anonymize_before_publication]
108
+ quote: "Los datos personales, salvo la información pública, no podrán estar disponibles en Internet u otros medios de divulgación o comunicación masiva, salvo que el acceso sea técnicamente controlable"
109
+ source:
110
+ reference: "Ley 1581 de 2012, art. 4 lit. f"
111
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=49981"
112
+ retrievedAt: "2026-10-04"
113
+ verification: { lastChecked: "2026-10-04", basis: official_text }
114
+ supersedes: []
115
+
116
+ - ruleId: CO.LEY1581.2012.TRIGGER.SENSITIVE_DATA
117
+ level: LAW
118
+ authority: { organization: Congreso de la República de Colombia }
119
+ document: { id: LEY-1581-2012, version: "2012" }
120
+ status: active
121
+ appliesWhen: { country: CO, ethicsTrigger: sensitive_data }
122
+ requirement:
123
+ kind: ethics_trigger
124
+ values:
125
+ trigger: sensitive_data
126
+ categories: [racial_or_ethnic_origin, political_orientation, religious_or_philosophical_beliefs, union_or_social_organization_membership, human_rights_organization_membership, political_party_interests_or_opposition_rights, health, sex_life, biometric]
127
+ default: processing_prohibited
128
+ allowedWhen: [explicit_authorization, scientific_purpose_with_identity_suppression]
129
+ requires:
130
+ - CO.D1074.2015.SENSITIVE.2_2_2_25_2_3
131
+ - CO.LEY1581.2012.CONSENT.04C
132
+ quote: "Se prohíbe el Tratamiento de datos sensibles, excepto cuando: a) El Titular haya dado su autorización explícita … e) El Tratamiento tenga una finalidad histórica, estadística o científica. En este evento deberán adoptarse las medidas conducentes a la supresión de identidad de los Titulares."
133
+ source:
134
+ reference: "Ley 1581 de 2012, arts. 5 and 6 lit. a, e"
135
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=49981"
136
+ retrievedAt: "2026-10-04"
137
+ verification: { lastChecked: "2026-10-04", basis: official_text }
138
+ supersedes: []
139
+
140
+ - ruleId: CO.D1074.2015.SENSITIVE.2_2_2_25_2_3
141
+ level: REGULATION
142
+ authority: { organization: Presidencia de la República de Colombia }
143
+ document: { id: DECRETO-1074-2015, version: "2015" }
144
+ status: active
145
+ appliesWhen: { country: CO, ethicsTrigger: sensitive_data }
146
+ requirement:
147
+ kind: consent_requirement
148
+ values:
149
+ mustInform: [authorization_of_sensitive_data_is_optional, which_items_are_sensitive]
150
+ participationConditionedOnSensitiveData: false
151
+ quote: "1. Informar al titular que por tratarse de datos sensibles no está obligado a autorizar su Tratamiento. … Ninguna actividad podrá condicionarse a que el Titular suministre datos personales sensibles."
152
+ source:
153
+ reference: "Decreto 1074 de 2015, art. 2.2.2.25.2.3 (Decreto 1377 de 2013, art. 6)"
154
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=76608"
155
+ retrievedAt: "2026-10-04"
156
+ verification: { lastChecked: "2026-10-04", basis: official_text }
157
+ supersedes: []
158
+
159
+ - ruleId: CO.D1074.2015.AUTHORIZATION_PROOF.2_2_2_25_2_5
160
+ level: REGULATION
161
+ authority: { organization: Presidencia de la República de Colombia }
162
+ document: { id: DECRETO-1074-2015, version: "2015" }
163
+ status: active
164
+ appliesWhen: { country: CO, ethicsTrigger: identifiable_personal_data }
165
+ requirement:
166
+ kind: consent_requirement
167
+ values:
168
+ evidenceRequired: true
169
+ evidenceExamples: [signed_forms, recordings, logs]
170
+ quote: "Los Responsables deberán conservar prueba de la autorización otorgada por los Titulares de datos personales"
171
+ source:
172
+ reference: "Decreto 1074 de 2015, art. 2.2.2.25.2.5 (Decreto 1377 de 2013, art. 8)"
173
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=76608"
174
+ retrievedAt: "2026-10-04"
175
+ verification: { lastChecked: "2026-10-04", basis: official_text }
176
+ supersedes: []
177
+
178
+ - ruleId: CO.LEY1581.2012.TRIGGER.MINORS
179
+ level: LAW
180
+ authority: { organization: Congreso de la República de Colombia }
181
+ document: { id: LEY-1581-2012, version: "2012" }
182
+ status: active
183
+ appliesWhen: { country: CO, ethicsTrigger: minors }
184
+ requirement:
185
+ kind: ethics_trigger
186
+ values:
187
+ trigger: minors
188
+ default: processing_proscribed_except_public_data
189
+ allowedWhen: [best_interest_of_child, fundamental_rights_respected, legal_representative_authorizes_after_child_is_heard]
190
+ quote: "Queda proscrito el Tratamiento de datos personales de niños, niñas y adolescentes, salvo aquellos datos que sean de naturaleza pública."
191
+ note: "Sentencia C-748 de 2011 conditioned art. 7; the conditioned wording was not verified (open question)."
192
+ source:
193
+ reference: "Ley 1581 de 2012, art. 7; Decreto 1074 de 2015, art. 2.2.2.25.2.9 (Decreto 1377 de 2013, art. 12)"
194
+ url: "https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=49981"
195
+ retrievedAt: "2026-10-04"
196
+ verification: { lastChecked: "2026-10-04", basis: official_text }
197
+ supersedes: []