@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,177 @@
|
|
|
1
|
+
/* panels/flow.css — orc ui
|
|
2
|
+
The compiled DIY pipeline stepper, presets, and the staged-edit bar.
|
|
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
|
+
/* --- Flow stepper -------------------------------------------------------- */
|
|
9
|
+
|
|
10
|
+
/* The compiled DIY pipeline, left to right. The sweep LOOPS (v0.44.0): a single
|
|
11
|
+
pulse travels the rail every --sweep, and the rail is at rest for the ~88% of
|
|
12
|
+
the cycle in between. The stagger is per-element via --d, so the pulse moves
|
|
13
|
+
in stitch order instead of the whole rail blinking at once.
|
|
14
|
+
|
|
15
|
+
It runs forever because the rail is the one thing on this panel that says
|
|
16
|
+
"these phases happen in this order", and a one-shot said it before the card
|
|
17
|
+
had finished arriving. The long idle stretch is what keeps a permanent
|
|
18
|
+
animation from behaving like a permanent distraction.
|
|
19
|
+
|
|
20
|
+
The ENTRANCE and the PULSE are separate animations on purpose: one animates
|
|
21
|
+
geometry (once, `backwards`, so hover keeps its transform afterwards), the
|
|
22
|
+
other animates colour (forever). Merging them is how the old rule ended up
|
|
23
|
+
with a filled `transform: none` sitting on top of the hover lift. */
|
|
24
|
+
.stepper { display: flex; align-items: stretch; gap: 0; padding: var(--sp-2) 2px var(--sp-3); min-width: min-content; --sweep: 4200ms; }
|
|
25
|
+
.step {
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
gap: 3px;
|
|
29
|
+
align-items: flex-start;
|
|
30
|
+
padding: var(--sp-2) var(--sp-3);
|
|
31
|
+
min-width: 84px;
|
|
32
|
+
border: 1px solid var(--line);
|
|
33
|
+
border-radius: var(--radius-sm);
|
|
34
|
+
background: var(--surface-2);
|
|
35
|
+
font: inherit;
|
|
36
|
+
text-align: left;
|
|
37
|
+
white-space: nowrap;
|
|
38
|
+
animation: step-in var(--dur-slow) var(--ease) var(--d, 0ms) backwards;
|
|
39
|
+
transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease),
|
|
40
|
+
transform var(--dur-fast) var(--ease);
|
|
41
|
+
/* The pulse lives on an overlay, not on the step itself. A running animation
|
|
42
|
+
wins over a transition for the SAME property, so pulsing `.step`'s own
|
|
43
|
+
border-color and background forever would have silently killed the hover
|
|
44
|
+
state on every step — a permanent animation must not cost an interaction.
|
|
45
|
+
`isolation: isolate` scopes the overlay's negative z-index to this box, so
|
|
46
|
+
it paints above the step's background and below its text. */
|
|
47
|
+
position: relative;
|
|
48
|
+
isolation: isolate;
|
|
49
|
+
}
|
|
50
|
+
.step::before {
|
|
51
|
+
content: "";
|
|
52
|
+
position: absolute;
|
|
53
|
+
inset: -1px;
|
|
54
|
+
z-index: -1;
|
|
55
|
+
border: 1px solid transparent;
|
|
56
|
+
border-radius: var(--radius-sm);
|
|
57
|
+
pointer-events: none;
|
|
58
|
+
animation: step-pulse var(--sweep) linear var(--d, 0ms) infinite;
|
|
59
|
+
}
|
|
60
|
+
button.step { cursor: pointer; }
|
|
61
|
+
button.step:hover { border-color: var(--accent-dim); background: var(--surface-3); transform: translateY(-2px); }
|
|
62
|
+
button.step:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
63
|
+
.step-name { font-family: var(--mono); font-size: 13px; color: var(--text); }
|
|
64
|
+
.step-note { font-size: 11px; color: var(--text-faint); max-width: 132px; overflow: hidden; text-overflow: ellipsis; }
|
|
65
|
+
|
|
66
|
+
/* An OFF phase keeps its slot and turns RED. It is not a dimmed absence — it is
|
|
67
|
+
a phase this flow deliberately does not run, and that is worth seeing. */
|
|
68
|
+
.step-off { border-color: var(--bad); background: var(--bad-wash); }
|
|
69
|
+
.step-off::before { animation-name: step-pulse-off; }
|
|
70
|
+
.step-off .step-name { color: var(--bad); text-decoration: line-through; text-decoration-color: rgba(240, 83, 63, .55); }
|
|
71
|
+
.step-off .step-note { color: var(--bad); }
|
|
72
|
+
button.step-off:hover { border-color: var(--bad); background: rgba(240, 83, 63, .2); }
|
|
73
|
+
|
|
74
|
+
/* Geometry only — colour belongs to the pulse. */
|
|
75
|
+
@keyframes step-in {
|
|
76
|
+
from { opacity: 0; transform: translateX(-10px); }
|
|
77
|
+
to { opacity: 1; transform: none; }
|
|
78
|
+
}
|
|
79
|
+
/* Lit for ~4% of the cycle, fully transparent for the rest of it — the overlay
|
|
80
|
+
only ever ADDS colour, so at rest the step is exactly its own styling and
|
|
81
|
+
hover works normally. An OFF phase pulses in its own red, so the loop never
|
|
82
|
+
quietly recolours it back to "running". */
|
|
83
|
+
@keyframes step-pulse {
|
|
84
|
+
0%, 12%, 100% { border-color: transparent; background: transparent; box-shadow: none; }
|
|
85
|
+
4% { border-color: var(--accent); background: var(--accent-wash); box-shadow: 0 0 0 3px var(--accent-wash); }
|
|
86
|
+
}
|
|
87
|
+
@keyframes step-pulse-off {
|
|
88
|
+
0%, 12%, 100% { border-color: transparent; background: transparent; box-shadow: none; }
|
|
89
|
+
4% { border-color: var(--bad); background: rgba(240, 83, 63, .22); box-shadow: 0 0 0 3px var(--bad-wash); }
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* The connector. The base hairline is always there; the accent segment travels
|
|
93
|
+
across it once per cycle, left to right, then fades — that IS the "in this
|
|
94
|
+
order", and it is what carries the pulse from one phase to the next. */
|
|
95
|
+
.step-link { position: relative; align-self: center; width: 22px; height: 2px; background: var(--line); flex: none; }
|
|
96
|
+
.step-flow {
|
|
97
|
+
position: absolute;
|
|
98
|
+
inset: 0;
|
|
99
|
+
background: var(--accent);
|
|
100
|
+
transform-origin: left center;
|
|
101
|
+
transform: scaleX(0);
|
|
102
|
+
animation: step-flow var(--sweep) linear var(--d, 0ms) infinite;
|
|
103
|
+
}
|
|
104
|
+
@keyframes step-flow {
|
|
105
|
+
0% { transform: scaleX(0); opacity: 1; }
|
|
106
|
+
4% { transform: scaleX(1); opacity: 1; }
|
|
107
|
+
9% { transform: scaleX(1); opacity: 0; }
|
|
108
|
+
9.01%, 100% { transform: scaleX(0); opacity: 0; }
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* A shipped starting shape for the flow. Same two-column row as `.action` on
|
|
112
|
+
Maintenance — it is the same kind of thing: a named CLI invocation with its
|
|
113
|
+
command visible before you press it. */
|
|
114
|
+
.preset-row {
|
|
115
|
+
display: grid;
|
|
116
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
117
|
+
gap: var(--sp-4);
|
|
118
|
+
align-items: center;
|
|
119
|
+
padding: var(--sp-3);
|
|
120
|
+
border: 1px solid var(--line-soft);
|
|
121
|
+
border-radius: var(--radius-sm);
|
|
122
|
+
background: var(--surface-2);
|
|
123
|
+
transition: border-color var(--dur-fast) var(--ease);
|
|
124
|
+
}
|
|
125
|
+
.preset-row:hover { border-color: var(--accent-dim); }
|
|
126
|
+
.preset-head { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
|
|
127
|
+
/* The shape you are already on. It keeps its row (removing it would make "you
|
|
128
|
+
are on lean" and "lean does not exist" look the same) and loses its button. */
|
|
129
|
+
.preset-active { border-color: var(--ok); background: var(--ok-wash); }
|
|
130
|
+
.preset-active:hover { border-color: var(--ok); }
|
|
131
|
+
|
|
132
|
+
/* --- Staged edits -------------------------------------------------------- */
|
|
133
|
+
|
|
134
|
+
/* A row with an unwritten change. The marker is on the LEFT edge and the label
|
|
135
|
+
is beside the key, because the control itself already shows the new value —
|
|
136
|
+
what is missing without this is "and it has not been written yet". */
|
|
137
|
+
.setting.staged {
|
|
138
|
+
border-left: 2px solid var(--accent);
|
|
139
|
+
padding-left: calc(var(--sp-3) - 2px);
|
|
140
|
+
background: var(--accent-wash);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.edit-bar {
|
|
144
|
+
display: flex;
|
|
145
|
+
align-items: center;
|
|
146
|
+
gap: var(--sp-4);
|
|
147
|
+
flex-wrap: wrap;
|
|
148
|
+
padding: var(--sp-3) var(--sp-4);
|
|
149
|
+
border: 1px solid var(--line);
|
|
150
|
+
border-radius: var(--radius);
|
|
151
|
+
background: var(--surface-2);
|
|
152
|
+
transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
|
|
153
|
+
}
|
|
154
|
+
/* It follows you ONLY while there is something to lose. A permanently sticky
|
|
155
|
+
bar is a permanently smaller viewport; a bar you have to scroll to find is an
|
|
156
|
+
Apply that gets forgotten. Dirty is the one state where both matter. */
|
|
157
|
+
.edit-bar-dirty {
|
|
158
|
+
position: sticky;
|
|
159
|
+
bottom: var(--sp-4);
|
|
160
|
+
z-index: 6;
|
|
161
|
+
border-color: var(--accent-dim);
|
|
162
|
+
background: var(--surface-3);
|
|
163
|
+
box-shadow: var(--shadow);
|
|
164
|
+
}
|
|
165
|
+
.edit-summary { flex: 1 1 260px; min-width: 0; }
|
|
166
|
+
.edit-actions { display: flex; gap: var(--sp-2); flex: none; margin-left: auto; }
|
|
167
|
+
.edit-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
|
|
168
|
+
.edit-chip {
|
|
169
|
+
font-family: var(--mono);
|
|
170
|
+
font-size: 11px;
|
|
171
|
+
color: var(--text-dim);
|
|
172
|
+
background: var(--surface);
|
|
173
|
+
border: 1px solid var(--line);
|
|
174
|
+
border-radius: 100px;
|
|
175
|
+
padding: 1px 9px;
|
|
176
|
+
}
|
|
177
|
+
.edit-key { color: var(--accent); }
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/* panels/handoff.css — orc ui
|
|
2
|
+
The undo box (shown BEFORE a write) and .lane-cmd — the visual form of
|
|
3
|
+
"a PAID action is a copy-able command, never a button".
|
|
4
|
+
|
|
5
|
+
The <link> ORDER in app.html is the cascade order, and the numeric
|
|
6
|
+
prefix is that order. No @import: it would carry no session token and
|
|
7
|
+
401. */
|
|
8
|
+
|
|
9
|
+
.lane-cmd {
|
|
10
|
+
border: 1px dashed var(--border);
|
|
11
|
+
border-radius: var(--radius-sm);
|
|
12
|
+
padding: var(--sp-3);
|
|
13
|
+
}
|
|
14
|
+
.lane-cmd-head {
|
|
15
|
+
font-size: 11.5px;
|
|
16
|
+
text-transform: uppercase;
|
|
17
|
+
letter-spacing: .07em;
|
|
18
|
+
color: var(--text-dim);
|
|
19
|
+
margin-bottom: var(--sp-2);
|
|
20
|
+
}
|
|
21
|
+
.cmd {
|
|
22
|
+
font-family: var(--mono);
|
|
23
|
+
font-size: 12.5px;
|
|
24
|
+
background: var(--surface-2);
|
|
25
|
+
border-radius: var(--radius-sm);
|
|
26
|
+
padding: var(--sp-2) var(--sp-3);
|
|
27
|
+
margin: 0;
|
|
28
|
+
overflow-x: auto;
|
|
29
|
+
white-space: pre;
|
|
30
|
+
/* Transparent track, both syntaxes - neither falls back to the other. */
|
|
31
|
+
scrollbar-width: thin;
|
|
32
|
+
scrollbar-color: var(--border) transparent;
|
|
33
|
+
}
|
|
34
|
+
.cmd::-webkit-scrollbar { height: 8px; }
|
|
35
|
+
.cmd::-webkit-scrollbar-track { background: transparent; }
|
|
36
|
+
.cmd::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
|
|
37
|
+
|
|
38
|
+
/* The undo command, before the write. Framed in the warning colour because the
|
|
39
|
+
moment it matters is a moment somebody is worried. */
|
|
40
|
+
.undo-box {
|
|
41
|
+
border: 1px solid var(--warn);
|
|
42
|
+
border-radius: var(--radius-sm);
|
|
43
|
+
padding: var(--sp-3);
|
|
44
|
+
background: var(--warn-wash);
|
|
45
|
+
}
|
|
46
|
+
.undo-head { font-size: 12px; color: var(--warn); margin-bottom: var(--sp-2); font-weight: 600; }
|
|
47
|
+
|
|
48
|
+
.free-box {
|
|
49
|
+
border: 1px solid var(--ok);
|
|
50
|
+
background: var(--ok-wash);
|
|
51
|
+
border-radius: var(--radius-sm);
|
|
52
|
+
padding: var(--sp-3);
|
|
53
|
+
}
|
|
54
|
+
.free-head { font-size: 12px; color: var(--ok); font-weight: 600; margin-bottom: var(--sp-2); }
|
|
55
|
+
.free-row { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; font-size: 12.5px; }
|
|
56
|
+
.free-row + .free-row { margin-top: var(--sp-2); }
|
|
57
|
+
|
|
58
|
+
.after-box {
|
|
59
|
+
border-left: 2px solid var(--warn);
|
|
60
|
+
padding-left: var(--sp-3);
|
|
61
|
+
}
|
|
62
|
+
.after-head {
|
|
63
|
+
font-size: 11.5px; text-transform: uppercase; letter-spacing: .07em;
|
|
64
|
+
color: var(--text-dim); margin-bottom: var(--sp-2);
|
|
65
|
+
}
|
|
66
|
+
.after-row { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; font-size: 12.5px; }
|
|
67
|
+
.after-row + .after-row { margin-top: var(--sp-2); }
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* panels/knowledge.css — the Knowledge panel (v0.49.1).
|
|
2
|
+
|
|
3
|
+
Five tabs' worth of surface. Loaded by app.html in the order its <link> sits
|
|
4
|
+
in that manifest, and for CSS the load order IS the cascade order — which is
|
|
5
|
+
why 06-responsive and 04-motion come after every panel sheet.
|
|
6
|
+
|
|
7
|
+
NO COLOUR TOKEN IS DEFINED HERE. Every one of them is declared once, on bare
|
|
8
|
+
:root, in 00-tokens.css. */
|
|
9
|
+
|
|
10
|
+
/* --- the header strip (v0.49.1) ------------------------------------------ */
|
|
11
|
+
/* Above the tabs, on every one of them: what ORC knows about this repo, in one
|
|
12
|
+
line. A `—` means the CLI could not compute it, and that is an ANSWER. */
|
|
13
|
+
.kn-strip {
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-wrap: wrap;
|
|
16
|
+
gap: var(--sp-4);
|
|
17
|
+
padding: var(--sp-3);
|
|
18
|
+
border: 1px solid var(--line-soft);
|
|
19
|
+
border-radius: var(--radius-sm);
|
|
20
|
+
margin-bottom: var(--sp-3);
|
|
21
|
+
}
|
|
22
|
+
.kn-strip-item { display: grid; gap: 2px; }
|
|
23
|
+
.kn-strip-value { font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }
|
|
24
|
+
.kn-strip-label { font-size: 11px; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; }
|
|
25
|
+
|
|
26
|
+
/* --- the per-doc tier bar + the coverage bar ------------------------------ */
|
|
27
|
+
.kn-tierbar {
|
|
28
|
+
display: flex;
|
|
29
|
+
height: 8px;
|
|
30
|
+
min-width: 120px;
|
|
31
|
+
flex: 1;
|
|
32
|
+
border-radius: 4px;
|
|
33
|
+
overflow: hidden;
|
|
34
|
+
background: var(--line-soft);
|
|
35
|
+
}
|
|
36
|
+
.kn-tierbar-seg { width: var(--w); }
|
|
37
|
+
.kn-tier-ok { background: var(--ok); }
|
|
38
|
+
.kn-tier-warn { background: var(--warn); }
|
|
39
|
+
.kn-tier-bad { background: var(--bad); }
|
|
40
|
+
.kn-tier-idle { background: var(--idle); }
|
|
41
|
+
|
|
42
|
+
.kn-coverage { display: flex; align-items: baseline; gap: var(--sp-3); margin-bottom: var(--sp-2); }
|
|
43
|
+
.kn-coverage-num { font-size: 34px; font-weight: 600; font-variant-numeric: tabular-nums; }
|
|
44
|
+
|
|
45
|
+
/* --- rows that expand IN PLACE ------------------------------------------- */
|
|
46
|
+
/* One at a time, detail fetched on first open, and NO detail box below the
|
|
47
|
+
table — the Runs-row rule. */
|
|
48
|
+
.kn-doc-row { cursor: pointer; }
|
|
49
|
+
.kn-doc-row:hover td { background: var(--surface-2); }
|
|
50
|
+
.kn-doc-row.open td { background: var(--surface-2); }
|
|
51
|
+
.kn-doc-detail > td { background: var(--surface-2); padding: var(--sp-3); }
|
|
52
|
+
|
|
53
|
+
/* --- revealed prose ------------------------------------------------------- */
|
|
54
|
+
/* Rendered as DOM by renderMd, never as HTML. It scrolls INSIDE itself; the page
|
|
55
|
+
body never scrolls horizontally. */
|
|
56
|
+
.kn-body {
|
|
57
|
+
margin-top: var(--sp-2);
|
|
58
|
+
max-height: 420px;
|
|
59
|
+
overflow: auto;
|
|
60
|
+
padding: var(--sp-3);
|
|
61
|
+
border: 1px solid var(--line-soft);
|
|
62
|
+
border-radius: var(--radius-sm);
|
|
63
|
+
scrollbar-width: thin;
|
|
64
|
+
scrollbar-color: var(--line) transparent;
|
|
65
|
+
}
|
|
66
|
+
.kn-body::-webkit-scrollbar { width: 8px; height: 8px; }
|
|
67
|
+
.kn-body::-webkit-scrollbar-track { background: transparent; }
|
|
68
|
+
.kn-body::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }
|
|
69
|
+
|
|
70
|
+
/* --- patterns ------------------------------------------------------------- */
|
|
71
|
+
.kn-pattern {
|
|
72
|
+
border: 1px solid var(--line-soft);
|
|
73
|
+
border-radius: var(--radius-sm);
|
|
74
|
+
padding: var(--sp-3);
|
|
75
|
+
margin-top: var(--sp-2);
|
|
76
|
+
display: grid;
|
|
77
|
+
gap: var(--sp-2);
|
|
78
|
+
}
|
|
79
|
+
/* The most decision-shaped thing in a pattern file, and until now invisible
|
|
80
|
+
outside it. */
|
|
81
|
+
.kn-conflicts { border-left: 3px solid var(--warn); padding-left: var(--sp-3); display: grid; gap: 4px; }
|
|
82
|
+
.kn-conflicts-head { font-weight: 600; font-size: 13px; }
|
|
83
|
+
|
|
84
|
+
/* --- preview-then-apply --------------------------------------------------- */
|
|
85
|
+
.kn-prune { margin-top: var(--sp-3); display: grid; gap: var(--sp-2); }
|
|
86
|
+
.kn-prune-head { font-weight: 600; font-size: 13px; }
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/* panels/learn.css — orc ui
|
|
2
|
+
The contents rail plus one section.
|
|
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
|
+
/* --- Learn --------------------------------------------------------------- */
|
|
9
|
+
/* A contents rail plus ONE section, rather than every section stacked open.
|
|
10
|
+
The walkthrough is ordered and you are at a position in it — the layout says
|
|
11
|
+
so, which is what the wall of eight boxes could not. */
|
|
12
|
+
|
|
13
|
+
.learn {
|
|
14
|
+
display: grid;
|
|
15
|
+
grid-template-columns: 244px minmax(0, 1fr);
|
|
16
|
+
gap: var(--sp-4);
|
|
17
|
+
align-items: start;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.learn-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
|
+
.learn-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
|
+
.learn-side .text-input { font-family: var(--font); font-size: 12.5px; padding: 5px 9px; }
|
|
40
|
+
.learn-nav { display: flex; flex-direction: column; gap: 2px; overflow-y: auto; min-height: 0; }
|
|
41
|
+
.learn-nav-item {
|
|
42
|
+
display: grid;
|
|
43
|
+
grid-template-columns: 20px minmax(0, 1fr);
|
|
44
|
+
align-items: center;
|
|
45
|
+
gap: var(--sp-2);
|
|
46
|
+
padding: 6px var(--sp-2);
|
|
47
|
+
border: 0;
|
|
48
|
+
border-radius: var(--radius-sm);
|
|
49
|
+
background: transparent;
|
|
50
|
+
color: var(--text-dim);
|
|
51
|
+
text-align: left;
|
|
52
|
+
font: inherit;
|
|
53
|
+
font-size: 12.5px;
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
|
|
56
|
+
}
|
|
57
|
+
.learn-nav-item:hover { background: var(--surface-2); color: var(--text); }
|
|
58
|
+
.learn-nav-item[aria-current="true"] {
|
|
59
|
+
background: var(--accent-wash);
|
|
60
|
+
color: var(--text);
|
|
61
|
+
box-shadow: inset 2px 0 0 var(--accent);
|
|
62
|
+
}
|
|
63
|
+
.learn-num {
|
|
64
|
+
display: grid;
|
|
65
|
+
place-items: center;
|
|
66
|
+
width: 18px;
|
|
67
|
+
height: 18px;
|
|
68
|
+
border-radius: 50%;
|
|
69
|
+
border: 1px solid var(--line);
|
|
70
|
+
font-family: var(--mono);
|
|
71
|
+
font-size: 10px;
|
|
72
|
+
color: var(--text-faint);
|
|
73
|
+
transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease),
|
|
74
|
+
border-color var(--dur-fast) var(--ease);
|
|
75
|
+
}
|
|
76
|
+
.learn-nav-item[aria-current="true"] .learn-num { background: var(--accent); border-color: var(--accent); color: #fff; }
|
|
77
|
+
/* Sections already behind you read as done, so the rail doubles as progress. */
|
|
78
|
+
.learn-seen .learn-num { border-color: var(--ok); color: var(--ok); }
|
|
79
|
+
.learn-nav-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
80
|
+
.learn-result { font-size: 11.5px; color: var(--text-faint); padding: 0 var(--sp-2); }
|
|
81
|
+
|
|
82
|
+
.learn-pane {
|
|
83
|
+
background: var(--surface);
|
|
84
|
+
border: 1px solid var(--line);
|
|
85
|
+
border-radius: var(--radius);
|
|
86
|
+
padding: 0 var(--sp-5) var(--sp-4);
|
|
87
|
+
overflow: hidden;
|
|
88
|
+
min-width: 0;
|
|
89
|
+
}
|
|
90
|
+
.learn-progress { height: 3px; background: var(--surface-3); margin: 0 calc(var(--sp-5) * -1); }
|
|
91
|
+
.learn-progress-fill {
|
|
92
|
+
height: 100%;
|
|
93
|
+
width: 0;
|
|
94
|
+
background: var(--accent);
|
|
95
|
+
transition: width var(--dur-slow) var(--ease);
|
|
96
|
+
}
|
|
97
|
+
.learn-meta {
|
|
98
|
+
font-size: 11px;
|
|
99
|
+
text-transform: uppercase;
|
|
100
|
+
letter-spacing: .07em;
|
|
101
|
+
color: var(--text-faint);
|
|
102
|
+
margin-top: var(--sp-4);
|
|
103
|
+
font-variant-numeric: tabular-nums;
|
|
104
|
+
}
|
|
105
|
+
.learn-title { font-size: 19px; font-weight: 600; letter-spacing: -.01em; margin-top: 4px; }
|
|
106
|
+
|
|
107
|
+
.learn-article { margin-top: var(--sp-4); animation: learn-in var(--dur) var(--ease); }
|
|
108
|
+
@keyframes learn-in {
|
|
109
|
+
from { opacity: 0; transform: translateY(8px); }
|
|
110
|
+
to { opacity: 1; transform: none; }
|
|
111
|
+
}
|
|
112
|
+
.learn-para { font-size: 13.5px; line-height: 1.7; color: var(--text-dim); }
|
|
113
|
+
.learn-para + .learn-para { margin-top: var(--sp-3); }
|
|
114
|
+
.learn-bullet {
|
|
115
|
+
font-size: 13px;
|
|
116
|
+
line-height: 1.6;
|
|
117
|
+
color: var(--text-dim);
|
|
118
|
+
padding-left: var(--sp-4);
|
|
119
|
+
position: relative;
|
|
120
|
+
margin-top: var(--sp-2);
|
|
121
|
+
}
|
|
122
|
+
.learn-bullet::before { content: "•"; position: absolute; left: var(--sp-2); color: var(--accent); }
|
|
123
|
+
/* A pipeline line is a diagram, not a sentence. */
|
|
124
|
+
.learn-flowline {
|
|
125
|
+
font-family: var(--mono);
|
|
126
|
+
font-size: 12.5px;
|
|
127
|
+
color: var(--text);
|
|
128
|
+
background: var(--surface-2);
|
|
129
|
+
border: 1px solid var(--line-soft);
|
|
130
|
+
border-radius: var(--radius-sm);
|
|
131
|
+
padding: var(--sp-3);
|
|
132
|
+
margin-top: var(--sp-3);
|
|
133
|
+
overflow-x: auto;
|
|
134
|
+
white-space: pre;
|
|
135
|
+
}
|
|
136
|
+
/* An indented command line becomes a click-to-copy chip. */
|
|
137
|
+
.learn-cmd-row { display: flex; align-items: baseline; gap: var(--sp-3); margin-top: 6px; flex-wrap: wrap; }
|
|
138
|
+
.learn-cmd {
|
|
139
|
+
font-family: var(--mono);
|
|
140
|
+
font-size: 12.5px;
|
|
141
|
+
color: var(--accent);
|
|
142
|
+
background: var(--accent-wash);
|
|
143
|
+
border: 1px solid transparent;
|
|
144
|
+
border-radius: var(--radius-sm);
|
|
145
|
+
padding: 2px 9px;
|
|
146
|
+
cursor: pointer;
|
|
147
|
+
transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
|
|
148
|
+
}
|
|
149
|
+
.learn-cmd:hover { border-color: var(--accent); background: var(--surface-3); }
|
|
150
|
+
.learn-cmd-what { font-size: 12.5px; color: var(--text-dim); }
|
|
151
|
+
.learn-hint { margin-top: var(--sp-4); }
|
|
152
|
+
|
|
153
|
+
.learn-foot { display: flex; gap: var(--sp-2); align-items: center; margin-top: var(--sp-5); flex-wrap: wrap; }
|
|
154
|
+
.learn-foot .btn:last-child { margin-left: auto; }
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* panels/maintenance.css — orc ui
|
|
2
|
+
The preview/apply job surface.
|
|
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
|
+
/* --- Maintenance --------------------------------------------------------- */
|
|
9
|
+
|
|
10
|
+
.action {
|
|
11
|
+
display: grid;
|
|
12
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
13
|
+
gap: var(--sp-4);
|
|
14
|
+
align-items: center;
|
|
15
|
+
padding: var(--sp-4);
|
|
16
|
+
background: var(--surface);
|
|
17
|
+
border: 1px solid var(--line);
|
|
18
|
+
border-radius: var(--radius);
|
|
19
|
+
}
|
|
20
|
+
.action-cmd {
|
|
21
|
+
font-family: var(--mono);
|
|
22
|
+
font-size: 12px;
|
|
23
|
+
color: var(--accent);
|
|
24
|
+
background: var(--accent-wash);
|
|
25
|
+
border-radius: var(--radius-sm);
|
|
26
|
+
padding: 2px 8px;
|
|
27
|
+
display: inline-block;
|
|
28
|
+
margin-top: 6px;
|
|
29
|
+
}
|
|
30
|
+
.file-list {
|
|
31
|
+
max-height: 240px;
|
|
32
|
+
overflow-y: auto;
|
|
33
|
+
background: var(--surface-2);
|
|
34
|
+
border: 1px solid var(--line-soft);
|
|
35
|
+
border-radius: var(--radius-sm);
|
|
36
|
+
padding: var(--sp-3);
|
|
37
|
+
font-family: var(--mono);
|
|
38
|
+
font-size: 12px;
|
|
39
|
+
color: var(--text-dim);
|
|
40
|
+
}
|
|
41
|
+
.file-list div { padding: 1px 0; }
|
|
42
|
+
|
|
43
|
+
.job-output {
|
|
44
|
+
max-height: 320px;
|
|
45
|
+
overflow-y: auto;
|
|
46
|
+
background: #000;
|
|
47
|
+
color: #d7dae0;
|
|
48
|
+
border-radius: var(--radius-sm);
|
|
49
|
+
padding: var(--sp-3);
|
|
50
|
+
font-family: var(--mono);
|
|
51
|
+
font-size: 12px;
|
|
52
|
+
white-space: pre-wrap;
|
|
53
|
+
word-break: break-word;
|
|
54
|
+
}
|
|
55
|
+
:root[data-theme="light"] .job-output { background: #12151a; }
|