@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,22 @@
|
|
|
1
|
+
## Phase: Mock example (after a green verify, before ship)
|
|
2
|
+
|
|
3
|
+
<!-- diy:when mock_example=off -->
|
|
4
|
+
The mock-example phase is DISABLED in this flow. Skip silently.
|
|
5
|
+
<!-- /diy:when -->
|
|
6
|
+
<!-- diy:when mock_example=ask -->
|
|
7
|
+
After the verify/smoke gate is GREEN and BEFORE any ship action, the offer is
|
|
8
|
+
MANDATORY (never silently skipped, never silently run): follow
|
|
9
|
+
`.claude/skills/_shared/drift-recovery.md` — build
|
|
10
|
+
`mock-examples/<change-slug>/` (EXAMPLE.md + one minimal runnable mocked
|
|
11
|
+
artifact) only on a yes. After the user runs it, ask the one drift question;
|
|
12
|
+
on drift run the `DRIFT-FROM` recovery loop (hard cap 2, then an honest
|
|
13
|
+
unresolved report). `mock-examples/` is NEVER staged by the ship phase.
|
|
14
|
+
<!-- /diy:when -->
|
|
15
|
+
<!-- diy:when mock_example=on -->
|
|
16
|
+
After the verify/smoke gate is GREEN and BEFORE any ship action, build the
|
|
17
|
+
mocked example without asking, per
|
|
18
|
+
`.claude/skills/_shared/drift-recovery.md`: `mock-examples/<change-slug>/`
|
|
19
|
+
(EXAMPLE.md + one minimal runnable mocked artifact; mocked inputs only). Then
|
|
20
|
+
ask the one drift question; on drift run the `DRIFT-FROM` recovery loop (hard
|
|
21
|
+
cap 2). `mock-examples/` is NEVER staged by the ship phase.
|
|
22
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
## Phase: Code-pattern findings
|
|
2
|
+
|
|
3
|
+
<!-- diy:when pattern=off -->
|
|
4
|
+
Code-pattern codification is OFF: executors run language-agnostic (security/
|
|
5
|
+
correctness invariants still enforced; conventions imitate neighbor files).
|
|
6
|
+
Never prompt about patterns. A cached pattern under `.claude/orc/patterns/`
|
|
7
|
+
is still injected if present — cache hits are always silent.
|
|
8
|
+
<!-- /diy:when -->
|
|
9
|
+
<!-- diy:when pattern=ask -->
|
|
10
|
+
On an FE/BE pattern-cache miss at dispatch time, ask the user once: learn the
|
|
11
|
+
house style via the `.claude/skills/orc-pattern/SKILL.md` flow, or proceed
|
|
12
|
+
language-agnostic. Cache hits are used silently.
|
|
13
|
+
<!-- /diy:when -->
|
|
14
|
+
<!-- diy:when pattern=on -->
|
|
15
|
+
On an FE/BE pattern-cache miss at dispatch time, auto-codify without asking:
|
|
16
|
+
run the `.claude/skills/orc-pattern/SKILL.md` flow, then inject the cached
|
|
17
|
+
pattern literally into executor slices. Cache hits are used silently.
|
|
18
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
## Phase: Planning
|
|
2
|
+
|
|
3
|
+
<!-- diy:when planning=auto -->
|
|
4
|
+
Route planning exactly as the full lane does — Superpowers plan, OpenSpec
|
|
5
|
+
change, or ORC's own planner, chosen by what exists in the project. Follow
|
|
6
|
+
`.claude/skills/orc/subskills/orc-planner/SKILL.md` for the own-planner path
|
|
7
|
+
and validate the planning output against
|
|
8
|
+
`.claude/skills/orc/schemas/planning-output.md`.
|
|
9
|
+
<!-- /diy:when -->
|
|
10
|
+
<!-- diy:when planning=own-planner -->
|
|
11
|
+
Always use ORC's own Requirement Planner, even when Superpowers/OpenSpec
|
|
12
|
+
artifacts exist: follow `.claude/skills/orc/subskills/orc-planner/SKILL.md`
|
|
13
|
+
and validate the planning output against
|
|
14
|
+
`.claude/skills/orc/schemas/planning-output.md`.
|
|
15
|
+
<!-- /diy:when -->
|
|
16
|
+
<!-- diy:when planning=superpowers -->
|
|
17
|
+
Plan via Superpowers: require a Superpowers-written plan as planning input
|
|
18
|
+
(ask the user to produce one if absent), then convert it to ORC planning
|
|
19
|
+
output validated against `.claude/skills/orc/schemas/planning-output.md` —
|
|
20
|
+
same conversion the full lane applies on its Superpowers route.
|
|
21
|
+
<!-- /diy:when -->
|
|
22
|
+
<!-- diy:when planning=openspec -->
|
|
23
|
+
Plan via OpenSpec: require an OpenSpec change as planning input (ask the user
|
|
24
|
+
to produce one if absent), then convert it to ORC planning output validated
|
|
25
|
+
against `.claude/skills/orc/schemas/planning-output.md` — same conversion the
|
|
26
|
+
full lane applies on its OpenSpec route.
|
|
27
|
+
<!-- /diy:when -->
|
|
28
|
+
<!-- diy:when tdd=on -->
|
|
29
|
+
TDD is ON for this flow: the plan must carry a `tdd_spec` per requirement
|
|
30
|
+
(given/when/then + a runnable skeleton in the project's test framework, or
|
|
31
|
+
`tdd: exempt — <reason>`; schema in
|
|
32
|
+
`.claude/skills/orc/schemas/planning-output.md`). No test runner in the
|
|
33
|
+
project → whole-run exemption, stated once at preflight.
|
|
34
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
## Phase: Review
|
|
2
|
+
|
|
3
|
+
<!-- diy:when review=off -->
|
|
4
|
+
Code review is DISABLED in this flow. Say so in the run summary line ("review
|
|
5
|
+
skipped by flow config") — never imply the work was reviewed.
|
|
6
|
+
<!-- /diy:when -->
|
|
7
|
+
<!-- diy:when review=on -->
|
|
8
|
+
Dispatch the reviewer exactly as the full lane does — follow the review half
|
|
9
|
+
of `.claude/skills/orc/subskills/orc-review-verify/SKILL.md` (reviewer agent
|
|
10
|
+
`orc-reviewer-opus-5-med`; findings ride the severity ladder from the
|
|
11
|
+
locked rules, blocking and advisory findings both surfaced).
|
|
12
|
+
<!-- /diy:when -->
|
|
13
|
+
<!-- diy:when review=blocking-only -->
|
|
14
|
+
Dispatch the reviewer exactly as the full lane does — follow the review half
|
|
15
|
+
of `.claude/skills/orc/subskills/orc-review-verify/SKILL.md` — but only
|
|
16
|
+
P0/P1 findings gate anything; P2/P3 findings are listed once in the summary
|
|
17
|
+
and never re-offered as fix-up tasks.
|
|
18
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## Phase: Task scoring → executor selection
|
|
2
|
+
|
|
3
|
+
<!-- diy:when scoring=on -->
|
|
4
|
+
Score each task 0–100 with the full lane's rubric (see the scoring section of
|
|
5
|
+
`.claude/skills/orc/SKILL.md`), then dispatch the executor agent from THIS
|
|
6
|
+
compiled table — it is already clipped to this flow's session tier; never
|
|
7
|
+
substitute a preset from `config.md`:
|
|
8
|
+
|
|
9
|
+
{{score_table}}
|
|
10
|
+
<!-- /diy:when -->
|
|
11
|
+
<!-- diy:when scoring=off -->
|
|
12
|
+
Scoring is DISABLED in this flow. Skip the rubric entirely: EVERY execution
|
|
13
|
+
task dispatches to **{{fixed_executor}}**. Wave grouping, declared-files
|
|
14
|
+
conflict rules, and slice construction are unchanged — scoring off changes
|
|
15
|
+
model selection only, never scheduling.
|
|
16
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
## Phase: Security pass
|
|
2
|
+
|
|
3
|
+
<!-- diy:when security=off -->
|
|
4
|
+
The security pass is OFF in this flow — skip silently.
|
|
5
|
+
<!-- /diy:when -->
|
|
6
|
+
<!-- diy:when security=ask -->
|
|
7
|
+
When at least one task scored at or above the risk floor (70), ask the user
|
|
8
|
+
once after review whether to run the security pass; on yes, run it exactly as
|
|
9
|
+
the full lane's Phase 5.5 (reviewer re-dispatched with the checklist from
|
|
10
|
+
`.claude/skills/orc/references/security-checklist.md`, sweeping only the
|
|
11
|
+
run's changed files).
|
|
12
|
+
<!-- /diy:when -->
|
|
13
|
+
<!-- diy:when security=on -->
|
|
14
|
+
When at least one task scored at or above the risk floor (70), dispatch the
|
|
15
|
+
security pass without asking — the full lane's Phase 5.5 with the checklist
|
|
16
|
+
from `.claude/skills/orc/references/security-checklist.md`, sweeping only the
|
|
17
|
+
run's changed files.
|
|
18
|
+
<!-- /diy:when -->
|
|
19
|
+
<!-- diy:when security=always -->
|
|
20
|
+
Dispatch the security pass on EVERY run of this flow, regardless of task
|
|
21
|
+
scores — the full lane's Phase 5.5 with the checklist from
|
|
22
|
+
`.claude/skills/orc/references/security-checklist.md`, sweeping only the
|
|
23
|
+
run's changed files. (This flow removes the risk-floor trigger, not the
|
|
24
|
+
pass's mechanics.)
|
|
25
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
## Phase: Ship
|
|
2
|
+
|
|
3
|
+
State the current branch and the change summary BEFORE any git action, and
|
|
4
|
+
never ship on a red build (locked rule).
|
|
5
|
+
|
|
6
|
+
<!-- diy:when ship_mode=ask -->
|
|
7
|
+
Ask the user how to ship: commit, PR (via
|
|
8
|
+
`.claude/skills/orc/subskills/orc-pr/SKILL.md`), or leave the working tree
|
|
9
|
+
as-is. Default when auto-accepted by autonomy: leave as-is and report.
|
|
10
|
+
<!-- /diy:when -->
|
|
11
|
+
<!-- diy:when ship_mode=commit -->
|
|
12
|
+
Commit the run's changes on a green gate without asking (branch first if on
|
|
13
|
+
the default branch; conventional message from the intent). PRs only if the
|
|
14
|
+
user asks afterwards.
|
|
15
|
+
<!-- /diy:when -->
|
|
16
|
+
<!-- diy:when ship_mode=pr -->
|
|
17
|
+
On a green gate, create the PR without asking via
|
|
18
|
+
`.claude/skills/orc/subskills/orc-pr/SKILL.md` (branch + commit + push + PR
|
|
19
|
+
body from the run artifacts).
|
|
20
|
+
<!-- /diy:when -->
|
|
21
|
+
<!-- diy:when ship_mode=report-only -->
|
|
22
|
+
NEVER commit or push in this flow. Leave the working tree modified, and end
|
|
23
|
+
with the change report + suggested commit message the user can apply
|
|
24
|
+
themselves.
|
|
25
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
## Phase: Summary
|
|
2
|
+
|
|
3
|
+
<!-- diy:when summary=off -->
|
|
4
|
+
No summary phase: end after ship with a single line (tasks done / gate color
|
|
5
|
+
/ ship action taken) plus usage, and note which phases this flow skipped.
|
|
6
|
+
<!-- /diy:when -->
|
|
7
|
+
<!-- diy:when summary=short -->
|
|
8
|
+
Short summary: one paragraph — what was built, gate results, ship action,
|
|
9
|
+
skipped phases, and usage. No per-task breakdown.
|
|
10
|
+
<!-- /diy:when -->
|
|
11
|
+
<!-- diy:when summary=full -->
|
|
12
|
+
Full summary exactly as the full lane's final phase: per-task outcomes with
|
|
13
|
+
models used, findings outcomes, verify results, ship action, skipped
|
|
14
|
+
phases, and usage.
|
|
15
|
+
<!-- /diy:when -->
|
|
16
|
+
|
|
17
|
+
Always name the phases this flow skipped by config — the user must never
|
|
18
|
+
mistake a DIY run for a full-lane run.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
## Phase: Test authoring
|
|
2
|
+
|
|
3
|
+
<!-- diy:when testgen=off -->
|
|
4
|
+
Test authoring is OFF in this flow — skip silently.
|
|
5
|
+
<!-- /diy:when -->
|
|
6
|
+
<!-- diy:when testgen=ask -->
|
|
7
|
+
After verify (or after execution when verify is off), offer test authoring
|
|
8
|
+
once; on yes, run the full lane's Phase 6.5 via
|
|
9
|
+
`.claude/skills/orc/subskills/orc-testgen/SKILL.md` — it WRITES test cases
|
|
10
|
+
and a test plan, never runs them, and never gates the ship.
|
|
11
|
+
<!-- /diy:when -->
|
|
12
|
+
<!-- diy:when testgen=on -->
|
|
13
|
+
After verify (or after execution when verify is off), run the full lane's
|
|
14
|
+
Phase 6.5 without asking via
|
|
15
|
+
`.claude/skills/orc/subskills/orc-testgen/SKILL.md` — it WRITES test cases
|
|
16
|
+
and a test plan, never runs them, and never gates the ship.
|
|
17
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!-- GENERATED SOURCE BLOCK — stitched by `orc diy compile`. Edit the block
|
|
2
|
+
template in skills/orc-diy/references/blocks/, never the compiled file. -->
|
|
3
|
+
## Behavior trace (PERMANENT — always on, no flow key)
|
|
4
|
+
|
|
5
|
+
Tracing is NOT composable: every ORC run traces, this one included. Follow
|
|
6
|
+
`.claude/skills/orc/references/trace-protocol.md` (load it at run start) — this
|
|
7
|
+
block is stitched into every compiled flow so a user-composed pipeline can never
|
|
8
|
+
be the one lane that runs blind.
|
|
9
|
+
|
|
10
|
+
**Run start:** create `log_dir`, write `log_dir/.current` =
|
|
11
|
+
`run-diy-<slug>-<DDMMYY>-<HHMMSS>.txt` AND `touch the trace file` of that name
|
|
12
|
+
in the SAME step (a pointer naming a file that does not exist reads as dangling —
|
|
13
|
+
the hook rotates away from it and the run splits across two files), then store
|
|
14
|
+
`trace_path` in the checkpoint. The lane token is `diy`, whatever the flow is
|
|
15
|
+
named.
|
|
16
|
+
|
|
17
|
+
**Narration is dispatched, never remembered:** record each event with its REAL
|
|
18
|
+
timestamp into a phase packet (`PHASE`, `DISPATCH`/`VERIFY` per spawn —
|
|
19
|
+
`actual_model`/`actual_effort` vs expected, surface any ⛔ DOWNGRADE to the user
|
|
20
|
+
— `SCORE`, `OUTCOME`, `GATE`, `FINDING`/`VERDICT` for whichever gates this flow
|
|
21
|
+
enabled, `FINISH`, plus `decisions` = the WHY), then dispatch
|
|
22
|
+
`orc-trace-writer-haiku-4-5` with it, PAIRED with the next phase's first
|
|
23
|
+
dispatch. **One packet per ENABLED phase group, minimum 2** — the flow shape is
|
|
24
|
+
composed, so the packet count is too; a phase this flow turned OFF owes nothing.
|
|
25
|
+
A phase ending with `zero new trace lines is a protocol violation`.
|
|
26
|
+
|
|
27
|
+
**Run end:** the `FINISH` packet goes out and RETURNS, then delete
|
|
28
|
+
`log_dir/.current`.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
## Phase: Verify
|
|
2
|
+
|
|
3
|
+
<!-- diy:when verify=off -->
|
|
4
|
+
Verification is DISABLED in this flow. The build+test evidence in each
|
|
5
|
+
executor return is the only green signal; say "verify skipped by flow
|
|
6
|
+
config" in the summary. Never claim criteria were verified.
|
|
7
|
+
<!-- /diy:when -->
|
|
8
|
+
<!-- diy:when verify=smoke -->
|
|
9
|
+
Run a SMOKE verify only: dispatch the verifier
|
|
10
|
+
(`orc-verifier-opus-5-med`) with an explicitly narrowed scope — build +
|
|
11
|
+
full test suite, red/green verdict, NO per-criterion definition-of-done
|
|
12
|
+
sweep. Red blocks ship exactly as a full verify would.
|
|
13
|
+
<!-- /diy:when -->
|
|
14
|
+
<!-- diy:when verify=full -->
|
|
15
|
+
Dispatch verification exactly as the full lane does — follow the verify half
|
|
16
|
+
of `.claude/skills/orc/subskills/orc-review-verify/SKILL.md` (build + tests +
|
|
17
|
+
every acceptance criterion checked against the definition of done).
|
|
18
|
+
<!-- /diy:when -->
|
|
19
|
+
<!-- diy:when tdd=on -->
|
|
20
|
+
TDD gate (rides the verify slot): the verifier slice carries the plan's
|
|
21
|
+
`tdd_suite[]`; green is the definition-of-done for non-exempt requirements,
|
|
22
|
+
red → the repair loop capped at `tdd_loop_max` (cap hit → STOP + honest red
|
|
23
|
+
report). The adversarial half of the verify pass applies as the full lane
|
|
24
|
+
defines it.
|
|
25
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
## Wiki gate
|
|
2
|
+
|
|
3
|
+
<!-- diy:when wiki_gate=off -->
|
|
4
|
+
Skip the wiki freshness check entirely for this flow. If a project wiki
|
|
5
|
+
exists, executors may still receive wiki page pointers, but freshness is
|
|
6
|
+
never computed and never surfaced.
|
|
7
|
+
<!-- /diy:when -->
|
|
8
|
+
<!-- diy:when wiki_gate=notice -->
|
|
9
|
+
Compute the wiki freshness tier exactly as the full lane does (follow the
|
|
10
|
+
read-side procedure in `.claude/skills/orc-wiki/references/staleness.md`).
|
|
11
|
+
Fresh → use silently; aging → one-line notice, continue; stale → warn the
|
|
12
|
+
user that wiki hints may be outdated, continue. Never block on it.
|
|
13
|
+
<!-- /diy:when -->
|
|
14
|
+
<!-- diy:when wiki_gate=hard -->
|
|
15
|
+
Compute the wiki freshness tier exactly as the full lane does (follow the
|
|
16
|
+
read-side procedure in `.claude/skills/orc-wiki/references/staleness.md`).
|
|
17
|
+
Fresh or aging → proceed. Stale or missing → STOP and ask the user: refresh
|
|
18
|
+
the wiki first (recommended), or continue anyway with hints demoted. Respect
|
|
19
|
+
the precedence rule from that reference in every consumer slice.
|
|
20
|
+
<!-- /diy:when -->
|
|
21
|
+
|
|
22
|
+
<!-- diy:when post_ship_wiki_ask=on -->
|
|
23
|
+
After a successful ship on a big run, offer the post-ship wiki refresh ask
|
|
24
|
+
exactly as the full lane defines it in the orc skill (guarded on a non-empty
|
|
25
|
+
wiki; judged by final task/file counts at ship time).
|
|
26
|
+
<!-- /diy:when -->
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# ORC-DIY — Compile procedure
|
|
2
|
+
|
|
3
|
+
Compilation turns the CLI-written config into a runnable flow. It is
|
|
4
|
+
**deterministic and CLI-owned**: `orc diy compile` does pure file stitching
|
|
5
|
+
with zero model tokens. `/orc-diy compile` in a session is a thin wrapper —
|
|
6
|
+
it runs the same CLI command via Bash and reports the result; there is no
|
|
7
|
+
second implementation, and the skill never stitches the flow itself.
|
|
8
|
+
|
|
9
|
+
## What the compiler does (implemented in `bin/cli.js`)
|
|
10
|
+
|
|
11
|
+
1. **Validate.** Load `.claude/orc-diy.config.yaml`; run the full cross-key
|
|
12
|
+
validation from `flow-schema.md`. Any hard error aborts the compile.
|
|
13
|
+
2. **Resolve sources.** Block templates come from the installed stub
|
|
14
|
+
(`.claude/skills/orc-diy/references/blocks/`). Cherry-picked orc material
|
|
15
|
+
is REFERENCED in place, never copied: the compiler verifies that every
|
|
16
|
+
orc file a chosen variant points at actually exists under
|
|
17
|
+
`.claude/skills/` (project first, `~/.claude/skills/` fallback for a
|
|
18
|
+
global orc install) and aborts naming the missing file if orc is absent
|
|
19
|
+
or incomplete.
|
|
20
|
+
3. **Stitch.** Concatenate in fixed order — this list and the `order` array in
|
|
21
|
+
`bin/cli.js` are ONE contract; change them together (a golden test compares
|
|
22
|
+
them, because the drift is grammar-shaped and the contract lint cannot see
|
|
23
|
+
it, which is how `mock-example` went missing here for a whole release):
|
|
24
|
+
|
|
25
|
+
`header` → `locked-blocks.md` (verbatim) → `trace` → `wiki` → `analyze` →
|
|
26
|
+
`planning` → `pattern` → `scoring` → `extra` → `execution` → `review` →
|
|
27
|
+
`security` → `verify` → `testgen` → `mock-example` → `ship` → `summary`.
|
|
28
|
+
|
|
29
|
+
`trace` is UNCONDITIONAL — behavior tracing is permanent and is not a flow
|
|
30
|
+
key, so every compiled flow carries the protocol (lane token `diy`) whatever
|
|
31
|
+
the user composed. **`tdd` is NOT a block** — it composes into `planning`,
|
|
32
|
+
`execution` and `verify` through `diy:when tdd=on` markers, so there is no
|
|
33
|
+
`tdd.md` to stitch and none should be added.
|
|
34
|
+
|
|
35
|
+
Inside each block, keep text outside markers, and keep a
|
|
36
|
+
`<!-- diy:when key=value -->…<!-- /diy:when -->` section only when the
|
|
37
|
+
config's `key` equals one of the listed values (`|`-separated).
|
|
38
|
+
4. **Substitute placeholders.** `{{flow_name}}`, `{{config_hash}}`,
|
|
39
|
+
`{{orc_version}}`, `{{compiled_at}}`, `{{tier_model}}`, `{{tier_effort}}`,
|
|
40
|
+
`{{max_wave_tasks}}`, `{{batch_pause_every}}`, `{{fixed_executor}}`,
|
|
41
|
+
`{{score_table}}`. The score table is the shipped preset for the config's
|
|
42
|
+
`rubric_bands`, CLIPPED to `session_tier` at compile time (bands above the
|
|
43
|
+
tier collapse into the highest allowed executor) — the compiled flow never
|
|
44
|
+
clips at runtime.
|
|
45
|
+
5. **Write + lock.** Emit `.claude/orc/diy/FLOW-COMPILED.md`, then finalize
|
|
46
|
+
`flow.lock.json`: `compiled_hash` (sha256 of the emitted file),
|
|
47
|
+
`compiled_at`, `orc_version` (from the installed payload stamp
|
|
48
|
+
`hooks/orc-version.json`, package version fallback), `session_tier`.
|
|
49
|
+
Print the gate status (should now be READY).
|
|
50
|
+
|
|
51
|
+
## Recompile triggers
|
|
52
|
+
|
|
53
|
+
Any of these flips `orc diy status` to STALE until the user recompiles:
|
|
54
|
+
- the config changed (`config_hash` mismatch — every `orc diy set` does this),
|
|
55
|
+
- orc was updated (`orc_version` mismatch — `orc update`/`orc upgrade`),
|
|
56
|
+
- `FLOW-COMPILED.md` was edited or deleted (`compiled_hash` mismatch).
|
|
57
|
+
|
|
58
|
+
The stub skill NEVER runs a stale flow — it surfaces the reason and the fix
|
|
59
|
+
(`orc diy compile`), then offers the plain `/orc` fallback.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# ORC-DIY — Flow config schema
|
|
2
|
+
|
|
3
|
+
The single source of intent is `.claude/orc-diy.config.yaml`, written ONLY by
|
|
4
|
+
the `orc diy` CLI (never by hand, never in a Claude session). Every write
|
|
5
|
+
regenerates `.claude/orc/diy/flow.md` (the human-readable spec) and updates
|
|
6
|
+
`.claude/orc/diy/flow.lock.json`, invalidating any previous compile.
|
|
7
|
+
|
|
8
|
+
**Project-scoped only.** The config, lock, and compiled flow live in the
|
|
9
|
+
project's `.claude/` — there is no global variant; `orc diy` rejects
|
|
10
|
+
`--global`. One flow per project; `flow_name` is a display label, never a
|
|
11
|
+
selector.
|
|
12
|
+
|
|
13
|
+
## Keys (all set via `orc diy set <key> <value>`)
|
|
14
|
+
|
|
15
|
+
| Key | Values (default first) | Meaning |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| `analyze` | `auto` / `off` / `mini` / `full` | Doc-intake analyst routing |
|
|
18
|
+
| `planning` | `auto` / `own-planner` / `superpowers` / `openspec` | Planning route |
|
|
19
|
+
| `pattern` | `ask` / `off` / `on` | Code-pattern gate on a cache miss |
|
|
20
|
+
| `scoring` | `on` / `off` | Rubric scoring; `off` needs `fixed_executor` |
|
|
21
|
+
| `fixed_executor` | (none) — an executor agent name | Used for every task when `scoring: off` |
|
|
22
|
+
| `extra` | `off` / `on` | May this flow dispatch an executor to a non-Claude worker (`_shared/extra-dispatch.md`)? It decides WHETHER; `orc extra resolve` still decides WHERE, per task, at run time — route rows are NOT baked into the compiled flow, because the lock's staleness triggers cannot see the ledger change. `off` makes a globally-enabled Extra **INERT here**, announced once, so turning it on globally never silently changes a compiled flow |
|
|
23
|
+
| `review` | `on` / `off` / `blocking-only` | Review phase strictness |
|
|
24
|
+
| `security` | `off` / `ask` / `on` / `always` | Security pass; `always` drops the risk-floor trigger |
|
|
25
|
+
| `verify` | `full` / `off` / `smoke` | Verify depth |
|
|
26
|
+
| `testgen` | `off` / `ask` / `on` | Test-authoring phase |
|
|
27
|
+
| `mock_example` | `ask` / `on` / `off` | Post-verify mocked example + drift recovery (`mock-examples/<slug>/`, never committed) |
|
|
28
|
+
| `tdd` | `on` / `off` | TDD-anchored planning: plan-time `tdd_spec` (scoped by `disposition`), paired TDD tasks for the red proof, TDD gate in the verify slot |
|
|
29
|
+
| `gotchas` | `on` / `off` | Repair memory: inject scope-matching gotchas into slices, record one when a repair loop goes red → green (`_shared/gotchas.md`) |
|
|
30
|
+
| `wiki_gate` | `notice` / `off` / `hard` | Wiki freshness handling at preflight |
|
|
31
|
+
| `post_ship_wiki_ask` | `on` / `off` | Post-ship wiki refresh offer on big runs |
|
|
32
|
+
| `summary` | `full` / `off` / `short` | Summary depth |
|
|
33
|
+
| `autonomy` | `interactive` / `semi` / `hands-off` | Who answers routine asks |
|
|
34
|
+
| `ship_mode` | `ask` / `commit` / `pr` / `report-only` | Terminal ship behavior |
|
|
35
|
+
| `session_tier` | `sonnet-4-6-{med,high}` / `opus-4-7-{med,high}` / `opus-4-8-{med,high,xhigh,max}` / `opus-5-{med,high,xhigh,max}` / `fable-5-{med,high,xhigh,max}` | Required main-session model+effort (default `opus-4-8-high`) |
|
|
36
|
+
| `max_wave_tasks` | `3` (integer ≥ 1) | Wave hard cap |
|
|
37
|
+
| `batch_pause_every` | `2` (integer ≥ 1) | Waves between pauses |
|
|
38
|
+
| `rubric_bands` | `5` (2–8) | Scoring granularity (`scoring: on` only) |
|
|
39
|
+
| `flow_name` | `my-flow` (slug) | Display label for traces/statusline |
|
|
40
|
+
|
|
41
|
+
## Cross-key validation (CLI `orc diy validate`; also runs on every write)
|
|
42
|
+
|
|
43
|
+
Hard errors (config not written):
|
|
44
|
+
- `scoring: off` without a `fixed_executor`.
|
|
45
|
+
- `fixed_executor` or any agent choice above `session_tier` (tier order:
|
|
46
|
+
haiku-4-5 < sonnet-4-6 < sonnet-5 < opus-4-7 < opus-4-8 < opus-5 < fable-5 —
|
|
47
|
+
subagents cannot exceed the main session; effort medium < high < xhigh < max).
|
|
48
|
+
A tier below `opus-5-high` clips the `[90,100]` band to the highest agent it
|
|
49
|
+
allows, at compile time.
|
|
50
|
+
- `review: off` with `security` not `off` (the security pass reuses the
|
|
51
|
+
reviewer).
|
|
52
|
+
- Anything that would disable a locked rule (see `locked-blocks.md`).
|
|
53
|
+
|
|
54
|
+
Warnings (written, reported):
|
|
55
|
+
- `scoring: off` with `rubric_bands` overridden (ignored).
|
|
56
|
+
- `testgen` on/ask with `verify: off` (testgen normally follows verify).
|
|
57
|
+
- `tdd: on` with `verify: off` (the TDD gate runs in the verify slot; plan-time
|
|
58
|
+
tests are authored but never gate the ship).
|
|
59
|
+
- `autonomy: hands-off` with `ship_mode: commit` or `pr` (fully unattended
|
|
60
|
+
git actions).
|
|
61
|
+
- `session_tier` below `opus-5-med` with `review`/`verify` on: the pinned
|
|
62
|
+
Opus 5 reviewer/verifier agents will silently run at the session's model —
|
|
63
|
+
the flow still works, honesty-checked by the tier-honesty locked rule.
|
|
64
|
+
|
|
65
|
+
## `flow.lock.json` (machine state — written by the CLI only)
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"flow_name": "my-flow",
|
|
70
|
+
"session_tier": "opus-4-8-high",
|
|
71
|
+
"config_hash": "sha256 of orc-diy.config.yaml",
|
|
72
|
+
"flow_hash": "sha256 of flow.md",
|
|
73
|
+
"compiled_hash": "sha256 of FLOW-COMPILED.md (null until compiled)",
|
|
74
|
+
"compiled_at": "ISO timestamp or null",
|
|
75
|
+
"orc_version": "installed orc payload version at compile time, or null"
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Gate status (computed by `orc diy status`, consumed by the stub skill and
|
|
80
|
+
`orc doctor`; the effort guard does NOT read it — it keys on `flow.lock.json` +
|
|
81
|
+
`session_tier` directly, and the statusline reads the lock, not this verb):
|
|
82
|
+
|
|
83
|
+
**The exit code IS the contract** (v0.34.7), same convention as the sibling
|
|
84
|
+
`orc pattern status <lang>` in `_shared/detecting-artifacts.md`:
|
|
85
|
+
|
|
86
|
+
| Exit | State | Meaning |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| 0 | READY | everything matches; `/orc-diy` may run the compiled flow |
|
|
89
|
+
| 1 | STALE | see the triggers below — the flow must be recompiled first |
|
|
90
|
+
| 1 | UNCONFIGURED | no config file (or empty) |
|
|
91
|
+
|
|
92
|
+
It used to exit 0 in all three states, so anything branching on it treated a
|
|
93
|
+
hard-blocked flow as runnable — the direct inverse of its own sibling.
|
|
94
|
+
|
|
95
|
+
STALE triggers (**all live ones are reported, joined by `;`** — not just the
|
|
96
|
+
first): no lock / never compiled / `config_hash` mismatch (config changed since
|
|
97
|
+
compile) / `orc_version` mismatch (orc was updated) / compiled file missing or
|
|
98
|
+
`compiled_hash` mismatch (artifact modified). Reporting only the first meant a
|
|
99
|
+
flow stale ONLY because `orc update` bumped the payload said "config changed",
|
|
100
|
+
which contradicts a user who knows they never touched their config.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# ORC-DIY — Locked rules (compiled verbatim into EVERY flow)
|
|
2
|
+
|
|
3
|
+
These are the boundaries cherry-picked from the full orchestrator. The
|
|
4
|
+
compiler injects this file into every compiled flow unchanged; the CLI
|
|
5
|
+
validator hard-errors on any config that would violate one. No flow choice —
|
|
6
|
+
including hands-off autonomy — ever overrides a locked rule.
|
|
7
|
+
|
|
8
|
+
## LOCKED (never configurable)
|
|
9
|
+
|
|
10
|
+
1. **You NEVER implement. You coordinate.** All execution, review, verify,
|
|
11
|
+
and analysis work is done by spawned subagents — even the smallest task.
|
|
12
|
+
2. **Disk is truth; conversation is a cache.** On any resume, fresh session,
|
|
13
|
+
or suspected compaction: re-read the run's `state-of-play.md` then the
|
|
14
|
+
checkpoint BEFORE acting. All run artifacts live in
|
|
15
|
+
`.claude/orc/run/{run-slug}/` — never the project root.
|
|
16
|
+
3. **No two tasks with overlapping `declared_files` share a wave.** A task
|
|
17
|
+
without declared files cannot be waved.
|
|
18
|
+
4. **Severity ladder (P0–P3).** P0 (objective breakage) → auto-fix ONCE;
|
|
19
|
+
second failure → STOP and surface. P1 (correctness/security risk) → gates
|
|
20
|
+
ship; dispatching the fix needs the user (autonomy may auto-accept the
|
|
21
|
+
ask, never skip the gate). P2/P3 → advisory, never auto-fixed. **Quote
|
|
22
|
+
spot-check before acting on any P0/P1:** read the cited `file:line`,
|
|
23
|
+
confirm the verbatim quote; mismatch → demote to P3 and tell the user.
|
|
24
|
+
5. **You alone write the checkpoint and state-of-play.** Workers never touch
|
|
25
|
+
them. Validate every subagent return against its contract — malformed =
|
|
26
|
+
failure (requeue with reason). Record the failure reason, never just
|
|
27
|
+
"failed".
|
|
28
|
+
6. **Never announce a stop before the checkpoint write is confirmed. Never
|
|
29
|
+
offer commit on a red build.**
|
|
30
|
+
7. **Slices are constructed by you, never pulled by workers.** A worker
|
|
31
|
+
needing more context uses the `needs_context` return (cap: 2 per task).
|
|
32
|
+
8. **Tier honesty.** Every dispatched agent's return carries its claimed
|
|
33
|
+
model + effort; flag a silent downgrade to the user instead of hiding it.
|
|
34
|
+
9. **Keep the user informed before acting** — dispatch plan, counts, current
|
|
35
|
+
branch before any git action, every escalation, usage at every stop and
|
|
36
|
+
at run completion. Autonomy profiles change who answers routine asks,
|
|
37
|
+
never what gets reported.
|