@r1z4x/tezgah 1.0.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 (582) hide show
  1. package/CHANGELOG.md +738 -0
  2. package/LICENSE +21 -0
  3. package/MANIFEST +753 -0
  4. package/README.de.md +169 -0
  5. package/README.es.md +168 -0
  6. package/README.fr.md +166 -0
  7. package/README.md +161 -0
  8. package/README.tr.md +163 -0
  9. package/agents/tezgah-reviewer.md +70 -0
  10. package/bin/codegen +337 -0
  11. package/bin/consult +797 -0
  12. package/bin/tezgah-adhd +50 -0
  13. package/bin/tezgah-agents +45 -0
  14. package/bin/tezgah-capture +66 -0
  15. package/bin/tezgah-context +96 -0
  16. package/bin/tezgah-decisions +213 -0
  17. package/bin/tezgah-design +953 -0
  18. package/bin/tezgah-docs +1199 -0
  19. package/bin/tezgah-doctor +497 -0
  20. package/bin/tezgah-dsh +37 -0
  21. package/bin/tezgah-dsh.cmd +70 -0
  22. package/bin/tezgah-gate +75 -0
  23. package/bin/tezgah-import-ai-research +439 -0
  24. package/bin/tezgah-index +32 -0
  25. package/bin/tezgah-lessons +148 -0
  26. package/bin/tezgah-mcp +322 -0
  27. package/bin/tezgah-migrate +324 -0
  28. package/bin/tezgah-pony +50 -0
  29. package/bin/tezgah-research +772 -0
  30. package/bin/tezgah-rollback +93 -0
  31. package/bin/tezgah-route +124 -0
  32. package/bin/tezgah-setup +5798 -0
  33. package/bin/tezgah-status +383 -0
  34. package/bin/tezgah-task +607 -0
  35. package/bin/tezgah-taste +423 -0
  36. package/bin/tezgah-triage +485 -0
  37. package/bin/tezgah.js +36 -0
  38. package/commands/adhd.md +21 -0
  39. package/commands/ponytail.md +21 -0
  40. package/docs/README.md +112 -0
  41. package/docs/architecture.md +226 -0
  42. package/docs/citations-baseline.json +59 -0
  43. package/docs/clarity-baseline.json +116 -0
  44. package/docs/contract.md +416 -0
  45. package/docs/environment.md +141 -0
  46. package/docs/evidence.md +831 -0
  47. package/docs/feature-audit.md +139 -0
  48. package/docs/gate.md +407 -0
  49. package/docs/glossary.md +201 -0
  50. package/docs/hosts.md +400 -0
  51. package/docs/index.json +471 -0
  52. package/docs/judge.md +193 -0
  53. package/docs/layers.md +189 -0
  54. package/docs/models.md +160 -0
  55. package/docs/operations.md +666 -0
  56. package/docs/research.md +809 -0
  57. package/docs/results/paired-outcome-2026-10.jsonl +254 -0
  58. package/docs/results/paired-outcome-2026-10.md +204 -0
  59. package/docs/skills.md +236 -0
  60. package/docs/status-line.md +315 -0
  61. package/docs/testing.md +287 -0
  62. package/docs/vision.md +117 -0
  63. package/hooks/hooks.json +33 -0
  64. package/hooks/projects-auto-init.py +98 -0
  65. package/hooks/projects-posttooluse.py +149 -0
  66. package/hooks/projects-pretooluse.py +40 -0
  67. package/hooks/projects-stop.py +60 -0
  68. package/hooks/tezgah_agents.py +817 -0
  69. package/hooks/tezgah_apps.py +266 -0
  70. package/hooks/tezgah_attest.py +255 -0
  71. package/hooks/tezgah_clarity.py +171 -0
  72. package/hooks/tezgah_components.py +140 -0
  73. package/hooks/tezgah_context.py +2953 -0
  74. package/hooks/tezgah_embed.py +765 -0
  75. package/hooks/tezgah_gate.py +2736 -0
  76. package/hooks/tezgah_guard.py +177 -0
  77. package/hooks/tezgah_index.py +124 -0
  78. package/hooks/tezgah_integrity.py +5141 -0
  79. package/hooks/tezgah_judge.py +487 -0
  80. package/hooks/tezgah_lang.py +230 -0
  81. package/hooks/tezgah_lessons.py +210 -0
  82. package/hooks/tezgah_models.py +855 -0
  83. package/hooks/tezgah_paths.py +1132 -0
  84. package/hooks/tezgah_policy.py +1039 -0
  85. package/hooks/tezgah_rank.py +77 -0
  86. package/hooks/tezgah_replay.py +1109 -0
  87. package/hooks/tezgah_research.py +5176 -0
  88. package/hooks/tezgah_shapes.py +305 -0
  89. package/hooks/tezgah_skill_pick.py +227 -0
  90. package/hooks/tezgah_snapshot.py +490 -0
  91. package/hooks/tezgah_stopspec.py +320 -0
  92. package/hooks/tezgah_task.py +458 -0
  93. package/hooks/tezgah_taste.py +201 -0
  94. package/hooks/tezgah_untrusted.py +112 -0
  95. package/hooks/tezgah_update.py +430 -0
  96. package/hosts/codex/hook.py +268 -0
  97. package/hosts/codex/hooks.json +26 -0
  98. package/hosts/cursor/hook.py +461 -0
  99. package/hosts/cursor/hooks.json +44 -0
  100. package/hosts/dsh/hooks.json +21 -0
  101. package/hosts/dsh/statusline/lib/client.js +138 -0
  102. package/hosts/dsh/statusline/lib/index.js +104 -0
  103. package/hosts/dsh/statusline/package.json +28 -0
  104. package/hosts/omp/hook.py +277 -0
  105. package/hosts/omp/tezgah-hook.ts.in +701 -0
  106. package/hosts/opencode/plugins/tezgah.js +2742 -0
  107. package/hosts/opencode/tui/tezgah-tui.tsx +151 -0
  108. package/output-styles/tezgah.md +142 -0
  109. package/package.json +32 -0
  110. package/packaging/build.sh +342 -0
  111. package/packaging/install.ps1 +166 -0
  112. package/packaging/install.sh +56 -0
  113. package/packaging/upgrade.sh +142 -0
  114. package/skills/ai-research/0-autoresearch-skill/SKILL.md +411 -0
  115. package/skills/ai-research/0-autoresearch-skill/references/agent-continuity.md +95 -0
  116. package/skills/ai-research/0-autoresearch-skill/references/progress-reporting.md +166 -0
  117. package/skills/ai-research/0-autoresearch-skill/references/skill-routing.md +219 -0
  118. package/skills/ai-research/0-autoresearch-skill/templates/findings.md +44 -0
  119. package/skills/ai-research/0-autoresearch-skill/templates/research-log.md +41 -0
  120. package/skills/ai-research/01-model-architecture/litgpt/SKILL.md +469 -0
  121. package/skills/ai-research/01-model-architecture/litgpt/references/custom-models.md +569 -0
  122. package/skills/ai-research/01-model-architecture/litgpt/references/distributed-training.md +452 -0
  123. package/skills/ai-research/01-model-architecture/litgpt/references/supported-models.md +337 -0
  124. package/skills/ai-research/01-model-architecture/litgpt/references/training-recipes.md +620 -0
  125. package/skills/ai-research/01-model-architecture/mamba/SKILL.md +260 -0
  126. package/skills/ai-research/01-model-architecture/mamba/references/architecture-details.md +207 -0
  127. package/skills/ai-research/01-model-architecture/mamba/references/benchmarks.md +256 -0
  128. package/skills/ai-research/01-model-architecture/mamba/references/training-guide.md +389 -0
  129. package/skills/ai-research/01-model-architecture/nanogpt/SKILL.md +290 -0
  130. package/skills/ai-research/01-model-architecture/nanogpt/references/architecture.md +383 -0
  131. package/skills/ai-research/01-model-architecture/nanogpt/references/data.md +477 -0
  132. package/skills/ai-research/01-model-architecture/nanogpt/references/training.md +565 -0
  133. package/skills/ai-research/01-model-architecture/rwkv/SKILL.md +260 -0
  134. package/skills/ai-research/01-model-architecture/rwkv/references/architecture-details.md +345 -0
  135. package/skills/ai-research/01-model-architecture/rwkv/references/rwkv7.md +387 -0
  136. package/skills/ai-research/01-model-architecture/rwkv/references/state-management.md +370 -0
  137. package/skills/ai-research/01-model-architecture/torchtitan/SKILL.md +358 -0
  138. package/skills/ai-research/01-model-architecture/torchtitan/references/checkpoint.md +182 -0
  139. package/skills/ai-research/01-model-architecture/torchtitan/references/custom-models.md +259 -0
  140. package/skills/ai-research/01-model-architecture/torchtitan/references/float8.md +134 -0
  141. package/skills/ai-research/01-model-architecture/torchtitan/references/fsdp.md +127 -0
  142. package/skills/ai-research/02-tokenization/huggingface-tokenizers/SKILL.md +516 -0
  143. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/algorithms.md +654 -0
  144. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/integration.md +638 -0
  145. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/pipeline.md +724 -0
  146. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/training.md +566 -0
  147. package/skills/ai-research/02-tokenization/sentencepiece/SKILL.md +235 -0
  148. package/skills/ai-research/02-tokenization/sentencepiece/references/algorithms.md +201 -0
  149. package/skills/ai-research/02-tokenization/sentencepiece/references/training.md +305 -0
  150. package/skills/ai-research/03-fine-tuning/axolotl/SKILL.md +158 -0
  151. package/skills/ai-research/03-fine-tuning/axolotl/references/api.md +5549 -0
  152. package/skills/ai-research/03-fine-tuning/axolotl/references/dataset-formats.md +1030 -0
  153. package/skills/ai-research/03-fine-tuning/axolotl/references/index.md +16 -0
  154. package/skills/ai-research/03-fine-tuning/axolotl/references/other.md +3564 -0
  155. package/skills/ai-research/03-fine-tuning/llama-factory/SKILL.md +80 -0
  156. package/skills/ai-research/03-fine-tuning/llama-factory/references/_images.md +24 -0
  157. package/skills/ai-research/03-fine-tuning/llama-factory/references/advanced.md +1056 -0
  158. package/skills/ai-research/03-fine-tuning/llama-factory/references/getting_started.md +350 -0
  159. package/skills/ai-research/03-fine-tuning/llama-factory/references/index.md +20 -0
  160. package/skills/ai-research/03-fine-tuning/llama-factory/references/other.md +32 -0
  161. package/skills/ai-research/03-fine-tuning/peft/SKILL.md +431 -0
  162. package/skills/ai-research/03-fine-tuning/peft/references/advanced-usage.md +515 -0
  163. package/skills/ai-research/03-fine-tuning/peft/references/troubleshooting.md +481 -0
  164. package/skills/ai-research/03-fine-tuning/unsloth/SKILL.md +80 -0
  165. package/skills/ai-research/03-fine-tuning/unsloth/references/index.md +8 -0
  166. package/skills/ai-research/03-fine-tuning/unsloth/references/llms.md +83 -0
  167. package/skills/ai-research/04-mechanistic-interpretability/nnsight/SKILL.md +436 -0
  168. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/README.md +79 -0
  169. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/api.md +345 -0
  170. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/tutorials.md +301 -0
  171. package/skills/ai-research/04-mechanistic-interpretability/pyvene/SKILL.md +473 -0
  172. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/README.md +74 -0
  173. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/api.md +384 -0
  174. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/tutorials.md +377 -0
  175. package/skills/ai-research/04-mechanistic-interpretability/saelens/SKILL.md +386 -0
  176. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/README.md +71 -0
  177. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/api.md +334 -0
  178. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/tutorials.md +319 -0
  179. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/SKILL.md +346 -0
  180. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/README.md +55 -0
  181. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/api.md +363 -0
  182. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/tutorials.md +340 -0
  183. package/skills/ai-research/05-data-processing/nemo-curator/SKILL.md +383 -0
  184. package/skills/ai-research/05-data-processing/nemo-curator/references/deduplication.md +88 -0
  185. package/skills/ai-research/05-data-processing/nemo-curator/references/filtering.md +103 -0
  186. package/skills/ai-research/05-data-processing/ray-data/SKILL.md +326 -0
  187. package/skills/ai-research/05-data-processing/ray-data/references/integration.md +83 -0
  188. package/skills/ai-research/05-data-processing/ray-data/references/transformations.md +84 -0
  189. package/skills/ai-research/06-post-training/grpo-rl-training/README.md +98 -0
  190. package/skills/ai-research/06-post-training/grpo-rl-training/SKILL.md +572 -0
  191. package/skills/ai-research/06-post-training/miles/SKILL.md +315 -0
  192. package/skills/ai-research/06-post-training/miles/references/api-reference.md +142 -0
  193. package/skills/ai-research/06-post-training/miles/references/troubleshooting.md +353 -0
  194. package/skills/ai-research/06-post-training/openrlhf/SKILL.md +249 -0
  195. package/skills/ai-research/06-post-training/openrlhf/references/algorithm-comparison.md +405 -0
  196. package/skills/ai-research/06-post-training/openrlhf/references/custom-rewards.md +531 -0
  197. package/skills/ai-research/06-post-training/openrlhf/references/hybrid-engine.md +288 -0
  198. package/skills/ai-research/06-post-training/openrlhf/references/multi-node-training.md +455 -0
  199. package/skills/ai-research/06-post-training/simpo/SKILL.md +219 -0
  200. package/skills/ai-research/06-post-training/simpo/references/datasets.md +479 -0
  201. package/skills/ai-research/06-post-training/simpo/references/hyperparameters.md +453 -0
  202. package/skills/ai-research/06-post-training/simpo/references/loss-functions.md +351 -0
  203. package/skills/ai-research/06-post-training/slime/SKILL.md +464 -0
  204. package/skills/ai-research/06-post-training/slime/references/api-reference.md +393 -0
  205. package/skills/ai-research/06-post-training/slime/references/troubleshooting.md +387 -0
  206. package/skills/ai-research/06-post-training/torchforge/SKILL.md +433 -0
  207. package/skills/ai-research/06-post-training/torchforge/references/api-reference.md +328 -0
  208. package/skills/ai-research/06-post-training/torchforge/references/troubleshooting.md +410 -0
  209. package/skills/ai-research/06-post-training/trl-fine-tuning/SKILL.md +455 -0
  210. package/skills/ai-research/06-post-training/trl-fine-tuning/references/dpo-variants.md +228 -0
  211. package/skills/ai-research/06-post-training/trl-fine-tuning/references/online-rl.md +83 -0
  212. package/skills/ai-research/06-post-training/trl-fine-tuning/references/reward-modeling.md +123 -0
  213. package/skills/ai-research/06-post-training/trl-fine-tuning/references/sft-training.md +169 -0
  214. package/skills/ai-research/06-post-training/verl/SKILL.md +391 -0
  215. package/skills/ai-research/06-post-training/verl/references/api-reference.md +302 -0
  216. package/skills/ai-research/06-post-training/verl/references/troubleshooting.md +392 -0
  217. package/skills/ai-research/07-safety-alignment/constitutional-ai/SKILL.md +290 -0
  218. package/skills/ai-research/07-safety-alignment/llamaguard/SKILL.md +337 -0
  219. package/skills/ai-research/07-safety-alignment/nemo-guardrails/SKILL.md +297 -0
  220. package/skills/ai-research/07-safety-alignment/prompt-guard/SKILL.md +312 -0
  221. package/skills/ai-research/08-distributed-training/accelerate/SKILL.md +332 -0
  222. package/skills/ai-research/08-distributed-training/accelerate/references/custom-plugins.md +454 -0
  223. package/skills/ai-research/08-distributed-training/accelerate/references/megatron-integration.md +490 -0
  224. package/skills/ai-research/08-distributed-training/accelerate/references/performance.md +526 -0
  225. package/skills/ai-research/08-distributed-training/deepspeed/SKILL.md +141 -0
  226. package/skills/ai-research/08-distributed-training/deepspeed/references/08.md +18 -0
  227. package/skills/ai-research/08-distributed-training/deepspeed/references/09.md +174 -0
  228. package/skills/ai-research/08-distributed-training/deepspeed/references/2020.md +379 -0
  229. package/skills/ai-research/08-distributed-training/deepspeed/references/2023.md +280 -0
  230. package/skills/ai-research/08-distributed-training/deepspeed/references/assets.md +180 -0
  231. package/skills/ai-research/08-distributed-training/deepspeed/references/index.md +36 -0
  232. package/skills/ai-research/08-distributed-training/deepspeed/references/mii.md +119 -0
  233. package/skills/ai-research/08-distributed-training/deepspeed/references/other.md +1192 -0
  234. package/skills/ai-research/08-distributed-training/megatron-core/SKILL.md +366 -0
  235. package/skills/ai-research/08-distributed-training/megatron-core/references/benchmarks.md +250 -0
  236. package/skills/ai-research/08-distributed-training/megatron-core/references/parallelism-guide.md +405 -0
  237. package/skills/ai-research/08-distributed-training/megatron-core/references/production-examples.md +474 -0
  238. package/skills/ai-research/08-distributed-training/megatron-core/references/training-recipes.md +548 -0
  239. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/SKILL.md +231 -0
  240. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_async_recipe.md +14 -0
  241. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_overview.md +19 -0
  242. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_recipe.md +18 -0
  243. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_ddp_notes.md +10 -0
  244. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_device_mesh_tutorial.md +22 -0
  245. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_examples_fsdp2.md +15 -0
  246. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp1_api.md +9 -0
  247. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp2_tutorial.md +45 -0
  248. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fully_shard_api.md +49 -0
  249. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_tp_tutorial.md +22 -0
  250. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/ray_train_fsdp2_example.md +13 -0
  251. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/torchtitan_fsdp_notes.md +14 -0
  252. package/skills/ai-research/08-distributed-training/pytorch-lightning/SKILL.md +346 -0
  253. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/callbacks.md +437 -0
  254. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/distributed.md +491 -0
  255. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/hyperparameter-tuning.md +557 -0
  256. package/skills/ai-research/08-distributed-training/ray-train/SKILL.md +406 -0
  257. package/skills/ai-research/08-distributed-training/ray-train/references/multi-node.md +629 -0
  258. package/skills/ai-research/09-infrastructure/lambda-labs/SKILL.md +545 -0
  259. package/skills/ai-research/09-infrastructure/lambda-labs/references/advanced-usage.md +612 -0
  260. package/skills/ai-research/09-infrastructure/lambda-labs/references/troubleshooting.md +531 -0
  261. package/skills/ai-research/09-infrastructure/modal/SKILL.md +341 -0
  262. package/skills/ai-research/09-infrastructure/modal/references/advanced-usage.md +504 -0
  263. package/skills/ai-research/09-infrastructure/modal/references/troubleshooting.md +495 -0
  264. package/skills/ai-research/09-infrastructure/skypilot/SKILL.md +509 -0
  265. package/skills/ai-research/09-infrastructure/skypilot/references/advanced-usage.md +492 -0
  266. package/skills/ai-research/09-infrastructure/skypilot/references/troubleshooting.md +571 -0
  267. package/skills/ai-research/10-optimization/awq/SKILL.md +310 -0
  268. package/skills/ai-research/10-optimization/awq/references/advanced-usage.md +325 -0
  269. package/skills/ai-research/10-optimization/awq/references/troubleshooting.md +345 -0
  270. package/skills/ai-research/10-optimization/bitsandbytes/SKILL.md +411 -0
  271. package/skills/ai-research/10-optimization/bitsandbytes/references/memory-optimization.md +522 -0
  272. package/skills/ai-research/10-optimization/bitsandbytes/references/qlora-training.md +522 -0
  273. package/skills/ai-research/10-optimization/bitsandbytes/references/quantization-formats.md +448 -0
  274. package/skills/ai-research/10-optimization/flash-attention/SKILL.md +367 -0
  275. package/skills/ai-research/10-optimization/flash-attention/references/benchmarks.md +216 -0
  276. package/skills/ai-research/10-optimization/flash-attention/references/transformers-integration.md +294 -0
  277. package/skills/ai-research/10-optimization/gguf/SKILL.md +427 -0
  278. package/skills/ai-research/10-optimization/gguf/references/advanced-usage.md +505 -0
  279. package/skills/ai-research/10-optimization/gguf/references/troubleshooting.md +443 -0
  280. package/skills/ai-research/10-optimization/gptq/SKILL.md +450 -0
  281. package/skills/ai-research/10-optimization/gptq/references/calibration.md +338 -0
  282. package/skills/ai-research/10-optimization/gptq/references/integration.md +130 -0
  283. package/skills/ai-research/10-optimization/gptq/references/troubleshooting.md +96 -0
  284. package/skills/ai-research/10-optimization/hqq/SKILL.md +445 -0
  285. package/skills/ai-research/10-optimization/hqq/references/advanced-usage.md +529 -0
  286. package/skills/ai-research/10-optimization/hqq/references/troubleshooting.md +504 -0
  287. package/skills/ai-research/10-optimization/ml-training-recipes/SKILL.md +319 -0
  288. package/skills/ai-research/10-optimization/ml-training-recipes/references/architecture.md +320 -0
  289. package/skills/ai-research/10-optimization/ml-training-recipes/references/biomedical.md +498 -0
  290. package/skills/ai-research/10-optimization/ml-training-recipes/references/domain-specific.md +626 -0
  291. package/skills/ai-research/10-optimization/ml-training-recipes/references/experiment-loop.md +129 -0
  292. package/skills/ai-research/10-optimization/ml-training-recipes/references/optimizers.md +330 -0
  293. package/skills/ai-research/10-optimization/ml-training-recipes/references/scaling-and-selection.md +428 -0
  294. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/SKILL.md +405 -0
  295. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/benchmarks.md +394 -0
  296. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/custom-tasks.md +425 -0
  297. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/issues.md +395 -0
  298. package/skills/ai-research/11-evaluation/lm-evaluation-harness/SKILL.md +490 -0
  299. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/api-evaluation.md +491 -0
  300. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/benchmark-guide.md +489 -0
  301. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/custom-tasks.md +603 -0
  302. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/distributed-eval.md +520 -0
  303. package/skills/ai-research/11-evaluation/nemo-evaluator/SKILL.md +494 -0
  304. package/skills/ai-research/11-evaluation/nemo-evaluator/references/adapter-system.md +341 -0
  305. package/skills/ai-research/11-evaluation/nemo-evaluator/references/configuration.md +448 -0
  306. package/skills/ai-research/11-evaluation/nemo-evaluator/references/custom-benchmarks.md +316 -0
  307. package/skills/ai-research/11-evaluation/nemo-evaluator/references/execution-backends.md +362 -0
  308. package/skills/ai-research/12-inference-serving/llama-cpp/SKILL.md +258 -0
  309. package/skills/ai-research/12-inference-serving/llama-cpp/references/optimization.md +90 -0
  310. package/skills/ai-research/12-inference-serving/llama-cpp/references/quantization.md +214 -0
  311. package/skills/ai-research/12-inference-serving/llama-cpp/references/server.md +126 -0
  312. package/skills/ai-research/12-inference-serving/sglang/SKILL.md +442 -0
  313. package/skills/ai-research/12-inference-serving/sglang/references/deployment.md +491 -0
  314. package/skills/ai-research/12-inference-serving/sglang/references/radix-attention.md +414 -0
  315. package/skills/ai-research/12-inference-serving/sglang/references/structured-generation.md +542 -0
  316. package/skills/ai-research/12-inference-serving/tensorrt-llm/SKILL.md +187 -0
  317. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/multi-gpu.md +299 -0
  318. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/optimization.md +243 -0
  319. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/serving.md +471 -0
  320. package/skills/ai-research/12-inference-serving/vllm/SKILL.md +364 -0
  321. package/skills/ai-research/12-inference-serving/vllm/references/optimization.md +227 -0
  322. package/skills/ai-research/12-inference-serving/vllm/references/quantization.md +285 -0
  323. package/skills/ai-research/12-inference-serving/vllm/references/server-deployment.md +256 -0
  324. package/skills/ai-research/12-inference-serving/vllm/references/troubleshooting.md +448 -0
  325. package/skills/ai-research/13-mlops/mlflow/SKILL.md +704 -0
  326. package/skills/ai-research/13-mlops/mlflow/references/deployment.md +745 -0
  327. package/skills/ai-research/13-mlops/mlflow/references/model-registry.md +771 -0
  328. package/skills/ai-research/13-mlops/mlflow/references/tracking.md +681 -0
  329. package/skills/ai-research/13-mlops/swanlab/SKILL.md +406 -0
  330. package/skills/ai-research/13-mlops/swanlab/references/integrations.md +305 -0
  331. package/skills/ai-research/13-mlops/swanlab/references/visualization.md +234 -0
  332. package/skills/ai-research/13-mlops/tensorboard/SKILL.md +629 -0
  333. package/skills/ai-research/13-mlops/tensorboard/references/integrations.md +639 -0
  334. package/skills/ai-research/13-mlops/tensorboard/references/profiling.md +546 -0
  335. package/skills/ai-research/13-mlops/tensorboard/references/visualization.md +621 -0
  336. package/skills/ai-research/13-mlops/weights-and-biases/SKILL.md +590 -0
  337. package/skills/ai-research/13-mlops/weights-and-biases/references/artifacts.md +585 -0
  338. package/skills/ai-research/13-mlops/weights-and-biases/references/integrations.md +701 -0
  339. package/skills/ai-research/13-mlops/weights-and-biases/references/sweeps.md +848 -0
  340. package/skills/ai-research/14-agents/a-evolve/SKILL.md +383 -0
  341. package/skills/ai-research/14-agents/a-evolve/references/README.md +831 -0
  342. package/skills/ai-research/14-agents/a-evolve/references/api.md +594 -0
  343. package/skills/ai-research/14-agents/a-evolve/references/architecture.md +417 -0
  344. package/skills/ai-research/14-agents/a-evolve/references/design-patterns.md +462 -0
  345. package/skills/ai-research/14-agents/a-evolve/references/examples.md +352 -0
  346. package/skills/ai-research/14-agents/a-evolve/references/issues.md +591 -0
  347. package/skills/ai-research/14-agents/a-evolve/references/releases.md +112 -0
  348. package/skills/ai-research/14-agents/a-evolve/references/tutorials.md +819 -0
  349. package/skills/ai-research/14-agents/autogpt/SKILL.md +403 -0
  350. package/skills/ai-research/14-agents/autogpt/references/advanced-usage.md +536 -0
  351. package/skills/ai-research/14-agents/autogpt/references/troubleshooting.md +421 -0
  352. package/skills/ai-research/14-agents/crewai/SKILL.md +498 -0
  353. package/skills/ai-research/14-agents/crewai/references/flows.md +439 -0
  354. package/skills/ai-research/14-agents/crewai/references/tools.md +430 -0
  355. package/skills/ai-research/14-agents/crewai/references/troubleshooting.md +481 -0
  356. package/skills/ai-research/14-agents/langchain/SKILL.md +480 -0
  357. package/skills/ai-research/14-agents/langchain/references/agents.md +500 -0
  358. package/skills/ai-research/14-agents/langchain/references/integration.md +563 -0
  359. package/skills/ai-research/14-agents/langchain/references/rag.md +601 -0
  360. package/skills/ai-research/14-agents/llamaindex/SKILL.md +569 -0
  361. package/skills/ai-research/14-agents/llamaindex/references/agents.md +84 -0
  362. package/skills/ai-research/14-agents/llamaindex/references/data_connectors.md +109 -0
  363. package/skills/ai-research/14-agents/llamaindex/references/query_engines.md +407 -0
  364. package/skills/ai-research/15-rag/chroma/SKILL.md +406 -0
  365. package/skills/ai-research/15-rag/chroma/references/integration.md +39 -0
  366. package/skills/ai-research/15-rag/faiss/SKILL.md +221 -0
  367. package/skills/ai-research/15-rag/faiss/references/index_types.md +281 -0
  368. package/skills/ai-research/15-rag/pinecone/SKILL.md +358 -0
  369. package/skills/ai-research/15-rag/pinecone/references/deployment.md +182 -0
  370. package/skills/ai-research/15-rag/qdrant/SKILL.md +493 -0
  371. package/skills/ai-research/15-rag/qdrant/references/advanced-usage.md +649 -0
  372. package/skills/ai-research/15-rag/qdrant/references/troubleshooting.md +632 -0
  373. package/skills/ai-research/15-rag/sentence-transformers/SKILL.md +255 -0
  374. package/skills/ai-research/15-rag/sentence-transformers/references/models.md +124 -0
  375. package/skills/ai-research/16-prompt-engineering/dspy/SKILL.md +590 -0
  376. package/skills/ai-research/16-prompt-engineering/dspy/references/examples.md +664 -0
  377. package/skills/ai-research/16-prompt-engineering/dspy/references/modules.md +476 -0
  378. package/skills/ai-research/16-prompt-engineering/dspy/references/optimizers.md +567 -0
  379. package/skills/ai-research/16-prompt-engineering/guidance/SKILL.md +572 -0
  380. package/skills/ai-research/16-prompt-engineering/guidance/references/backends.md +555 -0
  381. package/skills/ai-research/16-prompt-engineering/guidance/references/constraints.md +675 -0
  382. package/skills/ai-research/16-prompt-engineering/guidance/references/examples.md +768 -0
  383. package/skills/ai-research/16-prompt-engineering/instructor/SKILL.md +740 -0
  384. package/skills/ai-research/16-prompt-engineering/instructor/references/examples.md +108 -0
  385. package/skills/ai-research/16-prompt-engineering/instructor/references/providers.md +71 -0
  386. package/skills/ai-research/16-prompt-engineering/instructor/references/validation.md +607 -0
  387. package/skills/ai-research/16-prompt-engineering/outlines/SKILL.md +652 -0
  388. package/skills/ai-research/16-prompt-engineering/outlines/references/backends.md +616 -0
  389. package/skills/ai-research/16-prompt-engineering/outlines/references/examples.md +774 -0
  390. package/skills/ai-research/16-prompt-engineering/outlines/references/json_generation.md +653 -0
  391. package/skills/ai-research/17-observability/langsmith/SKILL.md +422 -0
  392. package/skills/ai-research/17-observability/langsmith/references/advanced-usage.md +549 -0
  393. package/skills/ai-research/17-observability/langsmith/references/troubleshooting.md +538 -0
  394. package/skills/ai-research/17-observability/phoenix/SKILL.md +475 -0
  395. package/skills/ai-research/17-observability/phoenix/references/advanced-usage.md +620 -0
  396. package/skills/ai-research/17-observability/phoenix/references/troubleshooting.md +539 -0
  397. package/skills/ai-research/18-multimodal/audiocraft/SKILL.md +564 -0
  398. package/skills/ai-research/18-multimodal/audiocraft/references/advanced-usage.md +667 -0
  399. package/skills/ai-research/18-multimodal/audiocraft/references/troubleshooting.md +505 -0
  400. package/skills/ai-research/18-multimodal/blip-2/SKILL.md +564 -0
  401. package/skills/ai-research/18-multimodal/blip-2/references/advanced-usage.md +681 -0
  402. package/skills/ai-research/18-multimodal/blip-2/references/troubleshooting.md +527 -0
  403. package/skills/ai-research/18-multimodal/clip/SKILL.md +253 -0
  404. package/skills/ai-research/18-multimodal/clip/references/applications.md +208 -0
  405. package/skills/ai-research/18-multimodal/cosmos-policy/SKILL.md +402 -0
  406. package/skills/ai-research/18-multimodal/cosmos-policy/references/libero-commands.md +175 -0
  407. package/skills/ai-research/18-multimodal/cosmos-policy/references/robocasa-commands.md +147 -0
  408. package/skills/ai-research/18-multimodal/llava/SKILL.md +304 -0
  409. package/skills/ai-research/18-multimodal/llava/references/training.md +198 -0
  410. package/skills/ai-research/18-multimodal/openpi/SKILL.md +480 -0
  411. package/skills/ai-research/18-multimodal/openpi/references/checkpoints-and-env-map.md +86 -0
  412. package/skills/ai-research/18-multimodal/openpi/references/config-recipes.md +50 -0
  413. package/skills/ai-research/18-multimodal/openpi/references/pytorch-gotchas.md +49 -0
  414. package/skills/ai-research/18-multimodal/openpi/references/remote-client-pattern.md +48 -0
  415. package/skills/ai-research/18-multimodal/openpi/references/training-debugging.md +46 -0
  416. package/skills/ai-research/18-multimodal/openvla-oft/SKILL.md +441 -0
  417. package/skills/ai-research/18-multimodal/openvla-oft/references/aloha-workflow.md +141 -0
  418. package/skills/ai-research/18-multimodal/openvla-oft/references/config-troubleshooting.md +97 -0
  419. package/skills/ai-research/18-multimodal/openvla-oft/references/libero-workflow.md +115 -0
  420. package/skills/ai-research/18-multimodal/openvla-oft/references/paper-and-checkpoints.md +84 -0
  421. package/skills/ai-research/18-multimodal/segment-anything/SKILL.md +500 -0
  422. package/skills/ai-research/18-multimodal/segment-anything/references/advanced-usage.md +590 -0
  423. package/skills/ai-research/18-multimodal/segment-anything/references/troubleshooting.md +485 -0
  424. package/skills/ai-research/18-multimodal/stable-diffusion/SKILL.md +519 -0
  425. package/skills/ai-research/18-multimodal/stable-diffusion/references/advanced-usage.md +717 -0
  426. package/skills/ai-research/18-multimodal/stable-diffusion/references/troubleshooting.md +556 -0
  427. package/skills/ai-research/18-multimodal/whisper/SKILL.md +317 -0
  428. package/skills/ai-research/18-multimodal/whisper/references/languages.md +190 -0
  429. package/skills/ai-research/19-emerging-techniques/knowledge-distillation/SKILL.md +458 -0
  430. package/skills/ai-research/19-emerging-techniques/knowledge-distillation/references/minillm.md +335 -0
  431. package/skills/ai-research/19-emerging-techniques/long-context/SKILL.md +536 -0
  432. package/skills/ai-research/19-emerging-techniques/long-context/references/extension_methods.md +469 -0
  433. package/skills/ai-research/19-emerging-techniques/long-context/references/fine_tuning.md +612 -0
  434. package/skills/ai-research/19-emerging-techniques/long-context/references/rope.md +403 -0
  435. package/skills/ai-research/19-emerging-techniques/model-merging/SKILL.md +497 -0
  436. package/skills/ai-research/19-emerging-techniques/model-merging/references/coefficient-tuning.md +415 -0
  437. package/skills/ai-research/19-emerging-techniques/model-merging/references/evaluation.md +463 -0
  438. package/skills/ai-research/19-emerging-techniques/model-merging/references/examples.md +429 -0
  439. package/skills/ai-research/19-emerging-techniques/model-merging/references/methods.md +353 -0
  440. package/skills/ai-research/19-emerging-techniques/model-pruning/SKILL.md +495 -0
  441. package/skills/ai-research/19-emerging-techniques/model-pruning/references/wanda.md +348 -0
  442. package/skills/ai-research/19-emerging-techniques/moe-training/SKILL.md +526 -0
  443. package/skills/ai-research/19-emerging-techniques/moe-training/references/architectures.md +433 -0
  444. package/skills/ai-research/19-emerging-techniques/moe-training/references/inference.md +349 -0
  445. package/skills/ai-research/19-emerging-techniques/moe-training/references/training.md +426 -0
  446. package/skills/ai-research/19-emerging-techniques/speculative-decoding/SKILL.md +467 -0
  447. package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/lookahead.md +310 -0
  448. package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/medusa.md +351 -0
  449. package/skills/ai-research/20-ml-paper-writing/academic-plotting/SKILL.md +479 -0
  450. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/data-visualization.md +509 -0
  451. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/diagram-generation.md +395 -0
  452. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/style-guide.md +305 -0
  453. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/SKILL.md +982 -0
  454. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/checklists.md +348 -0
  455. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/citation-workflow.md +563 -0
  456. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/reviewer-guidelines.md +349 -0
  457. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/sources.md +165 -0
  458. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/writing-guide.md +477 -0
  459. package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/SKILL.md +298 -0
  460. package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/references/slide-templates.md +505 -0
  461. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/SKILL.md +270 -0
  462. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/checklist.md +279 -0
  463. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/reviewer-guidelines.md +116 -0
  464. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/section-blueprints.md +400 -0
  465. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/systems-conferences.md +261 -0
  466. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/writing-patterns.md +231 -0
  467. package/skills/ai-research/21-research-ideation/brainstorming-research-ideas/SKILL.md +384 -0
  468. package/skills/ai-research/21-research-ideation/creative-thinking-for-research/SKILL.md +366 -0
  469. package/skills/ai-research/22-agent-native-research-artifact/compiler/SKILL.md +245 -0
  470. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/ara-schema.md +439 -0
  471. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/exploration-tree-spec.md +125 -0
  472. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/validation-checklist.md +149 -0
  473. package/skills/ai-research/22-agent-native-research-artifact/research-manager/SKILL.md +324 -0
  474. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/event-taxonomy.md +124 -0
  475. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/provenance-tags.md +190 -0
  476. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/session-protocol.md +162 -0
  477. package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/SKILL.md +322 -0
  478. package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/references/review-dimensions.md +182 -0
  479. package/skills/ai-research/SKILL.md +101 -0
  480. package/skills/ai-research/SOURCE +38 -0
  481. package/skills/ai-research/index/1-frame.md +18 -0
  482. package/skills/ai-research/index/2-data.md +21 -0
  483. package/skills/ai-research/index/3-train.md +48 -0
  484. package/skills/ai-research/index/4-measure.md +25 -0
  485. package/skills/ai-research/index/5-run.md +23 -0
  486. package/skills/ai-research/index/6-write.md +35 -0
  487. package/skills/ai-research/library.json +3456 -0
  488. package/skills/analyze-app/EVALS.md +82 -0
  489. package/skills/analyze-app/SKILL.md +188 -0
  490. package/skills/design-contract/EVALS.md +80 -0
  491. package/skills/design-contract/SKILL.md +171 -0
  492. package/skills/design-library/EVALS.md +85 -0
  493. package/skills/design-library/INDEX.md +59 -0
  494. package/skills/design-library/SKILL.md +58 -0
  495. package/skills/design-library/SOURCE +131 -0
  496. package/skills/design-library/adaptive-interfaces/skills/colour-independence/SKILL.md +90 -0
  497. package/skills/design-library/adaptive-interfaces/skills/flexible-typography/SKILL.md +83 -0
  498. package/skills/design-library/adaptive-interfaces/skills/information-density/SKILL.md +87 -0
  499. package/skills/design-library/adaptive-interfaces/skills/preference-audit/SKILL.md +70 -0
  500. package/skills/design-library/adaptive-interfaces/skills/responsive-accessibility/SKILL.md +86 -0
  501. package/skills/design-library/adaptive-interfaces/skills/responsive-review/SKILL.md +76 -0
  502. package/skills/design-library/adaptive-interfaces/skills/simplified-views/SKILL.md +97 -0
  503. package/skills/design-library/adaptive-interfaces/skills/specify/SKILL.md +63 -0
  504. package/skills/design-library/adaptive-interfaces/skills/user-preference-respect/SKILL.md +100 -0
  505. package/skills/design-library/cognitive-accessibility/skills/adaptive-personalisation/SKILL.md +61 -0
  506. package/skills/design-library/cognitive-accessibility/skills/assess-load/SKILL.md +48 -0
  507. package/skills/design-library/cognitive-accessibility/skills/cognitive-load-assessment/SKILL.md +60 -0
  508. package/skills/design-library/cognitive-accessibility/skills/contextual-help-design/SKILL.md +61 -0
  509. package/skills/design-library/cognitive-accessibility/skills/error-prevention-recovery/SKILL.md +71 -0
  510. package/skills/design-library/cognitive-accessibility/skills/focus-attention-design/SKILL.md +67 -0
  511. package/skills/design-library/cognitive-accessibility/skills/memory-load-reduction/SKILL.md +60 -0
  512. package/skills/design-library/cognitive-accessibility/skills/plain-language-design/SKILL.md +78 -0
  513. package/skills/design-library/cognitive-accessibility/skills/review/SKILL.md +56 -0
  514. package/skills/design-library/cognitive-accessibility/skills/simplify/SKILL.md +39 -0
  515. package/skills/design-library/cognitive-accessibility/skills/wayfinding-navigation/SKILL.md +64 -0
  516. package/skills/design-library/design-research/skills/behavioural-analytics/SKILL.md +33 -0
  517. package/skills/design-library/design-research/skills/qual-quant-triangulation/SKILL.md +33 -0
  518. package/skills/design-library/inclusive-interaction/skills/audit/SKILL.md +50 -0
  519. package/skills/design-library/inclusive-interaction/skills/design-flow/SKILL.md +58 -0
  520. package/skills/design-library/inclusive-interaction/skills/feedback-and-status/SKILL.md +76 -0
  521. package/skills/design-library/inclusive-interaction/skills/gesture-alternatives/SKILL.md +70 -0
  522. package/skills/design-library/inclusive-interaction/skills/keyboard-navigation/SKILL.md +99 -0
  523. package/skills/design-library/inclusive-interaction/skills/keyboard-review/SKILL.md +54 -0
  524. package/skills/design-library/inclusive-interaction/skills/motion-sensitivity/SKILL.md +79 -0
  525. package/skills/design-library/inclusive-interaction/skills/multi-modal-input/SKILL.md +70 -0
  526. package/skills/design-library/inclusive-interaction/skills/touch-target-design/SKILL.md +71 -0
  527. package/skills/design-library/inclusive-interaction/skills/voice-interaction/SKILL.md +68 -0
  528. package/skills/design-library/visual-critique/skills/critique-affordance/SKILL.md +45 -0
  529. package/skills/design-library/visual-critique/skills/critique-brand-consistency/SKILL.md +42 -0
  530. package/skills/design-library/visual-critique/skills/critique-color/SKILL.md +44 -0
  531. package/skills/design-library/visual-critique/skills/critique-composition/SKILL.md +46 -0
  532. package/skills/design-library/visual-critique/skills/critique-information-density/SKILL.md +45 -0
  533. package/skills/design-library/visual-critique/skills/critique-typography/SKILL.md +45 -0
  534. package/skills/design-library/visual-critique/skills/critique-visual-hierarchy/SKILL.md +40 -0
  535. package/skills/feature-audit/EVALS.md +83 -0
  536. package/skills/feature-audit/SKILL.md +326 -0
  537. package/skills/harness/EVALS.md +81 -0
  538. package/skills/harness/SKILL.md +88 -0
  539. package/skills/i-have-adhd/EVALS.md +80 -0
  540. package/skills/i-have-adhd/SKILL.md +183 -0
  541. package/skills/no-ai-slop/EVALS.md +89 -0
  542. package/skills/no-ai-slop/SKILL.md +209 -0
  543. package/skills/no-ai-slop/eval.md +52 -0
  544. package/skills/plan-add/EVALS.md +79 -0
  545. package/skills/plan-add/SKILL.md +179 -0
  546. package/skills/plan-add/render_table.py +72 -0
  547. package/skills/plan-status/EVALS.md +78 -0
  548. package/skills/plan-status/SKILL.md +52 -0
  549. package/skills/plan-sync/EVALS.md +80 -0
  550. package/skills/plan-sync/SKILL.md +69 -0
  551. package/skills/pm-frameworks/SKILL.md +33 -0
  552. package/skills/pm-frameworks/SOURCE +39 -0
  553. package/skills/pm-frameworks/intended-vs-implemented/SKILL.md +42 -0
  554. package/skills/pm-frameworks/opportunity-solution-tree/SKILL.md +64 -0
  555. package/skills/ponytail/EVALS.md +80 -0
  556. package/skills/ponytail/SKILL.md +124 -0
  557. package/skills/product-analysis/EVALS.md +103 -0
  558. package/skills/product-analysis/SKILL.md +361 -0
  559. package/skills/research/EVALS.md +104 -0
  560. package/skills/research/SKILL.md +570 -0
  561. package/skills/rl-env/SKILL.md +53 -0
  562. package/skills/rl-env/SOURCE +41 -0
  563. package/skills/rl-env/generate-nemo-gym-env/SKILL.md +169 -0
  564. package/skills/rl-env/generate-nemo-gym-env/references/architecture.md +114 -0
  565. package/skills/rl-env/generate-openenv-env/SKILL.md +183 -0
  566. package/skills/rl-env/generate-openenv-env/references/architecture.md +82 -0
  567. package/skills/rl-env/generate-ors-env/SKILL.md +209 -0
  568. package/skills/rl-env/generate-ors-env/references/architecture.md +113 -0
  569. package/skills/rl-env/generate-verifiers-env/SKILL.md +188 -0
  570. package/skills/rl-env/generate-verifiers-env/references/architecture.md +119 -0
  571. package/skills/rl-env/rl-env-from-description/SKILL.md +124 -0
  572. package/skills/rl-env/rl-env-from-description/references/interview.md +75 -0
  573. package/skills/rl-env/rl-env-from-description/references/nemo_gym.md +41 -0
  574. package/skills/rl-env/rl-env-from-description/references/openenv.md +35 -0
  575. package/skills/rl-env/rl-env-from-description/references/ors.md +50 -0
  576. package/skills/rl-env/rl-env-from-description/references/verifiers.md +39 -0
  577. package/skills/tezgah-contract/EVALS.md +78 -0
  578. package/skills/tezgah-contract/SKILL.md +792 -0
  579. package/statusline.py +129 -0
  580. package/workflows/graph-impact.js +153 -0
  581. package/workflows/graph-map.js +158 -0
  582. package/workflows/graph-review.js +170 -0
