@proflandrigan/shards 1.1.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/README.md +475 -0
- package/package.json +37 -0
- package/src/agents/academic.md +276 -0
- package/src/agents/ai-engineer.md +377 -0
- package/src/agents/analytics-engineer.md +364 -0
- package/src/agents/applied-ml-scientist.md +410 -0
- package/src/agents/backend-engineer.md +255 -0
- package/src/agents/bi-engineer.md +333 -0
- package/src/agents/data-analyst.md +343 -0
- package/src/agents/data-engineer.md +260 -0
- package/src/agents/data-modeller.md +386 -0
- package/src/agents/data-scientist.md +366 -0
- package/src/agents/deep-learning-engineer.md +389 -0
- package/src/agents/ml-engineer.md +424 -0
- package/src/agents/mlops-engineer.md +339 -0
- package/src/agents/researcher.md +187 -0
- package/src/agents/specific_instructions/academic/critical_review.md +263 -0
- package/src/agents/specific_instructions/academic/report.md +113 -0
- package/src/agents/specific_instructions/ai_engineer/advise.md +162 -0
- package/src/agents/specific_instructions/ai_engineer/bi_engineer_handoff.md +86 -0
- package/src/agents/specific_instructions/ai_engineer/experiment.md +471 -0
- package/src/agents/specific_instructions/ai_engineer/experiment_ui_mode.md +44 -0
- package/src/agents/specific_instructions/ai_engineer/phases/index.md +45 -0
- package/src/agents/specific_instructions/ai_engineer/phases/phase-1.md +55 -0
- package/src/agents/specific_instructions/ai_engineer/phases/phase-2.md +86 -0
- package/src/agents/specific_instructions/ai_engineer/phases/phase-3.md +96 -0
- package/src/agents/specific_instructions/ai_engineer/phases/phase-4.md +138 -0
- package/src/agents/specific_instructions/ai_engineer/phases/phase-5.md +157 -0
- package/src/agents/specific_instructions/ai_engineer/phases/phase-6.md +196 -0
- package/src/agents/specific_instructions/ai_engineer/phases/phase-7.md +313 -0
- package/src/agents/specific_instructions/ai_engineer/phases.md +1011 -0
- package/src/agents/specific_instructions/ai_engineer/prompt_lab.md +161 -0
- package/src/agents/specific_instructions/ai_engineer/prompt_lab_ui_mode.md +28 -0
- package/src/agents/specific_instructions/ai_engineer/research.md +393 -0
- package/src/agents/specific_instructions/ai_engineer/research_ui_mode.md +66 -0
- package/src/agents/specific_instructions/ai_engineer/review.md +159 -0
- package/src/agents/specific_instructions/ai_engineer/validation_checklist.md +182 -0
- package/src/agents/specific_instructions/analytics_engineer/advise.md +155 -0
- package/src/agents/specific_instructions/analytics_engineer/bi_engineer_handoff.md +91 -0
- package/src/agents/specific_instructions/analytics_engineer/data_analyst_handoff.md +84 -0
- package/src/agents/specific_instructions/analytics_engineer/deep_phases.md +818 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_deep/index.md +24 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_deep/phase-1.md +77 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_deep/phase-2.md +106 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_deep/phase-3.md +93 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_deep/phase-4.md +79 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_deep/phase-5.md +61 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_deep/phase-6.md +45 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_deep/phase-7.md +235 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_deep/phase-8.md +221 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_quick/index.md +19 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_quick/phase-1.md +47 -0
- package/src/agents/specific_instructions/analytics_engineer/phases_quick/phase-2.md +78 -0
- package/src/agents/specific_instructions/analytics_engineer/quick_phases.md +112 -0
- package/src/agents/specific_instructions/analytics_engineer/review.md +167 -0
- package/src/agents/specific_instructions/analytics_engineer/service_mode.md +369 -0
- package/src/agents/specific_instructions/analytics_engineer/ui_mode.md +45 -0
- package/src/agents/specific_instructions/analytics_engineer/update.md +162 -0
- package/src/agents/specific_instructions/analytics_engineer/validation_checklist.md +121 -0
- package/src/agents/specific_instructions/applied_ml_scientist/advise.md +143 -0
- package/src/agents/specific_instructions/applied_ml_scientist/phases/index.md +21 -0
- package/src/agents/specific_instructions/applied_ml_scientist/phases/phase-1.md +51 -0
- package/src/agents/specific_instructions/applied_ml_scientist/phases/phase-2.md +66 -0
- package/src/agents/specific_instructions/applied_ml_scientist/phases/phase-3.md +113 -0
- package/src/agents/specific_instructions/applied_ml_scientist/phases/phase-4.md +104 -0
- package/src/agents/specific_instructions/applied_ml_scientist/phases/phase-5.md +156 -0
- package/src/agents/specific_instructions/applied_ml_scientist/phases.md +428 -0
- package/src/agents/specific_instructions/applied_ml_scientist/research.md +379 -0
- package/src/agents/specific_instructions/applied_ml_scientist/review.md +142 -0
- package/src/agents/specific_instructions/applied_ml_scientist/validation_checklist.md +136 -0
- package/src/agents/specific_instructions/backend_engineer/clean.md +149 -0
- package/src/agents/specific_instructions/backend_engineer/review.md +91 -0
- package/src/agents/specific_instructions/backend_engineer/review_checklist.md +54 -0
- package/src/agents/specific_instructions/backend_engineer/service_mode.md +67 -0
- package/src/agents/specific_instructions/bi_engineer/advise.md +137 -0
- package/src/agents/specific_instructions/bi_engineer/data_analyst_handoff.md +77 -0
- package/src/agents/specific_instructions/bi_engineer/incoming_handoff.md +45 -0
- package/src/agents/specific_instructions/bi_engineer/phases/index.md +20 -0
- package/src/agents/specific_instructions/bi_engineer/phases/phase-1.md +164 -0
- package/src/agents/specific_instructions/bi_engineer/phases/phase-2.md +92 -0
- package/src/agents/specific_instructions/bi_engineer/phases/phase-3.md +121 -0
- package/src/agents/specific_instructions/bi_engineer/phases/phase-4.md +106 -0
- package/src/agents/specific_instructions/bi_engineer/phases.md +451 -0
- package/src/agents/specific_instructions/bi_engineer/review.md +166 -0
- package/src/agents/specific_instructions/bi_engineer/update.md +147 -0
- package/src/agents/specific_instructions/bi_engineer/validation_checklist.md +124 -0
- package/src/agents/specific_instructions/data_analyst/advise.md +138 -0
- package/src/agents/specific_instructions/data_analyst/explain.md +221 -0
- package/src/agents/specific_instructions/data_analyst/incoming_handoff.md +40 -0
- package/src/agents/specific_instructions/data_analyst/phases/index.md +20 -0
- package/src/agents/specific_instructions/data_analyst/phases/phase-1.md +159 -0
- package/src/agents/specific_instructions/data_analyst/phases/phase-2.md +112 -0
- package/src/agents/specific_instructions/data_analyst/phases/phase-3.md +265 -0
- package/src/agents/specific_instructions/data_analyst/phases/phase-4.md +100 -0
- package/src/agents/specific_instructions/data_analyst/phases.md +501 -0
- package/src/agents/specific_instructions/data_analyst/review.md +138 -0
- package/src/agents/specific_instructions/data_analyst/ui_mode.md +26 -0
- package/src/agents/specific_instructions/data_analyst/update.md +144 -0
- package/src/agents/specific_instructions/data_analyst/validation_checklist.md +95 -0
- package/src/agents/specific_instructions/data_engineer/advise.md +137 -0
- package/src/agents/specific_instructions/data_engineer/phases.md +466 -0
- package/src/agents/specific_instructions/data_engineer/phases_deep/index.md +23 -0
- package/src/agents/specific_instructions/data_engineer/phases_deep/phase-1.md +49 -0
- package/src/agents/specific_instructions/data_engineer/phases_deep/phase-2.md +93 -0
- package/src/agents/specific_instructions/data_engineer/phases_deep/phase-3.md +55 -0
- package/src/agents/specific_instructions/data_engineer/phases_deep/phase-4.md +48 -0
- package/src/agents/specific_instructions/data_engineer/phases_deep/phase-5.md +40 -0
- package/src/agents/specific_instructions/data_engineer/phases_deep/phase-6.md +102 -0
- package/src/agents/specific_instructions/data_engineer/phases_deep/phase-7.md +87 -0
- package/src/agents/specific_instructions/data_engineer/phases_quick/index.md +19 -0
- package/src/agents/specific_instructions/data_engineer/phases_quick/phase-1.md +45 -0
- package/src/agents/specific_instructions/data_engineer/phases_quick/phase-2.md +54 -0
- package/src/agents/specific_instructions/data_engineer/review.md +135 -0
- package/src/agents/specific_instructions/data_engineer/validation_checklist.md +136 -0
- package/src/agents/specific_instructions/data_modeller/advise.md +137 -0
- package/src/agents/specific_instructions/data_modeller/phases.md +581 -0
- package/src/agents/specific_instructions/data_modeller/phases_deep/index.md +23 -0
- package/src/agents/specific_instructions/data_modeller/phases_deep/phase-1.md +52 -0
- package/src/agents/specific_instructions/data_modeller/phases_deep/phase-2.md +113 -0
- package/src/agents/specific_instructions/data_modeller/phases_deep/phase-3.md +47 -0
- package/src/agents/specific_instructions/data_modeller/phases_deep/phase-4.md +51 -0
- package/src/agents/specific_instructions/data_modeller/phases_deep/phase-5.md +45 -0
- package/src/agents/specific_instructions/data_modeller/phases_deep/phase-6.md +105 -0
- package/src/agents/specific_instructions/data_modeller/phases_deep/phase-7.md +136 -0
- package/src/agents/specific_instructions/data_modeller/phases_quick/index.md +19 -0
- package/src/agents/specific_instructions/data_modeller/phases_quick/phase-1.md +47 -0
- package/src/agents/specific_instructions/data_modeller/phases_quick/phase-2.md +65 -0
- package/src/agents/specific_instructions/data_modeller/review.md +141 -0
- package/src/agents/specific_instructions/data_modeller/service_mode.md +218 -0
- package/src/agents/specific_instructions/data_modeller/validation_checklist.md +125 -0
- package/src/agents/specific_instructions/data_scientist/advise.md +158 -0
- package/src/agents/specific_instructions/data_scientist/bi_engineer_handoff.md +63 -0
- package/src/agents/specific_instructions/data_scientist/experiment.md +482 -0
- package/src/agents/specific_instructions/data_scientist/experiment_ui_mode.md +44 -0
- package/src/agents/specific_instructions/data_scientist/explain.md +247 -0
- package/src/agents/specific_instructions/data_scientist/greenfield_data.md +35 -0
- package/src/agents/specific_instructions/data_scientist/ml_engineer_handoff.md +52 -0
- package/src/agents/specific_instructions/data_scientist/notebook_walkthrough.md +76 -0
- package/src/agents/specific_instructions/data_scientist/phases/index.md +24 -0
- package/src/agents/specific_instructions/data_scientist/phases/phase-1.md +45 -0
- package/src/agents/specific_instructions/data_scientist/phases/phase-2.md +67 -0
- package/src/agents/specific_instructions/data_scientist/phases/phase-3.md +89 -0
- package/src/agents/specific_instructions/data_scientist/phases/phase-4.md +143 -0
- package/src/agents/specific_instructions/data_scientist/phases/phase-5.md +71 -0
- package/src/agents/specific_instructions/data_scientist/phases/phase-6.md +239 -0
- package/src/agents/specific_instructions/data_scientist/phases/phase-7.md +207 -0
- package/src/agents/specific_instructions/data_scientist/phases.md +651 -0
- package/src/agents/specific_instructions/data_scientist/research.md +345 -0
- package/src/agents/specific_instructions/data_scientist/research_ui_mode.md +52 -0
- package/src/agents/specific_instructions/data_scientist/review.md +136 -0
- package/src/agents/specific_instructions/data_scientist/service_mode.md +247 -0
- package/src/agents/specific_instructions/data_scientist/validation_checklist.md +183 -0
- package/src/agents/specific_instructions/deep_learning_engineer/advise.md +145 -0
- package/src/agents/specific_instructions/deep_learning_engineer/phases/index.md +21 -0
- package/src/agents/specific_instructions/deep_learning_engineer/phases/phase-1.md +74 -0
- package/src/agents/specific_instructions/deep_learning_engineer/phases/phase-2.md +98 -0
- package/src/agents/specific_instructions/deep_learning_engineer/phases/phase-3.md +76 -0
- package/src/agents/specific_instructions/deep_learning_engineer/phases/phase-4.md +128 -0
- package/src/agents/specific_instructions/deep_learning_engineer/phases/phase-5.md +292 -0
- package/src/agents/specific_instructions/deep_learning_engineer/phases.md +567 -0
- package/src/agents/specific_instructions/deep_learning_engineer/research.md +389 -0
- package/src/agents/specific_instructions/deep_learning_engineer/review.md +155 -0
- package/src/agents/specific_instructions/deep_learning_engineer/validation_checklist.md +147 -0
- package/src/agents/specific_instructions/ml_engineer/advise.md +174 -0
- package/src/agents/specific_instructions/ml_engineer/bi_engineer_handoff.md +71 -0
- package/src/agents/specific_instructions/ml_engineer/experiment.md +474 -0
- package/src/agents/specific_instructions/ml_engineer/experiment_ui_mode.md +44 -0
- package/src/agents/specific_instructions/ml_engineer/notebook_walkthrough.md +75 -0
- package/src/agents/specific_instructions/ml_engineer/phases/index.md +25 -0
- package/src/agents/specific_instructions/ml_engineer/phases/phase-1.md +49 -0
- package/src/agents/specific_instructions/ml_engineer/phases/phase-2.md +75 -0
- package/src/agents/specific_instructions/ml_engineer/phases/phase-3.md +124 -0
- package/src/agents/specific_instructions/ml_engineer/phases/phase-4.md +279 -0
- package/src/agents/specific_instructions/ml_engineer/phases/phase-5.md +160 -0
- package/src/agents/specific_instructions/ml_engineer/phases/phase-6-5.md +170 -0
- package/src/agents/specific_instructions/ml_engineer/phases/phase-6.md +295 -0
- package/src/agents/specific_instructions/ml_engineer/phases/phase-7.md +337 -0
- package/src/agents/specific_instructions/ml_engineer/phases.md +1068 -0
- package/src/agents/specific_instructions/ml_engineer/research.md +437 -0
- package/src/agents/specific_instructions/ml_engineer/research_ui_mode.md +71 -0
- package/src/agents/specific_instructions/ml_engineer/review.md +187 -0
- package/src/agents/specific_instructions/ml_engineer/service_mode.md +273 -0
- package/src/agents/specific_instructions/ml_engineer/validation_checklist.md +185 -0
- package/src/agents/specific_instructions/mlops_engineer/advise.md +139 -0
- package/src/agents/specific_instructions/mlops_engineer/phases/index.md +23 -0
- package/src/agents/specific_instructions/mlops_engineer/phases/phase-1.md +52 -0
- package/src/agents/specific_instructions/mlops_engineer/phases/phase-2.md +86 -0
- package/src/agents/specific_instructions/mlops_engineer/phases/phase-3.md +105 -0
- package/src/agents/specific_instructions/mlops_engineer/phases/phase-4.md +128 -0
- package/src/agents/specific_instructions/mlops_engineer/phases/phase-5.md +106 -0
- package/src/agents/specific_instructions/mlops_engineer/phases/phase-6.md +128 -0
- package/src/agents/specific_instructions/mlops_engineer/phases/phase-7.md +144 -0
- package/src/agents/specific_instructions/mlops_engineer/phases.md +671 -0
- package/src/agents/specific_instructions/mlops_engineer/review.md +164 -0
- package/src/agents/specific_instructions/mlops_engineer/service_mode.md +81 -0
- package/src/agents/specific_instructions/mlops_engineer/validation_checklist.md +151 -0
- package/src/agents/specific_instructions/researcher/critical_review.md +292 -0
- package/src/agents/specific_instructions/researcher/review_checklist.md +67 -0
- package/src/agents/specific_instructions/researcher/service_mode.md +224 -0
- package/src/agents/specific_instructions/shared/auto_verify_mode.md +141 -0
- package/src/agents/specific_instructions/shared/autonomous_research.md +1289 -0
- package/src/agents/specific_instructions/shared/behavioral_rules.md +36 -0
- package/src/agents/specific_instructions/shared/diverge_protocol.md +387 -0
- package/src/agents/specific_instructions/shared/engineering_guidelines.md +136 -0
- package/src/agents/specific_instructions/shared/experiment_versioning.md +184 -0
- package/src/agents/specific_instructions/shared/goal_mode.md +187 -0
- package/src/agents/specific_instructions/shared/incremental_testing.md +139 -0
- package/src/agents/specific_instructions/shared/intent_discovery.md +223 -0
- package/src/agents/specific_instructions/shared/join_path_protocol.md +168 -0
- package/src/agents/specific_instructions/shared/knowledge_checkpoint.md +83 -0
- package/src/agents/specific_instructions/shared/knowledge_harvest.md +220 -0
- package/src/agents/specific_instructions/shared/knowledge_retrieval.md +100 -0
- package/src/agents/specific_instructions/shared/notebook_walkthrough_protocol.md +367 -0
- package/src/agents/specific_instructions/shared/reviewer_verdict_protocol.md +74 -0
- package/src/agents/specific_instructions/shared/swarm_protocol.md +97 -0
- package/src/agents/specific_instructions/shared/validation_protocol.md +139 -0
- package/src/agents/specific_instructions/syn/arbiter.md +140 -0
- package/src/agents/specific_instructions/syn/brainstorm.md +550 -0
- package/src/agents/specific_instructions/syn/code_review.md +232 -0
- package/src/agents/specific_instructions/syn/diff.md +239 -0
- package/src/agents/specific_instructions/syn/final_review.md +65 -0
- package/src/agents/specific_instructions/syn/fixer.md +240 -0
- package/src/agents/specific_instructions/syn/free_form.md +130 -0
- package/src/agents/specific_instructions/syn/knowledge.md +468 -0
- package/src/agents/specific_instructions/syn/notebook_walkthrough.md +78 -0
- package/src/agents/specific_instructions/syn/panel_review.md +634 -0
- package/src/agents/specific_instructions/syn/pm.md +453 -0
- package/src/agents/specific_instructions/syn/pr_review.md +255 -0
- package/src/agents/specific_instructions/syn/slides.md +417 -0
- package/src/agents/syn.md +729 -0
- package/src/commands/academic.md +41 -0
- package/src/commands/ai-engineer.md +45 -0
- package/src/commands/analytics-engineer.md +48 -0
- package/src/commands/applied-ml-scientist.md +45 -0
- package/src/commands/backend-engineer.md +35 -0
- package/src/commands/bi-engineer.md +40 -0
- package/src/commands/brainstorm.md +24 -0
- package/src/commands/data-analyst.md +38 -0
- package/src/commands/data-engineer.md +37 -0
- package/src/commands/data-modeller.md +38 -0
- package/src/commands/data-scientist.md +38 -0
- package/src/commands/deep-learning-engineer.md +47 -0
- package/src/commands/end.md +49 -0
- package/src/commands/knowledge.md +24 -0
- package/src/commands/ml-engineer.md +42 -0
- package/src/commands/mlops-engineer.md +47 -0
- package/src/commands/notebook-walkthrough.md +58 -0
- package/src/commands/researcher.md +40 -0
- package/src/commands/resume.md +57 -0
- package/src/commands/review-pr.md +26 -0
- package/src/commands/shards-guide.md +41 -0
- package/src/commands/shards-ui.md +32 -0
- package/src/commands/shards.md +41 -0
- package/src/docs/01-getting-started/concepts.md +109 -0
- package/src/docs/01-getting-started/first-session.md +79 -0
- package/src/docs/01-getting-started/install.md +61 -0
- package/src/docs/02-agents/academic.md +71 -0
- package/src/docs/02-agents/ai-engineer.md +78 -0
- package/src/docs/02-agents/analytics-engineer.md +58 -0
- package/src/docs/02-agents/applied-ml-scientist.md +59 -0
- package/src/docs/02-agents/backend-engineer.md +58 -0
- package/src/docs/02-agents/bi-engineer.md +65 -0
- package/src/docs/02-agents/data-analyst.md +67 -0
- package/src/docs/02-agents/data-engineer.md +57 -0
- package/src/docs/02-agents/data-modeller.md +51 -0
- package/src/docs/02-agents/data-scientist.md +78 -0
- package/src/docs/02-agents/deep-learning-engineer.md +64 -0
- package/src/docs/02-agents/ml-engineer.md +80 -0
- package/src/docs/02-agents/mlops-engineer.md +59 -0
- package/src/docs/02-agents/overview.md +62 -0
- package/src/docs/02-agents/researcher.md +73 -0
- package/src/docs/02-agents/syn.md +88 -0
- package/src/docs/03-protocols/auto-verify.md +82 -0
- package/src/docs/03-protocols/autonomous-research.md +59 -0
- package/src/docs/03-protocols/behavioral-rules.md +35 -0
- package/src/docs/03-protocols/diverge.md +50 -0
- package/src/docs/03-protocols/engineering-guidelines.md +56 -0
- package/src/docs/03-protocols/experiment-versioning.md +38 -0
- package/src/docs/03-protocols/gate-pattern.md +65 -0
- package/src/docs/03-protocols/incremental-testing.md +68 -0
- package/src/docs/03-protocols/join-path.md +46 -0
- package/src/docs/03-protocols/knowledge-ledger.md +70 -0
- package/src/docs/03-protocols/reviewer-verdicts.md +39 -0
- package/src/docs/03-protocols/swarm.md +40 -0
- package/src/docs/03-protocols/validation.md +174 -0
- package/src/docs/04-ui/activity-bar.md +70 -0
- package/src/docs/04-ui/chat-pane.md +80 -0
- package/src/docs/04-ui/code-intel.md +62 -0
- package/src/docs/04-ui/file-editing.md +61 -0
- package/src/docs/04-ui/git.md +54 -0
- package/src/docs/04-ui/keybindings.md +79 -0
- package/src/docs/04-ui/knowledge-map.md +76 -0
- package/src/docs/04-ui/overview.md +93 -0
- package/src/docs/04-ui/panels.md +49 -0
- package/src/docs/04-ui/pinboard-selection.md +66 -0
- package/src/docs/04-ui/quick-open-palette.md +56 -0
- package/src/docs/04-ui/sessions.md +81 -0
- package/src/docs/04-ui/settings-permissions.md +56 -0
- package/src/docs/05-commands/reference.md +59 -0
- package/src/docs/06-outputs/directory-map.md +116 -0
- package/src/docs/07-workflows/ai-eval-first.md +57 -0
- package/src/docs/07-workflows/deep-study-to-production.md +76 -0
- package/src/docs/07-workflows/diverge-exploration.md +77 -0
- package/src/docs/07-workflows/quick-analysis.md +45 -0
- package/src/docs/08-integrations/claude-code-auto-mode.md +191 -0
- package/src/docs/08-integrations/google-slides.md +175 -0
- package/src/docs/README.md +30 -0
- package/src/docs/manifest.json +108 -0
- package/src/templates/analysis-template.md +20 -0
- package/src/templates/branch-report.md +46 -0
- package/src/templates/diff-report.md +88 -0
- package/src/templates/knowledge-index.md +7 -0
- package/src/templates/model-card-schema.json +186 -0
- package/src/templates/model-card-schema.md +88 -0
- package/src/templates/model-card.md +124 -0
- package/src/templates/project-plan.md +47 -0
- package/src/templates/project-specs.md +81 -0
- package/src/templates/report-template.md +43 -0
- package/src/templates/study-template.md +25 -0
- package/src/ui/cc-readonly.js +181 -0
- package/src/ui/chat-session.js +466 -0
- package/src/ui/css/base.css +136 -0
- package/src/ui/css/brainstorm.css +525 -0
- package/src/ui/css/chat.css +1405 -0
- package/src/ui/css/editor.css +546 -0
- package/src/ui/css/eval-dashboard.css +157 -0
- package/src/ui/css/experiment.css +237 -0
- package/src/ui/css/guide.css +186 -0
- package/src/ui/css/knowledge-map.css +383 -0
- package/src/ui/css/layout.css +431 -0
- package/src/ui/css/model-card.css +161 -0
- package/src/ui/css/notebook-walkthrough.css +271 -0
- package/src/ui/css/pr-review.css +403 -0
- package/src/ui/css/prompt-lab.css +325 -0
- package/src/ui/css/sessions.css +258 -0
- package/src/ui/css/sidebar.css +661 -0
- package/src/ui/css/terminal.css +113 -0
- package/src/ui/css/theme-light.css +542 -0
- package/src/ui/index.html +389 -0
- package/src/ui/js/agents.js +32 -0
- package/src/ui/js/bookmarks.js +230 -0
- package/src/ui/js/chat.js +1776 -0
- package/src/ui/js/code-intel.js +328 -0
- package/src/ui/js/command-palette.js +142 -0
- package/src/ui/js/events.js +591 -0
- package/src/ui/js/explorer.js +317 -0
- package/src/ui/js/file-view.js +477 -0
- package/src/ui/js/git.js +536 -0
- package/src/ui/js/guide.js +198 -0
- package/src/ui/js/hud.js +75 -0
- package/src/ui/js/init.js +351 -0
- package/src/ui/js/knowledge-map.js +906 -0
- package/src/ui/js/markdown.js +114 -0
- package/src/ui/js/monaco.js +164 -0
- package/src/ui/js/notebook-walkthrough.js +272 -0
- package/src/ui/js/notebook.js +448 -0
- package/src/ui/js/panels.js +2681 -0
- package/src/ui/js/pinboard.js +186 -0
- package/src/ui/js/quick-open.js +164 -0
- package/src/ui/js/selection-context.js +131 -0
- package/src/ui/js/sessions.js +256 -0
- package/src/ui/js/settings.js +476 -0
- package/src/ui/js/split-view.js +82 -0
- package/src/ui/js/state.js +343 -0
- package/src/ui/js/table.js +161 -0
- package/src/ui/js/tabs.js +284 -0
- package/src/ui/js/tabular.js +125 -0
- package/src/ui/js/terminal.js +354 -0
- package/src/ui/js/timeline.js +137 -0
- package/src/ui/js/utils.js +293 -0
- package/src/ui/notebook-kernel.py +790 -0
- package/src/ui/open-browser.js +55 -0
- package/src/ui/permission-pattern.js +42 -0
- package/src/ui/relay.js +513 -0
- package/src/ui/server.js +3072 -0
- package/src/ui/session-index.js +225 -0
- package/src/ui/shards_icon.png +0 -0
- package/src/ui/spawn-server.js +41 -0
- package/src/ui/symbol-index.js +813 -0
- package/src/ui/ui-push.js +177 -0
- package/tools/gate-hook/VALIDATION_SPEC.md +273 -0
- package/tools/gate-hook/__tests__/auto-verify.test.js +343 -0
- package/tools/gate-hook/auto-allowlist.js +179 -0
- package/tools/gate-hook/auto-state.js +68 -0
- package/tools/gate-hook/classify.js +21 -0
- package/tools/gate-hook/log.js +57 -0
- package/tools/gate-hook/parser.js +205 -0
- package/tools/gate-hook/sql-guard.js +230 -0
- package/tools/gate-hook/state.js +170 -0
- package/tools/gate-hook/sweep.js +139 -0
- package/tools/gate-hook/transcript.js +45 -0
- package/tools/gate-hook/validation.js +321 -0
- package/tools/gate-hook.js +475 -0
- package/tools/install.js +914 -0
- package/tools/shards-gates.js +311 -0
- package/tools/shards-sessions.js +261 -0
- package/tools/shards-ui.js +377 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Statistical Review Checklist
|
|
2
|
+
|
|
3
|
+
When reviewing any analysis, systematically check these areas:
|
|
4
|
+
|
|
5
|
+
## Distributions
|
|
6
|
+
- What distribution does the data follow? (normal, log-normal, Poisson,
|
|
7
|
+
exponential, power law, mixture)
|
|
8
|
+
- Has normality been tested if the method assumes it? (Shapiro-Wilk,
|
|
9
|
+
Q-Q plot, skewness/kurtosis)
|
|
10
|
+
- Are there multiple modes suggesting subpopulations?
|
|
11
|
+
|
|
12
|
+
## Assumptions
|
|
13
|
+
- **Independence:** Are observations independent? (no clustering, no
|
|
14
|
+
time-series autocorrelation, no hierarchical structure unaccounted for)
|
|
15
|
+
- **Homoscedasticity:** Is variance constant across groups/levels?
|
|
16
|
+
- **Linearity:** If regression-based, is the relationship actually linear?
|
|
17
|
+
- **Stationarity:** If time series, is the process stationary?
|
|
18
|
+
- **Random sampling:** Is the sample representative of the population?
|
|
19
|
+
|
|
20
|
+
## Outliers
|
|
21
|
+
- How were outliers identified? (IQR, z-score, domain knowledge, visual)
|
|
22
|
+
- What is the outlier handling strategy?
|
|
23
|
+
- Have results been checked with and without outliers (sensitivity analysis)?
|
|
24
|
+
- Are "outliers" actually a meaningful subpopulation?
|
|
25
|
+
|
|
26
|
+
## Sample Size & Power
|
|
27
|
+
- Is the sample large enough for the chosen method?
|
|
28
|
+
- What effect size can this sample detect at 80% power?
|
|
29
|
+
- For comparisons: are group sizes balanced enough?
|
|
30
|
+
- For regression: is the observation-to-predictor ratio adequate? (minimum
|
|
31
|
+
10:1, preferably 20:1)
|
|
32
|
+
|
|
33
|
+
## Methodology Appropriateness
|
|
34
|
+
- Does the method match the data type? (continuous, categorical, count,
|
|
35
|
+
ordinal, survival)
|
|
36
|
+
- Does the method match the question? (descriptive, inferential, predictive,
|
|
37
|
+
causal)
|
|
38
|
+
- Are there better alternatives given the data characteristics?
|
|
39
|
+
- Has multiple testing been addressed? (Bonferroni, FDR, etc.)
|
|
40
|
+
|
|
41
|
+
## Practical Significance
|
|
42
|
+
- Is statistical significance confused with practical significance?
|
|
43
|
+
- What is the effect size, and is it meaningful in business context?
|
|
44
|
+
- Are confidence intervals reported alongside p-values?
|
|
45
|
+
|
|
46
|
+
## Report-Specific Checks (apply when reviewing a written report)
|
|
47
|
+
- **Claim–evidence match:** does each stated conclusion logically follow
|
|
48
|
+
from the cited statistical result? Or is the conclusion stronger /
|
|
49
|
+
weaker than the evidence warrants?
|
|
50
|
+
- **Causal language audit:** does the report use causal language ("X causes
|
|
51
|
+
Y", "X drives Y", "X leads to Y") when the design was correlational or
|
|
52
|
+
observational?
|
|
53
|
+
- **Statistical vs. practical significance:** is significance reported with
|
|
54
|
+
effect size and CI, not just a p-value? Is the effect size practically
|
|
55
|
+
meaningful in the report's domain context?
|
|
56
|
+
- **Limitations section:** does the report acknowledge sample limitations,
|
|
57
|
+
methodological caveats, assumption violations, and scope conditions
|
|
58
|
+
proportional to their actual size?
|
|
59
|
+
- **Reproducibility cues:** are sample sizes, exclusion criteria, the
|
|
60
|
+
analysis software / version, and the random seed (where relevant) stated
|
|
61
|
+
in enough detail that the analysis could be re-run?
|
|
62
|
+
- **Multiple-testing handling:** if many tests / metrics / subgroups are
|
|
63
|
+
reported, is multiple-testing addressed (Bonferroni, FDR, pre-registration
|
|
64
|
+
of primary outcomes)?
|
|
65
|
+
- **Cherry-picking and selective reporting:** does the report present a
|
|
66
|
+
comprehensive set of metrics, or does it foreground favorable ones while
|
|
67
|
+
burying or omitting unfavorable ones?
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: researcher-service-mode
|
|
3
|
+
description: Service mode instructions for the Researcher when consulted by other agents via Task
|
|
4
|
+
type: reference
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Service Mode — Being Consulted by Other Agents
|
|
8
|
+
|
|
9
|
+
When invoked by another agent via the Task tool, you receive a description
|
|
10
|
+
of their analysis plan, methodology, or approach. Your job is to provide a
|
|
11
|
+
structured statistical review.
|
|
12
|
+
|
|
13
|
+
1. Read their request carefully
|
|
14
|
+
2. If they reference specific data files, queries, or notebooks, use Glob,
|
|
15
|
+
Grep, and Read to examine them
|
|
16
|
+
3. If you need data model context to assess statistical validity (e.g.,
|
|
17
|
+
understanding grain for independence assumptions), consult the Data
|
|
18
|
+
Modeller:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Task(
|
|
22
|
+
subagent_type="data-modeller",
|
|
23
|
+
description="Understand data structure for statistical review",
|
|
24
|
+
prompt="I am the Researcher shard reviewing an analysis about [topic].
|
|
25
|
+
I need to understand: [specific data structure question relevant to
|
|
26
|
+
the statistical assessment]. Please explore and return the grain,
|
|
27
|
+
key relationships, and any quality concerns."
|
|
28
|
+
)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Only do this if the data structure is genuinely relevant to the
|
|
32
|
+
statistical assessment. Most reviews won't need it.
|
|
33
|
+
|
|
34
|
+
4. Return your review using the structured format below
|
|
35
|
+
5. Keep personality light in service mode — be helpful, not performative
|
|
36
|
+
6. Do NOT create any files — this is pure information transfer
|
|
37
|
+
|
|
38
|
+
## Response Format
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
## Statistical Review: <topic>
|
|
42
|
+
|
|
43
|
+
### Distribution Assessment
|
|
44
|
+
- <findings about data distributions relevant to the chosen methodology>
|
|
45
|
+
- <normality concerns, skewness, multimodality, etc.>
|
|
46
|
+
|
|
47
|
+
### Assumption Check
|
|
48
|
+
- <methodology assumptions and whether they hold>
|
|
49
|
+
- <e.g., independence, homoscedasticity, linearity, stationarity>
|
|
50
|
+
- <what happens if assumptions are violated>
|
|
51
|
+
|
|
52
|
+
### Outlier Considerations
|
|
53
|
+
- <outlier detection recommendations>
|
|
54
|
+
- <impact of outliers on the proposed methodology>
|
|
55
|
+
- <handling strategy: robust methods, winsorization, exclusion criteria>
|
|
56
|
+
|
|
57
|
+
### Sample Size & Power
|
|
58
|
+
- <adequacy of sample for the proposed method>
|
|
59
|
+
- <power considerations — can this analysis detect the expected effect?>
|
|
60
|
+
- <minimum detectable effect size given the sample>
|
|
61
|
+
|
|
62
|
+
### Methodology Verdict
|
|
63
|
+
- **Verdict:** Sound | Consider Alternatives | Revise
|
|
64
|
+
- **Key concerns:** <list of issues, ordered by severity>
|
|
65
|
+
- **Recommendations:** <specific, actionable suggestions>
|
|
66
|
+
- **Alternative methods:** <if applicable — what else could work>
|
|
67
|
+
- **Plain-language summary:** <1-2 sentences explaining implications
|
|
68
|
+
for a non-technical audience>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Verdict definitions:**
|
|
72
|
+
- **Sound** — methodology is appropriate, assumptions hold (or violations
|
|
73
|
+
are minor), proceed with confidence
|
|
74
|
+
- **Consider Alternatives** — methodology is reasonable but has issues that
|
|
75
|
+
should be acknowledged or mitigated; proceed with caveats
|
|
76
|
+
- **Revise** — significant methodological problems; the approach needs
|
|
77
|
+
changes before execution
|
|
78
|
+
These map to the universal Proceed / Proceed-with-caveats / Halt tiers used by calling specialists.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Panel Review Mode (SERVICE MODE — PANEL REVIEW)
|
|
83
|
+
|
|
84
|
+
When invoked via Task with `SERVICE MODE — PANEL REVIEW` in the prompt, you are
|
|
85
|
+
participating in Syn's `[PR]` Panel Review — a multi-specialist review of a
|
|
86
|
+
target directory. Your role is the statistical methodology lens. Other
|
|
87
|
+
specialists in the panel cover code discipline, infrastructure, and domain
|
|
88
|
+
correctness; stay in your lane.
|
|
89
|
+
|
|
90
|
+
### Inputs the prompt will include
|
|
91
|
+
|
|
92
|
+
- **Target directory** — full path
|
|
93
|
+
- **Content tags** — what the user declared the directory contains (e.g.,
|
|
94
|
+
`ml-model`, `statistical-analysis`, `llm-ai`)
|
|
95
|
+
- **Notebooks (.ipynb) to review** — list of paths, or "none"
|
|
96
|
+
- **Analysis SQL (.sql) to review** — list of paths, or "none"
|
|
97
|
+
- **Reports & specs to review** — list of paths, or "none"
|
|
98
|
+
|
|
99
|
+
You may receive any combination of these three artifact types. Skip any bucket
|
|
100
|
+
listed as "none".
|
|
101
|
+
|
|
102
|
+
### What to do
|
|
103
|
+
|
|
104
|
+
1. Read `.claude/agents/specific_instructions/researcher/review_checklist.md`
|
|
105
|
+
in full and apply every section systematically.
|
|
106
|
+
2. **Notebooks** — read each `.ipynb` cell-by-cell via the `Read` tool
|
|
107
|
+
(`.ipynb` is supported by `Read`). Apply the checklist as if reviewing a
|
|
108
|
+
complete analysis: distributions, assumptions, outliers, sample size,
|
|
109
|
+
methodology, practical significance.
|
|
110
|
+
3. **Analysis SQL** — read each `.sql` file. Apply the checklist with the
|
|
111
|
+
following lens:
|
|
112
|
+
- **Cohort definition** — does the cohort cleanly define a population for
|
|
113
|
+
the downstream test? Are inclusion/exclusion criteria documented?
|
|
114
|
+
- **Sample size adequacy** — is the resulting sample large enough for the
|
|
115
|
+
intended analysis at reasonable power?
|
|
116
|
+
- **Group balance** — for comparison queries, are the groups balanced or
|
|
117
|
+
is one group much larger?
|
|
118
|
+
- **Independence** — does the SQL produce one row per independent
|
|
119
|
+
observation? Are there clustering effects (multiple rows per user, etc.)
|
|
120
|
+
unaccounted for?
|
|
121
|
+
- **Filter implications** — do `WHERE` / `HAVING` clauses introduce
|
|
122
|
+
selection bias? Survivorship? Future leakage (filtering on
|
|
123
|
+
post-treatment outcomes)?
|
|
124
|
+
- Stay out of: grain, joins, dbt model structure, model conventions,
|
|
125
|
+
performance, indexing, dbt tests. Those belong to the Analytics
|
|
126
|
+
Engineer's separate review and Syn's coalescence step keeps them
|
|
127
|
+
distinct.
|
|
128
|
+
4. **Reports & specs** — read each report markdown file. Look for
|
|
129
|
+
methodological claims, hypothesis statements, statistical procedures
|
|
130
|
+
described, results interpretation. Apply the checklist to whatever
|
|
131
|
+
methodology the report claims.
|
|
132
|
+
|
|
133
|
+
### Response format (Panel Review variant)
|
|
134
|
+
|
|
135
|
+
Use the standard Response Format above, then append two subsections **only if
|
|
136
|
+
the corresponding bucket was present in the prompt**:
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
### Per-notebook concerns
|
|
140
|
+
|
|
141
|
+
#### `<notebook path>`
|
|
142
|
+
- **Cell <N>:** <concern> (severity: High/Medium/Low)
|
|
143
|
+
- **Cell <N>:** <concern>
|
|
144
|
+
- ...
|
|
145
|
+
|
|
146
|
+
(repeat per notebook)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
### Per-SQL concerns
|
|
151
|
+
|
|
152
|
+
#### `<sql path>`
|
|
153
|
+
- **Issue:** <statistical concern>
|
|
154
|
+
- **Lines:** <line range, if relevant>
|
|
155
|
+
- **Severity:** High / Medium / Low
|
|
156
|
+
- **Recommendation:** <one-liner>
|
|
157
|
+
|
|
158
|
+
(repeat per file)
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
If a bucket was empty, omit its subsection entirely — do not write
|
|
162
|
+
"none found" placeholders.
|
|
163
|
+
|
|
164
|
+
### Hard rules in Panel Review mode
|
|
165
|
+
|
|
166
|
+
- **No Edit. No Write. No NotebookEdit.** You are a reviewer, not a fixer.
|
|
167
|
+
Your tools list does not include Edit/Write/NotebookEdit by design — Syn's
|
|
168
|
+
Phase 5 dispatch will route your recommendations to the bucket's domain
|
|
169
|
+
reviewer (Data Scientist, ML Engineer, Applied ML Scientist, Deep Learning
|
|
170
|
+
Engineer, or Analytics Engineer) for application.
|
|
171
|
+
- **Severity tagging is mandatory.** Syn's coalescence step uses your severity
|
|
172
|
+
tags to build the consolidated findings table. Do not return findings
|
|
173
|
+
without High/Medium/Low.
|
|
174
|
+
- **Be specific about location.** Notebook + cell number, or SQL file + line
|
|
175
|
+
range. Generic findings ("the methodology is questionable") are not
|
|
176
|
+
actionable.
|
|
177
|
+
- **Stay in lane on SQL.** Methodological concerns only. Grain, joins, model
|
|
178
|
+
conventions, performance, dbt structure are out of scope.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Report Review Mode (`SERVICE MODE — REPORT REVIEW`)
|
|
183
|
+
|
|
184
|
+
When invoked via Task with `SERVICE MODE — REPORT REVIEW` in the prompt, you
|
|
185
|
+
are doing a single-report statistical critique on behalf of a calling agent
|
|
186
|
+
(Syn, Data Scientist, ML Engineer, etc.). This is the service-mode variant
|
|
187
|
+
of the `[CR]` Critical Review menu mode.
|
|
188
|
+
|
|
189
|
+
### Inputs the prompt will include
|
|
190
|
+
|
|
191
|
+
- **Report path** — full path to the `.md` report under review
|
|
192
|
+
- **Review lens** — Accuracy | Thoroughness | Fairness | all
|
|
193
|
+
- **Optional referenced artifacts** — data files, SQL, notebooks the report
|
|
194
|
+
cites (the calling agent may want you to spot-read them)
|
|
195
|
+
- **Calling context** — why the review was requested
|
|
196
|
+
|
|
197
|
+
### What to do
|
|
198
|
+
|
|
199
|
+
1. Read the target report at the provided path.
|
|
200
|
+
2. Read `.claude/agents/specific_instructions/researcher/critical_review.md`
|
|
201
|
+
and apply Phases 2–4 (Read & Extract Methodological Claims → Apply
|
|
202
|
+
Statistical Checklist → Three-Lens Critical Assessment) to the report.
|
|
203
|
+
3. Spot-read any referenced artifacts the calling agent listed.
|
|
204
|
+
4. Return findings **inline** using the Critical Review output template
|
|
205
|
+
from Phase 5 of `critical_review.md`. **Do NOT write a file** in service
|
|
206
|
+
mode — the calling agent decides what to persist. The Write tool exists
|
|
207
|
+
in your frontmatter only for direct-invocation `[CR]` mode and must not
|
|
208
|
+
be used here.
|
|
209
|
+
5. Severity-tag every finding (High / Medium / Low).
|
|
210
|
+
6. If a Data Modeller consultation is genuinely needed for an
|
|
211
|
+
independence / grain question that the report and its referenced
|
|
212
|
+
artifacts can't answer, announce it before issuing the Task.
|
|
213
|
+
|
|
214
|
+
### Hard rules in Report Review mode
|
|
215
|
+
|
|
216
|
+
- **No Write. No Edit.** Service mode never writes files — even though your
|
|
217
|
+
tools list includes Write/Edit for the direct-invocation `[CR]` opt-in.
|
|
218
|
+
- **Severity tagging is mandatory.** Calling agents may coalesce your
|
|
219
|
+
findings into a wider review.
|
|
220
|
+
- **Be specific about location.** Quote the report's section / paragraph /
|
|
221
|
+
sentence where the issue lives. Generic critiques are not actionable.
|
|
222
|
+
- **Stay in your statistical lane.** Ethical, behavioral-mechanism, and
|
|
223
|
+
domain-correctness concerns belong to other agents — flag them and
|
|
224
|
+
recommend escalation rather than reviewing them yourself.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: auto-verify-mode
|
|
3
|
+
description: Shared protocol — bracket bulk read-only verification work in a marker pair so the gate hook auto-approves the curated safe ops without spamming permission prompts
|
|
4
|
+
type: reference
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Auto-Verify Mode
|
|
8
|
+
|
|
9
|
+
When a phase requires running many similar read-only verification queries in a row (per-model grain checks, fan-out before/after counts, null-rate scans, freshness checks, dbt show/ls/parse, package metadata, sample inspections), each one normally fires a permission prompt. The user clicks through twenty near-identical "allow" prompts and gradually loses the ability to spot the one prompt that matters.
|
|
10
|
+
|
|
11
|
+
This protocol bounds those stretches with a marker pair. While the block is open, the gate hook (`gate-hook.js`) auto-approves tool calls that match a hardcoded read-only allowlist. Everything outside the allowlist still prompts. Phase and checkpoint gates always win — when a real `::GATE::` is open, auto-verify is suspended.
|
|
12
|
+
|
|
13
|
+
This is **not** `--dangerously-skip-permissions`. The allowlist is hardcoded, the budget is bounded, the user can halt with one word, and every approval is logged.
|
|
14
|
+
|
|
15
|
+
## When to Enter
|
|
16
|
+
|
|
17
|
+
Enter auto-verify only when **both** of these are true:
|
|
18
|
+
|
|
19
|
+
1. The next stretch of work is exclusively read-only verification — running queries to check shapes, counts, nulls, fan-out, freshness, sample rows, or invoking read-only CLI subcommands (`dbt show`, `dbt ls`, `dbt parse`, `dbt compile`, `git status`, `git diff`).
|
|
20
|
+
2. You expect to issue **3 or more** similar tool calls in sequence. Below that threshold, the prompt friction isn't worth the cognitive overhead of opening a block.
|
|
21
|
+
|
|
22
|
+
Concrete fits:
|
|
23
|
+
|
|
24
|
+
| Situation | Why |
|
|
25
|
+
|---|---|
|
|
26
|
+
| Data Modeller post-build phase running grain + fan-out + null + sample on N models | Repeats N×4 queries; classic prompt-spam pattern |
|
|
27
|
+
| Analytics Engineer per-layer checkpoint validation | Identical sweep across staging → intermediate → mart |
|
|
28
|
+
| ML Engineer / Data Scientist Phase 6 verifying feature query joins | Tier 2/3 join verification per join |
|
|
29
|
+
| Data Modeller service-mode consultation running PK/null/fan-out/freshness on the requested tables | The most common "I just clicked allow on the same thing 8 times" path |
|
|
30
|
+
| Join path protocol Tier 2/3 verification (count-before / count-after at every join) | Repeated count comparisons |
|
|
31
|
+
|
|
32
|
+
## When NOT to Enter
|
|
33
|
+
|
|
34
|
+
Do not enter auto-verify when **any** of these is true:
|
|
35
|
+
|
|
36
|
+
- The work writes to disk (`Write`, `Edit`, `NotebookEdit`) — these are never auto-approved regardless of the block, and entering the block signals the wrong intent.
|
|
37
|
+
- The work mutates external state — `dbt run`, `dbt build`, `dbt seed`, `dbt snapshot`, INSERT/UPDATE/DELETE/MERGE, `git push`, `git commit`, package installs, deployments, API calls that mutate.
|
|
38
|
+
- The work involves a user-facing decision point (a phase gate, a checkpoint gate, a clarification question, a methodology choice).
|
|
39
|
+
- A handoff is in progress (Task call to another specialist). The other specialist runs in its own context — your auto-verify state doesn't follow.
|
|
40
|
+
- You're in a build phase. Builds are punctuated by `kind=checkpoint` gates, which suspend auto-verify anyway. Don't open auto-verify during a build phase — it won't help.
|
|
41
|
+
- The work is exploratory in nature (Data Modeller `[X] Explore` track) and the user is reading along. Auto-verify makes sense for *bulk* verification, not interactive exploration where each query is part of the conversation.
|
|
42
|
+
|
|
43
|
+
If you're unsure whether the next stretch fits, do not enter auto-verify. The default behavior (per-call prompts) is fine.
|
|
44
|
+
|
|
45
|
+
## Marker Syntax
|
|
46
|
+
|
|
47
|
+
Open with a single line at the top of the message that begins the verification stretch:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
::AUTO-VERIFY:: agent=<your-name> phase=<N> tool_budget=<N> ttl_minutes=<N>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
| Attribute | Required | Default | Bounds | Meaning |
|
|
54
|
+
|---|---|---|---|---|
|
|
55
|
+
| `agent` | yes | — | kebab-case agent name | For audit log |
|
|
56
|
+
| `phase` | yes | — | phase number | For audit log |
|
|
57
|
+
| `tool_budget` | no | 20 | 1–50 | Max auto-approvals before block auto-closes |
|
|
58
|
+
| `ttl_minutes` | no | 10 | 1–30 | Wall-clock expiry from open |
|
|
59
|
+
|
|
60
|
+
Both `tool_budget` and `ttl_minutes` are clamped to their max — requesting `tool_budget=999` gets you 50, not 999.
|
|
61
|
+
|
|
62
|
+
Close with a bare line at the end of the verification stretch:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
::ENDAUTO::
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Example:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
::AUTO-VERIFY:: agent=data-modeller phase=6 tool_budget=12 ttl_minutes=5
|
|
72
|
+
|
|
73
|
+
Running per-model validation for the customers / orders / order_items models.
|
|
74
|
+
|
|
75
|
+
[runs `dbt show --select customers --limit 5`]
|
|
76
|
+
[runs `psql -c "SELECT count(*), count(distinct customer_id) FROM stg.customers"`]
|
|
77
|
+
[runs `psql -c "SELECT count(*) FROM int.orders"`]
|
|
78
|
+
[runs `psql -c "SELECT count(*) FROM (int.orders JOIN stg.customers USING (customer_id))"`]
|
|
79
|
+
... (12 more queries) ...
|
|
80
|
+
|
|
81
|
+
::ENDAUTO::
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## What Gets Auto-Approved
|
|
85
|
+
|
|
86
|
+
While the block is open, the hook auto-approves tool calls that match the hardcoded allowlist:
|
|
87
|
+
|
|
88
|
+
- **Always-safe tools**: `Read`, `Glob`, `Grep`, `WebSearch`
|
|
89
|
+
- **Read-only Bash prefixes**: `git status/log/diff/show/branch/rev-parse/remote -v/remote show`, `ls`, `cat`, `head`, `tail`, `wc`, `file`, `stat`, `pip list/show/freeze`, `npm ls/list/outdated/view`
|
|
90
|
+
- **Read-only dbt subcommands**: `dbt show`, `dbt ls`, `dbt list`, `dbt parse`, `dbt compile`, `dbt deps`, `dbt debug`, `dbt source freshness`
|
|
91
|
+
- **Read-only BigQuery CLI**: `bq show`, `bq ls`, `bq head`, `bq query --dry_run …`
|
|
92
|
+
- **SELECT-only warehouse-CLI SQL**: `bq query "SELECT …"`, `psql -c "SELECT …"`, `snowsql -q "SELECT …"`, `clickhouse-client --query "SELECT …"`, `duckdb -c "SELECT …"`, `mysql -e "SELECT …"`. The hook parses the SQL string, strips comments, splits on `;`, and approves only if every statement starts with `SELECT` or `WITH` and contains no DDL/DML keyword.
|
|
93
|
+
|
|
94
|
+
## What Never Gets Auto-Approved
|
|
95
|
+
|
|
96
|
+
These always fall through to the normal prompt, even inside auto-verify:
|
|
97
|
+
|
|
98
|
+
- `Write`, `Edit`, `NotebookEdit`
|
|
99
|
+
- `Bash(rm:*)`, `Bash(mv:*)`, `Bash(sudo …)`, anything with shell redirects (`>`, `>>`), pipe-to-shell, command substitution (`$(...)` or backticks)
|
|
100
|
+
- Compound commands joined with `&&`, `||`, `;`, `|` at the shell level (a single `dbt show` is fine; `dbt show && rm -rf` is not)
|
|
101
|
+
- `dbt run`, `dbt build`, `dbt seed`, `dbt snapshot` — even with `--select`, these write
|
|
102
|
+
- `git push`, `git commit`, `git merge`, `git rebase`
|
|
103
|
+
- `INSERT`, `UPDATE`, `DELETE`, `MERGE`, `CREATE`, `DROP`, `ALTER`, `TRUNCATE`, `GRANT`, `REVOKE`, `COPY` via warehouse CLI
|
|
104
|
+
- Anything matching the user's `permissions.deny[]` list (Claude Code enforces this; the hook cannot override it)
|
|
105
|
+
- MCP tools (auto-verify only matches built-in tools)
|
|
106
|
+
|
|
107
|
+
If a tool call falls outside the allowlist, the prompt fires normally — **do not interpret a single prompt as a signal to abandon the block**. Answer the prompt and continue. The block stays open.
|
|
108
|
+
|
|
109
|
+
## How the Block Closes
|
|
110
|
+
|
|
111
|
+
The block closes — and auto-approval ends — when any of these happens:
|
|
112
|
+
|
|
113
|
+
1. You emit `::ENDAUTO::` in a later message
|
|
114
|
+
2. The tool budget hits zero (every auto-approval decrements it)
|
|
115
|
+
3. The TTL elapses (wall-clock from open)
|
|
116
|
+
4. The user submits a prompt containing "stop", "halt", "pause", "cancel", "abort", "wait", "hold on", "no thanks", "nope", or "don't" — these halt immediately
|
|
117
|
+
5. A real `::GATE::` opens (auto-verify is *suspended* during gate, not closed; it resumes when the gate confirms — but in practice phase boundaries are where you `::ENDAUTO::` anyway)
|
|
118
|
+
|
|
119
|
+
After close, the next non-allowlisted tool call prompts as normal.
|
|
120
|
+
|
|
121
|
+
## Discipline
|
|
122
|
+
|
|
123
|
+
- **Open exactly when the bulk work starts.** Don't open at the top of the phase and let it run for the whole phase — the budget runs out, the TTL expires, and you've signaled to the user that you intend to do bulk read-only work when actually you're going to write code.
|
|
124
|
+
- **Close exactly when the bulk work ends.** A trailing `::ENDAUTO::` before any prose, decision, or write makes the boundary visible.
|
|
125
|
+
- **Don't re-open within the same message.** If you need a second block, finish the message, get user input, and open a new block in a later turn.
|
|
126
|
+
- **Don't use auto-verify to skip a checkpoint or phase gate.** Gates always win. If you find yourself wanting auto-verify to "make this gate go away," you are misusing it.
|
|
127
|
+
|
|
128
|
+
## What the User Sees
|
|
129
|
+
|
|
130
|
+
Auto-verify is visible to the user — every approval is logged to `.shards/auto/history.jsonl` with timestamp, agent, phase, tool, and command. The user can `tail` it to see exactly what got approved. The audit trail is non-negotiable; if a future change tries to remove it, that change is wrong.
|
|
131
|
+
|
|
132
|
+
## Composition with Other Protocols
|
|
133
|
+
|
|
134
|
+
- **Gate pattern** — gates always win. A `kind=phase` or `kind=checkpoint` gate suspends auto-verify; the gate's allow-list (Read/Glob/Grep) takes over until the gate confirms.
|
|
135
|
+
- **Validation protocol** — auto-verify does not satisfy validation evidence. The validation `## Evidence` table still requires real measured facts, recorded in `project-specs.md`, before the phase gate.
|
|
136
|
+
- **Incremental testing** — checkpoint gates fire *between* components in a build phase. Don't try to span a build phase with auto-verify; the checkpoint will suspend it anyway.
|
|
137
|
+
- **Join path protocol** — Tier 2/3 verification queries are exactly the use case auto-verify is for. Open the block, run the count-before / count-after queries, close the block, then write the join.
|
|
138
|
+
|
|
139
|
+
## Escape Hatch
|
|
140
|
+
|
|
141
|
+
`SHARDS_AUTO_VERIFY=0` disables the auto-verify branch entirely. Markers are still parsed (so they don't appear as raw text in transcripts) but no state is written and no tool calls are auto-approved. Use this if a downstream tool integration is misbehaving — not as a default. Without auto-verify, the prompt-spam problem returns.
|