rtr-role-type-retrieval 0.4.0__tar.gz

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 (310) hide show
  1. rtr_role_type_retrieval-0.4.0/.github/DISCUSSION_TEMPLATE/falsify-a-claim.yml +84 -0
  2. rtr_role_type_retrieval-0.4.0/.github/DISCUSSION_TEMPLATE/general.yml +19 -0
  3. rtr_role_type_retrieval-0.4.0/.github/DISCUSSION_TEMPLATE/ideas.yml +38 -0
  4. rtr_role_type_retrieval-0.4.0/.github/DISCUSSION_TEMPLATE/q-a.yml +43 -0
  5. rtr_role_type_retrieval-0.4.0/.github/DISCUSSION_TEMPLATE/show-and-tell.yml +34 -0
  6. rtr_role_type_retrieval-0.4.0/.github/ISSUE_TEMPLATE/adaptation-request.yml +79 -0
  7. rtr_role_type_retrieval-0.4.0/.github/ISSUE_TEMPLATE/bug_report.yml +85 -0
  8. rtr_role_type_retrieval-0.4.0/.github/ISSUE_TEMPLATE/config.yml +14 -0
  9. rtr_role_type_retrieval-0.4.0/.github/ISSUE_TEMPLATE/false_claim.yml +63 -0
  10. rtr_role_type_retrieval-0.4.0/.github/ISSUE_TEMPLATE/proposal.yml +58 -0
  11. rtr_role_type_retrieval-0.4.0/.github/PULL_REQUEST_TEMPLATE.md +41 -0
  12. rtr_role_type_retrieval-0.4.0/.github/workflows/template-lint.yml +41 -0
  13. rtr_role_type_retrieval-0.4.0/.gitignore +23 -0
  14. rtr_role_type_retrieval-0.4.0/CODE_OF_CONDUCT.md +98 -0
  15. rtr_role_type_retrieval-0.4.0/CONTRIBUTING.md +131 -0
  16. rtr_role_type_retrieval-0.4.0/FUNDING.yml +1 -0
  17. rtr_role_type_retrieval-0.4.0/GOVERNANCE.md +62 -0
  18. rtr_role_type_retrieval-0.4.0/LICENSE-AGPL-3.0.txt +661 -0
  19. rtr_role_type_retrieval-0.4.0/LICENSE-EUPL-1.2.txt +190 -0
  20. rtr_role_type_retrieval-0.4.0/LICENSE.md +13 -0
  21. rtr_role_type_retrieval-0.4.0/LICENSES/AGPL-3.0-or-later.txt +661 -0
  22. rtr_role_type_retrieval-0.4.0/LICENSES/EUPL-1.2.txt +190 -0
  23. rtr_role_type_retrieval-0.4.0/NOTICE +14 -0
  24. rtr_role_type_retrieval-0.4.0/PKG-INFO +278 -0
  25. rtr_role_type_retrieval-0.4.0/PRIVACY.md +61 -0
  26. rtr_role_type_retrieval-0.4.0/README-PYPI.md +251 -0
  27. rtr_role_type_retrieval-0.4.0/README.md +362 -0
  28. rtr_role_type_retrieval-0.4.0/SECURITY.md +88 -0
  29. rtr_role_type_retrieval-0.4.0/SUPPORT.md +55 -0
  30. rtr_role_type_retrieval-0.4.0/VENDORED.md +17 -0
  31. rtr_role_type_retrieval-0.4.0/artifacts/amplify-codebase/handoff.md +11 -0
  32. rtr_role_type_retrieval-0.4.0/artifacts/amplify-codebase/layer-args.md +6 -0
  33. rtr_role_type_retrieval-0.4.0/artifacts/amplify-codebase/layer-generic.md +7 -0
  34. rtr_role_type_retrieval-0.4.0/artifacts/amplify-codebase/layer-license.md +6 -0
  35. rtr_role_type_retrieval-0.4.0/artifacts/amplify-codebase/layer-record.md +6 -0
  36. rtr_role_type_retrieval-0.4.0/artifacts/amplify-codebase/ledger.md +25 -0
  37. rtr_role_type_retrieval-0.4.0/artifacts/amplify-codebase/roadmap.md +8 -0
  38. rtr_role_type_retrieval-0.4.0/artifacts/amplify-codebase/state.md +37 -0
  39. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-evaluation.md +41 -0
  40. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-limits-register.md +106 -0
  41. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-plan.md +78 -0
  42. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-production.cells.txt +8 -0
  43. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-production.md +32 -0
  44. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-production.png +0 -0
  45. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-production.svg +13 -0
  46. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-renovation-2.md +29 -0
  47. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-renovation.md +33 -0
  48. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-survey-calibration.md +65 -0
  49. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-26-survey.md +51 -0
  50. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-acp-bun-suite.md +63 -0
  51. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-ccc-vs-rg-study.md +80 -0
  52. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-cutover-executed.md +25 -0
  53. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-cutover-plan.md +33 -0
  54. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-final-freeze.md +48 -0
  55. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-graded-fortification.md +93 -0
  56. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-graded-v3.md +34 -0
  57. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-lean-battery.md +93 -0
  58. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-lean-control.md +72 -0
  59. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-perf-pass.md +18 -0
  60. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-quadruple-check.md +58 -0
  61. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-renewed-functions.md +63 -0
  62. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-survey-dark.svg +18 -0
  63. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-survey-dummy3-dummy4.md +65 -0
  64. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-survey-dummy5.md +18 -0
  65. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-survey-dummy6.md +18 -0
  66. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-survey.json +268 -0
  67. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-survey.md +53 -0
  68. rtr_role_type_retrieval-0.4.0/artifacts/geometry/2026-10-27-survey.svg +18 -0
  69. rtr_role_type_retrieval-0.4.0/directives/context-management.md +23 -0
  70. rtr_role_type_retrieval-0.4.0/directives/rtr-re-symbiose.md +34 -0
  71. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-13.md +10 -0
  72. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-13_62718.md +399 -0
  73. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-13_63645.md +18 -0
  74. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-13_63801.md +412 -0
  75. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-13_65731.md +38 -0
  76. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-13_65912.md +600 -0
  77. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-13_71481.md +80 -0
  78. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-13_94151.md +10 -0
  79. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-27.md +10 -0
  80. rtr_role_type_retrieval-0.4.0/directives/sessions/2026-10-27_22431.md +10 -0
  81. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_001.md +151 -0
  82. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_002.md +15 -0
  83. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_003.md +35 -0
  84. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_004.md +23 -0
  85. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_005.md +19 -0
  86. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_006.md +0 -0
  87. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_007.md +18 -0
  88. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_008.md +15 -0
  89. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_009.md +27 -0
  90. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_010.md +18 -0
  91. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_011.md +19 -0
  92. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_012.md +20 -0
  93. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_013.md +19 -0
  94. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_014.md +30 -0
  95. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_015.md +18 -0
  96. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_016.md +18 -0
  97. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_017.md +18 -0
  98. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_018.md +18 -0
  99. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_019.md +18 -0
  100. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_020.md +18 -0
  101. rtr_role_type_retrieval-0.4.0/directives/wiki_concepts/concept_021.md +18 -0
  102. rtr_role_type_retrieval-0.4.0/eval/TAXONOMY.md +117 -0
  103. rtr_role_type_retrieval-0.4.0/eval/bench_graded.py +249 -0
  104. rtr_role_type_retrieval-0.4.0/eval/bench_versus.py +663 -0
  105. rtr_role_type_retrieval-0.4.0/eval/calibrate_symbiose.py +321 -0
  106. rtr_role_type_retrieval-0.4.0/eval/graded/PROTOCOL.md +101 -0
  107. rtr_role_type_retrieval-0.4.0/eval/graded/build_gold.py +625 -0
  108. rtr_role_type_retrieval-0.4.0/eval/graded/make_pool_worksheet.py +126 -0
  109. rtr_role_type_retrieval-0.4.0/eval/graded/pool-worksheet.md +4938 -0
  110. rtr_role_type_retrieval-0.4.0/eval/graded/qrels-v2.json +6962 -0
  111. rtr_role_type_retrieval-0.4.0/eval/graded/qrels-v3.json +7070 -0
  112. rtr_role_type_retrieval-0.4.0/eval/graded/qrels.json +1400 -0
  113. rtr_role_type_retrieval-0.4.0/eval/graded/queries-v2.json +198 -0
  114. rtr_role_type_retrieval-0.4.0/eval/graded/queries-v3.json +198 -0
  115. rtr_role_type_retrieval-0.4.0/eval/graded/queries.json +198 -0
  116. rtr_role_type_retrieval-0.4.0/eval/graded-dark.svg +431 -0
  117. rtr_role_type_retrieval-0.4.0/eval/graded.svg +431 -0
  118. rtr_role_type_retrieval-0.4.0/eval/plates_graded.py +239 -0
  119. rtr_role_type_retrieval-0.4.0/eval/plates_versus.py +244 -0
  120. rtr_role_type_retrieval-0.4.0/eval/results/calibration-320k-to-128k.json +463 -0
  121. rtr_role_type_retrieval-0.4.0/eval/results/calibration-320k-to-128k.md +18 -0
  122. rtr_role_type_retrieval-0.4.0/eval/results/calibration-40k-to-20k.json +163 -0
  123. rtr_role_type_retrieval-0.4.0/eval/results/calibration-40k-to-20k.md +16 -0
  124. rtr_role_type_retrieval-0.4.0/eval/results/calibration.json +613 -0
  125. rtr_role_type_retrieval-0.4.0/eval/results/calibration.md +19 -0
  126. rtr_role_type_retrieval-0.4.0/eval/results/graded-final-off.json +15257 -0
  127. rtr_role_type_retrieval-0.4.0/eval/results/graded-lane-on.json +15239 -0
  128. rtr_role_type_retrieval-0.4.0/eval/results/graded-plates.md +48 -0
  129. rtr_role_type_retrieval-0.4.0/eval/results/graded-pool.json +5745 -0
  130. rtr_role_type_retrieval-0.4.0/eval/results/graded-todo6.json +15227 -0
  131. rtr_role_type_retrieval-0.4.0/eval/results/graded-v2-prefix.json +15274 -0
  132. rtr_role_type_retrieval-0.4.0/eval/results/graded-v2-prefix.md +17 -0
  133. rtr_role_type_retrieval-0.4.0/eval/results/graded-v3.json +15262 -0
  134. rtr_role_type_retrieval-0.4.0/eval/results/graded-v3.md +17 -0
  135. rtr_role_type_retrieval-0.4.0/eval/results/graded.json +15257 -0
  136. rtr_role_type_retrieval-0.4.0/eval/results/graded.md +17 -0
  137. rtr_role_type_retrieval-0.4.0/eval/results/versus-final-off.json +53985 -0
  138. rtr_role_type_retrieval-0.4.0/eval/results/versus-lane-on.json +53985 -0
  139. rtr_role_type_retrieval-0.4.0/eval/results/versus-prefix.json +53985 -0
  140. rtr_role_type_retrieval-0.4.0/eval/results/versus-todo6.json +53985 -0
  141. rtr_role_type_retrieval-0.4.0/eval/results/versus.json +53985 -0
  142. rtr_role_type_retrieval-0.4.0/eval/results/versus.md +172 -0
  143. rtr_role_type_retrieval-0.4.0/eval/versus-dark.svg +197 -0
  144. rtr_role_type_retrieval-0.4.0/eval/versus.mmd +9 -0
  145. rtr_role_type_retrieval-0.4.0/eval/versus.svg +197 -0
  146. rtr_role_type_retrieval-0.4.0/execution/__init__.py +3 -0
  147. rtr_role_type_retrieval-0.4.0/execution/context_budget.py +254 -0
  148. rtr_role_type_retrieval-0.4.0/execution/graded_metrics.py +188 -0
  149. rtr_role_type_retrieval-0.4.0/execution/install_opencode.py +101 -0
  150. rtr_role_type_retrieval-0.4.0/execution/memory_cli.py +645 -0
  151. rtr_role_type_retrieval-0.4.0/execution/memory_engine.py +3220 -0
  152. rtr_role_type_retrieval-0.4.0/execution/memory_mcp_server.py +1016 -0
  153. rtr_role_type_retrieval-0.4.0/execution/rtr_eval.py +169 -0
  154. rtr_role_type_retrieval-0.4.0/execution/symbiose_worker.py +413 -0
  155. rtr_role_type_retrieval-0.4.0/execution/test_architecture_contracts.py +254 -0
  156. rtr_role_type_retrieval-0.4.0/execution/test_calibrate_symbiose.py +76 -0
  157. rtr_role_type_retrieval-0.4.0/execution/test_context_budget.py +141 -0
  158. rtr_role_type_retrieval-0.4.0/execution/test_graded_metrics.py +160 -0
  159. rtr_role_type_retrieval-0.4.0/execution/test_install_opencode.py +64 -0
  160. rtr_role_type_retrieval-0.4.0/execution/test_mcp_status.py +86 -0
  161. rtr_role_type_retrieval-0.4.0/execution/test_memory.py +640 -0
  162. rtr_role_type_retrieval-0.4.0/execution/test_rtrre_matrix.py +235 -0
  163. rtr_role_type_retrieval-0.4.0/execution/test_symbiose_worker.py +247 -0
  164. rtr_role_type_retrieval-0.4.0/execution/tui_renderer.py +86 -0
  165. rtr_role_type_retrieval-0.4.0/formal/MATHLIB_POLICY.md +32 -0
  166. rtr_role_type_retrieval-0.4.0/formal/Symbiose/Checks.lean +50 -0
  167. rtr_role_type_retrieval-0.4.0/formal/Symbiose/Control.lean +143 -0
  168. rtr_role_type_retrieval-0.4.0/formal/Symbiose/Graded.lean +84 -0
  169. rtr_role_type_retrieval-0.4.0/formal/Symbiose/Lane.lean +157 -0
  170. rtr_role_type_retrieval-0.4.0/formal/Symbiose/Planner.lean +97 -0
  171. rtr_role_type_retrieval-0.4.0/formal/Symbiose/Worker.lean +62 -0
  172. rtr_role_type_retrieval-0.4.0/formal/Symbiose.lean +8 -0
  173. rtr_role_type_retrieval-0.4.0/formal/lake-manifest.json +96 -0
  174. rtr_role_type_retrieval-0.4.0/formal/lakefile.lean +16 -0
  175. rtr_role_type_retrieval-0.4.0/formal/lean-toolchain +1 -0
  176. rtr_role_type_retrieval-0.4.0/media/TECHSPEC.md +33 -0
  177. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-01.png +0 -0
  178. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-02.png +0 -0
  179. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-03.png +0 -0
  180. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-04.png +0 -0
  181. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-05.png +0 -0
  182. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-06.png +0 -0
  183. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-07.png +0 -0
  184. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-08.png +0 -0
  185. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-09.png +0 -0
  186. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-10.png +0 -0
  187. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-11.png +0 -0
  188. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-12.png +0 -0
  189. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-13.png +0 -0
  190. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-14.png +0 -0
  191. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-15.png +0 -0
  192. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-16.png +0 -0
  193. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-17.png +0 -0
  194. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-18.png +0 -0
  195. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-19.png +0 -0
  196. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-20.png +0 -0
  197. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-21.png +0 -0
  198. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-22.png +0 -0
  199. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-23.png +0 -0
  200. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-24.png +0 -0
  201. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-25.png +0 -0
  202. rtr_role_type_retrieval-0.4.0/media/frames-a/frame-26.png +0 -0
  203. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-01.png +0 -0
  204. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-02.png +0 -0
  205. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-03.png +0 -0
  206. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-04.png +0 -0
  207. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-05.png +0 -0
  208. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-06.png +0 -0
  209. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-07.png +0 -0
  210. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-08.png +0 -0
  211. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-09.png +0 -0
  212. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-10.png +0 -0
  213. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-11.png +0 -0
  214. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-12.png +0 -0
  215. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-13.png +0 -0
  216. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-14.png +0 -0
  217. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-15.png +0 -0
  218. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-16.png +0 -0
  219. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-17.png +0 -0
  220. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-18.png +0 -0
  221. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-19.png +0 -0
  222. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-20.png +0 -0
  223. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-21.png +0 -0
  224. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-22.png +0 -0
  225. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-23.png +0 -0
  226. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-24.png +0 -0
  227. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-25.png +0 -0
  228. rtr_role_type_retrieval-0.4.0/media/frames-b/frame-26.png +0 -0
  229. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-01.png +0 -0
  230. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-02.png +0 -0
  231. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-03.png +0 -0
  232. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-04.png +0 -0
  233. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-05.png +0 -0
  234. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-06.png +0 -0
  235. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-07.png +0 -0
  236. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-08.png +0 -0
  237. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-09.png +0 -0
  238. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-10.png +0 -0
  239. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-11.png +0 -0
  240. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-12.png +0 -0
  241. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-13.png +0 -0
  242. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-14.png +0 -0
  243. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-15.png +0 -0
  244. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-16.png +0 -0
  245. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-17.png +0 -0
  246. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-18.png +0 -0
  247. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-19.png +0 -0
  248. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-20.png +0 -0
  249. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-21.png +0 -0
  250. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-22.png +0 -0
  251. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-23.png +0 -0
  252. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-24.png +0 -0
  253. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-25.png +0 -0
  254. rtr_role_type_retrieval-0.4.0/media/frames-c/frame-26.png +0 -0
  255. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-01.png +0 -0
  256. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-02.png +0 -0
  257. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-03.png +0 -0
  258. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-04.png +0 -0
  259. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-05.png +0 -0
  260. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-06.png +0 -0
  261. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-07.png +0 -0
  262. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-08.png +0 -0
  263. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-09.png +0 -0
  264. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-10.png +0 -0
  265. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-11.png +0 -0
  266. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-12.png +0 -0
  267. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-13.png +0 -0
  268. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-14.png +0 -0
  269. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-15.png +0 -0
  270. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-16.png +0 -0
  271. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-17.png +0 -0
  272. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-18.png +0 -0
  273. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-19.png +0 -0
  274. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-20.png +0 -0
  275. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-21.png +0 -0
  276. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-22.png +0 -0
  277. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-23.png +0 -0
  278. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-24.png +0 -0
  279. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-25.png +0 -0
  280. rtr_role_type_retrieval-0.4.0/media/frames-d/frame-26.png +0 -0
  281. rtr_role_type_retrieval-0.4.0/media/make_frames.py +662 -0
  282. rtr_role_type_retrieval-0.4.0/media/tessersect-a-480p.mp4 +0 -0
  283. rtr_role_type_retrieval-0.4.0/media/tessersect-a-480p.srt +104 -0
  284. rtr_role_type_retrieval-0.4.0/media/tessersect-b-480p.mp4 +0 -0
  285. rtr_role_type_retrieval-0.4.0/media/tessersect-b-480p.srt +104 -0
  286. rtr_role_type_retrieval-0.4.0/media/tessersect-c-480p.mp4 +0 -0
  287. rtr_role_type_retrieval-0.4.0/media/tessersect-c-480p.srt +104 -0
  288. rtr_role_type_retrieval-0.4.0/media/tessersect-d-480p.mp4 +0 -0
  289. rtr_role_type_retrieval-0.4.0/media/tessersect-d-480p.srt +104 -0
  290. rtr_role_type_retrieval-0.4.0/mjs/.opencode/command/rtr.md +9 -0
  291. rtr_role_type_retrieval-0.4.0/mjs/.opencode/plugins/rtr-frontmatter.cjs +22 -0
  292. rtr_role_type_retrieval-0.4.0/mjs/.opencode/plugins/rtr.mjs +116 -0
  293. rtr_role_type_retrieval-0.4.0/mjs/AGENTS.md +66 -0
  294. rtr_role_type_retrieval-0.4.0/mjs/LICENSE +13 -0
  295. rtr_role_type_retrieval-0.4.0/mjs/README.md +76 -0
  296. rtr_role_type_retrieval-0.4.0/mjs/hooks/claude-codex-hooks.json +44 -0
  297. rtr_role_type_retrieval-0.4.0/mjs/hooks/rtr-activate.js +10 -0
  298. rtr_role_type_retrieval-0.4.0/mjs/hooks/rtr-core.js +231 -0
  299. rtr_role_type_retrieval-0.4.0/mjs/hooks/rtr-prompt.js +66 -0
  300. rtr_role_type_retrieval-0.4.0/mjs/hooks/rtr-subagent.js +11 -0
  301. rtr_role_type_retrieval-0.4.0/mjs/package.json +40 -0
  302. rtr_role_type_retrieval-0.4.0/mjs/plugin.json +5 -0
  303. rtr_role_type_retrieval-0.4.0/mjs/scripts/generate-agents.js +16 -0
  304. rtr_role_type_retrieval-0.4.0/mjs/skills/rtr/SKILL.md +71 -0
  305. rtr_role_type_retrieval-0.4.0/mjs/tests/rtr.test.mjs +154 -0
  306. rtr_role_type_retrieval-0.4.0/opencode-plugin/rtr-re-keeper.js +602 -0
  307. rtr_role_type_retrieval-0.4.0/opencode-plugin/rtr-re-keeper.test.mjs +330 -0
  308. rtr_role_type_retrieval-0.4.0/pyproject.toml +54 -0
  309. rtr_role_type_retrieval-0.4.0/tools/sync_standalone.py +161 -0
  310. rtr_role_type_retrieval-0.4.0/tools/test_sync_standalone.py +49 -0
