@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,262 @@
|
|
|
1
|
+
# Mock run — the `/orc-challenge` council
|
|
2
|
+
|
|
3
|
+
> One reviewer sees one kind of problem. The council is six more ways of looking, and YOU choose which ones run.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. The problem with one reviewer
|
|
8
|
+
|
|
9
|
+
`/orc-challenge` already reads your finished document and tells you what is
|
|
10
|
+
wrong with it. But it reads it **one way**: *does this document do what a
|
|
11
|
+
document is supposed to do?*
|
|
12
|
+
|
|
13
|
+
That misses whole kinds of problem. Six of them, in fact — and each one is
|
|
14
|
+
missed for a different reason:
|
|
15
|
+
|
|
16
|
+
| The way of looking | The question it asks | What goes wrong without it |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| **The Contrarian** | where is the fatal flaw? | everyone assumes the document is fine and stops looking |
|
|
19
|
+
| **The First Principles Thinker** | are we even solving the right problem? | nobody questions the thing you asked for |
|
|
20
|
+
| **The Expansionist** | what is being undervalued here? | only the bad news gets counted |
|
|
21
|
+
| **The Outsider** | what does this assume I already know? | an expert cannot un-know things |
|
|
22
|
+
| **The Executor** | what do you actually do on Monday? | the theory is graded, the first step never is |
|
|
23
|
+
|
|
24
|
+
Plus **The Cold Reader**, which you already had: *can a stranger answer the
|
|
25
|
+
questions this document promised to answer?*
|
|
26
|
+
|
|
27
|
+
That is six. The seventh — **The Judge** — always runs, and it is the one that
|
|
28
|
+
decides what happens to everything the other six find.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 2. ORC suggests. You pick.
|
|
33
|
+
|
|
34
|
+
This is the part that matters, and it is the one rule the whole design is built
|
|
35
|
+
around:
|
|
36
|
+
|
|
37
|
+
> **ORC suggests a council. You choose it. ORC never chooses for you.**
|
|
38
|
+
|
|
39
|
+
Choosing the council is choosing **which kinds of criticism you are allowed to
|
|
40
|
+
hear**. That is a bigger decision than any single thing the review will find, so
|
|
41
|
+
ORC will not make it for you. If you do not answer, the command refuses:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
❌ --council is required and has no default. ORC SUGGESTS a roster (from the kind
|
|
45
|
+
and the goal); the user PICKS it.
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
When you open a cycle, question 7 looks like this:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
7 Who is on the council for this review? (judge always runs; advisor runs on a fail)
|
|
52
|
+
|
|
53
|
+
ORC suggests, for a TSD aimed at implementers:
|
|
54
|
+
[x] cold reader can a stranger answer this document's own questions?
|
|
55
|
+
[x] contrarian assume it has a fatal flaw, then go find it
|
|
56
|
+
[x] executor can this be started on Monday? where is the first step?
|
|
57
|
+
[ ] outsider what does this assume you already know?
|
|
58
|
+
[ ] principles is this even the right problem? (never blocks)
|
|
59
|
+
[ ] expansionist what upside is being missed? (never blocks)
|
|
60
|
+
|
|
61
|
+
Reply with the ones you want (or "all", or "none").
|
|
62
|
+
Each one is one extra read-only Opus 5 dispatch per iteration.
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Three things about that block:
|
|
66
|
+
|
|
67
|
+
- **The suggestion is worked out from what you told it** — the kind of document
|
|
68
|
+
and what it is for. That is a fact, so ORC is allowed to work it out.
|
|
69
|
+
- **The cost is in dispatches, never in money.** ORC will not put a dollar figure
|
|
70
|
+
on anything it has not priced from a real, dated price table.
|
|
71
|
+
- **"none" is a real answer.** It gives you exactly the review you had before,
|
|
72
|
+
and nothing is lost by saying it.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 3. Two of them never block anything
|
|
77
|
+
|
|
78
|
+
Four of the six find **problems**. Two of them cannot, and pretending otherwise
|
|
79
|
+
would make them lie.
|
|
80
|
+
|
|
81
|
+
### The Expansionist finds upside, not defects
|
|
82
|
+
|
|
83
|
+
Its whole job is *"what is this worth that nobody is counting?"* — which, by
|
|
84
|
+
definition, is **not** something you asked for. So it cannot report a problem
|
|
85
|
+
against your goal, because there is no goal to report it against.
|
|
86
|
+
|
|
87
|
+
It writes **opportunities** instead. An opportunity has no severity, never
|
|
88
|
+
blocks a pass, and always comes with a first step:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
OPPORTUNITIES — not work, nothing here blocks
|
|
92
|
+
|
|
93
|
+
X-001 the retry table would work for every write in the service, not just this one
|
|
94
|
+
first step: list the four existing retry rules side by side
|
|
95
|
+
route: /orc-brainstorm
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
You keep it or you let it go, and either way you say why. An idea that quietly
|
|
99
|
+
disappears looks exactly like an idea nobody ever had.
|
|
100
|
+
|
|
101
|
+
### The First Principles Thinker questions your goal
|
|
102
|
+
|
|
103
|
+
It is the only one allowed to say **the goal is wrong**. And that is exactly why
|
|
104
|
+
it cannot report a problem: a problem is measured *against* the goal, and this
|
|
105
|
+
one is arguing about the goal itself. Those cannot be the same thing.
|
|
106
|
+
|
|
107
|
+
It writes a **premise challenge**, and when there is one, it is the first thing
|
|
108
|
+
you read:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
OPEN PREMISE CHALLENGE — read this before the findings
|
|
112
|
+
|
|
113
|
+
Q-001 disputes: goal
|
|
114
|
+
|
|
115
|
+
Reframe: the real job here is not "describe self-serve signup"; it is
|
|
116
|
+
"decide whether signup is self-serve at all". Three sections answer the
|
|
117
|
+
second question as if the first were already settled.
|
|
118
|
+
|
|
119
|
+
Cheapest test: ask the growth lead whether the decision has been taken.
|
|
120
|
+
One message. No rewrite.
|
|
121
|
+
|
|
122
|
+
Neither answer is automatic and ORC never picks:
|
|
123
|
+
agree orc challenge goals <slug> --set <path> --reason "…"
|
|
124
|
+
disagree orc challenge premise <slug> Q-001 --dismiss --reason "…"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Only a person can settle this.** If you agree, you write a new goal and the
|
|
128
|
+
review starts measuring against that instead. If you disagree, you say why — and
|
|
129
|
+
your reason stays in the report forever.
|
|
130
|
+
|
|
131
|
+
The Judge never sees this report. Handing a judge a document arguing that the
|
|
132
|
+
goal is wrong would bend every single thing it says afterwards.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 4. What stops six reviewers from being a waste of money
|
|
137
|
+
|
|
138
|
+
The obvious way this goes wrong: six reviewers run, the Judge quietly ignores
|
|
139
|
+
four of them, and the review looks exactly the same as before while costing five
|
|
140
|
+
times more.
|
|
141
|
+
|
|
142
|
+
So the CLI **reads what each reviewer wrote, from disk**, and demands that the
|
|
143
|
+
Judge account for every single thing they raised:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
❌ malformed verdict — council coverage is below 100% — every id the council
|
|
147
|
+
raised needs exactly ONE disposition (adopted | merged | rejected |
|
|
148
|
+
out-of-goal). Missing: O-003
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
The Judge cannot make the list shorter by leaving something out, because the
|
|
152
|
+
list was never the Judge's to write.
|
|
153
|
+
|
|
154
|
+
Four possible answers, and three of them need a reason:
|
|
155
|
+
|
|
156
|
+
| Answer | Means |
|
|
157
|
+
|---|---|
|
|
158
|
+
| `adopted` | agreed — it becomes a real finding |
|
|
159
|
+
| `merged` | the same problem as another finding (and it must say which) |
|
|
160
|
+
| `rejected` | read it, disagreed — **and says why** |
|
|
161
|
+
| `out-of-goal` | real, but nothing you asked for covers it — **and says why**. Reported, never quietly dropped |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 5. Whoever found it, keeps the credit
|
|
166
|
+
|
|
167
|
+
When the Judge agrees with something the Contrarian found, it stays `C-004`.
|
|
168
|
+
Forever — in this review, in the report, and in iteration nine.
|
|
169
|
+
|
|
170
|
+
That is not tidiness. It is the only way you ever find out whether a reviewer is
|
|
171
|
+
worth what it costs:
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
RAN reader raised 3 · adopted 2 · merged 1 · rejected 0
|
|
175
|
+
RAN contrarian raised 6 · adopted 4 · merged 1 · rejected 1
|
|
176
|
+
RAN outsider raised 3 · adopted 1 · merged 2 · rejected 0
|
|
177
|
+
RAN executor raised 2 · adopted 2 · merged 0 · rejected 0
|
|
178
|
+
NOT-RUN principles usage limit reached mid-batch
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
After two rounds you can see plainly that the Contrarian found four of the six
|
|
182
|
+
things that mattered, and that one reviewer has never landed anything. Drop it.
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## 6. A reviewer that did not run is never silent
|
|
187
|
+
|
|
188
|
+
Look at that last line again. `principles` did not run, and it says so, with the
|
|
189
|
+
reason.
|
|
190
|
+
|
|
191
|
+
If a reviewer you chose simply vanished from the report, "it found nothing" and
|
|
192
|
+
"it never ran" would look identical — and one of those means you should relax
|
|
193
|
+
and the other means you should look again. So a reviewer that was selected and
|
|
194
|
+
did not run is **rejected as malformed** unless it says why:
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
❌ malformed verdict — executor is on the roster but returned neither a report
|
|
198
|
+
nor an explicit { "lens": "executor", "ran": false, "reason": "…" }.
|
|
199
|
+
A selected role is never silently absent.
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 7. What you actually do Monday morning
|
|
205
|
+
|
|
206
|
+
The Executor writes one thing that nobody else does — the literal first three
|
|
207
|
+
things an implementer would do with your document today:
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
What you would actually do first
|
|
211
|
+
|
|
212
|
+
1. open docs/tsd-payments.md §4.2 and write the retry window in seconds
|
|
213
|
+
2. ask the payments lead which queue the dead letters go to
|
|
214
|
+
3. — stops here. The document never names the queue.
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**That third line is the useful one.** It does not pretend. If the list cannot be
|
|
218
|
+
finished, it says exactly where it stops and why — and that sentence is usually
|
|
219
|
+
the clearest thing in the whole review for somebody who does not read code.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## 8. You can change your mind
|
|
224
|
+
|
|
225
|
+
The council is frozen per review, like the goal and the template. Changing it is
|
|
226
|
+
a recorded decision with a reason:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
orc challenge council my-tsd --set contrarian,executor \
|
|
230
|
+
--reason "the framing question is settled; what is left is completeness"
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
The timeline draws a line at that point, because a round judged by three
|
|
234
|
+
reviewers and a round judged by six are not comparable.
|
|
235
|
+
|
|
236
|
+
**Anything still open stays open.** The Judge answers every carried finding
|
|
237
|
+
whatever found it — it re-reads your document from disk every time, so it never
|
|
238
|
+
needed the original reviewer. You can change the council freely and lose
|
|
239
|
+
nothing.
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 9. What this never does
|
|
244
|
+
|
|
245
|
+
- **It never picks the council for you.**
|
|
246
|
+
- **It never lets an opportunity or a premise block a pass.** Neither has a
|
|
247
|
+
severity, and neither ever will.
|
|
248
|
+
- **It never bumps a severity because two reviewers agreed.** Agreement is a
|
|
249
|
+
signal worth showing you. It is not a verdict.
|
|
250
|
+
- **It never fixes anything.** Same as before: ORC judges, you fix somewhere
|
|
251
|
+
else, ORC judges again.
|
|
252
|
+
- **It never quietly leaves a reviewer out.**
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## 10. What it costs
|
|
257
|
+
|
|
258
|
+
One extra read-only dispatch per reviewer, per round. That is it.
|
|
259
|
+
|
|
260
|
+
The suggestion defaults to three, `none` is free and gives you the old review
|
|
261
|
+
exactly, and the per-reviewer numbers in section 5 tell you within two rounds
|
|
262
|
+
which ones to keep.
|
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
# Mock run — `/orc-challenge`
|
|
2
|
+
|
|
3
|
+
> ORC grades your finished document, then stops and makes you fix it somewhere else.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. What it does
|
|
8
|
+
|
|
9
|
+
Every other ORC lane **makes** something. This one does not.
|
|
10
|
+
|
|
11
|
+
It reads a finished thing — a design document, a README, a runbook, a module of
|
|
12
|
+
code — and tells you what is wrong with it. Then it **stops**. You go and fix the
|
|
13
|
+
thing in a **new chat**. Then you come back and it grades it again.
|
|
14
|
+
|
|
15
|
+
> **ORC judges. You fix. ORC judges again. ORC never fixes what it judged.**
|
|
16
|
+
|
|
17
|
+
That sounds like extra work. It is the whole point.
|
|
18
|
+
|
|
19
|
+
If the same chat writes the fix, that chat will also mark it as fixed. It will
|
|
20
|
+
always say the work is good, because it just did the work. Keeping the two apart
|
|
21
|
+
is the only way the score means anything.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 2. It never guesses what "good" means
|
|
26
|
+
|
|
27
|
+
A document can be finished for one purpose and nowhere near done for another.
|
|
28
|
+
|
|
29
|
+
| Your real goal | What ORC should attack |
|
|
30
|
+
|---|---|
|
|
31
|
+
| "a backend team must build this without asking me anything" | every open question, every `TBD` |
|
|
32
|
+
| "this goes to a review board on Tuesday" | missing sections, things that contradict each other |
|
|
33
|
+
| "our team abroad must read it cold" | idioms, long sentences, words nobody explained |
|
|
34
|
+
| "did I forget anything obvious?" | gaps, not wording |
|
|
35
|
+
|
|
36
|
+
So ORC asks you first. It does not pick one for you.
|
|
37
|
+
|
|
38
|
+
If it guessed, every problem it found would still *sound* right — and you would
|
|
39
|
+
spend three rounds fixing things that did not matter. That is worse than being
|
|
40
|
+
obviously wrong.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 3. Session 1 — you start
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
> /orc-challenge docs/tsd-payments.md
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
ORC asks six questions, all at once:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
Before I can judge this, I need to know what "good" means for it.
|
|
54
|
+
Six questions, one round:
|
|
55
|
+
|
|
56
|
+
1 What must this document achieve?
|
|
57
|
+
2 Who reads it, and what do they already know?
|
|
58
|
+
3 What would you accept as finished?
|
|
59
|
+
4 Do you have a template it should follow? Paste it, or give me a path.
|
|
60
|
+
5 Anything deliberately OUT of scope?
|
|
61
|
+
6 When you fix it, where will the fixed version go?
|
|
62
|
+
a over the same file b docs/<name>-v2.md c a folder
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
You type: **"just tell me if it's good"**.
|
|
66
|
+
|
|
67
|
+
ORC does **not** start:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
That is not enough for me to judge it, and guessing would be worse than useless.
|
|
71
|
+
|
|
72
|
+
Which of these is closest?
|
|
73
|
+
|
|
74
|
+
a a backend team must implement it without asking me anything
|
|
75
|
+
b it has to survive Tuesday's architecture review board
|
|
76
|
+
c our offshore team, several non-native English readers, must read it cold
|
|
77
|
+
d I just want to know if I forgot anything obvious
|
|
78
|
+
e your own words
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
You pick **a**, say who reads it, paste your team's template, and say the fixed
|
|
82
|
+
version goes to `docs/tsd-payments-v2.md`.
|
|
83
|
+
|
|
84
|
+
ORC saves your answers to a file and **freezes them**. From now on every round is
|
|
85
|
+
judged against the same goal — otherwise the history would mean nothing.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 4. Still session 1 — the three checks
|
|
90
|
+
|
|
91
|
+
### Check 1 — the free one
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
13 findings · 5 sentences · p50 8w / p90 43w · passive 40% · grade 8.1
|
|
95
|
+
template: 4/5 required sections present, missing 1
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
This costs **nothing**. No AI ran. A small program counted the things a program
|
|
99
|
+
can count: missing sections, one 43-word sentence, short words, `TBD`, links that
|
|
100
|
+
go nowhere, words nobody explained.
|
|
101
|
+
|
|
102
|
+
ORC says out loud what this is: **a signal, not a verdict.** A long sentence is
|
|
103
|
+
not automatically bad. It just hands the numbers to the judge so the judge does
|
|
104
|
+
not spend money counting.
|
|
105
|
+
|
|
106
|
+
### Check 2 — the cold reader
|
|
107
|
+
|
|
108
|
+
ORC sends the document to an agent that **can only read that one file**. No
|
|
109
|
+
search. No repo. No chat history. It does not even know what the document is for.
|
|
110
|
+
|
|
111
|
+
Its job is not to review. Its job is to **answer questions from the document**.
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
It asked itself 12 questions.
|
|
115
|
+
8 it could answer from the document
|
|
116
|
+
3 it had to guess
|
|
117
|
+
1 it could not answer at all
|
|
118
|
+
|
|
119
|
+
Words used before anyone explained them: "idempotency window", "SoR", "cutover"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**8 out of 12.** That is what "someone new can follow this" actually means, as a
|
|
123
|
+
number.
|
|
124
|
+
|
|
125
|
+
Why an agent that thinks *less*? Because a clever reader fills in the gaps
|
|
126
|
+
without noticing. You want a reader that stops when the document stops.
|
|
127
|
+
|
|
128
|
+
### Check 3 — the judge
|
|
129
|
+
|
|
130
|
+
Now a strong agent reads the document properly, with your frozen template and
|
|
131
|
+
your frozen goal.
|
|
132
|
+
|
|
133
|
+
It gets **file paths only** — never a summary of what changed, never "the user
|
|
134
|
+
says they fixed this". A summary is where bias gets in.
|
|
135
|
+
|
|
136
|
+
It finds problems like this one:
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
F-001 · P0 · docs/tsd-payments.md:118
|
|
140
|
+
|
|
141
|
+
"the idempotency window is applied appropriately"
|
|
142
|
+
|
|
143
|
+
What is wrong: the window is never given a value anywhere.
|
|
144
|
+
What it costs: two teams building from this will pick different values,
|
|
145
|
+
and you find out in production.
|
|
146
|
+
Fixed when: §4.2 names the window in seconds and the dead-letter target.
|
|
147
|
+
Serves: done_means
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Three things matter here:
|
|
151
|
+
|
|
152
|
+
- **"What it costs"** — not "this is unclear", but what somebody builds wrong.
|
|
153
|
+
- **"Fixed when"** — so you are never guessing what done looks like.
|
|
154
|
+
- **"Serves"** — which of YOUR goals this helps. A problem it cannot tie back to
|
|
155
|
+
your goal gets **thrown away**.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 5. The result — and ORC does not decide it
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
iteration 1: FAIL — 4 blocking findings, coverage 100%
|
|
163
|
+
1 finding dropped for having no `serves` (out of scope of the stated goal).
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
The judge does not say pass or fail. It only lists problems. A small program
|
|
167
|
+
counts them and decides.
|
|
168
|
+
|
|
169
|
+
That is on purpose. **A judge that can pass something can be talked into passing
|
|
170
|
+
something.** A judge that can only find things cannot.
|
|
171
|
+
|
|
172
|
+
The dropped one was about the mobile app — which you said was out of scope. You
|
|
173
|
+
did not have to trust the judge to remember. The rule is in the program.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 6. ORC stops
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
Fix brief written: orc/orc-challenge/tsd-payments/fix-brief-01.md
|
|
181
|
+
|
|
182
|
+
Paste this into a NEW Claude Code session:
|
|
183
|
+
|
|
184
|
+
Fix the findings in orc/orc-challenge/tsd-payments/fix-brief-01.md.
|
|
185
|
+
|
|
186
|
+
Artifact: docs/tsd-payments.md
|
|
187
|
+
Goal: orc/orc-challenge/tsd-payments/goals.md (read this first)
|
|
188
|
+
|
|
189
|
+
Write the revised version to: docs/tsd-payments-v2.md
|
|
190
|
+
|
|
191
|
+
Rules:
|
|
192
|
+
- Change the document only. Do not edit anything under orc/orc-challenge/.
|
|
193
|
+
- Do not mark findings resolved. The next judgement decides that.
|
|
194
|
+
- If you think a finding is wrong, do not argue with it here —
|
|
195
|
+
run: orc challenge rebut tsd-payments F-007 "why"
|
|
196
|
+
|
|
197
|
+
When you are done, start ANOTHER new session and run:
|
|
198
|
+
/orc-challenge tsd-payments
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
And it **ends the turn**. It does not ask "would you like me to fix these?"
|
|
202
|
+
|
|
203
|
+
Offering would break the rule politely, which is still breaking it.
|
|
204
|
+
|
|
205
|
+
The brief also groups the problems. Twelve findings are usually three causes:
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
Group 1 — the glossary fixes F-004 F-009 F-011 F-012 F-015 F-018
|
|
209
|
+
Root cause: three terms are never defined, and six findings come from that.
|
|
210
|
+
Do this first: six findings disappear when you define the terms once.
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## 7. Session 2 — the fix session
|
|
216
|
+
|
|
217
|
+
A **new chat**. It reads the brief. It edits `docs/tsd-payments-v2.md`. It stops.
|
|
218
|
+
|
|
219
|
+
It does not run `/orc-challenge`. **This is the important part.**
|
|
220
|
+
|
|
221
|
+
One thing it may do: if a finding looks wrong, say so on the record.
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
$ orc challenge rebut tsd-payments F-004 "the phrasal verbs are quoted from JIRA-4412"
|
|
225
|
+
|
|
226
|
+
✓ F-004 rebutted. The next judgement MUST answer it explicitly — withdrawn (with
|
|
227
|
+
an admission) or upheld (with new evidence).
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Without this, one wrong finding would loop forever and your only move would be to
|
|
231
|
+
give up.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## 8. Session 3 — round two
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
> /orc-challenge tsd-payments
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
ORC opens with what actually changed:
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
expected revision: docs/tsd-payments-v2.md FOUND (6fd76797 → f475e8e4, +24 −0)
|
|
245
|
+
carried findings: 5 · 5 touched · 0 untouched
|
|
246
|
+
|
|
247
|
+
touched/untouched is a hint for you. The judge re-reads the document either way.
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
It knew where to look because you said so in session 1. **It never asks you where
|
|
251
|
+
you put the fixed version.**
|
|
252
|
+
|
|
253
|
+
If the file is not there:
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
expected revision: docs/tsd-payments-v2.md MISSING
|
|
257
|
+
|
|
258
|
+
Candidates changed since iteration 1:
|
|
259
|
+
1 docs/tsd-payments-v2.draft.md +51 −12
|
|
260
|
+
2 docs/tsd-payments.md +4 −0
|
|
261
|
+
|
|
262
|
+
Which of these is the revision — or is the work not done yet?
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
It **lists**. It does not pick. A judge pointed at the wrong file writes a page of
|
|
266
|
+
confident, useless findings.
|
|
267
|
+
|
|
268
|
+
### Nothing is allowed to disappear
|
|
269
|
+
|
|
270
|
+
Every problem from last time must get an answer this time:
|
|
271
|
+
|
|
272
|
+
| Answer | Meaning |
|
|
273
|
+
|---|---|
|
|
274
|
+
| `resolved` | the judge looked again and it is gone |
|
|
275
|
+
| `still-open` | not fixed, or fixed wrongly |
|
|
276
|
+
| `superseded` | the document moved; a new finding replaces it |
|
|
277
|
+
| `withdrawn` | the judge now agrees it was not a problem |
|
|
278
|
+
|
|
279
|
+
If the judge forgets one:
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
❌ malformed verdict — coverage is 20% — every finding carried in must get
|
|
283
|
+
exactly ONE outcome. Missing: F-002, F-003, F-004, F-005
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
If it ignores your rebuttal:
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
❌ malformed verdict — these rebuttals were not addressed: F-004
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
If it quietly skips a check:
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
❌ malformed verdict — dimension D5 is selected but reported nothing.
|
|
296
|
+
NOT-CHECKED with a reason is allowed; silence is not.
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
A problem that quietly vanishes looks exactly like a problem that got fixed. That
|
|
300
|
+
is how review cycles pretend to succeed.
|
|
301
|
+
|
|
302
|
+
Round two:
|
|
303
|
+
|
|
304
|
+
```
|
|
305
|
+
iteration 2: FAIL — 1 blocking finding, coverage 100%
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
Nine, then four, then one. The judge also withdrew `F-004` — you were right, it
|
|
309
|
+
was a quotation.
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## 9. The last one, and a way out
|
|
314
|
+
|
|
315
|
+
The last problem is real, and you are not going to fix it: the endpoint list
|
|
316
|
+
lives in a different document.
|
|
317
|
+
|
|
318
|
+
```
|
|
319
|
+
$ orc challenge accept tsd-payments F-003 "the endpoints land in the sibling API spec, not here"
|
|
320
|
+
|
|
321
|
+
✓ F-003 accepted as a known gap. It stops blocking, and it stays visible in
|
|
322
|
+
every report with your reason.
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
"Good enough, and here is why" is a real ending. ORC writes your reason down
|
|
326
|
+
forever instead of quietly lowering the bar.
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## 10. Pass
|
|
331
|
+
|
|
332
|
+
```
|
|
333
|
+
PASSED passed at iteration 2; nothing has changed since
|
|
334
|
+
|
|
335
|
+
✓ CHALLENGE.md rendered from the ledger — 2 iterations.
|
|
336
|
+
✓ final report: final-report-120826-192451.md
|
|
337
|
+
|
|
338
|
+
Not staged. Commit them if your team should see the review trail:
|
|
339
|
+
git add orc/orc-challenge/tsd-payments/
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
No advice is written on a pass — advice about a finished document is invented
|
|
343
|
+
work, and it costs money.
|
|
344
|
+
|
|
345
|
+
It prints the `git add` command. It does not run it. **This lane never commits.**
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## 11. What if it never converges?
|
|
350
|
+
|
|
351
|
+
There is **no limit** on rounds. Every other loop in ORC has one, because those
|
|
352
|
+
loops run inside a single chat and burn money each turn. Here each turn is a
|
|
353
|
+
person sitting down to work. Refusing on round six would be refusing to review a
|
|
354
|
+
hard document.
|
|
355
|
+
|
|
356
|
+
Instead ORC measures:
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
convergence: 9 → 4 → 4 → 4 blocking findings over 4 iterations
|
|
360
|
+
⚠ stalled — no net reduction in 3 iterations.
|
|
361
|
+
|
|
362
|
+
Three honest options:
|
|
363
|
+
1 Narrow the rubric orc challenge init … --dimensions D1,D2,D6
|
|
364
|
+
2 Accept them as known gaps orc challenge accept tsd-payments F-003 "…"
|
|
365
|
+
3 Keep going /orc-challenge tsd-payments
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
It says this once. It does not nag every round.
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## 12. Coming back later
|
|
373
|
+
|
|
374
|
+
You do not need the old chat. Everything lives on disk.
|
|
375
|
+
|
|
376
|
+
| How | What happens |
|
|
377
|
+
|---|---|
|
|
378
|
+
| `/orc-challenge tsd-payments` in a new chat | the normal way, and the one the brief tells you to use |
|
|
379
|
+
| `/orc-challenge` with nothing | lists your open cycles and asks which one |
|
|
380
|
+
| `orc challenge status tsd-payments` | just read the state, no AI at all |
|
|
381
|
+
|
|
382
|
+
`orc resume` also shows it, for free.
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## 13. What lands on disk
|
|
387
|
+
|
|
388
|
+
```
|
|
389
|
+
orc/orc-challenge/tsd-payments/
|
|
390
|
+
├── challenge.json the record. Only the `orc challenge` command writes it
|
|
391
|
+
├── goals.md your frozen answers from session 1
|
|
392
|
+
├── template.md your frozen template
|
|
393
|
+
├── CHALLENGE.md a readable summary of the whole cycle
|
|
394
|
+
├── iteration-01/
|
|
395
|
+
│ ├── lint.json the free checks
|
|
396
|
+
│ ├── reader-report.md the cold read
|
|
397
|
+
│ ├── verdict.md the review
|
|
398
|
+
│ └── advice.md how to group the fixes
|
|
399
|
+
├── fix-brief-01.md the thing you paste into a new chat
|
|
400
|
+
├── iteration-02/…
|
|
401
|
+
└── final-report-120826-192451.md
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
Nothing here is staged for commit. It is yours to publish or not.
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
## 14. What it will not do
|
|
409
|
+
|
|
410
|
+
- It will not fix the thing it judged.
|
|
411
|
+
- It will not guess what your document is for.
|
|
412
|
+
- It will not say "pass" — a program decides that from the findings.
|
|
413
|
+
- It will not let a problem quietly disappear between rounds.
|
|
414
|
+
- It will not pick which file is your fixed version.
|
|
415
|
+
- It will not stage or commit anything.
|
|
416
|
+
- It will not run your build or your tests. That is `/orc-verify`'s job.
|