@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,102 @@
|
|
|
1
|
+
# OpenCode Conference Protocol
|
|
2
|
+
|
|
3
|
+
## OpenCode authority envelope
|
|
4
|
+
|
|
5
|
+
This reference is inert protocol guidance. `lit-plan` must approve the finite root-owned objective,
|
|
6
|
+
budget, roots, task packets, and review contract before any mutation or delegation, including
|
|
7
|
+
interactive runs. Only explicit `/start-work` may consume that approval. Children remain depth-one
|
|
8
|
+
and packet-only; children must not write or mutate root-owned state, select models, or invoke routes.
|
|
9
|
+
The OpenCode bounded-authority lifecycle owns every action. Conflicts use read-only comparison before
|
|
10
|
+
any proposal. The root must not create, reset, delete, merge, or commit version-control state. Any
|
|
11
|
+
approved local cleanup ends with a cleanup receipt.
|
|
12
|
+
|
|
13
|
+
## Preconditions
|
|
14
|
+
|
|
15
|
+
The root requires a complete proposal containing objective, success criterion, fixed evaluator or
|
|
16
|
+
rubric, baseline provenance, disjoint search partitions, exact regular-file roots, packet schemas,
|
|
17
|
+
researcher count, round and iteration ceilings, per-call timeout, wall-clock budget, cancellation,
|
|
18
|
+
resume, stale-state, review, and cleanup policy. Missing or vague values return a planning blocker.
|
|
19
|
+
|
|
20
|
+
The root verifies live OpenCode `task` capability immediately before delegation. A configured role,
|
|
21
|
+
previous success, prompt claim, or child request is not proof. If capability is absent, denied,
|
|
22
|
+
unknown, or called from a child context, return `BLOCKED_MULTI_AGENT_UNAVAILABLE`.
|
|
23
|
+
|
|
24
|
+
## Round state machine
|
|
25
|
+
|
|
26
|
+
Each round has four ordered phases. Parallelism exists only among approved researcher task calls in
|
|
27
|
+
Phase 1. Later phases consume accepted packets and remain sequential root decisions.
|
|
28
|
+
|
|
29
|
+
### Phase 1 — independent research packets
|
|
30
|
+
|
|
31
|
+
The root issues one depth-one task packet per approved partition. Each packet fixes objective, roots,
|
|
32
|
+
evaluator, timeout, iteration ceiling, output schema, and baseline digest. Children cannot delegate,
|
|
33
|
+
coordinate peers, alter shared state, or consume another grant. They return evidence, claims,
|
|
34
|
+
uncertainties, failures, and exact proposals.
|
|
35
|
+
|
|
36
|
+
The root waits only to the approved deadline. It preserves valid partial packets, rejects malformed or
|
|
37
|
+
late packets, and never fabricates output for a missing lane.
|
|
38
|
+
|
|
39
|
+
### Phase 2 — poster comparison packet
|
|
40
|
+
|
|
41
|
+
One depth-one packet compares accepted researcher packets. Its output names approaches, measurements,
|
|
42
|
+
failures, contradictions, evidence gaps, and candidate transfer claims. It cannot validate claims or
|
|
43
|
+
change root state.
|
|
44
|
+
|
|
45
|
+
### Phase 3 — independent review packet
|
|
46
|
+
|
|
47
|
+
One independent depth-one packet challenges every material claim against the evaluator or rubric and
|
|
48
|
+
source receipts. Verdicts are `validated`, `challenged`, `overturned`, or `needs_review`. Missing
|
|
49
|
+
reviewer provenance, timeout, stale inputs, or unavailable evidence blocks transfer.
|
|
50
|
+
|
|
51
|
+
### Phase 4 — root acceptance and transfer
|
|
52
|
+
|
|
53
|
+
The root accepts only validated findings. Every accepted finding links researcher packet, poster
|
|
54
|
+
packet, review receipt, evaluator evidence, and round identity. The root proposes exact result rows,
|
|
55
|
+
accepted-finding references, and one round event under the current lifecycle revision. Only explicit
|
|
56
|
+
`/start-work` applies those bounded root writes.
|
|
57
|
+
|
|
58
|
+
## Convergence
|
|
59
|
+
|
|
60
|
+
Conditions are evaluated in this order:
|
|
61
|
+
|
|
62
|
+
1. cancellation or stale-state blocker;
|
|
63
|
+
2. target reached by accepted evaluator evidence;
|
|
64
|
+
3. total iteration, round, task-call, wall-clock, or resource budget exhausted;
|
|
65
|
+
4. all lanes stalled or failed;
|
|
66
|
+
5. two complete reviewed rounds with no material improvement under the approved noise rule;
|
|
67
|
+
6. otherwise continue with the next approved round.
|
|
68
|
+
|
|
69
|
+
Budget exhaustion and all-lane stall are terminal but not success. Qualitative convergence requires
|
|
70
|
+
the approved rubric and two complete independently reviewed rounds. Self-assessment is evidence, not
|
|
71
|
+
the authoritative acceptance criterion.
|
|
72
|
+
|
|
73
|
+
## Knowledge transfer
|
|
74
|
+
|
|
75
|
+
Transfer is a root-owned reference update, not a shared child document. The next round receives a
|
|
76
|
+
bounded list of accepted finding identifiers and summaries. Rejected, challenged, and unresolved
|
|
77
|
+
claims stay outside that list. Children may cite accepted identifiers but cannot edit or replace them.
|
|
78
|
+
|
|
79
|
+
## Conflict handling
|
|
80
|
+
|
|
81
|
+
Conflicting proposals are compared read-only against the same baseline digest and evaluator. The root
|
|
82
|
+
records incompatible paths, receipts, and uncertainty, then requests a user decision or an additional
|
|
83
|
+
approved experiment. Metric rank alone never grants write authority or decides which bytes to apply.
|
|
84
|
+
|
|
85
|
+
## Resume and interruption
|
|
86
|
+
|
|
87
|
+
Resume follows `references/crash-recovery.md`. The root parses bounded events, verifies packet hashes,
|
|
88
|
+
recomputes remaining budget, checks live capability, and identifies the first incomplete phase.
|
|
89
|
+
Completed phase receipts are not repeated. Unreceipted artifacts are preserved and reported. Any
|
|
90
|
+
continuation requires an approved recovery packet and explicit `/start-work resume` with current CAS.
|
|
91
|
+
|
|
92
|
+
## Cancellation and completion
|
|
93
|
+
|
|
94
|
+
Cancellation stops new task calls and preserves accepted receipts. After a terminal condition, a
|
|
95
|
+
packet-only synthesis lane may propose report bytes if capability remains available. `/review-work`
|
|
96
|
+
then checks scope, tests and evidence, package or artifact integrity, security and provenance, and the
|
|
97
|
+
real user surface.
|
|
98
|
+
|
|
99
|
+
Completion reports terminal reason, accepted and rejected packets, evidence gaps, changed paths,
|
|
100
|
+
remaining risks, and cleanup observations. Temporary paths are preserved by default. Any local
|
|
101
|
+
cleanup is a separate approved action with a receipt. Publication, release, deployment, external
|
|
102
|
+
upload, source-control mutation, and live OpenCode configuration are outside this protocol.
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Convergence Guide
|
|
2
|
+
|
|
3
|
+
## OpenCode authority envelope
|
|
4
|
+
|
|
5
|
+
This reference is inert decision guidance. `lit-plan` must approve the finite root-owned target,
|
|
6
|
+
budget, roots, evaluator, and review contract before any mutation or delegation, including
|
|
7
|
+
interactive runs. Only explicit `/start-work` may consume that approval. Children remain depth-one
|
|
8
|
+
and packet-only; children must not write or mutate root-owned state, select models, or invoke routes.
|
|
9
|
+
|
|
10
|
+
Focused reference for convergence detection, tuning, and termination tradeoffs in autoconference.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Convergence Conditions
|
|
15
|
+
|
|
16
|
+
### Metric Mode
|
|
17
|
+
|
|
18
|
+
| Condition | Trigger | Code |
|
|
19
|
+
|-----------|---------|------|
|
|
20
|
+
| Target Reached | Any researcher's `metric_value` hits the target defined in `Success Metric` | `CONVERGED` |
|
|
21
|
+
| Metric Plateau | Best metric across ALL researchers unchanged for 2 consecutive complete rounds | `CONVERGED` |
|
|
22
|
+
| Budget Exhaustion | `max_total_iterations`, `max_rounds`, or `time_budget` hit | `BUDGET_STOP` |
|
|
23
|
+
| All Stalled | Every researcher at stuck Level 2+ simultaneously in the same round | `STALLED` |
|
|
24
|
+
|
|
25
|
+
**Evaluation order matters.** The Conference Chair checks in this sequence — first match wins:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
1. Any TARGET_REACHED? → CONVERGED → synthesis
|
|
29
|
+
2. Budget hit (iterations / rounds / time)? → BUDGET_STOP → synthesis
|
|
30
|
+
3. All researchers stalled? → STALLED → synthesis
|
|
31
|
+
4. Metric plateau (2 consecutive no-improve rounds)? → CONVERGED → synthesis
|
|
32
|
+
5. None of the above? → continue → round N+1
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Noise threshold:** Default is 0.1% of the baseline metric value. For integer-valued metrics (e.g., test cases passed), the threshold is 0. A round's best metric must exceed the previous round's best by more than this threshold to count as an improvement.
|
|
36
|
+
|
|
37
|
+
### Qualitative Mode
|
|
38
|
+
|
|
39
|
+
| Condition | Trigger | Code |
|
|
40
|
+
|-----------|---------|------|
|
|
41
|
+
| Quality Plateau | Reviewer assigns scores >= 8/10 to ALL researcher outputs for 2 consecutive rounds | `CONVERGED` |
|
|
42
|
+
| Early Quality | All researchers score 9-10 in a single round (Conference Chair discretion) | `CONVERGED` |
|
|
43
|
+
| Budget Exhaustion | Same as metric mode | `BUDGET_STOP` |
|
|
44
|
+
| All Stalled | Same as metric mode | `STALLED` |
|
|
45
|
+
| Sub-threshold Plateau | Reviewer scores plateau below 8 for 2+ rounds with no improvement | `STALLED` |
|
|
46
|
+
|
|
47
|
+
**Score source:** The Reviewer's authoritative scores in `peer_review_round_{N}.md` under "Qualitative Scores" — NOT the researchers' self-assessment scores.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Tuning Convergence Sensitivity
|
|
52
|
+
|
|
53
|
+
### Plateau Window
|
|
54
|
+
|
|
55
|
+
The default plateau window is **2 consecutive rounds**. This balances:
|
|
56
|
+
- **Too short (1 round):** Premature convergence. A single unlucky round triggers early stop, missing potential breakthroughs in the next round.
|
|
57
|
+
- **Too long (3+ rounds):** Wasted budget. Continuing after genuine convergence burns iterations that could be saved.
|
|
58
|
+
|
|
59
|
+
To adjust: Currently hardcoded at 2. To customize, the Conference Chair can be instructed in the conference.md `Goal` section (e.g., "Use a 3-round convergence window for this exploratory conference").
|
|
60
|
+
|
|
61
|
+
### Noise Threshold
|
|
62
|
+
|
|
63
|
+
| Metric Type | Default Threshold | Rationale |
|
|
64
|
+
|-------------|-------------------|-----------|
|
|
65
|
+
| Continuous (float) | 0.1% of baseline | Filters measurement noise |
|
|
66
|
+
| Integer | 0 | Any improvement counts |
|
|
67
|
+
| Percentage (0-100) | 0.1 absolute | Small enough to detect real gains |
|
|
68
|
+
|
|
69
|
+
**When to increase:** High-variance metrics where measurement noise exceeds 0.1% (e.g., benchmark latency on shared hardware). Set to 1-2% to avoid false convergence signals from noisy runs.
|
|
70
|
+
|
|
71
|
+
**When to decrease:** Precision-sensitive tasks where 0.01% matters (e.g., model accuracy on large test sets). Set to 0.01% or use exact comparison.
|
|
72
|
+
|
|
73
|
+
### Qualitative Score Threshold
|
|
74
|
+
|
|
75
|
+
The default convergence threshold is **8/10** from the Reviewer. Interpretation:
|
|
76
|
+
|
|
77
|
+
| Score | Meaning | Converge? |
|
|
78
|
+
|-------|---------|-----------|
|
|
79
|
+
| 9-10 | Exceeds criteria | Yes (even after 1 round at Chair's discretion) |
|
|
80
|
+
| 8 | Meets criteria, minor gaps | Yes (after 2 consecutive rounds) |
|
|
81
|
+
| 7 | Solid but with clear gaps | No — keep iterating |
|
|
82
|
+
| <= 6 | Below criteria | No — significant work remains |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Early Termination vs Budget Exhaustion
|
|
87
|
+
|
|
88
|
+
### When Early Termination Is Good
|
|
89
|
+
|
|
90
|
+
- **Genuine convergence:** The metric has truly plateaued and more iterations will not help. Saving budget is the right call.
|
|
91
|
+
- **Target reached:** A researcher hit the success metric. No reason to continue (unless the user wants to find an even better solution — rare).
|
|
92
|
+
- **All stalled:** Every researcher has exhausted their search space. Continuing wastes resources.
|
|
93
|
+
|
|
94
|
+
### When Early Termination Is Bad
|
|
95
|
+
|
|
96
|
+
- **False plateau:** The metric appeared stuck but a breakthrough was imminent. This happens when:
|
|
97
|
+
- Researchers are in the middle of a strategy shift (Level 1 stuck → pivot → improvement coming)
|
|
98
|
+
- The search space has "plateaus before cliffs" — long flat regions followed by sudden drops
|
|
99
|
+
- One researcher is close to a breakthrough but hasn't reported it yet (it's mid-iteration)
|
|
100
|
+
|
|
101
|
+
**Mitigation:** The 2-round window helps — a single bad round doesn't trigger convergence. Additionally, the ENDGAME signal on the final round gives researchers one last chance to EXPLOIT.
|
|
102
|
+
|
|
103
|
+
### When Budget Exhaustion Is Good
|
|
104
|
+
|
|
105
|
+
- **Exploratory conferences:** The user set a generous budget intentionally. Running all rounds maximizes coverage of the search space.
|
|
106
|
+
- **Noisy metrics:** When individual measurements are unreliable, more data points improve the synthesis.
|
|
107
|
+
- **Qualitative mode:** Self-assessment is unreliable, so running more rounds gives the Reviewer more chances to correct course.
|
|
108
|
+
|
|
109
|
+
### When Budget Exhaustion Is Bad
|
|
110
|
+
|
|
111
|
+
- **Clear convergence ignored:** The metric stopped improving 3 rounds ago but `max_rounds` hasn't been reached. This wastes the user's time and compute.
|
|
112
|
+
|
|
113
|
+
**Mitigation:** The convergence check runs every round and will trigger `CONVERGED` before budget is exhausted if a true plateau is detected.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Convergence Patterns
|
|
118
|
+
|
|
119
|
+
### Pattern 1: Quick Convergence (2-3 rounds)
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
Round 1: Researchers explore diverse strategies, one finds a strong approach
|
|
123
|
+
Round 2: Knowledge transfer spreads the winning strategy; all researchers refine it
|
|
124
|
+
Round 3: Minimal improvement → CONVERGED
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Characteristics:** Small search space, clear optimal direction, researchers rapidly align. Common in well-understood optimization problems.
|
|
128
|
+
|
|
129
|
+
### Pattern 2: Gradual Convergence (5+ rounds)
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
Round 1-2: Initial exploration, moderate improvements
|
|
133
|
+
Round 3-4: Cross-pollination produces novel combinations
|
|
134
|
+
Round 5-6: Diminishing returns, metric plateaus → CONVERGED
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Characteristics:** Large search space, complementary strategies that benefit from synthesis. The most valuable pattern — the conference format adds the most value here.
|
|
138
|
+
|
|
139
|
+
### Pattern 3: Breakthrough After Plateau
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
Round 1-3: Steady improvement, then plateau
|
|
143
|
+
Round 4: One researcher makes a breakthrough via radical pivot
|
|
144
|
+
Round 5: Knowledge transfer spreads breakthrough → rapid improvement
|
|
145
|
+
Round 6: New plateau → CONVERGED
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Characteristics:** Search space has local optima. The Devil's Advocate researcher or a Level 2 DEEP PIVOT often triggers the breakthrough. This is why the 2-round convergence window exists — it prevents premature termination during the plateau at round 3.
|
|
149
|
+
|
|
150
|
+
### Pattern 4: Stalled Conference
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
Round 1-2: Moderate improvement
|
|
154
|
+
Round 3: All researchers hit Level 2 stuck
|
|
155
|
+
Round 3: → STALLED → early synthesis
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Characteristics:** Search space is too constrained, or the problem is harder than expected. The synthesis still produces value — negative results and failed strategies inform future work.
|
|
159
|
+
|
|
160
|
+
### Pattern 5: Budget Exhaustion (No Convergence)
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Round 1-N: Continuous improvement, never plateaus
|
|
164
|
+
Round N: max_rounds hit → BUDGET_STOP → synthesis
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Characteristics:** Rich search space with many viable strategies. The conference could have benefited from more rounds. Consider re-running with a larger budget or narrower search space partitions.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Core Principles
|
|
2
|
+
|
|
3
|
+
## OpenCode authority envelope
|
|
4
|
+
|
|
5
|
+
This reference is inert design guidance. `lit-plan` must approve the finite root-owned objective,
|
|
6
|
+
budget, roots, packet contract, and review policy before any mutation or delegation, including
|
|
7
|
+
interactive runs. Only explicit `/start-work` may consume that approval. Children remain depth-one
|
|
8
|
+
and packet-only; children must not write or mutate root-owned state, select models, or invoke routes.
|
|
9
|
+
|
|
10
|
+
Eleven principles behind the autoconference orchestration system. Principles 1–7 are inherited from autoresearch-skill and apply to each Researcher agent's inner loop. Principles 8–11 are conference-specific and govern the multi-agent coordination layer.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Section 1 — Inherited Principles (from autoresearch-skill)
|
|
15
|
+
|
|
16
|
+
These apply to each Researcher agent's inner loop. See [autoresearch-skill core-principles](https://github.com/wjgoarxiv/autoresearch-skill/blob/main/references/core-principles.md) for full explanations.
|
|
17
|
+
|
|
18
|
+
| # | Principle | Definition | conference.md Field |
|
|
19
|
+
|---|-----------|-----------|---------------------|
|
|
20
|
+
| 1 | **Single Metric** | Optimize exactly one measurable quantity. Multiple objectives cause the agent to game tradeoffs instead of improving. | `Success Metric` |
|
|
21
|
+
| 2 | **Mechanical Verification** | The metric must be computable without human judgment. *(Relaxed in qualitative mode — see Principle 9)* | `Success Metric → Target` |
|
|
22
|
+
| 3 | **Atomic Changes** | One change per iteration. Compound changes make it impossible to attribute improvement or regression. | Enforced by the loop protocol |
|
|
23
|
+
| 4 | **Keep or Revert** | If the metric improves, keep the change. Otherwise, revert immediately. No "maybe." | `researcher_{ID}_results.tsv → status` |
|
|
24
|
+
| 5 | **Full History** | Record every attempt — successes AND failures. Failed approaches constrain the search space for future rounds. | Per-researcher logs + TSV |
|
|
25
|
+
| 6 | **Constrained Search** | Explicitly define what can change and what cannot. Without boundaries, agents may "cheat." | `Search Space → Allowed / Forbidden` |
|
|
26
|
+
| 7 | **Autonomous Loop** | The loop runs without human intervention within its constraints. | `Constraints → pause_every: never` |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Section 2 — Conference Principles (new)
|
|
31
|
+
|
|
32
|
+
| # | Principle | Definition | conference.md Field |
|
|
33
|
+
|---|-----------|-----------|---------------------|
|
|
34
|
+
| 8 | **Knowledge Transfer** | Validated findings must propagate to all researchers between rounds. Without sharing, parallel research degenerates into N independent runs with no synergy. | `Shared Knowledge` section |
|
|
35
|
+
| 9 | **Adversarial Review** | Claims must survive challenge before propagating. Self-evaluation has blind spots (Goodhart's Law). An external reviewer with deep reasoning catches overfitting, noise, and invalid comparisons. | `peer_review_round_N.md` |
|
|
36
|
+
| 10 | **Synthesis Over Selection** | The final output combines complementary insights from multiple researchers, not just picks the winner. The conference's value is in cross-pollination — insights no single researcher would produce alone. | `synthesis.md` |
|
|
37
|
+
| 11 | **Relentless Persistence** | The conference runs until the budget is spent or convergence is reached. Stopping early leaves the most valuable cross-pollination unrun. | Conference Persistence Directive |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Why Each Conference Principle Matters
|
|
42
|
+
|
|
43
|
+
### 8. Knowledge Transfer
|
|
44
|
+
|
|
45
|
+
- **Why:** Parallel researchers exploring independent search partitions will rediscover each other's dead ends if findings are never shared. Knowledge transfer converts N parallel experiments into a compound learning process where each researcher's next round is informed by all others' prior rounds.
|
|
46
|
+
- **Violation consequence:** The conference degenerates into N independent autoresearch runs. There is zero synergy. The conference overhead (poster session, peer review) is incurred with no benefit over running autoresearch N times separately.
|
|
47
|
+
- **Example:** Researcher A discovers in Round 1 that batch normalization causes instability with this dataset. If this is not shared, Researcher B wastes Round 2 trying the same approach. With knowledge transfer, Researcher B reads "BN unstable — avoid" and explores a different direction instead.
|
|
48
|
+
|
|
49
|
+
### 9. Adversarial Review
|
|
50
|
+
|
|
51
|
+
- **Why:** Self-evaluation is systematically optimistic. Researchers measure their own work against their own understanding of the metric. A reviewer with no stake in the result and explicit instructions to challenge claims catches what self-evaluation misses: overfitting to the test set, measurement noise mistaken for improvement, valid-looking but flawed comparisons.
|
|
52
|
+
- **Violation consequence:** Goodhart's Law activates. Researchers optimize for the appearance of progress. Noise is reported as signal. Overfit improvements propagate to Shared Knowledge and corrupt subsequent rounds.
|
|
53
|
+
- **Example:** Researcher A reports a 3% accuracy improvement. Without review, this propagates to all researchers. With review, the Reviewer checks: "Was the test set fixed? Was the same random seed used? Is 3% within measurement noise?" — and may overturn the claim, preventing a false positive from contaminating the shared state.
|
|
54
|
+
- **Note on qualitative mode:** Self-assessment makes Principle 9 more critical, not less. An independent reviewer packet provides the authoritative quality verdict each round, compensating for unreliable self-assessed proxies.
|
|
55
|
+
|
|
56
|
+
### 10. Synthesis Over Selection
|
|
57
|
+
|
|
58
|
+
- **Why:** Picking the "winning" researcher discards 2/3 of the work done. Different researchers explore different search space partitions and develop complementary insights. The synthesizer's job is to identify which insights are orthogonal (can be combined) vs. redundant (can be deduplicated), producing a unified result that no single researcher could have reached alone.
|
|
59
|
+
- **Violation consequence:** The conference produces a result equivalent to running one autoresearch with extra steps. The cross-pollination value — the primary reason to run a conference — is lost.
|
|
60
|
+
- **Example:** Researcher A finds the best architectural change. Researcher B finds the best hyperparameter configuration. Neither tested their improvement in combination. The Synthesizer identifies these as orthogonal improvements and combines them, producing a result better than either individual finding.
|
|
61
|
+
|
|
62
|
+
### 11. Relentless Persistence
|
|
63
|
+
- **Why:** Conference value compounds across rounds. Round 1 finds local optima. Round 3+ enables cross-pollination breakthroughs where Researcher A's validated insight transforms Researcher B's approach.
|
|
64
|
+
- **Violation consequence:** Conference stops after round 1 with isolated results. The synthesis that would have emerged from cross-pollination never happens.
|
|
65
|
+
- **Example:** A 3-round conference with 3 researchers: Round 1 finds 3 local optima. Round 2 cross-pollinates, producing 2 hybrid approaches. Round 3 synthesizes. Stopping at round 1 misses the synthesis entirely.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Mapping to conference.md
|
|
70
|
+
|
|
71
|
+
| Principle | conference.md Section | Enforcement |
|
|
72
|
+
|-----------|----------------------|-------------|
|
|
73
|
+
| Single Metric | `## Success Metric` | Template requires exactly one metric + direction |
|
|
74
|
+
| Mechanical Verification | `## Success Metric → Target` | Target must be a computable expression |
|
|
75
|
+
| Atomic Changes | (Loop protocol) | Researcher agent instructed per-prompt |
|
|
76
|
+
| Keep or Revert | Per-researcher TSV | Each row records `kept` or `reverted` |
|
|
77
|
+
| Full History | Researcher logs + TSV | Append-only; never delete rows |
|
|
78
|
+
| Constrained Search | `## Search Space` | Allowed and Forbidden explicitly listed |
|
|
79
|
+
| Autonomous Loop | `## Constraints` | Default: no pause |
|
|
80
|
+
| Knowledge Transfer | `## Shared Knowledge` | Conference Chair populates after each round |
|
|
81
|
+
| Adversarial Review | `peer_review_round_N.md` | Independent reviewer packet runs after every poster packet |
|
|
82
|
+
| Synthesis Over Selection | `synthesis.md` | Packet-only synthesis runs once at the end |
|
|
83
|
+
| Relentless Persistence | Conference Persistence Directive | Conference Chair advances rounds automatically until budget or convergence |
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Root-Owned Crash Recovery Matrix
|
|
2
|
+
|
|
3
|
+
## OpenCode authority envelope
|
|
4
|
+
|
|
5
|
+
This reference is inert recovery guidance. `lit-plan` must approve the finite root-owned recovery
|
|
6
|
+
point, remaining budget, roots, packet schema, and stale-state response before any mutation or
|
|
7
|
+
delegation, including interactive runs. Only explicit `/start-work` may consume that approval.
|
|
8
|
+
Children remain depth-one and packet-only; children must not write or mutate root-owned state,
|
|
9
|
+
select models, or invoke routes.
|
|
10
|
+
|
|
11
|
+
Recovery is read-first and fail-closed. The root reconciles regular files, bounded event lines, packet
|
|
12
|
+
identities, hashes, lifecycle revision, and remaining budget. It never assumes that an absent event
|
|
13
|
+
means an action failed, and it never treats an unreceipted artifact as accepted state.
|
|
14
|
+
|
|
15
|
+
## Common diagnosis
|
|
16
|
+
|
|
17
|
+
Before proposing recovery, the root performs only approved reads:
|
|
18
|
+
|
|
19
|
+
1. parse `conference_events.jsonl` in order and reject malformed or non-monotonic records;
|
|
20
|
+
2. locate the last complete phase receipt for the current work and round;
|
|
21
|
+
3. compare packet identities and hashes with root result rows;
|
|
22
|
+
4. classify extra or partial artifacts as unreceipted rather than deleting them;
|
|
23
|
+
5. compare goal, evaluator, roots, baseline digest, dependency inputs, and lifecycle revision;
|
|
24
|
+
6. verify real OpenCode task capability again before proposing another child call;
|
|
25
|
+
7. calculate the exact remaining round, iteration, wall-clock, and task-call budget.
|
|
26
|
+
|
|
27
|
+
Any mismatch that changes meaning returns `BLOCKED_STALE_CONFERENCE_STATE`. Missing task capability
|
|
28
|
+
returns `BLOCKED_MULTI_AGENT_UNAVAILABLE`. Diagnosis itself writes nothing.
|
|
29
|
+
|
|
30
|
+
## Recovery type 1 — interrupted researcher packet
|
|
31
|
+
|
|
32
|
+
**Signal:** a round-start receipt exists, but one or more approved researcher packet identities have no
|
|
33
|
+
terminal receipt.
|
|
34
|
+
|
|
35
|
+
**Proposal:** preserve accepted packets, mark unresolved identities as incomplete in the recovery
|
|
36
|
+
packet, and offer either redispatch of only those identities or continuation with explicitly partial
|
|
37
|
+
evidence. The user approves one option through `lit-plan`; explicit `/start-work resume` consumes it.
|
|
38
|
+
|
|
39
|
+
The replacement call receives a new packet identity and the same approved partition, evaluator,
|
|
40
|
+
baseline digest, and remaining budget. Partial child output remains evidence but cannot be merged with
|
|
41
|
+
the replacement packet without reviewer reconciliation.
|
|
42
|
+
|
|
43
|
+
## Recovery type 2 — interrupted poster packet
|
|
44
|
+
|
|
45
|
+
**Signal:** all intended researcher packets are terminal, but there is no accepted poster receipt.
|
|
46
|
+
|
|
47
|
+
**Proposal:** leave any unreceipted poster artifact untouched, identify it in the recovery report, and
|
|
48
|
+
issue a fresh poster packet using the accepted researcher packets only. The root accepts the new packet
|
|
49
|
+
only after schema, identity, and hash checks.
|
|
50
|
+
|
|
51
|
+
## Recovery type 3 — interrupted reviewer packet
|
|
52
|
+
|
|
53
|
+
**Signal:** an accepted poster receipt exists, but material claims lack an accepted review receipt.
|
|
54
|
+
|
|
55
|
+
**Proposal:** preserve the poster packet, classify any partial review artifact as unreceipted, and issue
|
|
56
|
+
a fresh independent reviewer packet with the same rubric and evidence map. Knowledge transfer remains
|
|
57
|
+
blocked until the root accepts the review packet.
|
|
58
|
+
|
|
59
|
+
## Recovery type 4 — interrupted root transfer
|
|
60
|
+
|
|
61
|
+
**Signal:** an accepted review receipt exists, but root result rows, accepted-finding references, and
|
|
62
|
+
the round-complete event do not agree.
|
|
63
|
+
|
|
64
|
+
**Proposal:** derive an idempotent transfer set from accepted packet and review identities. For each
|
|
65
|
+
candidate root write, record expected prior digest, proposed resulting bytes, and the event identity to
|
|
66
|
+
append. Do not apply any part during diagnosis. Explicit `/start-work resume` applies the exact approved
|
|
67
|
+
set with current CAS revision or stops stale.
|
|
68
|
+
|
|
69
|
+
If a proposed prior digest no longer matches, preserve current bytes and return a conflict packet. Do
|
|
70
|
+
not guess which version is newer or more valuable.
|
|
71
|
+
|
|
72
|
+
## Recovery type 5 — interrupted synthesis
|
|
73
|
+
|
|
74
|
+
**Signal:** a terminal conference reason is accepted, but no accepted synthesis packet and completion
|
|
75
|
+
receipt agree.
|
|
76
|
+
|
|
77
|
+
**Proposal:** preserve all round receipts and any unreceipted report artifact. Issue a fresh synthesis
|
|
78
|
+
packet containing only accepted findings, review verdicts, terminal reason, and report schema. The root
|
|
79
|
+
may finalize proposed report bytes only through the active approved lifecycle.
|
|
80
|
+
|
|
81
|
+
## Idempotency and replay
|
|
82
|
+
|
|
83
|
+
- Completed phase receipts are immutable inputs and are not repeated.
|
|
84
|
+
- A request identity replay with identical payload is idempotent; reuse with different payload fails.
|
|
85
|
+
- A stale lifecycle revision cannot apply a recovery packet.
|
|
86
|
+
- A late child packet cannot satisfy a newer identity.
|
|
87
|
+
- Missing evidence remains missing; recovery does not reconstruct it from prose.
|
|
88
|
+
- Cancellation is terminal for the current work and stops new dispatch.
|
|
89
|
+
|
|
90
|
+
## Recovery output
|
|
91
|
+
|
|
92
|
+
The read-only recovery report names:
|
|
93
|
+
|
|
94
|
+
- work identity, round, last accepted phase, and current lifecycle revision;
|
|
95
|
+
- accepted, partial, missing, malformed, late, and stale packets;
|
|
96
|
+
- remaining finite budget and capability verdict;
|
|
97
|
+
- exact proposed root actions and their expected prior digests;
|
|
98
|
+
- paths preserved without change;
|
|
99
|
+
- the explicit `/start-work resume` command boundary or a blocker.
|
|
100
|
+
|
|
101
|
+
Temporary and user-owned paths are not removed automatically. Cleanup is a separately approved local
|
|
102
|
+
proposal after recovery or cancellation, followed by a receipt listing removed, preserved, absent, and
|
|
103
|
+
blocked paths. No recovery path grants publication, release, source-control mutation, or live-profile
|
|
104
|
+
authority.
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# Results Logging Protocol
|
|
2
|
+
|
|
3
|
+
## OpenCode authority envelope
|
|
4
|
+
|
|
5
|
+
This reference is inert schema guidance. `lit-plan` must approve the finite root-owned result paths,
|
|
6
|
+
budget, roots, packet schema, and review contract before any mutation or delegation, including
|
|
7
|
+
interactive runs. Only explicit `/start-work` may consume that approval. Children remain depth-one
|
|
8
|
+
and packet-only; children must not write or mutate root-owned state, select models, or invoke routes.
|
|
9
|
+
|
|
10
|
+
Structured logging for machine-readable experiment tracking at two levels: per-researcher (matching autoresearch format) and conference-level (adding researcher identity, round context, and peer review verdicts).
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Section 1 — Per-Researcher TSV (`researcher_{ID}_results.tsv`)
|
|
15
|
+
|
|
16
|
+
One file per researcher (e.g., `researcher_A_results.tsv`, `researcher_B_results.tsv`). Same schema as autoresearch's `autoresearch-results.tsv` for compatibility.
|
|
17
|
+
|
|
18
|
+
### Schema
|
|
19
|
+
|
|
20
|
+
| Column | Type | Description |
|
|
21
|
+
|--------|------|-------------|
|
|
22
|
+
| `iteration` | int | 0-indexed iteration number within the current round |
|
|
23
|
+
| `metric_value` | float | Measured metric value (or self-assessment score 1-10 in qualitative mode) |
|
|
24
|
+
| `delta` | float or `-` | Change from baseline (iteration 0 of this researcher) |
|
|
25
|
+
| `delta_pct` | string | Percentage change from baseline |
|
|
26
|
+
| `status` | enum | `baseline`, `kept`, `reverted` |
|
|
27
|
+
| `description` | string | One-line description of the change |
|
|
28
|
+
| `evaluator_source` | string | Source of the evaluation — e.g., `script:evaluate.py`, `review-packet:independent`, `self-assessment` |
|
|
29
|
+
| `timestamp` | ISO 8601 UTC | Real UTC instant in `YYYY-MM-DDTHH:MM:SS[.sss]Z` form |
|
|
30
|
+
|
|
31
|
+
### Example
|
|
32
|
+
|
|
33
|
+
```tsv
|
|
34
|
+
iteration metric_value delta delta_pct status description evaluator_source timestamp
|
|
35
|
+
0 2.3991 - - baseline Recursive quicksort with list comprehensions script:benchmark.py 2026-03-18T10:00:00Z
|
|
36
|
+
1 1.8845 -0.5146 -21.4% kept Bottom-up iterative merge sort script:benchmark.py 2026-03-18T10:05:00Z
|
|
37
|
+
2 1.7265 -0.6726 -28.0% kept Merge sort + insertion sort for subarrays < 32 script:benchmark.py 2026-03-18T10:10:00Z
|
|
38
|
+
3 1.9504 -0.4487 -18.7% reverted Natural merge sort with run detection script:benchmark.py 2026-03-18T10:15:00Z
|
|
39
|
+
4 0.9817 -1.4174 -59.1% kept LSD radix sort base 256 script:benchmark.py 2026-03-18T10:20:00Z
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Notes
|
|
43
|
+
|
|
44
|
+
- **Qualitative mode:** `metric_value` holds the researcher's self-assessed quality score (1-10). The Reviewer's authoritative scores appear in the conference-level TSV.
|
|
45
|
+
- **Iteration numbering:** Resets to 0 at the start of each round for simplicity. The round context is captured in the conference-level TSV.
|
|
46
|
+
- **Baseline row:** The first row of each round uses `status: baseline` and `delta: -`.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Section 2 — Conference-Level TSV (`conference_results.tsv`)
|
|
51
|
+
|
|
52
|
+
One file for the entire conference. Adds researcher identity, round context, and peer review verdicts on top of the per-researcher schema.
|
|
53
|
+
|
|
54
|
+
### Schema
|
|
55
|
+
|
|
56
|
+
| Column | Type | Description |
|
|
57
|
+
|--------|------|-------------|
|
|
58
|
+
| `round` | int | Conference round number (1-indexed) |
|
|
59
|
+
| `researcher` | string | Researcher identifier (`A`, `B`, `C`, ...) |
|
|
60
|
+
| `iteration` | int | Iteration within the round (0-indexed) |
|
|
61
|
+
| `metric_value` | float | Measured metric value |
|
|
62
|
+
| `delta` | float or `-` | Change from round baseline |
|
|
63
|
+
| `delta_pct` | string | Percentage change from round baseline |
|
|
64
|
+
| `status` | enum | `baseline`, `kept`, `reverted`, `failed` |
|
|
65
|
+
| `description` | string | One-line description of the change |
|
|
66
|
+
| `evaluator_source` | string | Source of the evaluation — e.g., `script:evaluate.py`, `review-packet:independent`, `self-assessment` |
|
|
67
|
+
| `peer_review_verdict` | enum | `validated`, `challenged`, `overturned`, `-` |
|
|
68
|
+
| `timestamp` | ISO 8601 | When the experiment completed |
|
|
69
|
+
|
|
70
|
+
### Example
|
|
71
|
+
|
|
72
|
+
```tsv
|
|
73
|
+
round researcher iteration metric_value delta delta_pct status description evaluator_source peer_review_verdict timestamp
|
|
74
|
+
1 A 0 2.3991 - - baseline Recursive quicksort baseline script:benchmark.py - 2026-03-18T10:00:00Z
|
|
75
|
+
1 A 1 1.8845 -0.5146 -21.4% kept Bottom-up iterative merge sort script:benchmark.py validated 2026-03-18T10:05:00Z
|
|
76
|
+
1 A 2 1.7265 -0.6726 -28.0% kept Merge sort + insertion sort < 32 script:benchmark.py validated 2026-03-18T10:10:00Z
|
|
77
|
+
1 B 0 2.4012 - - baseline Recursive quicksort baseline script:benchmark.py - 2026-03-18T10:00:00Z
|
|
78
|
+
1 B 1 2.1500 -0.2512 -10.5% kept Heap sort implementation script:benchmark.py challenged 2026-03-18T10:07:00Z
|
|
79
|
+
1 B 2 1.9800 -0.4212 -17.5% kept Heap sort with Floyd's algorithm script:benchmark.py validated 2026-03-18T10:12:00Z
|
|
80
|
+
1 C 0 2.3950 - - baseline Recursive quicksort baseline script:benchmark.py - 2026-03-18T10:00:00Z
|
|
81
|
+
1 C 1 0.9817 -1.4133 -59.1% kept LSD radix sort base 256 script:benchmark.py validated 2026-03-18T10:08:00Z
|
|
82
|
+
2 A 0 1.7265 - - baseline Round 2 start from best known script:benchmark.py - 2026-03-18T10:30:00Z
|
|
83
|
+
2 A 1 1.5100 -0.2165 -12.5% kept Merge sort + radix hybrid script:benchmark.py validated 2026-03-18T10:35:00Z
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Status Values
|
|
87
|
+
|
|
88
|
+
| Value | Meaning |
|
|
89
|
+
|-------|---------|
|
|
90
|
+
| `baseline` | Starting point for this researcher in this round |
|
|
91
|
+
| `kept` | Change improved the metric and was kept |
|
|
92
|
+
| `reverted` | Change did not improve metric; reverted to previous best |
|
|
93
|
+
| `failed` | Researcher crashed, timed out, or self-terminated before completing the iteration |
|
|
94
|
+
|
|
95
|
+
### Peer Review Verdict Values
|
|
96
|
+
|
|
97
|
+
| Value | Meaning |
|
|
98
|
+
|-------|---------|
|
|
99
|
+
| `validated` | Reviewer confirmed the claim holds |
|
|
100
|
+
| `challenged` | Reviewer flagged the claim as questionable; needs more evidence |
|
|
101
|
+
| `overturned` | Reviewer determined the claim is invalid |
|
|
102
|
+
| `-` | Not yet reviewed (e.g., baseline row, or round not yet complete) |
|
|
103
|
+
|
|
104
|
+
Every conference-level row must have exactly the eleven documented fields. For every completed round,
|
|
105
|
+
each configured researcher must have exactly one genuine iteration-0 `baseline` row with finite metric,
|
|
106
|
+
`-` delta/percentage, and `-` peer verdict; later rows are non-baseline experiments. `round` is an integer
|
|
107
|
+
from 1 through configured max rounds; `researcher` is one of the configured `A` through `Z` identifiers;
|
|
108
|
+
`iteration` is unique within that round/researcher tuple. Percentage, status, peer verdict, non-empty
|
|
109
|
+
description/source, and real UTC timestamp must match this schema. Missing or placeholder baselines,
|
|
110
|
+
extra/missing fields, unknown researchers, out-of-range rounds, duplicate evidence identities, invalid
|
|
111
|
+
enums, or non-finite metrics invalidate completion evidence.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Section 3 — Event Log (`conference_events.jsonl`)
|
|
116
|
+
|
|
117
|
+
An append-only JSONL file recording all significant conference events. Each line is a JSON object. External tools can tail this file for real-time monitoring.
|
|
118
|
+
|
|
119
|
+
### Schema
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"event": "<event_type>",
|
|
124
|
+
"timestamp": "<ISO 8601>",
|
|
125
|
+
"payload": { ... }
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Event Types
|
|
130
|
+
|
|
131
|
+
| Event | When | Payload Fields |
|
|
132
|
+
|-------|------|----------------|
|
|
133
|
+
| `conference.started` | Conference Chair initializes | `researchers`, `mode`, `goal`, `config_summary` |
|
|
134
|
+
| `round.started` | Each round begins | `round`, `researcher_states` |
|
|
135
|
+
| `researcher.iteration` | Researcher completes an iteration | `researcher`, `round`, `iteration`, `metric_value`, `delta`, `status` |
|
|
136
|
+
| `round.poster_session` | Poster session complete | `round`, `summary` |
|
|
137
|
+
| `round.peer_review` | Peer review complete | `round`, `validated_count`, `challenged_count`, `overturned_count` |
|
|
138
|
+
| `round.completed` | Round finishes | `round`, `best_metric`, `best_researcher`, `converged` |
|
|
139
|
+
| `researcher.stuck` | Researcher hits stuck Level 2+ | `researcher`, `round`, `stuck_level` |
|
|
140
|
+
| `conference.converged` | Convergence detected | `final_best_metric`, `round_count`, `reason` |
|
|
141
|
+
| `conference.completed` | Synthesis done | top-level `terminal_verdict`; payload `synthesis_path`, `final_report_path`, `total_iterations`, `total_rounds`, `researcher_count` |
|
|
142
|
+
|
|
143
|
+
### Example
|
|
144
|
+
|
|
145
|
+
```jsonl
|
|
146
|
+
{"event":"conference.started","timestamp":"2026-03-18T10:00:00Z","payload":{"researchers":3,"mode":"metric","goal":"Optimize inference latency","config_summary":"metric=p95_latency_ms, direction=minimize, target=<50ms"}}
|
|
147
|
+
{"event":"round.started","timestamp":"2026-03-18T10:00:05Z","payload":{"round":1,"researcher_states":["A:ready","B:ready","C:ready"]}}
|
|
148
|
+
{"event":"researcher.iteration","timestamp":"2026-03-18T10:05:00Z","payload":{"researcher":"A","round":1,"iteration":1,"metric_value":1.8845,"delta":-0.5146,"status":"kept"}}
|
|
149
|
+
{"event":"round.poster_session","timestamp":"2026-03-18T10:20:00Z","payload":{"round":1,"summary":"A: merge sort -28%, B: heap sort -17.5%, C: radix sort -59.1%"}}
|
|
150
|
+
{"event":"round.peer_review","timestamp":"2026-03-18T10:25:00Z","payload":{"round":1,"validated_count":5,"challenged_count":1,"overturned_count":0}}
|
|
151
|
+
{"event":"round.completed","timestamp":"2026-03-18T10:26:00Z","payload":{"round":1,"best_metric":0.9817,"best_researcher":"C","converged":false}}
|
|
152
|
+
{"event":"conference.completed","timestamp":"2026-03-18T11:45:00Z","terminal_verdict":"TARGET_MET","payload":{"synthesis_path":"synthesis.md","final_report_path":"final_report.md","total_iterations":45,"total_rounds":3,"researcher_count":3}}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Every valid `round.completed` payload contains an in-range integer `round`, finite numeric `best_metric`,
|
|
156
|
+
a configured `best_researcher`, and boolean `converged`. Its best researcher and metric must match the
|
|
157
|
+
direction-aware best non-failed conference TSV row for that round. Duplicate, incomplete, invalid, or
|
|
158
|
+
unreconciled round receipts invalidate completion even if a later receipt is valid. At terminal state,
|
|
159
|
+
TSV rounds and sequential completed-round receipts must name the same round set.
|
|
160
|
+
|
|
161
|
+
The terminal verdict is one of `TARGET_MET`, `CONVERGED`, `BUDGET_EXHAUSTED`, `STALLED`, `CANCELLED`,
|
|
162
|
+
or `BLOCKED`. The packaged status helper parses JSONL with the guaranteed Node runtime and validates
|
|
163
|
+
the latest valid-JSON `conference.completed` object. Its UTC timestamp must be real; artifact paths
|
|
164
|
+
must be exactly `synthesis.md` and `final_report.md`; and all three non-negative integer counts must
|
|
165
|
+
reconcile with fully schema-valid results TSV rows, reconciled `round.completed` events, configured max
|
|
166
|
+
rounds, and configured researcher count. `payload.total_iterations` counts only non-baseline experiment
|
|
167
|
+
rows across all researchers and rounds; required iteration-0 baseline rows are excluded.
|
|
168
|
+
Malformed JSON is ignored as an incomplete append. Valid JSON that names the terminal event but has a
|
|
169
|
+
missing or invalid verdict, payload, path, timestamp, or count is `terminal invalid` with exit code 4.
|
|
170
|
+
An unavailable Node command yields `BLOCKED_NODE_UNAVAILABLE` with exit code 3; a parser invocation
|
|
171
|
+
failure yields `BLOCKED_NODE_RUNTIME_ERROR` with the same exit code. Neither condition silently falls
|
|
172
|
+
back to another runtime.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Usage
|
|
177
|
+
|
|
178
|
+
The TSV files and event log enable:
|
|
179
|
+
|
|
180
|
+
- **Programmatic analysis:** Load `conference_results.tsv` into pandas; plot per-researcher convergence curves; compute cross-researcher strategy comparison.
|
|
181
|
+
- **CI integration:** Parse the last row of `conference_results.tsv` to check if the target was met. Same pattern as autoresearch-skill.
|
|
182
|
+
- **Cross-project comparison:** Standardized format across all autoconference runs.
|
|
183
|
+
- **Bounded monitoring:** After an approved finite conference step, read at most the last 200 records from `conference_events.jsonl`, capture the snapshot, and stop.
|
|
184
|
+
- **Peer review accuracy analysis:** Compare `peer_review_verdict` against final synthesis outcomes to measure reviewer quality over time.
|
|
185
|
+
|
|
186
|
+
## Relationship to Other Output Files
|
|
187
|
+
|
|
188
|
+
| File | Purpose | Format | Audience |
|
|
189
|
+
|------|---------|--------|----------|
|
|
190
|
+
| `conference.md` | User configuration + Conference Log | Markdown | Humans |
|
|
191
|
+
| `researcher_{ID}_log.md` | Detailed per-iteration reasoning | Markdown | Humans |
|
|
192
|
+
| `researcher_{ID}_results.tsv` | Per-researcher machine-readable results | TSV | Scripts/CI |
|
|
193
|
+
| `conference_results.tsv` | Conference-level results with verdicts | TSV | Scripts/CI |
|
|
194
|
+
| `conference_events.jsonl` | Event stream for real-time monitoring | JSONL | Scripts/monitoring |
|
|
195
|
+
| `poster_session_round_N.md` | Session Chair's round summary | Markdown | Humans |
|
|
196
|
+
| `peer_review_round_N.md` | Reviewer's verdicts per round | Markdown | Humans |
|
|
197
|
+
| `synthesis.md` | Synthesizer's unified result | Markdown | Humans |
|
|
198
|
+
| `final_report.md` | Executive summary | Markdown | Humans |
|