@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,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orc-handoff
|
|
3
|
+
description: >
|
|
4
|
+
The lane for people who do not read code. Use for "/orc-handoff", "I want to
|
|
5
|
+
change the text on the empty cart page", "can I edit this myself", "what can a
|
|
6
|
+
PM safely change here". Two modes. MAP finds the files a non-engineer can own —
|
|
7
|
+
screen text, content, settings with a validator, feature flags, docs — and grades
|
|
8
|
+
each one: green (a check will catch a mistake), amber (the check is manual), red
|
|
9
|
+
(looks like content, is not). DO changes one value: it shows you the file, the
|
|
10
|
+
check, and the undo command BEFORE it edits, then runs the check and tells you in
|
|
11
|
+
plain words. It never touches a red file. It never commits.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ORC-HANDOFF
|
|
15
|
+
|
|
16
|
+
**This whole folder is written in simple English on purpose.** Many people who use
|
|
17
|
+
this lane do not read code, and many do not read English first. Keep every file
|
|
18
|
+
here short, plain, and free of jargon. Same standing rule as `../orc-quick/`.
|
|
19
|
+
|
|
20
|
+
## What this lane is for
|
|
21
|
+
|
|
22
|
+
You want to change something small and you should not have to ask an engineer.
|
|
23
|
+
|
|
24
|
+
- the words on a page
|
|
25
|
+
- a title, a label, a button
|
|
26
|
+
- a setting that has a safe list of values
|
|
27
|
+
- a feature switch that is on or off
|
|
28
|
+
- a document
|
|
29
|
+
|
|
30
|
+
You do not need to read code. You do not need a terminal. You need to know two
|
|
31
|
+
things before you change anything: **will something catch my mistake**, and **how
|
|
32
|
+
do I undo it**. This lane always tells you both, before it edits.
|
|
33
|
+
|
|
34
|
+
## The idea that makes this safe
|
|
35
|
+
|
|
36
|
+
**The grade does not come from the file type. It comes from whether a cheap check
|
|
37
|
+
exists for that file.**
|
|
38
|
+
|
|
39
|
+
A settings file with a validator is **green**. The exact same file with no
|
|
40
|
+
validator is **amber**. That is why this is a real safety rule and not a feeling.
|
|
41
|
+
|
|
42
|
+
| Grade | What it means |
|
|
43
|
+
|---|---|
|
|
44
|
+
| 🟢 GREEN | Change it. A check runs after, and it will catch a mistake. |
|
|
45
|
+
| 🟡 AMBER | Change it. But the check is a person, not a program. Here is the check. |
|
|
46
|
+
| 🔴 RED | This looks like content. It is not. ORC will not touch it. |
|
|
47
|
+
|
|
48
|
+
**A red file is never edited.** Not by you through this lane, not by ORC. The lane
|
|
49
|
+
says why, says who to ask, and **offers** `/orc-quick` instead. It is an offer, not
|
|
50
|
+
a redirect — the same rule `/orc-quick` follows when a job is too big.
|
|
51
|
+
|
|
52
|
+
## Rules this lane never breaks
|
|
53
|
+
|
|
54
|
+
- **The undo command is shown BEFORE the edit, not after.** After is too late.
|
|
55
|
+
- **It never stages and never commits.** It prints the git command for you.
|
|
56
|
+
- **It never re-grades a file to make a change possible.** If it is red now, it is
|
|
57
|
+
red for this request.
|
|
58
|
+
- **It only changes a value that already exists.** It never creates a new key. A
|
|
59
|
+
new key is a code change.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Mode 1 — MAP: what can I own?
|
|
64
|
+
|
|
65
|
+
Find the files a non-engineer can safely own, and grade each one. Look for:
|
|
66
|
+
|
|
67
|
+
- screen text and translations
|
|
68
|
+
- content files (markdown, pages, posts)
|
|
69
|
+
- settings files that have a validator or a schema
|
|
70
|
+
- feature switches
|
|
71
|
+
- example or seed data
|
|
72
|
+
- documents
|
|
73
|
+
- design values (colours, spacing) when they live in their own file
|
|
74
|
+
|
|
75
|
+
For **each** file, record four things. All four, every time:
|
|
76
|
+
|
|
77
|
+
1. **what it is**, in plain words ("the words users see on the empty cart page")
|
|
78
|
+
2. **the grade**, and the reason for it
|
|
79
|
+
3. **the exact check** — the command that proves the file is still fine
|
|
80
|
+
4. **the exact undo** — the command that puts it back
|
|
81
|
+
|
|
82
|
+
The grade comes from step 3. **No check found → amber, or red if the file drives
|
|
83
|
+
behaviour rather than showing text.** Never green without a real check.
|
|
84
|
+
|
|
85
|
+
Write it to `orc-handoff/surfaces.md` at the top of the project. Shape and field
|
|
86
|
+
rules: `references/surfaces.md`. Then run `orc handoff surfaces` and show what it
|
|
87
|
+
says — the CLI is what everything else reads.
|
|
88
|
+
|
|
89
|
+
**A file with no check is not a failure of the map.** Say so plainly: "this one has
|
|
90
|
+
no automatic check, so it is amber, and here is what to look at by hand."
|
|
91
|
+
|
|
92
|
+
## Mode 2 — DO: change one value
|
|
93
|
+
|
|
94
|
+
Five steps. Do not skip step 2.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
H1 find find the file · show the value now · show its grade
|
|
98
|
+
H2 confirm ONE message: this is the file, this is the check, this is the undo
|
|
99
|
+
H3 edit one value, through `orc handoff set`
|
|
100
|
+
H4 check run the file's own check · say what happened in plain words
|
|
101
|
+
H5 record add a numbered entry to orc-handoff/<slug>/handoff-log.md
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### H1 — find
|
|
105
|
+
|
|
106
|
+
Search the mapped surfaces first. If the map does not exist yet, run MAP for just
|
|
107
|
+
the area the user named — never the whole project for one small change.
|
|
108
|
+
|
|
109
|
+
Show the value as it is now. If you cannot find it, say so and ask for more — a
|
|
110
|
+
guessed key is a wrong edit.
|
|
111
|
+
|
|
112
|
+
### H2 — confirm (one message, always)
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
File: web/locales/en.json
|
|
116
|
+
Now: "Your cart is empty"
|
|
117
|
+
New: "Nothing in here yet"
|
|
118
|
+
Grade: 🟢 green
|
|
119
|
+
|
|
120
|
+
After I change it I will run: npm run i18n:check
|
|
121
|
+
To undo it, run: git checkout -- web/locales/en.json
|
|
122
|
+
|
|
123
|
+
Change it? (yes / no)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**This message is not optional, even when the change looks tiny.** It is the whole
|
|
127
|
+
consent step.
|
|
128
|
+
|
|
129
|
+
### H3 — edit
|
|
130
|
+
|
|
131
|
+
Always through `orc handoff set <id> <key> <value>`. Never edit the file yourself.
|
|
132
|
+
One writer means one set of rules, and the browser panel uses the same one.
|
|
133
|
+
|
|
134
|
+
`handoff_write: false` makes this project **map only** — no writes at all. Say that
|
|
135
|
+
plainly and stop; do not work around it.
|
|
136
|
+
|
|
137
|
+
### H4 — check
|
|
138
|
+
|
|
139
|
+
Green surfaces: the CLI runs the check and reports it.
|
|
140
|
+
|
|
141
|
+
- **passed** → say so in one line.
|
|
142
|
+
- **failed** → say what failed, show the undo command again, and **do not try to
|
|
143
|
+
fix it**. Fixing a failed check is code work.
|
|
144
|
+
|
|
145
|
+
Amber surfaces: the change is made, and the check is a **task for a person**. Never
|
|
146
|
+
report an amber change as verified. Say: "this file has no automatic check, so
|
|
147
|
+
nothing has confirmed your change yet. Please check: <the manual check>."
|
|
148
|
+
|
|
149
|
+
### H5 — record
|
|
150
|
+
|
|
151
|
+
One numbered entry per change, in `orc-handoff/<slug>/handoff-log.md`. Shape:
|
|
152
|
+
`references/handoff-log.md`. One file per thread, named from the first slug, never
|
|
153
|
+
staged.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Preflight (ONE time, silent)
|
|
158
|
+
|
|
159
|
+
1. **Config.** Read `log_dir` and `handoff_write`. Nothing else.
|
|
160
|
+
2. **Trace.** Write `log_dir/.current` = `run-handoff-<slug>-<DDMMYY>-<HHMMSS>.txt`
|
|
161
|
+
AND `touch the trace file` in the SAME step. Both, or neither.
|
|
162
|
+
3. **Probe.** `orc handoff surfaces --json` (exit 1 = no map yet, which is normal
|
|
163
|
+
on a first run). Use `../_shared/detecting-artifacts.md`, never a raw `find`.
|
|
164
|
+
|
|
165
|
+
## Where this shows up in `/orc`
|
|
166
|
+
|
|
167
|
+
At ship, if any changed file was a GREEN surface:
|
|
168
|
+
|
|
169
|
+
> 2 of these were changes a PM could have made alone — try `/orc-handoff` next
|
|
170
|
+
> time.
|
|
171
|
+
|
|
172
|
+
One sentence. That is the whole seam, and it is how anyone finds out this lane
|
|
173
|
+
exists.
|
|
174
|
+
|
|
175
|
+
## Behavior trace (always on)
|
|
176
|
+
|
|
177
|
+
Follow `../orc/references/trace-protocol.md`. Lane name `handoff`.
|
|
178
|
+
**Single-dispatch lane: exactly ONE end-of-run packet** to
|
|
179
|
+
`orc-trace-writer-haiku-4-5`, after the last entry and BEFORE `.current` is
|
|
180
|
+
deleted. It carries `run_meta`, the events (mapped, confirmed, edited, checked) and
|
|
181
|
+
the confirmations as `decisions`. A run that ends with
|
|
182
|
+
`zero new trace lines is a protocol violation`.
|
|
183
|
+
|
|
184
|
+
Any reading it needs is an **ad-hoc dispatch by model + effort**, never a pinned
|
|
185
|
+
agent — **zero new agents ship for this lane**. Announce it in one line first.
|
|
186
|
+
|
|
187
|
+
## How this lane fails — and the rule that stops it
|
|
188
|
+
|
|
189
|
+
| Failure | What stops it |
|
|
190
|
+
|---|---|
|
|
191
|
+
| A file is called safe because it is JSON | The grade comes from the CHECK, not the file type |
|
|
192
|
+
| Someone edits money code through a text change | Red is never edited. Ever |
|
|
193
|
+
| A change looks verified but nothing checked it | Amber returns a manual TASK, never a pass |
|
|
194
|
+
| The user cannot undo it | The undo command is shown BEFORE the edit |
|
|
195
|
+
| It commits something by surprise | It never stages and never commits |
|
|
196
|
+
| It re-grades a file to be helpful | The grade never moves inside one request |
|
|
197
|
+
| It creates a new setting | It only changes values that already exist |
|
|
198
|
+
| The words are too hard to read | This whole folder is simple English |
|
|
199
|
+
|
|
200
|
+
## Rules this lane always keeps
|
|
201
|
+
|
|
202
|
+
Show the undo first · never touch a red file · never commit · never create a key ·
|
|
203
|
+
never call an amber change verified · write through `orc handoff set` only · keep
|
|
204
|
+
every word simple.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Reference — the change log
|
|
2
|
+
|
|
3
|
+
Loaded at H5. The file is `orc-handoff/<slug>/handoff-log.md`, at the top of the
|
|
4
|
+
project.
|
|
5
|
+
|
|
6
|
+
## The rules for the file
|
|
7
|
+
|
|
8
|
+
- **One `.md` per thread, ever.** The folder is named from the FIRST slug and never
|
|
9
|
+
gets a timestamp, so asking about the same thing again re-opens the same thread.
|
|
10
|
+
Same rule as `/orc-quick`'s context doc.
|
|
11
|
+
- **Never staged.** ORC does not add it to git. If the user wants it committed they
|
|
12
|
+
commit it.
|
|
13
|
+
- **Append only.** Entries are numbered and never renumbered.
|
|
14
|
+
- **Do not read the body back.** On re-open, read only the `orc-handoff:toc`
|
|
15
|
+
block — or the whole file when the user asks for it directly.
|
|
16
|
+
|
|
17
|
+
## Shape
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
# Changes — cart copy
|
|
21
|
+
|
|
22
|
+
<!-- orc-handoff:toc
|
|
23
|
+
1 2026-08-10 web/locales/en.json cart.empty.title green check passed
|
|
24
|
+
2 2026-08-10 content/pricing.md (page body) amber manual check pending
|
|
25
|
+
-->
|
|
26
|
+
|
|
27
|
+
## 1 · Empty cart title
|
|
28
|
+
|
|
29
|
+
- when: 10-08-2026 14:11
|
|
30
|
+
- file: web/locales/en.json
|
|
31
|
+
- key: cart.empty.title
|
|
32
|
+
- grade: green
|
|
33
|
+
- was: "Your cart is empty"
|
|
34
|
+
- now: "Nothing in here yet"
|
|
35
|
+
- check: npm run i18n:check → passed
|
|
36
|
+
- undo: git checkout -- web/locales/en.json
|
|
37
|
+
- committed: no
|
|
38
|
+
|
|
39
|
+
## 2 · Pricing page wording
|
|
40
|
+
|
|
41
|
+
- when: 10-08-2026 14:26
|
|
42
|
+
- file: content/pricing.md
|
|
43
|
+
- grade: amber
|
|
44
|
+
- what changed: the second paragraph
|
|
45
|
+
- check: open /pricing and read the page → NOT DONE YET (a person must do this)
|
|
46
|
+
- undo: git checkout -- content/pricing.md
|
|
47
|
+
- committed: no
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## The two fields people actually come back for
|
|
51
|
+
|
|
52
|
+
**`undo`** — because the reason someone re-opens this file is almost always "how do
|
|
53
|
+
I put it back". Write the exact command every time.
|
|
54
|
+
|
|
55
|
+
**`check`** — and it must say what really happened:
|
|
56
|
+
|
|
57
|
+
- `→ passed` only when a command ran and passed.
|
|
58
|
+
- `→ NOT DONE YET (a person must do this)` for every amber change.
|
|
59
|
+
|
|
60
|
+
**Never write "checked" for an amber change.** An amber change that reads as
|
|
61
|
+
verified is the one entry in this file that could mislead somebody badly.
|
|
62
|
+
|
|
63
|
+
## The toc block
|
|
64
|
+
|
|
65
|
+
The block between `<!-- orc-handoff:toc` and `-->` is the only part re-read on
|
|
66
|
+
re-open. Keep it to one line per entry: number, date, file, key, grade, outcome.
|
|
67
|
+
It exists so a long thread never costs a full file read.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Reference — the surface map
|
|
2
|
+
|
|
3
|
+
Loaded in MAP mode. The file is `orc-handoff/surfaces.md`, at the top of the
|
|
4
|
+
project. It is a normal file you can read and commit.
|
|
5
|
+
|
|
6
|
+
## Shape
|
|
7
|
+
|
|
8
|
+
One block per file. The heading is the name of the block, so it must not change
|
|
9
|
+
once written — other things point at it by id.
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Files a non-developer can own
|
|
13
|
+
|
|
14
|
+
## H-001 · web/locales/en.json · Screen text
|
|
15
|
+
- grade: green
|
|
16
|
+
- check: npm run i18n:check
|
|
17
|
+
- check_kind: command
|
|
18
|
+
- revert: git checkout -- web/locales/en.json
|
|
19
|
+
- keys: cart.empty.title, cart.empty.cta
|
|
20
|
+
|
|
21
|
+
## H-002 · content/pricing.md · The pricing page
|
|
22
|
+
- grade: amber
|
|
23
|
+
- check: open /pricing in the app and read the page
|
|
24
|
+
- check_kind: manual
|
|
25
|
+
- revert: git checkout -- content/pricing.md
|
|
26
|
+
- upgrade: a link checker would make this green
|
|
27
|
+
|
|
28
|
+
## H-003 · src/config/limits.ts · Looks like settings, is code
|
|
29
|
+
- grade: red
|
|
30
|
+
- reason: this file decides how much a customer is charged
|
|
31
|
+
- ask: a backend developer
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## The fields
|
|
35
|
+
|
|
36
|
+
| Field | Required | What it holds |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| `grade` | yes | `green`, `amber` or `red` |
|
|
39
|
+
| `check` | green + amber | the exact command, or the exact manual step |
|
|
40
|
+
| `check_kind` | yes | `command` or `manual` |
|
|
41
|
+
| `revert` | green + amber | the exact command that puts the file back |
|
|
42
|
+
| `keys` | no | the keys inside the file a person may change |
|
|
43
|
+
| `reason` | red | why this is not content, in plain words |
|
|
44
|
+
| `ask` | red | who to ask instead |
|
|
45
|
+
| `upgrade` | no | what would move this file up a grade |
|
|
46
|
+
|
|
47
|
+
## How to pick the grade
|
|
48
|
+
|
|
49
|
+
Ask one question: **if this person makes a mistake, what catches it?**
|
|
50
|
+
|
|
51
|
+
- A command catches it → **green**. Put the command in `check`.
|
|
52
|
+
- Only a person catches it → **amber**. Put the human step in `check`.
|
|
53
|
+
- Nothing catches it, or the file changes what the software DOES rather than what
|
|
54
|
+
it SAYS → **red**.
|
|
55
|
+
|
|
56
|
+
That is the whole rule. Do not grade by folder, by file extension, or by how the
|
|
57
|
+
file looks.
|
|
58
|
+
|
|
59
|
+
## `upgrade` is worth filling in
|
|
60
|
+
|
|
61
|
+
An amber file with `upgrade: a schema check would make this green` turns a warning
|
|
62
|
+
into a small, clear piece of engineering work. Over time that is how a project
|
|
63
|
+
grows more green surfaces — which is the real outcome this lane is aiming at.
|
|
64
|
+
|
|
65
|
+
## One thing to tell people about JSON files
|
|
66
|
+
|
|
67
|
+
When `orc handoff set` changes a value in a `.json` file, it re-writes the whole
|
|
68
|
+
file with normal 2-space (or the file's own) indentation. The values and their
|
|
69
|
+
order do not change, but if the file had unusual spacing, **the diff can be
|
|
70
|
+
bigger than the one line you changed.**
|
|
71
|
+
|
|
72
|
+
Say this in the confirmation step for a JSON surface. It is not a problem — the
|
|
73
|
+
check still runs and the undo command still works — but somebody looking at the
|
|
74
|
+
diff afterwards should not be surprised by it.
|
|
75
|
+
|
|
76
|
+
## What never goes in the map
|
|
77
|
+
|
|
78
|
+
- Anything under `.claude/` — that is ORC's own state.
|
|
79
|
+
- Secrets, `.env`, keys, tokens. Not even as red.
|
|
80
|
+
- Generated files. Editing one is undone by the next build, which looks like the
|
|
81
|
+
edit was ignored.
|
|
82
|
+
- A file that only exists in one person's checkout.
|
|
83
|
+
|
|
84
|
+
## Keep it honest
|
|
85
|
+
|
|
86
|
+
If a project has **no** green surfaces, say that. A map full of amber is a true
|
|
87
|
+
map. A map that calls things green so the lane looks useful is the one failure
|
|
88
|
+
mode that could actually hurt somebody.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orc-judge
|
|
3
|
+
description: >
|
|
4
|
+
Judgment gates for the ORC ultra lane. One judge skill, one agent
|
|
5
|
+
(orc-judge-opus-5-xhigh), three dispatch contexts: gate=analysis (after the
|
|
6
|
+
analyst), gate=plan (after the planner), gate=implementation (after verify —
|
|
7
|
+
the anti-miss-implementation fidelity + strict-quality gate). Returns a
|
|
8
|
+
structured verdict (APPROVE | REVISE | ESCALATE) with anchored,
|
|
9
|
+
consequence-cited findings; REVISE loops the author with a hard 2-loop cap
|
|
10
|
+
and a convergence rule. Dispatched only from /orc-ultra — no slash command
|
|
11
|
+
of its own, never in orc or orc-mini. The orchestrator dispatches the judge
|
|
12
|
+
subagent — it never judges itself.
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ORC-JUDGE (ultra-lane judgment gates)
|
|
16
|
+
|
|
17
|
+
A model-based quality gate on top of ORC's deterministic gates. The judge
|
|
18
|
+
handles what determinism cannot: scope-interpretation correctness, plan
|
|
19
|
+
soundness, implementation fidelity, and — at the final gate — ultra-strict
|
|
20
|
+
code quality. Deterministic gates ALWAYS run first; the judge never re-checks
|
|
21
|
+
what a string-compare catches.
|
|
22
|
+
|
|
23
|
+
Ultra lane ONLY. No `/orc-judge` command; the orchestrator dispatches
|
|
24
|
+
`orc-judge-opus-5-xhigh` at the three ultra gates.
|
|
25
|
+
|
|
26
|
+
## Hard rules
|
|
27
|
+
|
|
28
|
+
1. **The orchestrator never judges — it spawns.** One agent, three contexts
|
|
29
|
+
(`gate=analysis|plan|implementation`).
|
|
30
|
+
2. **Deterministic first.** A judge dispatch is only legal AFTER the gate's
|
|
31
|
+
deterministic checks passed (evidence spot-check + derivation lint /
|
|
32
|
+
coverage + graph checks / verify + traceability matrix + static analysis).
|
|
33
|
+
3. **The judge is read-only** and blind to the author's internal reasoning or
|
|
34
|
+
self-assessment (anti-anchoring): it sees the artifact, its evidence, the
|
|
35
|
+
advisor brief + rubric, and the original request.
|
|
36
|
+
4. **Judge gates ADD to user sign-offs, never replace them.** Gate approvals
|
|
37
|
+
never skip the analyst challenge round or the plan sign-off.
|
|
38
|
+
5. **Gate scope is one-directional.** gate=plan takes the approved spec as
|
|
39
|
+
fixed ground truth; gate=implementation takes the approved plan as fixed —
|
|
40
|
+
no gate re-litigates an earlier approved gate.
|
|
41
|
+
6. **The judge never fixes.** Authors fix: analyst (gate=analysis), planner
|
|
42
|
+
(gate=plan), a scored executor fix wave (gate=implementation).
|
|
43
|
+
|
|
44
|
+
## Verdict handling (orchestrator side)
|
|
45
|
+
|
|
46
|
+
Validate the return against the agent's verdict contract, then:
|
|
47
|
+
|
|
48
|
+
- **Downgrade enforcement:** any blocking finding missing its verbatim
|
|
49
|
+
anchor or its class-appropriate justification (failure_consequence for
|
|
50
|
+
correctness/security; named category + concrete alternative for
|
|
51
|
+
smell/simplification/placement) → downgrade to advisory and tell the user.
|
|
52
|
+
EXCEPTION: a security finding with a concrete consequence is always
|
|
53
|
+
blocking — never downgraded.
|
|
54
|
+
- **APPROVE** → record the verdict artifact, continue the pipeline.
|
|
55
|
+
- **REVISE** → re-dispatch the author with the original slice + the blocking
|
|
56
|
+
findings verbatim. The author's return must echo `finding_id → resolution`
|
|
57
|
+
per finding; a missing echo is a malformed return (requeue). Then RE-JUDGE
|
|
58
|
+
under the convergence rule: block only on unresolved prior findings by id
|
|
59
|
+
or on lines the revision changed; new findings on untouched material are
|
|
60
|
+
advisory-only. **Hard cap: 2 revision loops per gate**, counted in the
|
|
61
|
+
checkpoint.
|
|
62
|
+
- **ESCALATE** (or a third failure) → present the ESCALATE menu:
|
|
63
|
+
accept-and-proceed (unresolved findings recorded in the Phase 7 summary) /
|
|
64
|
+
user fixes manually then re-judge (does not consume a loop) / grant one
|
|
65
|
+
extra loop / stop-and-checkpoint.
|
|
66
|
+
- Advisory findings NEVER loop — they ride forward attached to the next
|
|
67
|
+
phase's slices as notes.
|
|
68
|
+
- Persist every verdict as `run/{run-slug}/ultra/verdict-<gate>-<round>.md`
|
|
69
|
+
(mined by /orc-retro; survives resume). When logging, emit
|
|
70
|
+
`JUDGE <gate> <verdict>` and the judgment GATE line (pass|bounce|escalate).
|
|
71
|
+
|
|
72
|
+
## The three gates
|
|
73
|
+
|
|
74
|
+
| Gate | After | Judges | REVISE target |
|
|
75
|
+
|------|-------|--------|---------------|
|
|
76
|
+
| analysis | analyst-return deterministic gates | scope interpretation, requirement coherence, rubric misses, stale-doc risk | analyst |
|
|
77
|
+
| plan | Phase 1 exit gate + blast-radius map | decomposition, declared-file plausibility, deps, right-sizing, blast-radius coverage | planner |
|
|
78
|
+
| implementation | Phase 6/6.5 + traceability matrix + static analysis | fidelity to the user's ask + ultra-strict quality (security, smells, simplification, placement, pattern invariants) | scored executor fix wave → re-verify → re-judge |
|
|
79
|
+
|
|
80
|
+
Return fields include `actual_model` + `actual_effort` (standard
|
|
81
|
+
claimed-vs-actual check) and `rubric_items_checked[]` +
|
|
82
|
+
`unconfirmed_assumptions_touched[]` — validate them like any worker return.
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orc-learn
|
|
3
|
+
description: >
|
|
4
|
+
Per-feature onboarding docs for the LOCAL project. Use for "/orc-learn",
|
|
5
|
+
"help me learn feature X", "onboard me to this feature", or "orc-learn
|
|
6
|
+
refresh". Runs INDEPENDENTLY — no orchestrator, no run folder. Picks one
|
|
7
|
+
feature (wiki topics first), then generates learning-docs/<feature>/ with
|
|
8
|
+
learning.md (pedagogy: mental model, walkthrough, recipes, FAQ) and
|
|
9
|
+
knowledge.md (reference: file:line-anchored functions & flow, contracts,
|
|
10
|
+
fingerprints). Output is LOCAL and git-ignored — each dev regenerates their
|
|
11
|
+
own. Refresh lists every generated feature with a computed freshness flag
|
|
12
|
+
and regenerates only what the user picks. The skill dispatches the pinned
|
|
13
|
+
orc-learn-writer-opus-5-low agent — it never writes the docs itself.
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# ORC-LEARN (standalone)
|
|
17
|
+
|
|
18
|
+
Teach a developer ONE feature of the local repo well enough to safely extend
|
|
19
|
+
it — the human-onboarding lane. It is NOT the wiki: the wiki grounds the
|
|
20
|
+
*pipeline* (repo-wide, contract-level); orc-learn goes one level deeper for a
|
|
21
|
+
*person* — function-level, full-flow, pedagogical. Target is always
|
|
22
|
+
`<repo root>/learning-docs/<feature-slug>/` (git-ignored, local per dev).
|
|
23
|
+
|
|
24
|
+
**Dispatch, don't do.** Whatever model this chat runs on, the skill only picks
|
|
25
|
+
the topic/mode and spawns `orc-learn-writer-opus-5-low` (the pinned
|
|
26
|
+
engine) — the deepening scan + all writes run at Opus 5 low regardless of
|
|
27
|
+
the caller's tier. The skill's only self-writes are the behavior-trace
|
|
28
|
+
markers around the spawn. Interactivity is DELIBERATELY minimal but non-zero
|
|
29
|
+
(unlike orc-claude): exactly one question per mode — "which feature?" (INIT)
|
|
30
|
+
or "which to refresh?" (REFRESH). Never more.
|
|
31
|
+
|
|
32
|
+
**Grounding precedence** (constellation rule, unchanged):
|
|
33
|
+
`code > fresh wiki > stale wiki (hints) > model priors`. The writer re-verifies
|
|
34
|
+
every wiki claim it uses against the code; on conflict the code wins.
|
|
35
|
+
|
|
36
|
+
**Worked example** (orient only — never execute from it):
|
|
37
|
+
`examples/learn-run-mock.md`.
|
|
38
|
+
|
|
39
|
+
## The two modes (auto-selected by argument)
|
|
40
|
+
|
|
41
|
+
1. **INIT** (default: `/orc-learn`, optional `focus=<hint>`) — pick ONE
|
|
42
|
+
feature, generate `learning-docs/<slug>/learning.md` + `knowledge.md`,
|
|
43
|
+
derive `learning-docs/INDEX.md`.
|
|
44
|
+
2. **REFRESH** (`/orc-learn refresh`) — list every generated feature with a
|
|
45
|
+
computed freshness flag; regenerate only the ones the user picks.
|
|
46
|
+
Protocol: `references/refresh.md`.
|
|
47
|
+
|
|
48
|
+
Not inside a git repo / no project root findable → say so and stop.
|
|
49
|
+
|
|
50
|
+
## Mode A — INIT
|
|
51
|
+
|
|
52
|
+
Behavior-trace logging is permanent (always on). Resolve `log_dir`
|
|
53
|
+
(`../orc/config.md` default + `.claude/orc.config.yaml`) at start and follow
|
|
54
|
+
`../orc/references/trace-protocol.md`; the marker set is in "Behavior trace"
|
|
55
|
+
below. Weave the **Trace:** steps in as each event happens.
|
|
56
|
+
|
|
57
|
+
1. **Topic pick (wiki-first).** Read `wiki/INDEX.md` +
|
|
58
|
+
`.claude/orc/wiki-meta.json` and compute the freshness tier
|
|
59
|
+
(`../orc-wiki/references/staleness.md` — computed on read, never stored).
|
|
60
|
+
**Trace:** `WIKI-CONSULT tier=<FRESH|AGING|STALE|none> :: topic-pick`
|
|
61
|
+
(emitted even when the wiki is absent, with `none`).
|
|
62
|
+
- Wiki FRESH/AGING → present its feature areas as a pick-list; the chosen
|
|
63
|
+
area's `covers` globs seed the writer's file set.
|
|
64
|
+
- No wiki / STALE / topic not covered → ask the user to point at the
|
|
65
|
+
feature (a directory or a `focus=` hint); the writer will do a
|
|
66
|
+
**targeted** scan of just those files — never repo-wide. A stale wiki
|
|
67
|
+
doc may still ride along as hints (precedence above).
|
|
68
|
+
- Ask which feature as ONE question (one feature per invoke). Derive
|
|
69
|
+
`feature_slug` (kebab-case) from the chosen topic/area.
|
|
70
|
+
2. **Trace:** write `log_dir/.current` = `run-learn-<slug>-<DDMMYY>-<HHMMSS>.txt` and
|
|
71
|
+
`touch the trace file` of that name in the SAME step, BEFORE the spawn (a
|
|
72
|
+
pointer to a missing file reads as dangling and the hook rotates away).
|
|
73
|
+
3. Spawn `orc-learn-writer-opus-5-low` with: `mode=init`, `repo_root`,
|
|
74
|
+
`feature_slug`, `topic_area`, `covers[]` (from wiki or user pointer),
|
|
75
|
+
`wiki_tier`, `focus_hint|null`, and the paths to
|
|
76
|
+
`references/deepen.md`, `references/template-learning.md`,
|
|
77
|
+
`references/template-knowledge.md`. **Trace:**
|
|
78
|
+
`DISPATCH orc-learn-writer :: init <slug> expect=opus-5/low` just
|
|
79
|
+
before the spawn (the hook adds `SPAWN`/`RETURN` on its own).
|
|
80
|
+
4. On return, check `actual_model`/`actual_effort` against the pinned tier —
|
|
81
|
+
mismatch → prepend a tier-downgrade warning to the report. **Trace:**
|
|
82
|
+
`VERIFY writer actual=<model>/<effort> ✅ MATCH` (or
|
|
83
|
+
`⛔ DOWNGRADE expected=opus-5/low`).
|
|
84
|
+
5. Relay the writer's report verbatim. If `learning-docs/` is not in
|
|
85
|
+
`.gitignore`, offer the line (`learning-docs/`) — append only on an
|
|
86
|
+
explicit yes; never edit silently. **Trace:** `FINISH :: init <slug>`,
|
|
87
|
+
then delete `log_dir/.current`. Stop. The skill NEVER writes the docs
|
|
88
|
+
itself — not even a "trivial" INDEX touch.
|
|
89
|
+
|
|
90
|
+
## Mode B — REFRESH
|
|
91
|
+
|
|
92
|
+
1. No `learning-docs/` (or no feature folders inside) → "nothing generated
|
|
93
|
+
yet; run `/orc-learn` first." Stop — no trace run needed.
|
|
94
|
+
2. Read every `learning-docs/<feature>/knowledge.md` fingerprint header
|
|
95
|
+
(`source_commit` + per-file hashes) and compute FRESH/AGING/STALE per
|
|
96
|
+
feature — `references/refresh.md`. Freshness is computed on read, never
|
|
97
|
+
stored as a status.
|
|
98
|
+
3. Present the FULL list, each with its computed flag; the user
|
|
99
|
+
multi-selects which to regenerate (one question, multi-select). Nothing
|
|
100
|
+
selected → stop, no writes.
|
|
101
|
+
4. **Trace:** write `log_dir/.current` = `run-learn-<slug>-<DDMMYY>-<HHMMSS>.txt`. For each
|
|
102
|
+
selected feature, spawn the writer with `mode=refresh` and that feature's
|
|
103
|
+
slice (re-deepen just that feature; a FRESH/AGING wiki may again seed the
|
|
104
|
+
boundary — emit one `WIKI-CONSULT tier=<tier> :: refresh` when the wiki is
|
|
105
|
+
read). One `DISPATCH`/`VERIFY` pair per feature, same markers as INIT.
|
|
106
|
+
5. The (last) writer re-derives `learning-docs/INDEX.md` from all current
|
|
107
|
+
feature headers. Relay the combined report. **Trace:**
|
|
108
|
+
`FINISH :: refresh <n> features`, then delete `log_dir/.current`.
|
|
109
|
+
|
|
110
|
+
## Behavior trace (PERMANENT — minimal dispatch-lane protocol; always on)
|
|
111
|
+
|
|
112
|
+
orc-learn owns the trace for its run like every trace-owning lane, but it is
|
|
113
|
+
a dispatch-only lane: it emits ONLY markers it can truthfully witness — no
|
|
114
|
+
phase/score/finding/verdict markers (deepening and writing happen inside the
|
|
115
|
+
writer, which self-traces nothing and only returns `actual_model`/
|
|
116
|
+
`actual_effort`). The marker set, in order (actor `orc`, plus the hook's
|
|
117
|
+
`SPAWN`/`RETURN`):
|
|
118
|
+
|
|
119
|
+
1. `WIKI-CONSULT tier=<tier> :: <topic-pick|refresh>` — at every wiki read
|
|
120
|
+
(orc-learn is a wiki-grounding lane; the consult is always traced, absent
|
|
121
|
+
wiki included).
|
|
122
|
+
2. `log_dir/.current` = `run-learn-<slug>-<DDMMYY>-<HHMMSS>.txt` — before the first spawn.
|
|
123
|
+
3. `DISPATCH orc-learn-writer :: <mode> <slug> expect=opus-5/low` — one
|
|
124
|
+
per spawn; REFRESH runs one per selected feature.
|
|
125
|
+
4. `VERIFY writer actual=<model>/<effort> ✅ MATCH` or
|
|
126
|
+
`⛔ DOWNGRADE expected=opus-5/low` — from the returned
|
|
127
|
+
`actual_model`/`actual_effort` (this lane's honesty signal for
|
|
128
|
+
`/orc-retro`).
|
|
129
|
+
5. `FINISH :: <init <slug>|refresh <n> features>`, then delete `.current`.
|
|
130
|
+
|
|
131
|
+
Narration is **dispatched, never remembered**: record each marker with its REAL
|
|
132
|
+
timestamp as its event happens, then — as a single-dispatch lane — dispatch the
|
|
133
|
+
trace writer ONCE with the whole event list plus `decisions` (the WHY: which
|
|
134
|
+
feature was picked and why, the user's answer verbatim) after the writer return
|
|
135
|
+
validates and BEFORE you delete `.current`. Stamps are the run's timeline, never
|
|
136
|
+
the write time, and a run that
|
|
137
|
+
ends with zero new trace lines is a protocol violation.
|
|
138
|
+
|
|
139
|
+
## Boundaries
|
|
140
|
+
|
|
141
|
+
- **Writes ONLY** under `learning-docs/` (via the writer) and, on an explicit
|
|
142
|
+
yes, one `.gitignore` line. Never edits source code, never commits, never
|
|
143
|
+
pushes.
|
|
144
|
+
- **One question per mode, ever.** Which feature (INIT); which to refresh
|
|
145
|
+
(REFRESH). Everything else is decided or reported, never asked.
|
|
146
|
+
- `learning-docs/` is LOCAL — git-ignored, regenerated per dev, never a
|
|
147
|
+
committed shared artifact. A stale copy costs one regeneration, nothing
|
|
148
|
+
more.
|
|
149
|
+
- `INDEX.md` is DERIVED by the writer from the feature headers in the same
|
|
150
|
+
dispatch — never hand-maintained, never edited by the skill.
|
|
151
|
+
- The wiki is consumed read-only as a boundary source; orc-learn never
|
|
152
|
+
writes wiki files, never triggers a wiki scan, never treats "not in the
|
|
153
|
+
wiki" as a blocker (it falls back to a targeted scan of user-pointed
|
|
154
|
+
files).
|
|
155
|
+
- Reminder: to see usage limits, tell the user to run `/usage` (never invoke
|
|
156
|
+
it programmatically).
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Worked example — orc-learn runs (mock; orient only, never execute from this)
|
|
2
|
+
|
|
3
|
+
## Run 1 — INIT with a fresh wiki
|
|
4
|
+
|
|
5
|
+
U: /orc-learn
|
|
6
|
+
C: Repo root found. Reads wiki/INDEX.md + the wiki manifest → tier FRESH.
|
|
7
|
+
Presents the wiki's feature areas; user picks "orders". Slug: `orders`.
|
|
8
|
+
Spawns orc-learn-writer-opus-5-low with mode=init, covers from the
|
|
9
|
+
orders doc's globs (the skill never writes the docs itself).
|
|
10
|
+
W: Reads the orders wiki doc for boundary + contracts, re-verifies against
|
|
11
|
+
code. Deepens: maps 14 functions (file:line), traces one real flow —
|
|
12
|
+
POST /orders → validate (routes/orders.ts:31) → price (pricing.ts:88) →
|
|
13
|
+
persist (repo/orders.ts:15) → emit event → 201. Harvests 3 invariants,
|
|
14
|
+
4 why-this-way findings, 2 couplings.
|
|
15
|
+
W: Writes learning-docs/orders/knowledge.md (fingerprint header:
|
|
16
|
+
source_commit=HEAD, 9 hashed files; functions & flow; contracts; verify
|
|
17
|
+
commands from the wiki manifest's `commands`) and learning.md (mental
|
|
18
|
+
model, walkthrough of the SAME flow, 3 change recipes, gotchas, FAQ ×6).
|
|
19
|
+
Derives learning-docs/INDEX.md. Returns functions_mapped=14,
|
|
20
|
+
flow_traced=true, faq_count=6, actual_model=claude-opus-5,
|
|
21
|
+
actual_effort=low.
|
|
22
|
+
C: Relays the report. `learning-docs/` not in .gitignore → offers the line;
|
|
23
|
+
user accepts → appended.
|
|
24
|
+
|
|
25
|
+
## Run 2 — INIT, no wiki
|
|
26
|
+
|
|
27
|
+
U: /orc-learn focus=src/billing
|
|
28
|
+
C: No wiki/ → tier none (traced all the same). Asks only to confirm the
|
|
29
|
+
feature ("billing", from the focus pointer). Writer does a TARGETED scan
|
|
30
|
+
of src/billing/** only — never repo-wide — then deepens and writes the
|
|
31
|
+
pair as above.
|
|
32
|
+
|
|
33
|
+
## Run 3 — REFRESH, multi-select
|
|
34
|
+
|
|
35
|
+
U: /orc-learn refresh
|
|
36
|
+
C: Reads each learning-docs/*/knowledge.md header; computes tiers on read:
|
|
37
|
+
orders STALE (drift hit pricing.ts), billing FRESH. Shows BOTH with
|
|
38
|
+
flags; user picks orders only. One writer dispatch regenerates the orders
|
|
39
|
+
pair (new source_commit, recomputed hashes, changelog line), re-derives
|
|
40
|
+
INDEX.md. billing: byte-untouched.
|
|
41
|
+
|
|
42
|
+
## Run 4 — behavior trace (permanent, always on)
|
|
43
|
+
|
|
44
|
+
The skill writes the run pointer (`run-learn-<slug>-<DDMMYY>-<HHMMSS>.txt` into
|
|
45
|
+
`log_dir`) before the spawn, records these events as they happen, and — as a
|
|
46
|
+
single-dispatch lane — dispatches the trace writer ONCE at run end to append
|
|
47
|
+
them (`SPAWN`/`RETURN` come from the `orc-trace.js` hook as they occur):
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
[170726 10:02:01.050] writer WIKI-CONSULT tier=FRESH :: topic-pick
|
|
51
|
+
[170726 10:02:44.310] writer DISPATCH orc-learn-writer :: init orders expect=opus-5/low
|
|
52
|
+
[170726 10:02:44.420] hook SPAWN orc-learn-writer-opus-5-low
|
|
53
|
+
[170726 10:06:12.900] hook RETURN
|
|
54
|
+
[170726 10:06:13.010] writer VERIFY writer actual=claude-opus-5/low ✅ MATCH
|
|
55
|
+
[170726 10:06:13.120] writer FINISH :: init orders
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Then the writer packet returns and the run pointer is deleted (in that order).
|
|
59
|
+
REFRESH traces one DISPATCH/VERIFY pair per
|
|
60
|
+
selected feature, ending `FINISH :: refresh <n> features`. No phase/score/
|
|
61
|
+
finding/verdict markers — this lane runs none of those phases.
|