@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,356 @@
|
|
|
1
|
+
# Mock run — `/orc-boundary`
|
|
2
|
+
|
|
3
|
+
> The lane that says what the AI should **not** try here, and why.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. What it does
|
|
8
|
+
|
|
9
|
+
Every AI coding skill in the world assumes the answer to *"should the AI do
|
|
10
|
+
this?"* is **yes**.
|
|
11
|
+
|
|
12
|
+
Research says this is expensive. Agents that do not know their limits spend
|
|
13
|
+
**5 to 50 times longer** than a human expert, and most of that time is spent on
|
|
14
|
+
work that was never going to succeed. When you teach an agent to stop early,
|
|
15
|
+
performance goes up about **20%** and the wasted time drops about **80%**.
|
|
16
|
+
|
|
17
|
+
Nobody has shipped this as a skill. `/orc-boundary` ships it.
|
|
18
|
+
|
|
19
|
+
It gives one of three answers for each piece of work:
|
|
20
|
+
|
|
21
|
+
| Verdict | Easy English |
|
|
22
|
+
|---|---|
|
|
23
|
+
| **EXECUTE** | Let the agent do it. It can check its own work here. |
|
|
24
|
+
| **ESCALATE** | Let the agent do it, but a named human must look before ship. |
|
|
25
|
+
| **REFUSE** | The agent should not try this. Here is what must change first. |
|
|
26
|
+
|
|
27
|
+
**A REFUSE always says what would make it a yes.** "No" with no "unless" is not
|
|
28
|
+
a boundary. It is just a shrug. ORC never does that.
|
|
29
|
+
|
|
30
|
+
### How ORC decides — no guessing
|
|
31
|
+
|
|
32
|
+
The verdict comes from four questions, and ORC already has a real answer to all
|
|
33
|
+
four. It does not ask the model to feel it out.
|
|
34
|
+
|
|
35
|
+
| Question | How ORC answers it, for real |
|
|
36
|
+
|---|---|
|
|
37
|
+
| Can the agent **check its own work**? | Does a test runner exist? Does the build run? Is there a smoke gate? |
|
|
38
|
+
| Does the agent **know this area**? | `orc wiki status` coverage · `orc pattern status <lang>` · past traces that touched these files |
|
|
39
|
+
| Is it **easy to undo**? | Is it a DB migration, a live payment call, a published package, a deleted row? |
|
|
40
|
+
| Is it a **decision, not a fact**? | `_shared/interview.md` already draws this line. A decision belongs to the human. |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 2. The run
|
|
45
|
+
|
|
46
|
+
Rina has a plan from `/orc-plan`. 12 tasks. She wants to know what is safe to
|
|
47
|
+
hand to the agent before she starts an expensive run.
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
> /orc-boundary plan.md
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
ORC · boundary
|
|
55
|
+
|
|
56
|
+
Preflight (silent probes)
|
|
57
|
+
wiki status : FRESH — 12 docs
|
|
58
|
+
pattern status : typescript → cached
|
|
59
|
+
test runner : vitest (npm test) → the agent CAN check itself
|
|
60
|
+
build : npm run build works
|
|
61
|
+
git remote : origin (github)
|
|
62
|
+
past traces : 31 runs, 9 touched api/payments
|
|
63
|
+
pact ledger : 4 holding · 2 uncheckable
|
|
64
|
+
|
|
65
|
+
Reading plan.md — 12 tasks, 4 waves.
|
|
66
|
+
Looking at each task. Read-only. I will not change any file.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
ORC · boundary · verdicts
|
|
71
|
+
|
|
72
|
+
EXECUTE — 8 tasks
|
|
73
|
+
T01 Add a partial-refund field to the refund form web/refunds/
|
|
74
|
+
T02 Add the partial amount to the refund API type api/refunds/
|
|
75
|
+
T03 Translate the 4 new labels web/locales/
|
|
76
|
+
T05 Add a unit test for the partial amount api/refunds/
|
|
77
|
+
T06 Show the partial amount on the receipt web/receipt/
|
|
78
|
+
T08 Add a red proof for the 45-day window api/refunds/
|
|
79
|
+
T10 Update the refund docs page docs/
|
|
80
|
+
T11 Add the new field to the admin table web/admin/
|
|
81
|
+
|
|
82
|
+
Why these are safe: tests exist for all of them, the wiki covers these
|
|
83
|
+
folders, and every change can be undone with `git revert`.
|
|
84
|
+
|
|
85
|
+
ESCALATE — 3 tasks
|
|
86
|
+
T04 Change the refund payout target
|
|
87
|
+
reason : PACT-006 covers this file and is UNCHECKABLE.
|
|
88
|
+
The agent can write the code but cannot prove it is right.
|
|
89
|
+
who : Rina (code) + Finance (behaviour)
|
|
90
|
+
when : before ship, not before the wave
|
|
91
|
+
|
|
92
|
+
T07 Add a rate limit to POST /refunds
|
|
93
|
+
reason : no load test exists. The agent can set a number but cannot
|
|
94
|
+
tell you if that number is correct for real traffic.
|
|
95
|
+
who : Rina
|
|
96
|
+
when : before ship
|
|
97
|
+
|
|
98
|
+
T09 Call the Stripe refund API with the partial amount
|
|
99
|
+
reason : this reaches a third party and moves real money.
|
|
100
|
+
The sandbox key is present, so the agent can work — but a
|
|
101
|
+
human must confirm the amount rounding before it goes live.
|
|
102
|
+
who : Rina
|
|
103
|
+
when : before ship
|
|
104
|
+
|
|
105
|
+
REFUSE — 1 task
|
|
106
|
+
T12 Backfill partial_amount on 1.4M old refund rows
|
|
107
|
+
reason 1: this is a DB migration that writes to production data.
|
|
108
|
+
It cannot be undone with git.
|
|
109
|
+
reason 2: no rollback migration exists in db/migrations/.
|
|
110
|
+
reason 3: no staging database is configured in config/app.yaml.
|
|
111
|
+
|
|
112
|
+
This becomes EXECUTE when ALL THREE are true:
|
|
113
|
+
[ ] a down-migration file exists next to the up-migration
|
|
114
|
+
[ ] config/app.yaml has a staging database URL
|
|
115
|
+
[ ] the backfill is written to run in batches with a resume point
|
|
116
|
+
|
|
117
|
+
Until then this is a human task. I can still WRITE the migration
|
|
118
|
+
for you as a draft that nobody runs — ask me and I will.
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
ORC · boundary · cards
|
|
123
|
+
|
|
124
|
+
Wrote 3 boundary cards:
|
|
125
|
+
.claude/orc/boundary/api-refunds.md
|
|
126
|
+
.claude/orc/boundary/api-payments.md
|
|
127
|
+
.claude/orc/boundary/db-migrations.md
|
|
128
|
+
|
|
129
|
+
A card is per AREA, not per task. So the next run reads the card instead of
|
|
130
|
+
thinking about this again. Cards go stale the same way a wiki doc does — only
|
|
131
|
+
when the files they cover actually change.
|
|
132
|
+
|
|
133
|
+
Trace: run-boundary-partial-refunds-100826-161240.txt
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 3. The file it made
|
|
139
|
+
|
|
140
|
+
### `.claude/orc/boundary/db-migrations.md`
|
|
141
|
+
|
|
142
|
+
```markdown
|
|
143
|
+
---
|
|
144
|
+
area: db/migrations
|
|
145
|
+
anchored_files:
|
|
146
|
+
- db/migrations/**
|
|
147
|
+
- config/app.yaml
|
|
148
|
+
verified_commit: c273793
|
|
149
|
+
generated_by: orc-boundary
|
|
150
|
+
generated_at: 2026-08-10T16:12:40Z
|
|
151
|
+
default_verdict: REFUSE
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
# Boundary card — db/migrations
|
|
155
|
+
|
|
156
|
+
## Default verdict: REFUSE
|
|
157
|
+
|
|
158
|
+
The agent should not run a migration in this repo yet.
|
|
159
|
+
|
|
160
|
+
## Why
|
|
161
|
+
|
|
162
|
+
| Check | Result | Evidence |
|
|
163
|
+
|---|---|---|
|
|
164
|
+
| Can the agent verify itself? | **No** | No migration test job. `npm test` does not touch the DB. |
|
|
165
|
+
| Does the agent know this area? | Partly | Wiki covers the schema, not the migration process. |
|
|
166
|
+
| Is it easy to undo? | **No** | No down-migration in any of the 7 files in `db/migrations/`. |
|
|
167
|
+
| Is it a human decision? | Partly | Data loss on production is not the agent's call. |
|
|
168
|
+
|
|
169
|
+
## What would change the verdict
|
|
170
|
+
|
|
171
|
+
This area becomes **ESCALATE** when:
|
|
172
|
+
- [ ] every migration file has a matching down-migration
|
|
173
|
+
- [ ] `config/app.yaml` declares a `staging.database_url`
|
|
174
|
+
|
|
175
|
+
This area becomes **EXECUTE** when the two above are true **and**:
|
|
176
|
+
- [ ] a CI job runs migrations up and down against a throwaway database
|
|
177
|
+
|
|
178
|
+
## What the agent MAY still do here
|
|
179
|
+
|
|
180
|
+
- Write a migration file as a draft. Nobody runs it.
|
|
181
|
+
- Read migrations to understand the schema.
|
|
182
|
+
- Suggest the down-migration that is missing.
|
|
183
|
+
|
|
184
|
+
## Not covered by this card
|
|
185
|
+
|
|
186
|
+
`db/seeds/` — that is fixture data, graded separately. See
|
|
187
|
+
`.claude/orc/boundary/db-seeds.md`.
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 4. The CLI part
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
$ orc boundary status
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
BOUNDARY · shopcart
|
|
200
|
+
|
|
201
|
+
api/refunds ESCALATE card fresh (2 open preconditions)
|
|
202
|
+
api/payments EXECUTE card fresh
|
|
203
|
+
db/migrations REFUSE card fresh (3 open preconditions)
|
|
204
|
+
web/ EXECUTE card fresh
|
|
205
|
+
config/ ESCALATE card STALE → 4 commits since c273793
|
|
206
|
+
|
|
207
|
+
4 areas ready · 1 card needs a refresh
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Exit code: `2` — because at least one area is REFUSE.
|
|
211
|
+
|
|
212
|
+
**The exit codes:**
|
|
213
|
+
|
|
214
|
+
| Code | Meaning |
|
|
215
|
+
|---|---|
|
|
216
|
+
| 0 | Everything in scope is EXECUTE |
|
|
217
|
+
| 1 | At least one ESCALATE |
|
|
218
|
+
| 2 | At least one REFUSE |
|
|
219
|
+
| 3 | No card, or the card is stale |
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
$ orc boundary status db/migrations --json
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
```json
|
|
226
|
+
{
|
|
227
|
+
"area": "db/migrations",
|
|
228
|
+
"verdict": "REFUSE",
|
|
229
|
+
"card_present": true,
|
|
230
|
+
"card_stale": false,
|
|
231
|
+
"verified_commit": "c273793",
|
|
232
|
+
"reasons": [
|
|
233
|
+
{ "check": "self_verification", "pass": false, "evidence": "no migration test job" },
|
|
234
|
+
{ "check": "reversible", "pass": false, "evidence": "no down-migration in db/migrations/" },
|
|
235
|
+
{ "check": "domain_known", "pass": "partial", "evidence": "wiki covers schema, not process" }
|
|
236
|
+
],
|
|
237
|
+
"preconditions": [
|
|
238
|
+
{ "to_reach": "ESCALATE", "items": ["down-migration for every file", "staging.database_url in config/app.yaml"] },
|
|
239
|
+
{ "to_reach": "EXECUTE", "items": ["CI job runs migrations up and down"] }
|
|
240
|
+
],
|
|
241
|
+
"allowed_anyway": ["write a draft migration", "read migrations", "suggest a missing down-migration"],
|
|
242
|
+
"exit": 2
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 5. Inside a normal `/orc` run
|
|
249
|
+
|
|
250
|
+
**Phase 1 — preflight.** One new line.
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
Preflight
|
|
254
|
+
wiki : FRESH
|
|
255
|
+
pattern : typescript cached
|
|
256
|
+
pact : 4 holding · 2 uncheckable
|
|
257
|
+
boundary : 8 execute · 3 escalate · 1 refuse ← new
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
**Phase 3 — waves.** This is where it saves money.
|
|
261
|
+
|
|
262
|
+
With `boundary_gate: block`:
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
Wave 3 of 4 — dispatching 3 tasks
|
|
266
|
+
|
|
267
|
+
T09 Stripe partial refund call → orc-executor-opus-5-high [ESCALATE]
|
|
268
|
+
T11 Admin table column → orc-executor-sonnet-5-high [EXECUTE]
|
|
269
|
+
T12 Backfill 1.4M rows → NOT DISPATCHED [REFUSE]
|
|
270
|
+
|
|
271
|
+
T12 was lifted out of this wave.
|
|
272
|
+
Reason: db/migrations card says REFUSE — no down-migration, no staging DB.
|
|
273
|
+
It is now in the handback list. The wave continues without it.
|
|
274
|
+
|
|
275
|
+
This saved an estimated 1 executor dispatch at opus-5-high
|
|
276
|
+
(~38k tokens) that would have produced code nobody could safely run.
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
At the end of the run:
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
Ship
|
|
283
|
+
|
|
284
|
+
Shipped: 11 tasks
|
|
285
|
+
Handed back to you: 1 task
|
|
286
|
+
|
|
287
|
+
T12 Backfill partial_amount on 1.4M old refund rows
|
|
288
|
+
I did not attempt this. Here is what to do:
|
|
289
|
+
1. Write db/migrations/0009_backfill_partial.down.sql
|
|
290
|
+
2. Add staging.database_url to config/app.yaml
|
|
291
|
+
3. Re-run `orc boundary status db/migrations` — it should say ESCALATE
|
|
292
|
+
4. Then `/orc-quick` can do the backfill with you watching
|
|
293
|
+
|
|
294
|
+
ESCALATE items that need your eyes before merge:
|
|
295
|
+
T04 refund payout target → PACT-006 has no test
|
|
296
|
+
T07 rate limit number → no load test
|
|
297
|
+
T09 Stripe amount rounding → real money
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### The three settings
|
|
301
|
+
|
|
302
|
+
```yaml
|
|
303
|
+
boundary_gate: off | warn | block
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
- `off` — the lane still works when you call it. `/orc` ignores it.
|
|
307
|
+
- `warn` (**default**) — the task is still dispatched, but the card goes into
|
|
308
|
+
the slice so the executor knows the risk.
|
|
309
|
+
- `block` — a REFUSE task is never dispatched.
|
|
310
|
+
|
|
311
|
+
Default is `warn` because `block` changes how existing runs behave, and a
|
|
312
|
+
surprise on upgrade is bad. Move to `block` one release later.
|
|
313
|
+
|
|
314
|
+
### It also fixes `/orc-route`
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
$ /orc-route plan.md
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
Recommended lane: /orc
|
|
322
|
+
|
|
323
|
+
/orc-fast NOT POSSIBLE
|
|
324
|
+
reason: the plan has 1 REFUSE task and 3 ESCALATE tasks.
|
|
325
|
+
orc-fast has one executor and no review phase. It cannot
|
|
326
|
+
hold an escalation.
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Before `/orc-boundary`, routing could only count tasks and scores. Now it can
|
|
330
|
+
say *why a lane is not allowed*.
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## 6. Why this is good for ORC
|
|
335
|
+
|
|
336
|
+
**It is the only lane in the world that does this.** The research is published
|
|
337
|
+
and measured. The skill does not exist. ORC would be first, and the claim is
|
|
338
|
+
easy to say out loud: *"ORC is the only agent that tells you what it should not
|
|
339
|
+
try."*
|
|
340
|
+
|
|
341
|
+
**It saves real money on every run.** A REFUSE task is a dispatch that never
|
|
342
|
+
happens. In the mock above that is one `opus-5-high` executor — the most
|
|
343
|
+
expensive band ORC has. The lane pays for itself the first time it stops one.
|
|
344
|
+
|
|
345
|
+
**It uses probes ORC already has.** No new machinery. `orc wiki status`,
|
|
346
|
+
`orc pattern status`, the smoke gate, the trace corpus, the pact ledger. Every
|
|
347
|
+
input already ships. This is why ORC can build it in weeks and a standalone
|
|
348
|
+
skill cannot build it at all.
|
|
349
|
+
|
|
350
|
+
**It makes the other lanes smarter for free.** `/orc-route` gets a hard
|
|
351
|
+
constraint. `/orc-ultra`'s judge gets something to score against. `/orc-quick`
|
|
352
|
+
can show the card at its dispatch gate. One lane, four upgrades.
|
|
353
|
+
|
|
354
|
+
**It answers the question every manager is asking in 2026.** *"How much should
|
|
355
|
+
I let the AI do?"* Right now the honest answer everywhere is "try it and see".
|
|
356
|
+
ORC would give a per-area answer with evidence and a checklist.
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Mock run — `/orc-brainstorm`
|
|
2
|
+
|
|
3
|
+
> For when you do not have the idea yet. It makes the options. **You** pick.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. What it does
|
|
8
|
+
|
|
9
|
+
`/orc-grill` sharpens one idea you already have. `/orc-brainstorm` is for the
|
|
10
|
+
step before that: you have a problem, a goal, or a hunch, and no candidates.
|
|
11
|
+
|
|
12
|
+
It works in two halves:
|
|
13
|
+
|
|
14
|
+
- **Diverge** — it generates a lot of ideas on purpose, using named thinking
|
|
15
|
+
lenses, and says **nothing bad about any of them yet**. An objection said too
|
|
16
|
+
early kills the three ideas that would have come after it.
|
|
17
|
+
- **Converge** — judgment comes back on. Every idea is stress-tested, then ORC
|
|
18
|
+
recommends one and **waits**.
|
|
19
|
+
|
|
20
|
+
It does not have to be about code. A product name, an onboarding flow, or a
|
|
21
|
+
support-queue problem are all fine.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 2. The run
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
> /orc-brainstorm our refund support tickets keep growing and I don't know why
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### B1 — Frame
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Before I generate anything, let me pin the problem.
|
|
35
|
+
|
|
36
|
+
Problem refund tickets are growing
|
|
37
|
+
Better fewer tickets per 100 refunds, not faster replies
|
|
38
|
+
Fixed we cannot change the bank's 3–5 day settlement
|
|
39
|
+
Free anything in web/, api/, and the emails we send
|
|
40
|
+
|
|
41
|
+
Is that the problem, or did I frame it wrong?
|
|
42
|
+
|
|
43
|
+
> right, but also: support says most tickets are "where is my money"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### B2 — Diverge (no criticism here, on purpose)
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
Lens 1 — Inversion: how would we make this WORSE?
|
|
50
|
+
1 Say "refunded" the moment the button is pressed, then go silent
|
|
51
|
+
2 Send no email at all
|
|
52
|
+
3 Hide refund status behind a login wall
|
|
53
|
+
|
|
54
|
+
(Flipping each of those gives us:)
|
|
55
|
+
4 Tell the truth about the 3–5 days, in the moment of the refund
|
|
56
|
+
5 Send one email when the bank confirms
|
|
57
|
+
6 A public refund status link, no login
|
|
58
|
+
|
|
59
|
+
Lens 2 — Analogy: what does a parcel company do?
|
|
60
|
+
7 A tracking page with 3 fixed steps and a date range
|
|
61
|
+
8 A "still on time" message that appears BEFORE anyone worries
|
|
62
|
+
9 One number to look up on the front page
|
|
63
|
+
|
|
64
|
+
Lens 3 — This repo's own history:
|
|
65
|
+
10 We already built order tracking (wiki/orc-feature-orders.md). Reuse it
|
|
66
|
+
for refunds instead of building a second thing.
|
|
67
|
+
11 gotcha #7: we tried customer-facing ETAs once and support hated them
|
|
68
|
+
because the ETA was wrong. Any ETA must be a range, not a date.
|
|
69
|
+
|
|
70
|
+
Lens 4 — Constraint flip: what if support could not answer tickets at all?
|
|
71
|
+
12 The refund email answers the question before it is asked
|
|
72
|
+
13 A canned reply that is one click and always correct
|
|
73
|
+
|
|
74
|
+
That is 13 candidates across 4 lenses. More? Or shall I cluster?
|
|
75
|
+
· anything of your own to add — say it and it goes in the pool as #14
|
|
76
|
+
|
|
77
|
+
> add: let support see the bank reference number. cluster after that.
|
|
78
|
+
|
|
79
|
+
14 (yours) support sees the bank reference number
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### B3 — Cluster
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
4 directions. Every one of the 14 candidates is in exactly one of them, or
|
|
86
|
+
in the graveyard with a reason.
|
|
87
|
+
|
|
88
|
+
| Direction | The bet | Must be true | Costs | Kills |
|
|
89
|
+
|---|---|---|---|---|
|
|
90
|
+
| A Tell the truth early | People ask because we implied it was instant | Customers accept 3–5 days if told up front | Small: copy + one state | The word "instant" in marketing |
|
|
91
|
+
| B Tracking page | People want to look, not to ask | They will visit a link | Medium: reuse order tracking (#10) | A second status system |
|
|
92
|
+
| C Arm support | Tickets are fine, answering is slow | Support is the bottleneck, not the customer | Small | Nothing |
|
|
93
|
+
| D Do nothing visible, fix the email | One good email removes the question | The email is opened | Smallest | — |
|
|
94
|
+
|
|
95
|
+
Graveyard
|
|
96
|
+
#3 hide behind login — makes the problem worse, kept only as an inversion
|
|
97
|
+
#9 front-page lookup — no. YAGNI for our volume.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### B4 — Stress (judgment back on)
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
A · pre-mortem: "it failed because we told people 3–5 days and the bank took 9."
|
|
104
|
+
worst a truthful message that is still wrong
|
|
105
|
+
best ticket volume drops without any new screen
|
|
106
|
+
repo gotcha #7 applies. Use a range, never a date.
|
|
107
|
+
|
|
108
|
+
B · pre-mortem: "we built a page nobody visited."
|
|
109
|
+
worst a second status system to maintain
|
|
110
|
+
best support links it and stops typing the same reply
|
|
111
|
+
repo order tracking already exists — this is cheaper than it looks
|
|
112
|
+
|
|
113
|
+
C · pre-mortem: "support got faster at answering a question we caused."
|
|
114
|
+
worst we optimise the symptom
|
|
115
|
+
best immediate relief this week
|
|
116
|
+
|
|
117
|
+
D · pre-mortem: "the email went to spam."
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### B5 — Converge (ORC recommends, then stops)
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
Recommendation: A first, then B.
|
|
124
|
+
|
|
125
|
+
Why: A is the cheapest thing that attacks the cause, and B is nearly free
|
|
126
|
+
because #10 lets us reuse order tracking. C treats the symptom — but it is
|
|
127
|
+
one afternoon, so do it alongside if support is drowning now.
|
|
128
|
+
|
|
129
|
+
1 A
|
|
130
|
+
2 A then B ← my recommendation
|
|
131
|
+
3 B only
|
|
132
|
+
4 C only
|
|
133
|
+
5 something else, or combine — say it in your own words
|
|
134
|
+
|
|
135
|
+
> 2, but the range must come from real data not a guess
|
|
136
|
+
|
|
137
|
+
constraint any customer-facing refund ETA is a RANGE from measured
|
|
138
|
+
settlement times, never a fixed date
|
|
139
|
+
intent tell the customer the truth at the moment of refund
|
|
140
|
+
intent reuse the order tracking components for refunds
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### B6 — Exit
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
Ready to write the session doc? It saves the pick AND every direction that
|
|
147
|
+
lost, with the reason.
|
|
148
|
+
|
|
149
|
+
1 Write it → orc/brainstorming-session/refund-tickets/brainstorm-session.md
|
|
150
|
+
2 Carry into /orc-grill to sharpen direction A
|
|
151
|
+
3 Drop it
|
|
152
|
+
|
|
153
|
+
> 1
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 3. What to notice
|
|
159
|
+
|
|
160
|
+
- **ORC never picks.** It recommends, then waits. A lane that picks its own
|
|
161
|
+
favourite has broken this lane's contract.
|
|
162
|
+
- **Every menu ends with your own slot**, and it is always last. What you type
|
|
163
|
+
goes into the pool word for word and gets stress-tested like the rest.
|
|
164
|
+
- **Nothing evaporates.** Every candidate lands in a direction or in the
|
|
165
|
+
graveyard **with a reason**. The most valuable part of the saved doc is *why
|
|
166
|
+
the others lost*.
|
|
167
|
+
- **It stops before writing anything.** "Complete" is a proposal, never a
|
|
168
|
+
verdict.
|
|
169
|
+
- **The repo's own history is a lens.** `gotcha #7` is the kind of thing no
|
|
170
|
+
generic brainstorm can give you.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 4. Related
|
|
175
|
+
|
|
176
|
+
- Sharpen the direction you picked: [`/orc-grill`](orc-grill.md)
|
|
177
|
+
- Turn constraints into lasting promises: [`/orc-pact`](orc-pact.md)
|