@azure-id/orc 0.55.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 +2017 -0
- package/README-id.md +521 -0
- package/README.md +485 -0
- package/bin/build-agents.js +86 -0
- package/bin/cli.js +29050 -0
- package/bin/mockrun-catalog.js +267 -0
- package/bin/onboarding-content.js +172 -0
- package/bin/pricing.json +200 -0
- package/bin/providers.json +437 -0
- package/bin/ui.js +95 -0
- package/bin/verify-contracts.js +3277 -0
- package/bin/verify-package.js +498 -0
- package/bin/webui/api.js +1163 -0
- package/bin/webui/app.html +198 -0
- package/bin/webui/css/00-tokens.css +92 -0
- package/bin/webui/css/01-base.css +42 -0
- package/bin/webui/css/02-shell.css +103 -0
- package/bin/webui/css/03-components.css +462 -0
- package/bin/webui/css/04-motion.css +91 -0
- package/bin/webui/css/05-tour.css +100 -0
- package/bin/webui/css/06-responsive.css +108 -0
- package/bin/webui/css/panels/boundary.css +26 -0
- package/bin/webui/css/panels/challenge.css +151 -0
- package/bin/webui/css/panels/crosslink.css +194 -0
- package/bin/webui/css/panels/docs.css +254 -0
- package/bin/webui/css/panels/experiment.css +23 -0
- package/bin/webui/css/panels/extra.css +536 -0
- package/bin/webui/css/panels/flow.css +177 -0
- package/bin/webui/css/panels/handoff.css +67 -0
- package/bin/webui/css/panels/knowledge.css +86 -0
- package/bin/webui/css/panels/learn.css +154 -0
- package/bin/webui/css/panels/maintenance.css +55 -0
- package/bin/webui/css/panels/mockrun.css +268 -0
- package/bin/webui/css/panels/overview.css +100 -0
- package/bin/webui/css/panels/pact.css +43 -0
- package/bin/webui/css/panels/runs.css +105 -0
- package/bin/webui/css/panels/settings.css +227 -0
- package/bin/webui/css/panels/stats.css +87 -0
- package/bin/webui/fixtures/boundary.js +92 -0
- package/bin/webui/fixtures/challenge.js +825 -0
- package/bin/webui/fixtures/crosslink.js +31 -0
- package/bin/webui/fixtures/docs.js +982 -0
- package/bin/webui/fixtures/extra.js +1934 -0
- package/bin/webui/fixtures/flow.js +81 -0
- package/bin/webui/fixtures/handoff.js +35 -0
- package/bin/webui/fixtures/index.js +486 -0
- package/bin/webui/fixtures/knowledge.js +291 -0
- package/bin/webui/fixtures/maintenance.js +42 -0
- package/bin/webui/fixtures/mockrun.js +36 -0
- package/bin/webui/fixtures/pact.js +111 -0
- package/bin/webui/fixtures/runs.js +109 -0
- package/bin/webui/fixtures/settings.js +78 -0
- package/bin/webui/fixtures/shell.js +48 -0
- package/bin/webui/fixtures/stats.js +104 -0
- package/bin/webui/i18n/TERMS.md +134 -0
- package/bin/webui/i18n/en/banner.json +29 -0
- package/bin/webui/i18n/en/boundary.json +20 -0
- package/bin/webui/i18n/en/challenge.json +106 -0
- package/bin/webui/i18n/en/common.json +69 -0
- package/bin/webui/i18n/en/crosslink.json +69 -0
- package/bin/webui/i18n/en/docs.json +175 -0
- package/bin/webui/i18n/en/experiment.json +17 -0
- package/bin/webui/i18n/en/extra.json +313 -0
- package/bin/webui/i18n/en/flow.json +30 -0
- package/bin/webui/i18n/en/handoff.json +37 -0
- package/bin/webui/i18n/en/knowledge.json +141 -0
- package/bin/webui/i18n/en/learn.json +16 -0
- package/bin/webui/i18n/en/maintenance.json +52 -0
- package/bin/webui/i18n/en/mockrun.json +19 -0
- package/bin/webui/i18n/en/nav.json +19 -0
- package/bin/webui/i18n/en/overview.json +89 -0
- package/bin/webui/i18n/en/pact.json +36 -0
- package/bin/webui/i18n/en/runs.json +51 -0
- package/bin/webui/i18n/en/settings.json +49 -0
- package/bin/webui/i18n/en/stats.json +69 -0
- package/bin/webui/i18n/en/tour.json +33 -0
- package/bin/webui/i18n/id/banner.json +29 -0
- package/bin/webui/i18n/id/boundary.json +20 -0
- package/bin/webui/i18n/id/challenge.json +106 -0
- package/bin/webui/i18n/id/common.json +70 -0
- package/bin/webui/i18n/id/crosslink.json +69 -0
- package/bin/webui/i18n/id/docs.json +175 -0
- package/bin/webui/i18n/id/experiment.json +17 -0
- package/bin/webui/i18n/id/extra.json +313 -0
- package/bin/webui/i18n/id/flow.json +30 -0
- package/bin/webui/i18n/id/handoff.json +37 -0
- package/bin/webui/i18n/id/knowledge.json +141 -0
- package/bin/webui/i18n/id/learn.json +16 -0
- package/bin/webui/i18n/id/maintenance.json +52 -0
- package/bin/webui/i18n/id/mockrun.json +19 -0
- package/bin/webui/i18n/id/nav.json +19 -0
- package/bin/webui/i18n/id/overview.json +89 -0
- package/bin/webui/i18n/id/pact.json +36 -0
- package/bin/webui/i18n/id/runs.json +51 -0
- package/bin/webui/i18n/id/settings.json +49 -0
- package/bin/webui/i18n/id/stats.json +69 -0
- package/bin/webui/i18n/id/tour.json +33 -0
- package/bin/webui/js/00-core.js +115 -0
- package/bin/webui/js/01-i18n.js +149 -0
- package/bin/webui/js/02-ui.js +211 -0
- package/bin/webui/js/03-md.js +286 -0
- package/bin/webui/js/04-router.js +51 -0
- package/bin/webui/js/05-banners.js +172 -0
- package/bin/webui/js/06-edit.js +183 -0
- package/bin/webui/js/90-tour.js +488 -0
- package/bin/webui/js/91-shortcuts.js +126 -0
- package/bin/webui/js/99-boot.js +118 -0
- package/bin/webui/js/panels/boundary.js +104 -0
- package/bin/webui/js/panels/challenge.js +781 -0
- package/bin/webui/js/panels/crosslink.js +654 -0
- package/bin/webui/js/panels/docs.js +1338 -0
- package/bin/webui/js/panels/experiment.js +98 -0
- package/bin/webui/js/panels/extra.js +3011 -0
- package/bin/webui/js/panels/flow.js +297 -0
- package/bin/webui/js/panels/handoff.js +169 -0
- package/bin/webui/js/panels/knowledge.js +890 -0
- package/bin/webui/js/panels/learn.js +220 -0
- package/bin/webui/js/panels/maintenance.js +235 -0
- package/bin/webui/js/panels/mockrun.js +227 -0
- package/bin/webui/js/panels/overview.js +447 -0
- package/bin/webui/js/panels/pact.js +189 -0
- package/bin/webui/js/panels/runs.js +416 -0
- package/bin/webui/js/panels/settings.js +573 -0
- package/bin/webui/js/panels/stats.js +378 -0
- package/bin/webui/serve.js +557 -0
- package/mock-run/INDEX.md +106 -0
- package/mock-run/a-normal-day.md +587 -0
- package/mock-run/context-combiner.md +100 -0
- package/mock-run/extra-recovery.md +330 -0
- package/mock-run/extra-slots.md +177 -0
- package/mock-run/media/README.md +43 -0
- package/mock-run/orc-aftermath.md +392 -0
- package/mock-run/orc-boundary.md +356 -0
- package/mock-run/orc-brainstorm.md +177 -0
- package/mock-run/orc-budget.md +534 -0
- package/mock-run/orc-challenge-council.md +262 -0
- package/mock-run/orc-challenge.md +416 -0
- package/mock-run/orc-cli.md +200 -0
- package/mock-run/orc-diy.md +129 -0
- package/mock-run/orc-doc.md +448 -0
- package/mock-run/orc-explain.md +86 -0
- package/mock-run/orc-export.md +423 -0
- package/mock-run/orc-extra.md +392 -0
- package/mock-run/orc-fast.md +106 -0
- package/mock-run/orc-grill.md +151 -0
- package/mock-run/orc-handoff.md +480 -0
- package/mock-run/orc-pact.md +421 -0
- package/mock-run/orc-pattern.md +112 -0
- package/mock-run/orc-plan.md +108 -0
- package/mock-run/orc-pr-setup.md +126 -0
- package/mock-run/orc-quick.md +113 -0
- package/mock-run/orc-route.md +93 -0
- package/mock-run/orc-ui.md +125 -0
- package/mock-run/orc-ultra.md +103 -0
- package/mock-run/orc.md +157 -0
- package/mock-run/the-example-project.md +55 -0
- package/package.json +39 -0
- package/templates/agents/MODEL-MAPPING.md +168 -0
- package/templates/agents/orc-advisor-fable-5.md +50 -0
- package/templates/agents/orc-advisor-opus-5-xhigh.md +56 -0
- package/templates/agents/orc-analyst-fable-5.md +115 -0
- package/templates/agents/orc-analyze-mini-opus-5-med.md +60 -0
- package/templates/agents/orc-analyze-mini-sonnet-5-high.md +58 -0
- package/templates/agents/orc-challenge-advisor-opus-5-med.md +75 -0
- package/templates/agents/orc-challenge-contrarian-opus-5-high.md +110 -0
- package/templates/agents/orc-challenge-executor-opus-5-med.md +114 -0
- package/templates/agents/orc-challenge-expansionist-opus-5-med.md +112 -0
- package/templates/agents/orc-challenge-judge-opus-5-high.md +132 -0
- package/templates/agents/orc-challenge-outsider-opus-5-low.md +109 -0
- package/templates/agents/orc-challenge-principles-opus-5-high.md +109 -0
- package/templates/agents/orc-challenge-reader-opus-5-low.md +90 -0
- package/templates/agents/orc-claude-writer-opus-4-8-high.md +53 -0
- package/templates/agents/orc-claude-writer-opus-5-med.md +55 -0
- package/templates/agents/orc-context-combiner-opus-5-high.md +88 -0
- package/templates/agents/orc-doc-checker-opus-5-low.md +108 -0
- package/templates/agents/orc-doc-writer-opus-5-med.md +134 -0
- package/templates/agents/orc-executor-haiku-4-5.md +113 -0
- package/templates/agents/orc-executor-opus-4-7-high.md +114 -0
- package/templates/agents/orc-executor-opus-4-7-med.md +114 -0
- package/templates/agents/orc-executor-opus-4-8-high.md +114 -0
- package/templates/agents/orc-executor-opus-5-high.md +114 -0
- package/templates/agents/orc-executor-opus-5-low.md +114 -0
- package/templates/agents/orc-executor-opus-5-med.md +114 -0
- package/templates/agents/orc-executor-sonnet-4-6-high.md +114 -0
- package/templates/agents/orc-executor-sonnet-4-6-med.md +114 -0
- package/templates/agents/orc-executor-sonnet-5-high.md +114 -0
- package/templates/agents/orc-judge-fable-5.md +79 -0
- package/templates/agents/orc-judge-opus-5-xhigh.md +85 -0
- package/templates/agents/orc-learn-writer-opus-5-low.md +73 -0
- package/templates/agents/orc-pattern-codifier-opus-5-med.md +65 -0
- package/templates/agents/orc-pattern-codifier-sonnet-5-high.md +63 -0
- package/templates/agents/orc-planner-fable-5.md +152 -0
- package/templates/agents/orc-planner-mini-opus-5-med.md +69 -0
- package/templates/agents/orc-planner-mini-sonnet-5-high.md +67 -0
- package/templates/agents/orc-planner-opus-5-med.md +160 -0
- package/templates/agents/orc-retro-opus-5-med.md +73 -0
- package/templates/agents/orc-retro-sonnet-5-high.md +72 -0
- package/templates/agents/orc-reviewer-fable-5.md +57 -0
- package/templates/agents/orc-reviewer-opus-5-med.md +60 -0
- package/templates/agents/orc-scout-opus-5-low.md +40 -0
- package/templates/agents/orc-scout-sonnet-4-6-high.md +39 -0
- package/templates/agents/orc-system-analyst-opus-5-high.md +120 -0
- package/templates/agents/orc-test-author-opus-5-med.md +71 -0
- package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -0
- package/templates/agents/orc-verifier-opus-5-med.md +69 -0
- package/templates/agents/orc-wiki-scanner-opus-4-8-high.md +79 -0
- package/templates/agents/orc-wiki-scanner-opus-5-med.md +81 -0
- package/templates/agents/orc-wiki-scanner-sonnet-5-high.md +106 -0
- package/templates/commands/orc-aftermath.md +49 -0
- package/templates/commands/orc-analyze.md +21 -0
- package/templates/commands/orc-boundary.md +46 -0
- package/templates/commands/orc-brainstorm.md +51 -0
- package/templates/commands/orc-budget.md +54 -0
- package/templates/commands/orc-challenge.md +58 -0
- package/templates/commands/orc-claude.md +14 -0
- package/templates/commands/orc-diy.md +13 -0
- package/templates/commands/orc-doc.md +128 -0
- package/templates/commands/orc-explain.md +20 -0
- package/templates/commands/orc-export.md +46 -0
- package/templates/commands/orc-fast.md +15 -0
- package/templates/commands/orc-grill.md +40 -0
- package/templates/commands/orc-handoff.md +52 -0
- package/templates/commands/orc-learn.md +17 -0
- package/templates/commands/orc-mini.md +12 -0
- package/templates/commands/orc-pact.md +44 -0
- package/templates/commands/orc-pattern.md +15 -0
- package/templates/commands/orc-plan.md +22 -0
- package/templates/commands/orc-poly.md +21 -0
- package/templates/commands/orc-pr-driver.md +30 -0
- package/templates/commands/orc-pr-setup.md +31 -0
- package/templates/commands/orc-quick.md +33 -0
- package/templates/commands/orc-retro.md +17 -0
- package/templates/commands/orc-route.md +41 -0
- package/templates/commands/orc-ultra.md +17 -0
- package/templates/commands/orc-verify.md +11 -0
- package/templates/commands/orc-wiki.md +42 -0
- package/templates/commands/orc.md +16 -0
- package/templates/hooks/orc-effort-guard.js +178 -0
- package/templates/hooks/orc-statusline.js +305 -0
- package/templates/hooks/orc-trace.js +471 -0
- package/templates/hooks/orc-update-lib.js +125 -0
- package/templates/skills/_shared/README.md +50 -0
- package/templates/skills/_shared/detecting-artifacts.md +90 -0
- package/templates/skills/_shared/drift-recovery.md +98 -0
- package/templates/skills/_shared/extra-dispatch.md +1051 -0
- package/templates/skills/_shared/fable5-override.md +56 -0
- package/templates/skills/_shared/fallback-handoff.md +42 -0
- package/templates/skills/_shared/gh-stack-commands.md +65 -0
- package/templates/skills/_shared/gotchas.md +177 -0
- package/templates/skills/_shared/interview.md +144 -0
- package/templates/skills/_shared/lane-suspend.md +82 -0
- package/templates/skills/_shared/opus5-only.md +131 -0
- package/templates/skills/_shared/pr-templates.md +106 -0
- package/templates/skills/_shared/read-ladder.md +54 -0
- package/templates/skills/_shared/return-validation.md +145 -0
- package/templates/skills/_shared/smoke-gate.md +28 -0
- package/templates/skills/_shared/stack-plan.md +135 -0
- package/templates/skills/_shared/untrusted-input.md +63 -0
- package/templates/skills/context-combiner/SKILL.md +187 -0
- package/templates/skills/context-combiner/schemas/combined-report.md +78 -0
- package/templates/skills/context-combiner/schemas/combined-requirement-spec.md +87 -0
- package/templates/skills/orc/README.md +150 -0
- package/templates/skills/orc/SKILL.md +526 -0
- package/templates/skills/orc/config.md +389 -0
- package/templates/skills/orc/examples/full-run-mock.md +73 -0
- package/templates/skills/orc/references/analyst-gates.md +124 -0
- package/templates/skills/orc/references/effort-and-mode.md +224 -0
- package/templates/skills/orc/references/house-rules.md +20 -0
- package/templates/skills/orc/references/intake.md +120 -0
- package/templates/skills/orc/references/log-protocol.md +39 -0
- package/templates/skills/orc/references/pattern-gate.md +89 -0
- package/templates/skills/orc/references/plan-handoff.md +84 -0
- package/templates/skills/orc/references/preflight-report.md +220 -0
- package/templates/skills/orc/references/security-checklist.md +39 -0
- package/templates/skills/orc/references/stop-and-resume.md +160 -0
- package/templates/skills/orc/references/trace-protocol.md +314 -0
- package/templates/skills/orc/references/ultra-mode.md +123 -0
- package/templates/skills/orc/references/wave-grouping.md +121 -0
- package/templates/skills/orc/references/wiki-consult.md +177 -0
- package/templates/skills/orc/schemas/checkpoint.md +122 -0
- package/templates/skills/orc/schemas/intent-spec.md +42 -0
- package/templates/skills/orc/schemas/planning-output.md +279 -0
- package/templates/skills/orc/subskills/orc-checkpoint/SKILL.md +55 -0
- package/templates/skills/orc/subskills/orc-execution/SKILL.md +72 -0
- package/templates/skills/orc/subskills/orc-execution/core.md +151 -0
- package/templates/skills/orc/subskills/orc-execution/subagent.md +13 -0
- package/templates/skills/orc/subskills/orc-planner/SKILL.md +264 -0
- package/templates/skills/orc/subskills/orc-planner-mini/SKILL.md +121 -0
- package/templates/skills/orc/subskills/orc-pr/SKILL.md +51 -0
- package/templates/skills/orc/subskills/orc-pr/pr.md +22 -0
- package/templates/skills/orc/subskills/orc-pr/stack-gate.md +108 -0
- package/templates/skills/orc/subskills/orc-review-verify/SKILL.md +76 -0
- package/templates/skills/orc/subskills/orc-review-verify/core.md +135 -0
- package/templates/skills/orc/subskills/orc-review-verify/subagent.md +7 -0
- package/templates/skills/orc/subskills/orc-testgen/SKILL.md +45 -0
- package/templates/skills/orc/subskills/orc-testgen/core.md +59 -0
- package/templates/skills/orc/subskills/orc-testgen/subagent.md +7 -0
- package/templates/skills/orc-advisor/SKILL.md +60 -0
- package/templates/skills/orc-aftermath/SKILL.md +136 -0
- package/templates/skills/orc-aftermath/references/report.md +95 -0
- package/templates/skills/orc-analyze/SKILL.md +220 -0
- package/templates/skills/orc-analyze/examples/analyze-mock.md +42 -0
- package/templates/skills/orc-analyze/references/branching.md +51 -0
- package/templates/skills/orc-analyze/references/deep-mode.md +27 -0
- package/templates/skills/orc-analyze/references/thin-input.md +77 -0
- package/templates/skills/orc-analyze/schemas/report-audit.md +83 -0
- package/templates/skills/orc-analyze/schemas/report-prose.md +63 -0
- package/templates/skills/orc-analyze/schemas/report-requirement.md +78 -0
- package/templates/skills/orc-analyze/schemas/requirement-spec.md +77 -0
- package/templates/skills/orc-analyze-mini/SKILL.md +112 -0
- package/templates/skills/orc-analyze-mini/examples/quick-analysis-mock.md +31 -0
- package/templates/skills/orc-boundary/SKILL.md +208 -0
- package/templates/skills/orc-boundary/references/card.md +78 -0
- package/templates/skills/orc-boundary/references/gate.md +113 -0
- package/templates/skills/orc-brainstorm/SKILL.md +339 -0
- package/templates/skills/orc-brainstorm/references/brainstorm-doc.md +133 -0
- package/templates/skills/orc-brainstorm/references/lenses.md +152 -0
- package/templates/skills/orc-budget/SKILL.md +225 -0
- package/templates/skills/orc-budget/references/corpus.md +87 -0
- package/templates/skills/orc-challenge/README.md +142 -0
- package/templates/skills/orc-challenge/SKILL.md +255 -0
- package/templates/skills/orc-challenge/examples/code-module.md +110 -0
- package/templates/skills/orc-challenge/examples/council-full-roster.md +273 -0
- package/templates/skills/orc-challenge/examples/tsd-two-iterations.md +213 -0
- package/templates/skills/orc-challenge/references/conservation.md +107 -0
- package/templates/skills/orc-challenge/references/council.md +315 -0
- package/templates/skills/orc-challenge/references/cycle-state.md +185 -0
- package/templates/skills/orc-challenge/references/dimensions.md +121 -0
- package/templates/skills/orc-challenge/references/fix-brief.md +130 -0
- package/templates/skills/orc-challenge/references/intake.md +171 -0
- package/templates/skills/orc-challenge/references/kinds.md +44 -0
- package/templates/skills/orc-challenge/references/plain-english.md +98 -0
- package/templates/skills/orc-challenge/references/rubric.md +109 -0
- package/templates/skills/orc-challenge/references/sealed-slice.md +97 -0
- package/templates/skills/orc-challenge/references/verdict-doc.md +154 -0
- package/templates/skills/orc-claude/SKILL.md +199 -0
- package/templates/skills/orc-claude/examples/claude-run-mock.md +65 -0
- package/templates/skills/orc-claude/references/refresh.md +76 -0
- package/templates/skills/orc-claude/references/template.md +109 -0
- package/templates/skills/orc-diy/README.md +142 -0
- package/templates/skills/orc-diy/SKILL.md +70 -0
- package/templates/skills/orc-diy/references/blocks/analyze.md +24 -0
- package/templates/skills/orc-diy/references/blocks/execution.md +42 -0
- package/templates/skills/orc-diy/references/blocks/extra.md +55 -0
- package/templates/skills/orc-diy/references/blocks/header.md +55 -0
- package/templates/skills/orc-diy/references/blocks/mock-example.md +22 -0
- package/templates/skills/orc-diy/references/blocks/pattern.md +18 -0
- package/templates/skills/orc-diy/references/blocks/planning.md +34 -0
- package/templates/skills/orc-diy/references/blocks/review.md +18 -0
- package/templates/skills/orc-diy/references/blocks/scoring.md +16 -0
- package/templates/skills/orc-diy/references/blocks/security.md +25 -0
- package/templates/skills/orc-diy/references/blocks/ship.md +25 -0
- package/templates/skills/orc-diy/references/blocks/summary.md +18 -0
- package/templates/skills/orc-diy/references/blocks/testgen.md +17 -0
- package/templates/skills/orc-diy/references/blocks/trace.md +28 -0
- package/templates/skills/orc-diy/references/blocks/verify.md +25 -0
- package/templates/skills/orc-diy/references/blocks/wiki.md +26 -0
- package/templates/skills/orc-diy/references/compile.md +59 -0
- package/templates/skills/orc-diy/references/flow-schema.md +100 -0
- package/templates/skills/orc-diy/references/locked-blocks.md +37 -0
- package/templates/skills/orc-doc/README.md +229 -0
- package/templates/skills/orc-doc/SKILL.md +444 -0
- package/templates/skills/orc-doc/examples/orc-doc-prd-run.md +325 -0
- package/templates/skills/orc-doc/references/chunking.md +527 -0
- package/templates/skills/orc-doc/references/gates.md +311 -0
- package/templates/skills/orc-doc/references/generation-rules.md +122 -0
- package/templates/skills/orc-doc/references/house-rules.md +170 -0
- package/templates/skills/orc-doc/references/import-targets.md +40 -0
- package/templates/skills/orc-doc/references/plain-language.md +66 -0
- package/templates/skills/orc-doc/references/portable-markdown.md +74 -0
- package/templates/skills/orc-doc/references/resume-protocol.md +228 -0
- package/templates/skills/orc-doc/references/templates/collaboration.md +118 -0
- package/templates/skills/orc-doc/references/templates/prd.md +133 -0
- package/templates/skills/orc-doc/references/templates/report.md +102 -0
- package/templates/skills/orc-doc/references/templates/tsd.md +122 -0
- package/templates/skills/orc-doc/references/templates/workflow.md +112 -0
- package/templates/skills/orc-explain/SKILL.md +57 -0
- package/templates/skills/orc-export/SKILL.md +154 -0
- package/templates/skills/orc-fast/SKILL.md +188 -0
- package/templates/skills/orc-grill/SKILL.md +207 -0
- package/templates/skills/orc-grill/references/grill-doc.md +105 -0
- package/templates/skills/orc-handoff/SKILL.md +204 -0
- package/templates/skills/orc-handoff/references/handoff-log.md +67 -0
- package/templates/skills/orc-handoff/references/surfaces.md +88 -0
- package/templates/skills/orc-judge/SKILL.md +82 -0
- package/templates/skills/orc-learn/SKILL.md +156 -0
- package/templates/skills/orc-learn/examples/learn-run-mock.md +61 -0
- package/templates/skills/orc-learn/references/deepen.md +70 -0
- package/templates/skills/orc-learn/references/refresh.md +65 -0
- package/templates/skills/orc-learn/references/template-knowledge.md +83 -0
- package/templates/skills/orc-learn/references/template-learning.md +67 -0
- package/templates/skills/orc-mini/SKILL.md +226 -0
- package/templates/skills/orc-mini/examples/mini-run-mock.md +50 -0
- package/templates/skills/orc-pact/SKILL.md +218 -0
- package/templates/skills/orc-pact/references/gate.md +70 -0
- package/templates/skills/orc-pact/references/ledger.md +99 -0
- package/templates/skills/orc-pattern/SKILL.md +124 -0
- package/templates/skills/orc-pattern/references/INDEX.md +73 -0
- package/templates/skills/orc-pattern/references/be-django.md +80 -0
- package/templates/skills/orc-pattern/references/be-express.md +82 -0
- package/templates/skills/orc-pattern/references/be-fastapi.md +107 -0
- package/templates/skills/orc-pattern/references/be-go.md +96 -0
- package/templates/skills/orc-pattern/references/be-nestjs.md +86 -0
- package/templates/skills/orc-pattern/references/be-postgres.md +98 -0
- package/templates/skills/orc-pattern/references/fe-a11y.md +36 -0
- package/templates/skills/orc-pattern/references/fe-angular.md +87 -0
- package/templates/skills/orc-pattern/references/fe-nextjs.md +65 -0
- package/templates/skills/orc-pattern/references/fe-perf.md +39 -0
- package/templates/skills/orc-pattern/references/fe-react.md +83 -0
- package/templates/skills/orc-pattern/references/fe-vue.md +75 -0
- package/templates/skills/orc-pattern/schemas/pattern-doc.md +62 -0
- package/templates/skills/orc-poly/SKILL.md +216 -0
- package/templates/skills/orc-poly/examples/poly-run-mock.md +51 -0
- package/templates/skills/orc-poly/references/gather.md +70 -0
- package/templates/skills/orc-poly/references/poly-spec.md +84 -0
- package/templates/skills/orc-pr-driver/README.md +349 -0
- package/templates/skills/orc-pr-driver/SKILL.md +167 -0
- package/templates/skills/orc-pr-driver/references/conflict-playbook.md +78 -0
- package/templates/skills/orc-pr-driver/references/green-gate.md +105 -0
- package/templates/skills/orc-pr-driver/references/orc-run-split.md +99 -0
- package/templates/skills/orc-pr-setup/README.md +436 -0
- package/templates/skills/orc-pr-setup/SKILL.md +184 -0
- package/templates/skills/orc-pr-setup/references/certainty-gate.md +66 -0
- package/templates/skills/orc-pr-setup/references/layer-taxonomy.md +67 -0
- package/templates/skills/orc-quick/README.md +423 -0
- package/templates/skills/orc-quick/SKILL.md +306 -0
- package/templates/skills/orc-quick/references/context-doc.md +114 -0
- package/templates/skills/orc-quick/references/dispatch-gate.md +163 -0
- package/templates/skills/orc-quick/references/gh-mode.md +127 -0
- package/templates/skills/orc-retro/SKILL.md +222 -0
- package/templates/skills/orc-retro/examples/retro-mock.md +171 -0
- package/templates/skills/orc-route/SKILL.md +165 -0
- package/templates/skills/orc-verify/SKILL.md +86 -0
- package/templates/skills/orc-verify/examples/verify-mock.md +33 -0
- package/templates/skills/orc-wiki/README.md +325 -0
- package/templates/skills/orc-wiki/SKILL.md +322 -0
- package/templates/skills/orc-wiki/examples/wiki-run-mock.md +37 -0
- package/templates/skills/orc-wiki/references/claude-md-injection.md +61 -0
- package/templates/skills/orc-wiki/references/crosslink-compile.md +39 -0
- package/templates/skills/orc-wiki/references/crosslink-kinds.md +57 -0
- package/templates/skills/orc-wiki/references/crosslink.md +284 -0
- package/templates/skills/orc-wiki/references/extra.md +79 -0
- package/templates/skills/orc-wiki/references/integrity-check.md +86 -0
- package/templates/skills/orc-wiki/references/orientation.md +51 -0
- package/templates/skills/orc-wiki/references/partial-refresh.md +203 -0
- package/templates/skills/orc-wiki/references/pattern-prewarm.md +19 -0
- package/templates/skills/orc-wiki/references/staleness.md +288 -0
- package/templates/skills/orc-wiki/schemas/crosslink-tag.md +166 -0
- package/templates/skills/orc-wiki/schemas/wiki-doc.md +120 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Reference — Deepen Protocol (wiki topic → functions & full flow)
|
|
2
|
+
|
|
3
|
+
What the writer does AFTER the boundary is known. The wiki (when fresh)
|
|
4
|
+
answers "which files make up feature X and what are its contracts"; deepening
|
|
5
|
+
answers what the wiki deliberately does not carry: **which functions, in what
|
|
6
|
+
order, and why** — the level a human needs to change the code safely.
|
|
7
|
+
|
|
8
|
+
Precedence throughout: `code > fresh wiki > stale wiki (hints) > model
|
|
9
|
+
priors`. Every wiki claim used here is re-verified against the file it
|
|
10
|
+
anchors; on conflict the code wins and the doc records what the code shows.
|
|
11
|
+
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
- `covers[]` — the feature's file set (from the chosen wiki area's globs, or
|
|
15
|
+
from the user's directory/focus pointer when the wiki couldn't seed it).
|
|
16
|
+
- `wiki_tier` + the topic's wiki doc path when one exists (fresh or aging →
|
|
17
|
+
trust its boundary/contract claims as a starting map; stale → hints only,
|
|
18
|
+
verify before use; none → skip).
|
|
19
|
+
- `focus_hint|null` — biases which invocation the walkthrough follows.
|
|
20
|
+
|
|
21
|
+
## Step 1 — enumerate the feature's surface
|
|
22
|
+
|
|
23
|
+
Read every file matched by `covers[]` (targeted — NEVER expand to a
|
|
24
|
+
repo-wide scan; a file outside `covers` is read only when step 2's flow
|
|
25
|
+
provably calls into it, and then it is added to the doc's fingerprint map).
|
|
26
|
+
Record each function/method/entrypoint that participates in the feature:
|
|
27
|
+
|
|
28
|
+
- name + `file:line` anchor (the definition line, verified this run)
|
|
29
|
+
- role in one line (what it contributes to the feature)
|
|
30
|
+
- classification: entrypoint (route/command/hook/export) · core logic ·
|
|
31
|
+
helper · boundary (I/O, external service, other feature)
|
|
32
|
+
|
|
33
|
+
Skip vendored/generated files and trivial one-line re-exports. The count of
|
|
34
|
+
recorded functions is returned as `functions_mapped`.
|
|
35
|
+
|
|
36
|
+
## Step 2 — trace ONE real flow, entry to exit
|
|
37
|
+
|
|
38
|
+
Pick the feature's most representative invocation (the `focus_hint` wins if
|
|
39
|
+
it names one; else the primary entrypoint). Follow the actual call chain
|
|
40
|
+
through the recorded functions — reading the code, not inferring — until the
|
|
41
|
+
flow leaves the feature (response returned, event emitted, write committed).
|
|
42
|
+
|
|
43
|
+
Produce an ordered chain of anchors: `entry (a.ts:12) → validate (a.ts:40) →
|
|
44
|
+
compute (b.ts:88) → persist (c.ts:15) → exit`. Note at each hop WHY the hop
|
|
45
|
+
exists when it is not obvious. Branches: trace the main path fully; name the
|
|
46
|
+
significant branches and where they diverge, without fully expanding each.
|
|
47
|
+
`flow_traced: true` in the return means this chain is complete entry-to-exit
|
|
48
|
+
with every hop anchored — anything less returns `false` and says why.
|
|
49
|
+
|
|
50
|
+
## Step 3 — harvest while it's cheap
|
|
51
|
+
|
|
52
|
+
During steps 1–2, collect the raw material the templates need, so nothing is
|
|
53
|
+
invented at writing time:
|
|
54
|
+
|
|
55
|
+
- **Invariants/contracts**: assertions, validation, ordering constraints,
|
|
56
|
+
error conventions actually enforced in the code (→ knowledge.md).
|
|
57
|
+
- **Why-this-way findings**: places the implementation takes a non-obvious
|
|
58
|
+
route — these seed the FAQ (→ learning.md).
|
|
59
|
+
- **Couplings**: where the flow crosses into other features/modules — FAQ +
|
|
60
|
+
gotchas material.
|
|
61
|
+
- **Change seams**: the spots a next iteration would extend (→ recipes +
|
|
62
|
+
extension points).
|
|
63
|
+
|
|
64
|
+
## Output
|
|
65
|
+
|
|
66
|
+
Everything feeds the two templates (`template-learning.md`,
|
|
67
|
+
`template-knowledge.md`). The knowledge.md "Functions & flow" section and the
|
|
68
|
+
learning.md "Guided walkthrough" MUST describe the same step-2 flow — one
|
|
69
|
+
anchored tersely, one narrated pedagogically. Divergence between them is a
|
|
70
|
+
defect.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Reference — Refresh Protocol (per-feature freshness, multi-select)
|
|
2
|
+
|
|
3
|
+
REFRESH regenerates the onboarding pair for features the user picks. It
|
|
4
|
+
never runs unprompted, never regenerates everything by default, and never
|
|
5
|
+
persists a freshness status — freshness is computed on read, every time,
|
|
6
|
+
from each feature's fingerprint header.
|
|
7
|
+
|
|
8
|
+
## Inputs (all read from disk)
|
|
9
|
+
|
|
10
|
+
Per feature folder `learning-docs/<slug>/`, the `orc-learn:meta` header in
|
|
11
|
+
its `knowledge.md` (`template-knowledge.md`): `source_commit` +
|
|
12
|
+
`covered_files` (path → 6-hex md5).
|
|
13
|
+
|
|
14
|
+
## Computing freshness (on read — never stored)
|
|
15
|
+
|
|
16
|
+
The same two-pass recipe as the wiki's staleness reference, run per feature
|
|
17
|
+
against its own `source_commit`:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
distance = git rev-list --count <source_commit>..HEAD
|
|
21
|
+
drift = git diff --name-only <source_commit>..HEAD (pass 2, when needed)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
| Tier | Condition |
|
|
25
|
+
|-------|-----------|
|
|
26
|
+
| FRESH | distance < `wiki_fresh_max` (default 10) |
|
|
27
|
+
| AGING | `wiki_fresh_max` ≤ distance ≤ `wiki_aging_max` (default 30) |
|
|
28
|
+
| STALE | distance > `wiki_aging_max`, OR pass-2 drift intersects the feature's `covered_files` paths |
|
|
29
|
+
|
|
30
|
+
Pass 2 runs only when pass 1 lands AGING or worse: intersect `drift` with the
|
|
31
|
+
feature's `covered_files` paths. Drift hitting covered files upgrades the
|
|
32
|
+
tier to STALE; drift entirely elsewhere may read as "old but still accurate
|
|
33
|
+
for this feature". Thresholds are the existing `wiki_fresh_max` /
|
|
34
|
+
`wiki_aging_max` config keys — orc-learn adds no config keys of its own.
|
|
35
|
+
|
|
36
|
+
A `knowledge.md` with a missing/unparseable header cannot prove anything →
|
|
37
|
+
show it as STALE (header will be rewritten on regeneration). A feature
|
|
38
|
+
folder missing its `knowledge.md` entirely → show as BROKEN; regeneration is
|
|
39
|
+
the fix.
|
|
40
|
+
|
|
41
|
+
## The refresh flow
|
|
42
|
+
|
|
43
|
+
1. Enumerate `learning-docs/*/knowledge.md`; compute each feature's tier as
|
|
44
|
+
above. None found → "nothing generated yet; run `/orc-learn` first", stop.
|
|
45
|
+
2. Present the FULL list — every feature, each with its computed tier — and
|
|
46
|
+
let the user multi-select which to regenerate. FRESH features stay
|
|
47
|
+
selectable (the user may want a rewrite after learning more); STALE ones
|
|
48
|
+
are flagged, never auto-selected. Nothing picked → stop, zero writes.
|
|
49
|
+
3. Per selected feature the writer re-runs the full deepen (`deepen.md`) on
|
|
50
|
+
the feature's `covers` set and regenerates BOTH files: new
|
|
51
|
+
`source_commit` = current HEAD, recomputed `covered_files` hashes, a new
|
|
52
|
+
line in the doc changelog, `updated:` set to today (DD-MM-YYYY). Files
|
|
53
|
+
that vanished since generation drop out of the map; files the new flow
|
|
54
|
+
pulls in are added.
|
|
55
|
+
4. After the last selected feature, re-derive `learning-docs/INDEX.md` from
|
|
56
|
+
every feature's current header (all features, not just the refreshed
|
|
57
|
+
ones).
|
|
58
|
+
|
|
59
|
+
## Invariants
|
|
60
|
+
|
|
61
|
+
- Freshness/tier is NEVER written to any file — not the header, not the
|
|
62
|
+
index. Only `source_commit` + `covered_files` (facts) persist.
|
|
63
|
+
- Only user-selected features are regenerated; the rest are byte-untouched.
|
|
64
|
+
- DD-MM-YYYY everywhere a date is written.
|
|
65
|
+
- A refresh that regenerates nothing (user picked none) writes nothing.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Template — `knowledge.md` (reference; jump-to lookup)
|
|
2
|
+
|
|
3
|
+
The lookup half of a feature's onboarding pair, and the file that carries the
|
|
4
|
+
feature's freshness fingerprints. Sections are required unless marked
|
|
5
|
+
optional; empty-scan sections are OMITTED, never stubbed. Every claim is
|
|
6
|
+
anchored `file:line`, verified this run.
|
|
7
|
+
|
|
8
|
+
## The fingerprint header (required, machine-readable)
|
|
9
|
+
|
|
10
|
+
The first thing in the file — an HTML comment block the refresh protocol
|
|
11
|
+
parses (`refresh.md`). Field names are orc-learn's own (`source_commit`, not
|
|
12
|
+
the wiki's scan fields) so the two schemas can never be confused:
|
|
13
|
+
|
|
14
|
+
```markdown
|
|
15
|
+
<!-- orc-learn:meta
|
|
16
|
+
feature: <feature-slug>
|
|
17
|
+
generated: <DD-MM-YYYY>
|
|
18
|
+
updated: <DD-MM-YYYY>
|
|
19
|
+
source_commit: <full git hash — HEAD when this doc was written>
|
|
20
|
+
covered_files:
|
|
21
|
+
<repo-relative path>: <6-hex md5>
|
|
22
|
+
<repo-relative path>: <6-hex md5>
|
|
23
|
+
-->
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
- `covered_files` lists every source file the doc's claims rest on, with a
|
|
27
|
+
6-hex md5 of its content — computed with the real `node -e` md5 one-liner
|
|
28
|
+
(same command as `orc-claude/references/refresh.md`), never mentally.
|
|
29
|
+
- Refresh recomputes freshness FROM this header on read; no freshness status
|
|
30
|
+
is ever stored here.
|
|
31
|
+
|
|
32
|
+
## Body sections
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
# Knowledge — <Feature Name>
|
|
36
|
+
|
|
37
|
+
## Architecture summary
|
|
38
|
+
|
|
39
|
+
<5–15 lines: the pieces, their responsibilities, how data moves. A compact
|
|
40
|
+
diagram if the shape warrants it.>
|
|
41
|
+
|
|
42
|
+
## Functions & flow
|
|
43
|
+
|
|
44
|
+
<THE deepened section — the value-add over any wiki doc. One row/entry per
|
|
45
|
+
function or entrypoint that composes the feature: name, file:line anchor,
|
|
46
|
+
role in one line. Then the full call flow of one real invocation, entry to
|
|
47
|
+
exit, as an ordered chain of those anchors — the SAME flow learning.md
|
|
48
|
+
walks through pedagogically.>
|
|
49
|
+
|
|
50
|
+
## Contracts & invariants
|
|
51
|
+
|
|
52
|
+
<What must not break when you touch this feature: shapes, ordering rules,
|
|
53
|
+
error conventions, cross-feature promises. Anchored to where each is
|
|
54
|
+
enforced or assumed.>
|
|
55
|
+
|
|
56
|
+
## Dependencies & extension points
|
|
57
|
+
|
|
58
|
+
<In: what this feature consumes (modules, config, env names — never values).
|
|
59
|
+
Out: who consumes it. Extension points: the seams a next iteration should
|
|
60
|
+
use, anchored.>
|
|
61
|
+
|
|
62
|
+
## How to verify a change
|
|
63
|
+
|
|
64
|
+
<The build/test/lint invocations that prove a change to THIS feature is
|
|
65
|
+
safe — taken from the wiki manifest's `commands` map when one exists, else
|
|
66
|
+
from the project's real manifests. Only invocations that provably exist;
|
|
67
|
+
never invented. Include the narrowest test scope that covers the feature.>
|
|
68
|
+
|
|
69
|
+
## Doc changelog
|
|
70
|
+
|
|
71
|
+
<One line per generation/refresh: DD-MM-YYYY — init|refresh — short note.>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Rules
|
|
75
|
+
|
|
76
|
+
- `covered_files` is the refresh contract: any file the doc leans on that is
|
|
77
|
+
missing from the map silently escapes staleness detection — err on
|
|
78
|
+
including it.
|
|
79
|
+
- Unanchored claims are omitted, never guessed. On any wiki-vs-code conflict
|
|
80
|
+
the code wins and the doc records what the code shows.
|
|
81
|
+
- `INDEX.md` (derived by the writer from every feature's header) carries per
|
|
82
|
+
feature: slug · one-liner · generated/updated dates · path. Freshness is
|
|
83
|
+
NOT stored in the index — it is computed on read by refresh mode.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Template — `learning.md` (pedagogy; read top-to-bottom once)
|
|
2
|
+
|
|
3
|
+
The teaching half of a feature's onboarding pair. Written for ONE reader —
|
|
4
|
+
the dev who has to extend this feature next iteration — and since
|
|
5
|
+
`learning-docs/` is local and git-ignored, it addresses that reader directly
|
|
6
|
+
as "you". Every section below is required unless marked optional; a section
|
|
7
|
+
whose scan came back empty is OMITTED, never stubbed.
|
|
8
|
+
|
|
9
|
+
Style: narrative prose over bullet walls. Every code reference is a real
|
|
10
|
+
`file:line` anchor the writer verified this run — never a guessed path.
|
|
11
|
+
|
|
12
|
+
```markdown
|
|
13
|
+
# Learning — <Feature Name>
|
|
14
|
+
|
|
15
|
+
> <One sentence: what this feature does and why it exists.>
|
|
16
|
+
|
|
17
|
+
## Mental model
|
|
18
|
+
|
|
19
|
+
<The big picture in plain language. One analogy if it genuinely helps. A
|
|
20
|
+
small text/mermaid diagram of the moving parts. 10–20 lines.>
|
|
21
|
+
|
|
22
|
+
## Guided walkthrough — one real request, entry to exit
|
|
23
|
+
|
|
24
|
+
<Follow ONE concrete invocation through the code, step by step. Each step:
|
|
25
|
+
what happens, in which function (file:line), and why that step exists.
|
|
26
|
+
This is the heart of the doc — it must trace the SAME flow the knowledge.md
|
|
27
|
+
"Functions & flow" section anchors.>
|
|
28
|
+
|
|
29
|
+
## Key concepts & vocabulary
|
|
30
|
+
|
|
31
|
+
<The feature's own terms, each defined in 1–2 lines, anchored where the
|
|
32
|
+
concept lives in code.>
|
|
33
|
+
|
|
34
|
+
## How to make common changes
|
|
35
|
+
|
|
36
|
+
<2–4 recipes for the changes the next iteration will plausibly need:
|
|
37
|
+
"add a new X", "change how Y is computed", "extend Z". Each recipe: which
|
|
38
|
+
files/functions to touch (anchored), in what order, and what to re-run to
|
|
39
|
+
verify. This is the section that pays for the whole doc.>
|
|
40
|
+
|
|
41
|
+
## Gotchas / footguns
|
|
42
|
+
|
|
43
|
+
<Non-obvious traps found during the scan: ordering constraints, implicit
|
|
44
|
+
couplings, things that LOOK safe to change but aren't. Anchored.>
|
|
45
|
+
|
|
46
|
+
## FAQ
|
|
47
|
+
|
|
48
|
+
<REQUIRED, minimum 5 questions. Seed from real scan findings — never generic
|
|
49
|
+
filler. Good sources: "why is it done this way and not the obvious way",
|
|
50
|
+
cross-feature couplings, and "how do I add/change/remove …". Each answer
|
|
51
|
+
2–4 lines, linking into knowledge.md sections or real files for depth.>
|
|
52
|
+
|
|
53
|
+
## Where to look next
|
|
54
|
+
|
|
55
|
+
<Pointers: the paired knowledge.md, the 3–5 most load-bearing source files,
|
|
56
|
+
and any wiki doc that covers the surrounding area.>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Rules
|
|
60
|
+
|
|
61
|
+
- FAQ is a hard requirement: ≥5 questions or the doc is incomplete — the
|
|
62
|
+
writer's return reports `faq_count` and the skill relays it.
|
|
63
|
+
- Anchors are verified this run; a claim that cannot be anchored to a real
|
|
64
|
+
file is omitted, never guessed (same evidence bar as the wiki).
|
|
65
|
+
- No fingerprint header here — freshness lives in the paired knowledge.md;
|
|
66
|
+
this file carries only a `Generated: <DD-MM-YYYY> · source: <short-commit>`
|
|
67
|
+
line under the title.
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orc-mini
|
|
3
|
+
description: >
|
|
4
|
+
Lightweight ORC for fast implementation. Use for
|
|
5
|
+
"use orc-mini to implement X" or "/orc-mini". Same
|
|
6
|
+
intake → intent-spec → planning → dispatch → smoke-gate → ship spine as the full
|
|
7
|
+
orchestrator, but SKIPS full code review, verification, and the summary phase.
|
|
8
|
+
Dispatches ONE Sonnet 5 high-effort subagent for implementation, then runs a
|
|
9
|
+
build+test smoke gate (blocks ship on red) and offers opt-in test authoring.
|
|
10
|
+
Switchable to full flow mid-run. The orchestrator never implements — it spawns.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ORC-MINI
|
|
14
|
+
|
|
15
|
+
A trimmed orchestrator for when you want speed over the full quality pipeline.
|
|
16
|
+
Everything in the main spine (`../orc/SKILL.md`) applies EXCEPT the
|
|
17
|
+
differences below. Load the main skill's references and schemas by path — the
|
|
18
|
+
HOT-PATH essentials (dispatch names, return-contract fields, artifact path)
|
|
19
|
+
are inlined here so nothing is reconstructed from "full minus deltas."
|
|
20
|
+
|
|
21
|
+
Run as **Opus 4.8 high**, or Opus 5 / Fable 5 at medium+ (as full; never downgrade).
|
|
22
|
+
**You never implement — you spawn.** The one exception is the **smoke gate**:
|
|
23
|
+
a read-only build+test run, not implementation — you still never write code.
|
|
24
|
+
|
|
25
|
+
**Worked example** (orient only — never execute from it): `examples/mini-run-mock.md`.
|
|
26
|
+
|
|
27
|
+
## Differences from the full orchestrator
|
|
28
|
+
|
|
29
|
+
1. **Skip full Phase 5 (Review), Phase 6 (Verify), and Phase 7 (Summary).**
|
|
30
|
+
Instead: the **smoke gate** after execution, then the opt-in
|
|
31
|
+
**test-authoring ask**, then ship.
|
|
32
|
+
2. **Implementation is ONE subagent, Sonnet 5, high effort.** No waves. **No
|
|
33
|
+
scoring table** — replace it with a **one-line complexity read** (mini-ok?
|
|
34
|
+
or recommend switching to full); log that line, never render the matrix.
|
|
35
|
+
3. **No dispatch-style and no batch-pause questions** — a single subagent
|
|
36
|
+
makes both meaningless; never ask them.
|
|
37
|
+
4. **Lighter intake.** Ask only the **Always + medium tier** (Q1–Q4 in
|
|
38
|
+
`../orc/references/intake.md`); skip the high tier (Q5/Q6). Run the Step
|
|
39
|
+
3.5 repo cross-check at NAMES-ONLY depth (Glob/Grep-confirm what the draft
|
|
40
|
+
names, tag the rest `UNVERIFIED`, resolve tags in the sign-off line; >3
|
|
41
|
+
tags → recommend the full flow or `orc-analyze`). Sign-off **defaults to
|
|
42
|
+
SOFT**, not GATE.
|
|
43
|
+
5. **Still write tests** if the project has a test setup (the executor
|
|
44
|
+
creates/updates them in its task).
|
|
45
|
+
6. **Everything else is identical:** run folder + intent-spec, planning,
|
|
46
|
+
checkpoint/state-of-play, stop sequence, usage reminder, ship flow.
|
|
47
|
+
|
|
48
|
+
## Mini flow (the phase set)
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Phase 0 intake (Q1–Q4, soft sign-off) + run folder + intent-spec
|
|
52
|
+
Phase 1 planning (dispatch orc-planner-mini; analyst first only on real docs)
|
|
53
|
+
→ one-line complexity read (mini-ok? or recommend switch-to-full)
|
|
54
|
+
Phase 3 dispatch ONE executor (orc-executor-sonnet-5-high) — slice carries
|
|
55
|
+
the standing `house_rules` card (../orc/references/house-rules.md,
|
|
56
|
+
injected literally) + the cached `postgres` pattern on a data-access
|
|
57
|
+
task (cache HIT only) — collect + validate return
|
|
58
|
+
Phase M SMOKE GATE — run build+test → GREEN proceed · RED block ship + surface
|
|
59
|
+
Phase X MOCK EXAMPLE (config mock_example) — offer/build after a GREEN gate
|
|
60
|
+
Phase T TEST-AUTHORING ASK (opt-in) — offer to write test cases (never run them)
|
|
61
|
+
Phase 8 ship (commit / push / PR — never stages mock-examples/)
|
|
62
|
+
```
|
|
63
|
+
(No Phase 2 scoring table, no dispatch-style/batch-pause asks, no full
|
|
64
|
+
review/verify/summary.)
|
|
65
|
+
|
|
66
|
+
**Postgres query grounding.** On a Postgres project, if the task touches the
|
|
67
|
+
data-access layer AND `orc pattern status postgres` reports cached (the
|
|
68
|
+
deterministic probe in `../_shared/detecting-artifacts.md`, never an ad-hoc
|
|
69
|
+
`find` for `.claude/orc/patterns/postgres-pattern.md`), inject it LITERALLY into
|
|
70
|
+
the slice (conventions + blocking query invariants).
|
|
71
|
+
Cache MISS → skip — mini never codifies (that's the full lane /
|
|
72
|
+
`/orc-pattern`); universal invariants + neighbor imitation still cover it.
|
|
73
|
+
|
|
74
|
+
**Gotchas (repair memory; config `gotchas`) — mini READS and WRITES.** Probe at
|
|
75
|
+
Phase 1 (`orc gotcha status`, one row, never silent), inject the SCOPE-MATCHING
|
|
76
|
+
entries into the Phase 3 slice (cap 3; zero matches = no block, never
|
|
77
|
+
unfiltered), and append a returned `gotcha_recorded` YOURSELF after the return.
|
|
78
|
+
Trimmed mechanics + `.claude/orc/gotchas.md`: `../_shared/gotchas.md` §10.
|
|
79
|
+
|
|
80
|
+
## Phase M — Smoke gate (build + test; blocks ship on red)
|
|
81
|
+
|
|
82
|
+
After the executor return validates (`../_shared/return-validation.md` —
|
|
83
|
+
including `done` with non-empty `unmet[]` = partial, and §6's worktree delta: a path changed outside `declared_files` is a violation whatever the return said), YOU run the smoke gate
|
|
84
|
+
per `../_shared/smoke-gate.md`: read-only build+test. **GREEN** →
|
|
85
|
+
test-authoring ask, then ship. **RED** → never offer commit/ship; one repair
|
|
86
|
+
re-dispatch, second red → STOP and surface. Docs-only → gate N/A, say so.
|
|
87
|
+
|
|
88
|
+
## Phase X — Mock example + drift recovery (config `mock_example`, default ask)
|
|
89
|
+
|
|
90
|
+
Canonical: `../_shared/drift-recovery.md` — load it when the phase fires. After
|
|
91
|
+
a GREEN Phase M, before ship: `ask` → MANDATORY offer (never silently
|
|
92
|
+
skipped/run) · `on` → build · `off` → skip. Deliverable
|
|
93
|
+
`mock-examples/<change-slug>/` at project root (EXAMPLE.md + one runnable
|
|
94
|
+
mocked artifact) — **never committed, never staged** (no `.gitignore` edit).
|
|
95
|
+
One question after the user runs it: matches expectation? [yes / drift:
|
|
96
|
+
<describe>]. Drift → `DRIFT-FROM` handoff (gap analysis → patch plan → dispatch
|
|
97
|
+
→ re-gate → re-offer), hard cap 2 loops, then an honest unresolved report.
|
|
98
|
+
Trace: `PHASE mock-example`, `DRIFT loop=<n>`.
|
|
99
|
+
|
|
100
|
+
## Phase T — Test-authoring ask (opt-in; writes tests, never runs them)
|
|
101
|
+
|
|
102
|
+
Same opt-in as full Phase 6.5 — mini **only asks** (never gates the ship).
|
|
103
|
+
Default from `config.generate_tests`; at the end of a GREEN run ask: *"Write
|
|
104
|
+
test cases for these changes? (I'll author them — automated files +
|
|
105
|
+
TEST-PLAN.md + a curl bundle for HTTP APIs — but never run them; you test
|
|
106
|
+
manually.)"* Yes → dispatch `orc-test-author-opus-5-med` (subskill
|
|
107
|
+
`../orc/subskills/orc-testgen/`) with the run's `actual_files`,
|
|
108
|
+
definition-of-done, touched flows, constraints, stack; the two manual
|
|
109
|
+
deliverables land in **`test-generator/<change-slug>/` at the project root**.
|
|
110
|
+
Validate the returned `test_plan_path`/`curl_bundle_path` are under that folder
|
|
111
|
+
(else malformed → re-dispatch); relay + state the exact path (committed on ship,
|
|
112
|
+
not gitignored). No → ship. Either way this NEVER runs tests.
|
|
113
|
+
|
|
114
|
+
## Behavior trace (PERMANENT — same rule as full; always on)
|
|
115
|
+
|
|
116
|
+
Mini does NOT drop the trace. Follow `../orc/references/trace-protocol.md` (load
|
|
117
|
+
at run start): create `log_dir`, write `.current` =
|
|
118
|
+
`run-mini-<slug>-<DDMMYY>-<HHMMSS>.txt` AND `touch the trace file` of that name
|
|
119
|
+
in the SAME step, store `trace_path`. Narration is
|
|
120
|
+
**dispatched, never remembered**: record each event with its REAL timestamp into
|
|
121
|
+
a packet (`PHASE`, `DISPATCH`, `VERIFY` per return — `actual_model`/
|
|
122
|
+
`actual_effort` vs expected, surface any ⛔ DOWNGRADE — `OUTCOME … band=mini`,
|
|
123
|
+
`VERDICT`, plus `decisions` = the WHY), then dispatch
|
|
124
|
+
`orc-trace-writer-haiku-4-5` PAIRED with the next dispatch; mini batches to
|
|
125
|
+
**3 packets** (intake+plan, execution, ship). A phase with
|
|
126
|
+
zero new trace lines is a protocol violation — dispatch its packet NOW.
|
|
127
|
+
Run end: the `FINISH` packet returns, then delete `log_dir/.current`.
|
|
128
|
+
|
|
129
|
+
## Complexity read (replaces the scoring table)
|
|
130
|
+
|
|
131
|
+
ONE judgment before dispatch: is this genuinely mini-sized (single coherent
|
|
132
|
+
area, low interdependency, low blast radius)? State it in one line and log it.
|
|
133
|
+
Complex/high-risk (many interdependencies, core/shared surface,
|
|
134
|
+
security-sensitive) → **recommend switching to full** — let the user choose.
|
|
135
|
+
|
|
136
|
+
## Fallback intake (arriving from orc-fast)
|
|
137
|
+
|
|
138
|
+
orc-fast falls back HERE whenever its prerequisites fail — never by stopping
|
|
139
|
+
the chat. Follow the reader side of `../_shared/fallback-handoff.md`: the
|
|
140
|
+
`FALLBACK-FROM` block in the shared run folder names the reason; acknowledge
|
|
141
|
+
it in one line, skip re-deriving whatever is carried, reuse the run folder.
|
|
142
|
+
|
|
143
|
+
## Switching to full flow mid-run
|
|
144
|
+
|
|
145
|
+
On "switch to full" (or when the complexity read / a mid-run surprise clearly
|
|
146
|
+
needs review/verify): the run folder, checkpoint, and intent-spec already live
|
|
147
|
+
in the shared `.claude/orc/run/{run-slug}/` format, so the full flow resumes from
|
|
148
|
+
the current checkpoint and adds the phases mini skipped. Record the switch in
|
|
149
|
+
the decision log.
|
|
150
|
+
|
|
151
|
+
## Dispatch via named agents (canonical name-map — dispatch BY these names)
|
|
152
|
+
|
|
153
|
+
Models pinned in `.claude/agents/`; look up here, never reconstruct a name (agent = skill-name + model-effort suffix). See `.claude/agents/MODEL-MAPPING.md`. `opus5_only: true` FORCES the right column and needs an Opus 5 main session — mini's cheap-lane premise is off while it is on (`../_shared/opus5-only.md`).
|
|
154
|
+
|
|
155
|
+
**Extra (`extra_enabled`, `../_shared/extra-dispatch.md`):** mini's ONE executor may run off Claude. It has no score, so resolve the pinned executor's **BAND, both edges, and require them to agree** — a partially covering row keeps the run on Claude and the preflight says so. Print the `extra:` line at intake whenever the gate is on (P0: `a lane that sends work off Claude without saying so`); dispatch via `orc extra dispatch --task <file> --json` with the IDENTICAL slice; validate with `return-validation.md` **§2b, not §2** (⛔ SUBSTITUTION replaces the downgrade check); a failure runs `orc extra reconcile <task_id>` FIRST — a worktree that moved is RESUMED, never re-done — then falls back to the pinned Claude agent, announced. A cited-risk change never leaves Claude (`extra_risk_tasks`, default `off`) — and mini's complexity read is not a substitute for that gate.
|
|
156
|
+
|
|
157
|
+
| Role | Agent (dispatch this) | Model / effort | When `opus5_only` |
|
|
158
|
+
|------|-----------------------|----------------|-------------------|
|
|
159
|
+
| mini analysis (docs only) | `orc-analyze-mini-sonnet-5-high` | claude-sonnet-5 / high | `orc-analyze-mini-opus-5-med` |
|
|
160
|
+
| mini planning | `orc-planner-mini-sonnet-5-high` | claude-sonnet-5 / high | `orc-planner-mini-opus-5-med` |
|
|
161
|
+
| mini execution | `orc-executor-sonnet-5-high` | claude-sonnet-5 / high | `orc-executor-opus-5-low` |
|
|
162
|
+
| test authoring (opt-in) | `orc-test-author-opus-5-med` | claude-opus-5 / medium | unchanged |
|
|
163
|
+
|
|
164
|
+
## Config
|
|
165
|
+
|
|
166
|
+
Resolve at run start: `../orc/config.md` defaults merged with
|
|
167
|
+
`.claude/orc.config.yaml` — read `generate_tests` (the Phase T offer default),
|
|
168
|
+
`mock_example`, `tdd_loop_max`, and `log_dir`. Wave/scoring/scout keys never
|
|
169
|
+
apply to mini — never render or ask them.
|
|
170
|
+
|
|
171
|
+
**TDD (ONE intake question — mini's whole TDD policy):** at intake ask once:
|
|
172
|
+
*"Anchor this in plan-time acceptance tests (TDD — red tests first, implement
|
|
173
|
+
to green)? [yes/no]"*. Yes → the planner slice carries `tdd: on` (the mini
|
|
174
|
+
planner authors `tdd_spec` per requirement, **scoped by the same `disposition` set the full lane uses** — `new-surface | behavior-change | covered-by-existing | no-behavior | no-runner`, derived from the `facets`, same safety floor: a cited `risk[]` is never scoped out, so a constant or a translation string gets no test but an auth change always does). Mini keeps its SINGLE executor — no paired TDD task; that executor materializes the failing tests FIRST, then implements to green
|
|
175
|
+
(implement→test→repair, cap `tdd_loop_max`; emit `TDD-RED`/`TDD-GREEN` per
|
|
176
|
+
iteration; cap hit → STOP + honest red report), and Phase M's smoke gate runs
|
|
177
|
+
the TDD suite as part of build+test. Scoped-out requirements are named with their
|
|
178
|
+
reason at preflight — never silent. No → skip entirely; never re-ask.
|
|
179
|
+
|
|
180
|
+
## Analyst & planner (mini lane)
|
|
181
|
+
|
|
182
|
+
orc-mini dispatches the FAST variants (Sonnet 5 high): `orc-analyze-mini` and
|
|
183
|
+
`orc-planner-mini` — same artifacts and output contracts as full, trimmed
|
|
184
|
+
depth. The mini analyst is **doc-optional**: on real doc input it runs first,
|
|
185
|
+
then the mini planner; on a merely ambiguous request, prefer one inline
|
|
186
|
+
clarifying question over a cold analyst spawn. Always single-pass — **no deep
|
|
187
|
+
mode, no scouts**; it escalates to `/orc-analyze` deep on its concrete
|
|
188
|
+
thresholds and the user chooses. You never analyze or plan yourself.
|
|
189
|
+
|
|
190
|
+
**Mini-lane gates (yours, deterministic — same as full; full detail in
|
|
191
|
+
`../orc/references/analyst-gates.md`; emit `GATE` trace lines).** On
|
|
192
|
+
mini-analyst return: evidence spot-check + derivation lint; refuse
|
|
193
|
+
take-into-build on open `UNVERIFIED`/missing `scope_closed`; `git_head` ≠
|
|
194
|
+
HEAD at plan time → re-run the spot-check first. On mini-planner return: Glob
|
|
195
|
+
every `disposition: exists` path, recompute coverage (no orphan
|
|
196
|
+
requirements), cycle + collision checks. Any miss → bounce (one retry, then
|
|
197
|
+
escalate). At dispatch, append the task's `spec_invariants` to the slice's
|
|
198
|
+
`constraints[]` verbatim.
|
|
199
|
+
|
|
200
|
+
## Wiki consult (if present)
|
|
201
|
+
|
|
202
|
+
Same rule as the full skill — load `../orc/references/wiki-consult.md` at the
|
|
203
|
+
planning/complexity-read step: compute the FRESH / AGING / STALE tier from
|
|
204
|
+
`.claude/orc/wiki-meta.json`, pull the relevant pages (incl. cross-cutting
|
|
205
|
+
maps like `orc-reference-api-surface` when their domain applies), apply
|
|
206
|
+
`code > fresh wiki > stale wiki (hints) > model priors`, and **emit
|
|
207
|
+
`WIKI-CONSULT <tier> :: docs=<pages pulled>`**. Crosslink: a task touching a
|
|
208
|
+
boundary in `.claude/orc/crosslink/needs.json` gets the cached contract
|
|
209
|
+
injected per that reference — advisory, never blocking. Mini never generates
|
|
210
|
+
the wiki; after a code-changing run apply the passive stale-flag note only
|
|
211
|
+
(the post-ship refresh ASK is full-lane/ultra behavior).
|
|
212
|
+
|
|
213
|
+
## Shared artifacts
|
|
214
|
+
|
|
215
|
+
Writes to the SAME location as the full skill
|
|
216
|
+
(`.claude/orc/run/{run-slug}/`) — a switch needs no migration.
|
|
217
|
+
|
|
218
|
+
## What mini still enforces (from the main hard rules)
|
|
219
|
+
|
|
220
|
+
Never implement yourself (the smoke gate is read-only, not implementation) ·
|
|
221
|
+
all RUN-STATE artifacts in the run subfolder, never project root (the one
|
|
222
|
+
exception is the opt-in `test-generator/<change-slug>/` self-QA deliverable,
|
|
223
|
+
which lands at the project root by design) · validate every
|
|
224
|
+
subagent return (malformed = failure) · report the dispatch log + remind the
|
|
225
|
+
user to run `/usage` (never invoke it programmatically) · **never offer commit
|
|
226
|
+
on a red build** (enforced by Phase M).
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Example — Annotated Mini Run (dry run)
|
|
2
|
+
|
|
3
|
+
O: = orchestrator (Opus 4.8 high, always) · U: = user. Nothing real. The
|
|
4
|
+
orchestrator NEVER implements — it spawns ONE Sonnet-5-high executor, then runs a
|
|
5
|
+
read-only build+test smoke gate itself.
|
|
6
|
+
|
|
7
|
+
U: /orc-mini add a `--json` flag to the `report` CLI command
|
|
8
|
+
|
|
9
|
+
## Phase 0 — Intake (lighter: Q1–Q4, soft sign-off)
|
|
10
|
+
O: Creates run folder run/report-json-flag/ FIRST.
|
|
11
|
+
[reads repo: Python/poetry/pytest — asks nothing about stack]
|
|
12
|
+
Batched round (medium tier): 1) What should exist? 2) Out of scope?
|
|
13
|
+
3) How do we know it's done? 4) Patterns/files to avoid?
|
|
14
|
+
U: report --json prints machine-readable output; no other commands touched;
|
|
15
|
+
`pytest tests/test_report.py` green; follow the existing click option style.
|
|
16
|
+
O: [drafts intent-spec.md] Sign-off defaults to SOFT — proceeding unless you object.
|
|
17
|
+
|
|
18
|
+
## Phase 1 — Planning + complexity read
|
|
19
|
+
O: [dispatches orc-planner-mini] → 1 task, declared_files: cli/report.py,
|
|
20
|
+
tests/test_report.py — both grounded `exists` (globbed) + acceptance sliced
|
|
21
|
+
from the intent-spec. O spot-checks: both paths present ✓.
|
|
22
|
+
O: Complexity read (one line, no scoring table): single coherent area, low blast
|
|
23
|
+
radius → mini-appropriate. (If it read complex/high-risk → I'd recommend /orc.)
|
|
24
|
+
|
|
25
|
+
## Phase 3 — Execute (ONE subagent)
|
|
26
|
+
O: → claude-sonnet-5 / high :: DISPATCH orc-executor-sonnet-5-high :: add --json flag
|
|
27
|
+
[executor edits cli/report.py + updates tests, returns actual_files + actual_model
|
|
28
|
+
+ evidence {`pytest tests/test_report.py`, exit 0, tail quoted} + empty unmet[]]
|
|
29
|
+
O: VERIFY actual=claude-sonnet-5/high ✅ MATCH · evidence present ✓
|
|
30
|
+
|
|
31
|
+
## Phase M — Smoke gate (build + test; blocks ship on red)
|
|
32
|
+
O: [runs `pytest tests/test_report.py`] ⛔ RED — 1 failure: JSON missing trailing key.
|
|
33
|
+
Not offering commit. Auto-fix ONCE → re-dispatch executor with the failure output.
|
|
34
|
+
[re-run] ✅ GREEN — build + tests pass. VERDICT pass
|
|
35
|
+
|
|
36
|
+
## Phase T — Test-authoring ask (opt-in; writes, never runs)
|
|
37
|
+
O: Write test cases for these changes? (I author them — files + TEST-PLAN.md — but
|
|
38
|
+
never run them; you test manually.) [default from config.generate_tests]
|
|
39
|
+
U: yes
|
|
40
|
+
O: [dispatches orc-test-author-opus-5-med] → automated tests in
|
|
41
|
+
tests/test_report.py; manual deliverable at test-generator/report-json-flag/TEST-PLAN.md
|
|
42
|
+
(non-API project → curl_bundle_path null). Validate: path under
|
|
43
|
+
test-generator/report-json-flag/ ✓.
|
|
44
|
+
O: Self-QA plan: test-generator/report-json-flag/TEST-PLAN.md (committed on ship).
|
|
45
|
+
|
|
46
|
+
## Phase 8 — Ship
|
|
47
|
+
O: Current branch: feat/report-json. Commit? Push? PR?
|
|
48
|
+
U: commit
|
|
49
|
+
O: [commits] Done. Usage: dispatch log below + run /usage for your limits.
|
|
50
|
+
(Switch to full flow any time — the run folder + checkpoint are shared.)
|