@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,227 @@
|
|
|
1
|
+
/* panels/settings.css — orc ui
|
|
2
|
+
The toolbar, the tier accordions, every control kind, the ladder.
|
|
3
|
+
|
|
4
|
+
The <link> ORDER in app.html is the cascade order, and the numeric
|
|
5
|
+
prefix is that order. No @import: it would carry no session token and
|
|
6
|
+
401. */
|
|
7
|
+
|
|
8
|
+
/* ---------------------------------------------------------------- PANELS -- */
|
|
9
|
+
|
|
10
|
+
/* --- Settings ------------------------------------------------------------ */
|
|
11
|
+
|
|
12
|
+
/* The settings toolbar — find a key across every tier without scrolling. */
|
|
13
|
+
.toolbar {
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
gap: var(--sp-3);
|
|
17
|
+
flex-wrap: wrap;
|
|
18
|
+
padding: var(--sp-3) var(--sp-4);
|
|
19
|
+
background: var(--surface);
|
|
20
|
+
border: 1px solid var(--line);
|
|
21
|
+
border-radius: var(--radius);
|
|
22
|
+
position: sticky;
|
|
23
|
+
top: var(--sp-3);
|
|
24
|
+
z-index: 5;
|
|
25
|
+
}
|
|
26
|
+
.search { flex: 1 1 220px; min-width: 0; }
|
|
27
|
+
.search .text-input { width: 100%; padding: 6px 10px; font-size: 13px; }
|
|
28
|
+
.toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text-dim); cursor: pointer; white-space: nowrap; }
|
|
29
|
+
.toggle:has(input:disabled) { opacity: .5; cursor: default; }
|
|
30
|
+
.toolbar-result { font-size: 12px; color: var(--text-faint); font-variant-numeric: tabular-nums; }
|
|
31
|
+
.toolbar-result-none { color: var(--warn); }
|
|
32
|
+
|
|
33
|
+
/* `hidden` here is the FILTER's hide. It is a class, not the [hidden]
|
|
34
|
+
attribute, so a filtered-out row cannot fight a component that sets its own
|
|
35
|
+
display. */
|
|
36
|
+
.hidden { display: none !important; }
|
|
37
|
+
|
|
38
|
+
/* Each tier is its own card with a clickable header, so 36 keys read as three
|
|
39
|
+
labelled groups instead of one wall. */
|
|
40
|
+
.tier { padding: 0; overflow: hidden; }
|
|
41
|
+
.tier-head {
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
gap: var(--sp-3);
|
|
45
|
+
width: 100%;
|
|
46
|
+
padding: var(--sp-3) var(--sp-4);
|
|
47
|
+
background: var(--surface-2);
|
|
48
|
+
border: 0;
|
|
49
|
+
border-bottom: 1px solid var(--line-soft);
|
|
50
|
+
cursor: pointer;
|
|
51
|
+
text-align: left;
|
|
52
|
+
transition: background var(--dur-fast) var(--ease);
|
|
53
|
+
}
|
|
54
|
+
.tier-head:hover { background: var(--surface-3); }
|
|
55
|
+
.tier-head h2 { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--text); }
|
|
56
|
+
.tier-count { font-size: 12px; color: var(--text-faint); margin-left: auto; font-variant-numeric: tabular-nums; }
|
|
57
|
+
.tier-caret {
|
|
58
|
+
color: var(--text-faint);
|
|
59
|
+
font-size: 11px;
|
|
60
|
+
transform: rotate(90deg);
|
|
61
|
+
transition: transform var(--dur) var(--ease);
|
|
62
|
+
}
|
|
63
|
+
.tier-desc { padding: var(--sp-3) var(--sp-4) 0; color: var(--text-dim); font-size: 12.5px; }
|
|
64
|
+
.tier-rows { padding: 0 var(--sp-4) var(--sp-2); }
|
|
65
|
+
|
|
66
|
+
/* Collapsed: the caret turns and the body folds away. `grid-template-rows`
|
|
67
|
+
animates 1fr -> 0fr, which `height: auto` cannot do — and it needs a real
|
|
68
|
+
element to collapse against, which is what `.tier-body-inner` is for. */
|
|
69
|
+
.tier-body {
|
|
70
|
+
display: grid;
|
|
71
|
+
grid-template-rows: 1fr;
|
|
72
|
+
transition: grid-template-rows var(--dur-slow) var(--ease), opacity var(--dur) var(--ease);
|
|
73
|
+
}
|
|
74
|
+
.tier-body-inner { min-height: 0; overflow: hidden; }
|
|
75
|
+
.tier.collapsed > .tier-body { grid-template-rows: 0fr; opacity: 0; }
|
|
76
|
+
.tier.collapsed .tier-caret { transform: rotate(0deg); }
|
|
77
|
+
|
|
78
|
+
.setting {
|
|
79
|
+
display: grid;
|
|
80
|
+
grid-template-columns: minmax(0, 1fr) 260px;
|
|
81
|
+
gap: var(--sp-4);
|
|
82
|
+
align-items: start;
|
|
83
|
+
padding: var(--sp-3) var(--sp-2);
|
|
84
|
+
margin: 0 calc(var(--sp-2) * -1);
|
|
85
|
+
border-radius: var(--radius-sm);
|
|
86
|
+
border-bottom: 1px solid var(--line-soft);
|
|
87
|
+
/* 220ms desaturate + lock slide when another key shadows this one. */
|
|
88
|
+
transition: opacity var(--dur-shadow) var(--ease), filter var(--dur-shadow) var(--ease),
|
|
89
|
+
background var(--dur-fast) var(--ease);
|
|
90
|
+
}
|
|
91
|
+
/* Which row you are on, at a glance — 36 rows of the same weight is where a
|
|
92
|
+
mis-click on the wrong key comes from. */
|
|
93
|
+
.setting:hover { background: var(--surface-2); }
|
|
94
|
+
.setting:last-child { border-bottom: 0; }
|
|
95
|
+
.setting-name { display: flex; align-items: center; gap: var(--sp-2); font-family: var(--mono); font-size: 13px; }
|
|
96
|
+
.setting-desc { color: var(--text-dim); font-size: 12.5px; margin-top: 3px; }
|
|
97
|
+
.setting-control { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; min-width: 0; }
|
|
98
|
+
.setting-control > * { max-width: 100%; }
|
|
99
|
+
|
|
100
|
+
/* the overridden dot animates in when a value is committed */
|
|
101
|
+
.dot {
|
|
102
|
+
width: 6px; height: 6px; border-radius: 50%;
|
|
103
|
+
background: var(--accent);
|
|
104
|
+
flex: none;
|
|
105
|
+
animation: dot-in var(--dur) var(--ease);
|
|
106
|
+
}
|
|
107
|
+
.dot-warn { background: var(--warn); }
|
|
108
|
+
@keyframes dot-in {
|
|
109
|
+
from { transform: scale(0); opacity: 0; }
|
|
110
|
+
to { transform: none; opacity: 1; }
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* THE SHADOWING ANIMATION (plan §6.2). Flip opus5_only on and the fable5_*
|
|
114
|
+
rows desaturate, a lock slides in, and the reason is right there. The
|
|
115
|
+
animation teaches the precedence rule — that is the whole point. */
|
|
116
|
+
.setting.shadowed { opacity: .42; filter: saturate(.15); }
|
|
117
|
+
.lock {
|
|
118
|
+
display: inline-flex;
|
|
119
|
+
align-items: center;
|
|
120
|
+
gap: 5px;
|
|
121
|
+
font-size: 11px;
|
|
122
|
+
color: var(--warn);
|
|
123
|
+
background: var(--warn-wash);
|
|
124
|
+
border-radius: 100px;
|
|
125
|
+
padding: 1px 8px;
|
|
126
|
+
animation: lock-in var(--dur-shadow) var(--ease);
|
|
127
|
+
}
|
|
128
|
+
@keyframes lock-in {
|
|
129
|
+
from { opacity: 0; transform: translateX(-10px); }
|
|
130
|
+
to { opacity: 1; transform: none; }
|
|
131
|
+
}
|
|
132
|
+
.shadow-why { font-size: 11.5px; color: var(--warn); margin-top: 4px; }
|
|
133
|
+
|
|
134
|
+
/* WRAPPING is not cosmetic here: the control column is a fixed 260px, and a
|
|
135
|
+
subset control with nine choices (`extra_roles`, v0.50.0) overflowed it and
|
|
136
|
+
printed straight over the description text. A segmented control has to fold
|
|
137
|
+
inside its own column, never past it. */
|
|
138
|
+
.seg { display: inline-flex; flex-wrap: wrap; max-width: 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
|
|
139
|
+
.seg button {
|
|
140
|
+
border: 0;
|
|
141
|
+
background: var(--surface-2);
|
|
142
|
+
padding: 4px 11px;
|
|
143
|
+
font-size: 12px;
|
|
144
|
+
cursor: pointer;
|
|
145
|
+
color: var(--text-dim);
|
|
146
|
+
transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
|
|
147
|
+
}
|
|
148
|
+
.seg button + button { border-left: 1px solid var(--line); }
|
|
149
|
+
.seg button:hover { background: var(--surface-3); color: var(--text); }
|
|
150
|
+
.seg button[aria-pressed="true"] { background: var(--accent); color: #fff; }
|
|
151
|
+
|
|
152
|
+
.stepper { display: inline-flex; align-items: center; gap: 6px; }
|
|
153
|
+
.stepper input {
|
|
154
|
+
width: 74px;
|
|
155
|
+
padding: 4px 8px;
|
|
156
|
+
text-align: center;
|
|
157
|
+
background: var(--surface-2);
|
|
158
|
+
border: 1px solid var(--line);
|
|
159
|
+
border-radius: var(--radius-sm);
|
|
160
|
+
font-family: var(--mono);
|
|
161
|
+
}
|
|
162
|
+
.text-input {
|
|
163
|
+
width: 100%;
|
|
164
|
+
padding: 4px 8px;
|
|
165
|
+
background: var(--surface-2);
|
|
166
|
+
border: 1px solid var(--line);
|
|
167
|
+
border-radius: var(--radius-sm);
|
|
168
|
+
font-family: var(--mono);
|
|
169
|
+
font-size: 12px;
|
|
170
|
+
}
|
|
171
|
+
.text-input.invalid { border-color: var(--bad); }
|
|
172
|
+
.input-err { font-size: 11.5px; color: var(--bad); }
|
|
173
|
+
|
|
174
|
+
/* A closed set gets a dropdown, not a text box (v0.44.0). The native control is
|
|
175
|
+
kept — it is the one widget every platform already knows how to open with a
|
|
176
|
+
keyboard, and a hand-rolled listbox on a write surface is a lot of new
|
|
177
|
+
behaviour for no new capability. Only the chrome is ours. */
|
|
178
|
+
.select-input {
|
|
179
|
+
min-width: 190px;
|
|
180
|
+
max-width: 100%;
|
|
181
|
+
padding: 4px 8px;
|
|
182
|
+
background: var(--surface-2);
|
|
183
|
+
border: 1px solid var(--line);
|
|
184
|
+
border-radius: var(--radius-sm);
|
|
185
|
+
color: var(--text);
|
|
186
|
+
font-family: var(--mono);
|
|
187
|
+
font-size: 12px;
|
|
188
|
+
cursor: pointer;
|
|
189
|
+
transition: border-color var(--dur-fast) var(--ease);
|
|
190
|
+
}
|
|
191
|
+
.select-input:hover { border-color: var(--accent-dim); }
|
|
192
|
+
.select-input:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
193
|
+
/* The out-of-set placeholder (an unset fixed_executor) reads as absent, not as
|
|
194
|
+
a value you could have chosen. */
|
|
195
|
+
.select-input option:disabled { color: var(--text-faint); }
|
|
196
|
+
|
|
197
|
+
.readonly-value {
|
|
198
|
+
font-family: var(--mono);
|
|
199
|
+
font-size: 11.5px;
|
|
200
|
+
color: var(--text-faint);
|
|
201
|
+
background: var(--surface-2);
|
|
202
|
+
border: 1px dashed var(--line);
|
|
203
|
+
border-radius: var(--radius-sm);
|
|
204
|
+
padding: 3px 8px;
|
|
205
|
+
max-width: 100%;
|
|
206
|
+
overflow-x: auto;
|
|
207
|
+
white-space: nowrap;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/* the score ladder — a diagram, not an editor */
|
|
211
|
+
.ladder { display: flex; flex-direction: column; gap: 4px; }
|
|
212
|
+
.rung {
|
|
213
|
+
display: grid;
|
|
214
|
+
grid-template-columns: 92px minmax(0, 1fr);
|
|
215
|
+
align-items: center;
|
|
216
|
+
gap: var(--sp-3);
|
|
217
|
+
padding: 5px var(--sp-3);
|
|
218
|
+
background: var(--surface-2);
|
|
219
|
+
border: 1px solid var(--line-soft);
|
|
220
|
+
border-radius: var(--radius-sm);
|
|
221
|
+
font-family: var(--mono);
|
|
222
|
+
font-size: 12px;
|
|
223
|
+
}
|
|
224
|
+
.rung-band { color: var(--text-faint); }
|
|
225
|
+
.rung-bar { height: 4px; border-radius: 2px; background: var(--accent); opacity: .55; }
|
|
226
|
+
.rung-agent { color: var(--text-dim); }
|
|
227
|
+
.ladder-note { font-size: 12px; color: var(--text-faint); margin-top: var(--sp-2); }
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/* panels/stats.css — orc ui
|
|
2
|
+
The usage bars, the Usage|Cost tabs, the four-part token bar, the tables.
|
|
3
|
+
|
|
4
|
+
The <link> ORDER in app.html is the cascade order, and the numeric
|
|
5
|
+
prefix is that order. No @import: it would carry no session token and
|
|
6
|
+
401. */
|
|
7
|
+
|
|
8
|
+
/* --- Stats --------------------------------------------------------------- */
|
|
9
|
+
|
|
10
|
+
.bars { display: flex; flex-direction: column; gap: var(--sp-2); }
|
|
11
|
+
.bar-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) 76px; align-items: center; gap: var(--sp-3); font-size: 13px; }
|
|
12
|
+
.bar-label { font-family: var(--mono); color: var(--text-dim); }
|
|
13
|
+
.bar-track { height: 8px; background: var(--surface-2); border-radius: 4px; overflow: hidden; }
|
|
14
|
+
.bar-fill {
|
|
15
|
+
height: 100%;
|
|
16
|
+
background: var(--accent);
|
|
17
|
+
border-radius: 4px;
|
|
18
|
+
width: 0;
|
|
19
|
+
transition: width var(--dur-slow) var(--ease);
|
|
20
|
+
}
|
|
21
|
+
.bar-value { text-align: right; color: var(--text-faint); font-size: 12px; }
|
|
22
|
+
|
|
23
|
+
/* --- tabs (Stats: Usage | Cost) */
|
|
24
|
+
.tabs { display: flex; gap: var(--sp-2); border-bottom: 1px solid var(--border); }
|
|
25
|
+
.tab {
|
|
26
|
+
background: none; border: none; border-bottom: 2px solid transparent;
|
|
27
|
+
color: var(--text-dim); font: inherit; font-size: 13px;
|
|
28
|
+
padding: var(--sp-2) var(--sp-3); cursor: pointer;
|
|
29
|
+
}
|
|
30
|
+
.tab:hover { color: var(--text); }
|
|
31
|
+
.tab-on { color: var(--text); border-bottom-color: var(--accent); }
|
|
32
|
+
|
|
33
|
+
/* --- the unit switch */
|
|
34
|
+
.seg-ctl { display: inline-flex; border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
|
|
35
|
+
.seg-btn {
|
|
36
|
+
background: none; border: none; color: var(--text-dim);
|
|
37
|
+
font: inherit; font-size: 12px; padding: 4px 10px; cursor: pointer;
|
|
38
|
+
}
|
|
39
|
+
.seg-btn + .seg-btn { border-left: 1px solid var(--border); }
|
|
40
|
+
.seg-on { background: var(--accent-wash); color: var(--accent); }
|
|
41
|
+
|
|
42
|
+
/* --- the four-part token bar. THE SEGMENTS EXIST SO CACHE-READ IS VISIBLY
|
|
43
|
+
SEPARATE; a single fill would re-hide exactly what it is here to expose. */
|
|
44
|
+
.bar-stack { display: flex; height: 100%; width: 0; transition: width .32s ease; }
|
|
45
|
+
.bar-seg { height: 100%; flex-grow: 0; flex-basis: 0; transition: flex-grow .32s ease; }
|
|
46
|
+
.seg-in { background: var(--accent); }
|
|
47
|
+
.seg-cw { background: var(--warn); }
|
|
48
|
+
.seg-cr { background: var(--border); }
|
|
49
|
+
.seg-out { background: var(--bad); }
|
|
50
|
+
.bar-none { font-size: 11.5px; color: var(--text-dim); padding-left: var(--sp-2); line-height: 8px; }
|
|
51
|
+
.bar-mark { color: var(--accent); font-family: var(--mono); }
|
|
52
|
+
|
|
53
|
+
.legend { display: flex; gap: var(--sp-4); flex-wrap: wrap; font-size: 11.5px; color: var(--text-dim); }
|
|
54
|
+
.legend-item { display: inline-flex; align-items: center; gap: 6px; }
|
|
55
|
+
.legend-dot { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
|
|
56
|
+
|
|
57
|
+
/* --- tables (wiki plan, cost bands) */
|
|
58
|
+
.tbl { width: 100%; border-collapse: collapse; font-size: 12.5px; display: block; overflow-x: auto;
|
|
59
|
+
scrollbar-width: thin; scrollbar-color: var(--border) transparent; }
|
|
60
|
+
.tbl::-webkit-scrollbar { height: 8px; }
|
|
61
|
+
.tbl::-webkit-scrollbar-track { background: transparent; }
|
|
62
|
+
.tbl::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
|
|
63
|
+
.tbl th {
|
|
64
|
+
text-align: left; font-weight: 600; font-size: 11px; text-transform: uppercase;
|
|
65
|
+
letter-spacing: .06em; color: var(--text-dim); padding: var(--sp-2) var(--sp-3);
|
|
66
|
+
border-bottom: 1px solid var(--border); white-space: nowrap;
|
|
67
|
+
}
|
|
68
|
+
.tbl td { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--border); vertical-align: middle; }
|
|
69
|
+
.tbl td.num { text-align: right; font-family: var(--mono); white-space: nowrap; }
|
|
70
|
+
/* A zero-use row and a thin-sample row KEEP THEIR SLOT and render muted. Hiding
|
|
71
|
+
either would make "measured and unused" look identical to "not there". */
|
|
72
|
+
.row-muted td { opacity: .55; }
|
|
73
|
+
.row-soft td { opacity: .62; }
|
|
74
|
+
.row-note td { border-bottom: none; padding-top: 0; color: var(--text-dim); font-size: 11.5px; }
|
|
75
|
+
|
|
76
|
+
.usage-rows { display: flex; flex-direction: column; gap: var(--sp-2); }
|
|
77
|
+
.usage-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px 52px 90px; gap: var(--sp-3); align-items: center; font-size: 12.5px; }
|
|
78
|
+
.usage-row .mono { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
79
|
+
|
|
80
|
+
.form { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--sp-2) var(--sp-3); align-items: center; }
|
|
81
|
+
.form label { font-size: 12.5px; color: var(--text-dim); }
|
|
82
|
+
|
|
83
|
+
@media (max-width: 720px) {
|
|
84
|
+
.usage-row { grid-template-columns: minmax(0, 1fr) 52px; }
|
|
85
|
+
.usage-row .bar-track, .usage-row .note { display: none; }
|
|
86
|
+
.form { grid-template-columns: minmax(0, 1fr); }
|
|
87
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* fixtures/boundary.js — canned data for `orc ui --fixtures`.
|
|
3
|
+
Boundary cards with a REFUSE that carries its checklist, an ESCALATE with a
|
|
4
|
+
named person, and an EXECUTE.
|
|
5
|
+
|
|
6
|
+
THE RULE FOR EVERY FILE IN HERE: carry ONE OF EVERY STATE, including the
|
|
7
|
+
ugly ones. You cannot DESIGN a STALE chip on a fresh wiki, and a state
|
|
8
|
+
with no fixture is a state nobody has ever looked at. A per-state count
|
|
9
|
+
test asserts this, so a new state cannot ship without one.
|
|
10
|
+
|
|
11
|
+
Shapes MUST match what `bin/cli.js --json` really emits — a drifted
|
|
12
|
+
fixture is worse than no fixture. */
|
|
13
|
+
|
|
14
|
+
const { PROJECT } = require("./shell.js");
|
|
15
|
+
|
|
16
|
+
const boundary = {
|
|
17
|
+
ok: true,
|
|
18
|
+
dir: PROJECT + "/.claude/orc/boundary",
|
|
19
|
+
counts: { EXECUTE: 2, ESCALATE: 1, REFUSE: 1 },
|
|
20
|
+
stale: 1,
|
|
21
|
+
malformed: [],
|
|
22
|
+
line: "boundary: 2 execute · 1 escalate · 1 refuse (1 stale)",
|
|
23
|
+
cards: [
|
|
24
|
+
{
|
|
25
|
+
file: "src-payments.md",
|
|
26
|
+
path: PROJECT + "/.claude/orc/boundary/src-payments.md",
|
|
27
|
+
area: "src/payments",
|
|
28
|
+
verdict: "REFUSE",
|
|
29
|
+
checklist: [
|
|
30
|
+
"add a test runner to this package",
|
|
31
|
+
"cover the idempotency path",
|
|
32
|
+
"record the money invariant in PACT.md",
|
|
33
|
+
],
|
|
34
|
+
escalate_to: null,
|
|
35
|
+
anchored_files: ["src/payments/ledger.ts", "src/payments/idempotency.ts"],
|
|
36
|
+
verified_commit: "8a62b4f1c9",
|
|
37
|
+
distance: 0,
|
|
38
|
+
stale: false,
|
|
39
|
+
malformed: [],
|
|
40
|
+
reasons: [
|
|
41
|
+
"self-verify: no — no test runner in this package",
|
|
42
|
+
"reversible: no — writes to a live ledger",
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
file: "db-migrations.md",
|
|
47
|
+
path: PROJECT + "/.claude/orc/boundary/db-migrations.md",
|
|
48
|
+
area: "db/migrations",
|
|
49
|
+
verdict: "ESCALATE",
|
|
50
|
+
checklist: [],
|
|
51
|
+
escalate_to: "the data owner",
|
|
52
|
+
anchored_files: ["db/migrations"],
|
|
53
|
+
verified_commit: "c273793aa1",
|
|
54
|
+
distance: 0,
|
|
55
|
+
stale: false,
|
|
56
|
+
malformed: [],
|
|
57
|
+
reasons: ["reversible: no — a forward migration on live rows", "decision: yes — the rollout window is not ORC's call"],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
file: "web-locales.md",
|
|
61
|
+
path: PROJECT + "/.claude/orc/boundary/web-locales.md",
|
|
62
|
+
area: "web/locales",
|
|
63
|
+
verdict: "EXECUTE",
|
|
64
|
+
checklist: [],
|
|
65
|
+
escalate_to: null,
|
|
66
|
+
anchored_files: ["web/locales/en.json"],
|
|
67
|
+
verified_commit: "783f6971aa",
|
|
68
|
+
distance: 0,
|
|
69
|
+
stale: false,
|
|
70
|
+
malformed: [],
|
|
71
|
+
reasons: ["self-verify: yes — `npm run i18n:check`", "reversible: yes — one git checkout"],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
file: "src-notifications.md",
|
|
75
|
+
path: PROJECT + "/.claude/orc/boundary/src-notifications.md",
|
|
76
|
+
area: "src/notifications",
|
|
77
|
+
verdict: "EXECUTE",
|
|
78
|
+
checklist: [],
|
|
79
|
+
escalate_to: null,
|
|
80
|
+
anchored_files: ["src/notifications/dispatcher.ts"],
|
|
81
|
+
verified_commit: "9f2c41ab8d",
|
|
82
|
+
// STALE: the evidence moved. Not a wrong card — one whose four answers
|
|
83
|
+
// were computed against a commit that is 12 behind.
|
|
84
|
+
distance: 12,
|
|
85
|
+
stale: true,
|
|
86
|
+
malformed: [],
|
|
87
|
+
reasons: ["self-verify: yes — covered by test/notifications", "reversible: yes"],
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
module.exports = { boundary };
|