@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,534 @@
|
|
|
1
|
+
# Mock run — `/orc-budget`
|
|
2
|
+
|
|
3
|
+
> What will this run burn, **before** you start it — in the unit you are
|
|
4
|
+
> actually billed in.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. What it does
|
|
9
|
+
|
|
10
|
+
There are many tools that tell you how much you spent **last month**. That
|
|
11
|
+
problem is solved.
|
|
12
|
+
|
|
13
|
+
Nobody can tell you what **this one plan** will burn, before you run it.
|
|
14
|
+
|
|
15
|
+
To answer that you need a record of your own past runs: what score each task
|
|
16
|
+
had, which model ran it, how many tokens of each kind it used, and whether it
|
|
17
|
+
worked. **ORC already has this.** Behavior traces are always on. Claude Code
|
|
18
|
+
writes a usage transcript for every session. Nobody has ever joined the two.
|
|
19
|
+
|
|
20
|
+
### Two things the first design got wrong
|
|
21
|
+
|
|
22
|
+
**Wrong 1: one number.** "407k tokens" hides that about 80% of it is *cache
|
|
23
|
+
reads*, which cost about a tenth of a normal input token. Four kinds of token
|
|
24
|
+
exist and they behave completely differently:
|
|
25
|
+
|
|
26
|
+
| Kind | Usual share | Relative price | Why it must be separate |
|
|
27
|
+
|---|---|---|---|
|
|
28
|
+
| `input` | small | 1× | fresh, uncached prompt |
|
|
29
|
+
| `cache write` | medium | ~1.25× | writing the cache — a real cost |
|
|
30
|
+
| `cache read` | **usually the biggest** | ~0.1× | almost free, and it dominates the raw count |
|
|
31
|
+
| `output` | small | ~5× | the most expensive tokens in the run |
|
|
32
|
+
|
|
33
|
+
**Wrong 2: dollars as the headline.** On Pro or Max you do **not** pay per
|
|
34
|
+
token. You burn against a 5-hour session window and a weekly limit. "$7.02"
|
|
35
|
+
means nothing to that user. **"18% of your 5-hour window" means everything.**
|
|
36
|
+
|
|
37
|
+
So the rule is: **tokens are the unit of truth, and everything else is derived
|
|
38
|
+
from them.**
|
|
39
|
+
|
|
40
|
+
| View | Unit | Who it is for |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| **tokens** | in / cache-write / cache-read / out | everyone, always shown |
|
|
43
|
+
| **quota** | % of the 5-hour window, % of the weekly limit | Pro / Max — most users |
|
|
44
|
+
| **usd** | $ from a dated price table | API billing, enterprise |
|
|
45
|
+
| **context** | peak tokens per agent vs its window | everyone, shown only at risk |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 2. The run — forecast
|
|
50
|
+
|
|
51
|
+
Rina has the same 12-task plan from lane 02. She is on Max 20x.
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
> /orc-budget plan.md
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
ORC · budget · forecast
|
|
59
|
+
|
|
60
|
+
Reading plan.md — 12 tasks, 4 waves.
|
|
61
|
+
Reading your history:
|
|
62
|
+
ORC traces 31 runs, 189 task dispatches
|
|
63
|
+
usage transcripts ~/.claude/projects/C--dev-shopcart/ — 47 sessions
|
|
64
|
+
joined 184 of 189 dispatches (5 unattributed, 2.6%)
|
|
65
|
+
|
|
66
|
+
No model is used for this. It is arithmetic on your own logs.
|
|
67
|
+
Your plan: Max 20x (change with: orc config set budget_plan <plan>)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
ORC · budget · TOKENS (p50 → p90)
|
|
72
|
+
|
|
73
|
+
band model / count input cache-w cache-r output
|
|
74
|
+
────────────────────────────────────────────────────────────────────────────
|
|
75
|
+
[0,30) ×2 haiku-4-5 1.2k 6.4k 11.8k 0.9k
|
|
76
|
+
[30,40) ×1 sonnet-4-6-med 2.1k 14.0k 28.4k 2.2k
|
|
77
|
+
[40,55) ×3 sonnet-4-6-high 7.8k 52.1k 104.0k 8.4k
|
|
78
|
+
[55,65) ×2 sonnet-5-high 6.9k 48.3k 96.7k 9.1k
|
|
79
|
+
[65,70) ×1 opus-4-7-med 4.4k 31.0k 62.5k 6.8k
|
|
80
|
+
[70,80) ×1 opus-4-7-high 5.7k 40.2k 81.0k 9.3k
|
|
81
|
+
[80,90) ×1 opus-4-8-high 7.1k 49.8k 101.4k 12.0k
|
|
82
|
+
[90,100] ×1 opus-5-high 8.0k 56.0k 114.0k 14.2k
|
|
83
|
+
fixed roles analyst · planner · reviewer · verifier · trace writer
|
|
84
|
+
18.2k 121.0k 248.0k 26.4k
|
|
85
|
+
────────────────────────────────────────────────────────────────────────────
|
|
86
|
+
TOTAL p50 61.4k 418.8k 847.8k 89.3k
|
|
87
|
+
TOTAL p90 93.0k 632.0k 1,318.0k 140.0k
|
|
88
|
+
|
|
89
|
+
raw total p50 1.42M tokens p90 2.18M
|
|
90
|
+
weighted total p50 652k-equivalent p90 1.01M
|
|
91
|
+
(cache-read counted at 0.1×)
|
|
92
|
+
|
|
93
|
+
server tools 3 web searches · 1 web fetch
|
|
94
|
+
|
|
95
|
+
ORC · budget · the other views
|
|
96
|
+
|
|
97
|
+
QUOTA 21% → 32% of a 5-hour window on Max 20x
|
|
98
|
+
4.7% → 7.3% of the weekly limit
|
|
99
|
+
USD $6.76 → $10.50 price table 2026-08-01, 9 days old ✓
|
|
100
|
+
TIME 18 → 31 min
|
|
101
|
+
|
|
102
|
+
ORC · budget · CONTEXT RISK — 1 of 12 tasks
|
|
103
|
+
|
|
104
|
+
T12 backfill 1.4M rows opus-5-high est. peak 189k / 200k 95% ⚠
|
|
105
|
+
what is in the slice:
|
|
106
|
+
3 wiki docs 58k ← orc-reference-config.md used 2/20
|
|
107
|
+
code pattern (typescript) 11k
|
|
108
|
+
6 declared files 74k
|
|
109
|
+
plan + contracts 31k
|
|
110
|
+
pact + boundary cards 4k
|
|
111
|
+
headroom for the work 11k
|
|
112
|
+
This task will probably compact. Compaction is silent and it lowers
|
|
113
|
+
quality. Three options:
|
|
114
|
+
· split T12 into two tasks
|
|
115
|
+
· drop orc-reference-config.md from the slice (used 2 of 20 runs)
|
|
116
|
+
· raise the band so a larger-window model takes it
|
|
117
|
+
|
|
118
|
+
Other 11 tasks: highest is T09 at 142k / 200k (71%). Fine.
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
ORC · budget · the same plan, on other lanes
|
|
123
|
+
|
|
124
|
+
lane raw tok weighted quota (Max 20x) usd p50 time note
|
|
125
|
+
──────────────────────────────────────────────────────────────────────────────
|
|
126
|
+
/orc-ultra 2.78M 1.24M 41% of window $14.20 34–58m 4 judge gates
|
|
127
|
+
/orc 1.42M 652k 21% of window $6.76 18–31m ← recommended
|
|
128
|
+
/orc-mini 0.47M 216k 7% of window $2.10 9–15m no review, no verify
|
|
129
|
+
/orc-fast not possible 1 REFUSE, 3 ESCALATE
|
|
130
|
+
/orc-quick 0.29M 133k 4% per request $1.30 per req you drive it
|
|
131
|
+
|
|
132
|
+
From /orc-boundary: T12 is REFUSE. With boundary_gate: block it is never
|
|
133
|
+
dispatched, and /orc drops to 1.23M raw / 564k weighted / 18% / $5.31.
|
|
134
|
+
That also removes the only context-risk task.
|
|
135
|
+
|
|
136
|
+
My reading, not a decision:
|
|
137
|
+
3 tasks over score 70 and it touches money. /orc-mini would skip review
|
|
138
|
+
on the Stripe call. I would not recommend that here.
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
ORC · budget · how sure am I
|
|
143
|
+
|
|
144
|
+
band past dispatches confidence
|
|
145
|
+
─────────────────────────────────────────────
|
|
146
|
+
[0,30) 41 good
|
|
147
|
+
[30,40) 27 good
|
|
148
|
+
[40,55) 38 good
|
|
149
|
+
[55,65) 31 good
|
|
150
|
+
[65,70) 14 fair
|
|
151
|
+
[70,80) 9 fair
|
|
152
|
+
[80,90) 4 LOW — insufficient history
|
|
153
|
+
[90,100] 2 LOW — insufficient history
|
|
154
|
+
|
|
155
|
+
Two bands have very little history. Their p90 is shaped by the band next
|
|
156
|
+
to them, not measured. Treat the top of the range as soft.
|
|
157
|
+
|
|
158
|
+
Cache-read has its own range and it is the widest part of the forecast —
|
|
159
|
+
it depends on how much of your repo is already warm. Do not budget on the
|
|
160
|
+
raw total; budget on the weighted one.
|
|
161
|
+
|
|
162
|
+
5 dispatches (2.6%) could not be joined to a task. They are counted in an
|
|
163
|
+
`unattributed` bucket, never dropped.
|
|
164
|
+
|
|
165
|
+
This gets better on its own. Every run sharpens the next forecast.
|
|
166
|
+
|
|
167
|
+
Wrote: orc-budget/partial-refunds/forecast.md
|
|
168
|
+
Trace: run-budget-partial-refunds-100826-163310.txt
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## 3. Where the numbers come from
|
|
174
|
+
|
|
175
|
+
This part is real, not hand-waved. It was checked on a live machine.
|
|
176
|
+
|
|
177
|
+
Claude Code writes one JSONL transcript per session at
|
|
178
|
+
`~/.claude/projects/<project-slug>/*.jsonl`. Every assistant message carries:
|
|
179
|
+
|
|
180
|
+
```json
|
|
181
|
+
"usage": {
|
|
182
|
+
"input_tokens": 2,
|
|
183
|
+
"cache_creation_input_tokens": 44439,
|
|
184
|
+
"cache_read_input_tokens": 18432,
|
|
185
|
+
"output_tokens": 582,
|
|
186
|
+
"server_tool_use": { "web_search_requests": 0, "web_fetch_requests": 0 }
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
and the line also carries `model`, `effort`, `timestamp`, `requestId`, `cwd`,
|
|
191
|
+
`sessionId`, and **`isSidechain`** — which is how a subagent dispatch is told
|
|
192
|
+
apart from the main conversation.
|
|
193
|
+
|
|
194
|
+
**The join is the part nobody else has:**
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
transcript → isSidechain block · model · effort · 4 token counts · timestamp
|
|
198
|
+
ORC trace → DISPATCH: task id, score, band, expect=<model>/<effort>,
|
|
199
|
+
wiki: continuation · RETURN: actual_model, actual_effort
|
|
200
|
+
join key → cwd + run time window + sidechain grouping + model/effort
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
The transcript gives the **cost**. The ORC trace gives the **meaning** — which
|
|
204
|
+
task, which band, whether it was requeued, whether the slice carried wiki
|
|
205
|
+
material. Neither is enough alone. Community spend tools have the left column
|
|
206
|
+
only, which is why they can total your month but cannot price your plan.
|
|
207
|
+
|
|
208
|
+
**Honesty rules for the data path:**
|
|
209
|
+
|
|
210
|
+
- **No transcripts found** → forecast in **tokens only, from ORC trace
|
|
211
|
+
metadata**, and print *"dollars and quota unavailable: no local usage data"*.
|
|
212
|
+
Never invent a price.
|
|
213
|
+
- **A sidechain block that cannot be joined** goes to `unattributed`, always
|
|
214
|
+
printed, never silently dropped.
|
|
215
|
+
- **Cache reads get their own p50/p90**, never a share of a blended number.
|
|
216
|
+
- **The price table is dated.** Older than 90 days → a staleness warning next to
|
|
217
|
+
every dollar figure.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## 4. The run — actual, after the build
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
$ orc budget actual run-orc-partial-refunds-100826-171450
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
BUDGET · actual vs forecast · run-orc-partial-refunds-100826-171450
|
|
229
|
+
|
|
230
|
+
band forecast p50 (weighted) actual diff note
|
|
231
|
+
────────────────────────────────────────────────────────────────────────
|
|
232
|
+
[0,30) 9k 9k on target
|
|
233
|
+
[30,40) 21k 20k -5%
|
|
234
|
+
[40,55) 92k 79k -14%
|
|
235
|
+
[55,65) 86k 121k +41% T08 2 repair rounds
|
|
236
|
+
[65,70) 57k 54k -6%
|
|
237
|
+
[70,80) 74k 186k +151% T04 requeued twice
|
|
238
|
+
[80,90) 96k 101k +5%
|
|
239
|
+
[90,100] — — not run T12 blocked
|
|
240
|
+
fixed roles 178k 187k +5%
|
|
241
|
+
────────────────────────────────────────────────────────────────────────
|
|
242
|
+
forecast 564k weighted · 1.23M raw · 18% window · $5.31
|
|
243
|
+
actual 757k weighted · 1.58M raw · 24% window · $6.66
|
|
244
|
+
over by +34% weighted, +28% raw — inside the p90 of 1.01M. Held.
|
|
245
|
+
|
|
246
|
+
cache-read share 74% forecast → 71% actual (cache behaved as expected)
|
|
247
|
+
output tokens +52% over forecast (repairs are output-heavy)
|
|
248
|
+
unattributed 2.1% — 12 sidechain blocks
|
|
249
|
+
wall time 16 min forecast → 21 min actual
|
|
250
|
+
|
|
251
|
+
What went wrong, for the record:
|
|
252
|
+
T04 (refund payout target) was requeued 2 times. It is the task
|
|
253
|
+
/orc-boundary marked ESCALATE because PACT-006 has no test. The
|
|
254
|
+
executor had nothing to check itself against, so it guessed, got
|
|
255
|
+
reviewed, and tried again. Every retry is almost pure output tokens,
|
|
256
|
+
which is why the money moved more than the raw count did.
|
|
257
|
+
|
|
258
|
+
Same finding from three angles. Cheap fix: write the test for PACT-006.
|
|
259
|
+
|
|
260
|
+
Fed to /orc-retro. Band [70,80) now has 10 samples.
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**Why both weighted and raw are reported:** raw is what fills a context window
|
|
264
|
+
and a rate limit. Weighted is what fills an invoice. They move differently — in
|
|
265
|
+
this run raw went +28% while weighted went +34%, because the extra work was
|
|
266
|
+
output-heavy. One number would have hidden whichever one was about to bite.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## 5. The file it made
|
|
271
|
+
|
|
272
|
+
### `orc-budget/partial-refunds/forecast.md`
|
|
273
|
+
|
|
274
|
+
````markdown
|
|
275
|
+
# Budget forecast — partial-refunds
|
|
276
|
+
|
|
277
|
+
Made 10-08-2026 16:33 at commit `c273793`.
|
|
278
|
+
Corpus: 31 ORC runs / 189 dispatches, joined to 47 usage transcripts.
|
|
279
|
+
Plan: Max 20x. Price table 2026-08-01.
|
|
280
|
+
|
|
281
|
+
## Headline
|
|
282
|
+
|
|
283
|
+
| Lane | raw tok | weighted | quota | usd p50 | time |
|
|
284
|
+
|---|---|---|---|---|---|
|
|
285
|
+
| `/orc-ultra` | 2.78M | 1.24M | 41% | $14.20 | 34–58 min |
|
|
286
|
+
| **`/orc`** | **1.42M** | **652k** | **21%** | **$6.76** | **18–31 min** |
|
|
287
|
+
| `/orc-mini` | 0.47M | 216k | 7% | $2.10 | 9–15 min |
|
|
288
|
+
| `/orc-fast` | not possible | | | | |
|
|
289
|
+
|
|
290
|
+
## Token split, p50, on /orc
|
|
291
|
+
|
|
292
|
+
| kind | tokens | share of raw | share of cost |
|
|
293
|
+
|---|---|---|---|
|
|
294
|
+
| input | 61k | 4% | 9% |
|
|
295
|
+
| cache write | 419k | 30% | 79% |
|
|
296
|
+
| cache read | 848k | 60% | 12% |
|
|
297
|
+
| output | 89k | 6% | — see note |
|
|
298
|
+
|
|
299
|
+
Note: output is 6% of the raw count and the single most expensive line per
|
|
300
|
+
token. A run that retries a lot moves the bill far more than it moves the
|
|
301
|
+
token count.
|
|
302
|
+
|
|
303
|
+
## Context risk
|
|
304
|
+
|
|
305
|
+
`T12` at 189k / 200k (95%) — likely to compact.
|
|
306
|
+
Largest slice item: 3 wiki docs at 58k, one of which (`orc-reference-config.md`)
|
|
307
|
+
was used in 2 of the last 20 runs.
|
|
308
|
+
|
|
309
|
+
## Confidence
|
|
310
|
+
|
|
311
|
+
Bands `[80,90)` and `[90,100]` have fewer than 5 samples. Their p90 is derived,
|
|
312
|
+
not measured. `unattributed` = 2.6%.
|
|
313
|
+
|
|
314
|
+
## Assumptions
|
|
315
|
+
|
|
316
|
+
- No repair rounds assumed. Each repair round adds roughly 40% of that task's
|
|
317
|
+
weighted cost, and far more of its output tokens.
|
|
318
|
+
- Wall time assumes waves run in parallel at `max_parallel: 3`.
|
|
319
|
+
- Cache-read assumes a warm repo. A cold first run of the day runs higher.
|
|
320
|
+
````
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## 6. The CLI part
|
|
325
|
+
|
|
326
|
+
```
|
|
327
|
+
$ orc budget forecast plan.md --as quota
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
BUDGET · /orc · Max 20x
|
|
332
|
+
|
|
333
|
+
21% → 32% of a 5-hour window
|
|
334
|
+
4.7% → 7.3% of the weekly limit
|
|
335
|
+
|
|
336
|
+
You have used 38% of this window already. This run would take you to
|
|
337
|
+
about 59%, or 70% at p90.
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
```
|
|
341
|
+
$ orc budget forecast plan.md --json
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
```json
|
|
345
|
+
{
|
|
346
|
+
"plan": "plan.md",
|
|
347
|
+
"tasks": 12, "waves": 4,
|
|
348
|
+
"corpus": { "runs": 31, "dispatches": 189, "joined": 184, "unattributed_pct": 2.6 },
|
|
349
|
+
"budget_plan": "max20",
|
|
350
|
+
"price_table_version": "2026-08-01",
|
|
351
|
+
"price_table_age_days": 9,
|
|
352
|
+
"lanes": [
|
|
353
|
+
{
|
|
354
|
+
"lane": "orc",
|
|
355
|
+
"possible": true,
|
|
356
|
+
"tokens": {
|
|
357
|
+
"p50": { "input": 61400, "cache_write": 418800, "cache_read": 847800, "output": 89300 },
|
|
358
|
+
"p90": { "input": 93000, "cache_write": 632000, "cache_read": 1318000, "output": 140000 }
|
|
359
|
+
},
|
|
360
|
+
"raw_total": { "p50": 1417300, "p90": 2183000 },
|
|
361
|
+
"weighted_total": { "p50": 652000, "p90": 1010000 },
|
|
362
|
+
"server_tool_use": { "web_search_requests": 3, "web_fetch_requests": 1 },
|
|
363
|
+
"usd": { "p50": 6.76, "p90": 10.50 },
|
|
364
|
+
"quota": { "session_pct": { "p50": 21, "p90": 32 }, "weekly_pct": { "p50": 4.7, "p90": 7.3 } },
|
|
365
|
+
"wall_minutes": { "p50": 18, "p90": 31 }
|
|
366
|
+
},
|
|
367
|
+
{ "lane": "orc-fast", "possible": false, "blocked_by": "boundary: 1 refuse, 3 escalate" }
|
|
368
|
+
],
|
|
369
|
+
"context_risk": [
|
|
370
|
+
{
|
|
371
|
+
"task": "T12", "model": "claude-opus-5",
|
|
372
|
+
"est_peak_tokens": 189000, "window": 200000, "pct": 95,
|
|
373
|
+
"slice": { "wiki_docs": 58000, "pattern": 11000, "declared_files": 74000,
|
|
374
|
+
"plan_contracts": 31000, "pact_boundary": 4000 },
|
|
375
|
+
"options": ["split the task", "drop orc-reference-config.md (used 2/20)", "raise the band"]
|
|
376
|
+
}
|
|
377
|
+
],
|
|
378
|
+
"bands": [
|
|
379
|
+
{ "band": "[80,90)", "samples": 4, "confidence": "low", "reason": "insufficient history" },
|
|
380
|
+
{ "band": "[90,100]", "samples": 2, "confidence": "low", "reason": "insufficient history" }
|
|
381
|
+
],
|
|
382
|
+
"exit": 2
|
|
383
|
+
}
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Exit `0` normal · `1` at least one band is low-confidence · `2` a task is at
|
|
387
|
+
context risk · `3` no history, no forecast possible.
|
|
388
|
+
|
|
389
|
+
**When there is no history:**
|
|
390
|
+
|
|
391
|
+
```
|
|
392
|
+
BUDGET · no forecast
|
|
393
|
+
|
|
394
|
+
0 past runs in .claude/orc/logs/ and no usable transcripts in
|
|
395
|
+
~/.claude/projects/.
|
|
396
|
+
|
|
397
|
+
I will not invent numbers.
|
|
398
|
+
Run /orc or /orc-mini once. After that I can forecast.
|
|
399
|
+
|
|
400
|
+
A floor from the public price table only, ignoring how your repo
|
|
401
|
+
actually behaves: orc budget forecast --naive
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
**When there are traces but no transcripts:**
|
|
405
|
+
|
|
406
|
+
```
|
|
407
|
+
BUDGET · tokens only
|
|
408
|
+
|
|
409
|
+
ORC traces found (31 runs). Usage transcripts not found.
|
|
410
|
+
I can forecast TOKENS from trace metadata. I cannot price them.
|
|
411
|
+
|
|
412
|
+
dollars : unavailable — no local usage data
|
|
413
|
+
quota : unavailable — no local usage data
|
|
414
|
+
|
|
415
|
+
raw total p50 1.42M tokens
|
|
416
|
+
⚠ this estimate is coarser than usual: without transcripts I cannot
|
|
417
|
+
separate cache reads, so the raw total is a band-average, not measured.
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
Exit still `0`. **This is the honesty rule in action** — a smaller answer, not a
|
|
421
|
+
fake one.
|
|
422
|
+
|
|
423
|
+
Two more commands:
|
|
424
|
+
|
|
425
|
+
```
|
|
426
|
+
$ orc budget rates
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
```
|
|
430
|
+
BAND RATES · from 189 dispatches
|
|
431
|
+
|
|
432
|
+
band n input cache-w cache-r output weighted p50
|
|
433
|
+
──────────────────────────────────────────────────────────────────────
|
|
434
|
+
[0,30) 41 0.6k 3.2k 5.9k 0.5k 4.4k
|
|
435
|
+
[40,55) 38 2.6k 17.4k 34.7k 2.8k 30.6k
|
|
436
|
+
[70,80) 9 5.7k 40.2k 81.0k 9.3k 74.0k fair
|
|
437
|
+
[90,100] 2 8.0k 56.0k 114.0k 14.2k 103.0k LOW
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
```
|
|
441
|
+
$ orc budget calibrate
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
Rebuilds the per-band model from transcripts + traces. Run it after a batch of
|
|
445
|
+
runs, or when the join rate drops.
|
|
446
|
+
|
|
447
|
+
---
|
|
448
|
+
|
|
449
|
+
## 7. Inside a normal `/orc` run
|
|
450
|
+
|
|
451
|
+
**At Phase 2 intake**, next to the batch pause confirmation:
|
|
452
|
+
|
|
453
|
+
```
|
|
454
|
+
Intake · confirm before we start
|
|
455
|
+
|
|
456
|
+
12 tasks · 4 waves · pause after every 2 waves
|
|
457
|
+
|
|
458
|
+
Forecast 1.42M raw / 652k weighted tokens
|
|
459
|
+
21% → 32% of your 5-hour window
|
|
460
|
+
$6.76 → $10.50 · 18 → 31 minutes
|
|
461
|
+
(from your own 31 runs; 2 bands have low confidence)
|
|
462
|
+
|
|
463
|
+
⚠ T12 is forecast at 95% of its context window and will probably compact.
|
|
464
|
+
|
|
465
|
+
Pause points are also budget points. At each pause I will tell you what
|
|
466
|
+
you have burned and what is left.
|
|
467
|
+
|
|
468
|
+
1 Start
|
|
469
|
+
2 Switch to /orc-mini (216k weighted · 7% of window · $2.10, no review)
|
|
470
|
+
3 Fix the context risk first
|
|
471
|
+
4 Change the plan
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
**At each batch pause:**
|
|
475
|
+
|
|
476
|
+
```
|
|
477
|
+
Pause after wave 2 of 4
|
|
478
|
+
|
|
479
|
+
Burned so far : 281k weighted · 9% of window (forecast to here 244k–390k)
|
|
480
|
+
Left to go : 240k → 420k weighted · 8–13% of window
|
|
481
|
+
Inside the forecast.
|
|
482
|
+
|
|
483
|
+
1 Continue 2 Stop here
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
**In `/orc-route`**, a unit-aware cost column:
|
|
487
|
+
|
|
488
|
+
```
|
|
489
|
+
Recommended lane: /orc
|
|
490
|
+
|
|
491
|
+
lane score weighted quota why
|
|
492
|
+
────────────────────────────────────────────────────────────────────────
|
|
493
|
+
/orc 88 652k 21% 3 tasks over 70, money code, needs review
|
|
494
|
+
/orc-mini 61 216k 7% cheaper, but skips review on the Stripe call
|
|
495
|
+
/orc-ultra 54 1.24M 41% more rigor than this plan needs
|
|
496
|
+
/orc-fast 0 — — not possible: 1 REFUSE task
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
Before this, routing was a feeling. Now it has a price **in the unit you are
|
|
500
|
+
billed in**.
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## 8. Why this is good for ORC
|
|
505
|
+
|
|
506
|
+
**It is the one thing only ORC can do.** Every competitor can count tokens after
|
|
507
|
+
the fact. Only ORC has per-task scores, per-band models, per-dispatch traces,
|
|
508
|
+
and a slice it composed itself — so only ORC can join a cost to a *meaning*.
|
|
509
|
+
This forecast is impossible without that.
|
|
510
|
+
|
|
511
|
+
**It speaks the user's actual currency.** Most Claude Code users are on Pro or
|
|
512
|
+
Max and do not pay per token. A quota view is the difference between a number
|
|
513
|
+
they ignore and a number they act on. No spend tool does per-plan quota
|
|
514
|
+
forecasting.
|
|
515
|
+
|
|
516
|
+
**Context risk is a new kind of answer.** Compaction is silent, it lowers
|
|
517
|
+
quality, and today nothing warns you before it happens. ORC can, because ORC
|
|
518
|
+
builds the slice. And the fix it suggests — *drop the wiki doc nobody uses* —
|
|
519
|
+
comes straight out of the wiki usage work.
|
|
520
|
+
|
|
521
|
+
**It makes `/orc-route` real.** "This lane costs 3× more and here is what you
|
|
522
|
+
get" is a far better sentence than "this lane is more thorough".
|
|
523
|
+
|
|
524
|
+
**It gets better by itself.** Every run adds samples. The lane starts weak and
|
|
525
|
+
says so, then sharpens. That is a good shape for a product: it rewards staying.
|
|
526
|
+
|
|
527
|
+
**It closes a loop with `/orc-retro`.** Forecast vs actual per band is exactly
|
|
528
|
+
the signal retro needs to tune the score→model table. Today retro sees that a
|
|
529
|
+
band retried a lot. Now it also sees that the band cost 151% more — and that
|
|
530
|
+
the overage was mostly *output* tokens, which points straight at retries rather
|
|
531
|
+
than at big context.
|
|
532
|
+
|
|
533
|
+
**It costs almost nothing to run.** Pure arithmetic in `bin/cli.js`. No model,
|
|
534
|
+
no tokens. And because it speaks `--json`, `orc ui` gets a Cost panel free.
|