@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
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/** @jsxImportSource @opentui/solid */
|
|
2
|
+
// tezgah status line for the opencode 2 terminal (a CLI plugin).
|
|
3
|
+
//
|
|
4
|
+
// opencode 2 ignores tui.json: a local CLI plugin is a DIRECTORY listed in
|
|
5
|
+
// ~/.config/opencode/cli.json `plugins` (a spec naming a file is skipped), whose
|
|
6
|
+
// `tui` module default-exports Plugin.define({ id, setup }). Same data and marks
|
|
7
|
+
// as ../tezgah-tui.tsx (the opencode 1 shape, kept for v1 installs): one
|
|
8
|
+
// `tezgah-status <dir> --json [sessionID]` call per refresh, each segment colored
|
|
9
|
+
// green in force, yellow on-demand, red off, and a palette command for the legend.
|
|
10
|
+
import { Plugin } from "@opencode/plugin/tui"
|
|
11
|
+
import { createSignal, onCleanup, For } from "solid-js"
|
|
12
|
+
import { run } from "../tezgah-tui.tsx"
|
|
13
|
+
|
|
14
|
+
const SAFETY_MS = 30000
|
|
15
|
+
// Server events arrive per streamed part; one status call per burst is enough.
|
|
16
|
+
const DEBOUNCE_MS = 250
|
|
17
|
+
|
|
18
|
+
type Seg = { key: string; state: string; glyph: string; text: string; group?: number }
|
|
19
|
+
type Tone = { base: string }
|
|
20
|
+
// The part of the CLI plugin context this file reads (opencode.ai/v2/docs/build/plugins/cli).
|
|
21
|
+
type Ctx = {
|
|
22
|
+
location?: { directory?: string }
|
|
23
|
+
theme: { text: { muted: string; feedback: { success: Tone; warning: Tone; error: Tone } } }
|
|
24
|
+
data: { location: { default(): { directory?: string } | undefined }; listen(fn: () => void): () => void }
|
|
25
|
+
ui: { router: { current(): { type: string; sessionID?: string } | undefined } }
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function color(ctx: Ctx, state: string) {
|
|
29
|
+
const t = ctx.theme.text
|
|
30
|
+
if (state === "on") return t.feedback.success.base
|
|
31
|
+
if (state === "ready") return t.feedback.warning.base
|
|
32
|
+
if (state === "off") return t.feedback.error.base
|
|
33
|
+
return t.muted
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function args(ctx: Ctx): string[] {
|
|
37
|
+
const dir = ctx.location?.directory || ctx.data.location.default()?.directory || process.cwd()
|
|
38
|
+
// The active session id is what lets the used marks (graph/consult/orch) light.
|
|
39
|
+
const route = ctx.ui.router.current()
|
|
40
|
+
return route?.type === "session" && route.sessionID ? [dir, "--json", route.sessionID] : [dir, "--json"]
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function TezgahBar(props: { ctx: Ctx }) {
|
|
44
|
+
const [segs, setSegs] = createSignal<Seg[]>([])
|
|
45
|
+
const update = () => {
|
|
46
|
+
try {
|
|
47
|
+
setSegs(JSON.parse(run(args(props.ctx)) || "[]"))
|
|
48
|
+
} catch {
|
|
49
|
+
setSegs([])
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
let pending: Timer | undefined
|
|
53
|
+
const soon = () => {
|
|
54
|
+
clearTimeout(pending)
|
|
55
|
+
pending = setTimeout(update, DEBOUNCE_MS)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
update()
|
|
59
|
+
const stop = props.ctx.data.listen(soon)
|
|
60
|
+
const timer = setInterval(update, SAFETY_MS)
|
|
61
|
+
onCleanup(() => {
|
|
62
|
+
stop()
|
|
63
|
+
clearTimeout(pending)
|
|
64
|
+
clearInterval(timer)
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<box paddingLeft={1} flexShrink={0} flexDirection="row">
|
|
69
|
+
<For each={segs()}>
|
|
70
|
+
{(s, i) => (
|
|
71
|
+
<box flexDirection="row">
|
|
72
|
+
<text fg={color(props.ctx, s.state)}>{s.text + (s.glyph || "")}</text>
|
|
73
|
+
<text fg={props.ctx.theme.text.muted}>
|
|
74
|
+
{i() < segs().length - 1
|
|
75
|
+
? (segs()[i() + 1].group === s.group ? " " : " · ")
|
|
76
|
+
: ""}
|
|
77
|
+
</text>
|
|
78
|
+
</box>
|
|
79
|
+
)}
|
|
80
|
+
</For>
|
|
81
|
+
</box>
|
|
82
|
+
)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export default Plugin.define({
|
|
86
|
+
id: "tezgah.status",
|
|
87
|
+
setup(ctx) {
|
|
88
|
+
ctx.keymap.layer(() => ({
|
|
89
|
+
mode: "global",
|
|
90
|
+
commands: [{
|
|
91
|
+
id: "tezgah.legend",
|
|
92
|
+
title: "tezgah: status legend",
|
|
93
|
+
group: "tezgah",
|
|
94
|
+
palette: true,
|
|
95
|
+
run: () => ctx.ui.dialog.alert({ title: "tezgah status marks", message: run(["--legend"]) }),
|
|
96
|
+
}],
|
|
97
|
+
}))
|
|
98
|
+
return ctx.ui.slot({ append: "prompt.footer", render: () => <TezgahBar ctx={ctx} /> })
|
|
99
|
+
},
|
|
100
|
+
})
|
|
@@ -51,7 +51,8 @@ function pythonBin(): string {
|
|
|
51
51
|
return (pythonMemo = found || names[0])
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
// Exported for cli/tui.tsx, the opencode 2 shape of this plugin.
|
|
55
|
+
export function run(args: string[]): string {
|
|
55
56
|
try {
|
|
56
57
|
const proc = Bun.spawnSync({ cmd: [pythonBin(), STATUS, ...args], stdout: "pipe", stderr: "ignore" })
|
|
57
58
|
return new TextDecoder().decode(proc.stdout).trim()
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Qwen Code lifecycle hook. Reads Qwen's JSON on stdin and answers in Qwen's own
|
|
3
|
+
output shape, onto the shared tezgah core (hooks/).
|
|
4
|
+
|
|
5
|
+
Qwen Code 0.21.13 fires SessionStart, UserPromptSubmit, PreToolUse, PostToolUse,
|
|
6
|
+
PostToolUseFailure, SubagentStart, SubagentStop and Stop here
|
|
7
|
+
(`bin/tezgah-setup::QWEN_HOOK_EVENTS`); anything else is ignored. Inert outside
|
|
8
|
+
the roots.
|
|
9
|
+
|
|
10
|
+
The always-on core is the managed block in `~/.qwen/QWEN.md`, which Qwen loads
|
|
11
|
+
into every session, so SessionStart repeats it only when that block is missing.
|
|
12
|
+
PreToolUse translates Qwen's runtime tool ids into the gate's vocabulary and
|
|
13
|
+
denies with `hookSpecificOutput.permissionDecision` on exit 0 - never exit 2,
|
|
14
|
+
whose stderr channel carries no reason the ledger and the probe can read. Qwen
|
|
15
|
+
fires PostToolUse for a successful call and PostToolUseFailure for a failed one
|
|
16
|
+
(a shell exit Qwen counts as an error, `isShellExitError`), so the event is the
|
|
17
|
+
call's outcome. Stop blocks a done/tested claim with no successful check behind
|
|
18
|
+
it, judged on `last_assistant_message`, the same rule Claude's Stop hook enforces
|
|
19
|
+
(hooks/tezgah_integrity.py). The status line is `tezgah-statusline --qwen`, Qwen's
|
|
20
|
+
`ui.statusLine` command, so no event here carries it.
|
|
21
|
+
"""
|
|
22
|
+
import json
|
|
23
|
+
import os
|
|
24
|
+
import sys
|
|
25
|
+
|
|
26
|
+
ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
|
|
27
|
+
sys.path.insert(0, os.path.join(ROOT, "hooks"))
|
|
28
|
+
from tezgah_guard import attest_session, import_failed, safe # noqa: E402
|
|
29
|
+
try:
|
|
30
|
+
from tezgah_context import command_text, context_for, record, shell_kind # noqa: E402
|
|
31
|
+
from tezgah_gate import cross_project_note, decision, graph_advice # noqa: E402
|
|
32
|
+
from tezgah_integrity import ( # noqa: E402
|
|
33
|
+
SUBAGENT_CHANNEL, bind_session, note, note_tool, ran_nothing, report_bytes,
|
|
34
|
+
stop_reason, untrusted_source)
|
|
35
|
+
from tezgah_paths import HOST_DIRS, off, root_for # noqa: E402
|
|
36
|
+
from tezgah_taste import write_note # noqa: E402
|
|
37
|
+
from tezgah_untrusted import marks # noqa: E402
|
|
38
|
+
except Exception as exc:
|
|
39
|
+
import_failed(exc)
|
|
40
|
+
|
|
41
|
+
# Qwen's runtime tool ids (the `ToolNames` table in the 0.21.13 bundle) -> the
|
|
42
|
+
# shared gate's vocabulary. `replace` is the edit tool's id in older builds; the
|
|
43
|
+
# 0.21.13 bundle has none, and an unknown id passes the gate untouched. MCP tools
|
|
44
|
+
# arrive as `mcp__<server>__<tool>`, the shared shape, and pass through.
|
|
45
|
+
# `monitor` runs a shell command too (Qwen's headless deny list pairs it with
|
|
46
|
+
# SHELL), and `notebook_edit` writes an .ipynb (review of plan 138).
|
|
47
|
+
GATE_TOOLS = {
|
|
48
|
+
"run_shell_command": "Bash",
|
|
49
|
+
"monitor": "Bash",
|
|
50
|
+
"write_file": "Write",
|
|
51
|
+
"edit": "Edit",
|
|
52
|
+
"replace": "Edit",
|
|
53
|
+
"notebook_edit": "NotebookEdit",
|
|
54
|
+
"agent": "Task",
|
|
55
|
+
"grep_search": "Grep",
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def gate_name(name):
|
|
60
|
+
"""The tool name the gate denies under and the ledger row records.
|
|
61
|
+
|
|
62
|
+
`call_id` hashes the name it is handed, so both halves map through here: a
|
|
63
|
+
PostToolUse row under the raw id would never match the PreToolUse call and
|
|
64
|
+
the loop guard would never deny (`hosts/codex/hook.py::gate_name`)."""
|
|
65
|
+
return GATE_TOOLS.get(name, name)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def classify(payload):
|
|
69
|
+
"""The used-tool kind for a tool payload, or None."""
|
|
70
|
+
name = payload.get("tool_name", "") or ""
|
|
71
|
+
if name.startswith("mcp__") and "codegraph" in name:
|
|
72
|
+
return "graph"
|
|
73
|
+
if name == "agent":
|
|
74
|
+
return "orch"
|
|
75
|
+
if name == "run_shell_command":
|
|
76
|
+
return shell_kind(command_text(payload.get("tool_input")))
|
|
77
|
+
return None
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def subagent_id(payload):
|
|
81
|
+
"""The subagent id Qwen adds to a hook input run inside a subagent, else None."""
|
|
82
|
+
aid = payload.get("agent_id")
|
|
83
|
+
return aid if isinstance(aid, str) and aid else None
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def rules_carry_core():
|
|
87
|
+
"""True when `QWEN.md` in Qwen's home holds tezgah-setup's managed block."""
|
|
88
|
+
try:
|
|
89
|
+
with open(os.path.join(HOST_DIRS["qwen"], "QWEN.md"), encoding="utf-8") as fh:
|
|
90
|
+
return "<!-- tezgah:start" in fh.read()
|
|
91
|
+
except OSError:
|
|
92
|
+
return False
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def result_size(result):
|
|
96
|
+
"""The result's top-level length, the Claude-family writer's measure; a value
|
|
97
|
+
with no length counts as non-empty and only a missing result is None."""
|
|
98
|
+
if isinstance(result, (str, bytes, bytearray, list, tuple, dict, set, frozenset)):
|
|
99
|
+
return len(result)
|
|
100
|
+
return 1 if result is not None else None
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def inp_of(payload):
|
|
104
|
+
inp = payload.get("tool_input")
|
|
105
|
+
return inp if isinstance(inp, dict) else {}
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def post_tool(payload, cwd, session_id, failed):
|
|
109
|
+
"""The ledger row for one finished call, and the notice for the model."""
|
|
110
|
+
tool = gate_name(payload.get("tool_name", ""))
|
|
111
|
+
inp = inp_of(payload)
|
|
112
|
+
# a `monitor` PostToolUse fires when the watch starts ("Monitor started"),
|
|
113
|
+
# long before its command ends: it records a run, never a pass (review of
|
|
114
|
+
# plan 138, round 2); a failed start still arrives as PostToolUseFailure
|
|
115
|
+
if payload.get("tool_name") == "monitor" and failed is False:
|
|
116
|
+
failed = None
|
|
117
|
+
safe(session_id, record, session_id, classify(payload))
|
|
118
|
+
if not root_for(cwd):
|
|
119
|
+
return None
|
|
120
|
+
result = payload.get("tool_response")
|
|
121
|
+
# read before this call's row lands: `source` is the taint's own mark
|
|
122
|
+
got = safe(session_id, marks, tool, inp, session_id, result)
|
|
123
|
+
source, notice = got or (None, None)
|
|
124
|
+
safe(session_id, note_tool, session_id, tool, inp, failed=failed,
|
|
125
|
+
interrupted=bool(failed and payload.get("is_interrupt") is True),
|
|
126
|
+
source=source, cwd=cwd,
|
|
127
|
+
out_bytes=(report_bytes(result)
|
|
128
|
+
if untrusted_source(tool, inp) == SUBAGENT_CHANNEL
|
|
129
|
+
else result_size(result)),
|
|
130
|
+
empty_run=ran_nothing(result), agent=subagent_id(payload))
|
|
131
|
+
advice = safe(session_id, graph_advice, tool, inp, cwd, "qwen")
|
|
132
|
+
taste = cross = None
|
|
133
|
+
if not failed:
|
|
134
|
+
taste = safe(session_id, write_note, session_id, inp, cwd, tool)
|
|
135
|
+
cross = safe(session_id, cross_project_note, session_id, tool, inp, cwd)
|
|
136
|
+
return "\n".join(p for p in (notice, advice, taste, cross) if p)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def context(event, text):
|
|
140
|
+
return {"hookSpecificOutput": {"hookEventName": event,
|
|
141
|
+
"additionalContext": text}} if text else {}
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def main():
|
|
145
|
+
try:
|
|
146
|
+
payload = json.load(sys.stdin)
|
|
147
|
+
except Exception:
|
|
148
|
+
return
|
|
149
|
+
if not isinstance(payload, dict):
|
|
150
|
+
return
|
|
151
|
+
event = payload.get("hook_event_name") or ""
|
|
152
|
+
cwd = payload.get("cwd") or os.getcwd()
|
|
153
|
+
session_id = payload.get("session_id")
|
|
154
|
+
safe(session_id, bind_session, session_id) # the switch latch (tezgah_paths.off)
|
|
155
|
+
out = {}
|
|
156
|
+
if event == "PreToolUse":
|
|
157
|
+
reason = safe(session_id, decision, gate_name(payload.get("tool_name", "")),
|
|
158
|
+
inp_of(payload), cwd, session_id, agent=subagent_id(payload))
|
|
159
|
+
if reason:
|
|
160
|
+
out = {"hookSpecificOutput": {
|
|
161
|
+
"hookEventName": "PreToolUse",
|
|
162
|
+
"permissionDecision": "deny",
|
|
163
|
+
"permissionDecisionReason": reason,
|
|
164
|
+
}}
|
|
165
|
+
elif event in ("PostToolUse", "PostToolUseFailure"):
|
|
166
|
+
out = context(event, post_tool(payload, cwd, session_id,
|
|
167
|
+
event == "PostToolUseFailure"))
|
|
168
|
+
elif event == "SessionStart":
|
|
169
|
+
safe(session_id, attest_session, "qwen", session_id, cwd)
|
|
170
|
+
out = context(event, safe(session_id, context_for, "session_start", cwd,
|
|
171
|
+
payload, with_core=not rules_carry_core()))
|
|
172
|
+
elif event == "UserPromptSubmit":
|
|
173
|
+
out = context(event, safe(session_id, context_for, "user_prompt", cwd, payload))
|
|
174
|
+
elif event == "SubagentStart":
|
|
175
|
+
safe(session_id, record, session_id, "orch")
|
|
176
|
+
kind = payload.get("agent_type")
|
|
177
|
+
if subagent_id(payload) and isinstance(kind, str) and root_for(cwd):
|
|
178
|
+
safe(session_id, note, session_id, "subagent_start", kind,
|
|
179
|
+
agent=subagent_id(payload))
|
|
180
|
+
# the delegate is a fresh context: Qwen documents additionalContext here
|
|
181
|
+
# as the subagent's initial context
|
|
182
|
+
out = context(event, safe(session_id, context_for, "subagent_start", cwd,
|
|
183
|
+
payload))
|
|
184
|
+
elif event == "SubagentStop":
|
|
185
|
+
# a subagent's end is judged record-only (ADR 011): one `subagent_end`
|
|
186
|
+
# row from its last message, never a block
|
|
187
|
+
safe(session_id, record, session_id, "orch")
|
|
188
|
+
if not off("verify-off") and root_for(cwd):
|
|
189
|
+
safe(session_id, stop_reason, payload.get("last_assistant_message") or "",
|
|
190
|
+
session_id, cwd=cwd, subagent=True)
|
|
191
|
+
elif event == "Stop":
|
|
192
|
+
# Qwen's Stop carries `last_assistant_message` and `stop_hook_active`,
|
|
193
|
+
# and takes {"decision": "block", "reason": ...}. The reply after a block
|
|
194
|
+
# is judged again and refused at most once more (tezgah_integrity).
|
|
195
|
+
if not off("verify-off") and root_for(cwd):
|
|
196
|
+
reason = safe(session_id, stop_reason,
|
|
197
|
+
payload.get("last_assistant_message"), session_id,
|
|
198
|
+
cwd=cwd, after_block=bool(payload.get("stop_hook_active")),
|
|
199
|
+
mode=payload.get("permission_mode"))
|
|
200
|
+
if reason:
|
|
201
|
+
out = {"decision": "block", "reason": reason}
|
|
202
|
+
if out:
|
|
203
|
+
print(json.dumps(out))
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
main()
|
package/output-styles/tezgah.md
CHANGED
|
@@ -36,7 +36,7 @@ one small test); a one-liner needs none. A complex ask ships the lazy version
|
|
|
36
36
|
and names the fuller one in the same reply instead of stalling. Reply: code
|
|
37
37
|
first; write what was cut only when you consciously cut something the user asked
|
|
38
38
|
for, in at most three lines. In force from the first turn; levels
|
|
39
|
-
lite|full|ultra are set with
|
|
39
|
+
lite|full|ultra are set with `~/.config/tezgah/bin/tezgah-pony` and ride the per-turn reminder when
|
|
40
40
|
not `full`; read the full `ponytail` skill from the router for the level table
|
|
41
41
|
and examples. Off: "stop ponytail".
|
|
42
42
|
|
|
@@ -47,7 +47,10 @@ bounded action per step, and while it is in flight its position is restated in
|
|
|
47
47
|
one line - the todo list is that source, never re-narrate the plan. End with the
|
|
48
48
|
approval questions the Ask policy (below) leaves, or with nothing when none is
|
|
49
49
|
left; a step you can take yourself is taken, never handed
|
|
50
|
-
over
|
|
50
|
+
over, and in the host's plan mode, where nothing can run, the plan is the
|
|
51
|
+
deliverable: its approval is the question that turn asks and nothing is
|
|
52
|
+
reported as done or tested.
|
|
53
|
+
Finish the issue in hand before raising a second one; an error states
|
|
51
54
|
location, cause and fix with no drama, naming a cause only when the evidence
|
|
52
55
|
identifies it (else what is known and what would confirm it); after a change say
|
|
53
56
|
what now works. A list shows at most five items, ranked, the rest kept in
|
|
@@ -62,7 +65,7 @@ assumption and ask one diagnostic question. Before sending, delete an opening
|
|
|
62
65
|
sentence that announces, a closing one that recaps or asks "anything else?", any
|
|
63
66
|
by-the-way sidebar and any hedge that carries no real uncertainty. In force from
|
|
64
67
|
the first answer; read the full `i-have-adhd` skill from the router for the
|
|
65
|
-
examples. Off:
|
|
68
|
+
examples. Off: `~/.config/tezgah/bin/tezgah-adhd off`, or the repo's `.no-adhd`.
|
|
66
69
|
|
|
67
70
|
**Deliver the whole ask; never the shortcut.** The request defines the
|
|
68
71
|
deliverable: every named item is in scope until the user says otherwise, and the
|
|
@@ -112,15 +115,17 @@ lines: item - blocker - evidence - what unblocks it. No blockers: no heading.
|
|
|
112
115
|
Work and process - the order, "shall I go on", a check, a plan, a consult
|
|
113
116
|
member, a spend within `spend_cap`, a local merge of the session's branch,
|
|
114
117
|
removing its worktree - are taken and stated in one line, never asked; a taste
|
|
115
|
-
or intent fork goes in the batch with a default taken this turn, but
|
|
116
|
-
|
|
118
|
+
or intent fork goes in the batch with a default taken this turn, but the
|
|
119
|
+
never-default items below wait for the answer. An outward step
|
|
117
120
|
on the user's own remote (push, PR, release, their package) runs on a grant
|
|
118
121
|
("push without asking", "I approve", "bana sormadan pushla", "onay veriyorum"), else is asked once. Never on a
|
|
119
122
|
default - ask and wait for an answer naming action and target: a force push,
|
|
120
123
|
deleting what the session did not make, production, a credential, a third
|
|
121
|
-
party, a spend over the cap
|
|
124
|
+
party, a spend over the cap, building a plan this turn wrote, picking a
|
|
125
|
+
recommended variant, a way around a tezgah refusal, another session's work. The batch: one "Approval questions"/"Onay için sorular" heading, waiting
|
|
122
126
|
items first, each numbered item with "Recommended:"/"Öneri:" its default; an ask tool
|
|
123
|
-
sets a recommended option.
|
|
127
|
+
sets a recommended option. No fresh subagent, no review verdict: say so and
|
|
128
|
+
ask. Contest a finding only with a file:line; never lower a severity.
|
|
124
129
|
**Say what a number was measured on.** A figure produced by a fixture - a temp
|
|
125
130
|
HOME, a generated repository, a stand-in, a hand-written sample - is evidence
|
|
126
131
|
about the code path, never a property of the running system, and it is reported
|
|
@@ -169,19 +174,19 @@ issue for one of its tools mid-session. Name a missing capability in one line,
|
|
|
169
174
|
use the documented fallback (grep/find, or the second opinion skipped), and carry
|
|
170
175
|
on with the task in hand. Tezgah maintenance is in scope when the user asks for
|
|
171
176
|
it, or when the repo IS the tezgah checkout. Before working a topic an
|
|
172
|
-
installed skill covers, run
|
|
177
|
+
installed skill covers, run `~/.config/tezgah/bin/tezgah-skill <words>` and read only the range it
|
|
173
178
|
returns.
|
|
174
179
|
|
|
175
180
|
**Workspace: `.tezgah/` only.** Every per-project tezgah artifact - plans,
|
|
176
|
-
research lines, analysis, lessons - lives under `<repo>/.tezgah/`,
|
|
177
|
-
project
|
|
178
|
-
|
|
179
|
-
project root and never `git add -f`
|
|
181
|
+
research lines, analysis, lessons - lives under `<repo>/.tezgah/`, ignored by
|
|
182
|
+
the project, committed with `git -C .tezgah ...` - or, if the project tracks
|
|
183
|
+
it, plain `git add`/`git commit`. Never create `plans/`, `research/` or
|
|
184
|
+
`analysis/` at the project root and never `git add -f` under `.tezgah/`. Off:
|
|
180
185
|
`workspace-off`.
|
|
181
186
|
|
|
182
187
|
**Kill switches:** each one removes its own rule from this text, not just the
|
|
183
188
|
status mark. `~/.config/tezgah/`: `exec-mode.off`, `orchestrate-off`,
|
|
184
|
-
`consult-off`, `research-off`, `ponytail-auto.off`, `adhd-off`, `spec-off`,
|
|
189
|
+
`consult-off`, `research-off`, `ponytail-auto.off`, `adhd-off`, `spec-off`, `design-off`,
|
|
185
190
|
`reminder-off`, `verify-off` (the integrity rule: its prompt text, the shortcut
|
|
186
191
|
denials and the Stop gate), `task-off` (the task rule), `judge-off` (the
|
|
187
192
|
judgement seam: the triage, the docs fallback and the skill hint), `triage-off`,
|
|
@@ -189,6 +194,6 @@ judgement seam: the triage, the docs fallback and the skill hint), `triage-off`,
|
|
|
189
194
|
rule), `workspace-off` (the root plans/research/analysis refusal),
|
|
190
195
|
`pretooluse-off` (the whole gate);
|
|
191
196
|
per-repo `.no-ponytail`, `.no-adhd`, `.no-graph`, `.no-lessons`.
|
|
192
|
-
The ponytail intensity level is not a switch:
|
|
197
|
+
The ponytail intensity level is not a switch: `~/.config/tezgah/bin/tezgah-pony lite|full|ultra`.
|
|
193
198
|
|
|
194
|
-
**On-demand rules (armed when the task class matches; full text in the `tezgah-contract` skill).** Spec-first for an underspecified or quality-only ask. A second opinion before a call that is hard to reverse or that one model would answer with unearned confidence. OpenResearch routing for research. Product analysis is a five-axis evidence task - value, usability (the running app, not the source), feasibility (a cited `path:line`), competition, and keep/fix/cut/bet triage - with one named evidence class per finding. The code graph for "who calls X" and "what breaks if Z changes". Two or more independent items fan out to parallel subagents in one message, one git worktree per writing slice.
|
|
199
|
+
**On-demand rules (armed when the task class matches; full text in the `tezgah-contract` skill).** Spec-first for an underspecified or quality-only ask. A second opinion before a call that is hard to reverse or that one model would answer with unearned confidence. OpenResearch routing for research. Product analysis is a five-axis evidence task - value, usability (the running app, not the source), feasibility (a cited `path:line`), competition, and keep/fix/cut/bet triage - with one named evidence class per finding (`product-analysis`, `pm-frameworks`). The code graph for "who calls X" and "what breaks if Z changes". Two or more independent items fan out to parallel subagents in one message, one git worktree per writing slice. A UI turn reads the `design-contract` skill (`design-library`, `analyze-app`) and is judged against `.tezgah/design-contract.md`: `~/.config/tezgah/bin/tezgah-design derive` writes it from the repository's own tokens and its `check` measures a change against it.
|
package/package.json
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ai-research
|
|
3
3
|
description: >
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
machinery: training or fine-tuning a model, serving or quantizing one,
|
|
7
|
-
evaluating a benchmark, reading model internals, building a retrieval or agent
|
|
8
|
-
pipeline, tracking runs, or writing the result up. Read the one entry the work
|
|
9
|
-
needs, never the tree. Do NOT use for code discovery ("where is X", "who calls
|
|
10
|
-
Y") - that is the code graph.
|
|
4
|
+
Use when a research line needs AI/ML machinery: training, fine-tuning,
|
|
5
|
+
serving, evals; ince ayar, dil modeli. Not for RL environments - use `rl-env`.
|
|
11
6
|
---
|
|
12
7
|
|
|
13
8
|
# ai-research
|
|
14
9
|
|
|
10
|
+
## When to use
|
|
11
|
+
|
|
12
|
+
The vendored AI-research-SKILLs library - 98 upstream skills in 23 categories,
|
|
13
|
+
MIT - that now ships with tezgah. Use when a research line needs AI or ML
|
|
14
|
+
machinery: training or fine-tuning a model, serving or quantizing one,
|
|
15
|
+
evaluating a benchmark, reading model internals, building a retrieval or agent
|
|
16
|
+
pipeline, tracking runs, or writing the result up. Read the one entry the work
|
|
17
|
+
needs, never the tree. Do NOT use for code discovery ("where is X", "who calls
|
|
18
|
+
Y") - that is the code graph.
|
|
19
|
+
|
|
15
20
|
Ninety-eight skills from Orchestra Research's `AI-research-SKILLs`, vendored into
|
|
16
21
|
this repository at revision `773a529` (2026-06-15, MIT) and kept in the upstream
|
|
17
22
|
layout, so a path here is the path there. Re-vendor, or verify the tree, with
|
|
@@ -27,8 +32,10 @@ before.
|
|
|
27
32
|
|
|
28
33
|
1. **`index/<stage>.md`** - six files, one per stage of a research line. Read the
|
|
29
34
|
one that matches the work in hand; it lists every entry with its purpose.
|
|
30
|
-
2. **the entry's `
|
|
31
|
-
`11-evaluation/lm-evaluation-harness/
|
|
35
|
+
2. **the entry's `ENTRY.md`** - the file the index line names, e.g.
|
|
36
|
+
`11-evaluation/lm-evaluation-harness/ENTRY.md`. That is the upstream body:
|
|
37
|
+
upstream's `SKILL.md`, renamed so a host that lists every `SKILL.md` below its
|
|
38
|
+
skills directory does not list it. A body that says `SKILL.md` means this file.
|
|
32
39
|
3. **its `references/`** - the detail the body points at, when the body is not
|
|
33
40
|
enough.
|
|
34
41
|
|
|
@@ -57,7 +64,7 @@ Each index line can carry a flag, and they are not decoration:
|
|
|
57
64
|
live links in the same entry still work.
|
|
58
65
|
|
|
59
66
|
An entry with no body vendored would be a line without a file - there is none:
|
|
60
|
-
every one of the 98 ships its `
|
|
67
|
+
every one of the 98 ships its `ENTRY.md`.
|
|
61
68
|
|
|
62
69
|
## Where tezgah's own rules still win
|
|
63
70
|
|
|
@@ -75,14 +82,14 @@ account, a paid service or the user's data still needs the user's yes first.
|
|
|
75
82
|
this contract's protocol-before-run rule.
|
|
76
83
|
- `20-ml-paper-writing/ml-paper-writing/references/citation-workflow.md` - how to
|
|
77
84
|
verify a reference instead of writing one from memory.
|
|
78
|
-
- `20-ml-paper-writing/academic-plotting/
|
|
85
|
+
- `20-ml-paper-writing/academic-plotting/ENTRY.md` - chart-type rules, a
|
|
79
86
|
colourblind-safe palette and venue column widths; every line ends in a figure.
|
|
80
|
-
- `22-agent-native-research-artifact/rigor-reviewer/
|
|
87
|
+
- `22-agent-native-research-artifact/rigor-reviewer/ENTRY.md` - the 1-5 scoring
|
|
81
88
|
anchors and severity inventory behind this contract's six-dimension review.
|
|
82
|
-
- `22-agent-native-research-artifact/compiler/
|
|
89
|
+
- `22-agent-native-research-artifact/compiler/ENTRY.md` - evidence fidelity: exact
|
|
83
90
|
numbers, a derived subset never named `Table N`, every evidence file carrying
|
|
84
91
|
its source.
|
|
85
|
-
- `11-evaluation/lm-evaluation-harness/
|
|
92
|
+
- `11-evaluation/lm-evaluation-harness/ENTRY.md` - the runnable benchmark recipe a
|
|
86
93
|
research line usually quotes.
|
|
87
94
|
|
|
88
95
|
## Provenance
|
|
@@ -10,12 +10,14 @@ contributing author of that entry. Checkout for a re-vendor:
|
|
|
10
10
|
|
|
11
11
|
Every skill's `SKILL.md` and every markdown file beside it, in the upstream
|
|
12
12
|
layout, because a vendored path is its provenance. 98 skills across 23
|
|
13
|
-
categories, 365 files, 4202519 bytes.
|
|
13
|
+
categories, 365 files, 4202519 bytes. One rename: each entry's `SKILL.md` sits at
|
|
14
|
+
the upstream path as `ENTRY.md`, bytes unchanged, so a host that lists every
|
|
15
|
+
`SKILL.md` below its skills directory (codex, Cursor) does not list it.
|
|
14
16
|
|
|
15
17
|
## What is not, and why
|
|
16
18
|
|
|
17
19
|
Files: `03-fine-tuning/unsloth/references/llms-full.md`, `03-fine-tuning/unsloth/references/llms-txt.md`, `08-distributed-training/deepspeed/references/tutorials.md` - machine-scraped reference dumps, which the entry's own
|
|
18
|
-
`
|
|
20
|
+
`ENTRY.md` already distils.
|
|
19
21
|
|
|
20
22
|
Directories: `20-ml-paper-writing/ml-paper-writing/templates`, `20-ml-paper-writing/systems-paper-writing/templates` - LaTeX class/bst/bib trees and example PDFs,
|
|
21
23
|
re-downloadable from each venue.
|
|
@@ -27,9 +29,9 @@ is dropped by the importer's `*.md` filter, and `demos/`, `docs/`,
|
|
|
27
29
|
## The only modification
|
|
28
30
|
|
|
29
31
|
A markdown file that carries no YAML frontmatter gets one attribution
|
|
30
|
-
comment on its first line. `
|
|
31
|
-
frontmatter included. `skills/ai-research/SKILL.md` is
|
|
32
|
-
not part of the manifest.
|
|
32
|
+
comment on its first line. `ENTRY.md` files are byte-for-byte upstream
|
|
33
|
+
`SKILL.md`, frontmatter included. `skills/ai-research/SKILL.md` is
|
|
34
|
+
tezgah's own and is not part of the manifest.
|
|
33
35
|
|
|
34
36
|
## Re-vendoring
|
|
35
37
|
|
|
@@ -10,9 +10,9 @@ links N reference files upstream does not ship.
|
|
|
10
10
|
|
|
11
11
|
| entry | file | what it covers | flags |
|
|
12
12
|
|---|---|---|---|
|
|
13
|
-
| `0-autoresearch-skill` | `0-autoresearch-skill/
|
|
14
|
-
| `brainstorming-research-ideas` | `21-research-ideation/brainstorming-research-ideas/
|
|
15
|
-
| `creative-thinking-for-research` | `21-research-ideation/creative-thinking-for-research/
|
|
16
|
-
| `compiler` | `22-agent-native-research-artifact/compiler/
|
|
17
|
-
| `research-manager` | `22-agent-native-research-artifact/research-manager/
|
|
18
|
-
| `rigor-reviewer` | `22-agent-native-research-artifact/rigor-reviewer/
|
|
13
|
+
| `0-autoresearch-skill` | `0-autoresearch-skill/ENTRY.md` | Orchestrates end-to-end autonomous AI research projects using a two-loop architecture. | |
|
|
14
|
+
| `brainstorming-research-ideas` | `21-research-ideation/brainstorming-research-ideas/ENTRY.md` | Guides researchers through structured ideation frameworks to discover high-impact research directions. | |
|
|
15
|
+
| `creative-thinking-for-research` | `21-research-ideation/creative-thinking-for-research/ENTRY.md` | Applies cognitive science frameworks for creative thinking to CS and AI research ideation. | |
|
|
16
|
+
| `compiler` | `22-agent-native-research-artifact/compiler/ENTRY.md` | Compiles any research input — PDF papers, GitHub repositories, experiment logs, code directories, or raw notes — into a complete Agent-Native Research Artifact (ARA) with ... | |
|
|
17
|
+
| `research-manager` | `22-agent-native-research-artifact/research-manager/ENTRY.md` | Records research provenance as a post-task epilogue, scanning conversation history at the end of a coding or research session to extract decisions, experiments, dead ends, claims ... | |
|
|
18
|
+
| `rigor-reviewer` | `22-agent-native-research-artifact/rigor-reviewer/ENTRY.md` | Performs ARA Seal Level 2 semantic epistemic review on Agent-Native Research Artifacts, scoring six dimensions (evidence relevance, falsifiability, scope calibration, argument ... | |
|
|
@@ -10,12 +10,12 @@ links N reference files upstream does not ship.
|
|
|
10
10
|
|
|
11
11
|
| entry | file | what it covers | flags |
|
|
12
12
|
|---|---|---|---|
|
|
13
|
-
| `huggingface-tokenizers` | `02-tokenization/huggingface-tokenizers/
|
|
14
|
-
| `sentencepiece` | `02-tokenization/sentencepiece/
|
|
15
|
-
| `nemo-curator` | `05-data-processing/nemo-curator/
|
|
16
|
-
| `ray-data` | `05-data-processing/ray-data/
|
|
17
|
-
| `chroma` | `15-rag/chroma/
|
|
18
|
-
| `faiss` | `15-rag/faiss/
|
|
19
|
-
| `pinecone` | `15-rag/pinecone/
|
|
20
|
-
| `qdrant` | `15-rag/qdrant/
|
|
21
|
-
| `sentence-transformers` | `15-rag/sentence-transformers/
|
|
13
|
+
| `huggingface-tokenizers` | `02-tokenization/huggingface-tokenizers/ENTRY.md` | Fast tokenizers optimized for research and production. | |
|
|
14
|
+
| `sentencepiece` | `02-tokenization/sentencepiece/ENTRY.md` | Language-independent tokenizer treating text as raw Unicode. | |
|
|
15
|
+
| `nemo-curator` | `05-data-processing/nemo-curator/ENTRY.md` | GPU-accelerated data curation for LLM training. | |
|
|
16
|
+
| `ray-data` | `05-data-processing/ray-data/ENTRY.md` | Scalable data processing for ML workloads. | |
|
|
17
|
+
| `chroma` | `15-rag/chroma/ENTRY.md` | Open-source embedding database for AI applications. | |
|
|
18
|
+
| `faiss` | `15-rag/faiss/ENTRY.md` | Facebook's library for efficient similarity search and clustering of dense vectors. | |
|
|
19
|
+
| `pinecone` | `15-rag/pinecone/ENTRY.md` | Managed vector database for production AI applications. | |
|
|
20
|
+
| `qdrant` | `15-rag/qdrant/ENTRY.md` | High-performance vector similarity search engine for RAG and semantic search. | |
|
|
21
|
+
| `sentence-transformers` | `15-rag/sentence-transformers/ENTRY.md` | Framework for state-of-the-art sentence, text, and image embeddings. | |
|