@r1z4x/tezgah 1.9.2 → 1.13.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 +415 -1
- package/MANIFEST +404 -144
- package/README.de.md +1 -1
- package/README.es.md +1 -1
- package/README.fr.md +1 -1
- package/README.md +5 -4
- package/README.tr.md +1 -1
- package/bin/codegen +5 -2
- package/bin/tezgah-design +288 -1
- package/bin/tezgah-docs +1 -1
- package/bin/tezgah-doctor +39 -2
- package/bin/tezgah-import-ai-research +26 -12
- package/bin/tezgah-ocr-review +296 -0
- package/bin/tezgah-research +255 -44
- package/bin/tezgah-review-quote +185 -0
- package/bin/tezgah-setup +1365 -55
- package/bin/tezgah-skill +1 -1
- package/bin/tezgah-status +201 -3
- package/bin/tezgah-task +258 -20
- package/commands/adhd.md +2 -2
- package/commands/ponytail.md +4 -4
- package/docs/architecture.md +2 -2
- package/docs/citations-baseline.json +3 -3
- package/docs/clarity-baseline.json +11 -5
- package/docs/contract.md +91 -43
- package/docs/environment.md +5 -2
- package/docs/evidence.md +109 -17
- package/docs/feature-audit.md +2 -2
- package/docs/gate.md +60 -33
- package/docs/glossary.md +6 -3
- package/docs/hosts.md +313 -17
- package/docs/index.json +34 -8
- package/docs/judge.md +4 -2
- package/docs/layers.md +4 -4
- package/docs/models.md +37 -9
- package/docs/operations.md +141 -5
- package/docs/research.md +815 -8
- package/docs/skills.md +137 -13
- package/docs/status-line.md +121 -1
- package/docs/testing.md +3 -1
- package/hooks/hooks.json +2 -2
- package/hooks/lang/en.json +21 -0
- package/hooks/lang/tr.json +22 -1
- package/hooks/projects-stop.py +2 -1
- package/hooks/tezgah_agents.py +65 -25
- package/hooks/tezgah_apps.py +18 -0
- package/hooks/tezgah_attest.py +79 -10
- package/hooks/tezgah_components.py +4 -0
- package/hooks/tezgah_context.py +207 -55
- package/hooks/tezgah_extension.py +337 -0
- package/hooks/tezgah_gate.py +267 -79
- package/hooks/tezgah_integrity.py +864 -143
- package/hooks/tezgah_judge.py +6 -4
- package/hooks/tezgah_models.py +59 -19
- package/hooks/tezgah_orca.py +1 -1
- package/hooks/tezgah_paths.py +145 -8
- package/hooks/tezgah_policy.py +128 -57
- package/hooks/tezgah_rank.py +9 -6
- package/hooks/tezgah_replay.py +12 -6
- package/hooks/tezgah_research.py +1414 -76
- package/hooks/tezgah_research_capture.py +1544 -0
- package/hooks/tezgah_research_evidence.py +842 -0
- package/hooks/tezgah_research_stats.py +258 -0
- package/hooks/tezgah_skill_pick.py +408 -106
- package/hooks/tezgah_stack.py +236 -1
- package/hooks/tezgah_stopspec.py +8 -1
- package/hooks/tezgah_task.py +14 -5
- package/hooks/tezgah_taste_ledger.py +1 -1
- package/hosts/amp/hook.py +217 -0
- package/hosts/amp/tezgah-plugin.ts.in +386 -0
- package/hosts/antigravity/hook.py +255 -0
- package/hosts/codex/hook.py +2 -1
- package/hosts/commandcode/hook.py +239 -0
- package/hosts/copilot/hook.py +284 -0
- package/hosts/cursor/hook.py +31 -3
- package/hosts/droid/hook.py +259 -0
- package/hosts/dsh/hooks.json +1 -1
- package/hosts/gemini/hook.py +213 -0
- package/hosts/goose/hook.py +145 -0
- package/hosts/omp/hook.py +4 -1
- package/hosts/omp/tezgah-hook.ts.in +30 -7
- package/hosts/opencode/plugins/tezgah.js +309 -48
- package/hosts/opencode/tui/cli/tui.tsx +100 -0
- package/hosts/opencode/tui/tezgah-tui.tsx +2 -1
- package/hosts/qwen/hook.py +206 -0
- package/output-styles/tezgah.md +20 -15
- package/package.json +1 -1
- package/skills/ai-research/SKILL.md +21 -14
- package/skills/ai-research/SOURCE +7 -5
- package/skills/ai-research/index/1-frame.md +6 -6
- package/skills/ai-research/index/2-data.md +9 -9
- package/skills/ai-research/index/3-train.md +36 -36
- package/skills/ai-research/index/4-measure.md +13 -13
- package/skills/ai-research/index/5-run.md +11 -11
- package/skills/ai-research/index/6-write.md +23 -23
- package/skills/ai-research/library.json +104 -104
- package/skills/analyze-app/SKILL.md +17 -12
- package/skills/design-contract/SKILL.md +42 -7
- package/skills/design-contract/data-views.md +2 -2
- package/skills/design-library/EVALS.md +1 -1
- package/skills/design-library/INDEX.md +39 -39
- package/skills/design-library/SKILL.md +19 -13
- package/skills/design-library/SOURCE +45 -43
- package/skills/feature-audit/SKILL.md +20 -14
- package/skills/hallmark/LICENSE +21 -0
- package/skills/hallmark/SKILL.md +154 -0
- package/skills/hallmark/SOURCE +207 -0
- package/skills/hallmark/agents/openai.yaml +13 -0
- package/skills/hallmark/references/anatomy.md +71 -0
- package/skills/hallmark/references/brand-truth.md +40 -0
- package/skills/hallmark/references/comp.md +104 -0
- package/skills/hallmark/references/craft.md +116 -0
- package/skills/hallmark/references/dark-mode.md +49 -0
- package/skills/hallmark/references/data-viz.md +48 -0
- package/skills/hallmark/references/design-md.md +53 -0
- package/skills/hallmark/references/direction.md +52 -0
- package/skills/hallmark/references/export-formats.md +80 -0
- package/skills/hallmark/references/flow.md +131 -0
- package/skills/hallmark/references/fonts.md +58 -0
- package/skills/hallmark/references/gates.md +243 -0
- package/skills/hallmark/references/genres/atmospheric.md +24 -0
- package/skills/hallmark/references/genres/editorial.md +24 -0
- package/skills/hallmark/references/genres/modern-minimal.md +24 -0
- package/skills/hallmark/references/genres/playful.md +24 -0
- package/skills/hallmark/references/imagery.md +99 -0
- package/skills/hallmark/references/interaction-and-states.md +89 -0
- package/skills/hallmark/references/layout.md +104 -0
- package/skills/hallmark/references/macrostructures/01-bento-grid.md +21 -0
- package/skills/hallmark/references/macrostructures/02-long-document.md +35 -0
- package/skills/hallmark/references/macrostructures/03-marquee-hero.md +21 -0
- package/skills/hallmark/references/macrostructures/04-stat-led.md +21 -0
- package/skills/hallmark/references/macrostructures/05-workbench.md +21 -0
- package/skills/hallmark/references/macrostructures/06-conversational-faq.md +28 -0
- package/skills/hallmark/references/macrostructures/07-manifesto.md +28 -0
- package/skills/hallmark/references/macrostructures/08-photographic.md +21 -0
- package/skills/hallmark/references/macrostructures/09-quote-led.md +21 -0
- package/skills/hallmark/references/macrostructures/10-specimen.md +21 -0
- package/skills/hallmark/references/macrostructures/11-catalogue.md +21 -0
- package/skills/hallmark/references/macrostructures/12-letter.md +21 -0
- package/skills/hallmark/references/macrostructures/13-index-first.md +21 -0
- package/skills/hallmark/references/macrostructures/14-narrative-workflow.md +21 -0
- package/skills/hallmark/references/macrostructures/15-split-studio.md +21 -0
- package/skills/hallmark/references/macrostructures/16-feature-stack.md +23 -0
- package/skills/hallmark/references/macrostructures/17-type-specimen.md +19 -0
- package/skills/hallmark/references/macrostructures/18-portfolio-grid.md +21 -0
- package/skills/hallmark/references/macrostructures/19-map-diagram.md +21 -0
- package/skills/hallmark/references/macrostructures/20-ecosystem-index.md +19 -0
- package/skills/hallmark/references/macrostructures/21-component-playground.md +21 -0
- package/skills/hallmark/references/macrostructures.md +119 -0
- package/skills/hallmark/references/microinteractions.md +80 -0
- package/skills/hallmark/references/patterns.md +202 -0
- package/skills/hallmark/references/redesign.md +88 -0
- package/skills/hallmark/references/responsive.md +46 -0
- package/skills/hallmark/references/review-finish.md +19 -0
- package/skills/hallmark/references/review-hero.md +20 -0
- package/skills/hallmark/references/scroll-choreography.md +110 -0
- package/skills/hallmark/references/texture.md +90 -0
- package/skills/hallmark/references/themes/README.md +58 -0
- package/skills/hallmark/references/themes/almanac.jpg +0 -0
- package/skills/hallmark/references/themes/almanac.md +103 -0
- package/skills/hallmark/references/themes/arcade.jpg +0 -0
- package/skills/hallmark/references/themes/arcade.md +102 -0
- package/skills/hallmark/references/themes/atelier.jpg +0 -0
- package/skills/hallmark/references/themes/atelier.md +98 -0
- package/skills/hallmark/references/themes/bloom.jpg +0 -0
- package/skills/hallmark/references/themes/bloom.md +102 -0
- package/skills/hallmark/references/themes/blueprint.jpg +0 -0
- package/skills/hallmark/references/themes/blueprint.md +103 -0
- package/skills/hallmark/references/themes/broadside.jpg +0 -0
- package/skills/hallmark/references/themes/broadside.md +108 -0
- package/skills/hallmark/references/themes/brutal.jpg +0 -0
- package/skills/hallmark/references/themes/brutal.md +95 -0
- package/skills/hallmark/references/themes/carnival.jpg +0 -0
- package/skills/hallmark/references/themes/carnival.md +104 -0
- package/skills/hallmark/references/themes/cobalt.jpg +0 -0
- package/skills/hallmark/references/themes/cobalt.md +101 -0
- package/skills/hallmark/references/themes/console.jpg +0 -0
- package/skills/hallmark/references/themes/console.md +99 -0
- package/skills/hallmark/references/themes/coral.jpg +0 -0
- package/skills/hallmark/references/themes/coral.md +102 -0
- package/skills/hallmark/references/themes/darkroom.jpg +0 -0
- package/skills/hallmark/references/themes/darkroom.md +99 -0
- package/skills/hallmark/references/themes/dose.jpg +0 -0
- package/skills/hallmark/references/themes/dose.md +98 -0
- package/skills/hallmark/references/themes/dusk.jpg +0 -0
- package/skills/hallmark/references/themes/dusk.md +105 -0
- package/skills/hallmark/references/themes/editorial.jpg +0 -0
- package/skills/hallmark/references/themes/editorial.md +97 -0
- package/skills/hallmark/references/themes/formwork.jpg +0 -0
- package/skills/hallmark/references/themes/formwork.md +107 -0
- package/skills/hallmark/references/themes/furrow.jpg +0 -0
- package/skills/hallmark/references/themes/furrow.md +98 -0
- package/skills/hallmark/references/themes/garden.jpg +0 -0
- package/skills/hallmark/references/themes/garden.md +97 -0
- package/skills/hallmark/references/themes/grid.jpg +0 -0
- package/skills/hallmark/references/themes/grid.md +101 -0
- package/skills/hallmark/references/themes/halftone.jpg +0 -0
- package/skills/hallmark/references/themes/halftone.md +106 -0
- package/skills/hallmark/references/themes/hedgerow.jpg +0 -0
- package/skills/hallmark/references/themes/hedgerow.md +104 -0
- package/skills/hallmark/references/themes/hum.jpg +0 -0
- package/skills/hallmark/references/themes/hum.md +99 -0
- package/skills/hallmark/references/themes/index.json +2191 -0
- package/skills/hallmark/references/themes/ink.jpg +0 -0
- package/skills/hallmark/references/themes/ink.md +106 -0
- package/skills/hallmark/references/themes/kiln.jpg +0 -0
- package/skills/hallmark/references/themes/kiln.md +108 -0
- package/skills/hallmark/references/themes/loom.jpg +0 -0
- package/skills/hallmark/references/themes/loom.md +106 -0
- package/skills/hallmark/references/themes/lumen.jpg +0 -0
- package/skills/hallmark/references/themes/lumen.md +103 -0
- package/skills/hallmark/references/themes/manifesto.jpg +0 -0
- package/skills/hallmark/references/themes/manifesto.md +101 -0
- package/skills/hallmark/references/themes/midnight.jpg +0 -0
- package/skills/hallmark/references/themes/midnight.md +97 -0
- package/skills/hallmark/references/themes/newsprint.jpg +0 -0
- package/skills/hallmark/references/themes/newsprint.md +102 -0
- package/skills/hallmark/references/themes/overprint.jpg +0 -0
- package/skills/hallmark/references/themes/overprint.md +101 -0
- package/skills/hallmark/references/themes/pasteup.jpg +0 -0
- package/skills/hallmark/references/themes/pasteup.md +100 -0
- package/skills/hallmark/references/themes/piste.jpg +0 -0
- package/skills/hallmark/references/themes/piste.md +99 -0
- package/skills/hallmark/references/themes/ribbon.jpg +0 -0
- package/skills/hallmark/references/themes/ribbon.md +106 -0
- package/skills/hallmark/references/themes/rim.jpg +0 -0
- package/skills/hallmark/references/themes/rim.md +96 -0
- package/skills/hallmark/references/themes/riso.jpg +0 -0
- package/skills/hallmark/references/themes/riso.md +98 -0
- package/skills/hallmark/references/themes/solstice.jpg +0 -0
- package/skills/hallmark/references/themes/solstice.md +104 -0
- package/skills/hallmark/references/themes/specimen.jpg +0 -0
- package/skills/hallmark/references/themes/specimen.md +100 -0
- package/skills/hallmark/references/themes/spore.jpg +0 -0
- package/skills/hallmark/references/themes/spore.md +104 -0
- package/skills/hallmark/references/themes/sport.jpg +0 -0
- package/skills/hallmark/references/themes/sport.md +101 -0
- package/skills/hallmark/references/themes/squeeze.jpg +0 -0
- package/skills/hallmark/references/themes/squeeze.md +99 -0
- package/skills/hallmark/references/themes/sticker.jpg +0 -0
- package/skills/hallmark/references/themes/sticker.md +106 -0
- package/skills/hallmark/references/themes/studio.jpg +0 -0
- package/skills/hallmark/references/themes/studio.md +99 -0
- package/skills/hallmark/references/themes/terminal.jpg +0 -0
- package/skills/hallmark/references/themes/terminal.md +96 -0
- package/skills/hallmark/references/themes/terrazzo.jpg +0 -0
- package/skills/hallmark/references/themes/terrazzo.md +106 -0
- package/skills/hallmark/references/themes/ultraviolet.jpg +0 -0
- package/skills/hallmark/references/themes/ultraviolet.md +106 -0
- package/skills/hallmark/references/themes/vellum.jpg +0 -0
- package/skills/hallmark/references/themes/vellum.md +105 -0
- package/skills/hallmark/references/themes/wayfind.jpg +0 -0
- package/skills/hallmark/references/themes/wayfind.md +105 -0
- package/skills/hallmark/references/themes/werkstatt.jpg +0 -0
- package/skills/hallmark/references/themes/werkstatt.md +105 -0
- package/skills/hallmark/scripts/capture.mjs +125 -0
- package/skills/hallmark/scripts/fixtures/exemplars/atmospheric.html +324 -0
- package/skills/hallmark/scripts/fixtures/exemplars/editorial.html +363 -0
- package/skills/hallmark/scripts/fixtures/exemplars/modern-minimal.html +527 -0
- package/skills/hallmark/scripts/fixtures/exemplars/playful.html +353 -0
- package/skills/hallmark/scripts/fixtures/eyebrow-fail/index.html +118 -0
- package/skills/hallmark/scripts/fixtures/eyebrow-pass/index.html +137 -0
- package/skills/hallmark/scripts/fixtures/kept/after.html +27 -0
- package/skills/hallmark/scripts/fixtures/kept/before.html +26 -0
- package/skills/hallmark/scripts/fixtures/slopped.html +145 -0
- package/skills/hallmark/scripts/fixtures/tailwind-fail/Feature.vue +14 -0
- package/skills/hallmark/scripts/fixtures/tailwind-fail/Hero.tsx +33 -0
- package/skills/hallmark/scripts/fixtures/tailwind-fail/index.html +74 -0
- package/skills/hallmark/scripts/fixtures/tailwind-fail/style.css +6 -0
- package/skills/hallmark/scripts/fixtures/tailwind-pass/Hero.tsx +33 -0
- package/skills/hallmark/scripts/fixtures/tailwind-pass/index.html +57 -0
- package/skills/hallmark/scripts/fixtures/tailwind-pass/style.css +15 -0
- package/skills/hallmark/scripts/fixtures/waiver/index.html +54 -0
- package/skills/hallmark/scripts/imagegen.mjs +85 -0
- package/skills/hallmark/scripts/install-hook.mjs +70 -0
- package/skills/hallmark/scripts/install.mjs +141 -0
- package/skills/hallmark/scripts/lint-hook.mjs +49 -0
- package/skills/hallmark/scripts/photos.json +1 -0
- package/skills/hallmark/scripts/picture.mjs +71 -0
- package/skills/hallmark/scripts/refcheck.mjs +352 -0
- package/skills/hallmark/scripts/sloplint-render.mjs +1252 -0
- package/skills/hallmark/scripts/sloplint.mjs +4422 -0
- package/skills/hallmark/scripts/theme.mjs +650 -0
- package/skills/harness/SKILL.md +17 -8
- package/skills/i-have-adhd/SKILL.md +32 -12
- package/skills/no-ai-slop/SKILL.md +15 -1
- package/skills/plan-add/SKILL.md +38 -27
- package/skills/plan-status/SKILL.md +13 -7
- package/skills/plan-sync/SKILL.md +18 -12
- package/skills/pm-frameworks/SKILL.md +19 -10
- package/skills/pm-frameworks/SOURCE +7 -5
- package/skills/ponytail/SKILL.md +19 -14
- package/skills/product-analysis/SKILL.md +22 -18
- package/skills/product-flow/SKILL.md +14 -9
- package/skills/research/SKILL.md +97 -48
- package/skills/rl-env/SKILL.md +25 -13
- package/skills/rl-env/SOURCE +8 -6
- package/skills/tezgah-contract/SKILL.md +65 -47
- package/statusline.py +20 -9
- package/workflows/graph-review.js +14 -2
- package/bin/tezgah-skill.py +0 -59
- /package/skills/ai-research/0-autoresearch-skill/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/01-model-architecture/litgpt/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/01-model-architecture/mamba/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/01-model-architecture/nanogpt/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/01-model-architecture/rwkv/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/01-model-architecture/torchtitan/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/02-tokenization/huggingface-tokenizers/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/02-tokenization/sentencepiece/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/03-fine-tuning/axolotl/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/03-fine-tuning/llama-factory/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/03-fine-tuning/peft/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/03-fine-tuning/unsloth/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/04-mechanistic-interpretability/nnsight/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/04-mechanistic-interpretability/pyvene/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/04-mechanistic-interpretability/saelens/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/05-data-processing/nemo-curator/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/05-data-processing/ray-data/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/06-post-training/grpo-rl-training/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/06-post-training/miles/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/06-post-training/openrlhf/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/06-post-training/simpo/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/06-post-training/slime/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/06-post-training/torchforge/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/06-post-training/trl-fine-tuning/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/06-post-training/verl/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/07-safety-alignment/constitutional-ai/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/07-safety-alignment/llamaguard/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/07-safety-alignment/nemo-guardrails/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/07-safety-alignment/prompt-guard/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/08-distributed-training/accelerate/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/08-distributed-training/deepspeed/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/08-distributed-training/megatron-core/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/08-distributed-training/pytorch-fsdp2/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/08-distributed-training/pytorch-lightning/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/08-distributed-training/ray-train/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/09-infrastructure/lambda-labs/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/09-infrastructure/modal/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/09-infrastructure/skypilot/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/10-optimization/awq/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/10-optimization/bitsandbytes/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/10-optimization/flash-attention/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/10-optimization/gguf/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/10-optimization/gptq/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/10-optimization/hqq/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/10-optimization/ml-training-recipes/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/11-evaluation/lm-evaluation-harness/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/11-evaluation/nemo-evaluator/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/12-inference-serving/llama-cpp/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/12-inference-serving/sglang/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/12-inference-serving/tensorrt-llm/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/12-inference-serving/vllm/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/13-mlops/mlflow/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/13-mlops/swanlab/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/13-mlops/tensorboard/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/13-mlops/weights-and-biases/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/14-agents/a-evolve/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/14-agents/autogpt/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/14-agents/crewai/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/14-agents/langchain/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/14-agents/llamaindex/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/15-rag/chroma/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/15-rag/faiss/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/15-rag/pinecone/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/15-rag/qdrant/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/15-rag/sentence-transformers/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/16-prompt-engineering/dspy/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/16-prompt-engineering/guidance/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/16-prompt-engineering/instructor/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/16-prompt-engineering/outlines/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/17-observability/langsmith/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/17-observability/phoenix/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/audiocraft/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/blip-2/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/clip/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/cosmos-policy/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/llava/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/openpi/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/openvla-oft/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/segment-anything/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/stable-diffusion/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/18-multimodal/whisper/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/19-emerging-techniques/knowledge-distillation/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/19-emerging-techniques/long-context/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/19-emerging-techniques/model-merging/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/19-emerging-techniques/model-pruning/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/19-emerging-techniques/moe-training/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/19-emerging-techniques/speculative-decoding/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/20-ml-paper-writing/academic-plotting/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/21-research-ideation/brainstorming-research-ideas/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/21-research-ideation/creative-thinking-for-research/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/22-agent-native-research-artifact/compiler/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/22-agent-native-research-artifact/research-manager/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/adaptive-interfaces/skills/colour-independence/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/adaptive-interfaces/skills/flexible-typography/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/adaptive-interfaces/skills/information-density/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/adaptive-interfaces/skills/preference-audit/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/adaptive-interfaces/skills/responsive-accessibility/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/adaptive-interfaces/skills/responsive-review/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/adaptive-interfaces/skills/simplified-views/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/adaptive-interfaces/skills/specify/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/adaptive-interfaces/skills/user-preference-respect/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/adaptive-personalisation/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/assess-load/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/cognitive-load-assessment/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/contextual-help-design/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/error-prevention-recovery/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/focus-attention-design/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/memory-load-reduction/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/plain-language-design/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/review/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/simplify/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/cognitive-accessibility/skills/wayfinding-navigation/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/design-research/skills/behavioural-analytics/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/design-research/skills/qual-quant-triangulation/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/audit/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/design-flow/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/feedback-and-status/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/gesture-alternatives/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/keyboard-navigation/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/keyboard-review/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/motion-sensitivity/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/multi-modal-input/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/touch-target-design/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/inclusive-interaction/skills/voice-interaction/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/visual-critique/skills/critique-affordance/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/visual-critique/skills/critique-brand-consistency/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/visual-critique/skills/critique-color/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/visual-critique/skills/critique-composition/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/visual-critique/skills/critique-information-density/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/visual-critique/skills/critique-typography/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/design-library/visual-critique/skills/critique-visual-hierarchy/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/pm-frameworks/intended-vs-implemented/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/pm-frameworks/opportunity-solution-tree/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/rl-env/generate-nemo-gym-env/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/rl-env/generate-openenv-env/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/rl-env/generate-ors-env/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/rl-env/generate-verifiers-env/{SKILL.md → ENTRY.md} +0 -0
- /package/skills/rl-env/rl-env-from-description/{SKILL.md → ENTRY.md} +0 -0
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tezgah-contract
|
|
3
3
|
description: >
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
rule and its deferred tool loading, the dynamic graph harnesses, the two-tier
|
|
8
|
-
orchestration model with the cheap codegen bridge and its automatic
|
|
9
|
-
fallback, external-model consult, OpenResearch routing for research tasks,
|
|
10
|
-
and the exact kill switches. Use when the
|
|
11
|
-
compact core points here, or when a task needs the code graph, a subagent
|
|
12
|
-
fan-out, codegen, or a second opinion in full detail. Not for picking and
|
|
13
|
-
running a multi-agent harness - use `harness`.
|
|
4
|
+
Use when a session needs the code graph, a subagent fan-out, codegen, a second
|
|
5
|
+
opinion; alt ajan, kod grafiği, ikinci görüş. Not for harnesses - use
|
|
6
|
+
`harness`.
|
|
14
7
|
---
|
|
15
8
|
|
|
16
9
|
# tezgah-contract
|
|
17
10
|
|
|
11
|
+
## When to use
|
|
12
|
+
|
|
13
|
+
The full tezgah working contract. Load on demand when a tezgah session needs the
|
|
14
|
+
deep detail behind the always-on core: instruction fidelity (deliver the whole
|
|
15
|
+
ask, never a shortcut, no sycophantic openers), the code-graph-first rule and
|
|
16
|
+
its deferred tool loading, the dynamic graph harnesses, the two-tier
|
|
17
|
+
orchestration model with the cheap codegen bridge and its automatic fallback,
|
|
18
|
+
external-model consult, OpenResearch routing for research tasks, and the exact
|
|
19
|
+
kill switches. Use when the compact core points here, or when a task needs the
|
|
20
|
+
code graph, a subagent fan-out, codegen, or a second opinion in full detail. Not
|
|
21
|
+
for picking and running a multi-agent harness - use `harness`.
|
|
22
|
+
|
|
18
23
|
The always-on core is injected into every tezgah session; this skill is the
|
|
19
24
|
deep detail, loaded on demand. `~/.config/tezgah/bin/consult` and
|
|
20
25
|
`~/.config/tezgah/bin/codegen` are the tezgah-installed CLIs - use that stable
|
|
@@ -41,11 +46,11 @@ graph rule falls back to grep/find, the consult rule to a skipped second
|
|
|
41
46
|
opinion - and carry on. Report the gap to the user once; do not chase it.
|
|
42
47
|
|
|
43
48
|
Tezgah maintenance is in scope when the user asks for it, when the repo IS the
|
|
44
|
-
tezgah checkout, or when tezgah's own check (
|
|
49
|
+
tezgah checkout, or when tezgah's own check (`~/.config/tezgah/bin/tezgah-setup --status`) is the
|
|
45
50
|
requested task.
|
|
46
51
|
|
|
47
52
|
Using the skills is the user's work, not maintenance: before working a topic
|
|
48
|
-
an installed skill covers, run
|
|
53
|
+
an installed skill covers, run `~/.config/tezgah/bin/tezgah-skill <words>` (BM25 over every
|
|
49
54
|
installed skill's sections) and read only the `skill://<name>:<start>-<end>`
|
|
50
55
|
range it returns - or the absolute path beside it on a host that does not
|
|
51
56
|
resolve `skill://` - instead of loading the whole skill.
|
|
@@ -55,19 +60,19 @@ resolve `skill://` - instead of loading the whole skill.
|
|
|
55
60
|
Every per-project tezgah artifact - plans, research lines, analysis, lessons -
|
|
56
61
|
lives under `<repo>/.tezgah/`. Session start creates it, appends `/.tezgah/` and
|
|
57
62
|
`/.codegraph/` to the project's `.gitignore` (user lines kept, nothing staged)
|
|
58
|
-
and gives it a private git repository
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
`analysis/` at the project root and never `git add -f` a path
|
|
63
|
-
the gate refuses a write whose first path segment is one of
|
|
64
|
-
the project
|
|
63
|
+
and gives it a private git repository: evidence that needs history - a research
|
|
64
|
+
protocol before its results, a plan moved to `done/` - is committed with
|
|
65
|
+
`git -C .tezgah ...`, or plain `git add`/`git commit` when the project tracks
|
|
66
|
+
it; `~/.config/tezgah/bin/tezgah-research commit` picks the right one. Never create `plans/`,
|
|
67
|
+
`research/` or `analysis/` at the project root and never `git add -f` a path
|
|
68
|
+
under `.tezgah/`: the gate refuses a write whose first path segment is one of
|
|
69
|
+
those three unless the project already tracks files there. Off: `workspace-off`.
|
|
65
70
|
|
|
66
71
|
## Kill switches (auto-armed, tezgah roots only)
|
|
67
72
|
|
|
68
73
|
Each one removes its own rule from the injected text, not just a status mark. In
|
|
69
74
|
`~/.config/tezgah/`: `exec-mode.off`, `orchestrate-off`, `consult-off`,
|
|
70
|
-
`research-off`, `ponytail-auto.off`, `adhd-off`, `spec-off`, `reminder-off`,
|
|
75
|
+
`research-off`, `ponytail-auto.off`, `adhd-off`, `spec-off`, `design-off`, `reminder-off`,
|
|
71
76
|
`verify-off`
|
|
72
77
|
(the integrity rule: its prompt text, the shortcut denials and the Stop gate),
|
|
73
78
|
`task-off` (all four refusals of the task rule: the phase, the allowlist, the
|
|
@@ -78,7 +83,7 @@ fallback alone), `lang-off` (the English-identifier rule in the gate),
|
|
|
78
83
|
`workspace-off` (the gate's refusal of a root `plans/`, `research/` or
|
|
79
84
|
`analysis/` write), `pretooluse-off` (the whole gate); per repo:
|
|
80
85
|
`.no-ponytail`, `.no-adhd`, `.no-graph`, `.no-lessons`. The ponytail intensity
|
|
81
|
-
level is not a switch:
|
|
86
|
+
level is not a switch: `~/.config/tezgah/bin/tezgah-pony lite|full|ultra` (or `/tezgah:ponytail` on
|
|
82
87
|
Claude) sets it and a bare call shows it.
|
|
83
88
|
|
|
84
89
|
## Task record: the active plan's phase and its path allowlist (auto-armed, tezgah roots only)
|
|
@@ -98,8 +103,8 @@ consulted (a shell line's targets are not read); and a write whose target is the
|
|
|
98
103
|
record itself, refused whatever the phase and the globs say. The lifecycle is the
|
|
99
104
|
session's, never a command handed to the user: it runs
|
|
100
105
|
`~/.config/tezgah/bin/tezgah-task start|phase|allow|stop|status|review|close`
|
|
101
|
-
itself, and the refusals name the move (
|
|
102
|
-
|
|
106
|
+
itself, and the refusals name the move (`~/.config/tezgah/bin/tezgah-task phase implementation`,
|
|
107
|
+
`~/.config/tezgah/bin/tezgah-task allow <glob> ... --why "<reason>"`). That move is vetted by the CLI,
|
|
103
108
|
not by who runs it: a writing phase needs every Acceptance item to name its
|
|
104
109
|
command, `implementation` an answered spike and a clean tree to record
|
|
105
110
|
`checkpoint:`, `allow` a `--why` it records as `allowed_why:`, `close NNN done`
|
|
@@ -239,20 +244,20 @@ blocked on a running slice, `wait` and ending the turn are both fine: the host
|
|
|
239
244
|
wakes it on the result. The per-turn checks of what changed still run in the
|
|
240
245
|
turn, in the background when they share no state. Only the heavy tier - the
|
|
241
246
|
full suite, neuter, the e2e scripts - is joined at merge. A turn ends only
|
|
242
|
-
when no item is ready, never on a question about a step it can take. Fan out only when the subtasks share no mutable file and no interface: if two of them would edit the same file, or one's answer decides the other's, keep them in one context or sequence them. Every writing brief names its `Owns:` globs - the files only that slice writes - and declares its checkout on a `Worktree: <abs path>` line; the gate refuses a sibling's write into those globs and a slice's write into the main checkout when its brief declares a worktree. The integrator owns the shared append points (CHANGELOG.md, MANIFEST, the citation baseline) and merges in the order
|
|
247
|
+
when no item is ready, never on a question about a step it can take. Fan out only when the subtasks share no mutable file and no interface: if two of them would edit the same file, or one's answer decides the other's, keep them in one context or sequence them. Every writing brief names its `Owns:` globs - the files only that slice writes - and declares its checkout on a `Worktree: <abs path>` line; the gate refuses a sibling's write into those globs and a slice's write into the main checkout when its brief declares a worktree. The integrator owns the shared append points (CHANGELOG.md, MANIFEST, the citation baseline) and merges in the order `~/.config/tezgah/bin/tezgah-task slice merge-plan` prints. Siblings message each other (omp `write agent://<id>`, Claude `SendMessage`) only on an interface or ownership change; status goes to the parent, and `~/.config/tezgah/bin/tezgah-task slice board` shows every sibling's lease. Only a single item - one file, one
|
|
243
248
|
bounded change, a strictly serial chain - is done directly; a list of
|
|
244
249
|
independent items is never worked one by one on the main thread, however small
|
|
245
250
|
each item is, and that holds at every phase: a plan's tasks, its acceptance
|
|
246
251
|
commands and the sources of a survey fan out the same way.
|
|
247
252
|
A slice that needs its own checkout: inside Orca (the session-start `Orca:`
|
|
248
253
|
line) create it with `orca worktree create --name <slug> --parent-worktree
|
|
249
|
-
active --json` and track it with `orca worktree ps --json` or
|
|
254
|
+
active --json` and track it with `orca worktree ps --json` or `~/.config/tezgah/bin/tezgah-status
|
|
250
255
|
--orca` - a raw `git worktree add` gets no card, terminal tracking or agent
|
|
251
256
|
status in Orca; outside Orca, `git worktree add`. Either way the brief names
|
|
252
257
|
absolute paths under that checkout. A writing slice commits `wip: <step>`
|
|
253
258
|
after each step, so a crash leaves it resumable. A stopped slice (quota, abort,
|
|
254
|
-
cut off) is resumed -
|
|
255
|
-
silently absorbed inline; run
|
|
259
|
+
cut off) is resumed - `~/.config/tezgah/bin/tezgah-task slice resume <id>` - or re-dispatched, never
|
|
260
|
+
silently absorbed inline; run `~/.config/tezgah/bin/tezgah-task slice reconcile --prune` before the
|
|
256
261
|
turn that merged slices ends.
|
|
257
262
|
Routing: `~/.config/tezgah/bin/tezgah-route "<brief>"` names the worker - tezgah-cheap, -standard or
|
|
258
263
|
-frontier, or the specialist whose whole job the brief is (tezgah-tester,
|
|
@@ -260,13 +265,16 @@ Routing: `~/.config/tezgah/bin/tezgah-route "<brief>"` names the worker - tezgah
|
|
|
260
265
|
never the host's generic task agent (overrides for stored data, credentials,
|
|
261
266
|
security first; then a Jev judgement; the static phase table with no key). A report missing an output field, or an
|
|
262
267
|
`ESCALATE:`, gets one narrower re-brief of the same role naming that field or judgement; only a second miss is
|
|
263
|
-
restarted on tezgah-frontier with the original brief, never continued; the main thread never switches model (the cache is per model).
|
|
268
|
+
restarted on tezgah-frontier with the original brief, never continued; the main thread never switches model (the cache is per model).
|
|
269
|
+
A subagent's question only the owner can answer (a class-F item, `ESCALATE: owner`) is relayed to
|
|
270
|
+
the user in the approval batch: the orchestrator never answers it for the user
|
|
271
|
+
and never escalates it to a stronger model. A
|
|
264
272
|
code-discovery brief names codegraph's tools (`codegraph callers`, `callees`,
|
|
265
273
|
`impact`, `node`, `files`, `codegraph_explore`) and says "answer from
|
|
266
274
|
the graph, grep only for literal text"; never a grep-only explorer (observed).
|
|
267
275
|
Subagents never orchestrate: no nested harnesses, no sub-subagents.
|
|
268
276
|
|
|
269
|
-
### The verification batch:
|
|
277
|
+
### The verification batch: `~/.config/tezgah/bin/tezgah-optimize`
|
|
270
278
|
`~/.config/tezgah/bin/tezgah-optimize next [--files PATH ...]` answers, per command
|
|
271
279
|
the active plan's Acceptance names, one of `run now`, `defer` or `already green` -
|
|
272
280
|
the first from no measurement or a median below the in-turn bar, the second from a
|
|
@@ -365,7 +373,7 @@ test); a complex ask ships the lazy version and names the fuller one in the
|
|
|
365
373
|
same reply. These rules are in force from the first turn; the full skill
|
|
366
374
|
(Skill(tezgah:ponytail) on Claude, the installed `ponytail` skill elsewhere)
|
|
367
375
|
holds the level table and the examples.
|
|
368
|
-
Level:
|
|
376
|
+
Level: `~/.config/tezgah/bin/tezgah-pony lite|full|ultra` (bare call shows it; stored in
|
|
369
377
|
~/.config/tezgah/ponytail.level, machine-wide until changed). The default `full`
|
|
370
378
|
adds nothing to this reminder; a non-default level is named in it every turn.
|
|
371
379
|
Off: user says "stop ponytail".
|
|
@@ -386,7 +394,11 @@ The reader has to act on the answer, and the friction between "got it" and
|
|
|
386
394
|
line - never also narrate the plan as prose.
|
|
387
395
|
4. End with the approval questions the Ask policy leaves (the executive mode's
|
|
388
396
|
"Ask policy"), or with nothing when none is left. A step you can take
|
|
389
|
-
yourself is taken, never handed over
|
|
397
|
+
yourself is taken, never handed over: "run `pytest -q` and tell me what it
|
|
398
|
+
says" is a step you run. In the host's plan mode nothing can run, and there
|
|
399
|
+
the plan is the deliverable: the approval question is the one question that
|
|
400
|
+
turn asks, every step waits for it, and nothing is reported as done or
|
|
401
|
+
tested, because nothing ran.
|
|
390
402
|
5. Suppress tangents: finish the issue in hand, then raise the second as its own
|
|
391
403
|
question. A question the reader raised mid-work is not a tangent - answer it
|
|
392
404
|
and fold the result in.
|
|
@@ -410,7 +422,7 @@ After three "still broken" turns, name the suspect assumption and ask one
|
|
|
410
422
|
diagnostic question. Before sending, delete an opening sentence that announces,
|
|
411
423
|
a closing one that recaps, any by-the-way sidebar and any empty hedge. In force
|
|
412
424
|
from the first answer; the full `i-have-adhd` skill holds the examples.
|
|
413
|
-
Off:
|
|
425
|
+
Off: `~/.config/tezgah/bin/tezgah-adhd off` (the kill switch file), or a repo's `.no-adhd`.
|
|
414
426
|
|
|
415
427
|
|
|
416
428
|
|
|
@@ -433,7 +445,8 @@ intuitive". Such a request is NEVER built from a guess. Before any code:
|
|
|
433
445
|
3. Ask at most three blocking questions, the ones that change the outcome and
|
|
434
446
|
that no default may take. Every other question goes in the approval batch
|
|
435
447
|
with a recommended default, and the work proceeds on the defaults in the
|
|
436
|
-
same turn (the executive mode's "Ask policy")
|
|
448
|
+
same turn (the executive mode's "Ask policy"); a class-F item waits for the
|
|
449
|
+
answer.
|
|
437
450
|
4. Verify design, behavior and quality claims against an external source, never
|
|
438
451
|
from memory alone: `~/.config/tezgah/bin/consult --online "<question>"` for a
|
|
439
452
|
fast second opinion, or the OpenResearch CLI (`orx` on PATH, else
|
|
@@ -595,11 +608,11 @@ rewrite it plainly.
|
|
|
595
608
|
**Merge authority: standing, not per-PR.** The user is not the approval step
|
|
596
609
|
on a merge. Review first with a FRESH reviewer (never my own read of my own
|
|
597
610
|
code), run the full suite, and if the review is clean and every test passes,
|
|
598
|
-
merge and close the plan yourself (
|
|
611
|
+
merge and close the plan yourself (`~/.config/tezgah/bin/tezgah-task close NNN done`, which also
|
|
599
612
|
deactivates it and removes every merged worktree), then report the outcome. Nothing
|
|
600
613
|
goes back to the user: a failing test you fix, and a critical or major finding
|
|
601
614
|
left after round two you fix yourself, prove with a test and close with
|
|
602
|
-
|
|
615
|
+
`~/.config/tezgah/bin/tezgah-task close NNN done --resolved "<fix and test>"`. One review per plan, over its whole diff in the verification
|
|
603
616
|
phase; at most two rounds - only a confirmed critical or major finding opens
|
|
604
617
|
round two; a minor or suggestion one is fixed in the session without a new
|
|
605
618
|
round, or recorded fix-later only when it waits on a user decision (DECISION,
|
|
@@ -609,10 +622,15 @@ a third round.
|
|
|
609
622
|
A round spawns its reviewers in ONE message, one per dimension (correctness
|
|
610
623
|
and contract, security, tests and performance) or file group; a diff under 300
|
|
611
624
|
changed lines gets one reviewer. Per-task work gets tests, not a reviewer, and
|
|
612
|
-
|
|
625
|
+
`~/.config/tezgah/bin/tezgah-task review` refuses a third round. No fresh subagent, no review verdict:
|
|
626
|
+
on a host or mode that cannot start a fresh reviewer, say so and ask the owner;
|
|
627
|
+
never record a verdict from your own read. The author contests a confirmed
|
|
628
|
+
finding only by citing evidence the reviewer could read (file:line); knowledge
|
|
629
|
+
outside the files goes to the owner as a question, and the author never lowers
|
|
630
|
+
a severity.
|
|
613
631
|
|
|
614
632
|
**The process is yours: never hand a step back.** The orchestrator runs the
|
|
615
|
-
plan lifecycle itself -
|
|
633
|
+
plan lifecycle itself - `~/.config/tezgah/bin/tezgah-task start`, every `phase` move, `review`,
|
|
616
634
|
`close`, the merge, and removing a slice's worktree once its branch is merged -
|
|
617
635
|
and never ends a reply with "run this command" or "shall I close it?" for a
|
|
618
636
|
step it can take. A process parameter the user did not set (a sample size, a
|
|
@@ -637,13 +655,13 @@ whether the user already decided it (named it this session, or granted it).
|
|
|
637
655
|
| C. Reversible choice the evidence settles | a fix's scope inside the ask, naming, a palette when tokens exist | decide from evidence; real taste goes in the batch with a default, taken this turn |
|
|
638
656
|
| D. Intent fork | two readings of the ask with different deliverables | batch with a default; do the shared part first and proceed on the default |
|
|
639
657
|
| E. Outward on the user's own remote | push, PR, tag, release, publishing the user's own package | act on a grant written in chat ("push without asking", "I approve", "bana sormadan pushla", "onay veriyorum"); else ask once per session, never again after a grant |
|
|
640
|
-
| F. Never on a default | force push or history rewrite on a shared ref; deleting data the session did not make; production deploy, stop or migration; a credential, account or identity change; sending to a third party; a spend over `spend_cap
|
|
658
|
+
| F. Never on a default | force push or history rewrite on a shared ref; deleting data the session did not make; production deploy, stop or migration; a credential, account or identity change; sending to a third party; a spend over `spend_cap`; building a plan this turn wrote from a research, analysis, review or plan ask; choosing a variant or option a research, analysis or review recommends; a way around a tezgah refusal (another folder, a hidden dir, a hatch the owner did not grant); deciding about another session's work (its line, plan or branch) | do all other work first, ask, and wait: silence is no consent, and only an answer that names the action and its target clears it |
|
|
641
659
|
| G. ACCESS | a credential or grant no tool supplies | take every route that needs none first, then ask once, naming what it unlocks |
|
|
642
660
|
|
|
643
661
|
A grant is read from the user's prompt and recorded for the session; "artık
|
|
644
662
|
bana sor", "ask me again" or a later "don't push" lifts it. The batch is one
|
|
645
663
|
block in the reply language: one "Approval questions"/"Onay için sorular" heading, one line saying
|
|
646
|
-
the work proceeds on the defaults when no answer comes, then numbered items -
|
|
664
|
+
the work proceeds on the defaults when no answer comes (a class-F item waits for its answer), then numbered items -
|
|
647
665
|
the question in bold, one line of context, "Recommended:"/"Öneri:" the default, and
|
|
648
666
|
the other option. Class-F items come first, marked as waiting; the defaulted
|
|
649
667
|
items follow, with no count cap, because they do not block. An ask tool (omp
|
|
@@ -783,7 +801,7 @@ stays on the codegraph index.
|
|
|
783
801
|
**Lock the line to the question asked.** Restate the user's question verbatim as
|
|
784
802
|
the line's scope (`--ask`) and name what is in it and what is out (`--in`,
|
|
785
803
|
`--out`: state.json `scope`). Every finding answers an in-scope item - a claim's
|
|
786
|
-
`trace` names its `S<n>`, and
|
|
804
|
+
`trace` names its `S<n>`, and `~/.config/tezgah/bin/tezgah-research check` refuses one that names none -
|
|
787
805
|
and a finding that answers nothing asked is dropped, not reported as a bonus. Do
|
|
788
806
|
not widen the question, add sub-questions or chase an adjacent topic; a tangent
|
|
789
807
|
worth having is one line under Open questions for the user to pick. The question
|
|
@@ -798,12 +816,12 @@ stating its confidence (high, medium or low, and why); a summary of summaries is
|
|
|
798
816
|
not an answer.
|
|
799
817
|
|
|
800
818
|
**New ideas are an exploratory line.** When the user asks for new ideas, methods
|
|
801
|
-
or approaches rather than an answer, open
|
|
819
|
+
or approaches rather than an answer, open `~/.config/tezgah/bin/tezgah-research init --method
|
|
802
820
|
exploratory` with `--ask` and its arena - `--arena` (the problem, verbatim), `--in`,
|
|
803
821
|
`--out`, `--budget`, and `--evaluator` with `--metric` when a number can judge a candidate -
|
|
804
822
|
committed before the first idea; every other line keeps the question lock above.
|
|
805
823
|
Ideas, stage moves and judged matches are rows (`idea`, `stage`, `match`), a
|
|
806
|
-
ranking is a prior and never a verdict, and
|
|
824
|
+
ranking is a prior and never a verdict, and `~/.config/tezgah/bin/tezgah-research board <slug>` names
|
|
807
825
|
each idea's next step.
|
|
808
826
|
|
|
809
827
|
When the task is research and the OpenResearch CLI is installed, drive it
|
|
@@ -811,8 +829,8 @@ through that CLI instead of ad-hoc local scripting. Resolve it as `orx` on PATH,
|
|
|
811
829
|
else `~/.cargo/bin/orx` (the installer's location, which a non-interactive shell
|
|
812
830
|
does not put on PATH). Load the operating manual first:
|
|
813
831
|
the `orx` skill if the host has it, otherwise run `orx skill` from the shell; then
|
|
814
|
-
the module the method needs - `orx skill lit-review` for sources,
|
|
815
|
-
`orx skill
|
|
832
|
+
the module the method needs - `orx skill lit-review` for sources, `orx skill experiment-tree`,
|
|
833
|
+
`orx skill orx-results` and `orx skill orx-logs` for a measured line. On a
|
|
816
834
|
measured line its cardinal rules are not style preferences - they
|
|
817
835
|
are what keeps results comparable, and breaking one silently invalidates the run:
|
|
818
836
|
never edit a node once a run has answered it (branch a child instead); the run
|
|
@@ -844,7 +862,7 @@ in the report, a decision or a claim `trace`, or written `A<n> not delivered:
|
|
|
844
862
|
<reason>`. A design or plan the user will choose between is produced as >= 3
|
|
845
863
|
variants in
|
|
846
864
|
`decisions/<id>/` - `criteria.json` committed before any cell, `variants.jsonl` (V0
|
|
847
|
-
the status quo), cells appended by
|
|
865
|
+
the status quo), cells appended by `~/.config/tezgah/bin/tezgah-research compare`, `decision.md` naming
|
|
848
866
|
the chosen id, each rejected id with the criterion that ruled it out, and a `flip:`
|
|
849
867
|
condition (an analysis answers its question once); a new version of a line is
|
|
850
868
|
opened `init --supersedes <old>` and carries
|
|
@@ -852,7 +870,7 @@ the old one as a variant. Code or config variants are sibling orx nodes under on
|
|
|
852
870
|
head node. Literature is found with `orx discover` and read with `orx paper`; an
|
|
853
871
|
agent's summary is indexed as `agent-report` and never alone carries a literature
|
|
854
872
|
claim. At most one line is open at a time; `init --allow-open "<reason>"` is refused
|
|
855
|
-
beside a line `check` fails, and
|
|
873
|
+
beside a line `check` fails, and `~/.config/tezgah/bin/tezgah-research close <slug> --limit "<reason>"`
|
|
856
874
|
concludes a line as a deliberate limit, writing what was left.
|
|
857
875
|
Load the `research` skill for the two-loop rhythm, the ideation step, the
|
|
858
876
|
six-dimension review a claim passes before it is reported, and the provenance tags
|
|
@@ -956,7 +974,7 @@ best, cited. Read the `product-analysis` skill for the artifact shape and the
|
|
|
956
974
|
scorecard - the same 1-5 anchors as the `research` skill, so two sessions'
|
|
957
975
|
analyses stay comparable - and `feature-audit` for the layer-coherence matrices
|
|
958
976
|
when the ask is one feature. A new capability built from data or an ask runs the
|
|
959
|
-
`product-flow` skill:
|
|
977
|
+
`product-flow` skill: `~/.config/tezgah/bin/tezgah-research next --topic <t>` is the step source, and
|
|
960
978
|
its first missing or due step is the next one. Kill switch: `research-off`.
|
|
961
979
|
|
|
962
980
|
|
package/statusline.py
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
|
|
4
4
|
python3 statusline.py # Claude Code (or any Claude-format status line)
|
|
5
5
|
python3 statusline.py --cursor # Cursor CLI (same stdin shape, no Orca passthrough)
|
|
6
|
+
python3 statusline.py --qwen # Qwen Code `ui.statusLine` command (same fields read)
|
|
7
|
+
python3 statusline.py --droid # Factory Droid `statusLine` command (`current_dir`)
|
|
8
|
+
python3 statusline.py --copilot # Copilot CLI `statusLine` command (fields undocumented)
|
|
9
|
+
python3 statusline.py --antigravity # Antigravity CLI `statusLine` command (`workspace`)
|
|
6
10
|
|
|
7
11
|
Claude Code's statusLine pipes session JSON on stdin; Cursor's spec is aligned
|
|
8
12
|
with it. This wraps Orca's own status line for Claude, then appends the tezgah
|
|
@@ -35,8 +39,9 @@ except Exception as exc:
|
|
|
35
39
|
|
|
36
40
|
HOME = os.path.expanduser("~")
|
|
37
41
|
ORCA = os.path.join(HOME, ".orca", "agent-hooks", "claude-statusline.sh")
|
|
38
|
-
HOST = "cursor"
|
|
39
|
-
|
|
42
|
+
HOST = next((h for h in ("cursor", "qwen", "droid", "copilot", "antigravity")
|
|
43
|
+
if "--" + h in sys.argv
|
|
44
|
+
or os.environ.get("TEZGAH_STATUS_HOST") == h), "claude")
|
|
40
45
|
|
|
41
46
|
data = sys.stdin.read()
|
|
42
47
|
try:
|
|
@@ -54,8 +59,11 @@ if HOST == "claude" and os.access(ORCA, os.X_OK):
|
|
|
54
59
|
except Exception:
|
|
55
60
|
orca_out = ""
|
|
56
61
|
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
# Droid 0.251.0 sends `current_dir` at the top level (its status line snapshot
|
|
63
|
+
# carries session_id, transcript_path, current_dir, workspace, model)
|
|
64
|
+
workspace = payload.get("workspace")
|
|
65
|
+
cwd = ((workspace if isinstance(workspace, dict) else {}).get("current_dir")
|
|
66
|
+
or payload.get("current_dir") or payload.get("cwd") or "")
|
|
59
67
|
try:
|
|
60
68
|
real = os.path.realpath(cwd) if cwd else ""
|
|
61
69
|
except OSError:
|
|
@@ -113,11 +121,14 @@ def claude_used():
|
|
|
113
121
|
return used
|
|
114
122
|
|
|
115
123
|
|
|
116
|
-
|
|
117
|
-
#
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
124
|
+
# Copilot documents its status line input only as "session JSON", so its
|
|
125
|
+
# camelCase spelling is read too
|
|
126
|
+
session_id = payload.get("session_id") or payload.get("sessionId")
|
|
127
|
+
seen = used_kinds(session_id) if HOST != "claude" else claude_used()
|
|
128
|
+
# Cursor's, Qwen's, Droid's, Copilot's and Antigravity's lines read tezgah's store, which sees the tool calls their
|
|
129
|
+
# hook fires on and nothing else; Claude's transcript carries the skill reads too.
|
|
130
|
+
observable = TOOL_USE_MEASURES if HOST != "claude" else None
|
|
131
|
+
segs = health_segments(real or os.getcwd(), session_id,
|
|
121
132
|
used_override=seen, observable=observable)
|
|
122
133
|
# Claude Code and Cursor render ANSI; let a user or a plain terminal opt out.
|
|
123
134
|
color = color_default()
|
|
@@ -114,7 +114,18 @@ const unknown = DIMENSIONS.filter((d, i) => !reviewed[i]).map(d => `review:${d.k
|
|
|
114
114
|
const reviews = reviewed.filter(Boolean)
|
|
115
115
|
|
|
116
116
|
const rank = { high: 0, medium: 1, low: 2 }
|
|
117
|
-
|
|
117
|
+
// two lenses often raise one defect: merge on (file, line, lowercased title), keep the higher severity
|
|
118
|
+
const byKey = new Map()
|
|
119
|
+
let raised = 0
|
|
120
|
+
reviewed.forEach((r, i) => ((r && r.findings) || []).forEach(f => {
|
|
121
|
+
raised++
|
|
122
|
+
const key = `${f.file}\u0000${f.line || ''}\u0000${String(f.title).trim().toLowerCase()}`
|
|
123
|
+
const prev = byKey.get(key)
|
|
124
|
+
const keep = prev && rank[prev.severity] <= rank[f.severity] ? prev : f
|
|
125
|
+
byKey.set(key, { ...keep, dimensions: [...new Set([...((prev && prev.dimensions) || []), DIMENSIONS[i].key])] })
|
|
126
|
+
}))
|
|
127
|
+
const all = [...byKey.values()].sort((a, b) => rank[a.severity] - rank[b.severity])
|
|
128
|
+
const caps = { max_verified: MAX_VERIFIED, raised, deduplicated: raised - all.length }
|
|
118
129
|
if (!all.length) {
|
|
119
130
|
const note = !unknown.length ? 'all four dimensions came back clean'
|
|
120
131
|
: !reviews.length ? 'every dimension failed - nothing was reviewed; unknown, not clean'
|
|
@@ -124,7 +135,7 @@ if (!all.length) {
|
|
|
124
135
|
|
|
125
136
|
const toVerify = all.slice(0, MAX_VERIFIED)
|
|
126
137
|
if (all.length > toVerify.length) {
|
|
127
|
-
log(`${all.length} findings
|
|
138
|
+
log(`${all.length} distinct findings (${caps.deduplicated} duplicates merged); verifying the ${toVerify.length} most severe. NOT verified (reported as unverified): ${all.slice(MAX_VERIFIED).map(f => f.title).join('; ')}`)
|
|
128
139
|
}
|
|
129
140
|
|
|
130
141
|
phase('Verify')
|
|
@@ -167,4 +178,5 @@ return {
|
|
|
167
178
|
unverified: unsettled.map(v => ({ ...v.finding, verdict: 'UNVERIFIED - every refuter failed' }))
|
|
168
179
|
.concat(all.slice(MAX_VERIFIED).map(f => ({ ...f, verdict: 'UNVERIFIED - budget cap' }))),
|
|
169
180
|
unknown,
|
|
181
|
+
caps,
|
|
170
182
|
}
|
package/bin/tezgah-skill.py
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""tezgah-skill [-k N] [--json] [--root DIR] QUERY... - find the skill section
|
|
3
|
-
that answers a topic.
|
|
4
|
-
|
|
5
|
-
The roster a session meets is hundreds of one-line names, so the skill that
|
|
6
|
-
holds the answer is a guess unless something searches the bodies. This is that
|
|
7
|
-
search: every installed skill root on the machine (the plugin's own, omp's user
|
|
8
|
-
and custom-directories corpora, Claude/Codex/Agents/opencode), indexed by
|
|
9
|
-
heading, ranked by the same BM25 the per-turn lessons block uses. Each hit is a
|
|
10
|
-
section, not a file:
|
|
11
|
-
|
|
12
|
-
skill://attack-jwt:26-122 /abs/SKILL.md JWT Token Attack
|
|
13
|
-
|
|
14
|
-
The `skill://<name>:<start>-<end>` address is what omp's read tool resolves
|
|
15
|
-
(line selectors included); the absolute path is for the hosts that have no
|
|
16
|
-
skill:// transport, and is also the tiebreaker where two roots hold different
|
|
17
|
-
skills under one name (the search reports the first root's copy, omp's own
|
|
18
|
-
precedence order - it does not resolve the collision for you).
|
|
19
|
-
|
|
20
|
-
--root DIR adds a directory to the discovered roots (a project's vendored
|
|
21
|
-
skills); --json prints the machine shape. Exit 0 hits, 1 none, 2 usage.
|
|
22
|
-
"""
|
|
23
|
-
import argparse
|
|
24
|
-
import json
|
|
25
|
-
import os
|
|
26
|
-
import sys
|
|
27
|
-
|
|
28
|
-
HERE = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
29
|
-
sys.path.insert(0, os.path.join(HERE, "hooks"))
|
|
30
|
-
import tezgah_skill_pick as sp # noqa: E402
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def main(argv=None):
|
|
34
|
-
parser = argparse.ArgumentParser(
|
|
35
|
-
prog="tezgah-skill", description=__doc__.splitlines()[0])
|
|
36
|
-
parser.add_argument("query", nargs="+", help="the topic to search for")
|
|
37
|
-
parser.add_argument("-k", type=int, default=5, metavar="N",
|
|
38
|
-
help="sections to print (default 5)")
|
|
39
|
-
parser.add_argument("--root", action="append", default=[], metavar="DIR",
|
|
40
|
-
help="an extra skills directory to index (repeatable)")
|
|
41
|
-
parser.add_argument("--json", action="store_true",
|
|
42
|
-
help="print [{skill, uri, path, title, start, end}]")
|
|
43
|
-
args = parser.parse_args(argv)
|
|
44
|
-
query = " ".join(args.query)
|
|
45
|
-
hits = sp.search(query, k=max(1, args.k),
|
|
46
|
-
roots=(sp.skill_roots(args.root) if args.root else None))
|
|
47
|
-
if args.json:
|
|
48
|
-
print(json.dumps([{"skill": h[0],
|
|
49
|
-
"uri": "skill://%s:%d-%d" % (h[0], h[3], h[4]),
|
|
50
|
-
"path": h[1], "title": h[2],
|
|
51
|
-
"start": h[3], "end": h[4]} for h in hits], indent=1))
|
|
52
|
-
else:
|
|
53
|
-
for skill, path, title, start, end in hits:
|
|
54
|
-
print("skill://%s:%d-%d\t%s\t%s" % (skill, start, end, path, title))
|
|
55
|
-
return 0 if hits else 1
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if __name__ == "__main__":
|
|
59
|
-
sys.exit(main())
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/{SKILL.md → ENTRY.md}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|