@litfamily/litopencode 1.0.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/.gitattributes +8 -0
- package/ATTRIBUTION.md +56 -0
- package/CHANGELOG.md +267 -0
- package/CODE_OF_CONDUCT.md +30 -0
- package/CONTRIBUTING.md +82 -0
- package/LICENSE +21 -0
- package/README-Ko-KR.md +252 -0
- package/README.md +252 -0
- package/SECURITY.md +36 -0
- package/SUPPORT.md +37 -0
- package/bin/litopencode +3 -0
- package/bin/litopencode.cjs +10 -0
- package/dist/activation-managed-prompts.d.ts +2 -0
- package/dist/activation-managed-prompts.js +51 -0
- package/dist/activation-primary-prompts.d.ts +2 -0
- package/dist/activation-primary-prompts.js +176 -0
- package/dist/activation-probe.d.ts +3 -0
- package/dist/activation-probe.js +19 -0
- package/dist/activation-prompt-utils.d.ts +6 -0
- package/dist/activation-prompt-utils.js +36 -0
- package/dist/activation-routing.d.ts +5 -0
- package/dist/activation-routing.js +340 -0
- package/dist/activation-workflow-prompts.d.ts +26 -0
- package/dist/activation-workflow-prompts.js +295 -0
- package/dist/activation.d.ts +24 -0
- package/dist/activation.js +152 -0
- package/dist/agents/defaults.d.ts +15 -0
- package/dist/agents/defaults.js +112 -0
- package/dist/agents/registry.d.ts +65 -0
- package/dist/agents/registry.js +319 -0
- package/dist/agents/specialists.d.ts +49 -0
- package/dist/agents/specialists.js +307 -0
- package/dist/agents/types.d.ts +55 -0
- package/dist/agents/types.js +4 -0
- package/dist/agents.d.ts +4 -0
- package/dist/agents.js +3 -0
- package/dist/benchmark.d.ts +94 -0
- package/dist/benchmark.js +172 -0
- package/dist/bounded-authority-hooks.d.ts +19 -0
- package/dist/bounded-authority-hooks.js +157 -0
- package/dist/bounded-authority.d.ts +184 -0
- package/dist/bounded-authority.js +825 -0
- package/dist/cache-metrics.d.ts +54 -0
- package/dist/cache-metrics.js +81 -0
- package/dist/cli/args.d.ts +5 -0
- package/dist/cli/args.js +415 -0
- package/dist/cli/auto-update.d.ts +117 -0
- package/dist/cli/auto-update.js +604 -0
- package/dist/cli/command-alias-ownership.d.ts +2 -0
- package/dist/cli/command-alias-ownership.js +14 -0
- package/dist/cli/command-aliases.d.ts +12 -0
- package/dist/cli/command-aliases.js +112 -0
- package/dist/cli/doctor.d.ts +2 -0
- package/dist/cli/doctor.js +175 -0
- package/dist/cli/host-capabilities.d.ts +12 -0
- package/dist/cli/host-capabilities.js +25 -0
- package/dist/cli/host-limits.d.ts +21 -0
- package/dist/cli/host-limits.js +83 -0
- package/dist/cli/install-config.d.ts +13 -0
- package/dist/cli/install-config.js +201 -0
- package/dist/cli/install-report.d.ts +2 -0
- package/dist/cli/install-report.js +180 -0
- package/dist/cli/install-tui.d.ts +12 -0
- package/dist/cli/install-tui.js +174 -0
- package/dist/cli/install.d.ts +2 -0
- package/dist/cli/install.js +264 -0
- package/dist/cli/json.d.ts +4 -0
- package/dist/cli/json.js +31 -0
- package/dist/cli/loop.d.ts +3 -0
- package/dist/cli/loop.js +135 -0
- package/dist/cli/lsp-capability.d.ts +17 -0
- package/dist/cli/lsp-capability.js +92 -0
- package/dist/cli/managed-skill-assets.d.ts +23 -0
- package/dist/cli/managed-skill-assets.js +117 -0
- package/dist/cli/model-catalog.d.ts +21 -0
- package/dist/cli/model-catalog.js +107 -0
- package/dist/cli/model-policy.d.ts +3 -0
- package/dist/cli/model-policy.js +143 -0
- package/dist/cli/model-routing.d.ts +5 -0
- package/dist/cli/model-routing.js +208 -0
- package/dist/cli/native-canonical-backup.d.ts +9 -0
- package/dist/cli/native-canonical-backup.js +96 -0
- package/dist/cli/native-canonical-cache.d.ts +9 -0
- package/dist/cli/native-canonical-cache.js +37 -0
- package/dist/cli/native-skill-install.d.ts +2 -0
- package/dist/cli/native-skill-install.js +128 -0
- package/dist/cli/native-skill-integrity.d.ts +25 -0
- package/dist/cli/native-skill-integrity.js +178 -0
- package/dist/cli/native-skill-tree.d.ts +12 -0
- package/dist/cli/native-skill-tree.js +104 -0
- package/dist/cli/native-skills.d.ts +22 -0
- package/dist/cli/native-skills.js +105 -0
- package/dist/cli/plugin-mutation.d.ts +4 -0
- package/dist/cli/plugin-mutation.js +89 -0
- package/dist/cli/scientific-visualization-dependencies.d.ts +18 -0
- package/dist/cli/scientific-visualization-dependencies.js +91 -0
- package/dist/cli/skill-loop.d.ts +3 -0
- package/dist/cli/skill-loop.js +649 -0
- package/dist/cli/types.d.ts +188 -0
- package/dist/cli/types.js +1 -0
- package/dist/cli/update-check.d.ts +2 -0
- package/dist/cli/update-check.js +15 -0
- package/dist/cli/update-notifier.d.ts +70 -0
- package/dist/cli/update-notifier.js +717 -0
- package/dist/cli/vendor-path-migration.d.ts +9 -0
- package/dist/cli/vendor-path-migration.js +96 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.js +250 -0
- package/dist/commands.d.ts +331 -0
- package/dist/commands.js +600 -0
- package/dist/config-parser.d.ts +5 -0
- package/dist/config-parser.js +274 -0
- package/dist/config.d.ts +72 -0
- package/dist/config.js +157 -0
- package/dist/deliverable-hedge-guard.d.ts +26 -0
- package/dist/deliverable-hedge-guard.js +302 -0
- package/dist/durable-plan.d.ts +23 -0
- package/dist/durable-plan.js +349 -0
- package/dist/features.d.ts +828 -0
- package/dist/features.js +1109 -0
- package/dist/hooks.d.ts +17 -0
- package/dist/hooks.js +83 -0
- package/dist/ignition.d.ts +14 -0
- package/dist/ignition.js +33 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +30 -0
- package/dist/inert-data.d.ts +2 -0
- package/dist/inert-data.js +13 -0
- package/dist/knowledge.d.ts +98 -0
- package/dist/knowledge.js +961 -0
- package/dist/ledger.d.ts +181 -0
- package/dist/ledger.js +1179 -0
- package/dist/lit-fetch-classify.d.ts +8 -0
- package/dist/lit-fetch-classify.js +107 -0
- package/dist/lit-fetch-content.d.ts +2 -0
- package/dist/lit-fetch-content.js +43 -0
- package/dist/lit-fetch-http.d.ts +10 -0
- package/dist/lit-fetch-http.js +82 -0
- package/dist/lit-fetch-result.d.ts +2 -0
- package/dist/lit-fetch-result.js +65 -0
- package/dist/lit-fetch-ssrf.d.ts +9 -0
- package/dist/lit-fetch-ssrf.js +77 -0
- package/dist/lit-fetch-url.d.ts +3 -0
- package/dist/lit-fetch-url.js +28 -0
- package/dist/lit-fetch.d.ts +69 -0
- package/dist/lit-fetch.js +84 -0
- package/dist/lit-mark.d.ts +17 -0
- package/dist/lit-mark.js +129 -0
- package/dist/logger.d.ts +9 -0
- package/dist/logger.js +21 -0
- package/dist/model-route-policy.d.ts +25 -0
- package/dist/model-route-policy.js +129 -0
- package/dist/reader-facing-output.d.ts +3 -0
- package/dist/reader-facing-output.js +28 -0
- package/dist/rules/discovery.d.ts +36 -0
- package/dist/rules/discovery.js +270 -0
- package/dist/rules/engine.d.ts +43 -0
- package/dist/rules/engine.js +236 -0
- package/dist/rules/frontmatter.d.ts +16 -0
- package/dist/rules/frontmatter.js +179 -0
- package/dist/rules/glob.d.ts +12 -0
- package/dist/rules/glob.js +233 -0
- package/dist/rules/hooks.d.ts +25 -0
- package/dist/rules/hooks.js +75 -0
- package/dist/rules/output-style.d.ts +1 -0
- package/dist/rules/output-style.js +20 -0
- package/dist/scientific-visualization-banner.d.ts +1 -0
- package/dist/scientific-visualization-banner.js +2 -0
- package/dist/search-workflow-ideas.d.ts +67 -0
- package/dist/search-workflow-ideas.js +128 -0
- package/dist/secret-shapes.d.ts +9 -0
- package/dist/secret-shapes.js +63 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.js +129 -0
- package/dist/session-lineage.d.ts +8 -0
- package/dist/session-lineage.js +12 -0
- package/dist/skill-loop/apply.d.ts +19 -0
- package/dist/skill-loop/apply.js +483 -0
- package/dist/skill-loop/config.d.ts +50 -0
- package/dist/skill-loop/config.js +215 -0
- package/dist/skill-loop/curator.d.ts +18 -0
- package/dist/skill-loop/curator.js +232 -0
- package/dist/skill-loop/ledger.d.ts +39 -0
- package/dist/skill-loop/ledger.js +344 -0
- package/dist/skill-loop/proposals.d.ts +48 -0
- package/dist/skill-loop/proposals.js +290 -0
- package/dist/skill-loop/storage.d.ts +72 -0
- package/dist/skill-loop/storage.js +817 -0
- package/dist/skill-loop/time.d.ts +2 -0
- package/dist/skill-loop/time.js +23 -0
- package/dist/skill-loop/transaction.d.ts +62 -0
- package/dist/skill-loop/transaction.js +836 -0
- package/dist/skill-loop/usage.d.ts +31 -0
- package/dist/skill-loop/usage.js +146 -0
- package/dist/skill-observer.d.ts +22 -0
- package/dist/skill-observer.js +1154 -0
- package/dist/skill-renames.d.ts +5 -0
- package/dist/skill-renames.js +8 -0
- package/dist/skills.d.ts +307 -0
- package/dist/skills.js +450 -0
- package/dist/stable-identity.d.ts +14 -0
- package/dist/stable-identity.js +15 -0
- package/dist/state.d.ts +25 -0
- package/dist/state.js +38 -0
- package/dist/strict-json.d.ts +2 -0
- package/dist/strict-json.js +94 -0
- package/dist/tool-guards.d.ts +34 -0
- package/dist/tool-guards.js +210 -0
- package/dist/tool-kit.d.ts +32 -0
- package/dist/tool-kit.js +75 -0
- package/dist/tools.d.ts +43 -0
- package/dist/tools.js +381 -0
- package/dist/uiux-visual-catalog.d.ts +50 -0
- package/dist/uiux-visual-catalog.js +103 -0
- package/dist/user-facing-markdown.d.ts +5 -0
- package/dist/user-facing-markdown.js +93 -0
- package/dist/workflow-families.d.ts +16 -0
- package/dist/workflow-families.js +95 -0
- package/docs/assets/cover.webp +0 -0
- package/docs/assets/litopencode-continuity-1600.webp +0 -0
- package/docs/assets/litopencode-ignition-1600.webp +0 -0
- package/docs/assets/readme/badge-license.svg +1 -0
- package/docs/assets/readme/badge-version.svg +1 -0
- package/docs/assets/readme/litopencode-clay-icon.png +0 -0
- package/docs/assets/readme/litopencode-wordmark.svg +5 -0
- package/docs/lit-mark.md +46 -0
- package/docs/migration.md +162 -0
- package/docs/privacy.md +82 -0
- package/docs/reference-Ko-KR.md +309 -0
- package/docs/reference.md +444 -0
- package/output-styles/asd-ste100-ko.md +41 -0
- package/output-styles/asd-ste100.md +40 -0
- package/output-styles/eli5-ko.md +13 -0
- package/output-styles/eli5.md +11 -0
- package/package.json +57 -0
- package/qa/fixtures/litfamily-harness-speed-v1.json +38 -0
- package/qa/harness-speed-contract.mjs +209 -0
- package/qa/harness-speed-v2-contract.mjs +213 -0
- package/qa/harness-speed-verdict.mjs +105 -0
- package/skills/agent-roster/SKILL.md +262 -0
- package/skills/autoconference/LICENSE +21 -0
- package/skills/autoconference/PROVENANCE.md +20 -0
- package/skills/autoconference/SKILL.md +125 -0
- package/skills/autoconference/assets/conference_template.md +76 -0
- package/skills/autoconference/assets/report_template.md +53 -0
- package/skills/autoconference/assets/synthesis_template.md +39 -0
- package/skills/autoconference/modes/analyze.md +255 -0
- package/skills/autoconference/modes/core.md +112 -0
- package/skills/autoconference/modes/debate.md +373 -0
- package/skills/autoconference/modes/plan.md +310 -0
- package/skills/autoconference/modes/resume.md +48 -0
- package/skills/autoconference/modes/ship.md +57 -0
- package/skills/autoconference/modes/survey.md +109 -0
- package/skills/autoconference/references/agent-prompts.md +134 -0
- package/skills/autoconference/references/conference-protocol.md +102 -0
- package/skills/autoconference/references/convergence-guide.md +167 -0
- package/skills/autoconference/references/core-principles.md +83 -0
- package/skills/autoconference/references/crash-recovery.md +104 -0
- package/skills/autoconference/references/results-logging.md +198 -0
- package/skills/autoconference/references/upstream-family-contract.md +130 -0
- package/skills/autoconference/references/visualization-guide.md +105 -0
- package/skills/autoconference/scripts/check_conference.sh +371 -0
- package/skills/autoconference/scripts/init_conference.py +625 -0
- package/skills/autoconference/scripts/style_presets.py +104 -0
- package/skills/autoresearch/LICENSE +21 -0
- package/skills/autoresearch/PROVENANCE.md +20 -0
- package/skills/autoresearch/SKILL.md +131 -0
- package/skills/autoresearch/assets/report_template.md +50 -0
- package/skills/autoresearch/assets/research_template.md +38 -0
- package/skills/autoresearch/assets/results_template.tsv +1 -0
- package/skills/autoresearch/modes/core.md +216 -0
- package/skills/autoresearch/modes/debug.md +235 -0
- package/skills/autoresearch/modes/fix.md +173 -0
- package/skills/autoresearch/modes/learn.md +91 -0
- package/skills/autoresearch/modes/plan.md +291 -0
- package/skills/autoresearch/modes/predict.md +266 -0
- package/skills/autoresearch/modes/reason.md +170 -0
- package/skills/autoresearch/modes/scenario.md +164 -0
- package/skills/autoresearch/modes/security.md +282 -0
- package/skills/autoresearch/modes/ship.md +49 -0
- package/skills/autoresearch/references/core-principles.md +80 -0
- package/skills/autoresearch/references/evaluator-contract.md +126 -0
- package/skills/autoresearch/references/investigation-techniques.md +205 -0
- package/skills/autoresearch/references/owasp-checklist.md +161 -0
- package/skills/autoresearch/references/persona-templates.md +232 -0
- package/skills/autoresearch/references/results-logging.md +96 -0
- package/skills/autoresearch/references/scenario-dimensions.md +178 -0
- package/skills/autoresearch/references/stride-model.md +196 -0
- package/skills/autoresearch/references/stuck-detection.md +107 -0
- package/skills/autoresearch/references/type-checklists.md +163 -0
- package/skills/autoresearch/references/upstream-family-contract.md +125 -0
- package/skills/autoresearch/references/visualization-guide.md +95 -0
- package/skills/autoresearch/scripts/check_progress.sh +272 -0
- package/skills/autoresearch/scripts/init_research.py +330 -0
- package/skills/autoresearch/scripts/run_with_deadline.py +164 -0
- package/skills/autoresearch/scripts/style_presets.py +104 -0
- package/skills/browser-drive/SKILL.md +133 -0
- package/skills/browser-drive/references/snapshot-act-loop.md +37 -0
- package/skills/browser-drive/scripts/capability-probe.mjs +262 -0
- package/skills/comment-checker/SKILL.md +171 -0
- package/skills/debugging/SKILL.md +202 -0
- package/skills/debugging/references/README.md +15 -0
- package/skills/debugging/references/escalation.md +43 -0
- package/skills/debugging/references/runtimes/README.md +17 -0
- package/skills/debugging/references/runtimes/bundled-js-binary.md +44 -0
- package/skills/debugging/references/runtimes/go.md +37 -0
- package/skills/debugging/references/runtimes/native-binary.md +44 -0
- package/skills/debugging/references/runtimes/node.md +43 -0
- package/skills/debugging/references/runtimes/python.md +41 -0
- package/skills/debugging/references/runtimes/rust.md +37 -0
- package/skills/debugging/references/tools.md +72 -0
- package/skills/deep-interview/SKILL.md +201 -0
- package/skills/doctor-installer/SKILL.md +252 -0
- package/skills/durable-litgoal/SKILL.md +248 -0
- package/skills/frontend-ui-ux/SKILL.md +70 -0
- package/skills/frontend-ui-ux/data/LICENSE +21 -0
- package/skills/frontend-ui-ux/data/PROVENANCE.json +1088 -0
- package/skills/frontend-ui-ux/data/THIRD-PARTY-NOTICE.txt +14 -0
- package/skills/frontend-ui-ux/data/design-intelligence.json +1 -0
- package/skills/frontend-ui-ux/references/_canonical-corpus/ATTRIBUTION.md +217 -0
- package/skills/frontend-ui-ux/references/_canonical-corpus/LICENSE +21 -0
- package/skills/frontend-ui-ux/references/_canonical-corpus/LICENSE-Apache-2.0.txt +201 -0
- package/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json +867 -0
- package/skills/frontend-ui-ux/references/adaptive-layout.md +85 -0
- package/skills/frontend-ui-ux/references/brand-and-imagery.md +79 -0
- package/skills/frontend-ui-ux/references/complete-contract.md +282 -0
- package/skills/frontend-ui-ux/references/composition.md +87 -0
- package/skills/frontend-ui-ux/references/creative-directions.md +83 -0
- package/skills/frontend-ui-ux/references/design/README.md +248 -0
- package/skills/frontend-ui-ux/references/design/_INDEX.md +191 -0
- package/skills/frontend-ui-ux/references/design/airbnb.md +393 -0
- package/skills/frontend-ui-ux/references/design/airtable.md +92 -0
- package/skills/frontend-ui-ux/references/design/apple.md +250 -0
- package/skills/frontend-ui-ux/references/design/aside.md +209 -0
- package/skills/frontend-ui-ux/references/design/binance.md +348 -0
- package/skills/frontend-ui-ux/references/design/bmw.md +183 -0
- package/skills/frontend-ui-ux/references/design/brutalist-skill.md +92 -0
- package/skills/frontend-ui-ux/references/design/bugatti.md +271 -0
- package/skills/frontend-ui-ux/references/design/cal.md +262 -0
- package/skills/frontend-ui-ux/references/design/claude.md +315 -0
- package/skills/frontend-ui-ux/references/design/clay.md +307 -0
- package/skills/frontend-ui-ux/references/design/clickhouse.md +284 -0
- package/skills/frontend-ui-ux/references/design/clone-from-url.md +65 -0
- package/skills/frontend-ui-ux/references/design/cohere.md +269 -0
- package/skills/frontend-ui-ux/references/design/coinbase.md +132 -0
- package/skills/frontend-ui-ux/references/design/composio.md +310 -0
- package/skills/frontend-ui-ux/references/design/cursor.md +312 -0
- package/skills/frontend-ui-ux/references/design/design-system-architecture.md +244 -0
- package/skills/frontend-ui-ux/references/design/elevenlabs.md +268 -0
- package/skills/frontend-ui-ux/references/design/expo.md +284 -0
- package/skills/frontend-ui-ux/references/design/ferrari.md +317 -0
- package/skills/frontend-ui-ux/references/design/figma.md +223 -0
- package/skills/frontend-ui-ux/references/design/framer.md +249 -0
- package/skills/frontend-ui-ux/references/design/gpt-tasteskill.md +74 -0
- package/skills/frontend-ui-ux/references/design/hashicorp.md +281 -0
- package/skills/frontend-ui-ux/references/design/ibm.md +335 -0
- package/skills/frontend-ui-ux/references/design/image-to-code-skill.md +1228 -0
- package/skills/frontend-ui-ux/references/design/imagegen-brandkit.md +798 -0
- package/skills/frontend-ui-ux/references/design/imagegen-frontend-mobile.md +1465 -0
- package/skills/frontend-ui-ux/references/design/imagegen-frontend-web.md +987 -0
- package/skills/frontend-ui-ux/references/design/intercom.md +149 -0
- package/skills/frontend-ui-ux/references/design/kraken.md +128 -0
- package/skills/frontend-ui-ux/references/design/lamborghini.md +291 -0
- package/skills/frontend-ui-ux/references/design/layout-skill.md +107 -0
- package/skills/frontend-ui-ux/references/design/lazyweb.md +77 -0
- package/skills/frontend-ui-ux/references/design/linear.app.md +370 -0
- package/skills/frontend-ui-ux/references/design/lovable.md +301 -0
- package/skills/frontend-ui-ux/references/design/mastercard.md +368 -0
- package/skills/frontend-ui-ux/references/design/meta.md +369 -0
- package/skills/frontend-ui-ux/references/design/minimalist-skill.md +85 -0
- package/skills/frontend-ui-ux/references/design/minimax.md +260 -0
- package/skills/frontend-ui-ux/references/design/mintlify.md +329 -0
- package/skills/frontend-ui-ux/references/design/miro.md +111 -0
- package/skills/frontend-ui-ux/references/design/mistral.ai.md +264 -0
- package/skills/frontend-ui-ux/references/design/mongodb.md +269 -0
- package/skills/frontend-ui-ux/references/design/nike.md +366 -0
- package/skills/frontend-ui-ux/references/design/notion.md +312 -0
- package/skills/frontend-ui-ux/references/design/nvidia.md +296 -0
- package/skills/frontend-ui-ux/references/design/ollama.md +270 -0
- package/skills/frontend-ui-ux/references/design/opencode.ai.md +284 -0
- package/skills/frontend-ui-ux/references/design/output-skill.md +49 -0
- package/skills/frontend-ui-ux/references/design/pinterest.md +233 -0
- package/skills/frontend-ui-ux/references/design/playstation.md +367 -0
- package/skills/frontend-ui-ux/references/design/posthog.md +259 -0
- package/skills/frontend-ui-ux/references/design/raycast.md +271 -0
- package/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md +230 -0
- package/skills/frontend-ui-ux/references/design/redesign-skill.md +178 -0
- package/skills/frontend-ui-ux/references/design/renault.md +314 -0
- package/skills/frontend-ui-ux/references/design/replicate.md +264 -0
- package/skills/frontend-ui-ux/references/design/resend.md +306 -0
- package/skills/frontend-ui-ux/references/design/revolut.md +188 -0
- package/skills/frontend-ui-ux/references/design/runwayml.md +247 -0
- package/skills/frontend-ui-ux/references/design/sanity.md +360 -0
- package/skills/frontend-ui-ux/references/design/sentry.md +265 -0
- package/skills/frontend-ui-ux/references/design/shopify.md +353 -0
- package/skills/frontend-ui-ux/references/design/soft-skill.md +98 -0
- package/skills/frontend-ui-ux/references/design/spacex.md +197 -0
- package/skills/frontend-ui-ux/references/design/spotify.md +249 -0
- package/skills/frontend-ui-ux/references/design/starbucks.md +583 -0
- package/skills/frontend-ui-ux/references/design/stitch-design-example.md +121 -0
- package/skills/frontend-ui-ux/references/design/stitch-skill.md +184 -0
- package/skills/frontend-ui-ux/references/design/stripe.md +325 -0
- package/skills/frontend-ui-ux/references/design/supabase.md +258 -0
- package/skills/frontend-ui-ux/references/design/superhuman.md +255 -0
- package/skills/frontend-ui-ux/references/design/taste-skill.md +1206 -0
- package/skills/frontend-ui-ux/references/design/tesla.md +289 -0
- package/skills/frontend-ui-ux/references/design/theverge.md +342 -0
- package/skills/frontend-ui-ux/references/design/together.ai.md +266 -0
- package/skills/frontend-ui-ux/references/design/uber.md +298 -0
- package/skills/frontend-ui-ux/references/design/vercel.md +313 -0
- package/skills/frontend-ui-ux/references/design/vodafone.md +426 -0
- package/skills/frontend-ui-ux/references/design/voltagent.md +326 -0
- package/skills/frontend-ui-ux/references/design/warp.md +256 -0
- package/skills/frontend-ui-ux/references/design/webflow.md +95 -0
- package/skills/frontend-ui-ux/references/design/wired.md +281 -0
- package/skills/frontend-ui-ux/references/design/wise.md +176 -0
- package/skills/frontend-ui-ux/references/design/x.ai.md +260 -0
- package/skills/frontend-ui-ux/references/design/zapier.md +331 -0
- package/skills/frontend-ui-ux/references/designpowers/EVIDENCE.md +97 -0
- package/skills/frontend-ui-ux/references/designpowers/README.md +48 -0
- package/skills/frontend-ui-ux/references/designpowers/UPSTREAM.md +80 -0
- package/skills/frontend-ui-ux/references/designpowers/lane-a-direction.md +64 -0
- package/skills/frontend-ui-ux/references/designpowers/lane-b-execution.md +65 -0
- package/skills/frontend-ui-ux/references/designpowers/lane-c-review.md +65 -0
- package/skills/frontend-ui-ux/references/designpowers/lane-d-memory.md +83 -0
- package/skills/frontend-ui-ux/references/designpowers/orchestration.md +80 -0
- package/skills/frontend-ui-ux/references/designpowers/routing.md +79 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/LICENSE +21 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/content-writer.md +132 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-builder.md +109 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-critic.md +89 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-lead.md +113 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-scout.md +78 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-strategist.md +121 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/agents/motion-designer.md +120 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/accessible-content/reference.md +101 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/adaptive-interfaces/reference.md +109 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/cognitive-accessibility/reference.md +107 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debate/reference.md +199 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debt-tracker/reference.md +174 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-handoff/reference.md +125 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-md/reference.md +106 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-retrospective/reference.md +266 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-review/reference.md +123 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-system-alignment/reference.md +120 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/designpowers-critique/reference.md +164 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/heuristic-evaluation/reference.md +85 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/inclusive-personas/reference.md +98 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/inspiration-scouting/reference.md +165 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/interaction-design/reference.md +122 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/motion-choreography/reference.md +81 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/research-planning/reference.md +96 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/responsive-patterns/reference.md +77 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/synthetic-user-testing/reference.md +192 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-feedback/reference.md +165 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-report/reference.md +78 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/token-architecture/reference.md +75 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/ui-composition/reference.md +117 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/usability-testing/reference.md +78 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/verification-before-shipping/reference.md +125 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/voice-and-tone/reference.md +79 -0
- package/skills/frontend-ui-ux/references/designpowers/vendor/skills/writing-design-plans/reference.md +119 -0
- package/skills/frontend-ui-ux/references/evidence-review.md +103 -0
- package/skills/frontend-ui-ux/references/implementation-platforms.md +94 -0
- package/skills/frontend-ui-ux/references/inclusive-interface.md +85 -0
- package/skills/frontend-ui-ux/references/interaction-motion.md +93 -0
- package/skills/frontend-ui-ux/references/operating-lanes.md +80 -0
- package/skills/frontend-ui-ux/references/perfection/README.md +160 -0
- package/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md +127 -0
- package/skills/frontend-ui-ux/references/performance-delivery.md +77 -0
- package/skills/frontend-ui-ux/references/product-direction.md +84 -0
- package/skills/frontend-ui-ux/references/redesign-playbook.md +88 -0
- package/skills/frontend-ui-ux/references/system-foundations.md +86 -0
- package/skills/frontend-ui-ux/references/taste-direction.md +55 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/README.md +659 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/charts.csv +26 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/colors.csv +162 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/icons.csv +106 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/landing.csv +35 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/products.csv +162 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv +45 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/astro.csv +54 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/flutter.csv +53 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react-native.csv +52 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react.csv +54 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/svelte.csv +54 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/vue.csv +50 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/styles.csv +85 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/typography.csv +74 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/ui-reasoning.csv +162 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/ux-guidelines.csv +100 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/data/web-interface.csv +31 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/scripts/core.py +262 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/scripts/design_system.py +1148 -0
- package/skills/frontend-ui-ux/references/ui-ux-db/scripts/search.py +114 -0
- package/skills/frontend-ui-ux/references/visual-language.md +84 -0
- package/skills/frontend-ui-ux/references/visual-reconstruction.md +87 -0
- package/skills/frontend-ui-ux/schemas/design-contract-v1alpha1.json +570 -0
- package/skills/frontend-ui-ux/schemas/design-contract-v1beta1.json +32 -0
- package/skills/frontend-ui-ux/schemas/design-contract-v1beta2.json +34 -0
- package/skills/frontend-ui-ux/scripts/bounded-json.mjs +45 -0
- package/skills/frontend-ui-ux/scripts/canonical-json.mjs +26 -0
- package/skills/frontend-ui-ux/scripts/contract-error.mjs +15 -0
- package/skills/frontend-ui-ux/scripts/csv.mjs +64 -0
- package/skills/frontend-ui-ux/scripts/dataset.mjs +65 -0
- package/skills/frontend-ui-ux/scripts/design-contract.mjs +609 -0
- package/skills/frontend-ui-ux/scripts/import-design-intelligence.mjs +193 -0
- package/skills/frontend-ui-ux/scripts/retrieval.mjs +92 -0
- package/skills/frontend-ui-ux/scripts/stable-file-read.mjs +237 -0
- package/skills/frontend-ui-ux/scripts/stdin-json.mjs +16 -0
- package/skills/frontend-ui-ux/scripts/strict-json.mjs +102 -0
- package/skills/frontend-ui-ux/scripts/uiux.mjs +86 -0
- package/skills/frontend-ui-ux/scripts/verify-canonical-corpus.mjs +266 -0
- package/skills/lit-burnoff/SKILL.md +227 -0
- package/skills/lit-burnoff-file/SKILL.md +175 -0
- package/skills/lit-code/SKILL.md +266 -0
- package/skills/lit-code/references/README.md +18 -0
- package/skills/lit-code/references/go/README.md +12 -0
- package/skills/lit-code/references/go/concurrency.md +42 -0
- package/skills/lit-code/references/go/error-handling.md +47 -0
- package/skills/lit-code/references/go/testing.md +55 -0
- package/skills/lit-code/references/go/tooling.md +35 -0
- package/skills/lit-code/references/go/type-patterns.md +50 -0
- package/skills/lit-code/references/python/README.md +12 -0
- package/skills/lit-code/references/python/async.md +50 -0
- package/skills/lit-code/references/python/error-handling.md +44 -0
- package/skills/lit-code/references/python/testing.md +50 -0
- package/skills/lit-code/references/python/tooling.md +38 -0
- package/skills/lit-code/references/python/type-patterns.md +46 -0
- package/skills/lit-code/references/rust/README.md +12 -0
- package/skills/lit-code/references/rust/concurrency.md +45 -0
- package/skills/lit-code/references/rust/error-handling.md +43 -0
- package/skills/lit-code/references/rust/tooling.md +36 -0
- package/skills/lit-code/references/rust/type-patterns.md +46 -0
- package/skills/lit-code/references/rust/unsafe.md +47 -0
- package/skills/lit-code/references/typescript/README.md +11 -0
- package/skills/lit-code/references/typescript/error-handling.md +56 -0
- package/skills/lit-code/references/typescript/testing.md +42 -0
- package/skills/lit-code/references/typescript/tsconfig-strict.md +40 -0
- package/skills/lit-code/references/typescript/type-patterns.md +60 -0
- package/skills/lit-commit/SKILL.md +222 -0
- package/skills/lit-comprehend/SKILL.md +278 -0
- package/skills/lit-comprehend/assets/explainer-scaffold.html +104 -0
- package/skills/lit-comprehend/references/artifact-template.md +114 -0
- package/skills/lit-comprehend/references/micro-worlds.md +115 -0
- package/skills/lit-comprehend/scripts/verify-explainer.ts +339 -0
- package/skills/lit-crucible/SKILL.md +212 -0
- package/skills/lit-fetch/SKILL.md +242 -0
- package/skills/lit-handoff/SKILL.md +199 -0
- package/skills/lit-init/SKILL.md +214 -0
- package/skills/lit-korean/SKILL.md +231 -0
- package/skills/lit-plan/SKILL.md +351 -0
- package/skills/lit-plan/scripts/scaffold-plan.mjs +275 -0
- package/skills/lit-recap/SKILL.md +233 -0
- package/skills/lit-scientific-visualization/SKILL.md +175 -0
- package/skills/litresearch/SKILL.md +436 -0
- package/skills/litwork/SKILL.md +227 -0
- package/skills/lsp/SKILL.md +186 -0
- package/skills/lsp-setup/SKILL.md +187 -0
- package/skills/lsp-setup/references/README.md +40 -0
- package/skills/lsp-setup/references/bash.md +31 -0
- package/skills/lsp-setup/references/c-cpp.md +43 -0
- package/skills/lsp-setup/references/csharp.md +29 -0
- package/skills/lsp-setup/references/dart.md +25 -0
- package/skills/lsp-setup/references/elixir.md +30 -0
- package/skills/lsp-setup/references/go.md +33 -0
- package/skills/lsp-setup/references/haskell.md +27 -0
- package/skills/lsp-setup/references/java.md +28 -0
- package/skills/lsp-setup/references/julia.md +28 -0
- package/skills/lsp-setup/references/kotlin.md +25 -0
- package/skills/lsp-setup/references/lua.md +26 -0
- package/skills/lsp-setup/references/php.md +30 -0
- package/skills/lsp-setup/references/python.md +33 -0
- package/skills/lsp-setup/references/ruby.md +34 -0
- package/skills/lsp-setup/references/rust.md +34 -0
- package/skills/lsp-setup/references/swift.md +26 -0
- package/skills/lsp-setup/references/terraform.md +26 -0
- package/skills/lsp-setup/references/typescript.md +35 -0
- package/skills/lsp-setup/references/yaml.md +27 -0
- package/skills/lsp-setup/references/zig.md +28 -0
- package/skills/managed-skill-manifest.json +1386 -0
- package/skills/native-goal-verdict/SKILL.md +216 -0
- package/skills/refactor/SKILL.md +221 -0
- package/skills/reference-benchmark-claims/SKILL.md +204 -0
- package/skills/release-guardrails/SKILL.md +245 -0
- package/skills/review-work/SKILL.md +301 -0
- package/skills/rules/SKILL.md +196 -0
- package/skills/search-workflow-ideas/SKILL.md +223 -0
- package/skills/skill-observer/SKILL.md +148 -0
- package/skills/skill-observer/references/review-contract.md +95 -0
- package/skills/skill-rename-aliases.json +10 -0
- package/skills/start-work/SKILL.md +334 -0
- package/skills/structural-search/SKILL.md +234 -0
- package/skills/tool-guards/SKILL.md +223 -0
- package/skills/visual-qa/SKILL.md +61 -0
- package/skills/visual-qa/references/capture-playbook.md +105 -0
- package/skills/visual-qa/references/complete-contract.md +411 -0
- package/skills/visual-qa/schemas/evidence-manifest-v1alpha1.json +201 -0
- package/skills/visual-qa/schemas/evidence-manifest-v1beta1.json +141 -0
- package/skills/visual-qa/schemas/review-receipt-v1alpha1.json +113 -0
- package/skills/visual-qa/scripts/artifact.mjs +123 -0
- package/skills/visual-qa/scripts/bounded-json.mjs +47 -0
- package/skills/visual-qa/scripts/canonical-json.mjs +28 -0
- package/skills/visual-qa/scripts/capabilities.mjs +66 -0
- package/skills/visual-qa/scripts/contract-text.mjs +15 -0
- package/skills/visual-qa/scripts/design-contract.mjs +611 -0
- package/skills/visual-qa/scripts/evidence-evaluate.mjs +521 -0
- package/skills/visual-qa/scripts/evidence.mjs +271 -0
- package/skills/visual-qa/scripts/png-decode.mjs +146 -0
- package/skills/visual-qa/scripts/png.mjs +154 -0
- package/skills/visual-qa/scripts/review.mjs +188 -0
- package/skills/visual-qa/scripts/stdin-json.mjs +16 -0
- package/skills/visual-qa/scripts/strict-json.mjs +102 -0
- package/skills/visual-qa/scripts/tui.mjs +149 -0
- package/skills/visual-qa/scripts/visual-qa.mjs +90 -0
- package/skills/wikify/LICENSE +21 -0
- package/skills/wikify/PROVENANCE.md +18 -0
- package/skills/wikify/SKILL.md +176 -0
- package/skills/wikify/assets/home-template.md +44 -0
- package/skills/wikify/assets/maintenance-report-template.md +46 -0
- package/skills/wikify/assets/paper-source-note-template.md +137 -0
- package/skills/wikify/assets/source-note-template.md +45 -0
- package/skills/wikify/assets/wiki-rules-template.md +117 -0
- package/skills/wikify/modes/ingest.md +57 -0
- package/skills/wikify/modes/init.md +44 -0
- package/skills/wikify/modes/lint.md +60 -0
- package/skills/wikify/modes/query.md +38 -0
- package/skills/wikify/modes/save.md +45 -0
- package/skills/wikify/references-upstream-contract.md +758 -0
- package/skills/workflow-loop/SKILL.md +387 -0
- package/tools/check-pack-payload.mjs +410 -0
- package/tools/check-payload-substance.mjs +738 -0
- package/tools/check-version-lockstep.mjs +238 -0
- package/tools/gen-canonical-frontend-manifest.mjs +66 -0
- package/tools/gen-managed-skill-manifest.mjs +135 -0
- package/tools/harness-speed-local.mjs +261 -0
- package/tools/payload-reference-exemptions.json +49 -0
- package/tools/payload-substance-allowlist.json +46 -0
- package/tools/payload-substance-parity.json +571 -0
- package/tools/qa-real-surface-fixtures.mjs +428 -0
- package/tools/qa-real-surface-harness.mjs +173 -0
- package/tools/run-behavior-replacement-probes.mjs +296 -0
- package/tools/run-build.mjs +101 -0
- package/tools/run-harness-speed-local.mjs +52 -0
- package/tools/run-harness-speed-v2.mjs +36 -0
- package/tools/run-installed-resource-tamper-probe.mjs +62 -0
- package/tools/run-negative-gate-matrix.mjs +516 -0
- package/tools/run-rules-glob-differential.mjs +232 -0
- package/tools/run-typecheck.mjs +25 -0
- package/tools/run-uiux-visual-qa-scenarios.mjs +234 -0
- package/tools/run-wikify-surface-probe.mjs +170 -0
- package/tools/scan-legacy-tokens.mjs +431 -0
- package/tools/version-manifests.json +60 -0
- package/tsconfig.build.json +12 -0
- package/tsconfig.json +13 -0
- package/vendor/NOTICE.md +21 -0
- package/vendor/handoff/SKILL.md +199 -0
- package/vendor/handoff/evals/evals.json +154 -0
- package/vendor/handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
- package/vendor/handoff/templates/HANDOFF.md +121 -0
- package/vendor/licenses/022_handoff-MIT.txt +21 -0
- package/vendor/licenses/045_scientific-visualization-MIT.txt +21 -0
- package/vendor/provenance/022_handoff.md +19 -0
- package/vendor/provenance/045_scientific-visualization.md +36 -0
- package/vendor/scientific-visualization/SKILL.md +283 -0
- package/vendor/scientific-visualization/assets/color_palettes.py +197 -0
- package/vendor/scientific-visualization/assets/nature.mplstyle +75 -0
- package/vendor/scientific-visualization/assets/presentation.mplstyle +74 -0
- package/vendor/scientific-visualization/assets/publication.mplstyle +78 -0
- package/vendor/scientific-visualization/evals/evals.json +158 -0
- package/vendor/scientific-visualization/references/color_palettes.md +380 -0
- package/vendor/scientific-visualization/references/journal_requirements.md +359 -0
- package/vendor/scientific-visualization/references/matplotlib_examples.md +608 -0
- package/vendor/scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
- package/vendor/scientific-visualization/references/publication_guidelines.md +217 -0
- package/vendor/scientific-visualization/references/seaborn_for_publications.md +293 -0
- package/vendor/scientific-visualization/scripts/figure_export.py +238 -0
- package/vendor/scientific-visualization/scripts/style_presets.py +467 -0
- package/vendor/scientific-visualization/tests/test_figure_export.py +51 -0
- package/vendor/scientific-visualization/tests/test_style_presets.py +114 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: autoresearch:reason
|
|
3
|
+
description: |
|
|
4
|
+
Adversarial multi-round reasoning with blind-judge panel to reach rigorous conclusions.
|
|
5
|
+
TRIGGER when: user wants rigorous reasoning or argument evaluation; user wants a decision
|
|
6
|
+
analyzed from multiple angles; user wants devil's advocate critique; user asks "what are
|
|
7
|
+
the strongest arguments for/against"; user wants a structured debate; user wants to avoid
|
|
8
|
+
groupthink or anchoring; user invokes /autoresearch-reason.
|
|
9
|
+
DO NOT TRIGGER when: user wants a simple recommendation; user wants a quick summary;
|
|
10
|
+
user wants factual lookup; user just wants pros/cons without adversarial pressure.
|
|
11
|
+
allowed-tools:
|
|
12
|
+
- Read
|
|
13
|
+
- Write
|
|
14
|
+
- Edit
|
|
15
|
+
- Bash
|
|
16
|
+
- WebFetch
|
|
17
|
+
- WebSearch
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# autoresearch:reason
|
|
21
|
+
|
|
22
|
+
## OpenCode authority envelope
|
|
23
|
+
|
|
24
|
+
This document is inert guidance. `lit-plan` must approve the question, evidence policy, finite budget,
|
|
25
|
+
canonical roots, output write set, rollback policy, and review gate before any mutation, including an
|
|
26
|
+
interactive run. Only explicit `/start-work` may perform bounded writes, commands, evaluation, or
|
|
27
|
+
reversion within that packet; without it this mode remains read-only.
|
|
28
|
+
|
|
29
|
+
Adversarial multi-round reasoning loop with a blind-judge panel. Arguments are assigned
|
|
30
|
+
crypto-random IDs before critique so judges evaluate logic, not author identity. Runs until
|
|
31
|
+
convergence or budget exhausted.
|
|
32
|
+
|
|
33
|
+
## Autonomy Directive
|
|
34
|
+
|
|
35
|
+
**You are an autonomous reasoning agent.** Once the debate begins:
|
|
36
|
+
|
|
37
|
+
1. **NEVER STOP** to ask permission between rounds.
|
|
38
|
+
2. Continue without another prompt only within the approved round budget and current `/start-work`
|
|
39
|
+
packet; stop when the packet cannot authorize the next output action.
|
|
40
|
+
3. **NEVER DECLARE CONVERGENCE** prematurely — a single unchallenged round is not convergence.
|
|
41
|
+
4. **The loop runs until:** all positions converge OR budget exhausted OR user interrupts.
|
|
42
|
+
5. **If neither condition is true, begin the next round immediately.**
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Setup
|
|
47
|
+
|
|
48
|
+
### Step 1 — Define the question
|
|
49
|
+
If not provided, ask once: "What is the question or decision to reason about?"
|
|
50
|
+
The question must be specific enough to allow falsifiable positions. Refuse vague inputs like
|
|
51
|
+
"think about AI" — ask for a concrete framing.
|
|
52
|
+
|
|
53
|
+
### Step 2 — Set parameters
|
|
54
|
+
Ask if not provided:
|
|
55
|
+
- **Number of positions** (default: 3). Minimum 2, maximum 5.
|
|
56
|
+
- **Max rounds** (default: 4). Minimum 2.
|
|
57
|
+
- **Convergence threshold:** "Converged" = all judges rate the top position's logical score ≥8/10
|
|
58
|
+
AND no position has an unanswered rebuttal.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Round Structure
|
|
63
|
+
|
|
64
|
+
Each round follows this exact sequence:
|
|
65
|
+
|
|
66
|
+
### Phase 1 — Propose Positions (Round 1 only)
|
|
67
|
+
Generate N distinct positions on the question. Positions must:
|
|
68
|
+
- Be mutually distinguishable (not minor variations of each other)
|
|
69
|
+
- Be stated as falsifiable claims, not vague preferences
|
|
70
|
+
- Cover the genuine range of defensible views (not strawmen)
|
|
71
|
+
|
|
72
|
+
Write each position to `reason/rounds.md` as: `Position [PENDING-ID]: [statement]`
|
|
73
|
+
|
|
74
|
+
### Phase 2 — Assign Crypto-Random IDs
|
|
75
|
+
Assign each position a random alphanumeric ID (e.g., `ARG-7F3A`, `ARG-2C91`).
|
|
76
|
+
Write the mapping to `reason/id-map.md` — this file is **sealed until the end** (not read during debate).
|
|
77
|
+
Replace all position labels in `reason/rounds.md` with their assigned IDs.
|
|
78
|
+
**From this point forward, all debate references use IDs only — never "Position 1" or author names.**
|
|
79
|
+
|
|
80
|
+
### Phase 3 — Blind Critique Round
|
|
81
|
+
For each argument ID, write a rigorous critique:
|
|
82
|
+
- Identify the strongest assumption and test whether it holds
|
|
83
|
+
- Find the weakest logical link in the chain
|
|
84
|
+
- Propose a concrete counterexample or falsifying scenario
|
|
85
|
+
- Rate logical strength: 1–10 (where 10 = logically airtight)
|
|
86
|
+
|
|
87
|
+
Critiques reference IDs only: "ARG-7F3A assumes X, which fails when Y..."
|
|
88
|
+
Write all critiques to `reason/rounds.md` under `## Round [N] — Critiques`.
|
|
89
|
+
|
|
90
|
+
### Phase 4 — Rebuttal Round
|
|
91
|
+
Each argument ID responds to the critiques it received:
|
|
92
|
+
- Acknowledge valid critiques (update or narrow the claim)
|
|
93
|
+
- Rebut invalid critiques with specific evidence or reasoning
|
|
94
|
+
- A position may concede partially — update the statement if weakened by critique
|
|
95
|
+
|
|
96
|
+
Write rebuttals to `reason/rounds.md` under `## Round [N] — Rebuttals`.
|
|
97
|
+
|
|
98
|
+
### Phase 5 — Judge Evaluation
|
|
99
|
+
Three independent judges evaluate all arguments:
|
|
100
|
+
- Judge A: Logic and internal consistency
|
|
101
|
+
- Judge B: Evidence quality and falsifiability
|
|
102
|
+
- Judge C: Practical applicability
|
|
103
|
+
|
|
104
|
+
Each judge scores every argument ID on their dimension (1–10) and identifies the strongest argument.
|
|
105
|
+
Judges reference IDs only. Write scores to `reason/rounds.md` under `## Round [N] — Judgment`.
|
|
106
|
+
|
|
107
|
+
### Phase 6 — Convergence Check
|
|
108
|
+
After each round:
|
|
109
|
+
- If top-scoring argument has score ≥8/10 from all judges AND no unanswered rebuttal exists → converged.
|
|
110
|
+
- If max rounds reached → converged by budget.
|
|
111
|
+
- Otherwise → begin next round (return to Phase 3 with updated positions).
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Output Files
|
|
116
|
+
|
|
117
|
+
All output goes to a `reason/` folder in the working directory.
|
|
118
|
+
|
|
119
|
+
| File | Purpose |
|
|
120
|
+
|------|---------|
|
|
121
|
+
| `reason/rounds.md` | Per-round arguments, critiques, rebuttals, and scores (IDs only during debate) |
|
|
122
|
+
| `reason/verdict.md` | Final synthesis: winning argument with reasoning, minority positions summarized |
|
|
123
|
+
| `reason/id-map.md` | Revealed at end only: maps each ID → original position label |
|
|
124
|
+
|
|
125
|
+
### verdict.md structure
|
|
126
|
+
```
|
|
127
|
+
# Verdict: [Question]
|
|
128
|
+
Rounds completed: [N]
|
|
129
|
+
Convergence: [yes/no — budget exhausted]
|
|
130
|
+
|
|
131
|
+
## Winning Argument
|
|
132
|
+
ID: [ARG-XXXX] (revealed: [original position])
|
|
133
|
+
Score: [avg judge score]/10
|
|
134
|
+
Summary: [2-3 sentence synthesis]
|
|
135
|
+
Key evidence: [bullet points]
|
|
136
|
+
|
|
137
|
+
## Minority Positions
|
|
138
|
+
- [ARG-YYYY]: [why it lost — specific logical weakness identified]
|
|
139
|
+
- [ARG-ZZZZ]: [why it lost]
|
|
140
|
+
|
|
141
|
+
## Synthesis
|
|
142
|
+
[2-3 paragraphs on what the debate revealed — including any nuances that
|
|
143
|
+
don't fit cleanly into the winning argument]
|
|
144
|
+
|
|
145
|
+
## Confidence
|
|
146
|
+
[Low / Medium / High] — with explicit statement of remaining uncertainty
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Anti-Anchoring Protocol
|
|
152
|
+
|
|
153
|
+
The ID system exists to prevent these failure modes:
|
|
154
|
+
- **Position ordering bias** — "the first argument always sounds best"
|
|
155
|
+
- **Framing bias** — "the argument labeled 'conservative' gets dismissed without evaluation"
|
|
156
|
+
- **Authority bias** — "the argument by the named expert wins by default"
|
|
157
|
+
|
|
158
|
+
Judges MUST NOT reference position order, original labels, or authorship until after `verdict.md` is written and `id-map.md` is revealed.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Edge Cases
|
|
163
|
+
|
|
164
|
+
| Situation | Handling |
|
|
165
|
+
|-----------|----------|
|
|
166
|
+
| Two positions are identical | Merge them; reduce N by 1 |
|
|
167
|
+
| One position dominates all others in round 1 | Still run min 2 rounds — premature convergence is bias |
|
|
168
|
+
| Judges disagree strongly (spread ≥5 points) | Note as "contested" in verdict.md — no forced winner |
|
|
169
|
+
| Budget = 1 round | Complete one full cycle, write verdict with low confidence |
|
|
170
|
+
| Question has a factual answer | Note this upfront — reason is for judgment calls, not facts |
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: autoresearch:scenario
|
|
3
|
+
description: |
|
|
4
|
+
12-dimension scenario exploration across user-specified domain modes.
|
|
5
|
+
TRIGGER when: user wants to explore scenarios, edge cases, or what-if analysis;
|
|
6
|
+
user asks "what could go wrong"; user wants failure mode analysis; user asks about
|
|
7
|
+
best/worst case outcomes; user wants to stress-test a plan, design, or system;
|
|
8
|
+
user mentions "scenario analysis" or "scenario planning";
|
|
9
|
+
user invokes /autoresearch-scenario.
|
|
10
|
+
DO NOT TRIGGER when: user wants a one-shot answer; user wants a simple pros/cons list;
|
|
11
|
+
user just wants debugging help; user wants iterative optimization.
|
|
12
|
+
allowed-tools:
|
|
13
|
+
- Read
|
|
14
|
+
- Write
|
|
15
|
+
- Edit
|
|
16
|
+
- Bash
|
|
17
|
+
- WebFetch
|
|
18
|
+
- WebSearch
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# autoresearch:scenario
|
|
22
|
+
|
|
23
|
+
## OpenCode authority envelope
|
|
24
|
+
|
|
25
|
+
This document is inert guidance. `lit-plan` must approve the subject, dimensions, finite budget,
|
|
26
|
+
canonical roots, output write set, rollback policy, and review gate before any mutation, including an
|
|
27
|
+
interactive run. Only explicit `/start-work` may perform bounded writes, commands, evaluation, or
|
|
28
|
+
reversion within that packet; without it this mode remains read-only.
|
|
29
|
+
|
|
30
|
+
Systematic scenario exploration across 12 dimensions and up to 5 domain modes.
|
|
31
|
+
Ensures every meaningful angle — from best case to adversarial to long-term drift — is covered before declaring analysis complete.
|
|
32
|
+
|
|
33
|
+
## Autonomy Directive
|
|
34
|
+
|
|
35
|
+
**You are an autonomous scenario analysis agent.** Once the loop begins:
|
|
36
|
+
|
|
37
|
+
1. **NEVER STOP** to ask for permission mid-analysis. The user may be asleep.
|
|
38
|
+
2. Continue without another prompt only within the approved dimension and output budget; an
|
|
39
|
+
interactive run follows the same `/start-work` boundary as an unattended run.
|
|
40
|
+
3. **NEVER SUMMARIZE AND WAIT.** After completing a dimension × domain cell, move to the next immediately.
|
|
41
|
+
4. **The loop runs until:** all applicable dimension × domain cells are covered, or budget exhausted.
|
|
42
|
+
5. **If neither condition is true, begin the next cell NOW.**
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Setup
|
|
47
|
+
|
|
48
|
+
### Step 1 — Identify the subject
|
|
49
|
+
If the user has not provided a clear subject (system, plan, design, decision), ask once:
|
|
50
|
+
"What is the subject of this scenario analysis?" Do not proceed until answered.
|
|
51
|
+
|
|
52
|
+
### Step 2 — Select domain modes
|
|
53
|
+
Ask (if not already specified): "Which domain modes apply? Select all that apply:
|
|
54
|
+
(1) technical, (2) business, (3) social, (4) regulatory, (5) environmental"
|
|
55
|
+
|
|
56
|
+
Record the applicable modes. All 12 dimensions will be explored for each selected mode.
|
|
57
|
+
|
|
58
|
+
### Step 3 — Set budget
|
|
59
|
+
Default: cover all dimension × domain cells (12 × N modes). If the user specifies a budget
|
|
60
|
+
(e.g., "top 6 dimensions only"), honor it — prioritize dimensions in order 1–12.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## The 12 Dimensions
|
|
65
|
+
|
|
66
|
+
All dimensions are defined in `references/scenario-dimensions.md`. Quick reference:
|
|
67
|
+
|
|
68
|
+
| # | Dimension | Core question |
|
|
69
|
+
|---|-----------|---------------|
|
|
70
|
+
| 1 | Best case | What if everything goes right? |
|
|
71
|
+
| 2 | Worst case | What if everything goes wrong? |
|
|
72
|
+
| 3 | Most likely | What does the realistic outcome look like? |
|
|
73
|
+
| 4 | Edge case | What breaks at the boundaries? |
|
|
74
|
+
| 5 | Cascade failure | What systemic chain reaction is possible? |
|
|
75
|
+
| 6 | Adversarial | What if a motivated actor exploits this? |
|
|
76
|
+
| 7 | Time-compressed | What happens under extreme time pressure? |
|
|
77
|
+
| 8 | Resource-constrained | What if key resources are cut by 50–90%? |
|
|
78
|
+
| 9 | Stakeholder conflict | What if stakeholders have opposing goals? |
|
|
79
|
+
| 10 | Regulatory/compliance | What if rules change or are enforced strictly? |
|
|
80
|
+
| 11 | Long-term drift | What does degradation look like over 1–5 years? |
|
|
81
|
+
| 12 | Recovery/resilience | How does the system recover after failure? |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Balanced Rotation Loop
|
|
86
|
+
|
|
87
|
+
The core loop ensures no dimension or domain mode is skipped or over-represented.
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
coverage_map = {dim: {mode: False for mode in applicable_modes} for dim in 1..12}
|
|
91
|
+
|
|
92
|
+
while uncovered_cells exist and budget not exhausted:
|
|
93
|
+
1. Find the dimension with the fewest covered modes (least-recently-covered first)
|
|
94
|
+
2. Within that dimension, pick the first uncovered mode
|
|
95
|
+
3. Analyze that (dimension, mode) cell:
|
|
96
|
+
a. Load the dimension's questions from dimensions.md
|
|
97
|
+
b. Apply them through the lens of the selected domain mode
|
|
98
|
+
c. Write findings to scenario-report.md (see Output section)
|
|
99
|
+
4. Mark cell as covered in coverage_map
|
|
100
|
+
5. If all cells for this dimension × all modes are done, mark dimension complete
|
|
101
|
+
6. Continue to next cell immediately
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Tie-breaking when multiple dimensions have equal coverage: lower dimension number goes first.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Output
|
|
109
|
+
|
|
110
|
+
All output goes to `scenario-report.md` in the working directory.
|
|
111
|
+
|
|
112
|
+
### scenario-report.md structure
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
# Scenario Report: [Subject]
|
|
116
|
+
Generated: [date]
|
|
117
|
+
Dimensions covered: [N]/12
|
|
118
|
+
Domain modes: [list]
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Dimension 1: Best Case
|
|
123
|
+
### Technical
|
|
124
|
+
[findings]
|
|
125
|
+
### Business
|
|
126
|
+
[findings]
|
|
127
|
+
...
|
|
128
|
+
|
|
129
|
+
## Dimension 2: Worst Case
|
|
130
|
+
...
|
|
131
|
+
|
|
132
|
+
## Summary Table
|
|
133
|
+
| Dimension | Technical | Business | Social | Regulatory | Environmental |
|
|
134
|
+
|-----------|-----------|----------|--------|------------|---------------|
|
|
135
|
+
| 1. Best case | covered | covered | N/A | covered | N/A |
|
|
136
|
+
...
|
|
137
|
+
|
|
138
|
+
## Key Risks Identified
|
|
139
|
+
[Top 5 risks ranked by severity × likelihood]
|
|
140
|
+
|
|
141
|
+
## Recommended Actions
|
|
142
|
+
[Concrete actions implied by the scenario analysis]
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Write `scenario-report.md` incrementally — append each cell as it completes. Do not wait until all cells are done to write.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Termination Conditions
|
|
150
|
+
|
|
151
|
+
1. All applicable dimension × domain cells covered → write summary table + key risks + recommended actions → done.
|
|
152
|
+
2. Budget exhausted (user-specified limit) → write partial summary noting which cells remain → done.
|
|
153
|
+
3. User manually interrupts → flush current cell to file → done.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Edge Cases
|
|
158
|
+
|
|
159
|
+
| Situation | Handling |
|
|
160
|
+
|-----------|----------|
|
|
161
|
+
| Only 1 domain mode selected | Run all 12 dimensions for that mode |
|
|
162
|
+
| Subject is ambiguous | Ask once to clarify, then proceed |
|
|
163
|
+
| A dimension is clearly not applicable | Note "N/A — [reason]" and move on |
|
|
164
|
+
| Budget = 0 or subject refused | Abort with clear message |
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: autoresearch:security
|
|
3
|
+
description: |
|
|
4
|
+
Iterative security audit engine. Performs STRIDE threat modeling, OWASP
|
|
5
|
+
Top-10 checks, attack surface mapping, and mitigation proposals. Loops
|
|
6
|
+
until coverage target is reached or budget is exhausted.
|
|
7
|
+
TRIGGER when: user wants a security audit, threat model, vulnerability
|
|
8
|
+
assessment, penetration test review, "is this secure", "what are the
|
|
9
|
+
threats", STRIDE analysis, OWASP check, or security posture review.
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- Read
|
|
12
|
+
- Write
|
|
13
|
+
- Edit
|
|
14
|
+
- Bash
|
|
15
|
+
- WebFetch
|
|
16
|
+
- WebSearch
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Security Audit: Iterative Threat Modeling Engine
|
|
20
|
+
|
|
21
|
+
## OpenCode authority envelope
|
|
22
|
+
|
|
23
|
+
This document is inert guidance. `lit-plan` must approve the assessment target, probe policy, finite
|
|
24
|
+
budget, canonical roots, output write set, rollback policy, and review gate before any mutation,
|
|
25
|
+
including an interactive run. Only explicit `/start-work` may perform bounded writes, commands,
|
|
26
|
+
evaluation, or reversion within that packet; without it this mode remains read-only.
|
|
27
|
+
|
|
28
|
+
An autonomous security audit that applies structured threat modeling (STRIDE), OWASP Top-10 checks, and attack surface mapping. Iterates until coverage >= target or budget is exhausted. Produces a `security/` folder with actionable outputs.
|
|
29
|
+
|
|
30
|
+
## Autonomy Directive
|
|
31
|
+
|
|
32
|
+
**You are an autonomous security auditor.** Once the audit begins:
|
|
33
|
+
|
|
34
|
+
1. **NEVER STOP** between phases to ask permission.
|
|
35
|
+
2. **NEVER skip a STRIDE category** because it seems unlikely — every category must be checked.
|
|
36
|
+
3. **NEVER mark coverage as complete** without running the re-audit phase.
|
|
37
|
+
4. **Loop until coverage >= target (default 80) or iterations exhausted.**
|
|
38
|
+
|
|
39
|
+
## Pre-Flight Setup
|
|
40
|
+
|
|
41
|
+
Before starting, establish scope:
|
|
42
|
+
|
|
43
|
+
1. **Ask (if not already specified):** "What is the target? (codebase path, system description, architecture diagram, or specific component)"
|
|
44
|
+
2. **Ask:** "What is the coverage target? (default: 80)"
|
|
45
|
+
3. **Ask:** "Is this a re-audit with `--diff` flag? If so, provide the previous `security/` folder."
|
|
46
|
+
4. **Detect:** Can you read code directly (Bash/Read available)? → Tier 1 (code audit). Web access only? → Tier 2 (architecture review). Neither? → Tier 3 (description-based).
|
|
47
|
+
|
|
48
|
+
**Do NOT start Phase 1 until scope is defined.**
|
|
49
|
+
|
|
50
|
+
## The 7-Phase Iterative Audit
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
[Scope] --> [Asset Inventory] --> [STRIDE Modeling] --> [OWASP Check]
|
|
54
|
+
--> [Attack Surface Mapping] --> [Mitigation Proposals]
|
|
55
|
+
--> [Coverage Scoring] --> [Re-audit if needed]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### Phase 1 — Scope Definition
|
|
61
|
+
|
|
62
|
+
Define precisely what is being audited:
|
|
63
|
+
|
|
64
|
+
- **In scope:** Specific files, services, APIs, data flows, trust boundaries
|
|
65
|
+
- **Out of scope:** Third-party dependencies (unless their integration is being audited), infrastructure not owned by the team
|
|
66
|
+
- **Threat actors:** Who might attack this? (external attacker, malicious insider, compromised dependency, unauthenticated user)
|
|
67
|
+
- **Security objectives:** Confidentiality, Integrity, Availability — which matter most for this system?
|
|
68
|
+
- **Compliance context:** Any relevant standards (PCI-DSS, HIPAA, SOC2, GDPR) that constrain mitigations?
|
|
69
|
+
|
|
70
|
+
Log to `security/threats.md` under `## Scope`.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### Phase 2 — Asset Inventory
|
|
75
|
+
|
|
76
|
+
Enumerate what exists in the system:
|
|
77
|
+
|
|
78
|
+
- **Data assets:** What sensitive data is stored, transmitted, or processed? (PII, credentials, tokens, financial data)
|
|
79
|
+
- **Entry points:** All places where external input reaches the system (HTTP endpoints, CLI args, file uploads, message queues, webhooks)
|
|
80
|
+
- **Trust boundaries:** Where does the system trust a caller it shouldn't blindly trust?
|
|
81
|
+
- **External dependencies:** Third-party services, libraries, APIs that the system relies on
|
|
82
|
+
- **Authentication surfaces:** All places where identity is verified or assumed
|
|
83
|
+
|
|
84
|
+
For Tier 1, scan the codebase:
|
|
85
|
+
```bash
|
|
86
|
+
# Find entry points
|
|
87
|
+
grep -r "app.get\|app.post\|router\|@Controller\|@Route\|def.*view\|def.*api" --include="*.py,*.js,*.ts,*.java,*.go" -l
|
|
88
|
+
# Find credential handling
|
|
89
|
+
grep -r "password\|secret\|token\|key\|auth" --include="*.py,*.js,*.ts" -l
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Log to `security/threats.md` under `## Asset Inventory`.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### Phase 3 — STRIDE Threat Modeling
|
|
97
|
+
|
|
98
|
+
Read `stride-model.md` for full category definitions, examples, and standard mitigations.
|
|
99
|
+
|
|
100
|
+
For each of the 6 STRIDE categories, systematically apply it to every entry point and trust boundary identified in Phase 2:
|
|
101
|
+
|
|
102
|
+
**For each threat found:**
|
|
103
|
+
```
|
|
104
|
+
Threat ID: T-[category]-[sequence] (e.g., T-S-001, T-T-002)
|
|
105
|
+
Category: [STRIDE letter]
|
|
106
|
+
Target: [which asset or entry point]
|
|
107
|
+
Description: [specific attack scenario]
|
|
108
|
+
Severity: Critical / High / Medium / Low
|
|
109
|
+
Likelihood: High / Medium / Low
|
|
110
|
+
Evidence: [code reference or architectural reason]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Severity × Likelihood matrix:**
|
|
114
|
+
|
|
115
|
+
| | High Likelihood | Medium Likelihood | Low Likelihood |
|
|
116
|
+
|---|---|---|---|
|
|
117
|
+
| **Critical impact** | P0 | P1 | P2 |
|
|
118
|
+
| **High impact** | P1 | P2 | P3 |
|
|
119
|
+
| **Medium impact** | P2 | P3 | P4 |
|
|
120
|
+
|
|
121
|
+
Log all identified threats to `security/threats.md` under `## STRIDE Threats`.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### Phase 4 — OWASP Top-10 Check
|
|
126
|
+
|
|
127
|
+
Read `owasp-checklist.md` for the full checklist per category.
|
|
128
|
+
|
|
129
|
+
For each of the 10 OWASP 2021 categories, check whether the system is vulnerable:
|
|
130
|
+
|
|
131
|
+
**Check result format:**
|
|
132
|
+
```
|
|
133
|
+
[Category]: PASS / FAIL / PARTIAL / N/A
|
|
134
|
+
Evidence: [code reference or architectural note]
|
|
135
|
+
Severity: [if FAIL/PARTIAL]
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Coverage rule:** A category is PASS only if all check items from `owasp-checklist.md` are verified. PARTIAL means some items pass, some couldn't be verified. N/A means the category is structurally inapplicable (e.g., A09 Logging for a stateless function with no logs needed).
|
|
139
|
+
|
|
140
|
+
Log results to `security/threats.md` under `## OWASP Top-10 Results`.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
### Phase 5 — Attack Surface Mapping
|
|
145
|
+
|
|
146
|
+
Synthesize findings from Phases 3–4 into an attack surface map:
|
|
147
|
+
|
|
148
|
+
- **High-value targets:** Assets that appear in multiple threats (concentrated risk)
|
|
149
|
+
- **Attack chains:** Sequences where one vulnerability enables another (e.g., SSRF → credential theft → privilege escalation)
|
|
150
|
+
- **Unprotected perimeter:** Entry points with no authentication or validation
|
|
151
|
+
- **Data exfiltration paths:** How could an attacker extract sensitive data?
|
|
152
|
+
- **Blast radius:** If a specific component is compromised, what else is at risk?
|
|
153
|
+
|
|
154
|
+
Log to `security/threats.md` under `## Attack Surface Map`.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### Phase 6 — Mitigation Proposals
|
|
159
|
+
|
|
160
|
+
For each threat from Phase 3 + each FAIL/PARTIAL from Phase 4, propose a concrete mitigation:
|
|
161
|
+
|
|
162
|
+
**Mitigation format:**
|
|
163
|
+
```
|
|
164
|
+
Mitigation ID: M-[ThreatID]
|
|
165
|
+
Threat addressed: [T-xxx or OWASP category]
|
|
166
|
+
Proposal: [Specific code change, configuration, or architecture change]
|
|
167
|
+
Implementation effort: Low (< 1 day) / Medium (1–5 days) / High (> 5 days)
|
|
168
|
+
Status: proposed / in-progress / implemented / accepted-risk / wont-fix
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**Prioritization:** P0/P1 threats must have mitigations. P2+ threats should have mitigations but may be deferred.
|
|
172
|
+
|
|
173
|
+
**Mitigation types:**
|
|
174
|
+
- Code change (input validation, parameterized queries, etc.)
|
|
175
|
+
- Configuration change (CORS policy, security headers, TLS enforcement)
|
|
176
|
+
- Architecture change (add authentication layer, separate privilege domains)
|
|
177
|
+
- Monitoring/detection (log anomalies, rate limiting, alerting)
|
|
178
|
+
- Accepted risk (document why the threat is tolerated)
|
|
179
|
+
|
|
180
|
+
Log to `security/mitigations.md`.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
### Phase 7 — Coverage Scoring & Re-Audit
|
|
185
|
+
|
|
186
|
+
**Coverage metric:**
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
coverage = (threats_addressed / threats_identified) × 100
|
|
190
|
+
|
|
191
|
+
Where:
|
|
192
|
+
threats_identified = all STRIDE threats + all OWASP FAIL/PARTIAL findings
|
|
193
|
+
threats_addressed = findings with mitigation status NOT 'proposed'
|
|
194
|
+
(i.e., implemented, accepted-risk, or wont-fix with justification)
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**At the end of each iteration:**
|
|
198
|
+
1. Calculate current coverage score.
|
|
199
|
+
2. Write `security/coverage-report.md` with score + gap analysis.
|
|
200
|
+
3. If `coverage >= target` → audit complete, produce final summary.
|
|
201
|
+
4. If `coverage < target` AND budget not exhausted → begin re-audit pass.
|
|
202
|
+
|
|
203
|
+
**Re-audit pass:** Focus on the highest-severity unaddressed threats. Propose additional mitigations or refine existing ones. Increment the pass counter.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Re-Audit with --diff Flag
|
|
208
|
+
|
|
209
|
+
When called with `--diff`, only audit what changed since the last audit:
|
|
210
|
+
|
|
211
|
+
1. Load `security/threats.md` and `security/mitigations.md` from the previous run.
|
|
212
|
+
2. Identify changed files (via `git diff --name-only` or user-provided diff).
|
|
213
|
+
3. Re-check only STRIDE threats and OWASP items that touch changed files.
|
|
214
|
+
4. Update threat/mitigation records. Do NOT re-check unchanged components.
|
|
215
|
+
5. Recalculate coverage score.
|
|
216
|
+
|
|
217
|
+
**--diff skips:** All STRIDE categories for unchanged components, all OWASP checks for unaffected code paths.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Coverage Report Format
|
|
222
|
+
|
|
223
|
+
`security/coverage-report.md`:
|
|
224
|
+
|
|
225
|
+
```markdown
|
|
226
|
+
# Security Coverage Report
|
|
227
|
+
Date: [ISO date]
|
|
228
|
+
Pass: [N]
|
|
229
|
+
Target: [80]%
|
|
230
|
+
Current Coverage: [X]%
|
|
231
|
+
|
|
232
|
+
## Score Breakdown
|
|
233
|
+
- Threats identified: [N]
|
|
234
|
+
- Threats addressed: [M]
|
|
235
|
+
- Coverage: [X]%
|
|
236
|
+
|
|
237
|
+
## Status
|
|
238
|
+
[PASS: Target achieved] / [IN PROGRESS: X% of target]
|
|
239
|
+
|
|
240
|
+
## Unaddressed Threats (Gaps)
|
|
241
|
+
| Threat ID | Severity | Description | Blocker |
|
|
242
|
+
|-----------|----------|-------------|---------|
|
|
243
|
+
|
|
244
|
+
## Addressed Threats Summary
|
|
245
|
+
| Threat ID | Severity | Mitigation | Status |
|
|
246
|
+
|-----------|----------|------------|--------|
|
|
247
|
+
|
|
248
|
+
## Accepted Risks
|
|
249
|
+
[List of threats with accepted-risk status and justification]
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Output Structure
|
|
255
|
+
|
|
256
|
+
| File | Updated | Purpose |
|
|
257
|
+
|------|---------|---------|
|
|
258
|
+
| `security/threats.md` | Each phase | All identified threats (STRIDE + OWASP) |
|
|
259
|
+
| `security/mitigations.md` | Phase 6 + re-audits | Proposed fixes + implementation status |
|
|
260
|
+
| `security/coverage-report.md` | Phase 7 + re-audits | Coverage score, gaps, accepted risks |
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Edge Cases
|
|
265
|
+
|
|
266
|
+
| Situation | Handling |
|
|
267
|
+
|-----------|----------|
|
|
268
|
+
| No codebase access (Tier 2/3) | Base threats on architecture description; note confidence is lower |
|
|
269
|
+
| STRIDE category has zero threats | Log "No threats identified for [category] — [brief reason]" |
|
|
270
|
+
| Coverage target unreachable | After 3 re-audit passes, produce report with "maximum achievable coverage: X%" |
|
|
271
|
+
| New critical threat found in re-audit | Add to threats.md, prioritize mitigation, recalculate coverage |
|
|
272
|
+
| All threats are accepted-risk | Coverage = 100% (accepted risk counts as addressed). Flag this prominently. |
|
|
273
|
+
| --diff but no previous security/ folder | Run full audit instead, warn the user |
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## Iteration Budget
|
|
278
|
+
|
|
279
|
+
- **Default:** 3 re-audit passes (initial audit + 2 re-audits)
|
|
280
|
+
- **Override:** Set `max_audit_passes: N` in the request
|
|
281
|
+
- **Termination:** coverage >= target OR passes exhausted
|
|
282
|
+
- **On exhaustion:** Report highest achievable coverage with recommendations for manual review of remaining gaps
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Autoresearch Ship — Readiness and Human Handoff
|
|
2
|
+
|
|
3
|
+
## OpenCode authority envelope
|
|
4
|
+
|
|
5
|
+
This document is inert guidance. `lit-plan` must approve the readiness objective, evidence policy,
|
|
6
|
+
finite budget, canonical roots, local write set, rollback policy, and review gate before any mutation,
|
|
7
|
+
including an interactive run. Only explicit `/start-work` may perform bounded writes, commands,
|
|
8
|
+
evaluation, or reversion within that packet; without it this mode remains read-only.
|
|
9
|
+
|
|
10
|
+
This LitOpenCode mode preserves the source family's artifact-type readiness analysis while removing
|
|
11
|
+
automatic publication and deployment. It is static workflow data and grants no shell, registry,
|
|
12
|
+
release, version, commit, tag, push, or host-config authority.
|
|
13
|
+
|
|
14
|
+
## Entry gate
|
|
15
|
+
|
|
16
|
+
Identify the artifact type and destination only to select the matching checklist in
|
|
17
|
+
`../references/type-checklists.md`. Confirm the bounded read paths and evidence commands through
|
|
18
|
+
`lit-plan`. Any edits, builds, or tests require an approved authority packet and `/start-work`.
|
|
19
|
+
|
|
20
|
+
## Reversible readiness phases
|
|
21
|
+
|
|
22
|
+
1. **Completeness** — inventory required files and unresolved production markers. Report findings;
|
|
23
|
+
do not silently delete or rewrite them.
|
|
24
|
+
2. **Tests** — run only the approved commands with time bounds. Record command, cwd, exit status,
|
|
25
|
+
duration, and skipped coverage.
|
|
26
|
+
3. **Security** — use repository-owned checks when available. A missing scanner is a capability gap,
|
|
27
|
+
not a clean verdict. Never print credentials or private configuration.
|
|
28
|
+
4. **Documentation** — verify current usage, safety boundaries, public APIs, and examples against the
|
|
29
|
+
built surface.
|
|
30
|
+
5. **Version consistency** — inspect all version-bearing files, but do not change them. Any version
|
|
31
|
+
change is a separate explicit approval boundary.
|
|
32
|
+
6. **Build/package** — create only approved temporary artifacts. Inspect their contents and include a
|
|
33
|
+
cleanup receipt.
|
|
34
|
+
7. **Review** — send the readiness packet to `/review-work`. Findings, stale evidence, missing gates,
|
|
35
|
+
or an inconclusive lane block readiness.
|
|
36
|
+
8. **Human handoff** — stop. Name the irreversible action that a human may choose later. This mode
|
|
37
|
+
never performs it, even when the user supplies release words in command arguments.
|
|
38
|
+
|
|
39
|
+
## Output
|
|
40
|
+
|
|
41
|
+
Write `ship-log.md` only inside an approved work root. Record artifact type, intended destination,
|
|
42
|
+
evidence timestamps, each reversible phase, review verdict, residual risks, and cleanup. Finish with
|
|
43
|
+
`READY_FOR_HUMAN_DECISION` or `BLOCKED_READINESS`; neither is a publication claim.
|
|
44
|
+
|
|
45
|
+
## Cancel and resume
|
|
46
|
+
|
|
47
|
+
Cancellation flushes the current phase receipt and stops. Resume re-reads the log, rejects stale
|
|
48
|
+
evidence whose inputs changed, and restarts from the first unverified phase. Never replay a completed
|
|
49
|
+
mutation merely because the log is incomplete.
|