@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,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orc-fast
|
|
3
|
+
description: >
|
|
4
|
+
Fastest ORC lane — knowledge-gated single-executor implementation. Use for
|
|
5
|
+
"use orc-fast to implement X" or "/orc-fast". Requires TWO prerequisites:
|
|
6
|
+
a fresh project wiki (orc-wiki) AND a cached code-pattern for the request's
|
|
7
|
+
language — the precomputed knowledge replaces the analyst/planner entirely.
|
|
8
|
+
Either missing → falls back to orc-mini (never stops the chat). One
|
|
9
|
+
Sonnet 4.6 high executor, a build+test smoke gate, one repair round, ship.
|
|
10
|
+
Orchestrator runs fine at Sonnet medium. The orchestrator never implements —
|
|
11
|
+
it spawns.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ORC-FAST
|
|
15
|
+
|
|
16
|
+
The speed lane: precomputed knowledge instead of pipeline phases — the wiki
|
|
17
|
+
supplies grounding, the pattern cache supplies house style, so fast pays for
|
|
18
|
+
neither an analyst nor a planner. That trade only holds when both exist and
|
|
19
|
+
the wiki is fresh, so the two prerequisite gates below are hard: fail either →
|
|
20
|
+
**fall back to orc-mini** carrying whatever intake was done. Fallback is the
|
|
21
|
+
router — orc-fast is always safe to try.
|
|
22
|
+
|
|
23
|
+
Runs fine with the orchestrator at **Sonnet 4.6 / Sonnet 5, medium effort** —
|
|
24
|
+
no scoring, no planning judgment (the effort guard only gates the full `orc`
|
|
25
|
+
skill). **You never implement — you spawn.**
|
|
26
|
+
|
|
27
|
+
## What fast deliberately does NOT have
|
|
28
|
+
|
|
29
|
+
No analyst, planner, scoring, waves, reviewer, verifier, test-author, or
|
|
30
|
+
summary. One executor, one smoke gate, one repair round. More than that → the
|
|
31
|
+
fit gate hands it to orc-mini.
|
|
32
|
+
|
|
33
|
+
## Phase F0 — Preflight (the two prerequisite gates; no spawn)
|
|
34
|
+
|
|
35
|
+
Emit a `GATE` trace line per check when logging.
|
|
36
|
+
|
|
37
|
+
**a. Wiki gate.** Decide existence with `orc wiki status` — the deterministic
|
|
38
|
+
probe in `../_shared/detecting-artifacts.md`, never an ad-hoc `find` (`.claude`
|
|
39
|
+
is hidden). `none` = gate FAILED → fallback; else wiki present → compute the
|
|
40
|
+
tier from `.claude/orc/wiki-meta.json` per `../orc-wiki/references/staleness.md`:
|
|
41
|
+
`git rev-list --count <scan_commit>..HEAD` → FRESH / AGING / STALE (manifest
|
|
42
|
+
absent but docs present = STALE; wiki absent/empty = gate FAILED → fallback).
|
|
43
|
+
- **FRESH** → proceed silently. **AGING** → one-line notice, proceed.
|
|
44
|
+
- **STALE** → the user judges. Ask with exactly these options:
|
|
45
|
+
1. **Refresh wiki, then continue fast** *(recommended)* — run orc-wiki's
|
|
46
|
+
incremental refresh (diff since `scan_commit`, re-scan only affected
|
|
47
|
+
docs), then re-enter this preflight.
|
|
48
|
+
2. **Drop to orc-mini** *(preferable if in a hurry — mini grounds itself)*.
|
|
49
|
+
3. **Continue fast anyway** *(not recommended — the executor may follow
|
|
50
|
+
stale claims)* — proceed and stamp `wiki_stale_override: true` in the
|
|
51
|
+
checkpoint so /orc-retro can correlate outcomes with overrides.
|
|
52
|
+
|
|
53
|
+
**b. Pattern gate.** Detect the request's language (file extensions / repo
|
|
54
|
+
deps, same signals as the full lane's tagging) and confirm the cache with
|
|
55
|
+
`orc pattern status <lang>` (exit 0 = cached — the deterministic probe in
|
|
56
|
+
`../_shared/detecting-artifacts.md`, never an ad-hoc `find`). Absent for the
|
|
57
|
+
language in play → gate FAILED → fallback. (A request touching no FE/BE language — pure docs/
|
|
58
|
+
config — passes this gate as N/A.) The cross-cutting `postgres` pattern is
|
|
59
|
+
NEVER a gate prerequisite — it is bonus-only (injected at F2 on a cache HIT),
|
|
60
|
+
so a missing `postgres-pattern.md` never fails the gate or forces a fallback.
|
|
61
|
+
|
|
62
|
+
**Any gate FAILED** → announce which prerequisite failed in one line, then
|
|
63
|
+
hand off to orc-mini via the fallback contract below. Never stop the chat.
|
|
64
|
+
|
|
65
|
+
**c. Gotchas — NOT a gate.** Two prerequisites stay two: a missing
|
|
66
|
+
`.claude/orc/gotchas.md` never forces a fallback. Fast READS repair memory
|
|
67
|
+
(`orc gotcha status`, then inject the SCOPE-MATCHING entries into the F2 slice,
|
|
68
|
+
cap 3) and never WRITES it — `../_shared/gotchas.md` §10.
|
|
69
|
+
|
|
70
|
+
## Phase F1 — Fit gate + micro-intake (one pass, ONE user round-trip)
|
|
71
|
+
|
|
72
|
+
Draft a 3–5 line intent spec + 2–3 acceptance bullets. Judge fit: more than
|
|
73
|
+
one real task, ~5+ files, or core/security-sensitive surface → fallback to
|
|
74
|
+
orc-mini WITH the intent spec attached (no rework); emit a `GATE` line for the
|
|
75
|
+
verdict. Then the lane's ONLY pre-spawn ask — one combined confirmation:
|
|
76
|
+
preflight result + intent spec + acceptance bullets + "proceed?" (soft
|
|
77
|
+
sign-off; never split into multiple questions). Create the run folder
|
|
78
|
+
(`.claude/orc/run/{run-slug}/` — shared format, so fallback needs no
|
|
79
|
+
migration) and write the intent-spec + a minimal checkpoint.
|
|
80
|
+
|
|
81
|
+
## Phase F2 — Slice build + dispatch (ONE executor)
|
|
82
|
+
|
|
83
|
+
Build one slice for `orc-executor-sonnet-4-6-high` (dispatch BY NAME; model
|
|
84
|
+
pinned in the agent file). **Under `opus5_only` it is `orc-executor-opus-5-low`** — forced, and while that mode is on this lane needs an Opus 5 main session, so the "runs fine at Sonnet medium" premise applies only with it off (`../_shared/opus5-only.md`).
|
|
85
|
+
|
|
86
|
+
**Extra (`extra_enabled`, `../_shared/extra-dispatch.md`):** the same slice may run off Claude. **This lane has no score at all, so it holds a POSITION, not a band:** resolve `orc extra resolve --slot fast-executor --json` (set with `orc extra role set fast-executor <profile>/<model>`). No row on that slot = Claude, and that is an answer, not a gap. The `extra:` line joins the F0 preflight (P0, printed whenever the gate is on) and NAMES the agent it displaces — `orc-executor-sonnet-4-6-high`; dispatch through `orc extra dispatch --task <file> --json` with `slot: "fast-executor"` and **no `score`** (both is refused by name); validate with `return-validation.md` **§2b, not §2**; a failure runs `orc extra reconcile <task_id>` FIRST — a worktree that moved is RESUMED, never re-done — then falls back to that same pinned agent BY NAME, announced. Extra is orthogonal to the knowledge gate — a fresh wiki and a cached pattern are still required, and a foreign worker gets the same pointers-not-content slice.
|
|
87
|
+
|
|
88
|
+
- the task (intent spec) + acceptance bullets as definition-of-done
|
|
89
|
+
- **wiki pointers, not content** (fast's lane-delta in
|
|
90
|
+
`../orc/references/wiki-consult.md`): the PATHS of 1–3 relevant pages
|
|
91
|
+
selected from `wiki/INDEX.md` by keyword match — prefer the cross-cutting
|
|
92
|
+
maps (`orc-reference-api-surface` etc.) when the domain matches. Instruct
|
|
93
|
+
the executor to READ them first, and include the precedence line verbatim:
|
|
94
|
+
`code > fresh wiki > stale wiki (hints) > model priors`. Never paste wiki
|
|
95
|
+
bodies into the slice (a Sonnet-medium orchestrator curating wiki prose
|
|
96
|
+
defeats the lane). **Emit `WIKI-CONSULT <tier> :: docs=<the selected pointer
|
|
97
|
+
paths>`** (tier from the F0 gate; `docs=none` if no pages fit) — the F0
|
|
98
|
+
`GATE` line captured the gate *decision*; this captures which pages grounded
|
|
99
|
+
the run.
|
|
100
|
+
- the cached pattern injected LITERALLY (same `pattern` slice contract as
|
|
101
|
+
full; the pattern file is small by design)
|
|
102
|
+
- **crosslink (cross-repo, advisory):** a task touching a boundary in
|
|
103
|
+
`.claude/orc/crosslink/needs.json` gets the cached linked contract injected
|
|
104
|
+
as `crosslink` ("hints, not verified") — advisory, never blocks, never
|
|
105
|
+
outranks local code.
|
|
106
|
+
- **`db:postgres` bonus:** a data-access task with
|
|
107
|
+
`.claude/orc/patterns/postgres-pattern.md` CACHED merges it into the same
|
|
108
|
+
`pattern` slice (query invariants). Cache MISS → skip silently — fast never
|
|
109
|
+
codifies and never falls back on this.
|
|
110
|
+
- **the read ladder** (`../_shared/read-ladder.md`): read only as far up as the
|
|
111
|
+
question needs — a file the task will EDIT is read in full first. Precomputed
|
|
112
|
+
knowledge REPLACING exploration is this lane; a directory sweep is not.
|
|
113
|
+
- the standing `house_rules` card (`../orc/references/house-rules.md`,
|
|
114
|
+
injected literally, same as full/mini)
|
|
115
|
+
- constraints from the intent spec
|
|
116
|
+
- **terse-return rule:** standard contract fields, NO narrative prose — files
|
|
117
|
+
changed, one-line diff summary, smoke-relevant notes only.
|
|
118
|
+
|
|
119
|
+
Validate the return per `../_shared/return-validation.md` — `unmet[]`
|
|
120
|
+
honesty, `pattern_version` + `invariants_checked` attestation, `actual_model`
|
|
121
|
+
/ `actual_effort` downgrade check (emit the `VERIFY` trace line), and §6's worktree delta (`git status --short` before/after; a path changed outside `declared_files` is a violation whatever the return said). Malformed
|
|
122
|
+
return = failure (one re-dispatch, then fallback offer).
|
|
123
|
+
|
|
124
|
+
## Phase F3 — Smoke gate (build + test; blocks ship on red)
|
|
125
|
+
|
|
126
|
+
Run the gate per `../_shared/smoke-gate.md`, sourcing commands **from
|
|
127
|
+
`wiki-meta.json`'s `commands` block** (recorded at wiki scan — don't
|
|
128
|
+
rediscover tooling; manifest lacks them → detect once and say so). **GREEN**
|
|
129
|
+
→ ship. **RED** → one repair round; second red → STOP and offer: escalate to
|
|
130
|
+
orc-mini (reason `smoke-red-escalation`) / switch to full `/orc` / stop.
|
|
131
|
+
Docs-only → gate N/A, say so.
|
|
132
|
+
|
|
133
|
+
## Phase F3.5 — Mock example (config `mock_example`, default ask)
|
|
134
|
+
|
|
135
|
+
Canonical: `../_shared/drift-recovery.md` — load on fire. Only after a GREEN
|
|
136
|
+
F3, before ship: `ask` → MANDATORY offer · `on` → build · `off` → skip.
|
|
137
|
+
Deliverable `mock-examples/<change-slug>/` at project root — **never
|
|
138
|
+
committed/staged**. Drift answer → `DRIFT-FROM` recovery (cap 2 loops, honest
|
|
139
|
+
report on cap). Trace: `PHASE mock-example`, `DRIFT loop=<n>`.
|
|
140
|
+
|
|
141
|
+
## Phase F4 — Ship
|
|
142
|
+
|
|
143
|
+
Offer commit (push if asked; never stage `mock-examples/`). Append the final markers to the checkpoint, emit
|
|
144
|
+
`OUTCOME task=… band=fast model=… retries=… unmet=…` + `FINISH`, show the
|
|
145
|
+
dispatch line (model/effort actually used) + the `/usage` reminder. Fast never
|
|
146
|
+
triggers the post-ship wiki refresh ask (preflight polices freshness on the
|
|
147
|
+
way in) — the passive stale-flag note still applies to touched covered files.
|
|
148
|
+
|
|
149
|
+
## Fallback contract (orc-fast → orc-mini)
|
|
150
|
+
|
|
151
|
+
Follow the writer side of `../_shared/fallback-handoff.md`: announce the
|
|
152
|
+
failed gate in one line, write the `FALLBACK-FROM` block into the run folder
|
|
153
|
+
(REASON: wiki-absent | wiki-stale-user-choice | pattern-absent | fit-gate |
|
|
154
|
+
smoke-red-escalation), and invoke orc-mini pointing at it. The run folder is
|
|
155
|
+
already in the shared format — no migration.
|
|
156
|
+
|
|
157
|
+
## Behavior trace (PERMANENT — same rule as every lane; always on)
|
|
158
|
+
|
|
159
|
+
Follow `../orc/references/trace-protocol.md`: at run start write
|
|
160
|
+
`log_dir/.current` = `run-fast-<slug>-<DDMMYY>-<HHMMSS>.txt`, `touch the trace file`
|
|
161
|
+
of that name in the SAME step, + store `trace_path`. Narration is **dispatched, never remembered**: record each event
|
|
162
|
+
with its REAL timestamp into a packet (F0–F4 `PHASE`, `GATE` at the preflight/
|
|
163
|
+
fit/smoke verdicts, `DISPATCH`/`VERIFY` — `actual_model`/`actual_effort` vs
|
|
164
|
+
expected — `OUTCOME`, `FINISH`, plus `decisions` = the WHY), then dispatch
|
|
165
|
+
`orc-trace-writer-haiku-4-5` PAIRED with the next dispatch; fast batches to
|
|
166
|
+
**2 packets** (preflight+dispatch, gate+ship). A phase ending with
|
|
167
|
+
zero new trace lines is a protocol violation — dispatch its packet NOW. The
|
|
168
|
+
`FINISH` packet returns BEFORE you delete `log_dir/.current`.
|
|
169
|
+
|
|
170
|
+
## Config
|
|
171
|
+
|
|
172
|
+
Resolve at run start (`../orc/config.md` ← `.claude/orc.config.yaml`):
|
|
173
|
+
`wiki_fresh_max` / `wiki_aging_max` (tier edges) + `log_dir`. Fast has no
|
|
174
|
+
config key of its own — command-entry only; wave/scoring/review keys never
|
|
175
|
+
apply.
|
|
176
|
+
|
|
177
|
+
## Checkpoint (minimal, append-only)
|
|
178
|
+
|
|
179
|
+
One `fast-checkpoint.md` in the run folder: GATE results (+ any
|
|
180
|
+
`wiki_stale_override`), the dispatch, smoke verdicts, OUTCOME — enough for
|
|
181
|
+
/orc-retro mining and fresh-session resume, nothing more.
|
|
182
|
+
|
|
183
|
+
## What fast still enforces (from the main hard rules)
|
|
184
|
+
|
|
185
|
+
Never implement yourself (smoke gate = read-only build+test) · all artifacts
|
|
186
|
+
in the run subfolder, never project root · validate the subagent return
|
|
187
|
+
(malformed = failure) · never offer commit on a red build · report the
|
|
188
|
+
dispatch + remind the user to run `/usage` (never invoke it programmatically).
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orc-grill
|
|
3
|
+
description: >
|
|
4
|
+
Standalone idea-sharpening lane — start from one vague sentence and leave with
|
|
5
|
+
a settled idea written down. Use for "/orc-grill", "help me think this
|
|
6
|
+
through", "I want X but I do not know what I want yet", "something is wrong
|
|
7
|
+
with Y". It asks you rounds of questions (every question that is ready, in the
|
|
8
|
+
same round), looks facts up itself instead of making you recite your own
|
|
9
|
+
codebase, and stops only when YOU say the idea matches what you meant. Three
|
|
10
|
+
exits: save it, carry it straight into /orc-analyze, or drop it. No scan, no
|
|
11
|
+
plan, no build, no run folder, no code written. The orchestrator never answers
|
|
12
|
+
its own questions.
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ORC-GRILL
|
|
16
|
+
|
|
17
|
+
The lane you use **before** you know what you want. One short sentence is a
|
|
18
|
+
complete input:
|
|
19
|
+
|
|
20
|
+
> "I want notifications for merchants."
|
|
21
|
+
> "Something is wrong with our refunds."
|
|
22
|
+
|
|
23
|
+
**Vagueness is the input here, not a reason to refuse.** Every other lane
|
|
24
|
+
punishes a thin request — the planner refuses it, the analyst absorbs it into
|
|
25
|
+
`ASSUMPTION` tags and then asks you the questions anyway, at scan prices. This
|
|
26
|
+
lane asks them at conversation prices, and hands the result to those lanes
|
|
27
|
+
already sharp.
|
|
28
|
+
|
|
29
|
+
## What this lane is NOT
|
|
30
|
+
|
|
31
|
+
- **Not `/orc-analyze`.** Analyze checks a requirement **against the code**. It
|
|
32
|
+
answers "does the repo really do that?". Grill answers "what do I actually
|
|
33
|
+
want?". Grill first, analyze second — that order is the whole point.
|
|
34
|
+
- **Not `/orc-plan` or `/orc`.** No tasks, no waves, no scoring, no build. It
|
|
35
|
+
never writes code and never touches a file outside its own context doc.
|
|
36
|
+
- **Not `/orc-learn`.** Learn teaches you an existing feature. Grill shapes one
|
|
37
|
+
that does not exist yet.
|
|
38
|
+
- **Not `/orc-quick`.** Quick DOES something now. Grill decides what should be
|
|
39
|
+
done at all.
|
|
40
|
+
- **Not `/orc-brainstorm`.** Brainstorm GENERATES options when you have none —
|
|
41
|
+
it proposes and you judge. Grill sharpens the one you have — it asks and you
|
|
42
|
+
answer. Brainstorm picks which mountain; grill picks the path up it.
|
|
43
|
+
|
|
44
|
+
## Nothing to configure
|
|
45
|
+
|
|
46
|
+
Standalone and command-entry only. It reads `log_dir` and nothing else. No
|
|
47
|
+
dispatch-forcing key applies, because it has no scored dispatch to force.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## G0 — Preflight (ONE time, silent, nothing here can stop the run)
|
|
52
|
+
|
|
53
|
+
1. **Config.** Read `log_dir`. Read no other key.
|
|
54
|
+
2. **Trace.** Write `log_dir/.current` = `run-grill-<slug>-<DDMMYY>-<HHMMSS>.txt`
|
|
55
|
+
AND `touch the trace file` of that name in the SAME step. Both, or neither.
|
|
56
|
+
The slug comes from the user's opening sentence; if it is too vague to slug,
|
|
57
|
+
use `idea` plus the next free number.
|
|
58
|
+
3. **Knowledge probes.** Follow `../_shared/detecting-artifacts.md` — never a raw
|
|
59
|
+
`find`, because `.claude` is hidden. `orc wiki status` · `orc pattern status
|
|
60
|
+
<lang>` · `orc gotcha status`. **All three are helpful extras.** Missing
|
|
61
|
+
knowledge never gates this lane, never triggers a scan, and never causes a
|
|
62
|
+
fallback — it only means more of the frontier is a question instead of a
|
|
63
|
+
lookup. Print ONE line each, then move on.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## G1 — The interview (the whole lane)
|
|
68
|
+
|
|
69
|
+
**Follow `../_shared/interview.md` exactly.** It is the canonical mechanic and
|
|
70
|
+
this lane does not get a private version of it. In short, and in that file's
|
|
71
|
+
words:
|
|
72
|
+
|
|
73
|
+
- Build a **design tree** of open questions from the opening sentence. Draw the
|
|
74
|
+
dependencies — "which queue?" sits under "is this async at all?".
|
|
75
|
+
- Ask the **whole frontier** each round: every open question whose prerequisites
|
|
76
|
+
are settled, and nothing that depends on an answer you do not have yet.
|
|
77
|
+
- Use the fixed shape, so a round can be answered by number:
|
|
78
|
+
`❓ **Q1** — **<title>**: <body>`, then the recommendation alone on a `➡️` line.
|
|
79
|
+
- **Facts are yours to find; decisions are the user's to make.** Resolve facts up
|
|
80
|
+
the ladder — wiki status, wiki pages, cached pattern, `orc gotcha list`, and a
|
|
81
|
+
read-only ad-hoc dispatch **last**. Never block a round on a running fact-find;
|
|
82
|
+
only the questions genuinely downstream of it wait. And never soften the other
|
|
83
|
+
half: **a lane that answers its own interview question has broken this
|
|
84
|
+
contract.**
|
|
85
|
+
- Tag every settled decision `intent` or `constraint` as it settles. The
|
|
86
|
+
constraints are what later become `spec_invariants[]` — this is the step that
|
|
87
|
+
makes the conversation load-bearing instead of merely pleasant.
|
|
88
|
+
|
|
89
|
+
**Fact-finding dispatches.** Read-only recon is an **ad-hoc dispatch by model +
|
|
90
|
+
effort** (the `/orc-quick` recon precedent), never a pinned agent — so no agent
|
|
91
|
+
file ships for this lane and the hook writes no `SPAWN`/`RETURN` for it. Announce
|
|
92
|
+
it on one line before it goes out (`recon: claude-sonnet-4-6 / medium — where
|
|
93
|
+
refunds are written`) so the spend is never silent, but do NOT stop the round
|
|
94
|
+
waiting for permission. Emit `DISPATCH … adhoc=true` and `VERIFY` yourself; the
|
|
95
|
+
agent reports its own `actual_model` / `actual_effort`.
|
|
96
|
+
|
|
97
|
+
**No question cap.** Some ideas settle in three questions and some need fifty. A
|
|
98
|
+
cap would truncate exactly the case this lane exists for. The controls are the
|
|
99
|
+
user's own words ("stop asking, just save it") and `/orc-explain` when a round
|
|
100
|
+
gets dense.
|
|
101
|
+
|
|
102
|
+
**"I do not even know what the options are" is a different lane, not a worse
|
|
103
|
+
answer.** When a round comes back that way — the user cannot choose because
|
|
104
|
+
nobody has generated anything to choose between — OFFER `/orc-brainstorm`, which
|
|
105
|
+
proposes candidates on purpose and hands the chosen direction back here. Use
|
|
106
|
+
`../_shared/lane-suspend.md` (`RETURN-TO`) so the trip returns to this same
|
|
107
|
+
invocation. This does not soften the rule above: handing the user a lane whose job
|
|
108
|
+
is generating options is not answering their question for them. It is an offer —
|
|
109
|
+
"answer it roughly and I will keep going" stays on the menu.
|
|
110
|
+
|
|
111
|
+
**Ungrillable questions get named, not talked around.** "How should this feel?"
|
|
112
|
+
cannot be settled by talking — say so and point at ORC's `mock_example` phase
|
|
113
|
+
(`mock-examples/<slug>/`). "Does the code really do that?" is `/orc-analyze`.
|
|
114
|
+
Carrying an open question with the right instrument named is a finished answer.
|
|
115
|
+
|
|
116
|
+
**The confirmation gate ends the lane, not an empty frontier.** Play the idea
|
|
117
|
+
back in plain words and ask whether it matches what they meant. Only a yes ends
|
|
118
|
+
it.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## G2 — Exit (ONE question, three answers)
|
|
123
|
+
|
|
124
|
+
Ask once, after the confirmation gate:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
The idea is sharp now. What next?
|
|
128
|
+
|
|
129
|
+
1 Stop here — save it → writes orc-grill/<slug>/grill-context.md
|
|
130
|
+
2 Continue into /orc-analyze → checks it against the real code
|
|
131
|
+
3 Save the constraints to the pact → they outlive this run (/orc-pact)
|
|
132
|
+
4 Write it up as a document → /orc-doc, so other people can act on it
|
|
133
|
+
5 Stop, save nothing
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Exit 3 (v0.46.0)** is present only when at least one decision settled here was
|
|
137
|
+
tagged `constraint`. It writes the doc first, then hands those rows — quoted
|
|
138
|
+
VERBATIM, with `origin: {lane: orc-grill, run: <this run>}` — to `/orc-pact`,
|
|
139
|
+
which is the only thing that writes the ledger. Without it, every constraint this
|
|
140
|
+
lane settles evaporates when the run ends, which is exactly the failure `/orc-pact`
|
|
141
|
+
exists for. No constraints settled → the option is **absent with the reason
|
|
142
|
+
printed**, never a dead number.
|
|
143
|
+
|
|
144
|
+
**Exit 4 (v0.48.0)** writes the doc first, then enters `/orc-doc` with it as the
|
|
145
|
+
D1 context. The interview has already produced exactly what D1 and D4 ask for, so
|
|
146
|
+
those gates are **pre-answered from the artifact and the user only confirms** —
|
|
147
|
+
which is the whole point of not re-asking a frozen question. Settled decisions
|
|
148
|
+
travel with their `intent`/`constraint` tags, and any `spec_invariants[]` lands
|
|
149
|
+
in `context.md`'s decision table. Exits 2 and 4 are different questions: 2 asks
|
|
150
|
+
*is this buildable*, 4 asks *can somebody who was not here act on it*.
|
|
151
|
+
|
|
152
|
+
**When is it sharp enough?** Exit 2 exists to clear the analyst's own entry
|
|
153
|
+
floor, so use that floor as the bar:
|
|
154
|
+
**analyzable ⇔ the input names (a) a subject the repo could plausibly contain —
|
|
155
|
+
a feature, a flow, a file, or a document — AND (b) at least one thing that should
|
|
156
|
+
be true when the work is done.** Below it, exit 2 just bounces straight back.
|
|
157
|
+
|
|
158
|
+
**One extra exit, present ONLY when this run was entered with a `RETURN-TO`
|
|
159
|
+
marker** (`../_shared/lane-suspend.md`): `Return to /<sender-lane> — carry these
|
|
160
|
+
decisions back`, and it is the recommended option in that state. It is added to
|
|
161
|
+
the menu, never a replacement: a user who picks "stop, save nothing" simply does
|
|
162
|
+
not return, and the sender's snapshot is still on disk. Decisions travel back with
|
|
163
|
+
their `intent`/`constraint` tags intact plus `source: /orc-grill`, and the
|
|
164
|
+
**Facts looked up** rows go with them.
|
|
165
|
+
|
|
166
|
+
- **1 — save.** Write the doc (below) and end the run.
|
|
167
|
+
- **2 — hand off.** Write the doc first, then enter `/orc-analyze` with that file
|
|
168
|
+
as the input. The analyst receives an already-scoped requirement and spends its
|
|
169
|
+
tokens **grounding it in code** instead of re-asking scope. From there it is an
|
|
170
|
+
ordinary analyze run — same phases, same gates, same `requirement-spec.md`.
|
|
171
|
+
When this lane was entered FROM `/orc-analyze` (its reverse trigger), exit 2
|
|
172
|
+
returns to that same invocation and the user retypes nothing.
|
|
173
|
+
- **5 — drop it.** Write nothing. Still close the trace properly.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## The doc it writes
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
<projectRoot>/orc-grill/<slug>/grill-context.md
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Project root, visible — **never inside `.claude/`**, never inside a run folder,
|
|
184
|
+
for the same reason `/orc-quick` puts its doc there: a document a human reads and
|
|
185
|
+
reuses belongs where the human can find it. One `.md` per slug, ever; the same
|
|
186
|
+
slug re-opens and extends the same file. **Never staged for commit by ORC.**
|
|
187
|
+
|
|
188
|
+
Shape, and what each part is for: `references/grill-doc.md`. The top carries a
|
|
189
|
+
delimited `<!-- orc-grill:context -->` block so a later session reads the summary
|
|
190
|
+
without reading the whole file.
|
|
191
|
+
|
|
192
|
+
## Behavior trace (always on — same as every lane)
|
|
193
|
+
|
|
194
|
+
Follow `../orc/references/trace-protocol.md`. Lane name `grill`. This is a
|
|
195
|
+
**single-dispatch** lane: **exactly ONE end-of-run packet**, dispatched solo to
|
|
196
|
+
`orc-trace-writer-haiku-4-5` after the exit choice and BEFORE you delete
|
|
197
|
+
`log_dir/.current`. It carries `run_meta`, the round-by-round event list, the
|
|
198
|
+
settled decisions as `decisions` (the WHY layer), the exit taken, and `FINISH`. A
|
|
199
|
+
run that ends with `zero new trace lines is a protocol violation`.
|
|
200
|
+
|
|
201
|
+
## Rules this lane always keeps
|
|
202
|
+
|
|
203
|
+
Never answer your own question · never write code or edit a project file · never
|
|
204
|
+
scan the repo · never force a lane on the user (exit 2 is an offer) · look facts
|
|
205
|
+
up before asking for them · announce every dispatch · tag every decision `intent`
|
|
206
|
+
or `constraint` · never stage `orc-grill/**` · tell the user to run `/usage`
|
|
207
|
+
(never run it yourself).
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# The grill context doc — shape and rules
|
|
2
|
+
|
|
3
|
+
This is the file `/orc-grill` writes when the user picks exit 1 or exit 2. It is
|
|
4
|
+
written for a HUMAN to read later, and for `/orc-analyze` to consume as an input
|
|
5
|
+
instead of re-asking scope.
|
|
6
|
+
|
|
7
|
+
## Where it goes
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
<projectRoot>/orc-grill/<slug>/grill-context.md
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
- `<slug>` comes from the **first** grill on this idea. No date in the folder
|
|
14
|
+
name, so re-running with the same slug re-opens the same thread.
|
|
15
|
+
- **One file per folder. Never a second `.md`.**
|
|
16
|
+
- Project root, next to `orc-quick/`, `test-generator/` and `learning-docs/` —
|
|
17
|
+
never inside `.claude/`, never inside a run folder.
|
|
18
|
+
- **Never staged for commit by ORC.** Do not edit `.gitignore`.
|
|
19
|
+
|
|
20
|
+
## Rules
|
|
21
|
+
|
|
22
|
+
1. **Write it before the exit completes.** Exit 2 writes the doc FIRST, then
|
|
23
|
+
hands off — the analyst reads a file, not a memory of a conversation.
|
|
24
|
+
2. **Re-opening extends, never replaces.** A second grill on the same slug adds
|
|
25
|
+
a new dated round section and updates the context block. Earlier decisions
|
|
26
|
+
stay, with the date they were made. A decision that was later reversed is
|
|
27
|
+
struck through with its reason, not deleted — the reversal is the useful part.
|
|
28
|
+
3. **Only what was settled.** A question the user never answered belongs in
|
|
29
|
+
"still open", never in "decided" with a guessed value.
|
|
30
|
+
4. **Quote the user.** Their own words for what the thing is; your paraphrase is
|
|
31
|
+
how intent drifts.
|
|
32
|
+
|
|
33
|
+
## The context block
|
|
34
|
+
|
|
35
|
+
The top of the file carries a delimited summary:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
<!-- orc-grill:context -->
|
|
39
|
+
**merchant-notifications** · last grilled 08-08-2026 · 11 decisions · 2 open
|
|
40
|
+
Merchants get told when a payout fails. Email only, no in-app, no SMS.
|
|
41
|
+
Batched hourly, not per-event. Existing `notifications` table is reused.
|
|
42
|
+
Open: what the email actually says (needs a mock) · whether the retry
|
|
43
|
+
worker already has a hook (needs code).
|
|
44
|
+
<!-- /orc-grill:context -->
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Why the markers matter.** A later session — or `/orc-analyze` deciding whether
|
|
48
|
+
this input is worth consuming — reads ONLY this block. It is small and cheap. The
|
|
49
|
+
body below is for a human.
|
|
50
|
+
|
|
51
|
+
## Body shape
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
## What this is
|
|
55
|
+
<the user's own words, quoted, then one paragraph of plain-language summary>
|
|
56
|
+
|
|
57
|
+
## Decided
|
|
58
|
+
| # | decision | tag | why it was settled this way |
|
|
59
|
+
|---|---|---|---|
|
|
60
|
+
| 1 | email only, no in-app | intent | in-app needs a socket layer that does not exist yet |
|
|
61
|
+
| 2 | no new dependencies | constraint | the user said "no new deps" — verbatim |
|
|
62
|
+
| 3 | batch hourly | intent | per-event was rejected: payout retries fire in bursts |
|
|
63
|
+
|
|
64
|
+
`tag` is `intent` (what to build) or `constraint` (a boundary the build must not
|
|
65
|
+
cross). Every `constraint` row becomes a `spec_invariants[]` entry downstream and
|
|
66
|
+
is appended VERBATIM to every executor slice — so word it as an instruction, not
|
|
67
|
+
as a note.
|
|
68
|
+
|
|
69
|
+
## Ruled out of scope
|
|
70
|
+
- SMS — "later, not now"
|
|
71
|
+
- backfilling old failed payouts — the user said the data is not worth it
|
|
72
|
+
|
|
73
|
+
Say why, in the user's terms. A scope boundary with no reason gets re-litigated.
|
|
74
|
+
|
|
75
|
+
## Facts looked up (not asked)
|
|
76
|
+
| fact | source | value |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| is there a notifications table | wiki FRESH · wiki/orc-feature-notifications.md | yes, `notifications(id, kind, payload)` |
|
|
79
|
+
| does this project retry payouts | recon dispatch (sonnet-4-6/medium) | yes, `src/jobs/payout-retry.js:88` |
|
|
80
|
+
|
|
81
|
+
This table is what stops the next lane re-deriving the same things.
|
|
82
|
+
|
|
83
|
+
## Still open — each with the instrument that settles it
|
|
84
|
+
| question | why talking cannot settle it | instrument |
|
|
85
|
+
|---|---|---|
|
|
86
|
+
| what the email says | taste — needs something to look at | `mock_example` phase → `mock-examples/<slug>/` |
|
|
87
|
+
| does the retry worker expose a hook | a claim about the repo | `/orc-analyze` |
|
|
88
|
+
|
|
89
|
+
An open question with the right instrument named is a finished answer. An open
|
|
90
|
+
question with no instrument is unfinished work.
|
|
91
|
+
|
|
92
|
+
## Rounds
|
|
93
|
+
A short log: round number, what was asked, what came back. One line per question.
|
|
94
|
+
This is what makes a re-opened thread cheap to resume.
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Writing style
|
|
98
|
+
|
|
99
|
+
Write for the person who comes back in three weeks having forgotten everything —
|
|
100
|
+
and for the analyst who will read this instead of interviewing them again.
|
|
101
|
+
|
|
102
|
+
- Plain words, short sentences.
|
|
103
|
+
- Name real files and line numbers wherever a fact came from the repo.
|
|
104
|
+
- Always record **why** an option lost. A rejected idea with its reason is what
|
|
105
|
+
stops the next session proposing it again.
|