@@ -0,0 +1,84 @@
1
+ title: "[Falsify] "
2
+ labels: ["falsify-a-claim"]
3
+ body:
4
+ - type: markdown
5
+ attributes:
6
+ value: |
7
+ This is the room for attacking a claim we have made — a theorem, a
8
+ measurement, a number in a README, a sentence in a commit message.
9
+
10
+ You do not need to be right. You need to name the claim precisely and
11
+ say what would settle it. A refutation that fails is still worth having:
12
+ it turns an assumption into something that survived an attack.
13
+
14
+ If you already have the counter-example in hand and it is unambiguous,
15
+ open a **false claim** issue instead — that path is for defects with
16
+ evidence attached. This one is for the experiment before the verdict.
17
+
18
+ - type: textarea
19
+ id: claim
20
+ attributes:
21
+ label: The claim, quoted verbatim
22
+ description: >
23
+ Copy it exactly as written. Paraphrase is where most disagreements
24
+ actually live — half of them dissolve once the original wording is on
25
+ the table.
26
+ validations:
27
+ required: true
28
+
29
+ - type: input
30
+ id: location
31
+ attributes:
32
+ label: Where it is stated
33
+ description: >
34
+ A permalink, or `path/to/file.ext:LINE`. If it is a claim we made in
35
+ conversation rather than in the tree, say so — that is a finding in
36
+ itself, because it means the claim was never written down.
37
+ validations:
38
+ required: true
39
+
40
+ - type: textarea
41
+ id: refutation
42
+ attributes:
43
+ label: What would refute it
44
+ description: >
45
+ The observation that, if it occurred, would force us to withdraw the
46
+ claim. Be concrete: an input, a command, an exit code, a counter-example.
47
+ A claim with no stated refutation is not a claim we should have made.
48
+ validations:
49
+ required: true
50
+
51
+ - type: textarea
52
+ id: attempted
53
+ attributes:
54
+ label: What you ran, and what happened
55
+ description: >
56
+ Paste the command and its real output, including the exit code read
57
+ directly. Negative results belong here too — "I tried to break it this
58
+ way and it held" is evidence, and we would rather have it than not.
59
+ render: shell
60
+ validations:
61
+ required: false
62
+
63
+ - type: dropdown
64
+ id: standing
65
+ attributes:
66
+ label: Where does this stand right now?
67
+ options:
68
+ - I think the claim is wrong and I can show it
69
+ - I suspect it is wrong but I cannot yet demonstrate it
70
+ - The claim may be true but is stated more strongly than the evidence supports
71
+ - The claim is untestable as written and needs restating before it can be judged
72
+ - I tried to refute it and failed — recording the attempt
73
+ validations:
74
+ required: true
75
+
76
+ - type: checkboxes
77
+ id: scope
78
+ attributes:
79
+ label: Before you post
80
+ options:
81
+ - label: I have quoted the claim rather than summarising it
82
+ required: true
83
+ - label: I have said what would change my mind, not only what I believe
84
+ required: false
@@ -0,0 +1,19 @@
1
+ body:
2
+ - type: markdown
3
+ attributes:
4
+ value: |
5
+ Anything that does not fit the other categories. If you are unsure where
6
+ something belongs, this is the right place — it will be moved for you and
7
+ nobody will mind.
8
+
9
+ Two things that do **not** belong here:
10
+ - **Security findings.** Never post those publicly — use the affected
11
+ repository's private advisory form.
12
+ - **Conduct concerns.** Those go privately to the organisation owner.
13
+
14
+ - type: textarea
15
+ id: body
16
+ attributes:
17
+ label: What's on your mind
18
+ validations:
19
+ required: true
@@ -0,0 +1,38 @@
1
+ title: "[Idea] "
2
+ labels: ["idea"]
3
+ body:
4
+ - type: markdown
5
+ attributes:
6
+ value: |
7
+ Early and half-formed is welcome here. This is the room for thinking out
8
+ loud — a worked proposal with costs and migrations belongs in an issue,
9
+ but it does not have to start there.
10
+
11
+ - type: textarea
12
+ id: idea
13
+ attributes:
14
+ label: The idea
15
+ validations:
16
+ required: true
17
+
18
+ - type: textarea
19
+ id: problem
20
+ attributes:
21
+ label: What problem it would solve
22
+ description: >
23
+ Stated without reference to the solution, if you can. An idea that
24
+ cannot name its problem is worth discussing anyway — say so, and we will
25
+ look for the problem together.
26
+ validations:
27
+ required: false
28
+
29
+ - type: dropdown
30
+ id: stage
31
+ attributes:
32
+ label: How settled is this?
33
+ options:
34
+ - A hunch — I want reactions before I think harder about it
35
+ - A real design — I have considered the cost and I am arguing for it
36
+ - I am willing to implement it if there is appetite
37
+ validations:
38
+ required: true
@@ -0,0 +1,43 @@
1
+ title: "[Q&A] "
2
+ labels: ["question"]
3
+ body:
4
+ - type: markdown
5
+ attributes:
6
+ value: |
7
+ **Questions are never noise here.** If our documentation had answered
8
+ this, you would not be asking — so an unanswerable question is usually
9
+ our defect, and often becomes a documentation fix.
10
+
11
+ You do not need to be polished. You do need to be reproducible.
12
+
13
+ - type: textarea
14
+ id: question
15
+ attributes:
16
+ label: What you are trying to do
17
+ description: The goal, not only the error. Knowing where you were headed often changes the answer.
18
+ validations:
19
+ required: true
20
+
21
+ - type: textarea
22
+ id: tried
23
+ attributes:
24
+ label: What you tried, and what happened
25
+ description: Commands and their real output, including exit codes where relevant.
26
+ render: shell
27
+ validations:
28
+ required: false
29
+
30
+ - type: input
31
+ id: env
32
+ attributes:
33
+ label: Repository and platform
34
+ placeholder: "rtr-role-type-retrieval on Windows 11 / PowerShell 7"
35
+ validations:
36
+ required: false
37
+
38
+ - type: markdown
39
+ attributes:
40
+ value: |
41
+ ---
42
+ If it turns out to be a defect rather than a question, we will say so and
43
+ move it to an issue. You do not need to guess correctly to get help.
@@ -0,0 +1,34 @@
1
+ title: "[Show] "
2
+ labels: ["show-and-tell"]
3
+ body:
4
+ - type: markdown
5
+ attributes:
6
+ value: |
7
+ Something you built with one of these tools, a workflow you worked out,
8
+ a proof you wrote, a way you broke it and what you learned.
9
+
10
+ **Reports of breaking our tools are welcome here as much as successes.**
11
+ "I pushed this until it fell over, here is where" is a genuinely useful
12
+ post.
13
+
14
+ - type: textarea
15
+ id: what
16
+ attributes:
17
+ label: What you made or found
18
+ validations:
19
+ required: true
20
+
21
+ - type: input
22
+ id: link
23
+ attributes:
24
+ label: Link, if there is one
25
+ validations:
26
+ required: false
27
+
28
+ - type: textarea
29
+ id: surprise
30
+ attributes:
31
+ label: What surprised you
32
+ description: The part that did not go as expected is usually the most useful part for everyone else.
33
+ validations:
34
+ required: false
@@ -0,0 +1,79 @@
1
+ name: Adaptation request — RE:Symbiose for your CLI or agent
2
+ description: Ask for RE:Symbiose wiring on a CLI/agent harness we do not ship yet. The README promise applies - adaptations requested here will be delivered.
3
+ title: "adaptation: "
4
+ labels: ["adaptation"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Any CLI. Any agent. Ask here and the wiring will be delivered:
10
+ Keeper plugin (or its hook equivalent), memory MCP config, and the
11
+ measured bounds for your model's window. To deliver fast, we need
12
+ the harness facts below — guesses cost both of us a round-trip.
13
+
14
+ - type: input
15
+ id: harness
16
+ attributes:
17
+ label: CLI / agent harness and version
18
+ description: e.g. "aider 0.86", "Claude Code 2.x", "our in-house runner (link if public)".
19
+ validations:
20
+ required: true
21
+
22
+ - type: dropdown
23
+ id: mcp
24
+ attributes:
25
+ label: Does it speak MCP over stdio?
26
+ options:
27
+ - "Yes"
28
+ - "No"
29
+ - "I do not know"
30
+ validations:
31
+ required: true
32
+
33
+ - type: dropdown
34
+ id: hooks
35
+ attributes:
36
+ label: Does it expose a message-transform or plugin hook (the Keeper surface)?
37
+ description: Anything that can rewrite the outgoing message list before a model call. Name it below if you know it.
38
+ options:
39
+ - "Yes"
40
+ - "No"
41
+ - "I do not know"
42
+ validations:
43
+ required: true
44
+
45
+ - type: textarea
46
+ id: hook-detail
47
+ attributes:
48
+ label: Hook / plugin details (optional)
49
+ description: Docs link, hook name, or the closest extension point you found.
50
+ validations:
51
+ required: false
52
+
53
+ - type: input
54
+ id: model
55
+ attributes:
56
+ label: Model + context window + input cap (if known)
57
+ description: The Keeper trigger must sit below the model's input cap; 320k/128k defaults assume a big window.
58
+ validations:
59
+ required: false
60
+
61
+ - type: dropdown
62
+ id: os
63
+ attributes:
64
+ label: Operating system
65
+ options:
66
+ - "Windows"
67
+ - "Linux"
68
+ - "macOS"
69
+ - "Other"
70
+ validations:
71
+ required: true
72
+
73
+ - type: textarea
74
+ id: corpus
75
+ attributes:
76
+ label: What will it remember?
77
+ description: Rough corpus shape (docs/code/chat logs), size, and where the files live. This decides defaults, not eligibility.
78
+ validations:
79
+ required: false
@@ -0,0 +1,85 @@
1
+ name: Something is broken
2
+ description: A reproducible defect — wrong output, a crash, a gate that passes when it should not.
3
+ title: "bug: "
4
+ labels: ["bug"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Reproducibility is the whole game. A report we can run is worth ten we
10
+ can only read.
11
+
12
+ If you are reporting that a **check passes while the thing it checks is
13
+ broken**, that is the highest-value defect class we have — say so
14
+ explicitly in the summary.
15
+
16
+ - type: input
17
+ id: repo
18
+ attributes:
19
+ label: Which repository, and which version
20
+ placeholder: "rtr-role-type-retrieval @ 0.3.0, or commit 673266b"
21
+ validations:
22
+ required: true
23
+
24
+ - type: textarea
25
+ id: repro
26
+ attributes:
27
+ label: The exact commands, and their exit codes
28
+ description: >
29
+ Read exit codes DIRECTLY — `cmd; echo "exit=$?"`. Never through a pipe:
30
+ `cmd | grep …` reports grep's status, not cmd's, and that has produced a
31
+ false green in this organisation's own history.
32
+ render: shell
33
+ validations:
34
+ required: true
35
+
36
+ - type: textarea
37
+ id: expected
38
+ attributes:
39
+ label: What you expected, and what happened instead
40
+ validations:
41
+ required: true
42
+
43
+ - type: dropdown
44
+ id: class
45
+ attributes:
46
+ label: What kind of defect is this?
47
+ options:
48
+ - Wrong output or wrong behaviour
49
+ - A crash, hang, or a command that never returns
50
+ - A check passes while the thing it checks is broken (vacuous gate)
51
+ - A check fails while the thing it checks is fine (false alarm)
52
+ - An installer or release artefact does not match its sources
53
+ - Something else
54
+ validations:
55
+ required: true
56
+
57
+ - type: input
58
+ id: env
59
+ attributes:
60
+ label: Platform
61
+ placeholder: "Windows 11 / Git Bash 2.55, or Ubuntu 24.04 / bash 5.2"
62
+ validations:
63
+ required: true
64
+
65
+ - type: textarea
66
+ id: unverified
67
+ attributes:
68
+ label: What you could NOT check
69
+ description: >
70
+ An honest gap is a result. "I only have Windows" is a fine answer and a
71
+ far better one than silence.
72
+ validations:
73
+ required: false
74
+
75
+ - type: checkboxes
76
+ id: hygiene
77
+ attributes:
78
+ label: Before submitting
79
+ options:
80
+ - label: I reproduced this on a clean checkout, not only in my working tree.
81
+ required: false
82
+ - label: I read the exit code directly rather than through a pipe.
83
+ required: false
84
+ - label: This is not a security issue (those go through the private advisory form).
85
+ required: true
@@ -0,0 +1,14 @@
1
+ blank_issues_enabled: true
2
+ contact_links:
3
+ - name: Security vulnerability (private)
4
+ url: https://github.com/Nova-Violet-Role/.github/blob/main/SECURITY.md
5
+ about: Gate evasion, record forgery, fence escape, credential exposure. Never open a public issue for these -- use the affected repository's private advisory form.
6
+ - name: Ask a question
7
+ url: https://github.com/Nova-Violet-Role/.github/blob/main/SUPPORT.md
8
+ about: Questions are never noise here. If our documentation had answered it, you would not be asking -- so an unanswerable question is usually our defect.
9
+ - name: Code of Conduct
10
+ url: https://github.com/Nova-Violet-Role/.github/blob/main/CODE_OF_CONDUCT.md
11
+ about: Attacking the claims is the work. Attacking people is not.
12
+ - name: How to contribute
13
+ url: https://github.com/Nova-Violet-Role/.github/blob/main/CONTRIBUTING.md
14
+ about: Read the exit code directly. Watch your test fail. Say what you could not verify.
@@ -0,0 +1,63 @@
1
+ name: A claim in our docs is false
2
+ description: Something a README, CHANGELOG or release note asserts does not hold. The most welcome report there is.
3
+ title: "false claim: "
4
+ labels: ["false-claim"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ This organisation's documentation makes **measurable** claims on purpose —
10
+ theorem counts, timings, exit codes, "this gate has a negative control".
11
+ Any of them can be wrong.
12
+
13
+ A report that falsifies one is treated as a defect in the documentation,
14
+ not as an inconvenience and not as an attack. It is the fastest way to
15
+ improve any of these projects, and it is credited in the changelog.
16
+
17
+ - type: input
18
+ id: where
19
+ attributes:
20
+ label: Where the claim is
21
+ description: Repository, file, and line if you have it.
22
+ placeholder: "rtr-role-type-retrieval — eval/TAXONOMY.md, rtr-full leads combined"
23
+ validations:
24
+ required: true
25
+
26
+ - type: textarea
27
+ id: claim
28
+ attributes:
29
+ label: The claim, quoted exactly
30
+ validations:
31
+ required: true
32
+
33
+ - type: textarea
34
+ id: contradiction
35
+ attributes:
36
+ label: The measurement that contradicts it
37
+ description: >
38
+ A command and its real output. If the claim is a number, show how you
39
+ counted. Read exit codes directly — never through a pipe.
40
+ render: shell
41
+ validations:
42
+ required: true
43
+
44
+ - type: dropdown
45
+ id: kind
46
+ attributes:
47
+ label: What kind of wrong is it?
48
+ options:
49
+ - The claim is simply false
50
+ - The claim is true but weaker than it sounds (overclaim)
51
+ - The claim was true and has expired (a snapshot presented as a standing property)
52
+ - The claim cannot be checked at all as written
53
+ - The claim is true but the thing it measures is vacuous
54
+ validations:
55
+ required: true
56
+
57
+ - type: textarea
58
+ id: environment
59
+ attributes:
60
+ label: Where you measured it
61
+ description: OS, tool version or commit hash. A claim can be true on one platform and false on another — that is still a defect, and knowing which one saves a round trip.
62
+ validations:
63
+ required: false
@@ -0,0 +1,58 @@
1
+ name: Proposal or design argument
2
+ description: A feature, a change of shape, or an argument that something should be done differently.
3
+ title: "proposal: "
4
+ labels: ["proposal"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Proposals are welcome and are argued on merit. The bar is not
10
+ enthusiasm — it is a clear statement of the problem and an honest
11
+ account of the cost.
12
+
13
+ If this is an early idea rather than a worked argument, an **Ideas
14
+ discussion** is the better home and nobody will mind if you start there.
15
+
16
+ - type: textarea
17
+ id: problem
18
+ attributes:
19
+ label: The problem, stated without reference to your solution
20
+ description: If the problem cannot be stated on its own, the proposal is a solution looking for one.
21
+ validations:
22
+ required: true
23
+
24
+ - type: textarea
25
+ id: proposal
26
+ attributes:
27
+ label: What you propose
28
+ validations:
29
+ required: true
30
+
31
+ - type: textarea
32
+ id: cost
33
+ attributes:
34
+ label: What it costs
35
+ description: >
36
+ Complexity, new dependencies, maintenance burden, breaking changes,
37
+ things that become harder. A proposal with no stated cost reads as
38
+ unexamined.
39
+ validations:
40
+ required: true
41
+
42
+ - type: textarea
43
+ id: alternatives
44
+ attributes:
45
+ label: What you considered and rejected, and why
46
+ validations:
47
+ required: false
48
+
49
+ - type: dropdown
50
+ id: breaking
51
+ attributes:
52
+ label: Would this break existing users?
53
+ options:
54
+ - "No"
55
+ - "Yes, and I describe the migration below"
56
+ - "I do not know"
57
+ validations:
58
+ required: true
@@ -0,0 +1,41 @@
1
+ <!-- Delete any section that genuinely does not apply, and say why it does not.
2
+ A deleted section with no explanation reads as an unanswered question. -->
3
+
4
+ ## What this changes, and what question it answers
5
+
6
+ <!-- One paragraph. State the adversarial question your change answers —
7
+ "can a check pass while the thing it checks is broken?" — not just the
8
+ files you touched. -->
9
+
10
+ ## The evidence
11
+
12
+ ```
13
+ <!-- The command you ran, its tail, and its exit code. -->
14
+ ```
15
+
16
+ <!-- Read the exit code DIRECTLY, never through a pipe. `cmd | grep …` reports
17
+ grep's status, not cmd's. When you must pipe, use ${PIPESTATUS[0]}. -->
18
+
19
+ ## Checklist
20
+
21
+ - [ ] The repository's test or gate suite exits **0**, and I read the exit code
22
+ directly rather than through a pipe.
23
+ - [ ] Any behavioural change ships with a test **I have watched fail** — I broke
24
+ the code on purpose, saw the assertion fire, restored it, saw it pass.
25
+ - [ ] If my check has a negative control, it asserts the mutation is genuinely
26
+ **present** before running, so "did not apply" cannot be misread as
27
+ "survived".
28
+ - [ ] No carriage returns: `git ls-files -z | xargs -0 grep -lI $'\r'` prints
29
+ nothing. (When in doubt, count bytes: `tr -dc '\r' < FILE | wc -c`.)
30
+ - [ ] New files carry the repository's `SPDX-License-Identifier` header.
31
+ - [ ] Executable scripts are executable **in the git index**:
32
+ `git ls-files -s path/ | grep -v '^100755'` prints nothing.
33
+ - [ ] I did not edit a check's expected value merely to make it pass. Any
34
+ changed expectation is justified from first principles in this PR.
35
+ - [ ] Documentation numbers I touched were re-measured, not carried over.
36
+
37
+ ## What I could not verify
38
+
39
+ <!-- Say it plainly. "I have no macOS machine; CI covers it" is a fine answer
40
+ and a far better one than silence. An honest gap is a result; a fabricated
41
+ green is a conduct breach. -->
@@ -0,0 +1,41 @@
1
+ name: template lint
2
+ on:
3
+ push:
4
+ paths:
5
+ - '.github/DISCUSSION_TEMPLATE/**'
6
+ - '.github/ISSUE_TEMPLATE/**'
7
+ - '.github/workflows/template-lint.yml'
8
+ pull_request:
9
+ workflow_dispatch:
10
+
11
+ jobs:
12
+ title-not-empty:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+
17
+ # GitHub rejects a form whose `title:` is present but empty, with
18
+ # "title must be of type String and cannot be empty". The key is
19
+ # OPTIONAL -- absent is fine; present-and-empty is not. A YAML parser
20
+ # does NOT catch this: `title: ""` is valid YAML and invalid schema.
21
+ - name: title must be absent or a non-empty string
22
+ run: |
23
+ rc=0
24
+ for f in .github/DISCUSSION_TEMPLATE/*.yml .github/ISSUE_TEMPLATE/*.yml; do
25
+ [ -f "$f" ] || continue
26
+ line=$(grep -n '^title:' "$f" | head -1) || true
27
+ if [ -z "$line" ]; then echo "ok $f (no title: key)"; continue; fi
28
+ val=$(printf '%s' "$line" | sed 's/^[0-9]*:title:[[:space:]]*//; s/^"//; s/"$//; s/^ *//; s/ *$//')
29
+ if [ -z "$val" ]; then echo "FAIL $f -- title: present but EMPTY"; rc=1
30
+ else echo "ok $f title=\"$val\""; fi
31
+ done
32
+ exit $rc
33
+
34
+ # NEGATIVE CONTROL: an alarm nobody has tripped on purpose is untested.
35
+ - name: the check must be able to FAIL
36
+ run: |
37
+ mkdir -p /tmp/ctl && printf 'title: ""\nbody: []\n' > /tmp/ctl/bad.yml
38
+ line=$(grep -n '^title:' /tmp/ctl/bad.yml | head -1)
39
+ val=$(printf '%s' "$line" | sed 's/^[0-9]*:title:[[:space:]]*//; s/^"//; s/"$//; s/^ *//; s/ *$//')
40
+ if [ -z "$val" ]; then echo "PASS: control rejected as designed"; else
41
+ echo "FAIL: the control was NOT rejected -- this lint proves nothing"; exit 1; fi
@@ -0,0 +1,23 @@
1
+ # SPDX-FileCopyrightText: Nova-Violet Role ORG
2
+ # SPDX-License-Identifier: EUPL-1.2 OR AGPL-3.0-or-later
3
+ .venv/
4
+ __pycache__/
5
+ *.pyc
6
+ dist/
7
+ build/
8
+ *.egg-info/
9
+ .local_vector_db/
10
+ wiki_registry.json
11
+ extra_roots.json
12
+ lexikon_global.json
13
+ .DS_Store
14
+ # CocoIndex Code (ccc)
15
+ /.cocoindex_code/
16
+ # Lab-only noise (via negativa 2026-10-27): caches, logs, session state, vendored references
17
+ .ruff_cache/
18
+ bun-err.log
19
+ .lake/
20
+ state/
21
+ .opencode/
22
+ opencode-acp/
23
+ rolling-context/