{"id":"@lssm-tech/lib.opportunity-spec","slug":"lib.opportunity-spec","name":"@lssm-tech/lib.opportunity-spec","version":"2.0.4","path":"packages/domains/opportunity/spec","manifestPath":"packages/domains/opportunity/spec/package.json","manifestBlobSha":"ee1103e1e19f0aa0826839379c180f1110c48435","layer":"domains","physicalArea":"opportunity","primaryArea":"intelligence-and-research","classification":{"privateDeclared":null,"catalogFamily":"contracts","catalogKind":"library","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Provider-neutral opportunity scoring and selection contracts for autonomous-company candidates.","descriptionOrigin":"package.json","catalog":{"family":"contracts","kind":"library","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./fixtures","./types","./validation","./validation-rules","./discovery"],"documentation":[{"title":"Lib Opportunity Spec documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.opportunity-spec","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.lib.opportunity.spec","title":"Lib Opportunity Spec","description":"Provider-neutral opportunity scoring and selection contracts for autonomous-company candidates.","status":"active","useCases":["Adopt provider-neutral opportunity scoring and selection contracts for autonomous-company candidates"],"aliases":["lib","opportunity","spec"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/lib.opportunity-spec","symbols":[]},{"from":"@lssm-tech/lib.opportunity-spec/fixtures","symbols":[]},{"from":"@lssm-tech/lib.opportunity-spec/types","symbols":[]},{"from":"@lssm-tech/lib.opportunity-spec/validation","symbols":[]},{"from":"@lssm-tech/lib.opportunity-spec/validation-rules","symbols":[]},{"from":"@lssm-tech/lib.opportunity-spec/discovery","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/lib.opportunity-spec package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.lib.opportunity.spec","from":"@lssm-tech/lib.opportunity-spec","symbols":[]},{"capabilityId":"package.lssm.tech.lib.opportunity.spec","from":"@lssm-tech/lib.opportunity-spec/fixtures","symbols":[]},{"capabilityId":"package.lssm.tech.lib.opportunity.spec","from":"@lssm-tech/lib.opportunity-spec/types","symbols":[]},{"capabilityId":"package.lssm.tech.lib.opportunity.spec","from":"@lssm-tech/lib.opportunity-spec/validation","symbols":[]},{"capabilityId":"package.lssm.tech.lib.opportunity.spec","from":"@lssm-tech/lib.opportunity-spec/validation-rules","symbols":[]},{"capabilityId":"package.lssm.tech.lib.opportunity.spec","from":"@lssm-tech/lib.opportunity-spec/discovery","symbols":[]}],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun lint:fix","lint:fix":"node ../../../../scripts/biome.cjs check --write .","lint:check":"node ../../../../scripts/biome.cjs check .","test":"bun test","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.contracts-spec-core":"workspace:^","zod":"catalog:"},"devDependencies":{"@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./contracts/opportunity-wave":"./src/contracts/opportunity-wave.ts","./discovery":"./src/discovery.ts","./discovery-draft":"./src/discovery-draft.ts","./discovery-evidence":"./src/discovery-evidence.ts","./discovery-observations":"./src/discovery-observations.ts","./discovery-results":"./src/discovery-results.ts","./discovery-validation":"./src/discovery-validation.ts","./fixtures":"./src/fixtures.ts","./types":"./src/types.ts","./validation":"./src/validation.ts","./validation-rules":"./src/validation-rules.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./contracts/opportunity-wave":{"types":"./dist/contracts/opportunity-wave.d.ts","browser":"./dist/browser/contracts/opportunity-wave.js","bun":"./dist/contracts/opportunity-wave.js","node":"./dist/node/contracts/opportunity-wave.js","default":"./dist/contracts/opportunity-wave.js"},"./discovery":{"types":"./dist/discovery.d.ts","browser":"./dist/browser/discovery.js","bun":"./dist/discovery.js","node":"./dist/node/discovery.js","default":"./dist/discovery.js"},"./discovery-draft":{"types":"./dist/discovery-draft.d.ts","browser":"./dist/browser/discovery-draft.js","bun":"./dist/discovery-draft.js","node":"./dist/node/discovery-draft.js","default":"./dist/discovery-draft.js"},"./discovery-evidence":{"types":"./dist/discovery-evidence.d.ts","browser":"./dist/browser/discovery-evidence.js","bun":"./dist/discovery-evidence.js","node":"./dist/node/discovery-evidence.js","default":"./dist/discovery-evidence.js"},"./discovery-observations":{"types":"./dist/discovery-observations.d.ts","browser":"./dist/browser/discovery-observations.js","bun":"./dist/discovery-observations.js","node":"./dist/node/discovery-observations.js","default":"./dist/discovery-observations.js"},"./discovery-results":{"types":"./dist/discovery-results.d.ts","browser":"./dist/browser/discovery-results.js","bun":"./dist/discovery-results.js","node":"./dist/node/discovery-results.js","default":"./dist/discovery-results.js"},"./discovery-validation":{"types":"./dist/discovery-validation.d.ts","browser":"./dist/browser/discovery-validation.js","bun":"./dist/discovery-validation.js","node":"./dist/node/discovery-validation.js","default":"./dist/discovery-validation.js"},"./fixtures":{"types":"./dist/fixtures.d.ts","browser":"./dist/browser/fixtures.js","bun":"./dist/fixtures.js","node":"./dist/node/fixtures.js","default":"./dist/fixtures.js"},"./types":{"types":"./dist/types.d.ts","browser":"./dist/browser/types.js","bun":"./dist/types.js","node":"./dist/node/types.js","default":"./dist/types.js"},"./validation":{"types":"./dist/validation.d.ts","browser":"./dist/browser/validation.js","bun":"./dist/validation.js","node":"./dist/node/validation.js","default":"./dist/validation.js"},"./validation-rules":{"types":"./dist/validation-rules.d.ts","browser":"./dist/browser/validation-rules.js","bun":"./dist/validation-rules.js","node":"./dist/node/validation-rules.js","default":"./dist/validation-rules.js"}},"types":"./dist/index.d.ts","files":["dist","README.md","AGENTS.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/lib.opportunity-spec","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/domains/opportunity/spec/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./contracts/opportunity-wave","importPath":"@lssm-tech/lib.opportunity-spec/contracts/opportunity-wave","target":"./src/contracts/opportunity-wave.ts","targets":[{"conditions":[],"target":"./src/contracts/opportunity-wave.ts","sourcePath":"packages/domains/opportunity/spec/src/contracts/opportunity-wave.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/contracts/opportunity-wave.ts","sourceStatus":"verified source file"}]},{"subpath":"./discovery","importPath":"@lssm-tech/lib.opportunity-spec/discovery","target":"./src/discovery.ts","targets":[{"conditions":[],"target":"./src/discovery.ts","sourcePath":"packages/domains/opportunity/spec/src/discovery.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/discovery.ts","sourceStatus":"verified source file"}]},{"subpath":"./discovery-draft","importPath":"@lssm-tech/lib.opportunity-spec/discovery-draft","target":"./src/discovery-draft.ts","targets":[{"conditions":[],"target":"./src/discovery-draft.ts","sourcePath":"packages/domains/opportunity/spec/src/discovery-draft.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/discovery-draft.ts","sourceStatus":"verified source file"}]},{"subpath":"./discovery-evidence","importPath":"@lssm-tech/lib.opportunity-spec/discovery-evidence","target":"./src/discovery-evidence.ts","targets":[{"conditions":[],"target":"./src/discovery-evidence.ts","sourcePath":"packages/domains/opportunity/spec/src/discovery-evidence.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/discovery-evidence.ts","sourceStatus":"verified source file"}]},{"subpath":"./discovery-observations","importPath":"@lssm-tech/lib.opportunity-spec/discovery-observations","target":"./src/discovery-observations.ts","targets":[{"conditions":[],"target":"./src/discovery-observations.ts","sourcePath":"packages/domains/opportunity/spec/src/discovery-observations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/discovery-observations.ts","sourceStatus":"verified source file"}]},{"subpath":"./discovery-results","importPath":"@lssm-tech/lib.opportunity-spec/discovery-results","target":"./src/discovery-results.ts","targets":[{"conditions":[],"target":"./src/discovery-results.ts","sourcePath":"packages/domains/opportunity/spec/src/discovery-results.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/discovery-results.ts","sourceStatus":"verified source file"}]},{"subpath":"./discovery-validation","importPath":"@lssm-tech/lib.opportunity-spec/discovery-validation","target":"./src/discovery-validation.ts","targets":[{"conditions":[],"target":"./src/discovery-validation.ts","sourcePath":"packages/domains/opportunity/spec/src/discovery-validation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/discovery-validation.ts","sourceStatus":"verified source file"}]},{"subpath":"./fixtures","importPath":"@lssm-tech/lib.opportunity-spec/fixtures","target":"./src/fixtures.ts","targets":[{"conditions":[],"target":"./src/fixtures.ts","sourcePath":"packages/domains/opportunity/spec/src/fixtures.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/fixtures.ts","sourceStatus":"verified source file"}]},{"subpath":"./types","importPath":"@lssm-tech/lib.opportunity-spec/types","target":"./src/types.ts","targets":[{"conditions":[],"target":"./src/types.ts","sourcePath":"packages/domains/opportunity/spec/src/types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/types.ts","sourceStatus":"verified source file"}]},{"subpath":"./validation","importPath":"@lssm-tech/lib.opportunity-spec/validation","target":"./src/validation.ts","targets":[{"conditions":[],"target":"./src/validation.ts","sourcePath":"packages/domains/opportunity/spec/src/validation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/validation.ts","sourceStatus":"verified source file"}]},{"subpath":"./validation-rules","importPath":"@lssm-tech/lib.opportunity-spec/validation-rules","target":"./src/validation-rules.ts","targets":[{"conditions":[],"target":"./src/validation-rules.ts","sourcePath":"packages/domains/opportunity/spec/src/validation-rules.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/src/validation-rules.ts","sourceStatus":"verified source file"}]}],"entryCount":12,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Lib Opportunity Spec documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.opportunity-spec","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.opportunity-spec.txt"},"readme":{"status":"available","body":"# `@lssm-tech/lib.opportunity-spec`\n\nProvider-neutral opportunity scoring and selection contracts for autonomous-company candidates.\n\nThis package closes the first canonical ContractSpec slice for the Autonomous Company Opportunity Engine. It defines reviewable candidate, scorecard, evidence, gate, validation, simulation, portfolio, and handoff contracts; it does not research markets, call providers, mutate CompanyOS/Builder state, or approve production implementation.\n\n## Scope\n\nUse this package to model:\n\n- autonomous-company opportunity candidates;\n- core scorecards: AFS, BVS, GFS, CES, DMS, RTS, RCS, SFS, and TMS;\n- diagnostic scores: QAS, DRS, TVS, VCS, and OTS;\n- per-score and per-estimate evidence claims from hypothesis to live customer metrics;\n- hard kill gates, downgrade gates, HITL load, GTM/CAC/budget assumptions, validation experiments, simulations, and portfolio decisions;\n- branded refs to CompanyOS, Builder, ProductIntent, growth, finance, assurance, and orchestration surfaces.\n\n## Boundary\n\nThis package is contract-only. It must not contain provider credentials, network calls, filesystem mutation, live research, customer-facing sends, production workflow creation, or module imports. High opportunity scores are decision evidence, not implementation approval.\n\n## Public entrypoints\n\n- `@lssm-tech/lib.opportunity-spec` — root barrel\n- `@lssm-tech/lib.opportunity-spec/types` — Zod schemas and inferred types\n- `@lssm-tech/lib.opportunity-spec/validation` — semantic validation helpers\n- `@lssm-tech/lib.opportunity-spec/validation-rules` — reusable validation rule primitives for score coverage and evidence ref checks\n- `@lssm-tech/lib.opportunity-spec/fixtures` — safe synthetic fixtures\n\n## Evidence thresholds\n\n- `customer_validated` requires evidence level `3` or higher.\n- `pilot_validated` requires evidence level `4` or higher.\n- `live_proven` requires evidence level `5`.\n\n## Distribution-first drafts (additive, experimental)\n\n`@lssm-tech/lib.opportunity-spec/discovery` exports `OpportunityDraftSchema`,\n`OpportunityWaveSchema`, scoped evidence/metric contracts, the owning\n`OpportunityDiscoveryWaveFeature`, and `validateOpportunityDraft` /\n`validateOpportunityWave`. Drafts preserve unassessed fields and unknown customer\nmetrics; they do not require a company, canonical scores, budgets or simulations.\n\nCommercial roles, acquisition mechanisms, creative production, publishing,\noffers and retention modes are independent dimensions. Catalog cash/effort/time\nranges are editorial planning priors, never measured CAC, churn or conversion.\nEvidence supports its particular product, claim, audience, geography and period;\nvendor offers establish category facts, not our willingness to pay or demand.\n\nUse the repository's `scripts/opportunity-wave.ts` captured-input runner to emit\nthe generation prompt, validate, screen and export another wave. The runtime's\nseparate `selfserve-first@1.0.0` profile produces research/experiment priorities,\nwithout granting implementation, campaign or spending authority. Promotion to\n`OpportunityCandidate` requires independently supplied mature requirements and\ncanonical validation. Existing mature contracts remain unchanged.\n\n### Wave 1.1.0: sales-assisted profile, production assets, channel variety\n\n`OpportunityWaveV11Schema` (`schemaVersion: \"1.1.0\"`) sits beside the frozen\n1.0.0 schema; validate either with `validateOpportunityDiscoveryWave`.\n\n- `profileId` is `selfserve-first` or `sales-assisted` (`OPPORTUNITY_DISCOVERY_PROFILE_REQUIREMENTS`).\n  `sales-assisted` replaces the `selfserve_purchase` gate with `bounded_sales_effort`\n  and the `selfserve_adoption` dimension with `assisted_conversion`.\n- A play may declare `salesMotion`: AI preparation, a human role, a handoff\n  boundary. It passes `bounded_sales_effort` only with at most two calls and at\n  most 90 planned human minutes per closed account; a play above the ceiling must\n  fail the gate and is deferred. Under `selfserve-first` a mandatory call cannot\n  pass `selfserve_purchase`. `sales_led`, `ai_sdr_calls` and `webinar_demo` plays\n  must declare a motion under `sales-assisted`.\n- A play may declare `productionAsset` (paid UGC, AI UGC, founder content,\n  product demo, commissioned creator, customer content). It supplies creative,\n  never reach. AI UGC declares a synthetic person; paid or synthetic people are\n  never presented as customers; creator amplification needs explicit ad\n  authorization.\n- A wave of eight or more drafts keeps any primary method at or below 25% and\n  spans at least four method families (`OPPORTUNITY_WAVE_V11_CHANNEL_VARIETY`).\n\n## Package verification\n\n- `bun run test`\n- `bun run typecheck`\n- `bun run lint:check`\n- `bun run build`\n","sourcePath":"packages/domains/opportunity/spec/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/opportunity/spec/README.md","blobSha":"3c0093131997fa317e486839e5b3d343110e796f","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"intelligence-and-research","areaTitle":"Intelligence, research and applications","displayName":"lib.opportunity-spec","runtimes":["node"],"platforms":["server"],"kind":"library","scope":"Package manifest","canonicalRoute":"/docs/packages/lib.opportunity-spec/","contextUrl":"/docs/packages/lib.opportunity-spec.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}