@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
package/docs/README.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# tezgah docs
|
|
2
|
+
|
|
3
|
+
Tezgah arms every AI coding assistant you run with one working contract, inside
|
|
4
|
+
the repository roots you configure. These pages are the engineering layer of
|
|
5
|
+
this repository. The [README](../README.md) explains the
|
|
6
|
+
tool to someone deciding whether to install it; `AGENTS.md` says how to check a
|
|
7
|
+
change; these pages explain how the thing actually works, so a session does not
|
|
8
|
+
have to re-derive it by reading 55 Python files. Every page is written for one
|
|
9
|
+
reader with one question in mind, and every non-obvious claim in it carries a
|
|
10
|
+
citation you can open: `path::symbol` into Python code, `path:line` elsewhere.
|
|
11
|
+
|
|
12
|
+
## Start here
|
|
13
|
+
|
|
14
|
+
| You are | Read |
|
|
15
|
+
|---|---|
|
|
16
|
+
| an agent mid-task, before touching a rule or a host | [contract](contract.md), then [hosts](hosts.md) |
|
|
17
|
+
| a user in the first session after installing | the [README install section](../README.md#install) (what changed on your machine), then `tezgah-setup --report --live` (every host's hooks run and its gate denies), then [contract](contract.md) for what the session is told |
|
|
18
|
+
| an agent that has to decide whether something is safe to do | [gate](gate.md), [evidence](evidence.md) |
|
|
19
|
+
| a maintainer adding a rule, a host or a mark | [architecture](architecture.md), then the page of the thing you are adding |
|
|
20
|
+
| someone debugging what a session was actually told | [contract](contract.md), [status-line](status-line.md) |
|
|
21
|
+
| someone releasing or repairing an install | [operations](operations.md), [environment](environment.md) |
|
|
22
|
+
| new to the repository | [architecture](architecture.md), then [glossary](glossary.md) |
|
|
23
|
+
|
|
24
|
+
## The questions this layer answers
|
|
25
|
+
|
|
26
|
+
| Question | Page |
|
|
27
|
+
|---|---|
|
|
28
|
+
| Why does this exist, and what are its layers? | [architecture](architecture.md) |
|
|
29
|
+
| What runs when, from session start to Stop? | [architecture](architecture.md) |
|
|
30
|
+
| Which layer is tezgah, and which sense of "harness" is which? | [layers](layers.md) |
|
|
31
|
+
| What is a session told, and how is a rule disarmed? | [contract](contract.md) |
|
|
32
|
+
| Why was my command denied? | [gate](gate.md) |
|
|
33
|
+
| What is recorded, and what stops an unverified "done"? | [evidence](evidence.md) |
|
|
34
|
+
| What does each status mark mean? | [status-line](status-line.md) |
|
|
35
|
+
| What is the judgement seam, who may call it and how is it switched off? | [judge](judge.md) |
|
|
36
|
+
| Which model runs which subagent, and how does `tezgah-route` pick one? | [models](models.md) |
|
|
37
|
+
| Where does a research line live, and what does `tezgah-research check` refuse? | [research](research.md) |
|
|
38
|
+
| What does each host get, and what can it observe? | [hosts](hosts.md) |
|
|
39
|
+
| Which skills ship, and how does one reach a host? | [skills](skills.md) |
|
|
40
|
+
| How is one feature audited across its layers, and what does a capability change need to carry? | [feature-audit](feature-audit.md) |
|
|
41
|
+
| How do I check a change, and how do I test it? | [testing](testing.md) |
|
|
42
|
+
| How do I install, upgrade or repair this? | [operations](operations.md) |
|
|
43
|
+
| Which environment variables does tezgah read, and what does each change? | [environment](environment.md) |
|
|
44
|
+
| What does this word mean here? | [glossary](glossary.md) |
|
|
45
|
+
| How is a session meant to run, and what does each tier cost? | [vision](vision.md) |
|
|
46
|
+
|
|
47
|
+
## How these pages are written
|
|
48
|
+
|
|
49
|
+
- English. The READMEs are the only translated surface.
|
|
50
|
+
- A page opens with what it is, who reads it and when; it ends with
|
|
51
|
+
`## Source of truth`, the files it documents, so a reader can re-verify it
|
|
52
|
+
after a change.
|
|
53
|
+
- A non-obvious claim carries a citation. A claim nobody can point at does not
|
|
54
|
+
belong on a page: delete it rather than soften it.
|
|
55
|
+
- Code in a Python file is cited by symbol: `path::name` for a top-level def,
|
|
56
|
+
class or assignment, `path::Class.method` or `path::outer.inner` for a nested
|
|
57
|
+
one (`hooks/tezgah_gate.py::decision`). It carries no line number, so an edit
|
|
58
|
+
that moves code above or inside the symbol moves no citation. The sentence says
|
|
59
|
+
which part of the symbol it means. Everything else stays `path:line`: a
|
|
60
|
+
JavaScript, TypeScript, JSON, YAML or Markdown target, module-level code outside
|
|
61
|
+
every def and class, and a range across several symbols. Never name a symbol
|
|
62
|
+
that does not contain what the sentence cites.
|
|
63
|
+
- `bin/tezgah-docs --citations` checks both forms. It reads every page under `docs/`
|
|
64
|
+
and the comments and docstrings of the Python code. A string literal, such as a
|
|
65
|
+
fixture or a captured output, is data and is not read. A symbol citation is
|
|
66
|
+
resolved against the AST of the file it names. It fails when that file defines
|
|
67
|
+
no such name. A name without a dot may also name the one method of that name
|
|
68
|
+
in a class. That is how a test pin names its test. A def local to a function
|
|
69
|
+
never stands in for it. A `path:line` with a symbol named
|
|
70
|
+
before it, or right after it in parentheses, must point inside that symbol's
|
|
71
|
+
body. A bare file name means the one code file of that name. The suite also
|
|
72
|
+
checks that a cited file exists and that a cited line is inside it
|
|
73
|
+
(`tests/test_docs.py`). Whether a line still *shows the thing the sentence names*
|
|
74
|
+
is a judgement, not a regex. So a `path:line` with no symbol beside it is left
|
|
75
|
+
unjudged rather than guessed at. So is a `path:N` the pattern cannot read
|
|
76
|
+
(unquoted, or a comma list), but it is counted.
|
|
77
|
+
On this tree, 2026-10-06: 996 judged (995 of them symbol citations), 577 not
|
|
78
|
+
judgeable, 85 of those unreadable.
|
|
79
|
+
The unjudged count is a ratchet. `docs/citations-baseline.json` holds each file's
|
|
80
|
+
count, and a file above or below it fails. Only `--citations --update` rewrites
|
|
81
|
+
it, so CI never writes it. The same pass checks the rule ledger and three inventories read
|
|
82
|
+
by AST: the gate's rule headings and switches ([gate](gate.md)), the judge's
|
|
83
|
+
callers ([judge](judge.md)), and the kill-switch names. CI runs it, and it exits
|
|
84
|
+
non-zero on any of them.
|
|
85
|
+
- Two hundred lines is the ceiling. A page that needs more is two pages.
|
|
86
|
+
- The [glossary](glossary.md) is the only place a term is defined; every other
|
|
87
|
+
page uses the term and links to it there.
|
|
88
|
+
- No page restates the README's user-facing sections (what it enforces, install,
|
|
89
|
+
benchmark, cost) or the CHANGELOG. Link instead of duplicating.
|
|
90
|
+
|
|
91
|
+
## Reaching a page without reading this file
|
|
92
|
+
|
|
93
|
+
`docs/index.json` is the machine-readable index: one entry per page with its
|
|
94
|
+
title, the questions it answers, its audience and its sources.
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
tezgah-docs # every page, one line each
|
|
98
|
+
tezgah-docs deny shortcut # the page(s) that answer a query
|
|
99
|
+
tezgah-docs --json status # the same, for a program
|
|
100
|
+
tezgah-docs -- --no-verify # `--` ends the options; a word after it is a query word
|
|
101
|
+
tezgah-docs --citations # the citations that no longer show what they name
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
`bin/tezgah-docs` reads that index and prints file paths, so an agent can pick a
|
|
105
|
+
page without guessing and a script can assert the layer is intact. A test keeps
|
|
106
|
+
the index and the directory in step: a page cannot be added without an entry, and
|
|
107
|
+
an entry cannot name a file that is not there.
|
|
108
|
+
|
|
109
|
+
## The private layer
|
|
110
|
+
|
|
111
|
+
`docs/research/` is gitignored: local research notes, kept out of the published
|
|
112
|
+
repository. Nothing under it is a source of truth for anything here.
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
This page answers one question: how tezgah is built, and what runs when a
|
|
4
|
+
session starts. It is written for the maintainer adding a rule, a [host](glossary.md#host)
|
|
5
|
+
or a [mark](glossary.md#mark), and for any session that has to reason about why
|
|
6
|
+
the thing behaved the way it did instead of re-deriving it from the Python. Read
|
|
7
|
+
it before [gate](gate.md), [evidence](evidence.md) or [hosts](hosts.md); those
|
|
8
|
+
pages assume the layers named here.
|
|
9
|
+
|
|
10
|
+
## One idea
|
|
11
|
+
|
|
12
|
+
tezgah is a working contract — rules about honesty, minimal code, and evidence —
|
|
13
|
+
written once as plain strings, injected into six coding-agent hosts, and backed
|
|
14
|
+
by two mechanisms that make the contract checkable rather than merely stated: a
|
|
15
|
+
[gate](glossary.md#gate) that refuses a tool call before it runs, and an evidence
|
|
16
|
+
[ledger](glossary.md#ledger) that records what actually ran so a "done" claim can
|
|
17
|
+
be contradicted. Everything else in the repository exists to keep those three
|
|
18
|
+
things — one text, one gate, one ledger — shared rather than copied.
|
|
19
|
+
|
|
20
|
+
## The layers, bottom-up
|
|
21
|
+
|
|
22
|
+
### `hooks/` — the shared Python core
|
|
23
|
+
|
|
24
|
+
The core is host-independent: it answers in tezgah's own vocabulary and knows
|
|
25
|
+
nothing about a host's event names or output envelope.
|
|
26
|
+
|
|
27
|
+
| Module | Owns | Point at |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `tezgah_context.py` | the one builder of injected text; event normalisation to `session_start`/`user_prompt`/`subagent_start`/`post_compact`; the status segments and the used marks | `hooks/tezgah_context.py:2-7`, `hooks/tezgah_context.py::context_for` |
|
|
30
|
+
| `tezgah_policy.py` | the contract itself, as strings: `CORE`, the conditional paragraphs, the pointer line, the per-turn reminder, and the long-form blocks the on-demand skill mirrors | `hooks/tezgah_policy.py:2-16`, `hooks/tezgah_policy.py::CORE`, `hooks/tezgah_policy.py::CONDITIONAL_KEYS` |
|
|
31
|
+
| `tezgah_gate.py` | the tool gate: explorer refusal, the one-time grep nudge, attribution and test-disable denies, loop/retry ceilings | `hooks/tezgah_gate.py:2-91`, `hooks/tezgah_gate.py::decision` |
|
|
32
|
+
| `tezgah_integrity.py` | the evidence ledger, redaction, the anti-shortcut parser and the Stop rule | `hooks/tezgah_integrity.py:2-24`, `hooks/tezgah_integrity.py::note_tool`, `hooks/tezgah_integrity.py::stop_reason` |
|
|
33
|
+
| `tezgah_guard.py` | the one catch around an entry point's call into the core, so a crash costs an envelope rather than a session, and the `crash` ledger row that keeps it countable | `hooks/tezgah_guard.py:2-26`, `hooks/tezgah_guard.py::safe` |
|
|
34
|
+
| `tezgah_paths.py` | where tezgah is armed: [roots](glossary.md#root) and the linked worktrees of a repository under one, kill switches, the config dir, and the writable cache dir - the fallback resolved on use rather than at import, so a gated call does not pay for `tempfile`, `shutil` or `sqlite3` | `hooks/tezgah_paths.py:2-14`, `hooks/tezgah_paths.py::cache_dir`, `hooks/tezgah_paths.py::fallback_cache` |
|
|
35
|
+
| `tezgah_snapshot.py` | pre-write bytes of every file a write is about to change, and the one explicit restore | `hooks/tezgah_snapshot.py:2-18`, `hooks/tezgah_snapshot.py::capture` |
|
|
36
|
+
| `tezgah_untrusted.py` | the untrusted-content label on a result from outside the user and workspace, and the taint notice on the next effect | `hooks/tezgah_untrusted.py:2-22`, `hooks/tezgah_untrusted.py::marks` |
|
|
37
|
+
| `tezgah_agents.py` | per-repo subagent definitions generated into each host that has an agent surface | `hooks/tezgah_agents.py:2-22`, `hooks/tezgah_agents.py::sync_root` |
|
|
38
|
+
| `tezgah_research.py` | the in-repo research workspace and the check that a protocol predates its results | `hooks/tezgah_research.py:2-85`, `hooks/tezgah_research.py::check` |
|
|
39
|
+
| `tezgah_index.py` | the detached graph auto-index worker (flock-guarded, bounded retry) | `hooks/tezgah_index.py:2-18`, `hooks/tezgah_index.py::main` |
|
|
40
|
+
|
|
41
|
+
`hooks/projects-*.py` are the Claude/dsh event entry points, not core: they hold
|
|
42
|
+
only the envelope (see the event sequence below).
|
|
43
|
+
|
|
44
|
+
### `hosts/<name>/` — the adapters
|
|
45
|
+
|
|
46
|
+
A host adapter translates one host's event names and output schema into the
|
|
47
|
+
core's vocabulary and translates the answer back. It contains no rule text and
|
|
48
|
+
no gate logic; the imports are the proof. Codex is the most readable example:
|
|
49
|
+
its hook maps `SessionStart`/`UserPromptSubmit`/`SubagentStart`/`PostCompact` to
|
|
50
|
+
the core's events (`hosts/codex/hook.py::EVENTS`), imports the builder, gate,
|
|
51
|
+
integrity and untrusted modules from `hooks/` (`hosts/codex/hook.py:25-39`), and
|
|
52
|
+
passes Codex's tool names through a translation table before calling the gate
|
|
53
|
+
(`hosts/codex/hook.py::GATE_TOOLS`, `hosts/codex/hook.py::gate_name`, `decision` at `hosts/codex/hook.py::gate_reason`). omp is
|
|
54
|
+
the same split in another language: the TypeScript extension is "only the
|
|
55
|
+
bridge" and substitutes the absolute path of
|
|
56
|
+
the Python half (`hosts/omp/tezgah-hook.ts.in:5-7`), whose `handle()` dispatches
|
|
57
|
+
every event (`hosts/omp/hook.py::handle`). Cursor (`hosts/cursor/hook.py:2-40`) and
|
|
58
|
+
opencode (`hosts/opencode/plugins/tezgah.js:1-57`) follow the same rule; opencode
|
|
59
|
+
is the one host whose plugin cannot call the core in process, so it shells out
|
|
60
|
+
through `bin/tezgah-context` and `bin/tezgah-capture` instead of copying it
|
|
61
|
+
(`hosts/opencode/plugins/tezgah.js:5-8,33-35`).
|
|
62
|
+
|
|
63
|
+
### `bin/` — the CLIs and the installer
|
|
64
|
+
|
|
65
|
+
`bin/tezgah-setup` is the installer and the only writer of host wiring: it arms
|
|
66
|
+
every detected host, regenerates the generated contract files and the subagent
|
|
67
|
+
sets, and reports what is armed (`bin/tezgah-setup:2-33`). The rest are the small
|
|
68
|
+
stable CLIs the contract cites by absolute path because a session shell has no
|
|
69
|
+
interactive PATH: `bin/tezgah-status` (the checklist in any host,
|
|
70
|
+
`bin/tezgah-status:2-16`), `bin/tezgah-rollback`,
|
|
71
|
+
`bin/tezgah-capture`, `bin/tezgah-context`, `bin/tezgah-index`,
|
|
72
|
+
`bin/tezgah-agents`, and the optional `bin/consult` / `bin/codegen`.
|
|
73
|
+
|
|
74
|
+
### The surfaces
|
|
75
|
+
|
|
76
|
+
A surface draws the marks; it never decides them. `statusline.py` is the Claude
|
|
77
|
+
and Cursor status line, and resolves the checkout from its own symlink before
|
|
78
|
+
importing the core (`statusline.py:20-29`). `hosts/opencode/tui/tezgah-tui.tsx` is
|
|
79
|
+
the opencode TUI plugin, which is event-driven and shells out to
|
|
80
|
+
`bin/tezgah-status` rather than rendering its own segments
|
|
81
|
+
(`hosts/opencode/tui/tezgah-tui.tsx:1-19`). `hosts/dsh/statusline/lib/index.js`
|
|
82
|
+
serves the same line to the dsh Web UI behind dsh's own authenticated API, and
|
|
83
|
+
declares which measures that host can observe (`hosts/dsh/statusline/lib/index.js:1-18`).
|
|
84
|
+
|
|
85
|
+
## What runs when
|
|
86
|
+
|
|
87
|
+
One session, in order. Each step names the file that handles the event on Claude
|
|
88
|
+
(the reference adapter) and the core function it calls.
|
|
89
|
+
|
|
90
|
+
1. **SessionStart** — `hooks/projects-auto-init.py` (`hooks/hooks.json:2-4`) calls
|
|
91
|
+
`context_for("session_start", …)` (`hooks/tezgah_context.py::context_for`), which builds
|
|
92
|
+
the always-on CORE (`hooks/tezgah_context.py::core_for`) plus this repo's live state:
|
|
93
|
+
the graph index status and the detached index spawn (`hooks/tezgah_context.py::context_for`),
|
|
94
|
+
the open plans, the sibling checkouts of a `git worktree` with their open plan
|
|
95
|
+
and research line counts (`sibling_line`, `hooks/tezgah_context.py::sibling_line`),
|
|
96
|
+
the lessons ledger, and the active kill switches. The CORE is
|
|
97
|
+
dropped when the host's own file already carries it (`TEZGAH_CORE_IN_FILE`,
|
|
98
|
+
declared by that manifest row: `~/.claude/CLAUDE.md` on Claude). Outside a
|
|
99
|
+
configured root it returns `None` and the session is untouched
|
|
100
|
+
(`hooks/tezgah_context.py::context_for`).
|
|
101
|
+
2. **UserPromptSubmit** — the same file, `context_for("user_prompt", …)`
|
|
102
|
+
(`hooks/tezgah_context.py::context_for`): a turn marker for the loop guard, the per-turn
|
|
103
|
+
reminder, the conditional paragraph(s) this prompt arms
|
|
104
|
+
(`classify_prompt`, `hooks/tezgah_context.py::classify_prompt`), one line naming what moved
|
|
105
|
+
since the previous turn (`hooks/tezgah_context.py::state_delta`), up to three older
|
|
106
|
+
lessons the prompt shares words with (`relevant_lessons`, ranked by
|
|
107
|
+
`hooks/tezgah_rank.py`, or, with the opt-in `embed-mrl`/`embed-m2v` feature,
|
|
108
|
+
BM25's order plus a line by meaning above the model's cosine floor, by
|
|
109
|
+
`hooks/tezgah_embed.py`, and nothing at all while no line is older than the
|
|
110
|
+
session block's last five, see
|
|
111
|
+
[operations.md](operations.md#opt-in-embedding-relevance); each once per
|
|
112
|
+
session, remembered in the turn stamp and forgotten at a compaction),
|
|
113
|
+
and the stale-index notice (`hooks/tezgah_context.py::index_notice`).
|
|
114
|
+
3. **PreToolUse** — `hooks/projects-pretooluse.py::main` calls `decision` and emits
|
|
115
|
+
the deny envelope (`hooks/projects-pretooluse.py::main`). The gate is the same
|
|
116
|
+
object on every host: `hosts/omp/hook.py::handle`, `hosts/codex/hook.py::gate_reason`.
|
|
117
|
+
4. **PostToolUse** — `hooks/projects-posttooluse.py::main` writes the evidence row
|
|
118
|
+
through `note_tool` (`hooks/projects-posttooluse.py::main`), records the used
|
|
119
|
+
kind for the status line (`tezgah_context.record`, `hooks/projects-posttooluse.py::main`),
|
|
120
|
+
and attaches the untrusted-content label when the result came from outside.
|
|
121
|
+
5. **Stop** — `hooks/projects-stop.py::main` calls `stop_reason`, which reads the
|
|
122
|
+
ledger and can refuse the turn (`hooks/tezgah_integrity.py::stop_reason`). omp and
|
|
123
|
+
Codex reach the same function from their own Stop events
|
|
124
|
+
(`hosts/omp/hook.py::handle`).
|
|
125
|
+
|
|
126
|
+
`SubagentStart` and `PostCompact` reuse steps 1 and 2 with their own event key;
|
|
127
|
+
on `subagent_start` the payload is the short brief, not the whole CORE
|
|
128
|
+
(`hooks/tezgah_context.py::context_for`).
|
|
129
|
+
|
|
130
|
+
## The two-tier text model
|
|
131
|
+
|
|
132
|
+
| Tier | What it is | Assembled at | Paid |
|
|
133
|
+
|---|---|---|---|
|
|
134
|
+
| Always-on CORE | the rules every session carries: reply language, integrity, loop discipline, attribution, scope | `hooks/tezgah_policy.py::CORE`, injected by `hooks/tezgah_context.py::core_for` | once per session |
|
|
135
|
+
| Conditional paragraphs | spec, consult, research, product, graph — armed by task class, in full once per session and one line on a later match | `hooks/tezgah_policy.py::CONDITIONAL_KEYS`, armed at `hooks/tezgah_context.py::context_for`, repeated as `hooks/tezgah_context.py::armed_again` | the first matching turn in full; again after a compaction or `ARMED_RESURFACE` turns |
|
|
136
|
+
| Pointer line | one line per conditional rule, so a host that never sees the paragraph still knows the rule exists | `hooks/tezgah_policy.py::POINTERS`, appended at `hooks/tezgah_context.py::context_for` | once per session |
|
|
137
|
+
| Per-turn reminder | the compact `<harness-reminder>` envelope | `hooks/tezgah_policy.py::PROMPT_REMINDER`, injected at `hooks/tezgah_context.py::context_for` | every user turn |
|
|
138
|
+
| On-demand full contract | the deep detail — orchestration, codegen, the exact kill switches — as a skill, not a hook payload | `skills/tezgah-contract/SKILL.md`, hand-kept against the long-form blocks of `hooks/tezgah_policy.py` (`tests/test_setup.py::ContractParity`) | only when loaded |
|
|
139
|
+
|
|
140
|
+
A host that carries the CORE in a static file does not pay for it twice: omp's
|
|
141
|
+
managed `RULES.md` already holds it (`bin/tezgah-setup::STATIC_RULES`, `bin/tezgah-setup::rules_block`), so its session hook
|
|
142
|
+
passes `with_core=False` and injects only the live state
|
|
143
|
+
(`hosts/omp/hook.py::handle`, `hooks/tezgah_context.py::context_for`). opencode's
|
|
144
|
+
always-on file is written from the same policy by the installer
|
|
145
|
+
(`bin/tezgah-setup::opencode_contract`). The
|
|
146
|
+
sum of every block is bounded per event, and when the bound is crossed the
|
|
147
|
+
lowest-value blocks are dropped in a fixed order rather than the rules
|
|
148
|
+
(`hooks/tezgah_context.py::DROP_ORDER`, `hooks/tezgah_context.py::budgeted`).
|
|
149
|
+
|
|
150
|
+
## State: where it lives, who writes it
|
|
151
|
+
|
|
152
|
+
| Store | Path | Writer | Authoritative for |
|
|
153
|
+
|---|---|---|---|
|
|
154
|
+
| Evidence ledger | `~/.cache/tezgah/evidence/<session>.jsonl` (`hooks/tezgah_integrity.py::_path`) | `note_tool` from each host's PostToolUse (`hooks/tezgah_integrity.py::note_tool`) | what a session actually ran, and therefore the Stop verdict |
|
|
155
|
+
| Session store (used marks) | the chosen cache dir, `sessions/<session>.jsonl` (`hooks/tezgah_context.py::record`) | `record` (`hooks/tezgah_context.py::record`) from every adapter | nothing evidential: a convenience channel for a surface that has no transcript; an `orch` mark is also written to the evidence ledger (`hooks/tezgah_context.py::record`) so `fanout` can count it |
|
|
156
|
+
| Snapshot store | `<cache dir>/snapshots` (`hooks/tezgah_snapshot.py::_store`) | `capture` on the write path (`hooks/tezgah_snapshot.py::capture`) | the pre-write bytes; the rollback source |
|
|
157
|
+
| Turn stamp | `<cache dir>/turns/<session>.json` (`hooks/tezgah_context.py::_stamp_path`) | `write_stamp` (`hooks/tezgah_context.py::write_stamp`) | the comparison behind the one-line delta, nothing else |
|
|
158
|
+
| Installed config dir | `~/.config/tezgah` (`hooks/tezgah_paths.py::CONFIG_DIR`) | the installer and the user | which roots are armed, which kill switches are on |
|
|
159
|
+
| Plugin copy | `~/.claude/plugins/cache/<marketplace>/tezgah/<version>/` (`bin/tezgah-setup::plugin_copies`) | `tezgah-setup --sync` (`bin/tezgah-setup::sync`) | what Claude Code actually executes — a copy, never this checkout |
|
|
160
|
+
|
|
161
|
+
The cache dir is resolved once per process and falls back to a temp dir on a
|
|
162
|
+
sandboxed host, so one session's state never splits across two files
|
|
163
|
+
(`hooks/tezgah_paths.py::cache_dir`). Per-repo state — `.tezgah/plans/open/`,
|
|
164
|
+
`.tezgah/lessons.md`, `.tezgah/research/` — lives in the repository, and the
|
|
165
|
+
checkout is the source from which the plugin copy is made. Each checkout of a
|
|
166
|
+
repository keeps its own: a linked `git worktree` gets its own `.tezgah`, locks
|
|
167
|
+
and private git repository, never a share of the main checkout's. It sees the
|
|
168
|
+
others read-only - the session-start line above and `tezgah-research --all` -
|
|
169
|
+
through `worktrees`, which lists `<main>/.git/worktrees/*/gitdir` with no git
|
|
170
|
+
fork and skips an entry whose checkout is gone, as git's own `prunable` does
|
|
171
|
+
(`hooks/tezgah_paths.py::worktrees`).
|
|
172
|
+
|
|
173
|
+
## Invariants
|
|
174
|
+
|
|
175
|
+
- **One definition per concept.** The contract text lives only in
|
|
176
|
+
`hooks/tezgah_policy.py`; adapters carry envelopes (`hooks/projects-auto-init.py:2-7`).
|
|
177
|
+
Host-specific copies exist only where a host cannot load Python, and those are
|
|
178
|
+
generated from the policy, not hand-kept (`bin/tezgah-setup::opencode_contract_text`).
|
|
179
|
+
Two hand-kept mirrors are the named exceptions, and a test pins each one to
|
|
180
|
+
the policy. `skills/tezgah-contract/SKILL.md` mirrors the long-form blocks
|
|
181
|
+
(`tests/test_setup.py::ContractParity`). The policy keeps no joined constant,
|
|
182
|
+
and the cost report measures the skill file itself
|
|
183
|
+
(`bin/tezgah-setup::context_budget`). `output-styles/tezgah.md` mirrors CORE.
|
|
184
|
+
Text derived from CORE, such as the subagent brief, is cut from it by rule
|
|
185
|
+
(`hooks/tezgah_context.py::BRIEF_SENTENCES`) and never re-written.
|
|
186
|
+
- **A hook never takes a session down.** Every call an entry point makes into
|
|
187
|
+
the core goes through `tezgah_guard.safe`, which returns `None` and files a
|
|
188
|
+
`crash` row rather than letting the exception out: a fault costs one envelope,
|
|
189
|
+
and on omp - where the bridge turns a crash or one 10 s timeout into a
|
|
190
|
+
session-wide disable - it is what keeps the gate, the ledger and the status
|
|
191
|
+
line armed (`hooks/tezgah_guard.py::safe`, `hooks/projects-pretooluse.py::main`).
|
|
192
|
+
A host that cannot call the core in process gets the same rule in its own
|
|
193
|
+
language: opencode's plugin runs every awaited core CLI through one `collect`
|
|
194
|
+
helper with a 10 s deadline (`SPAWN_DEADLINE_MS`,
|
|
195
|
+
`hosts/opencode/plugins/tezgah.js:108-178`). Both fail open, because a core
|
|
196
|
+
that has crashed has refused nothing.
|
|
197
|
+
- **The root boundary.** Every hook is inert outside a configured root:
|
|
198
|
+
a linked `git worktree` counts as inside when its main checkout is, read from
|
|
199
|
+
its `.git` pointer file rather than a git fork (`worktree_top`,
|
|
200
|
+
`hooks/tezgah_paths.py::worktree_top`), and answers its own top level so every path
|
|
201
|
+
stays under the base `root_for` returns (`hooks/tezgah_paths.py::root_for`);
|
|
202
|
+
`context_for` returns `None` (`hooks/tezgah_context.py::context_for`), the gate only acts
|
|
203
|
+
inside one (`hooks/tezgah_gate.py::decision`), and the status line is the single
|
|
204
|
+
deliberate exception, because a globally loaded rules file must still show that
|
|
205
|
+
it is armed (`hosts/omp/hook.py:40-43`).
|
|
206
|
+
- **No cross-host drift.** A host shares the core, never a copy of it. Adding a
|
|
207
|
+
rule means editing the policy; adding behaviour means editing `hooks/` and
|
|
208
|
+
letting every adapter inherit it.
|
|
209
|
+
- **The kill switch is the label.** Each always-on rule starts with a bold label
|
|
210
|
+
and a switch drops exactly its paragraph, so a label edit fails a test instead
|
|
211
|
+
of silently disabling a rule (`hooks/tezgah_context.py::CORE_RULES`).
|
|
212
|
+
|
|
213
|
+
## Source of truth
|
|
214
|
+
|
|
215
|
+
- `hooks/tezgah_context.py`, `hooks/tezgah_policy.py`, `hooks/tezgah_gate.py`,
|
|
216
|
+
`hooks/tezgah_integrity.py`, `hooks/tezgah_paths.py`, `hooks/tezgah_snapshot.py`,
|
|
217
|
+
`hooks/tezgah_untrusted.py`, `hooks/tezgah_agents.py`, `hooks/tezgah_research.py`,
|
|
218
|
+
`hooks/tezgah_index.py`
|
|
219
|
+
- `hooks/hooks.json`, `hooks/projects-auto-init.py`, `hooks/projects-pretooluse.py`,
|
|
220
|
+
`hooks/projects-posttooluse.py`, `hooks/projects-stop.py`
|
|
221
|
+
- `hosts/codex/hook.py`, `hosts/omp/hook.py`, `hosts/omp/tezgah-hook.ts.in`,
|
|
222
|
+
`hosts/cursor/hook.py`, `hosts/opencode/plugins/tezgah.js`,
|
|
223
|
+
`hosts/dsh/hooks.json`
|
|
224
|
+
- `bin/tezgah-setup`, `bin/tezgah-status`, `statusline.py`,
|
|
225
|
+
`hosts/opencode/tui/tezgah-tui.tsx`, `hosts/dsh/statusline/lib/index.js`
|
|
226
|
+
- `skills/tezgah-contract/SKILL.md`, `README.md` (Supported hosts)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"bin/tezgah-docs": {
|
|
3
|
+
"unjudged": 2
|
|
4
|
+
},
|
|
5
|
+
"bin/tezgah-setup": {
|
|
6
|
+
"unjudged": 1
|
|
7
|
+
},
|
|
8
|
+
"docs/architecture.md": {
|
|
9
|
+
"unjudged": 25
|
|
10
|
+
},
|
|
11
|
+
"docs/contract.md": {
|
|
12
|
+
"unjudged": 5
|
|
13
|
+
},
|
|
14
|
+
"docs/environment.md": {
|
|
15
|
+
"unjudged": 8
|
|
16
|
+
},
|
|
17
|
+
"docs/evidence.md": {
|
|
18
|
+
"unjudged": 18
|
|
19
|
+
},
|
|
20
|
+
"docs/feature-audit.md": {
|
|
21
|
+
"unjudged": 2
|
|
22
|
+
},
|
|
23
|
+
"docs/gate.md": {
|
|
24
|
+
"unjudged": 40
|
|
25
|
+
},
|
|
26
|
+
"docs/glossary.md": {
|
|
27
|
+
"unjudged": 12
|
|
28
|
+
},
|
|
29
|
+
"docs/hosts.md": {
|
|
30
|
+
"unjudged": 62
|
|
31
|
+
},
|
|
32
|
+
"docs/layers.md": {
|
|
33
|
+
"unjudged": 14
|
|
34
|
+
},
|
|
35
|
+
"docs/operations.md": {
|
|
36
|
+
"unjudged": 21
|
|
37
|
+
},
|
|
38
|
+
"docs/skills.md": {
|
|
39
|
+
"unjudged": 7
|
|
40
|
+
},
|
|
41
|
+
"docs/status-line.md": {
|
|
42
|
+
"unjudged": 9
|
|
43
|
+
},
|
|
44
|
+
"docs/testing.md": {
|
|
45
|
+
"unjudged": 42
|
|
46
|
+
},
|
|
47
|
+
"hooks/tezgah_gate.py": {
|
|
48
|
+
"unjudged": 1
|
|
49
|
+
},
|
|
50
|
+
"tests/e2e_packaged_install.py": {
|
|
51
|
+
"unjudged": 1
|
|
52
|
+
},
|
|
53
|
+
"tests/test_docs.py": {
|
|
54
|
+
"unjudged": 4
|
|
55
|
+
},
|
|
56
|
+
"tests/test_encoding.py": {
|
|
57
|
+
"unjudged": 5
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"CHANGELOG.md": {
|
|
3
|
+
"long_sentences": 0,
|
|
4
|
+
"passive": 2,
|
|
5
|
+
"replace_words": 0,
|
|
6
|
+
"semicolons": 0
|
|
7
|
+
},
|
|
8
|
+
"docs/README.md": {
|
|
9
|
+
"long_sentences": 6,
|
|
10
|
+
"passive": 7,
|
|
11
|
+
"replace_words": 1,
|
|
12
|
+
"semicolons": 4
|
|
13
|
+
},
|
|
14
|
+
"docs/architecture.md": {
|
|
15
|
+
"long_sentences": 20,
|
|
16
|
+
"passive": 12,
|
|
17
|
+
"replace_words": 0,
|
|
18
|
+
"semicolons": 9
|
|
19
|
+
},
|
|
20
|
+
"docs/contract.md": {
|
|
21
|
+
"long_sentences": 40,
|
|
22
|
+
"passive": 26,
|
|
23
|
+
"replace_words": 0,
|
|
24
|
+
"semicolons": 30
|
|
25
|
+
},
|
|
26
|
+
"docs/environment.md": {
|
|
27
|
+
"long_sentences": 3,
|
|
28
|
+
"passive": 2,
|
|
29
|
+
"replace_words": 0,
|
|
30
|
+
"semicolons": 3
|
|
31
|
+
},
|
|
32
|
+
"docs/evidence.md": {
|
|
33
|
+
"long_sentences": 109,
|
|
34
|
+
"passive": 57,
|
|
35
|
+
"replace_words": 1,
|
|
36
|
+
"semicolons": 40
|
|
37
|
+
},
|
|
38
|
+
"docs/feature-audit.md": {
|
|
39
|
+
"long_sentences": 20,
|
|
40
|
+
"passive": 5,
|
|
41
|
+
"replace_words": 0,
|
|
42
|
+
"semicolons": 11
|
|
43
|
+
},
|
|
44
|
+
"docs/gate.md": {
|
|
45
|
+
"long_sentences": 67,
|
|
46
|
+
"passive": 32,
|
|
47
|
+
"replace_words": 1,
|
|
48
|
+
"semicolons": 46
|
|
49
|
+
},
|
|
50
|
+
"docs/glossary.md": {
|
|
51
|
+
"long_sentences": 51,
|
|
52
|
+
"passive": 19,
|
|
53
|
+
"replace_words": 0,
|
|
54
|
+
"semicolons": 14
|
|
55
|
+
},
|
|
56
|
+
"docs/hosts.md": {
|
|
57
|
+
"long_sentences": 36,
|
|
58
|
+
"passive": 19,
|
|
59
|
+
"replace_words": 0,
|
|
60
|
+
"semicolons": 18
|
|
61
|
+
},
|
|
62
|
+
"docs/judge.md": {
|
|
63
|
+
"long_sentences": 28,
|
|
64
|
+
"passive": 15,
|
|
65
|
+
"replace_words": 0,
|
|
66
|
+
"semicolons": 17
|
|
67
|
+
},
|
|
68
|
+
"docs/layers.md": {
|
|
69
|
+
"long_sentences": 20,
|
|
70
|
+
"passive": 16,
|
|
71
|
+
"replace_words": 0,
|
|
72
|
+
"semicolons": 6
|
|
73
|
+
},
|
|
74
|
+
"docs/models.md": {
|
|
75
|
+
"long_sentences": 19,
|
|
76
|
+
"passive": 8,
|
|
77
|
+
"replace_words": 0,
|
|
78
|
+
"semicolons": 9
|
|
79
|
+
},
|
|
80
|
+
"docs/operations.md": {
|
|
81
|
+
"long_sentences": 67,
|
|
82
|
+
"passive": 21,
|
|
83
|
+
"replace_words": 3,
|
|
84
|
+
"semicolons": 42
|
|
85
|
+
},
|
|
86
|
+
"docs/research.md": {
|
|
87
|
+
"long_sentences": 107,
|
|
88
|
+
"passive": 59,
|
|
89
|
+
"replace_words": 1,
|
|
90
|
+
"semicolons": 77
|
|
91
|
+
},
|
|
92
|
+
"docs/skills.md": {
|
|
93
|
+
"long_sentences": 31,
|
|
94
|
+
"passive": 16,
|
|
95
|
+
"replace_words": 0,
|
|
96
|
+
"semicolons": 14
|
|
97
|
+
},
|
|
98
|
+
"docs/status-line.md": {
|
|
99
|
+
"long_sentences": 44,
|
|
100
|
+
"passive": 19,
|
|
101
|
+
"replace_words": 0,
|
|
102
|
+
"semicolons": 26
|
|
103
|
+
},
|
|
104
|
+
"docs/testing.md": {
|
|
105
|
+
"long_sentences": 24,
|
|
106
|
+
"passive": 12,
|
|
107
|
+
"replace_words": 0,
|
|
108
|
+
"semicolons": 11
|
|
109
|
+
},
|
|
110
|
+
"docs/vision.md": {
|
|
111
|
+
"long_sentences": 9,
|
|
112
|
+
"passive": 7,
|
|
113
|
+
"replace_words": 1,
|
|
114
|
+
"semicolons": 12
|
|
115
|
+
}
|
|
116
|
+
}
|