@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.
- package/CHANGELOG.md +738 -0
- package/LICENSE +21 -0
- package/MANIFEST +753 -0
- package/README.de.md +169 -0
- package/README.es.md +168 -0
- package/README.fr.md +166 -0
- package/README.md +161 -0
- package/README.tr.md +163 -0
- package/agents/tezgah-reviewer.md +70 -0
- package/bin/codegen +337 -0
- package/bin/consult +797 -0
- package/bin/tezgah-adhd +50 -0
- package/bin/tezgah-agents +45 -0
- package/bin/tezgah-capture +66 -0
- package/bin/tezgah-context +96 -0
- package/bin/tezgah-decisions +213 -0
- package/bin/tezgah-design +953 -0
- package/bin/tezgah-docs +1199 -0
- package/bin/tezgah-doctor +497 -0
- package/bin/tezgah-dsh +37 -0
- package/bin/tezgah-dsh.cmd +70 -0
- package/bin/tezgah-gate +75 -0
- package/bin/tezgah-import-ai-research +439 -0
- package/bin/tezgah-index +32 -0
- package/bin/tezgah-lessons +148 -0
- package/bin/tezgah-mcp +322 -0
- package/bin/tezgah-migrate +324 -0
- package/bin/tezgah-pony +50 -0
- package/bin/tezgah-research +772 -0
- package/bin/tezgah-rollback +93 -0
- package/bin/tezgah-route +124 -0
- package/bin/tezgah-setup +5798 -0
- package/bin/tezgah-status +383 -0
- package/bin/tezgah-task +607 -0
- package/bin/tezgah-taste +423 -0
- package/bin/tezgah-triage +485 -0
- package/bin/tezgah.js +36 -0
- package/commands/adhd.md +21 -0
- package/commands/ponytail.md +21 -0
- package/docs/README.md +112 -0
- package/docs/architecture.md +226 -0
- package/docs/citations-baseline.json +59 -0
- package/docs/clarity-baseline.json +116 -0
- package/docs/contract.md +416 -0
- package/docs/environment.md +141 -0
- package/docs/evidence.md +831 -0
- package/docs/feature-audit.md +139 -0
- package/docs/gate.md +407 -0
- package/docs/glossary.md +201 -0
- package/docs/hosts.md +400 -0
- package/docs/index.json +471 -0
- package/docs/judge.md +193 -0
- package/docs/layers.md +189 -0
- package/docs/models.md +160 -0
- package/docs/operations.md +666 -0
- package/docs/research.md +809 -0
- package/docs/results/paired-outcome-2026-10.jsonl +254 -0
- package/docs/results/paired-outcome-2026-10.md +204 -0
- package/docs/skills.md +236 -0
- package/docs/status-line.md +315 -0
- package/docs/testing.md +287 -0
- package/docs/vision.md +117 -0
- package/hooks/hooks.json +33 -0
- package/hooks/projects-auto-init.py +98 -0
- package/hooks/projects-posttooluse.py +149 -0
- package/hooks/projects-pretooluse.py +40 -0
- package/hooks/projects-stop.py +60 -0
- package/hooks/tezgah_agents.py +817 -0
- package/hooks/tezgah_apps.py +266 -0
- package/hooks/tezgah_attest.py +255 -0
- package/hooks/tezgah_clarity.py +171 -0
- package/hooks/tezgah_components.py +140 -0
- package/hooks/tezgah_context.py +2953 -0
- package/hooks/tezgah_embed.py +765 -0
- package/hooks/tezgah_gate.py +2736 -0
- package/hooks/tezgah_guard.py +177 -0
- package/hooks/tezgah_index.py +124 -0
- package/hooks/tezgah_integrity.py +5141 -0
- package/hooks/tezgah_judge.py +487 -0
- package/hooks/tezgah_lang.py +230 -0
- package/hooks/tezgah_lessons.py +210 -0
- package/hooks/tezgah_models.py +855 -0
- package/hooks/tezgah_paths.py +1132 -0
- package/hooks/tezgah_policy.py +1039 -0
- package/hooks/tezgah_rank.py +77 -0
- package/hooks/tezgah_replay.py +1109 -0
- package/hooks/tezgah_research.py +5176 -0
- package/hooks/tezgah_shapes.py +305 -0
- package/hooks/tezgah_skill_pick.py +227 -0
- package/hooks/tezgah_snapshot.py +490 -0
- package/hooks/tezgah_stopspec.py +320 -0
- package/hooks/tezgah_task.py +458 -0
- package/hooks/tezgah_taste.py +201 -0
- package/hooks/tezgah_untrusted.py +112 -0
- package/hooks/tezgah_update.py +430 -0
- package/hosts/codex/hook.py +268 -0
- package/hosts/codex/hooks.json +26 -0
- package/hosts/cursor/hook.py +461 -0
- package/hosts/cursor/hooks.json +44 -0
- package/hosts/dsh/hooks.json +21 -0
- package/hosts/dsh/statusline/lib/client.js +138 -0
- package/hosts/dsh/statusline/lib/index.js +104 -0
- package/hosts/dsh/statusline/package.json +28 -0
- package/hosts/omp/hook.py +277 -0
- package/hosts/omp/tezgah-hook.ts.in +701 -0
- package/hosts/opencode/plugins/tezgah.js +2742 -0
- package/hosts/opencode/tui/tezgah-tui.tsx +151 -0
- package/output-styles/tezgah.md +142 -0
- package/package.json +32 -0
- package/packaging/build.sh +342 -0
- package/packaging/install.ps1 +166 -0
- package/packaging/install.sh +56 -0
- package/packaging/upgrade.sh +142 -0
- package/skills/ai-research/0-autoresearch-skill/SKILL.md +411 -0
- package/skills/ai-research/0-autoresearch-skill/references/agent-continuity.md +95 -0
- package/skills/ai-research/0-autoresearch-skill/references/progress-reporting.md +166 -0
- package/skills/ai-research/0-autoresearch-skill/references/skill-routing.md +219 -0
- package/skills/ai-research/0-autoresearch-skill/templates/findings.md +44 -0
- package/skills/ai-research/0-autoresearch-skill/templates/research-log.md +41 -0
- package/skills/ai-research/01-model-architecture/litgpt/SKILL.md +469 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/custom-models.md +569 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/distributed-training.md +452 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/supported-models.md +337 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/training-recipes.md +620 -0
- package/skills/ai-research/01-model-architecture/mamba/SKILL.md +260 -0
- package/skills/ai-research/01-model-architecture/mamba/references/architecture-details.md +207 -0
- package/skills/ai-research/01-model-architecture/mamba/references/benchmarks.md +256 -0
- package/skills/ai-research/01-model-architecture/mamba/references/training-guide.md +389 -0
- package/skills/ai-research/01-model-architecture/nanogpt/SKILL.md +290 -0
- package/skills/ai-research/01-model-architecture/nanogpt/references/architecture.md +383 -0
- package/skills/ai-research/01-model-architecture/nanogpt/references/data.md +477 -0
- package/skills/ai-research/01-model-architecture/nanogpt/references/training.md +565 -0
- package/skills/ai-research/01-model-architecture/rwkv/SKILL.md +260 -0
- package/skills/ai-research/01-model-architecture/rwkv/references/architecture-details.md +345 -0
- package/skills/ai-research/01-model-architecture/rwkv/references/rwkv7.md +387 -0
- package/skills/ai-research/01-model-architecture/rwkv/references/state-management.md +370 -0
- package/skills/ai-research/01-model-architecture/torchtitan/SKILL.md +358 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/checkpoint.md +182 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/custom-models.md +259 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/float8.md +134 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/fsdp.md +127 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/SKILL.md +516 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/algorithms.md +654 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/integration.md +638 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/pipeline.md +724 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/training.md +566 -0
- package/skills/ai-research/02-tokenization/sentencepiece/SKILL.md +235 -0
- package/skills/ai-research/02-tokenization/sentencepiece/references/algorithms.md +201 -0
- package/skills/ai-research/02-tokenization/sentencepiece/references/training.md +305 -0
- package/skills/ai-research/03-fine-tuning/axolotl/SKILL.md +158 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/api.md +5549 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/dataset-formats.md +1030 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/index.md +16 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/other.md +3564 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/SKILL.md +80 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/_images.md +24 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/advanced.md +1056 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/getting_started.md +350 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/index.md +20 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/other.md +32 -0
- package/skills/ai-research/03-fine-tuning/peft/SKILL.md +431 -0
- package/skills/ai-research/03-fine-tuning/peft/references/advanced-usage.md +515 -0
- package/skills/ai-research/03-fine-tuning/peft/references/troubleshooting.md +481 -0
- package/skills/ai-research/03-fine-tuning/unsloth/SKILL.md +80 -0
- package/skills/ai-research/03-fine-tuning/unsloth/references/index.md +8 -0
- package/skills/ai-research/03-fine-tuning/unsloth/references/llms.md +83 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/SKILL.md +436 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/README.md +79 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/api.md +345 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/tutorials.md +301 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/SKILL.md +473 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/README.md +74 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/api.md +384 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/tutorials.md +377 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/SKILL.md +386 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/references/README.md +71 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/references/api.md +334 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/references/tutorials.md +319 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/SKILL.md +346 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/README.md +55 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/api.md +363 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/tutorials.md +340 -0
- package/skills/ai-research/05-data-processing/nemo-curator/SKILL.md +383 -0
- package/skills/ai-research/05-data-processing/nemo-curator/references/deduplication.md +88 -0
- package/skills/ai-research/05-data-processing/nemo-curator/references/filtering.md +103 -0
- package/skills/ai-research/05-data-processing/ray-data/SKILL.md +326 -0
- package/skills/ai-research/05-data-processing/ray-data/references/integration.md +83 -0
- package/skills/ai-research/05-data-processing/ray-data/references/transformations.md +84 -0
- package/skills/ai-research/06-post-training/grpo-rl-training/README.md +98 -0
- package/skills/ai-research/06-post-training/grpo-rl-training/SKILL.md +572 -0
- package/skills/ai-research/06-post-training/miles/SKILL.md +315 -0
- package/skills/ai-research/06-post-training/miles/references/api-reference.md +142 -0
- package/skills/ai-research/06-post-training/miles/references/troubleshooting.md +353 -0
- package/skills/ai-research/06-post-training/openrlhf/SKILL.md +249 -0
- package/skills/ai-research/06-post-training/openrlhf/references/algorithm-comparison.md +405 -0
- package/skills/ai-research/06-post-training/openrlhf/references/custom-rewards.md +531 -0
- package/skills/ai-research/06-post-training/openrlhf/references/hybrid-engine.md +288 -0
- package/skills/ai-research/06-post-training/openrlhf/references/multi-node-training.md +455 -0
- package/skills/ai-research/06-post-training/simpo/SKILL.md +219 -0
- package/skills/ai-research/06-post-training/simpo/references/datasets.md +479 -0
- package/skills/ai-research/06-post-training/simpo/references/hyperparameters.md +453 -0
- package/skills/ai-research/06-post-training/simpo/references/loss-functions.md +351 -0
- package/skills/ai-research/06-post-training/slime/SKILL.md +464 -0
- package/skills/ai-research/06-post-training/slime/references/api-reference.md +393 -0
- package/skills/ai-research/06-post-training/slime/references/troubleshooting.md +387 -0
- package/skills/ai-research/06-post-training/torchforge/SKILL.md +433 -0
- package/skills/ai-research/06-post-training/torchforge/references/api-reference.md +328 -0
- package/skills/ai-research/06-post-training/torchforge/references/troubleshooting.md +410 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/SKILL.md +455 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/dpo-variants.md +228 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/online-rl.md +83 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/reward-modeling.md +123 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/sft-training.md +169 -0
- package/skills/ai-research/06-post-training/verl/SKILL.md +391 -0
- package/skills/ai-research/06-post-training/verl/references/api-reference.md +302 -0
- package/skills/ai-research/06-post-training/verl/references/troubleshooting.md +392 -0
- package/skills/ai-research/07-safety-alignment/constitutional-ai/SKILL.md +290 -0
- package/skills/ai-research/07-safety-alignment/llamaguard/SKILL.md +337 -0
- package/skills/ai-research/07-safety-alignment/nemo-guardrails/SKILL.md +297 -0
- package/skills/ai-research/07-safety-alignment/prompt-guard/SKILL.md +312 -0
- package/skills/ai-research/08-distributed-training/accelerate/SKILL.md +332 -0
- package/skills/ai-research/08-distributed-training/accelerate/references/custom-plugins.md +454 -0
- package/skills/ai-research/08-distributed-training/accelerate/references/megatron-integration.md +490 -0
- package/skills/ai-research/08-distributed-training/accelerate/references/performance.md +526 -0
- package/skills/ai-research/08-distributed-training/deepspeed/SKILL.md +141 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/08.md +18 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/09.md +174 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/2020.md +379 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/2023.md +280 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/assets.md +180 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/index.md +36 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/mii.md +119 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/other.md +1192 -0
- package/skills/ai-research/08-distributed-training/megatron-core/SKILL.md +366 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/benchmarks.md +250 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/parallelism-guide.md +405 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/production-examples.md +474 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/training-recipes.md +548 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/SKILL.md +231 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_async_recipe.md +14 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_overview.md +19 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_recipe.md +18 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_ddp_notes.md +10 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_device_mesh_tutorial.md +22 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_examples_fsdp2.md +15 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp1_api.md +9 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp2_tutorial.md +45 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fully_shard_api.md +49 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_tp_tutorial.md +22 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/ray_train_fsdp2_example.md +13 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/torchtitan_fsdp_notes.md +14 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/SKILL.md +346 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/references/callbacks.md +437 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/references/distributed.md +491 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/references/hyperparameter-tuning.md +557 -0
- package/skills/ai-research/08-distributed-training/ray-train/SKILL.md +406 -0
- package/skills/ai-research/08-distributed-training/ray-train/references/multi-node.md +629 -0
- package/skills/ai-research/09-infrastructure/lambda-labs/SKILL.md +545 -0
- package/skills/ai-research/09-infrastructure/lambda-labs/references/advanced-usage.md +612 -0
- package/skills/ai-research/09-infrastructure/lambda-labs/references/troubleshooting.md +531 -0
- package/skills/ai-research/09-infrastructure/modal/SKILL.md +341 -0
- package/skills/ai-research/09-infrastructure/modal/references/advanced-usage.md +504 -0
- package/skills/ai-research/09-infrastructure/modal/references/troubleshooting.md +495 -0
- package/skills/ai-research/09-infrastructure/skypilot/SKILL.md +509 -0
- package/skills/ai-research/09-infrastructure/skypilot/references/advanced-usage.md +492 -0
- package/skills/ai-research/09-infrastructure/skypilot/references/troubleshooting.md +571 -0
- package/skills/ai-research/10-optimization/awq/SKILL.md +310 -0
- package/skills/ai-research/10-optimization/awq/references/advanced-usage.md +325 -0
- package/skills/ai-research/10-optimization/awq/references/troubleshooting.md +345 -0
- package/skills/ai-research/10-optimization/bitsandbytes/SKILL.md +411 -0
- package/skills/ai-research/10-optimization/bitsandbytes/references/memory-optimization.md +522 -0
- package/skills/ai-research/10-optimization/bitsandbytes/references/qlora-training.md +522 -0
- package/skills/ai-research/10-optimization/bitsandbytes/references/quantization-formats.md +448 -0
- package/skills/ai-research/10-optimization/flash-attention/SKILL.md +367 -0
- package/skills/ai-research/10-optimization/flash-attention/references/benchmarks.md +216 -0
- package/skills/ai-research/10-optimization/flash-attention/references/transformers-integration.md +294 -0
- package/skills/ai-research/10-optimization/gguf/SKILL.md +427 -0
- package/skills/ai-research/10-optimization/gguf/references/advanced-usage.md +505 -0
- package/skills/ai-research/10-optimization/gguf/references/troubleshooting.md +443 -0
- package/skills/ai-research/10-optimization/gptq/SKILL.md +450 -0
- package/skills/ai-research/10-optimization/gptq/references/calibration.md +338 -0
- package/skills/ai-research/10-optimization/gptq/references/integration.md +130 -0
- package/skills/ai-research/10-optimization/gptq/references/troubleshooting.md +96 -0
- package/skills/ai-research/10-optimization/hqq/SKILL.md +445 -0
- package/skills/ai-research/10-optimization/hqq/references/advanced-usage.md +529 -0
- package/skills/ai-research/10-optimization/hqq/references/troubleshooting.md +504 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/SKILL.md +319 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/architecture.md +320 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/biomedical.md +498 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/domain-specific.md +626 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/experiment-loop.md +129 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/optimizers.md +330 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/scaling-and-selection.md +428 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/SKILL.md +405 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/benchmarks.md +394 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/custom-tasks.md +425 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/issues.md +395 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/SKILL.md +490 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/api-evaluation.md +491 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/benchmark-guide.md +489 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/custom-tasks.md +603 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/distributed-eval.md +520 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/SKILL.md +494 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/adapter-system.md +341 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/configuration.md +448 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/custom-benchmarks.md +316 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/execution-backends.md +362 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/SKILL.md +258 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/references/optimization.md +90 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/references/quantization.md +214 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/references/server.md +126 -0
- package/skills/ai-research/12-inference-serving/sglang/SKILL.md +442 -0
- package/skills/ai-research/12-inference-serving/sglang/references/deployment.md +491 -0
- package/skills/ai-research/12-inference-serving/sglang/references/radix-attention.md +414 -0
- package/skills/ai-research/12-inference-serving/sglang/references/structured-generation.md +542 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/SKILL.md +187 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/references/multi-gpu.md +299 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/references/optimization.md +243 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/references/serving.md +471 -0
- package/skills/ai-research/12-inference-serving/vllm/SKILL.md +364 -0
- package/skills/ai-research/12-inference-serving/vllm/references/optimization.md +227 -0
- package/skills/ai-research/12-inference-serving/vllm/references/quantization.md +285 -0
- package/skills/ai-research/12-inference-serving/vllm/references/server-deployment.md +256 -0
- package/skills/ai-research/12-inference-serving/vllm/references/troubleshooting.md +448 -0
- package/skills/ai-research/13-mlops/mlflow/SKILL.md +704 -0
- package/skills/ai-research/13-mlops/mlflow/references/deployment.md +745 -0
- package/skills/ai-research/13-mlops/mlflow/references/model-registry.md +771 -0
- package/skills/ai-research/13-mlops/mlflow/references/tracking.md +681 -0
- package/skills/ai-research/13-mlops/swanlab/SKILL.md +406 -0
- package/skills/ai-research/13-mlops/swanlab/references/integrations.md +305 -0
- package/skills/ai-research/13-mlops/swanlab/references/visualization.md +234 -0
- package/skills/ai-research/13-mlops/tensorboard/SKILL.md +629 -0
- package/skills/ai-research/13-mlops/tensorboard/references/integrations.md +639 -0
- package/skills/ai-research/13-mlops/tensorboard/references/profiling.md +546 -0
- package/skills/ai-research/13-mlops/tensorboard/references/visualization.md +621 -0
- package/skills/ai-research/13-mlops/weights-and-biases/SKILL.md +590 -0
- package/skills/ai-research/13-mlops/weights-and-biases/references/artifacts.md +585 -0
- package/skills/ai-research/13-mlops/weights-and-biases/references/integrations.md +701 -0
- package/skills/ai-research/13-mlops/weights-and-biases/references/sweeps.md +848 -0
- package/skills/ai-research/14-agents/a-evolve/SKILL.md +383 -0
- package/skills/ai-research/14-agents/a-evolve/references/README.md +831 -0
- package/skills/ai-research/14-agents/a-evolve/references/api.md +594 -0
- package/skills/ai-research/14-agents/a-evolve/references/architecture.md +417 -0
- package/skills/ai-research/14-agents/a-evolve/references/design-patterns.md +462 -0
- package/skills/ai-research/14-agents/a-evolve/references/examples.md +352 -0
- package/skills/ai-research/14-agents/a-evolve/references/issues.md +591 -0
- package/skills/ai-research/14-agents/a-evolve/references/releases.md +112 -0
- package/skills/ai-research/14-agents/a-evolve/references/tutorials.md +819 -0
- package/skills/ai-research/14-agents/autogpt/SKILL.md +403 -0
- package/skills/ai-research/14-agents/autogpt/references/advanced-usage.md +536 -0
- package/skills/ai-research/14-agents/autogpt/references/troubleshooting.md +421 -0
- package/skills/ai-research/14-agents/crewai/SKILL.md +498 -0
- package/skills/ai-research/14-agents/crewai/references/flows.md +439 -0
- package/skills/ai-research/14-agents/crewai/references/tools.md +430 -0
- package/skills/ai-research/14-agents/crewai/references/troubleshooting.md +481 -0
- package/skills/ai-research/14-agents/langchain/SKILL.md +480 -0
- package/skills/ai-research/14-agents/langchain/references/agents.md +500 -0
- package/skills/ai-research/14-agents/langchain/references/integration.md +563 -0
- package/skills/ai-research/14-agents/langchain/references/rag.md +601 -0
- package/skills/ai-research/14-agents/llamaindex/SKILL.md +569 -0
- package/skills/ai-research/14-agents/llamaindex/references/agents.md +84 -0
- package/skills/ai-research/14-agents/llamaindex/references/data_connectors.md +109 -0
- package/skills/ai-research/14-agents/llamaindex/references/query_engines.md +407 -0
- package/skills/ai-research/15-rag/chroma/SKILL.md +406 -0
- package/skills/ai-research/15-rag/chroma/references/integration.md +39 -0
- package/skills/ai-research/15-rag/faiss/SKILL.md +221 -0
- package/skills/ai-research/15-rag/faiss/references/index_types.md +281 -0
- package/skills/ai-research/15-rag/pinecone/SKILL.md +358 -0
- package/skills/ai-research/15-rag/pinecone/references/deployment.md +182 -0
- package/skills/ai-research/15-rag/qdrant/SKILL.md +493 -0
- package/skills/ai-research/15-rag/qdrant/references/advanced-usage.md +649 -0
- package/skills/ai-research/15-rag/qdrant/references/troubleshooting.md +632 -0
- package/skills/ai-research/15-rag/sentence-transformers/SKILL.md +255 -0
- package/skills/ai-research/15-rag/sentence-transformers/references/models.md +124 -0
- package/skills/ai-research/16-prompt-engineering/dspy/SKILL.md +590 -0
- package/skills/ai-research/16-prompt-engineering/dspy/references/examples.md +664 -0
- package/skills/ai-research/16-prompt-engineering/dspy/references/modules.md +476 -0
- package/skills/ai-research/16-prompt-engineering/dspy/references/optimizers.md +567 -0
- package/skills/ai-research/16-prompt-engineering/guidance/SKILL.md +572 -0
- package/skills/ai-research/16-prompt-engineering/guidance/references/backends.md +555 -0
- package/skills/ai-research/16-prompt-engineering/guidance/references/constraints.md +675 -0
- package/skills/ai-research/16-prompt-engineering/guidance/references/examples.md +768 -0
- package/skills/ai-research/16-prompt-engineering/instructor/SKILL.md +740 -0
- package/skills/ai-research/16-prompt-engineering/instructor/references/examples.md +108 -0
- package/skills/ai-research/16-prompt-engineering/instructor/references/providers.md +71 -0
- package/skills/ai-research/16-prompt-engineering/instructor/references/validation.md +607 -0
- package/skills/ai-research/16-prompt-engineering/outlines/SKILL.md +652 -0
- package/skills/ai-research/16-prompt-engineering/outlines/references/backends.md +616 -0
- package/skills/ai-research/16-prompt-engineering/outlines/references/examples.md +774 -0
- package/skills/ai-research/16-prompt-engineering/outlines/references/json_generation.md +653 -0
- package/skills/ai-research/17-observability/langsmith/SKILL.md +422 -0
- package/skills/ai-research/17-observability/langsmith/references/advanced-usage.md +549 -0
- package/skills/ai-research/17-observability/langsmith/references/troubleshooting.md +538 -0
- package/skills/ai-research/17-observability/phoenix/SKILL.md +475 -0
- package/skills/ai-research/17-observability/phoenix/references/advanced-usage.md +620 -0
- package/skills/ai-research/17-observability/phoenix/references/troubleshooting.md +539 -0
- package/skills/ai-research/18-multimodal/audiocraft/SKILL.md +564 -0
- package/skills/ai-research/18-multimodal/audiocraft/references/advanced-usage.md +667 -0
- package/skills/ai-research/18-multimodal/audiocraft/references/troubleshooting.md +505 -0
- package/skills/ai-research/18-multimodal/blip-2/SKILL.md +564 -0
- package/skills/ai-research/18-multimodal/blip-2/references/advanced-usage.md +681 -0
- package/skills/ai-research/18-multimodal/blip-2/references/troubleshooting.md +527 -0
- package/skills/ai-research/18-multimodal/clip/SKILL.md +253 -0
- package/skills/ai-research/18-multimodal/clip/references/applications.md +208 -0
- package/skills/ai-research/18-multimodal/cosmos-policy/SKILL.md +402 -0
- package/skills/ai-research/18-multimodal/cosmos-policy/references/libero-commands.md +175 -0
- package/skills/ai-research/18-multimodal/cosmos-policy/references/robocasa-commands.md +147 -0
- package/skills/ai-research/18-multimodal/llava/SKILL.md +304 -0
- package/skills/ai-research/18-multimodal/llava/references/training.md +198 -0
- package/skills/ai-research/18-multimodal/openpi/SKILL.md +480 -0
- package/skills/ai-research/18-multimodal/openpi/references/checkpoints-and-env-map.md +86 -0
- package/skills/ai-research/18-multimodal/openpi/references/config-recipes.md +50 -0
- package/skills/ai-research/18-multimodal/openpi/references/pytorch-gotchas.md +49 -0
- package/skills/ai-research/18-multimodal/openpi/references/remote-client-pattern.md +48 -0
- package/skills/ai-research/18-multimodal/openpi/references/training-debugging.md +46 -0
- package/skills/ai-research/18-multimodal/openvla-oft/SKILL.md +441 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/aloha-workflow.md +141 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/config-troubleshooting.md +97 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/libero-workflow.md +115 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/paper-and-checkpoints.md +84 -0
- package/skills/ai-research/18-multimodal/segment-anything/SKILL.md +500 -0
- package/skills/ai-research/18-multimodal/segment-anything/references/advanced-usage.md +590 -0
- package/skills/ai-research/18-multimodal/segment-anything/references/troubleshooting.md +485 -0
- package/skills/ai-research/18-multimodal/stable-diffusion/SKILL.md +519 -0
- package/skills/ai-research/18-multimodal/stable-diffusion/references/advanced-usage.md +717 -0
- package/skills/ai-research/18-multimodal/stable-diffusion/references/troubleshooting.md +556 -0
- package/skills/ai-research/18-multimodal/whisper/SKILL.md +317 -0
- package/skills/ai-research/18-multimodal/whisper/references/languages.md +190 -0
- package/skills/ai-research/19-emerging-techniques/knowledge-distillation/SKILL.md +458 -0
- package/skills/ai-research/19-emerging-techniques/knowledge-distillation/references/minillm.md +335 -0
- package/skills/ai-research/19-emerging-techniques/long-context/SKILL.md +536 -0
- package/skills/ai-research/19-emerging-techniques/long-context/references/extension_methods.md +469 -0
- package/skills/ai-research/19-emerging-techniques/long-context/references/fine_tuning.md +612 -0
- package/skills/ai-research/19-emerging-techniques/long-context/references/rope.md +403 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/SKILL.md +497 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/coefficient-tuning.md +415 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/evaluation.md +463 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/examples.md +429 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/methods.md +353 -0
- package/skills/ai-research/19-emerging-techniques/model-pruning/SKILL.md +495 -0
- package/skills/ai-research/19-emerging-techniques/model-pruning/references/wanda.md +348 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/SKILL.md +526 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/references/architectures.md +433 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/references/inference.md +349 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/references/training.md +426 -0
- package/skills/ai-research/19-emerging-techniques/speculative-decoding/SKILL.md +467 -0
- package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/lookahead.md +310 -0
- package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/medusa.md +351 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/SKILL.md +479 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/data-visualization.md +509 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/diagram-generation.md +395 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/style-guide.md +305 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/SKILL.md +982 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/checklists.md +348 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/citation-workflow.md +563 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/reviewer-guidelines.md +349 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/sources.md +165 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/writing-guide.md +477 -0
- package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/SKILL.md +298 -0
- package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/references/slide-templates.md +505 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/SKILL.md +270 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/checklist.md +279 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/reviewer-guidelines.md +116 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/section-blueprints.md +400 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/systems-conferences.md +261 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/writing-patterns.md +231 -0
- package/skills/ai-research/21-research-ideation/brainstorming-research-ideas/SKILL.md +384 -0
- package/skills/ai-research/21-research-ideation/creative-thinking-for-research/SKILL.md +366 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/SKILL.md +245 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/references/ara-schema.md +439 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/references/exploration-tree-spec.md +125 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/references/validation-checklist.md +149 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/SKILL.md +324 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/event-taxonomy.md +124 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/provenance-tags.md +190 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/session-protocol.md +162 -0
- package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/SKILL.md +322 -0
- package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/references/review-dimensions.md +182 -0
- package/skills/ai-research/SKILL.md +101 -0
- package/skills/ai-research/SOURCE +38 -0
- package/skills/ai-research/index/1-frame.md +18 -0
- package/skills/ai-research/index/2-data.md +21 -0
- package/skills/ai-research/index/3-train.md +48 -0
- package/skills/ai-research/index/4-measure.md +25 -0
- package/skills/ai-research/index/5-run.md +23 -0
- package/skills/ai-research/index/6-write.md +35 -0
- package/skills/ai-research/library.json +3456 -0
- package/skills/analyze-app/EVALS.md +82 -0
- package/skills/analyze-app/SKILL.md +188 -0
- package/skills/design-contract/EVALS.md +80 -0
- package/skills/design-contract/SKILL.md +171 -0
- package/skills/design-library/EVALS.md +85 -0
- package/skills/design-library/INDEX.md +59 -0
- package/skills/design-library/SKILL.md +58 -0
- package/skills/design-library/SOURCE +131 -0
- package/skills/design-library/adaptive-interfaces/skills/colour-independence/SKILL.md +90 -0
- package/skills/design-library/adaptive-interfaces/skills/flexible-typography/SKILL.md +83 -0
- package/skills/design-library/adaptive-interfaces/skills/information-density/SKILL.md +87 -0
- package/skills/design-library/adaptive-interfaces/skills/preference-audit/SKILL.md +70 -0
- package/skills/design-library/adaptive-interfaces/skills/responsive-accessibility/SKILL.md +86 -0
- package/skills/design-library/adaptive-interfaces/skills/responsive-review/SKILL.md +76 -0
- package/skills/design-library/adaptive-interfaces/skills/simplified-views/SKILL.md +97 -0
- package/skills/design-library/adaptive-interfaces/skills/specify/SKILL.md +63 -0
- package/skills/design-library/adaptive-interfaces/skills/user-preference-respect/SKILL.md +100 -0
- package/skills/design-library/cognitive-accessibility/skills/adaptive-personalisation/SKILL.md +61 -0
- package/skills/design-library/cognitive-accessibility/skills/assess-load/SKILL.md +48 -0
- package/skills/design-library/cognitive-accessibility/skills/cognitive-load-assessment/SKILL.md +60 -0
- package/skills/design-library/cognitive-accessibility/skills/contextual-help-design/SKILL.md +61 -0
- package/skills/design-library/cognitive-accessibility/skills/error-prevention-recovery/SKILL.md +71 -0
- package/skills/design-library/cognitive-accessibility/skills/focus-attention-design/SKILL.md +67 -0
- package/skills/design-library/cognitive-accessibility/skills/memory-load-reduction/SKILL.md +60 -0
- package/skills/design-library/cognitive-accessibility/skills/plain-language-design/SKILL.md +78 -0
- package/skills/design-library/cognitive-accessibility/skills/review/SKILL.md +56 -0
- package/skills/design-library/cognitive-accessibility/skills/simplify/SKILL.md +39 -0
- package/skills/design-library/cognitive-accessibility/skills/wayfinding-navigation/SKILL.md +64 -0
- package/skills/design-library/design-research/skills/behavioural-analytics/SKILL.md +33 -0
- package/skills/design-library/design-research/skills/qual-quant-triangulation/SKILL.md +33 -0
- package/skills/design-library/inclusive-interaction/skills/audit/SKILL.md +50 -0
- package/skills/design-library/inclusive-interaction/skills/design-flow/SKILL.md +58 -0
- package/skills/design-library/inclusive-interaction/skills/feedback-and-status/SKILL.md +76 -0
- package/skills/design-library/inclusive-interaction/skills/gesture-alternatives/SKILL.md +70 -0
- package/skills/design-library/inclusive-interaction/skills/keyboard-navigation/SKILL.md +99 -0
- package/skills/design-library/inclusive-interaction/skills/keyboard-review/SKILL.md +54 -0
- package/skills/design-library/inclusive-interaction/skills/motion-sensitivity/SKILL.md +79 -0
- package/skills/design-library/inclusive-interaction/skills/multi-modal-input/SKILL.md +70 -0
- package/skills/design-library/inclusive-interaction/skills/touch-target-design/SKILL.md +71 -0
- package/skills/design-library/inclusive-interaction/skills/voice-interaction/SKILL.md +68 -0
- package/skills/design-library/visual-critique/skills/critique-affordance/SKILL.md +45 -0
- package/skills/design-library/visual-critique/skills/critique-brand-consistency/SKILL.md +42 -0
- package/skills/design-library/visual-critique/skills/critique-color/SKILL.md +44 -0
- package/skills/design-library/visual-critique/skills/critique-composition/SKILL.md +46 -0
- package/skills/design-library/visual-critique/skills/critique-information-density/SKILL.md +45 -0
- package/skills/design-library/visual-critique/skills/critique-typography/SKILL.md +45 -0
- package/skills/design-library/visual-critique/skills/critique-visual-hierarchy/SKILL.md +40 -0
- package/skills/feature-audit/EVALS.md +83 -0
- package/skills/feature-audit/SKILL.md +326 -0
- package/skills/harness/EVALS.md +81 -0
- package/skills/harness/SKILL.md +88 -0
- package/skills/i-have-adhd/EVALS.md +80 -0
- package/skills/i-have-adhd/SKILL.md +183 -0
- package/skills/no-ai-slop/EVALS.md +89 -0
- package/skills/no-ai-slop/SKILL.md +209 -0
- package/skills/no-ai-slop/eval.md +52 -0
- package/skills/plan-add/EVALS.md +79 -0
- package/skills/plan-add/SKILL.md +179 -0
- package/skills/plan-add/render_table.py +72 -0
- package/skills/plan-status/EVALS.md +78 -0
- package/skills/plan-status/SKILL.md +52 -0
- package/skills/plan-sync/EVALS.md +80 -0
- package/skills/plan-sync/SKILL.md +69 -0
- package/skills/pm-frameworks/SKILL.md +33 -0
- package/skills/pm-frameworks/SOURCE +39 -0
- package/skills/pm-frameworks/intended-vs-implemented/SKILL.md +42 -0
- package/skills/pm-frameworks/opportunity-solution-tree/SKILL.md +64 -0
- package/skills/ponytail/EVALS.md +80 -0
- package/skills/ponytail/SKILL.md +124 -0
- package/skills/product-analysis/EVALS.md +103 -0
- package/skills/product-analysis/SKILL.md +361 -0
- package/skills/research/EVALS.md +104 -0
- package/skills/research/SKILL.md +570 -0
- package/skills/rl-env/SKILL.md +53 -0
- package/skills/rl-env/SOURCE +41 -0
- package/skills/rl-env/generate-nemo-gym-env/SKILL.md +169 -0
- package/skills/rl-env/generate-nemo-gym-env/references/architecture.md +114 -0
- package/skills/rl-env/generate-openenv-env/SKILL.md +183 -0
- package/skills/rl-env/generate-openenv-env/references/architecture.md +82 -0
- package/skills/rl-env/generate-ors-env/SKILL.md +209 -0
- package/skills/rl-env/generate-ors-env/references/architecture.md +113 -0
- package/skills/rl-env/generate-verifiers-env/SKILL.md +188 -0
- package/skills/rl-env/generate-verifiers-env/references/architecture.md +119 -0
- package/skills/rl-env/rl-env-from-description/SKILL.md +124 -0
- package/skills/rl-env/rl-env-from-description/references/interview.md +75 -0
- package/skills/rl-env/rl-env-from-description/references/nemo_gym.md +41 -0
- package/skills/rl-env/rl-env-from-description/references/openenv.md +35 -0
- package/skills/rl-env/rl-env-from-description/references/ors.md +50 -0
- package/skills/rl-env/rl-env-from-description/references/verifiers.md +39 -0
- package/skills/tezgah-contract/EVALS.md +78 -0
- package/skills/tezgah-contract/SKILL.md +792 -0
- package/statusline.py +129 -0
- package/workflows/graph-impact.js +153 -0
- package/workflows/graph-map.js +158 -0
- package/workflows/graph-review.js +170 -0
|
@@ -0,0 +1,570 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research
|
|
3
|
+
description: >
|
|
4
|
+
Runs an auditable research line in the repository: the two-loop rhythm
|
|
5
|
+
(bootstrap, inner experiment loop, outer synthesis), the workspace that holds
|
|
6
|
+
its state, protocol-before-run so a prediction is provably older than its
|
|
7
|
+
results, a six-dimension review of the claims before they are reported, and a
|
|
8
|
+
provenance record of what the session decided. Use when a task's deliverable is
|
|
9
|
+
evidence rather than a code change: a literature or reference review, a
|
|
10
|
+
hypothesis to test, a comparison of variants, a benchmark or ablation, a
|
|
11
|
+
research report or figure, or when the user says "research", "investigate",
|
|
12
|
+
"araştır", "literatür", "hipotez", "deney", "ablation", "benchmark". Route the
|
|
13
|
+
execution through the OpenResearch CLI when it is installed. Do NOT use for
|
|
14
|
+
code discovery ("where is X", "who calls Y") - that is the code graph. Not for
|
|
15
|
+
a product question - use `product-analysis`.
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# research
|
|
19
|
+
|
|
20
|
+
A research task's deliverable is evidence. Everything here exists so that the
|
|
21
|
+
evidence survives the session that produced it: the state on disk, the protocol
|
|
22
|
+
committed before the run, the claims with their falsification criteria, and the
|
|
23
|
+
review that decided what the evidence actually supports.
|
|
24
|
+
|
|
25
|
+
## The engine: OpenResearch
|
|
26
|
+
|
|
27
|
+
Execution goes through the `orx` CLI when it is installed, never ad-hoc
|
|
28
|
+
scripting, and its cardinal rules are not style preferences - breaking one
|
|
29
|
+
silently invalidates the run:
|
|
30
|
+
|
|
31
|
+
- never edit a node once a run has answered it; branch a child instead,
|
|
32
|
+
- the run command and environment are a fixed contract identical on every node,
|
|
33
|
+
- vary the committed code/config, never CLI args or env knobs,
|
|
34
|
+
- grow the experiment tree downward, not sideways.
|
|
35
|
+
|
|
36
|
+
Load its manual before driving it: `orx skill`, then the module for the step
|
|
37
|
+
(`orx skill experiment-tree`, `orx skill lit-review`, `orx skill evidence`).
|
|
38
|
+
Local runs need no login; managed compute does - ask the user to run `orx login`.
|
|
39
|
+
If `orx` is absent, say the research tooling is unavailable and do not improvise
|
|
40
|
+
its protocol; the workspace below still applies to whatever you run instead.
|
|
41
|
+
|
|
42
|
+
The contract's research rule is armed by task class; the kill switch is
|
|
43
|
+
`research-off`.
|
|
44
|
+
|
|
45
|
+
## The workspace
|
|
46
|
+
|
|
47
|
+
One directory per research line, `<repo>/.tezgah/research/<slug>/`:
|
|
48
|
+
|
|
49
|
+
| Path | What it holds |
|
|
50
|
+
|---|---|
|
|
51
|
+
| `state.json` | the question, phase, direction, the locked evaluation (`metric`, `baseline`, `locked_at`, optional `environment`, and the optional two-gate pair `capability_tolerance` + `counter_metric`), the hypothesis list, `rules` (the rule set the line was opened under), `deliverable` (`kind`: design, plan, analysis, code or finding; `path`; `ask`, the ask's items one per entry; `min_variants`), and `supersedes` when it is a new version of an older line |
|
|
52
|
+
| `log.md` | the decision timeline: one line per decision, experiment, dead end or pivot, with the evidence that drove it |
|
|
53
|
+
| `findings.md` | `## What we know`, `## Patterns`, `## Lessons`, `## Open questions` |
|
|
54
|
+
| `claims.jsonl` | one claim per line: `statement`, `status`, `provenance`, `kind`, `falsification`, `proof`, `dependencies`, `scope` (what the claim's numbers were measured on, and it may not be wider than the rows it rests on), and `supersedes` when the claim replaces an earlier one - recorded with `tezgah-research claim <slug>`, never by editing the file |
|
|
55
|
+
| `experiments/<hypothesis>/` | `protocol.md`, `results.jsonl` (one JSON object per row, each carrying its `source`, its `scope` - what the numbers were measured on - and, when that scope is `fixture`, the `fixture` description of the input that was generated), `analysis.md`, and `raw/<runId>.log` for a run read back from the engine |
|
|
56
|
+
| `literature/` | one file per source, saved when you read it, not later, and each named by its row in `literature/INDEX.jsonl` - every file under it, at any depth and of any extension, is a source the index names |
|
|
57
|
+
| `decisions/<id>/` | one comparison of the deliverable's variants: `criteria.json`, `variants.jsonl`, `comparison.jsonl` and `decision.md` - see "Variants" below |
|
|
58
|
+
| `to_human/` | reports for the person paying for the research - `report.md`, whose findings state what the evidence does not show and the four validity threats - plus `review.json`, the six-dimension review by a second reader that every line holding a report owes |
|
|
59
|
+
|
|
60
|
+
The tree is worth only what git can see of it, and the project never sees it:
|
|
61
|
+
`.gitignore` holds `/.tezgah/`, and `.tezgah/` carries its own private git
|
|
62
|
+
repository (created at session start and by `init`). The commits the order rule
|
|
63
|
+
compares are made there, never in the project and never with `git add -f`:
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
~/.config/tezgah/bin/tezgah-research commit my-line "protocol h1" # before the run
|
|
67
|
+
# run it, append results.jsonl
|
|
68
|
+
~/.config/tezgah/bin/tezgah-research commit my-line "results h1" # a later commit
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
`git -C .tezgah add <path> && git -C .tezgah commit -m ...` is the same step by
|
|
72
|
+
hand. A line the project itself committed before it moved keeps its order proof
|
|
73
|
+
in the project's history; `check` reads the private history first, then that one.
|
|
74
|
+
It probes each experiment's `protocol.md` and `results.jsonl`, not the line's
|
|
75
|
+
directory, and reports a pair no repository can commit together with the command
|
|
76
|
+
that fixes it. `check --strict` refuses a pair that is still uncommittable.
|
|
77
|
+
|
|
78
|
+
Scaffold and check it with the CLI (`~/.config/tezgah/bin/tezgah-research`, or
|
|
79
|
+
`bin/tezgah-research` in the checkout):
|
|
80
|
+
|
|
81
|
+
```sh
|
|
82
|
+
~/.config/tezgah/bin/tezgah-research init my-line --ask "<the user's words>" --question "does X hold under Y?"
|
|
83
|
+
~/.config/tezgah/bin/tezgah-research commit my-line "<message>" # commit in .tezgah's repo
|
|
84
|
+
~/.config/tezgah/bin/tezgah-research check # open lines + done/ seals; 0 clean, 1 broken rule, 2 misuse
|
|
85
|
+
~/.config/tezgah/bin/tezgah-research check --all-lines # every line in full, done/ included
|
|
86
|
+
~/.config/tezgah/bin/tezgah-research check --strict # the unprovable becomes a refusal
|
|
87
|
+
~/.config/tezgah/bin/tezgah-research check --orx # the run command registered here
|
|
88
|
+
~/.config/tezgah/bin/tezgah-research status
|
|
89
|
+
~/.config/tezgah/bin/tezgah-research claim my-line # one JSON object on stdin
|
|
90
|
+
~/.config/tezgah/bin/tezgah-research migrate my-line [--dry-run]
|
|
91
|
+
~/.config/tezgah/bin/tezgah-research source my-line <hypothesis> --run <orxRunId> [--command "<cmd>"]
|
|
92
|
+
~/.config/tezgah/bin/tezgah-research import <other-checkout> my-line # move a line with its history
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
`claim` reads that object from stdin and appends it as one line: exit 0,
|
|
96
|
+
`claim <id> recorded` (just `claim recorded` when the object carries no `id`);
|
|
97
|
+
exit 1 with one `FAIL <slug>: <problem>` line per problem
|
|
98
|
+
and nothing written - including when `claims.jsonl` cannot be locked within a
|
|
99
|
+
second; exit 2 when the slug is missing or unknown, or stdin is not one JSON
|
|
100
|
+
object. It refuses a claim with no `kind`, a proof that names no artifact, and an
|
|
101
|
+
`orx:<runId>` with no `raw/<runId>.log` under the line or the repository: those
|
|
102
|
+
are the three a reader cannot repair later. It refuses a `supersedes` id no claim
|
|
103
|
+
in the line carries too - a relation to nothing is no relation - and it does not
|
|
104
|
+
require the field: a claim that corrects nothing simply leaves it out. Record a
|
|
105
|
+
claim with the command,
|
|
106
|
+
never by editing the file: a hand edit is an unlocked read-modify-write of the
|
|
107
|
+
file every claim of the line lives in, while the command appends under an
|
|
108
|
+
exclusive lock on that file and refuses rather than writing unlocked.
|
|
109
|
+
|
|
110
|
+
`migrate` derives what the artifacts already hold, for a line written before a
|
|
111
|
+
rule existed: each claim's `kind` from the files its proof names, each results
|
|
112
|
+
row's `source` from the fields the row already carries (`log` or `raw` is the
|
|
113
|
+
receipt itself, `run` or `id` is the run the row came out of), and the
|
|
114
|
+
`literature/INDEX.jsonl` rows from the notes. It rewrites both JSONL files under
|
|
115
|
+
the same lock `claim` uses, is idempotent, and prints every field it could not
|
|
116
|
+
derive - the row that carries none of the four fields, the id no note carries,
|
|
117
|
+
the verification nobody recorded, the inclusion decision only a reader can make -
|
|
118
|
+
rather than inventing one. `--dry-run` prints the same report and writes nothing.
|
|
119
|
+
|
|
120
|
+
`source` files one run as the experiment's receipt: it runs `orx logs <runId>`,
|
|
121
|
+
writes the log to `experiments/<hypothesis>/raw/<runId>.log`, and appends the row
|
|
122
|
+
`{"source": "orx:<runId>", "log": "raw/<runId>.log"}`. The experiment must already
|
|
123
|
+
have its `protocol.md` on disk; `source` does not check that it is committed, so
|
|
124
|
+
commit the protocol first yourself. Even then the order rule proves commit order,
|
|
125
|
+
not run order. Without orx it exits 2 and says so, and it writes nothing at all
|
|
126
|
+
when the run cannot be read.
|
|
127
|
+
|
|
128
|
+
`check` enforces the rules a session tends to skip: `protocol.md` committed
|
|
129
|
+
before `results.jsonl` - decided on the commit graph, so two commits inside the
|
|
130
|
+
same second or a rebase do not trip it, while a protocol *edited* after the
|
|
131
|
+
results is refused - a protocol that answers both questions it owes, **what it
|
|
132
|
+
predicts and what would falsify it** (a prediction word and a falsifier word
|
|
133
|
+
anywhere in the file, read as prose and not by shape; a sentence that *disclaims*
|
|
134
|
+
one - "this file is the brief, not a prediction", "no prediction is claimed for
|
|
135
|
+
it" - does not answer it), a falsification criterion and evidence on every claim,
|
|
136
|
+
a provenance tag on every claim, a `kind` on every claim with that kind's proof
|
|
137
|
+
rules behind it (`evidence` bound to a run with rows, `literature` to a note under
|
|
138
|
+
`literature/`, `code` to an artifact of the repository, `derivation` to something
|
|
139
|
+
the line itself holds, and every kind refused a proof that names no artifact at
|
|
140
|
+
all), a `supersedes` that names a claim the line does not hold, a results row that
|
|
141
|
+
parses and says where it came from, a literature note the index names and an index
|
|
142
|
+
row that names a note, the locked evaluation that a phase past `bootstrap`
|
|
143
|
+
requires, a session event tagged with where it came from, the `review.json` a
|
|
144
|
+
concluded line reports whose findings quote their target verbatim, an analysis for
|
|
145
|
+
every experiment, a findings file that answers all four questions, and a
|
|
146
|
+
`Patterns` bullet that names the claim, note or run it generalises from. It warns
|
|
147
|
+
rather than fails while the results are still uncommitted, because there is no
|
|
148
|
+
order to check yet.
|
|
149
|
+
|
|
150
|
+
Two classes of finding, and `--strict` decides between them. What the checker can
|
|
151
|
+
decide is an error and `check` exits 1. What it cannot decide is a warning: an
|
|
152
|
+
experiment path that is ignored, so the order rule has nothing to order; a
|
|
153
|
+
protocol that is a brief rather than a prediction, or that names no falsifier; a
|
|
154
|
+
grey source with no quality note; an evidence claim whose run recorded no row; a
|
|
155
|
+
claim written before `kind` existed, a results row written before `source` did, or
|
|
156
|
+
one written before `scope` did (what its numbers were measured on, reported once
|
|
157
|
+
per file with the count), or a `fixture` row that stops at the class and does not
|
|
158
|
+
name what was generated; a claim resting on a fixture row that declares no scope,
|
|
159
|
+
one over mixed rows that declares `real`, or one asserting a number its cited
|
|
160
|
+
artifacts do not contain; a claim that supersedes another (the relation is
|
|
161
|
+
reported, naming both ids, so the older claim is never read as current); an
|
|
162
|
+
unsourced `Patterns` bullet; a concluded line with no review,
|
|
163
|
+
or whose `report.md` names no limit, or carries a fixture-scoped claim and never
|
|
164
|
+
says so, or is not written yet.
|
|
165
|
+
Those are the honest state of a line mid-flight, and a session that wants a line
|
|
166
|
+
it can defend in a week runs `check --strict`, which refuses every one of them.
|
|
167
|
+
`check --orx` adds one more: the run command the orx project registered against
|
|
168
|
+
this repository holds, checked against the tree - a command naming a path that is
|
|
169
|
+
gone means the project's numbers have no reachable recipe.
|
|
170
|
+
|
|
171
|
+
Run it before reporting a result, and fix what it names.
|
|
172
|
+
|
|
173
|
+
### Evidence fidelity
|
|
174
|
+
|
|
175
|
+
A number that travelled through three summaries is no longer evidence. The same
|
|
176
|
+
rules the domain library enforces on a compiled artifact apply here:
|
|
177
|
+
|
|
178
|
+
- **Exact numbers, never rounded.** `0.8471` is a result; "about 85%" is a memory
|
|
179
|
+
of one. Round only in the sentence aimed at a human, and say what the raw value
|
|
180
|
+
was.
|
|
181
|
+
- **A derived view is not the source.** A filtered or merged table is a new file
|
|
182
|
+
named as derived, never presented as the run's own output.
|
|
183
|
+
- **Every result row carries its source** in `results.jsonl` - the run id, the
|
|
184
|
+
command or the node - and every recorded fact in `analysis.md` points at the row
|
|
185
|
+
it came from. One row is one JSON object on its own line; a file whose line three
|
|
186
|
+
is prose loads in nothing. When the source is a run the engine owns, file the log
|
|
187
|
+
with `tezgah-research source`, so the row and the receipt are written together
|
|
188
|
+
and the claim's `orx:<runId>` token resolves to something a reader can open.
|
|
189
|
+
- **An input is part of the evidence: every row declares its `scope`.** `real` (the
|
|
190
|
+
running system and its corpus), `fixture` (a temp HOME, a generated repository, a
|
|
191
|
+
hand-written sample) or `derived` (a table computed from other rows). `source`
|
|
192
|
+
says where a row came from; `scope` says what its numbers are *about*, and it
|
|
193
|
+
cannot be recovered afterwards - a probe run against a generated repository and a
|
|
194
|
+
measurement of the running system read identically once the run is over, which is
|
|
195
|
+
why the producer declares it and the checker refuses to guess. A fixture row also
|
|
196
|
+
names what was generated in `fixture` - `a temp HOME and a generated repository of
|
|
197
|
+
40 files` - because a class a reader cannot size is not an input they can weigh
|
|
198
|
+
(a row that stops at the class is a warning, and `--strict` refuses it). A claim
|
|
199
|
+
may not declare a wider scope than the rows it rests on (that is an error), a
|
|
200
|
+
claim resting on a fixture row must say `fixture` (that is a warning, and
|
|
201
|
+
`--strict` refuses it), and a claim over rows that mix says `fixture` too, since a
|
|
202
|
+
declaration is a warning to the reader and under-declaring is the safe direction.
|
|
203
|
+
`status` prints the fixture-scoped claims of every line, and the report of a
|
|
204
|
+
concluded line has to name them.
|
|
205
|
+
- **A number in a claim is in the artifact it cites.** The claim is the sentence a
|
|
206
|
+
reader keeps; a number in neither the claim's proof nor the claim is the one
|
|
207
|
+
thing a reader cannot check. `check` reports the numbers it cannot find, by count
|
|
208
|
+
(this is a warning, not a refusal: a proportion computed in the sentence is not a
|
|
209
|
+
fabrication, and 80 of this repository's own 82 numeric claims are contained under
|
|
210
|
+
the reading below). What it compares is a measurement: a date is read off the
|
|
211
|
+
statement first, a thousands separator is a rendering, so `20480` and an artifact
|
|
212
|
+
holding `20,480` agree, a comma is never part of a number - `4,2,2,1,1,2` is six
|
|
213
|
+
figures and not three decimals - and a number past the per-file reading window is
|
|
214
|
+
streamed for rather than called missing.
|
|
215
|
+
- **Wording cannot outrun the evidence type.** Validation metrics do not support
|
|
216
|
+
a claim about training dynamics; a correlation does not support a causal verb;
|
|
217
|
+
one seed does not support "always".
|
|
218
|
+
|
|
219
|
+
## The loop
|
|
220
|
+
|
|
221
|
+
**Bootstrap.** Search the literature with more than one source - `orx discover
|
|
222
|
+
keyword|embedding|openalex "<query>"` first, `orx paper <id>` to read one (the
|
|
223
|
+
`orx skill lit-review` module is the procedure) - save every source
|
|
224
|
+
to `literature/` as you go, identify the gap, form testable hypotheses (see
|
|
225
|
+
Ideation below), and lock the evaluation before running anything: the metric, the
|
|
226
|
+
baseline, the threshold. Write it into `state.json` and commit it before the first
|
|
227
|
+
results row - a criterion chosen after seeing results is not a criterion, and
|
|
228
|
+
`check` refuses a line whose first commit holding a metric and a baseline does not
|
|
229
|
+
precede the commit that added an experiment's `results.jsonl`, and a `locked_at`
|
|
230
|
+
naming a commit the history does not reach. It also reads that all three are set:
|
|
231
|
+
past `bootstrap` a line with an empty `metric`, `baseline` or `locked_at` is
|
|
232
|
+
refused, and at `bootstrap` it is warned about, which is the prompt to lock it
|
|
233
|
+
rather than a verdict. Add `environment` beside them when the numbers depend on one - the model,
|
|
234
|
+
the prompt, the harness - as an object, because a string records none of them.
|
|
235
|
+
|
|
236
|
+
**A second gate is available, and it is the one a harness change needs.** Beside
|
|
237
|
+
`metric`, `baseline` and `locked_at` you may write `capability_tolerance` - the
|
|
238
|
+
band the capability metric has to stay inside before a result counts, as the
|
|
239
|
+
sentence you will check it against, "capability metric within 0.02 of the
|
|
240
|
+
baseline" - and `counter_metric`, the name of the metric the change is supposed
|
|
241
|
+
to move. A candidate then has to pass **both** gates: inside the tolerance *and*
|
|
242
|
+
an improvement on the counter-metric, and survivors are compared against each
|
|
243
|
+
other on the Pareto frontier instead of by one number's sign. The pair is
|
|
244
|
+
optional: a line that locks one metric and no capability band omits both, and
|
|
245
|
+
that is what every line in this repository does; `check` refuses a field only
|
|
246
|
+
when it is written and names nothing (an empty string, a blank one, or a value of
|
|
247
|
+
the wrong type). Lock them at bootstrap with the rest of the criterion, because a
|
|
248
|
+
tolerance chosen after seeing the candidates is the same after-the-fact criterion
|
|
249
|
+
the missing-metric rule refuses - and state it as a number, not as "no worse",
|
|
250
|
+
since a band its own author set wide enough passes everything and the gate stops
|
|
251
|
+
being one.
|
|
252
|
+
|
|
253
|
+
Two things the two-gate form buys, both of them failures this layer has already
|
|
254
|
+
paid for. A candidate cannot buy its gain by moving the metric: the capability
|
|
255
|
+
tolerance is what stops an "improvement" that raised p95 or dropped accuracy, the
|
|
256
|
+
shape a single locked number cannot see. And it keeps the rule itself out of the
|
|
257
|
+
reach of the loop it judges: the two fields are read by `check`, which lives in
|
|
258
|
+
`hooks/tezgah_research.py`, a module the frozen set forbids a prediction's commit
|
|
259
|
+
to touch (`FROZEN_PATHS`) - so the gate a candidate survives is not machinery the
|
|
260
|
+
candidate can rewrite. What the fields cannot say is how wide the band may be:
|
|
261
|
+
the tolerance is the author's own sentence, and one set wide enough passes every
|
|
262
|
+
candidate, so write it as the number you would defend in the review.
|
|
263
|
+
|
|
264
|
+
Never write a citation from memory. Verify each one against two of Semantic
|
|
265
|
+
Scholar, CrossRef (DOI content negotiation), arXiv or OpenAlex, and put
|
|
266
|
+
`[CITATION NEEDED]` in the text rather than a plausible-looking reference that
|
|
267
|
+
does not exist - hallucinated references are the single most common defect in
|
|
268
|
+
agent-written research, and this repository has already shipped three literature
|
|
269
|
+
ids quoted in briefs before the notes existed. Then index the note: one
|
|
270
|
+
`literature/INDEX.jsonl` row per note and one note per row, with `note`, `id`,
|
|
271
|
+
`class`, `source`, `inclusion` and `verified` (the two records you checked it
|
|
272
|
+
against), plus `quality` for anything that is not a paper. A source is `formal`
|
|
273
|
+
when it is a paper record - a DOI, an arXiv id, a venue's own page - `grey`
|
|
274
|
+
otherwise: a vendor page, a product report, a tool's documentation - and
|
|
275
|
+
`agent-report` when it is a summary a subagent or scout wrote of what it read. An
|
|
276
|
+
agent report is kept and indexed, and it cannot alone carry a `literature` claim:
|
|
277
|
+
cite the note on the paper or page itself beside it. The grey
|
|
278
|
+
channel is allowed and often the only evidence a practice question has, so it is
|
|
279
|
+
labelled and judged (`quality`) rather than skipped, and a row that records it as
|
|
280
|
+
verified by fewer than two sources is reported: an unlabelled grey source is how a
|
|
281
|
+
marketing claim enters a findings file as a fact. `tezgah-research migrate` writes
|
|
282
|
+
the rows it can derive from the notes already saved and tells you which fields
|
|
283
|
+
they do not carry.
|
|
284
|
+
|
|
285
|
+
**Inner loop.** One hypothesis at a time:
|
|
286
|
+
|
|
287
|
+
1. Write `protocol.md`: what changes, what it predicts, why, and what result would
|
|
288
|
+
falsify it. **Commit it before the run.** That commit is the temporal proof that
|
|
289
|
+
the prediction came first, and `check` verifies it against the commit graph -
|
|
290
|
+
editing the protocol after the results are in is refused, not silently allowed.
|
|
291
|
+
It also reads the file. A line `init` opens now carries `"rules": 4`, and its
|
|
292
|
+
protocol declares its answers as `key: value` labels at column 0 (keys in any
|
|
293
|
+
case; a value continues on the indented or `- ` lines under it, up to a blank
|
|
294
|
+
line or the next column-0 line). Headings and prose around them are not read:
|
|
295
|
+
|
|
296
|
+
```text
|
|
297
|
+
prediction: prompt tokens per turn drop by a third over seven runs
|
|
298
|
+
falsifier: prompt tokens per turn hold flat or rise
|
|
299
|
+
headroom: 40% of each prompt repeats the previous turn
|
|
300
|
+
metric: prompt tokens per turn
|
|
301
|
+
unit: tokens per turn
|
|
302
|
+
tokenizer: tiktoken cl100k_base
|
|
303
|
+
bound: a file is counted once per session, at most 8 files per call
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
`check` refuses the protocol when `prediction:`, `falsifier:`, `metric:` or
|
|
307
|
+
`unit:` is empty, or when the prediction and falsifier say the same thing. It
|
|
308
|
+
refuses it when `headroom:` is missing. Write the headroom before any arm runs:
|
|
309
|
+
the most the change could move. A survey with no arms writes `headroom: n/a,
|
|
310
|
+
<why>`. A headroom with no nonzero number that reads as none (`none`, `0%`,
|
|
311
|
+
`0 ms`, `negligible`, `no gain`) refuses the results filed after it.
|
|
312
|
+
`tokenizer:` and `bound:` (the under-reporting bound) are owed exactly when
|
|
313
|
+
`unit:` counts tokens: a token word (`token`, `tokens`, `tok`, `toks`,
|
|
314
|
+
`ktokens`) before the first `per`, unless that part ends in a time word
|
|
315
|
+
(`token latency ms`). `prompt tokens per turn` and `input_tokens` owe them,
|
|
316
|
+
and `unit: ms` owes neither, whatever the metric says. An `evidence`
|
|
317
|
+
claim citing a tokens-unit experiment is refused while they are empty. A
|
|
318
|
+
line opened before rules 4 keeps the word rule: it warns when no prediction or
|
|
319
|
+
falsifier word appears (P2: a protocol whose whole body was "run it"), and
|
|
320
|
+
`--strict` refuses it.
|
|
321
|
+
2. Run it through the engine.
|
|
322
|
+
3. Sanity-check the run before trusting it (converged, no NaN, baseline
|
|
323
|
+
reproduces, the input is what you think it is).
|
|
324
|
+
4. Record the raw result in `results.jsonl` with its `source`, then write what it
|
|
325
|
+
means in `analysis.md`. Label each outcome CONFIRMATORY (predicted by the
|
|
326
|
+
protocol) or EXPLORATORY (noticed during the run). A run the engine owns is
|
|
327
|
+
recorded with `tezgah-research source <slug> <hypothesis> --run <orxRunId>`,
|
|
328
|
+
which files the log under `raw/` and appends the row that names it. Rows are
|
|
329
|
+
append-only once committed: a correction is a new row, and `check` refuses a
|
|
330
|
+
committed row changed or removed afterwards (a line opened before `rules`
|
|
331
|
+
existed is warned instead, like every rule of this rule set).
|
|
332
|
+
5. A negative result is a result: record what it rules out. When the line locked
|
|
333
|
+
the two-gate pair (Bootstrap above), a run is a survivor only when it is inside
|
|
334
|
+
the `capability_tolerance` **and** moves the `counter_metric`, and survivors are
|
|
335
|
+
compared against each other on the Pareto frontier rather than by one number's
|
|
336
|
+
sign - a candidate that bought its gain by moving the capability metric has not
|
|
337
|
+
passed, whatever its headline number did.
|
|
338
|
+
|
|
339
|
+
**Outer loop.** Every few experiments, stop and synthesise: cluster the outcomes,
|
|
340
|
+
ask why the successes and failures happened, update `findings.md`, then choose a
|
|
341
|
+
direction in `state.json` - `deepen`, `broaden`, `pivot` or `conclude` - and say
|
|
342
|
+
why in `log.md`. Non-linearity is normal: return to the literature when results
|
|
343
|
+
surprise you, and pivot when the evidence kills the original question.
|
|
344
|
+
|
|
345
|
+
**Conclude.** Sufficient support for at least one hypothesis (or a coherent set of
|
|
346
|
+
negative results), key ablations done, and `findings.md` readable enough that a
|
|
347
|
+
human could write the abstract from it.
|
|
348
|
+
|
|
349
|
+
## Domain execution: the shipped library
|
|
350
|
+
|
|
351
|
+
The contract ships the domain knowledge this loop needs, vendored from Orchestra
|
|
352
|
+
Research's `AI-research-SKILLs` as one tezgah skill: `skills/ai-research/`. Read
|
|
353
|
+
its `index/<stage>.md` - `1-frame`, `2-data`, `3-train`, `4-measure`, `5-run`,
|
|
354
|
+
`6-write` - then the single entry the work needs, then that entry's
|
|
355
|
+
`references/`. Never read the tree.
|
|
356
|
+
|
|
357
|
+
Reach for it when the experiment needs ML machinery: training or fine-tuning,
|
|
358
|
+
serving or quantizing, a benchmark harness, model internals, retrieval or agent
|
|
359
|
+
pipelines, run tracking, or writing the result up. The index flags say which
|
|
360
|
+
bodies upstream generated from scraped docs (**generated**: thin, do not treat as
|
|
361
|
+
a workflow) or left naming a superseded API (**stale-api**).
|
|
362
|
+
|
|
363
|
+
The library is domain advice, never a substitute for this loop: its recipes do not
|
|
364
|
+
override the locked metric, the committed protocol, a claim's falsification
|
|
365
|
+
criterion, or the review below. Anything it recommends that touches a paid
|
|
366
|
+
account, a cluster or the user's data still needs the user's yes first.
|
|
367
|
+
|
|
368
|
+
## Ideation
|
|
369
|
+
|
|
370
|
+
When the hypotheses are weak or the run is stuck, generate instead of grinding.
|
|
371
|
+
Pick the move that matches the state you are in:
|
|
372
|
+
|
|
373
|
+
| State | Move |
|
|
374
|
+
|---|---|
|
|
375
|
+
| "I don't know what to look at" | hunt tensions: where do two results, papers or constraints contradict each other? |
|
|
376
|
+
| "I have an idea, is it good?" | apply the kill criteria below before spending a run on it |
|
|
377
|
+
| "the run is stuck" | name the hidden constraint and drop it (see below) |
|
|
378
|
+
| "the results are surprising" | re-derive the assumption they break, then go back to the literature |
|
|
379
|
+
|
|
380
|
+
- **Diverge first**: list candidate mechanisms and framings without judging them.
|
|
381
|
+
- **Expose a hidden constraint**: list the constraints of the current approach and
|
|
382
|
+
classify them hard (physically necessary), soft (convention) or hidden (never
|
|
383
|
+
stated). The most productive move in the library's whole ideation set is
|
|
384
|
+
dropping a *hidden* one - "training needs labels", "inference is one pass",
|
|
385
|
+
"the metric must be a scalar".
|
|
386
|
+
- **Force distance**: what would the neighbouring field call this problem, and
|
|
387
|
+
what would it try first? Keep the mapping structural (mechanisms transfer), not
|
|
388
|
+
verbal (labels transfer).
|
|
389
|
+
- **Bisociate**: combine two known things before inventing a third, then check
|
|
390
|
+
that the combination predicts something testable.
|
|
391
|
+
- **Kill criteria**, applied before a run is spent: cannot be explained in two
|
|
392
|
+
sentences; the problem is not the one being solved; it needs machinery the line
|
|
393
|
+
does not have; no result would change anyone's mind; the answer would only
|
|
394
|
+
confirm what is already known.
|
|
395
|
+
- **Converge**: keep what is testable with a clear prediction inside the budget,
|
|
396
|
+
drop the rest, and say in `log.md` what was dropped and why.
|
|
397
|
+
|
|
398
|
+
## Review before reporting
|
|
399
|
+
|
|
400
|
+
Evidence does not review itself. Before a claim leaves the session, score it on
|
|
401
|
+
six dimensions and write the findings, most severe first, each with a **verbatim
|
|
402
|
+
quote** from the artifact - a finding that cannot quote its evidence is not a
|
|
403
|
+
finding:
|
|
404
|
+
|
|
405
|
+
| Dimension | The question |
|
|
406
|
+
|---|---|
|
|
407
|
+
| Evidence relevance | does the cited run actually support what the claim says, in substance? |
|
|
408
|
+
| Falsifiability | could an independent person run the stated criterion and get a yes/no? |
|
|
409
|
+
| Scope calibration | does the claim assert exactly what the evidence covers, no more, no less? Nothing answers this better than the rows' own `scope` field, which is why it is a field and not a reading: a claim reading the same rows as the running system when they say `fixture` is the failure this dimension names. |
|
|
410
|
+
| Argument coherence | does the story run observation → gap → insight → solution → claim → evidence? |
|
|
411
|
+
| Exploration integrity | are the dead ends and pivots recorded honestly, or does the tree read as post-hoc justification? |
|
|
412
|
+
| Methodological rigour | baselines, ablations, variance, runs, and a metric that measures the claim |
|
|
413
|
+
|
|
414
|
+
**Score each dimension 1-5** and report the mean, with the anchors, so two
|
|
415
|
+
sessions' reviews are comparable rather than two private opinions:
|
|
416
|
+
|
|
417
|
+
| Score | Meaning |
|
|
418
|
+
|---|---|
|
|
419
|
+
| 5 | nothing material missing for this dimension |
|
|
420
|
+
| 4 | strong, one minor gap |
|
|
421
|
+
| 3 | adequate, with a gap a reviewer would raise |
|
|
422
|
+
| 2 | significant gap that undermines a claim |
|
|
423
|
+
| 1 | the dimension is not addressed at all |
|
|
424
|
+
|
|
425
|
+
Mean ≥4.5 with no dimension below 3 reads as accept; ≥3.8 as weak accept; ≥3.0 as
|
|
426
|
+
revise; below that, or any dimension at 1, as reject. The grade is the summary,
|
|
427
|
+
never the finding: a claim with a critical finding does not ship because the mean
|
|
428
|
+
is high, and a null result is not softened to improve the mean.
|
|
429
|
+
|
|
430
|
+
For every claim, the type decides what evidence it needs: a **causal** claim
|
|
431
|
+
("X causes Y") needs an isolating ablation, a **generalization** claim needs
|
|
432
|
+
heterogeneous conditions, an **improvement** claim needs a baseline from the same
|
|
433
|
+
harness, a **descriptive** claim needs representative sampling, and a **scoping**
|
|
434
|
+
claim needs declared bounds. A mismatch there is a finding even when the cited run
|
|
435
|
+
is real.
|
|
436
|
+
|
|
437
|
+
Severity: `critical` (the claim cannot stand as written), `major`, `minor`,
|
|
438
|
+
`suggestion`. Write each finding with the file it targets, the entity it targets
|
|
439
|
+
(`C03`, run id, node), the verbatim span, then what you observed, why it matters,
|
|
440
|
+
and what would fix it. Report the per-dimension score and the severity-ranked
|
|
441
|
+
findings; state plainly what the evidence does not show - in `to_human/report.md`,
|
|
442
|
+
because that is the file `check` reads once the phase is `concluded`: a report
|
|
443
|
+
that names no limit anywhere warns, one that was never written warns with that
|
|
444
|
+
reason, and `--strict` refuses both. The report also names the four validity
|
|
445
|
+
threats, each on a line that says `validity`: internal (what could bias the
|
|
446
|
+
result), external (where it stops generalising), construct (whether the measure is
|
|
447
|
+
the thing asked) and conclusion (whether the numbers carry the conclusion); a
|
|
448
|
+
report missing any warns. These report and review rules apply once
|
|
449
|
+
`to_human/report.md` exists or `direction` is `conclude`, whatever `phase` says: a
|
|
450
|
+
line that ships its report and stays at `outer` is still owed them. Do not soften a null
|
|
451
|
+
result, and do not promote an exploratory finding to confirmatory after the fact.
|
|
452
|
+
|
|
453
|
+
The review is an artifact, not a paragraph in the session that wrote it: a
|
|
454
|
+
concluded line writes `to_human/review.json` with `dimensions` (the six keys
|
|
455
|
+
above, each an integer 1-5) and `findings[]` (each with `severity`, `target` and a
|
|
456
|
+
`quote` that occurs **verbatim** in the file it targets). `check` refuses a review
|
|
457
|
+
missing a dimension or scoring outside 1-5, because two reviews only compare if
|
|
458
|
+
they answer the same six questions on the same scale, and it refuses a finding
|
|
459
|
+
whose quote is not in its target - a finding that cannot quote its evidence is not
|
|
460
|
+
a finding. It reports a line with a report and no review at all, and `--strict`
|
|
461
|
+
refuses it: a review is a judgement, so nothing can migrate one into existence.
|
|
462
|
+
The review names its `producer` (the session that wrote the line) and its
|
|
463
|
+
`reviewer`, and they differ - a line graded by the session that wrote it is not
|
|
464
|
+
reviewed, so run the review as a fresh subagent or a `consult`. `findings: []`
|
|
465
|
+
warns and `--strict` refuses it, and a review scoring `exploration_integrity` or
|
|
466
|
+
`methodological_rigour` above 3 while `check` refuses the line's order is refused.
|
|
467
|
+
|
|
468
|
+
Every item of `deliverable.ask` is answered: its text or its id (`A1`, `A2`, ...
|
|
469
|
+
in order) appears in `report.md`, a `decision.md` or a claim's `trace`, or the
|
|
470
|
+
report says `A<n> not delivered: <reason>`. A line that delivers the report
|
|
471
|
+
answering three of four asks is refused, because it reads as a complete answer.
|
|
472
|
+
A claim resting only on judged rows (rows carrying a `rater`) from one rater warns
|
|
473
|
+
and `--strict` refuses it; two raters at least, and state their agreement.
|
|
474
|
+
|
|
475
|
+
## Variants
|
|
476
|
+
|
|
477
|
+
A deliverable a reader acts on - a design, a plan, an analysis, code - is not one
|
|
478
|
+
version redone until it looks right. Serial versions fixate on the first option
|
|
479
|
+
and a design shown alone gets inflated ratings (Dow et al. 2010, Tohidi et al.
|
|
480
|
+
2006). Produce at least three variants (two for `code`; `min_variants` in
|
|
481
|
+
`deliverable`, and below the default only with a `single_variant_reason`) and
|
|
482
|
+
compare them under criteria fixed first, in `decisions/<id>/`:
|
|
483
|
+
|
|
484
|
+
| File | What it holds |
|
|
485
|
+
|---|---|
|
|
486
|
+
| `criteria.json` | `question`, `baseline_variant` (V0, the status quo or current design) and `criteria[]`, each with `id` (`K1`), `name`, `kind` (`measured` or `judged`), `direction` (`max`, `min` or `pass`), optional `threshold` and `guardrail` |
|
|
487
|
+
| `variants.jsonl` | one row per variant: `id`, `title`, `artifact` (a path in the line or the repository, `git:<branch>` or `orx:<expId>`), `status` (`produced` or `dropped` with `drop_reason`), and `line` when it is an older line's deliverable |
|
|
488
|
+
| `comparison.jsonl` | one row per cell: `variant`, `criterion`, `value` with its `source`, or `not_checked` with the reason; `rater` on a judged cell. Append with `tezgah-research compare <slug> <id>` (one JSON object on stdin), which refuses what `check` refuses |
|
|
489
|
+
| `decision.md` | `chosen: V2`, one line per rejected id naming the criterion id that ruled it out, and `flip:` - the result that would reverse the choice |
|
|
490
|
+
|
|
491
|
+
`check` refuses: fewer produced variants than the deliverable takes; two produced
|
|
492
|
+
files with the same content (a renamed copy is not an alternative); `criteria.json`
|
|
493
|
+
not committed before the first `comparison.jsonl` commit; a comparison row changed
|
|
494
|
+
after it was committed; a missing cell once `decision.md` exists or the line is
|
|
495
|
+
delivering; a `chosen` that is not a produced variant, a rejected variant with no
|
|
496
|
+
criterion, no `flip:`; and a chosen variant another one beats or ties on every
|
|
497
|
+
numeric criterion. A judged cell with fewer than two raters warns (`--strict`
|
|
498
|
+
refuses). A design, plan or analysis with no `decisions/` warns while the line
|
|
499
|
+
runs, is refused once it delivers, and keeps the line open.
|
|
500
|
+
|
|
501
|
+
When the variants are code or config, they are sibling orx nodes under one head
|
|
502
|
+
node (orx cardinal rule 4: fan within a round, then descend onto the winner), and
|
|
503
|
+
each row points at `orx:<expId>`. A new version of an existing line is opened with
|
|
504
|
+
`init --supersedes <old>`, and one of its variants carries the old line's
|
|
505
|
+
deliverable (`"line": "<old>"`); `init` refuses a line asking an existing line's
|
|
506
|
+
question without it, and `check` refuses a line sharing another's
|
|
507
|
+
`deliverable.path` that does not supersede it.
|
|
508
|
+
|
|
509
|
+
A line that cannot finish is closed on purpose: `tezgah-research close <slug>
|
|
510
|
+
--limit "<what is left and why>"` concludes it, writes the reasons it was still open
|
|
511
|
+
into `state.json` `closed` and `log.md`, seals its experiments' file hashes
|
|
512
|
+
(`order_seal`), and stops it counting as open; `conclude` seals the same
|
|
513
|
+
way, and an edit after the seal fails `check`. The no-slug `check` reads a done
|
|
514
|
+
line by its seal alone and counts it on one line; its other errors show in
|
|
515
|
+
`check <slug>` and `check --all-lines`. `init --allow-open` is refused
|
|
516
|
+
while an open line has `check` errors. A line moves to another checkout with
|
|
517
|
+
`import`, never as a copy: a copy loses the order proof.
|
|
518
|
+
|
|
519
|
+
Finally, a `## Patterns` bullet names what it generalises from - a claim id, a
|
|
520
|
+
`literature/` note or a run - because a pattern is the one finding a reader carries
|
|
521
|
+
into other work, and one that names nothing is a guess wearing a finding's
|
|
522
|
+
clothes. `check` reports the unsourced bullets of a line by count; `--strict`
|
|
523
|
+
refuses them.
|
|
524
|
+
|
|
525
|
+
## Figures and reports
|
|
526
|
+
|
|
527
|
+
`to_human/` is for the person paying for the research; it is a report, not a log
|
|
528
|
+
dump. One insight per section, the trajectory chart early (metric against run
|
|
529
|
+
number, baseline drawn as a horizontal line, jumps annotated with what changed),
|
|
530
|
+
and axes labelled with units. For a figure: a step axis is a line chart, N methods
|
|
531
|
+
across M benchmarks is a grouped bar, a matrix is a heatmap, and a pie chart is
|
|
532
|
+
almost never the answer. Export PDF for anything with numerical axes (vector, and
|
|
533
|
+
it survives a zoom), PNG only for a generated diagram; use a colourblind-safe
|
|
534
|
+
palette rather than the default cycle; and size for the venue's column width when
|
|
535
|
+
the figure is headed into a paper. The library's `index/6-write.md` entries carry
|
|
536
|
+
the full rules when a line reaches that stage.
|
|
537
|
+
|
|
538
|
+
## Provenance, at the end of the session
|
|
539
|
+
|
|
540
|
+
Research is a sequence of decisions, and the next session does not remember them.
|
|
541
|
+
Before finishing, append to `log.md` and update `state.json.sessions` with the
|
|
542
|
+
events of this session, each tagged with where it came from:
|
|
543
|
+
|
|
544
|
+
| Tag | When |
|
|
545
|
+
|---|---|
|
|
546
|
+
| `user` | the user stated or confirmed it |
|
|
547
|
+
| `ai-suggested` | you inferred it and nobody confirmed it |
|
|
548
|
+
| `ai-executed` | you ran it or wrote it |
|
|
549
|
+
| `user-revised` | you suggested it and the user corrected it |
|
|
550
|
+
|
|
551
|
+
Default to `ai-suggested` when unsure - never tag an inference as `user`. Record
|
|
552
|
+
decisions, experiments, dead ends, pivots and new claims; skip routine reads,
|
|
553
|
+
formatting and installs. Each entry is an object carrying the `date` and the `tag`
|
|
554
|
+
beside what happened - `{"date": "2026-09-20", "tag": "ai-executed", "what":
|
|
555
|
+
"..."}` - and `check` refuses an entry that is not an object, carries a tag
|
|
556
|
+
outside the four above, or records nothing that happened; the older shape that
|
|
557
|
+
keeps the entries of one date in an `events` list is read too, and its events must
|
|
558
|
+
each carry a tag the same way. A session that ends without this leaves the next
|
|
559
|
+
one guessing, which is the failure this whole workspace exists to prevent.
|
|
560
|
+
|
|
561
|
+
## Where this comes from
|
|
562
|
+
|
|
563
|
+
The two-loop rhythm, the workspace layout and the six review dimensions adapt the
|
|
564
|
+
orchestration layer of Orchestra Research's MIT-licensed `AI-research-SKILLs`
|
|
565
|
+
library (its `autoresearch`, `ara-rigor-reviewer` and `ara-research-manager`
|
|
566
|
+
skills) to tezgah's contract: the execution engine here is OpenResearch, the
|
|
567
|
+
reporting language is the contract's, the checks are `tezgah-research`'s own, and
|
|
568
|
+
nothing is copied verbatim. The scoring anchors, the finding record, the citation
|
|
569
|
+
workflow and the figure rules come from the same library, which now ships whole
|
|
570
|
+
under the `ai-research` skill.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rl-env
|
|
3
|
+
description: >
|
|
4
|
+
Use when the task is to build, port or reason about an RL training environment
|
|
5
|
+
- the vendored FineEnvs set for authoring one across OpenEnv (HTTP + MCP,
|
|
6
|
+
Hugging Face), OpenReward / ORS (a reward with each tool call), Verifiers
|
|
7
|
+
(Prime Intellect, in-process tools and rubrics) and NeMo Gym (HTTP plus a
|
|
8
|
+
post-episode /verify grader), with the orchestrator that interviews the user
|
|
9
|
+
and ports one description across all four, including prompts like "make an env
|
|
10
|
+
where the agent does X" or "wrap my game in OpenEnv". Read one entry, never
|
|
11
|
+
the tree.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# rl-env: authoring an RL environment
|
|
15
|
+
|
|
16
|
+
Five upstream skills, vendored byte-for-byte from FineEnvs at the revision
|
|
17
|
+
`SOURCE` names (Apache-2.0; the repository's root `NOTICE` records what changed,
|
|
18
|
+
which is nothing but the vendoring itself). They are instructions, not
|
|
19
|
+
machinery: nothing here trains a model or runs a rollout.
|
|
20
|
+
|
|
21
|
+
## What this repository does not have
|
|
22
|
+
|
|
23
|
+
An environment is a server, a task set and a reward; a trainer is a separate
|
|
24
|
+
thing that tezgah never owns (`docs/layers.md`). So this skill hands the user a
|
|
25
|
+
runnable environment, not a trained model: the job that consumes one needs a GPU,
|
|
26
|
+
a sandbox provider and an inference server. On this machine that job belongs to
|
|
27
|
+
`orx`, whose `hf` backend is configured and enabled but is not the default
|
|
28
|
+
(`local` is) - `orx compute status` says which backends are configured and which
|
|
29
|
+
one a run gets when it names none. Name that cost to the user before scaffolding
|
|
30
|
+
anything, and never claim a training result this skill cannot produce.
|
|
31
|
+
|
|
32
|
+
## Read one entry, never the tree
|
|
33
|
+
|
|
34
|
+
| Entry | What it produces |
|
|
35
|
+
|---|---|
|
|
36
|
+
| `rl-env-from-description/SKILL.md` | The orchestrator: a clarifying interview (`references/interview.md`), then the same description ported to all four frameworks - start here unless the user has already named a framework |
|
|
37
|
+
| `generate-openenv-env/SKILL.md` | OpenEnv (Hugging Face): HTTP + MCP, tools discovered through `list_tools()`, an optional Gradio UI, a Docker container or HF Space at the end |
|
|
38
|
+
| `generate-ors-env/SKILL.md` | OpenReward (ORS): HTTP + REST + SSE, a reward inline with each tool call instead of after the episode, task-spec sessions, train/val/test splits |
|
|
39
|
+
| `generate-verifiers-env/SKILL.md` | Verifiers (Prime Intellect): in-process tools with no HTTP server, composable rubrics, the shortest path from a prototype to a TRL `GRPOTrainer` |
|
|
40
|
+
| `generate-nemo-gym-env/SKILL.md` | NeMo Gym (NVIDIA): tools as `app.post()` endpoints with cookie sessions, a post-episode `/verify` grader, Ray-based orchestration |
|
|
41
|
+
|
|
42
|
+
Each of the four ports ships its own `references/architecture.md`; the
|
|
43
|
+
orchestrator ships one reference per framework beside its interview notes. The
|
|
44
|
+
framework whose shape matches the user's existing trainer is the one to pick, and
|
|
45
|
+
the four are not interchangeable - the orchestrator's own table says which is
|
|
46
|
+
right for what.
|
|
47
|
+
|
|
48
|
+
## Provenance
|
|
49
|
+
|
|
50
|
+
`SOURCE` carries the upstream revision, the per-file sha256 of every vendored
|
|
51
|
+
body, and the fact that nothing but the vendoring changed. Re-vendoring means
|
|
52
|
+
re-running the checkout and the table, never editing a vendored file in place:
|
|
53
|
+
an edited body is no longer the method `SOURCE` records.
|