@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,268 @@
|
|
|
1
|
+
/* panels/mockrun.css — orc ui
|
|
2
|
+
The gallery, the document pane, and the markdown-as-DOM rules renderMd emits.
|
|
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
|
+
/* --- Mocked skill use ---------------------------------------------------- */
|
|
9
|
+
/* Two states in one pane: a GALLERY of every mocked run, and one DOCUMENT.
|
|
10
|
+
Same rail-plus-pane skeleton as Learn — the two panels are the same kind of
|
|
11
|
+
thing (reading, not doing), and giving them different furniture would be a
|
|
12
|
+
difference that means nothing. */
|
|
13
|
+
|
|
14
|
+
.mock {
|
|
15
|
+
display: grid;
|
|
16
|
+
grid-template-columns: 244px minmax(0, 1fr);
|
|
17
|
+
gap: var(--sp-4);
|
|
18
|
+
align-items: start;
|
|
19
|
+
}
|
|
20
|
+
.mock-side {
|
|
21
|
+
position: sticky;
|
|
22
|
+
top: var(--sp-3);
|
|
23
|
+
display: flex;
|
|
24
|
+
flex-direction: column;
|
|
25
|
+
gap: var(--sp-2);
|
|
26
|
+
padding: var(--sp-3);
|
|
27
|
+
background: var(--surface);
|
|
28
|
+
border: 1px solid var(--line);
|
|
29
|
+
border-radius: var(--radius);
|
|
30
|
+
max-height: calc(100vh - var(--sp-6));
|
|
31
|
+
}
|
|
32
|
+
.mock-side-head {
|
|
33
|
+
font-size: 11px;
|
|
34
|
+
text-transform: uppercase;
|
|
35
|
+
letter-spacing: .07em;
|
|
36
|
+
color: var(--text-faint);
|
|
37
|
+
padding: 0 var(--sp-2);
|
|
38
|
+
}
|
|
39
|
+
.mock-side .text-input { font-family: var(--font); font-size: 12.5px; padding: 5px 9px; }
|
|
40
|
+
.mock-nav {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
gap: 1px;
|
|
44
|
+
overflow-y: auto;
|
|
45
|
+
min-height: 0;
|
|
46
|
+
scrollbar-width: thin;
|
|
47
|
+
scrollbar-color: var(--line) transparent;
|
|
48
|
+
}
|
|
49
|
+
.mock-nav::-webkit-scrollbar { width: 9px; }
|
|
50
|
+
.mock-nav::-webkit-scrollbar-track { background: transparent; }
|
|
51
|
+
.mock-nav::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
|
|
52
|
+
.mock-nav-group {
|
|
53
|
+
font-size: 10.5px;
|
|
54
|
+
text-transform: uppercase;
|
|
55
|
+
letter-spacing: .07em;
|
|
56
|
+
color: var(--text-faint);
|
|
57
|
+
padding: var(--sp-3) var(--sp-2) 2px;
|
|
58
|
+
}
|
|
59
|
+
.mock-nav-item {
|
|
60
|
+
display: flex;
|
|
61
|
+
align-items: center;
|
|
62
|
+
justify-content: space-between;
|
|
63
|
+
gap: var(--sp-2);
|
|
64
|
+
padding: 5px var(--sp-2);
|
|
65
|
+
border: 0;
|
|
66
|
+
border-radius: var(--radius-sm);
|
|
67
|
+
background: transparent;
|
|
68
|
+
color: var(--text-dim);
|
|
69
|
+
text-align: left;
|
|
70
|
+
font: inherit;
|
|
71
|
+
font-size: 12.5px;
|
|
72
|
+
cursor: pointer;
|
|
73
|
+
transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
|
|
74
|
+
}
|
|
75
|
+
.mock-nav-item:hover { background: var(--surface-2); color: var(--text); }
|
|
76
|
+
.mock-nav-item[aria-current="true"] {
|
|
77
|
+
background: var(--accent-wash);
|
|
78
|
+
color: var(--text);
|
|
79
|
+
box-shadow: inset 2px 0 0 var(--accent);
|
|
80
|
+
}
|
|
81
|
+
.mock-nav-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--mono); font-size: 12px; }
|
|
82
|
+
.mock-nav-tag { font-size: 9.5px; color: var(--text-faint); text-transform: uppercase; letter-spacing: .06em; flex: none; }
|
|
83
|
+
|
|
84
|
+
.mock-pane {
|
|
85
|
+
background: var(--surface);
|
|
86
|
+
border: 1px solid var(--line);
|
|
87
|
+
border-radius: var(--radius);
|
|
88
|
+
padding: var(--sp-5);
|
|
89
|
+
min-width: 0;
|
|
90
|
+
animation: learn-in var(--dur) var(--ease);
|
|
91
|
+
}
|
|
92
|
+
.mock-intro { margin-bottom: var(--sp-4); }
|
|
93
|
+
.mock-group + .mock-group { margin-top: var(--sp-5); }
|
|
94
|
+
.mock-group-head {
|
|
95
|
+
font-size: 11px;
|
|
96
|
+
text-transform: uppercase;
|
|
97
|
+
letter-spacing: .07em;
|
|
98
|
+
color: var(--text-faint);
|
|
99
|
+
margin-bottom: var(--sp-3);
|
|
100
|
+
}
|
|
101
|
+
.mock-grid {
|
|
102
|
+
display: grid;
|
|
103
|
+
grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
|
|
104
|
+
gap: var(--sp-3);
|
|
105
|
+
}
|
|
106
|
+
/* The cards arrive in reading order rather than all at once — the same idea as
|
|
107
|
+
`.stack > *`, but the delay is a variable because a grid has no useful
|
|
108
|
+
nth-child ladder. Reduced motion zeroes it centrally. */
|
|
109
|
+
.mock-card {
|
|
110
|
+
display: flex;
|
|
111
|
+
flex-direction: column;
|
|
112
|
+
gap: var(--sp-2);
|
|
113
|
+
text-align: left;
|
|
114
|
+
font: inherit;
|
|
115
|
+
cursor: pointer;
|
|
116
|
+
padding: var(--sp-3);
|
|
117
|
+
background: var(--surface-2);
|
|
118
|
+
border: 1px solid var(--line);
|
|
119
|
+
border-radius: var(--radius-sm);
|
|
120
|
+
color: var(--text-dim);
|
|
121
|
+
animation: block-in var(--dur) var(--ease) backwards;
|
|
122
|
+
animation-delay: calc(var(--i, 0) * 35ms);
|
|
123
|
+
transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease),
|
|
124
|
+
transform var(--dur-fast) var(--ease);
|
|
125
|
+
}
|
|
126
|
+
.mock-card:hover {
|
|
127
|
+
border-color: var(--accent);
|
|
128
|
+
background: var(--surface-3);
|
|
129
|
+
transform: translateY(-2px);
|
|
130
|
+
}
|
|
131
|
+
.mock-card-top { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
|
|
132
|
+
.mock-card-lane { font-family: var(--mono); font-size: 12.5px; color: var(--text); }
|
|
133
|
+
.mock-card-sum {
|
|
134
|
+
font-size: 12.5px;
|
|
135
|
+
line-height: 1.55;
|
|
136
|
+
display: -webkit-box;
|
|
137
|
+
-webkit-line-clamp: 3;
|
|
138
|
+
-webkit-box-orient: vertical;
|
|
139
|
+
overflow: hidden;
|
|
140
|
+
}
|
|
141
|
+
.mock-card-foot { font-size: 11px; color: var(--text-faint); font-variant-numeric: tabular-nums; }
|
|
142
|
+
|
|
143
|
+
.mock-back { margin-bottom: var(--sp-3); }
|
|
144
|
+
.mock-doc-head { border-bottom: 1px solid var(--line-soft); padding-bottom: var(--sp-3); }
|
|
145
|
+
.mock-doc-title { font-size: 19px; font-weight: 600; letter-spacing: -.01em; }
|
|
146
|
+
.mock-doc-meta { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-2); }
|
|
147
|
+
.mock-doc-path, .mock-doc-lines { font-family: var(--mono); font-size: 11px; color: var(--text-faint); }
|
|
148
|
+
.mock-doc-lane {
|
|
149
|
+
font-family: var(--mono);
|
|
150
|
+
font-size: 12px;
|
|
151
|
+
color: var(--accent);
|
|
152
|
+
background: var(--accent-wash);
|
|
153
|
+
border-radius: 100px;
|
|
154
|
+
padding: 2px 10px;
|
|
155
|
+
}
|
|
156
|
+
.mock-doc-foot {
|
|
157
|
+
display: flex;
|
|
158
|
+
align-items: center;
|
|
159
|
+
gap: var(--sp-2);
|
|
160
|
+
flex-wrap: wrap;
|
|
161
|
+
margin-top: var(--sp-5);
|
|
162
|
+
padding-top: var(--sp-4);
|
|
163
|
+
border-top: 1px solid var(--line-soft);
|
|
164
|
+
}
|
|
165
|
+
.mock-doc-foot .btn:last-child { margin-left: auto; }
|
|
166
|
+
|
|
167
|
+
/* --- markdown, rendered as DOM (never innerHTML) */
|
|
168
|
+
.mock-article { max-width: 78ch; }
|
|
169
|
+
.md-h { font-weight: 600; letter-spacing: -.01em; color: var(--text); margin-top: var(--sp-5); }
|
|
170
|
+
.md-h2 { font-size: 16px; }
|
|
171
|
+
.md-h3 { font-size: 14px; }
|
|
172
|
+
.md-h4, .md-h5, .md-h6 { font-size: 13px; color: var(--text-dim); }
|
|
173
|
+
.md-p { font-size: 13.5px; line-height: 1.75; color: var(--text-dim); margin-top: var(--sp-3); }
|
|
174
|
+
.md-hr { border: 0; border-top: 1px solid var(--line-soft); margin: var(--sp-5) 0; }
|
|
175
|
+
.md-quote {
|
|
176
|
+
margin-top: var(--sp-3);
|
|
177
|
+
padding: var(--sp-2) var(--sp-3);
|
|
178
|
+
border-left: 2px solid var(--accent);
|
|
179
|
+
background: var(--accent-wash);
|
|
180
|
+
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
|
181
|
+
font-size: 13px;
|
|
182
|
+
line-height: 1.6;
|
|
183
|
+
color: var(--text);
|
|
184
|
+
}
|
|
185
|
+
.md-list { margin-top: var(--sp-3); display: flex; flex-direction: column; gap: 4px; list-style: none; }
|
|
186
|
+
.md-li {
|
|
187
|
+
font-size: 13px;
|
|
188
|
+
line-height: 1.65;
|
|
189
|
+
color: var(--text-dim);
|
|
190
|
+
padding-left: var(--sp-4);
|
|
191
|
+
position: relative;
|
|
192
|
+
}
|
|
193
|
+
.md-li::before { content: "•"; position: absolute; left: var(--sp-2); color: var(--accent); }
|
|
194
|
+
.md-li-1 { margin-left: var(--sp-4); }
|
|
195
|
+
.md-li-2 { margin-left: var(--sp-6); }
|
|
196
|
+
ol.md-list { counter-reset: md; }
|
|
197
|
+
ol.md-list .md-li::before { counter-increment: md; content: counter(md) "."; font-family: var(--mono); font-size: 11px; }
|
|
198
|
+
|
|
199
|
+
/* A transcript is the point of these documents, so the code box is the loudest
|
|
200
|
+
thing on the page and it scrolls itself rather than the article. */
|
|
201
|
+
.md-codebox { position: relative; margin-top: var(--sp-3); }
|
|
202
|
+
.md-code {
|
|
203
|
+
font-family: var(--mono);
|
|
204
|
+
font-size: 12px;
|
|
205
|
+
line-height: 1.6;
|
|
206
|
+
color: var(--text);
|
|
207
|
+
background: var(--bg);
|
|
208
|
+
border: 1px solid var(--line);
|
|
209
|
+
border-radius: var(--radius-sm);
|
|
210
|
+
padding: var(--sp-3) var(--sp-4);
|
|
211
|
+
overflow-x: auto;
|
|
212
|
+
white-space: pre;
|
|
213
|
+
}
|
|
214
|
+
.md-code-copy { position: absolute; top: 6px; right: 8px; opacity: 0; transition: opacity var(--dur-fast) var(--ease); }
|
|
215
|
+
.md-codebox:hover .md-code-copy, .md-code-copy:focus-visible { opacity: 1; }
|
|
216
|
+
.md-code-inline {
|
|
217
|
+
font-family: var(--mono);
|
|
218
|
+
font-size: 11.5px;
|
|
219
|
+
background: var(--surface-3);
|
|
220
|
+
border-radius: 4px;
|
|
221
|
+
padding: 1px 5px;
|
|
222
|
+
color: var(--text);
|
|
223
|
+
}
|
|
224
|
+
.md-tablewrap {
|
|
225
|
+
margin-top: var(--sp-3);
|
|
226
|
+
overflow-x: auto;
|
|
227
|
+
scrollbar-width: thin;
|
|
228
|
+
scrollbar-color: var(--line) transparent;
|
|
229
|
+
}
|
|
230
|
+
.md-tablewrap::-webkit-scrollbar { height: 9px; }
|
|
231
|
+
.md-tablewrap::-webkit-scrollbar-track { background: transparent; }
|
|
232
|
+
.md-tablewrap::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
|
|
233
|
+
.md-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
|
|
234
|
+
.md-table th {
|
|
235
|
+
text-align: left;
|
|
236
|
+
font-weight: 600;
|
|
237
|
+
font-size: 11px;
|
|
238
|
+
text-transform: uppercase;
|
|
239
|
+
letter-spacing: .06em;
|
|
240
|
+
color: var(--text-faint);
|
|
241
|
+
padding: var(--sp-2) var(--sp-3);
|
|
242
|
+
border-bottom: 1px solid var(--line);
|
|
243
|
+
white-space: nowrap;
|
|
244
|
+
}
|
|
245
|
+
.md-table td {
|
|
246
|
+
padding: var(--sp-2) var(--sp-3);
|
|
247
|
+
border-bottom: 1px solid var(--line-soft);
|
|
248
|
+
color: var(--text-dim);
|
|
249
|
+
vertical-align: top;
|
|
250
|
+
}
|
|
251
|
+
.md-link { color: var(--accent); text-decoration: none; }
|
|
252
|
+
.md-link:hover { text-decoration: underline; }
|
|
253
|
+
.md-link-flat { color: var(--text); }
|
|
254
|
+
.md-doclink {
|
|
255
|
+
border: 0;
|
|
256
|
+
background: none;
|
|
257
|
+
padding: 0;
|
|
258
|
+
font: inherit;
|
|
259
|
+
color: var(--accent);
|
|
260
|
+
cursor: pointer;
|
|
261
|
+
border-bottom: 1px dashed var(--accent-dim);
|
|
262
|
+
}
|
|
263
|
+
.md-doclink:hover { border-bottom-style: solid; }
|
|
264
|
+
|
|
265
|
+
@media (max-width: 860px) {
|
|
266
|
+
.mock { grid-template-columns: minmax(0, 1fr); }
|
|
267
|
+
.mock-side { position: static; max-height: 320px; }
|
|
268
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/* panels/overview.css — orc ui
|
|
2
|
+
The "worth doing" list, the all-clear, a doctor finding, the rail update dot.
|
|
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
|
+
/* --- Overview: the "worth doing" list ------------------------------------ */
|
|
9
|
+
/* Each row is a decision with somewhere to go. The colour bar on the left is
|
|
10
|
+
the severity; the arrow-side label names the panel that owns the fix, which
|
|
11
|
+
is the whole reason this list exists — a finding that sends you to the wrong
|
|
12
|
+
panel is worse than a finding with no button at all. */
|
|
13
|
+
|
|
14
|
+
.todo-list { display: flex; flex-direction: column; gap: var(--sp-2); }
|
|
15
|
+
.todo {
|
|
16
|
+
display: grid;
|
|
17
|
+
grid-template-columns: 4px minmax(0, 1fr) auto;
|
|
18
|
+
align-items: center;
|
|
19
|
+
gap: var(--sp-3);
|
|
20
|
+
width: 100%;
|
|
21
|
+
padding: var(--sp-3);
|
|
22
|
+
padding-left: 0;
|
|
23
|
+
border: 1px solid var(--line);
|
|
24
|
+
border-radius: var(--radius-sm);
|
|
25
|
+
background: var(--surface-2);
|
|
26
|
+
text-align: left;
|
|
27
|
+
font: inherit;
|
|
28
|
+
color: inherit;
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease),
|
|
32
|
+
transform var(--dur-fast) var(--ease);
|
|
33
|
+
}
|
|
34
|
+
.todo:hover { border-color: var(--accent-dim); background: var(--surface-3); transform: translateX(3px); }
|
|
35
|
+
.todo-mark { align-self: stretch; background: var(--idle); }
|
|
36
|
+
.todo-bad .todo-mark { background: var(--bad); }
|
|
37
|
+
.todo-warn .todo-mark { background: var(--warn); }
|
|
38
|
+
.todo-info .todo-mark { background: var(--accent); }
|
|
39
|
+
.todo-body { min-width: 0; }
|
|
40
|
+
.todo-title { font-size: 13px; font-weight: 600; }
|
|
41
|
+
.todo-text { font-size: 12.5px; color: var(--text-dim); margin-top: 3px; }
|
|
42
|
+
/* The CLI's own words for WHY, kept visually distinct from our explanation. */
|
|
43
|
+
.todo-evidence {
|
|
44
|
+
font-family: var(--mono);
|
|
45
|
+
font-size: 11.5px;
|
|
46
|
+
color: var(--text-faint);
|
|
47
|
+
margin-top: 5px;
|
|
48
|
+
padding-left: var(--sp-3);
|
|
49
|
+
border-left: 2px solid var(--line);
|
|
50
|
+
}
|
|
51
|
+
.todo-cta { flex: none; font-size: 12px; color: var(--accent); white-space: nowrap; }
|
|
52
|
+
.todo-cta::after { content: " →"; }
|
|
53
|
+
/* The update row arrives after a network check, so it draws itself in rather
|
|
54
|
+
than appearing between two rows you were already reading. */
|
|
55
|
+
.todo-late { animation: todo-in var(--dur-slow) var(--ease); }
|
|
56
|
+
@keyframes todo-in {
|
|
57
|
+
from { opacity: 0; transform: translateY(-6px); }
|
|
58
|
+
to { opacity: 1; transform: none; }
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.all-clear { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-2) 0; }
|
|
62
|
+
.all-clear-mark {
|
|
63
|
+
display: grid;
|
|
64
|
+
place-items: center;
|
|
65
|
+
width: 34px;
|
|
66
|
+
height: 34px;
|
|
67
|
+
flex: none;
|
|
68
|
+
border-radius: 50%;
|
|
69
|
+
background: var(--ok-wash);
|
|
70
|
+
color: var(--ok);
|
|
71
|
+
font-size: 17px;
|
|
72
|
+
animation: all-clear-in var(--dur-slow) var(--ease);
|
|
73
|
+
}
|
|
74
|
+
.all-clear-title { font-size: 13px; font-weight: 600; }
|
|
75
|
+
@keyframes all-clear-in {
|
|
76
|
+
from { transform: scale(.6); opacity: 0; }
|
|
77
|
+
to { transform: none; opacity: 1; }
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* A doctor finding, with the button that goes where its fix actually is. */
|
|
81
|
+
.finding { display: flex; align-items: flex-start; gap: var(--sp-3); font-size: 12.5px; }
|
|
82
|
+
.finding > div { min-width: 0; }
|
|
83
|
+
.finding .btn { margin-top: 5px; }
|
|
84
|
+
|
|
85
|
+
/* the rail's "a newer release exists" line — one dot, every panel, never modal */
|
|
86
|
+
.rail-update {
|
|
87
|
+
display: flex;
|
|
88
|
+
align-items: center;
|
|
89
|
+
gap: 6px;
|
|
90
|
+
font-size: 11px;
|
|
91
|
+
color: var(--warn);
|
|
92
|
+
animation: rail-update-in var(--dur-slow) var(--ease);
|
|
93
|
+
}
|
|
94
|
+
.rail-update:hover { text-decoration: none; color: var(--warn); filter: brightness(1.15); }
|
|
95
|
+
@keyframes rail-update-in {
|
|
96
|
+
from { opacity: 0; transform: translateY(-4px); }
|
|
97
|
+
to { opacity: 1; transform: none; }
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.action-status { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/* panels/pact.css — orc ui
|
|
2
|
+
The promise sentence a card is ABOUT, and the "also" rows.
|
|
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
|
+
/* ==================================== PROMISES - BOUNDARY - SELF-SERVE - COST
|
|
9
|
+
(v0.46.0)
|
|
10
|
+
|
|
11
|
+
These panels are mostly composed from the primitives already above - .card,
|
|
12
|
+
.chip, .note, .bar-track, .tbl. What is genuinely new is a small set of
|
|
13
|
+
shapes that carry MEANING and therefore cannot be a generic box:
|
|
14
|
+
|
|
15
|
+
.promise the sentence a card is ABOUT - the thing you actually read
|
|
16
|
+
.checklist what would make a REFUSE a yes. It is the product, so it is
|
|
17
|
+
the most legible thing on a boundary card
|
|
18
|
+
.undo-box the undo command, shown BEFORE a write. Given its own frame
|
|
19
|
+
so it cannot be skimmed past
|
|
20
|
+
.lane-cmd a PAID action, which is a copy-able command and never a
|
|
21
|
+
button. This class is the visual form of that boundary
|
|
22
|
+
.bar-stack the four-part token bar. A single-value bar would re-hide the
|
|
23
|
+
cache-read share, which is the whole point of showing it */
|
|
24
|
+
|
|
25
|
+
.promise {
|
|
26
|
+
font-size: 14.5px;
|
|
27
|
+
line-height: 1.5;
|
|
28
|
+
color: var(--text);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.also {
|
|
32
|
+
border-left: 2px solid var(--accent);
|
|
33
|
+
padding-left: var(--sp-3);
|
|
34
|
+
}
|
|
35
|
+
.also-head {
|
|
36
|
+
font-size: 11.5px;
|
|
37
|
+
text-transform: uppercase;
|
|
38
|
+
letter-spacing: .07em;
|
|
39
|
+
color: var(--text-dim);
|
|
40
|
+
margin-bottom: var(--sp-2);
|
|
41
|
+
}
|
|
42
|
+
.also-row { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; font-size: 12.5px; }
|
|
43
|
+
.also-row + .also-row { margin-top: var(--sp-2); }
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/* panels/runs.css — orc ui
|
|
2
|
+
The run accordion and its tabs.
|
|
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
|
+
/* --- Runs ---------------------------------------------------------------- */
|
|
9
|
+
/* An ACCORDION, not a list plus a detail box below it. A row expands in place,
|
|
10
|
+
so what you clicked stays where your eye already is however long the list
|
|
11
|
+
gets — which is the failure mode the old two-column layout had: the more runs
|
|
12
|
+
a repo accumulated, the further the detail was from the thing you clicked. */
|
|
13
|
+
|
|
14
|
+
.run-list { display: flex; flex-direction: column; gap: var(--sp-2); }
|
|
15
|
+
.run-row {
|
|
16
|
+
background: var(--surface);
|
|
17
|
+
border: 1px solid var(--line);
|
|
18
|
+
border-radius: var(--radius);
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease);
|
|
21
|
+
}
|
|
22
|
+
.run-row:hover { border-color: var(--accent-dim); }
|
|
23
|
+
.run-row.open { border-color: var(--accent); box-shadow: 0 6px 22px rgba(0, 0, 0, .22); }
|
|
24
|
+
:root[data-theme="light"] .run-row.open { box-shadow: 0 6px 22px rgba(16, 24, 40, .10); }
|
|
25
|
+
|
|
26
|
+
.run-card {
|
|
27
|
+
display: grid;
|
|
28
|
+
grid-template-columns: 16px 88px minmax(0, 1fr) auto;
|
|
29
|
+
align-items: center;
|
|
30
|
+
gap: var(--sp-3);
|
|
31
|
+
padding: var(--sp-3) var(--sp-4);
|
|
32
|
+
background: transparent;
|
|
33
|
+
border: 0;
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
text-align: left;
|
|
36
|
+
width: 100%;
|
|
37
|
+
transition: background var(--dur-fast) var(--ease);
|
|
38
|
+
}
|
|
39
|
+
/* A row that NAVIGATES has no caret, so it declares one fewer column. Before
|
|
40
|
+
v0.49.2 the Overview built a three-child card against the four-column grid
|
|
41
|
+
and the chip printed over the slug — silently, because a grid never
|
|
42
|
+
complains. A card and its column count are now stated together. */
|
|
43
|
+
.run-card.no-caret { grid-template-columns: 88px minmax(0, 1fr) auto; }
|
|
44
|
+
/* An OPTIONAL second chip — the aftermath grade in Runs, "you edited it" in
|
|
45
|
+
Docs — is a fifth child, so it gets its own column rather than wrapping the
|
|
46
|
+
age onto a second row. Both panels hit this; the class names the SLOT. */
|
|
47
|
+
.run-card.has-extra { grid-template-columns: 16px 88px auto minmax(0, 1fr) auto; }
|
|
48
|
+
.run-card.no-caret.has-extra { grid-template-columns: 88px auto minmax(0, 1fr) auto; }
|
|
49
|
+
.run-card:hover { background: var(--surface-2); }
|
|
50
|
+
.run-row.open > .run-card { background: var(--surface-2); }
|
|
51
|
+
.run-caret {
|
|
52
|
+
color: var(--text-faint);
|
|
53
|
+
font-size: 11px;
|
|
54
|
+
transition: transform var(--dur) var(--ease), color var(--dur-fast) var(--ease);
|
|
55
|
+
}
|
|
56
|
+
.run-row.open .run-caret { transform: rotate(90deg); color: var(--accent); }
|
|
57
|
+
.run-mid { min-width: 0; }
|
|
58
|
+
.run-slug { font-family: var(--mono); font-size: 13px; overflow: hidden; text-overflow: ellipsis; }
|
|
59
|
+
.run-where { font-size: 12px; color: var(--text-dim); margin-top: 2px; }
|
|
60
|
+
.run-age { font-size: 12px; color: var(--text-faint); white-space: nowrap; }
|
|
61
|
+
/* Why a run was closed. It rides in the row forever: a state change nobody can
|
|
62
|
+
see the reason for is a state nobody can audit. */
|
|
63
|
+
.run-closed-why { font-size: 12px; color: var(--text-faint); margin-top: 2px; font-style: italic; }
|
|
64
|
+
/* The action that CLEARS a row sits with the row, right-aligned under it — the
|
|
65
|
+
FINDING_ROUTE principle, at row scale. */
|
|
66
|
+
.run-card-actions {
|
|
67
|
+
justify-content: flex-end;
|
|
68
|
+
padding: 0 var(--sp-4) var(--sp-3);
|
|
69
|
+
margin-top: calc(-1 * var(--sp-2));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* The fold. Same `1fr -> 0fr` grid trick as the settings tiers: `height: auto`
|
|
73
|
+
cannot be transitioned, and the inner element is what there is to collapse
|
|
74
|
+
against. Closed is the default, so a fresh list never flashes open. */
|
|
75
|
+
.run-body {
|
|
76
|
+
display: grid;
|
|
77
|
+
grid-template-rows: 0fr;
|
|
78
|
+
transition: grid-template-rows var(--dur-slow) var(--ease), opacity var(--dur) var(--ease);
|
|
79
|
+
opacity: 0;
|
|
80
|
+
}
|
|
81
|
+
.run-body-inner { min-height: 0; overflow: hidden; }
|
|
82
|
+
.run-row.open > .run-body { grid-template-rows: 1fr; opacity: 1; }
|
|
83
|
+
.run-pane { padding: var(--sp-4) var(--sp-4) var(--sp-4); border-top: 1px solid var(--line-soft); }
|
|
84
|
+
|
|
85
|
+
/* No margin-bottom — the card's own rhythm spaces the pane below it. */
|
|
86
|
+
.tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
|
|
87
|
+
.tabs button {
|
|
88
|
+
border: 0;
|
|
89
|
+
background: transparent;
|
|
90
|
+
padding: 7px var(--sp-4);
|
|
91
|
+
color: var(--text-dim);
|
|
92
|
+
cursor: pointer;
|
|
93
|
+
border-bottom: 2px solid transparent;
|
|
94
|
+
margin-bottom: -1px;
|
|
95
|
+
transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
|
|
96
|
+
}
|
|
97
|
+
.tabs button:hover { color: var(--text); }
|
|
98
|
+
.tabs button[aria-selected="true"] { color: var(--text); border-bottom-color: var(--accent); }
|
|
99
|
+
/* A tab swap replaces the pane's children; without a re-triggered fade the
|
|
100
|
+
change reads as a flicker rather than a transition. */
|
|
101
|
+
.tab-pane { animation: tab-in var(--dur) var(--ease); }
|
|
102
|
+
@keyframes tab-in {
|
|
103
|
+
from { opacity: 0; transform: translateY(4px); }
|
|
104
|
+
to { opacity: 1; transform: none; }
|
|
105
|
+
}
|