package/docs/README.md ADDED
@@ -0,0 +1,112 @@
1
+ # tezgah docs
2
+
3
+ Tezgah arms every AI coding assistant you run with one working contract, inside
4
+ the repository roots you configure. These pages are the engineering layer of
5
+ this repository. The [README](../README.md) explains the
6
+ tool to someone deciding whether to install it; `AGENTS.md` says how to check a
7
+ change; these pages explain how the thing actually works, so a session does not
8
+ have to re-derive it by reading 55 Python files. Every page is written for one
9
+ reader with one question in mind, and every non-obvious claim in it carries a
10
+ citation you can open: `path::symbol` into Python code, `path:line` elsewhere.
11
+
12
+ ## Start here
13
+
14
+ | You are | Read |
15
+ |---|---|
16
+ | an agent mid-task, before touching a rule or a host | [contract](contract.md), then [hosts](hosts.md) |
17
+ | a user in the first session after installing | the [README install section](../README.md#install) (what changed on your machine), then `tezgah-setup --report --live` (every host's hooks run and its gate denies), then [contract](contract.md) for what the session is told |
18
+ | an agent that has to decide whether something is safe to do | [gate](gate.md), [evidence](evidence.md) |
19
+ | a maintainer adding a rule, a host or a mark | [architecture](architecture.md), then the page of the thing you are adding |
20
+ | someone debugging what a session was actually told | [contract](contract.md), [status-line](status-line.md) |
21
+ | someone releasing or repairing an install | [operations](operations.md), [environment](environment.md) |
22
+ | new to the repository | [architecture](architecture.md), then [glossary](glossary.md) |
23
+
24
+ ## The questions this layer answers
25
+
26
+ | Question | Page |
27
+ |---|---|
28
+ | Why does this exist, and what are its layers? | [architecture](architecture.md) |
29
+ | What runs when, from session start to Stop? | [architecture](architecture.md) |
30
+ | Which layer is tezgah, and which sense of "harness" is which? | [layers](layers.md) |
31
+ | What is a session told, and how is a rule disarmed? | [contract](contract.md) |
32
+ | Why was my command denied? | [gate](gate.md) |
33
+ | What is recorded, and what stops an unverified "done"? | [evidence](evidence.md) |
34
+ | What does each status mark mean? | [status-line](status-line.md) |
35
+ | What is the judgement seam, who may call it and how is it switched off? | [judge](judge.md) |
36
+ | Which model runs which subagent, and how does `tezgah-route` pick one? | [models](models.md) |
37
+ | Where does a research line live, and what does `tezgah-research check` refuse? | [research](research.md) |
38
+ | What does each host get, and what can it observe? | [hosts](hosts.md) |
39
+ | Which skills ship, and how does one reach a host? | [skills](skills.md) |
40
+ | How is one feature audited across its layers, and what does a capability change need to carry? | [feature-audit](feature-audit.md) |
41
+ | How do I check a change, and how do I test it? | [testing](testing.md) |
42
+ | How do I install, upgrade or repair this? | [operations](operations.md) |
43
+ | Which environment variables does tezgah read, and what does each change? | [environment](environment.md) |
44
+ | What does this word mean here? | [glossary](glossary.md) |
45
+ | How is a session meant to run, and what does each tier cost? | [vision](vision.md) |
46
+
47
+ ## How these pages are written
48
+
49
+ - English. The READMEs are the only translated surface.
50
+ - A page opens with what it is, who reads it and when; it ends with
51
+ `## Source of truth`, the files it documents, so a reader can re-verify it
52
+ after a change.
53
+ - A non-obvious claim carries a citation. A claim nobody can point at does not
54
+ belong on a page: delete it rather than soften it.
55
+ - Code in a Python file is cited by symbol: `path::name` for a top-level def,
56
+ class or assignment, `path::Class.method` or `path::outer.inner` for a nested
57
+ one (`hooks/tezgah_gate.py::decision`). It carries no line number, so an edit
58
+ that moves code above or inside the symbol moves no citation. The sentence says
59
+ which part of the symbol it means. Everything else stays `path:line`: a
60
+ JavaScript, TypeScript, JSON, YAML or Markdown target, module-level code outside
61
+ every def and class, and a range across several symbols. Never name a symbol
62
+ that does not contain what the sentence cites.
63
+ - `bin/tezgah-docs --citations` checks both forms. It reads every page under `docs/`
64
+ and the comments and docstrings of the Python code. A string literal, such as a
65
+ fixture or a captured output, is data and is not read. A symbol citation is
66
+ resolved against the AST of the file it names. It fails when that file defines
67
+ no such name. A name without a dot may also name the one method of that name
68
+ in a class. That is how a test pin names its test. A def local to a function
69
+ never stands in for it. A `path:line` with a symbol named
70
+ before it, or right after it in parentheses, must point inside that symbol's
71
+ body. A bare file name means the one code file of that name. The suite also
72
+ checks that a cited file exists and that a cited line is inside it
73
+ (`tests/test_docs.py`). Whether a line still *shows the thing the sentence names*
74
+ is a judgement, not a regex. So a `path:line` with no symbol beside it is left
75
+ unjudged rather than guessed at. So is a `path:N` the pattern cannot read
76
+ (unquoted, or a comma list), but it is counted.
77
+ On this tree, 2026-10-06: 996 judged (995 of them symbol citations), 577 not
78
+ judgeable, 85 of those unreadable.
79
+ The unjudged count is a ratchet. `docs/citations-baseline.json` holds each file's
80
+ count, and a file above or below it fails. Only `--citations --update` rewrites
81
+ it, so CI never writes it. The same pass checks the rule ledger and three inventories read
82
+ by AST: the gate's rule headings and switches ([gate](gate.md)), the judge's
83
+ callers ([judge](judge.md)), and the kill-switch names. CI runs it, and it exits
84
+ non-zero on any of them.
85
+ - Two hundred lines is the ceiling. A page that needs more is two pages.
86
+ - The [glossary](glossary.md) is the only place a term is defined; every other
87
+ page uses the term and links to it there.
88
+ - No page restates the README's user-facing sections (what it enforces, install,
89
+ benchmark, cost) or the CHANGELOG. Link instead of duplicating.
90
+
91
+ ## Reaching a page without reading this file
92
+
93
+ `docs/index.json` is the machine-readable index: one entry per page with its
94
+ title, the questions it answers, its audience and its sources.
95
+
96
+ ```sh
97
+ tezgah-docs # every page, one line each
98
+ tezgah-docs deny shortcut # the page(s) that answer a query
99
+ tezgah-docs --json status # the same, for a program
100
+ tezgah-docs -- --no-verify # `--` ends the options; a word after it is a query word
101
+ tezgah-docs --citations # the citations that no longer show what they name
102
+ ```
103
+
104
+ `bin/tezgah-docs` reads that index and prints file paths, so an agent can pick a
105
+ page without guessing and a script can assert the layer is intact. A test keeps
106
+ the index and the directory in step: a page cannot be added without an entry, and
107
+ an entry cannot name a file that is not there.
108
+
109
+ ## The private layer
110
+
111
+ `docs/research/` is gitignored: local research notes, kept out of the published
112
+ repository. Nothing under it is a source of truth for anything here.
@@ -0,0 +1,226 @@
1
+ # Architecture
2
+
3
+ This page answers one question: how tezgah is built, and what runs when a
4
+ session starts. It is written for the maintainer adding a rule, a [host](glossary.md#host)
5
+ or a [mark](glossary.md#mark), and for any session that has to reason about why
6
+ the thing behaved the way it did instead of re-deriving it from the Python. Read
7
+ it before [gate](gate.md), [evidence](evidence.md) or [hosts](hosts.md); those
8
+ pages assume the layers named here.
9
+
10
+ ## One idea
11
+
12
+ tezgah is a working contract — rules about honesty, minimal code, and evidence —
13
+ written once as plain strings, injected into six coding-agent hosts, and backed
14
+ by two mechanisms that make the contract checkable rather than merely stated: a
15
+ [gate](glossary.md#gate) that refuses a tool call before it runs, and an evidence
16
+ [ledger](glossary.md#ledger) that records what actually ran so a "done" claim can
17
+ be contradicted. Everything else in the repository exists to keep those three
18
+ things — one text, one gate, one ledger — shared rather than copied.
19
+
20
+ ## The layers, bottom-up
21
+
22
+ ### `hooks/` — the shared Python core
23
+
24
+ The core is host-independent: it answers in tezgah's own vocabulary and knows
25
+ nothing about a host's event names or output envelope.
26
+
27
+ | Module | Owns | Point at |
28
+ |---|---|---|
29
+ | `tezgah_context.py` | the one builder of injected text; event normalisation to `session_start`/`user_prompt`/`subagent_start`/`post_compact`; the status segments and the used marks | `hooks/tezgah_context.py:2-7`, `hooks/tezgah_context.py::context_for` |
30
+ | `tezgah_policy.py` | the contract itself, as strings: `CORE`, the conditional paragraphs, the pointer line, the per-turn reminder, and the long-form blocks the on-demand skill mirrors | `hooks/tezgah_policy.py:2-16`, `hooks/tezgah_policy.py::CORE`, `hooks/tezgah_policy.py::CONDITIONAL_KEYS` |
31
+ | `tezgah_gate.py` | the tool gate: explorer refusal, the one-time grep nudge, attribution and test-disable denies, loop/retry ceilings | `hooks/tezgah_gate.py:2-91`, `hooks/tezgah_gate.py::decision` |
32
+ | `tezgah_integrity.py` | the evidence ledger, redaction, the anti-shortcut parser and the Stop rule | `hooks/tezgah_integrity.py:2-24`, `hooks/tezgah_integrity.py::note_tool`, `hooks/tezgah_integrity.py::stop_reason` |
33
+ | `tezgah_guard.py` | the one catch around an entry point's call into the core, so a crash costs an envelope rather than a session, and the `crash` ledger row that keeps it countable | `hooks/tezgah_guard.py:2-26`, `hooks/tezgah_guard.py::safe` |
34
+ | `tezgah_paths.py` | where tezgah is armed: [roots](glossary.md#root) and the linked worktrees of a repository under one, kill switches, the config dir, and the writable cache dir - the fallback resolved on use rather than at import, so a gated call does not pay for `tempfile`, `shutil` or `sqlite3` | `hooks/tezgah_paths.py:2-14`, `hooks/tezgah_paths.py::cache_dir`, `hooks/tezgah_paths.py::fallback_cache` |
35
+ | `tezgah_snapshot.py` | pre-write bytes of every file a write is about to change, and the one explicit restore | `hooks/tezgah_snapshot.py:2-18`, `hooks/tezgah_snapshot.py::capture` |
36
+ | `tezgah_untrusted.py` | the untrusted-content label on a result from outside the user and workspace, and the taint notice on the next effect | `hooks/tezgah_untrusted.py:2-22`, `hooks/tezgah_untrusted.py::marks` |
37
+ | `tezgah_agents.py` | per-repo subagent definitions generated into each host that has an agent surface | `hooks/tezgah_agents.py:2-22`, `hooks/tezgah_agents.py::sync_root` |
38
+ | `tezgah_research.py` | the in-repo research workspace and the check that a protocol predates its results | `hooks/tezgah_research.py:2-85`, `hooks/tezgah_research.py::check` |
39
+ | `tezgah_index.py` | the detached graph auto-index worker (flock-guarded, bounded retry) | `hooks/tezgah_index.py:2-18`, `hooks/tezgah_index.py::main` |
40
+
41
+ `hooks/projects-*.py` are the Claude/dsh event entry points, not core: they hold
42
+ only the envelope (see the event sequence below).
43
+
44
+ ### `hosts/<name>/` — the adapters
45
+
46
+ A host adapter translates one host's event names and output schema into the
47
+ core's vocabulary and translates the answer back. It contains no rule text and
48
+ no gate logic; the imports are the proof. Codex is the most readable example:
49
+ its hook maps `SessionStart`/`UserPromptSubmit`/`SubagentStart`/`PostCompact` to
50
+ the core's events (`hosts/codex/hook.py::EVENTS`), imports the builder, gate,
51
+ integrity and untrusted modules from `hooks/` (`hosts/codex/hook.py:25-39`), and
52
+ passes Codex's tool names through a translation table before calling the gate
53
+ (`hosts/codex/hook.py::GATE_TOOLS`, `hosts/codex/hook.py::gate_name`, `decision` at `hosts/codex/hook.py::gate_reason`). omp is
54
+ the same split in another language: the TypeScript extension is "only the
55
+ bridge" and substitutes the absolute path of
56
+ the Python half (`hosts/omp/tezgah-hook.ts.in:5-7`), whose `handle()` dispatches
57
+ every event (`hosts/omp/hook.py::handle`). Cursor (`hosts/cursor/hook.py:2-40`) and
58
+ opencode (`hosts/opencode/plugins/tezgah.js:1-57`) follow the same rule; opencode
59
+ is the one host whose plugin cannot call the core in process, so it shells out
60
+ through `bin/tezgah-context` and `bin/tezgah-capture` instead of copying it
61
+ (`hosts/opencode/plugins/tezgah.js:5-8,33-35`).
62
+
63
+ ### `bin/` — the CLIs and the installer
64
+
65
+ `bin/tezgah-setup` is the installer and the only writer of host wiring: it arms
66
+ every detected host, regenerates the generated contract files and the subagent
67
+ sets, and reports what is armed (`bin/tezgah-setup:2-33`). The rest are the small
68
+ stable CLIs the contract cites by absolute path because a session shell has no
69
+ interactive PATH: `bin/tezgah-status` (the checklist in any host,
70
+ `bin/tezgah-status:2-16`), `bin/tezgah-rollback`,
71
+ `bin/tezgah-capture`, `bin/tezgah-context`, `bin/tezgah-index`,
72
+ `bin/tezgah-agents`, and the optional `bin/consult` / `bin/codegen`.
73
+
74
+ ### The surfaces
75
+
76
+ A surface draws the marks; it never decides them. `statusline.py` is the Claude
77
+ and Cursor status line, and resolves the checkout from its own symlink before
78
+ importing the core (`statusline.py:20-29`). `hosts/opencode/tui/tezgah-tui.tsx` is
79
+ the opencode TUI plugin, which is event-driven and shells out to
80
+ `bin/tezgah-status` rather than rendering its own segments
81
+ (`hosts/opencode/tui/tezgah-tui.tsx:1-19`). `hosts/dsh/statusline/lib/index.js`
82
+ serves the same line to the dsh Web UI behind dsh's own authenticated API, and
83
+ declares which measures that host can observe (`hosts/dsh/statusline/lib/index.js:1-18`).
84
+
85
+ ## What runs when
86
+
87
+ One session, in order. Each step names the file that handles the event on Claude
88
+ (the reference adapter) and the core function it calls.
89
+
90
+ 1. **SessionStart** — `hooks/projects-auto-init.py` (`hooks/hooks.json:2-4`) calls
91
+ `context_for("session_start", …)` (`hooks/tezgah_context.py::context_for`), which builds
92
+ the always-on CORE (`hooks/tezgah_context.py::core_for`) plus this repo's live state:
93
+ the graph index status and the detached index spawn (`hooks/tezgah_context.py::context_for`),
94
+ the open plans, the sibling checkouts of a `git worktree` with their open plan
95
+ and research line counts (`sibling_line`, `hooks/tezgah_context.py::sibling_line`),
96
+ the lessons ledger, and the active kill switches. The CORE is
97
+ dropped when the host's own file already carries it (`TEZGAH_CORE_IN_FILE`,
98
+ declared by that manifest row: `~/.claude/CLAUDE.md` on Claude). Outside a
99
+ configured root it returns `None` and the session is untouched
100
+ (`hooks/tezgah_context.py::context_for`).
101
+ 2. **UserPromptSubmit** — the same file, `context_for("user_prompt", …)`
102
+ (`hooks/tezgah_context.py::context_for`): a turn marker for the loop guard, the per-turn
103
+ reminder, the conditional paragraph(s) this prompt arms
104
+ (`classify_prompt`, `hooks/tezgah_context.py::classify_prompt`), one line naming what moved
105
+ since the previous turn (`hooks/tezgah_context.py::state_delta`), up to three older
106
+ lessons the prompt shares words with (`relevant_lessons`, ranked by
107
+ `hooks/tezgah_rank.py`, or, with the opt-in `embed-mrl`/`embed-m2v` feature,
108
+ BM25's order plus a line by meaning above the model's cosine floor, by
109
+ `hooks/tezgah_embed.py`, and nothing at all while no line is older than the
110
+ session block's last five, see
111
+ [operations.md](operations.md#opt-in-embedding-relevance); each once per
112
+ session, remembered in the turn stamp and forgotten at a compaction),
113
+ and the stale-index notice (`hooks/tezgah_context.py::index_notice`).
114
+ 3. **PreToolUse** — `hooks/projects-pretooluse.py::main` calls `decision` and emits
115
+ the deny envelope (`hooks/projects-pretooluse.py::main`). The gate is the same
116
+ object on every host: `hosts/omp/hook.py::handle`, `hosts/codex/hook.py::gate_reason`.
117
+ 4. **PostToolUse** — `hooks/projects-posttooluse.py::main` writes the evidence row
118
+ through `note_tool` (`hooks/projects-posttooluse.py::main`), records the used
119
+ kind for the status line (`tezgah_context.record`, `hooks/projects-posttooluse.py::main`),
120
+ and attaches the untrusted-content label when the result came from outside.
121
+ 5. **Stop** — `hooks/projects-stop.py::main` calls `stop_reason`, which reads the
122
+ ledger and can refuse the turn (`hooks/tezgah_integrity.py::stop_reason`). omp and
123
+ Codex reach the same function from their own Stop events
124
+ (`hosts/omp/hook.py::handle`).
125
+
126
+ `SubagentStart` and `PostCompact` reuse steps 1 and 2 with their own event key;
127
+ on `subagent_start` the payload is the short brief, not the whole CORE
128
+ (`hooks/tezgah_context.py::context_for`).
129
+
130
+ ## The two-tier text model
131
+
132
+ | Tier | What it is | Assembled at | Paid |
133
+ |---|---|---|---|
134
+ | Always-on CORE | the rules every session carries: reply language, integrity, loop discipline, attribution, scope | `hooks/tezgah_policy.py::CORE`, injected by `hooks/tezgah_context.py::core_for` | once per session |
135
+ | Conditional paragraphs | spec, consult, research, product, graph — armed by task class, in full once per session and one line on a later match | `hooks/tezgah_policy.py::CONDITIONAL_KEYS`, armed at `hooks/tezgah_context.py::context_for`, repeated as `hooks/tezgah_context.py::armed_again` | the first matching turn in full; again after a compaction or `ARMED_RESURFACE` turns |
136
+ | Pointer line | one line per conditional rule, so a host that never sees the paragraph still knows the rule exists | `hooks/tezgah_policy.py::POINTERS`, appended at `hooks/tezgah_context.py::context_for` | once per session |
137
+ | Per-turn reminder | the compact `<harness-reminder>` envelope | `hooks/tezgah_policy.py::PROMPT_REMINDER`, injected at `hooks/tezgah_context.py::context_for` | every user turn |
138
+ | On-demand full contract | the deep detail — orchestration, codegen, the exact kill switches — as a skill, not a hook payload | `skills/tezgah-contract/SKILL.md`, hand-kept against the long-form blocks of `hooks/tezgah_policy.py` (`tests/test_setup.py::ContractParity`) | only when loaded |
139
+
140
+ A host that carries the CORE in a static file does not pay for it twice: omp's
141
+ managed `RULES.md` already holds it (`bin/tezgah-setup::STATIC_RULES`, `bin/tezgah-setup::rules_block`), so its session hook
142
+ passes `with_core=False` and injects only the live state
143
+ (`hosts/omp/hook.py::handle`, `hooks/tezgah_context.py::context_for`). opencode's
144
+ always-on file is written from the same policy by the installer
145
+ (`bin/tezgah-setup::opencode_contract`). The
146
+ sum of every block is bounded per event, and when the bound is crossed the
147
+ lowest-value blocks are dropped in a fixed order rather than the rules
148
+ (`hooks/tezgah_context.py::DROP_ORDER`, `hooks/tezgah_context.py::budgeted`).
149
+
150
+ ## State: where it lives, who writes it
151
+
152
+ | Store | Path | Writer | Authoritative for |
153
+ |---|---|---|---|
154
+ | Evidence ledger | `~/.cache/tezgah/evidence/<session>.jsonl` (`hooks/tezgah_integrity.py::_path`) | `note_tool` from each host's PostToolUse (`hooks/tezgah_integrity.py::note_tool`) | what a session actually ran, and therefore the Stop verdict |
155
+ | Session store (used marks) | the chosen cache dir, `sessions/<session>.jsonl` (`hooks/tezgah_context.py::record`) | `record` (`hooks/tezgah_context.py::record`) from every adapter | nothing evidential: a convenience channel for a surface that has no transcript; an `orch` mark is also written to the evidence ledger (`hooks/tezgah_context.py::record`) so `fanout` can count it |
156
+ | Snapshot store | `<cache dir>/snapshots` (`hooks/tezgah_snapshot.py::_store`) | `capture` on the write path (`hooks/tezgah_snapshot.py::capture`) | the pre-write bytes; the rollback source |
157
+ | Turn stamp | `<cache dir>/turns/<session>.json` (`hooks/tezgah_context.py::_stamp_path`) | `write_stamp` (`hooks/tezgah_context.py::write_stamp`) | the comparison behind the one-line delta, nothing else |
158
+ | Installed config dir | `~/.config/tezgah` (`hooks/tezgah_paths.py::CONFIG_DIR`) | the installer and the user | which roots are armed, which kill switches are on |
159
+ | Plugin copy | `~/.claude/plugins/cache/<marketplace>/tezgah/<version>/` (`bin/tezgah-setup::plugin_copies`) | `tezgah-setup --sync` (`bin/tezgah-setup::sync`) | what Claude Code actually executes — a copy, never this checkout |
160
+
161
+ The cache dir is resolved once per process and falls back to a temp dir on a
162
+ sandboxed host, so one session's state never splits across two files
163
+ (`hooks/tezgah_paths.py::cache_dir`). Per-repo state — `.tezgah/plans/open/`,
164
+ `.tezgah/lessons.md`, `.tezgah/research/` — lives in the repository, and the
165
+ checkout is the source from which the plugin copy is made. Each checkout of a
166
+ repository keeps its own: a linked `git worktree` gets its own `.tezgah`, locks
167
+ and private git repository, never a share of the main checkout's. It sees the
168
+ others read-only - the session-start line above and `tezgah-research --all` -
169
+ through `worktrees`, which lists `<main>/.git/worktrees/*/gitdir` with no git
170
+ fork and skips an entry whose checkout is gone, as git's own `prunable` does
171
+ (`hooks/tezgah_paths.py::worktrees`).
172
+
173
+ ## Invariants
174
+
175
+ - **One definition per concept.** The contract text lives only in
176
+ `hooks/tezgah_policy.py`; adapters carry envelopes (`hooks/projects-auto-init.py:2-7`).
177
+ Host-specific copies exist only where a host cannot load Python, and those are
178
+ generated from the policy, not hand-kept (`bin/tezgah-setup::opencode_contract_text`).
179
+ Two hand-kept mirrors are the named exceptions, and a test pins each one to
180
+ the policy. `skills/tezgah-contract/SKILL.md` mirrors the long-form blocks
181
+ (`tests/test_setup.py::ContractParity`). The policy keeps no joined constant,
182
+ and the cost report measures the skill file itself
183
+ (`bin/tezgah-setup::context_budget`). `output-styles/tezgah.md` mirrors CORE.
184
+ Text derived from CORE, such as the subagent brief, is cut from it by rule
185
+ (`hooks/tezgah_context.py::BRIEF_SENTENCES`) and never re-written.
186
+ - **A hook never takes a session down.** Every call an entry point makes into
187
+ the core goes through `tezgah_guard.safe`, which returns `None` and files a
188
+ `crash` row rather than letting the exception out: a fault costs one envelope,
189
+ and on omp - where the bridge turns a crash or one 10 s timeout into a
190
+ session-wide disable - it is what keeps the gate, the ledger and the status
191
+ line armed (`hooks/tezgah_guard.py::safe`, `hooks/projects-pretooluse.py::main`).
192
+ A host that cannot call the core in process gets the same rule in its own
193
+ language: opencode's plugin runs every awaited core CLI through one `collect`
194
+ helper with a 10 s deadline (`SPAWN_DEADLINE_MS`,
195
+ `hosts/opencode/plugins/tezgah.js:108-178`). Both fail open, because a core
196
+ that has crashed has refused nothing.
197
+ - **The root boundary.** Every hook is inert outside a configured root:
198
+ a linked `git worktree` counts as inside when its main checkout is, read from
199
+ its `.git` pointer file rather than a git fork (`worktree_top`,
200
+ `hooks/tezgah_paths.py::worktree_top`), and answers its own top level so every path
201
+ stays under the base `root_for` returns (`hooks/tezgah_paths.py::root_for`);
202
+ `context_for` returns `None` (`hooks/tezgah_context.py::context_for`), the gate only acts
203
+ inside one (`hooks/tezgah_gate.py::decision`), and the status line is the single
204
+ deliberate exception, because a globally loaded rules file must still show that
205
+ it is armed (`hosts/omp/hook.py:40-43`).
206
+ - **No cross-host drift.** A host shares the core, never a copy of it. Adding a
207
+ rule means editing the policy; adding behaviour means editing `hooks/` and
208
+ letting every adapter inherit it.
209
+ - **The kill switch is the label.** Each always-on rule starts with a bold label
210
+ and a switch drops exactly its paragraph, so a label edit fails a test instead
211
+ of silently disabling a rule (`hooks/tezgah_context.py::CORE_RULES`).
212
+
213
+ ## Source of truth
214
+
215
+ - `hooks/tezgah_context.py`, `hooks/tezgah_policy.py`, `hooks/tezgah_gate.py`,
216
+ `hooks/tezgah_integrity.py`, `hooks/tezgah_paths.py`, `hooks/tezgah_snapshot.py`,
217
+ `hooks/tezgah_untrusted.py`, `hooks/tezgah_agents.py`, `hooks/tezgah_research.py`,
218
+ `hooks/tezgah_index.py`
219
+ - `hooks/hooks.json`, `hooks/projects-auto-init.py`, `hooks/projects-pretooluse.py`,
220
+ `hooks/projects-posttooluse.py`, `hooks/projects-stop.py`
221
+ - `hosts/codex/hook.py`, `hosts/omp/hook.py`, `hosts/omp/tezgah-hook.ts.in`,
222
+ `hosts/cursor/hook.py`, `hosts/opencode/plugins/tezgah.js`,
223
+ `hosts/dsh/hooks.json`
224
+ - `bin/tezgah-setup`, `bin/tezgah-status`, `statusline.py`,
225
+ `hosts/opencode/tui/tezgah-tui.tsx`, `hosts/dsh/statusline/lib/index.js`
226
+ - `skills/tezgah-contract/SKILL.md`, `README.md` (Supported hosts)
@@ -0,0 +1,59 @@
1
+ {
2
+ "bin/tezgah-docs": {
3
+ "unjudged": 2
4
+ },
5
+ "bin/tezgah-setup": {
6
+ "unjudged": 1
7
+ },
8
+ "docs/architecture.md": {
9
+ "unjudged": 25
10
+ },
11
+ "docs/contract.md": {
12
+ "unjudged": 5
13
+ },
14
+ "docs/environment.md": {
15
+ "unjudged": 8
16
+ },
17
+ "docs/evidence.md": {
18
+ "unjudged": 18
19
+ },
20
+ "docs/feature-audit.md": {
21
+ "unjudged": 2
22
+ },
23
+ "docs/gate.md": {
24
+ "unjudged": 40
25
+ },
26
+ "docs/glossary.md": {
27
+ "unjudged": 12
28
+ },
29
+ "docs/hosts.md": {
30
+ "unjudged": 62
31
+ },
32
+ "docs/layers.md": {
33
+ "unjudged": 14
34
+ },
35
+ "docs/operations.md": {
36
+ "unjudged": 21
37
+ },
38
+ "docs/skills.md": {
39
+ "unjudged": 7
40
+ },
41
+ "docs/status-line.md": {
42
+ "unjudged": 9
43
+ },
44
+ "docs/testing.md": {
45
+ "unjudged": 42
46
+ },
47
+ "hooks/tezgah_gate.py": {
48
+ "unjudged": 1
49
+ },
50
+ "tests/e2e_packaged_install.py": {
51
+ "unjudged": 1
52
+ },
53
+ "tests/test_docs.py": {
54
+ "unjudged": 4
55
+ },
56
+ "tests/test_encoding.py": {
57
+ "unjudged": 5
58
+ }
59
+ }
@@ -0,0 +1,116 @@
1
+ {
2
+ "CHANGELOG.md": {
3
+ "long_sentences": 0,
4
+ "passive": 2,
5
+ "replace_words": 0,
6
+ "semicolons": 0
7
+ },
8
+ "docs/README.md": {
9
+ "long_sentences": 6,
10
+ "passive": 7,
11
+ "replace_words": 1,
12
+ "semicolons": 4
13
+ },
14
+ "docs/architecture.md": {
15
+ "long_sentences": 20,
16
+ "passive": 12,
17
+ "replace_words": 0,
18
+ "semicolons": 9
19
+ },
20
+ "docs/contract.md": {
21
+ "long_sentences": 40,
22
+ "passive": 26,
23
+ "replace_words": 0,
24
+ "semicolons": 30
25
+ },
26
+ "docs/environment.md": {
27
+ "long_sentences": 3,
28
+ "passive": 2,
29
+ "replace_words": 0,
30
+ "semicolons": 3
31
+ },
32
+ "docs/evidence.md": {
33
+ "long_sentences": 109,
34
+ "passive": 57,
35
+ "replace_words": 1,
36
+ "semicolons": 40
37
+ },
38
+ "docs/feature-audit.md": {
39
+ "long_sentences": 20,
40
+ "passive": 5,
41
+ "replace_words": 0,
42
+ "semicolons": 11
43
+ },
44
+ "docs/gate.md": {
45
+ "long_sentences": 67,
46
+ "passive": 32,
47
+ "replace_words": 1,
48
+ "semicolons": 46
49
+ },
50
+ "docs/glossary.md": {
51
+ "long_sentences": 51,
52
+ "passive": 19,
53
+ "replace_words": 0,
54
+ "semicolons": 14
55
+ },
56
+ "docs/hosts.md": {
57
+ "long_sentences": 36,
58
+ "passive": 19,
59
+ "replace_words": 0,
60
+ "semicolons": 18
61
+ },
62
+ "docs/judge.md": {
63
+ "long_sentences": 28,
64
+ "passive": 15,
65
+ "replace_words": 0,
66
+ "semicolons": 17
67
+ },
68
+ "docs/layers.md": {
69
+ "long_sentences": 20,
70
+ "passive": 16,
71
+ "replace_words": 0,
72
+ "semicolons": 6
73
+ },
74
+ "docs/models.md": {
75
+ "long_sentences": 19,
76
+ "passive": 8,
77
+ "replace_words": 0,
78
+ "semicolons": 9
79
+ },
80
+ "docs/operations.md": {
81
+ "long_sentences": 67,
82
+ "passive": 21,
83
+ "replace_words": 3,
84
+ "semicolons": 42
85
+ },
86
+ "docs/research.md": {
87
+ "long_sentences": 107,
88
+ "passive": 59,
89
+ "replace_words": 1,
90
+ "semicolons": 77
91
+ },
92
+ "docs/skills.md": {
93
+ "long_sentences": 31,
94
+ "passive": 16,
95
+ "replace_words": 0,
96
+ "semicolons": 14
97
+ },
98
+ "docs/status-line.md": {
99
+ "long_sentences": 44,
100
+ "passive": 19,
101
+ "replace_words": 0,
102
+ "semicolons": 26
103
+ },
104
+ "docs/testing.md": {
105
+ "long_sentences": 24,
106
+ "passive": 12,
107
+ "replace_words": 0,
108
+ "semicolons": 11
109
+ },
110
+ "docs/vision.md": {
111
+ "long_sentences": 9,
112
+ "passive": 7,
113
+ "replace_words": 1,
114
+ "semicolons": 12
115
+ }
116
+ }