{"id":"@lssm-tech/lib.agent-runtime-conformance","slug":"lib.agent-runtime-conformance","name":"@lssm-tech/lib.agent-runtime-conformance","version":"2.0.4","path":"packages/tools/agent-runtime-conformance","manifestPath":"packages/tools/agent-runtime-conformance/package.json","manifestBlobSha":"65fe584d0f9e0e457cd4e504f93432f4884ec1dc","layer":"tools","physicalArea":null,"primaryArea":"observability-and-testing","classification":{"privateDeclared":null,"catalogFamily":"runtime","catalogKind":"library","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Cross-runtime lifecycle conformance suite for ContractSpec agent runtime adapters","descriptionOrigin":"package.json","catalog":{"family":"runtime","kind":"library","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./cases","./cases/approval","./cases/context","./cases/durability","./cases/effect-replay","./cases/not-applicable","./cases/observability","./cases/session-and-tool","./cases/suspension-and-cancel","./fixtures","./fixtures/approval","./fixtures/artifact","./fixtures/process-death.worker","./fixtures/reference-agent","./fixtures/targets","./parity","./parity-probe","./suite","./types"],"documentation":[{"title":"Lib Agent Runtime Conformance documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.agent-runtime-conformance","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.lib.agent.runtime.conformance","title":"Lib Agent Runtime Conformance","description":"Cross-runtime lifecycle conformance suite for ContractSpec agent runtime adapters","status":"active","useCases":["Adopt cross-runtime lifecycle conformance suite for contractspec agent runtime adapters"],"aliases":["contractspec","agent","conformance","runtime","durable","typescript","lib"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/lib.agent-runtime-conformance","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/cases","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/cases/approval","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/cases/context","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/cases/durability","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/cases/effect-replay","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/cases/not-applicable","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/cases/observability","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/cases/session-and-tool","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/cases/suspension-and-cancel","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/fixtures","symbols":[]},{"from":"@lssm-tech/lib.agent-runtime-conformance/fixtures/approval","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/lib.agent-runtime-conformance package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/cases","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/cases/approval","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/cases/context","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/cases/durability","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/cases/effect-replay","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/cases/not-applicable","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/cases/observability","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/cases/session-and-tool","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/cases/suspension-and-cancel","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/fixtures","symbols":[]},{"capabilityId":"package.lssm.tech.lib.agent.runtime.conformance","from":"@lssm-tech/lib.agent-runtime-conformance/fixtures/approval","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 --unsafe --only=nursery/useSortedClasses . && 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.ai-agent":"workspace:^","@lssm-tech/lib.contracts-runtime-core":"workspace:^","@lssm-tech/lib.agent-protocol-spec":"workspace:^","@lssm-tech/lib.contracts-spec-core":"workspace:^","@lssm-tech/integration.agent-durable-store":"workspace:^","@lssm-tech/integration.workflow-devkit":"workspace:^"},"devDependencies":{"@lssm-tech/lib.orchestration-spec":"workspace:^","@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","./cases":"./src/cases/index.ts","./cases/approval":"./src/cases/approval.ts","./cases/context":"./src/cases/context.ts","./cases/durability":"./src/cases/durability.ts","./cases/effect-replay":"./src/cases/effect-replay.ts","./cases/not-applicable":"./src/cases/not-applicable.ts","./cases/observability":"./src/cases/observability.ts","./cases/session-and-tool":"./src/cases/session-and-tool.ts","./cases/suspension-and-cancel":"./src/cases/suspension-and-cancel.ts","./fixtures":"./src/fixtures/index.ts","./fixtures/approval":"./src/fixtures/approval.ts","./fixtures/artifact":"./src/fixtures/artifact.ts","./fixtures/process-death.worker":"./src/fixtures/process-death.worker.ts","./fixtures/reference-agent":"./src/fixtures/reference-agent.ts","./fixtures/targets":"./src/fixtures/targets.ts","./parity":"./src/parity.ts","./parity-probe":"./src/parity-probe.ts","./suite":"./src/suite.ts","./types":"./src/types.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./cases":{"types":"./dist/cases/index.d.ts","bun":"./dist/cases/index.js","node":"./dist/node/cases/index.js","default":"./dist/cases/index.js"},"./cases/approval":{"types":"./dist/cases/approval.d.ts","bun":"./dist/cases/approval.js","node":"./dist/node/cases/approval.js","default":"./dist/cases/approval.js"},"./cases/context":{"types":"./dist/cases/context.d.ts","bun":"./dist/cases/context.js","node":"./dist/node/cases/context.js","default":"./dist/cases/context.js"},"./cases/durability":{"types":"./dist/cases/durability.d.ts","bun":"./dist/cases/durability.js","node":"./dist/node/cases/durability.js","default":"./dist/cases/durability.js"},"./cases/effect-replay":{"types":"./dist/cases/effect-replay.d.ts","bun":"./dist/cases/effect-replay.js","node":"./dist/node/cases/effect-replay.js","default":"./dist/cases/effect-replay.js"},"./cases/not-applicable":{"types":"./dist/cases/not-applicable.d.ts","bun":"./dist/cases/not-applicable.js","node":"./dist/node/cases/not-applicable.js","default":"./dist/cases/not-applicable.js"},"./cases/observability":{"types":"./dist/cases/observability.d.ts","bun":"./dist/cases/observability.js","node":"./dist/node/cases/observability.js","default":"./dist/cases/observability.js"},"./cases/session-and-tool":{"types":"./dist/cases/session-and-tool.d.ts","bun":"./dist/cases/session-and-tool.js","node":"./dist/node/cases/session-and-tool.js","default":"./dist/cases/session-and-tool.js"},"./cases/suspension-and-cancel":{"types":"./dist/cases/suspension-and-cancel.d.ts","bun":"./dist/cases/suspension-and-cancel.js","node":"./dist/node/cases/suspension-and-cancel.js","default":"./dist/cases/suspension-and-cancel.js"},"./fixtures":{"types":"./dist/fixtures/index.d.ts","bun":"./dist/fixtures/index.js","node":"./dist/node/fixtures/index.js","default":"./dist/fixtures/index.js"},"./fixtures/approval":{"types":"./dist/fixtures/approval.d.ts","bun":"./dist/fixtures/approval.js","node":"./dist/node/fixtures/approval.js","default":"./dist/fixtures/approval.js"},"./fixtures/artifact":{"types":"./dist/fixtures/artifact.d.ts","bun":"./dist/fixtures/artifact.js","node":"./dist/node/fixtures/artifact.js","default":"./dist/fixtures/artifact.js"},"./fixtures/process-death.worker":{"types":"./dist/fixtures/process-death.worker.d.ts","bun":"./dist/fixtures/process-death.worker.js","node":"./dist/node/fixtures/process-death.worker.js","default":"./dist/fixtures/process-death.worker.js"},"./fixtures/reference-agent":{"types":"./dist/fixtures/reference-agent.d.ts","bun":"./dist/fixtures/reference-agent.js","node":"./dist/node/fixtures/reference-agent.js","default":"./dist/fixtures/reference-agent.js"},"./fixtures/targets":{"types":"./dist/fixtures/targets.d.ts","bun":"./dist/fixtures/targets.js","node":"./dist/node/fixtures/targets.js","default":"./dist/fixtures/targets.js"},"./parity":{"types":"./dist/parity.d.ts","bun":"./dist/parity.js","node":"./dist/node/parity.js","default":"./dist/parity.js"},"./parity-probe":{"types":"./dist/parity-probe.d.ts","bun":"./dist/parity-probe.js","node":"./dist/node/parity-probe.js","default":"./dist/parity-probe.js"},"./suite":{"types":"./dist/suite.d.ts","bun":"./dist/suite.js","node":"./dist/node/suite.js","default":"./dist/suite.js"},"./types":{"types":"./dist/types.d.ts","bun":"./dist/types.js","node":"./dist/node/types.js","default":"./dist/types.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/lib.agent-runtime-conformance","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./cases","importPath":"@lssm-tech/lib.agent-runtime-conformance/cases","target":"./src/cases/index.ts","targets":[{"conditions":[],"target":"./src/cases/index.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/cases/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/cases/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./cases/approval","importPath":"@lssm-tech/lib.agent-runtime-conformance/cases/approval","target":"./src/cases/approval.ts","targets":[{"conditions":[],"target":"./src/cases/approval.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/cases/approval.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/cases/approval.ts","sourceStatus":"verified source file"}]},{"subpath":"./cases/context","importPath":"@lssm-tech/lib.agent-runtime-conformance/cases/context","target":"./src/cases/context.ts","targets":[{"conditions":[],"target":"./src/cases/context.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/cases/context.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/cases/context.ts","sourceStatus":"verified source file"}]},{"subpath":"./cases/durability","importPath":"@lssm-tech/lib.agent-runtime-conformance/cases/durability","target":"./src/cases/durability.ts","targets":[{"conditions":[],"target":"./src/cases/durability.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/cases/durability.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/cases/durability.ts","sourceStatus":"verified source file"}]},{"subpath":"./cases/effect-replay","importPath":"@lssm-tech/lib.agent-runtime-conformance/cases/effect-replay","target":"./src/cases/effect-replay.ts","targets":[{"conditions":[],"target":"./src/cases/effect-replay.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/cases/effect-replay.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/cases/effect-replay.ts","sourceStatus":"verified source file"}]},{"subpath":"./cases/not-applicable","importPath":"@lssm-tech/lib.agent-runtime-conformance/cases/not-applicable","target":"./src/cases/not-applicable.ts","targets":[{"conditions":[],"target":"./src/cases/not-applicable.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/cases/not-applicable.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/cases/not-applicable.ts","sourceStatus":"verified source file"}]},{"subpath":"./cases/observability","importPath":"@lssm-tech/lib.agent-runtime-conformance/cases/observability","target":"./src/cases/observability.ts","targets":[{"conditions":[],"target":"./src/cases/observability.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/cases/observability.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/cases/observability.ts","sourceStatus":"verified source file"}]},{"subpath":"./cases/session-and-tool","importPath":"@lssm-tech/lib.agent-runtime-conformance/cases/session-and-tool","target":"./src/cases/session-and-tool.ts","targets":[{"conditions":[],"target":"./src/cases/session-and-tool.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/cases/session-and-tool.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/cases/session-and-tool.ts","sourceStatus":"verified source file"}]},{"subpath":"./cases/suspension-and-cancel","importPath":"@lssm-tech/lib.agent-runtime-conformance/cases/suspension-and-cancel","target":"./src/cases/suspension-and-cancel.ts","targets":[{"conditions":[],"target":"./src/cases/suspension-and-cancel.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/cases/suspension-and-cancel.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/cases/suspension-and-cancel.ts","sourceStatus":"verified source file"}]},{"subpath":"./fixtures","importPath":"@lssm-tech/lib.agent-runtime-conformance/fixtures","target":"./src/fixtures/index.ts","targets":[{"conditions":[],"target":"./src/fixtures/index.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/fixtures/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/fixtures/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./fixtures/approval","importPath":"@lssm-tech/lib.agent-runtime-conformance/fixtures/approval","target":"./src/fixtures/approval.ts","targets":[{"conditions":[],"target":"./src/fixtures/approval.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/fixtures/approval.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/fixtures/approval.ts","sourceStatus":"verified source file"}]},{"subpath":"./fixtures/artifact","importPath":"@lssm-tech/lib.agent-runtime-conformance/fixtures/artifact","target":"./src/fixtures/artifact.ts","targets":[{"conditions":[],"target":"./src/fixtures/artifact.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/fixtures/artifact.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/fixtures/artifact.ts","sourceStatus":"verified source file"}]},{"subpath":"./fixtures/process-death.worker","importPath":"@lssm-tech/lib.agent-runtime-conformance/fixtures/process-death.worker","target":"./src/fixtures/process-death.worker.ts","targets":[{"conditions":[],"target":"./src/fixtures/process-death.worker.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/fixtures/process-death.worker.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/fixtures/process-death.worker.ts","sourceStatus":"verified source file"}]},{"subpath":"./fixtures/reference-agent","importPath":"@lssm-tech/lib.agent-runtime-conformance/fixtures/reference-agent","target":"./src/fixtures/reference-agent.ts","targets":[{"conditions":[],"target":"./src/fixtures/reference-agent.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/fixtures/reference-agent.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/fixtures/reference-agent.ts","sourceStatus":"verified source file"}]},{"subpath":"./fixtures/targets","importPath":"@lssm-tech/lib.agent-runtime-conformance/fixtures/targets","target":"./src/fixtures/targets.ts","targets":[{"conditions":[],"target":"./src/fixtures/targets.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/fixtures/targets.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/fixtures/targets.ts","sourceStatus":"verified source file"}]},{"subpath":"./parity","importPath":"@lssm-tech/lib.agent-runtime-conformance/parity","target":"./src/parity.ts","targets":[{"conditions":[],"target":"./src/parity.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/parity.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/parity.ts","sourceStatus":"verified source file"}]},{"subpath":"./parity-probe","importPath":"@lssm-tech/lib.agent-runtime-conformance/parity-probe","target":"./src/parity-probe.ts","targets":[{"conditions":[],"target":"./src/parity-probe.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/parity-probe.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/parity-probe.ts","sourceStatus":"verified source file"}]},{"subpath":"./suite","importPath":"@lssm-tech/lib.agent-runtime-conformance/suite","target":"./src/suite.ts","targets":[{"conditions":[],"target":"./src/suite.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/suite.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/suite.ts","sourceStatus":"verified source file"}]},{"subpath":"./types","importPath":"@lssm-tech/lib.agent-runtime-conformance/types","target":"./src/types.ts","targets":[{"conditions":[],"target":"./src/types.ts","sourcePath":"packages/tools/agent-runtime-conformance/src/types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/src/types.ts","sourceStatus":"verified source file"}]}],"entryCount":20,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Lib Agent Runtime Conformance documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.agent-runtime-conformance","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.agent-runtime-conformance.txt"},"readme":{"status":"available","body":"# @lssm-tech/lib.agent-runtime-conformance\n\nCross-runtime lifecycle conformance suite for ContractSpec agent runtime\nadapters. Makes \"portable across runtimes\" **falsifiable** instead of asserted:\nany adapter that claims compatibility must pass this suite.\n\n## Usage\n\n```ts\nimport { runAgentRuntimeConformanceSuite } from '@lssm-tech/lib.agent-runtime-conformance';\nimport { createSqliteWorkflowDevkitTarget } from '@lssm-tech/lib.agent-runtime-conformance/fixtures';\n\nconst report = await runAgentRuntimeConformanceSuite(\n  createSqliteWorkflowDevkitTarget({ file: './agent.db' })\n);\n\nconsole.log(report.summary.single_adapter_lifecycle_conformance_rate); // 16/19\n```\n\n## The 19 cases (spec 04)\n\nCases 1-15 plus the mandatory **case 5b** (effect-replay safety) are testable\nfor every durable target. Cases 16-17 remain\n`NOT_APPLICABLE_THIS_RELEASE`; case 18 becomes mandatory when an\nintegration-local two-adapter target supplies runtime-probed portable evidence.\n\n- **1-3** create session, stream lifecycle events, invoke an operation-backed tool\n- **4** checkpoint round-trip through `AgentCheckpointPort`\n- **5** survive forced process death (real `SIGKILL` child; durable backing only)\n- **5b** effect-replay safety on resume — the recorded result is replayed via\n  the `(nonce, stepInstanceId)` key so an approval-gated `sendMessage` is never\n  double-sent. Its **inverse sub-case** (`5b-inverse`) proves two distinct\n  approval-authorized identical-input sends both fire (nonce-scoped, not\n  input-scoped).\n- **6** resume from durable recovery\n- **7-8** suspend for human input / approval\n- **9-12** reject missing / wrong-input / replayed approval; resume with valid approval\n- **13** cancel (side effect must not fire once cancelled)\n- **14-15** emit artifacts and evidence refs\n- **16-17** execution receipt / outcome linkage —\n  `NOT_APPLICABLE_THIS_RELEASE`\n- **18** cross-adapter portability — compares runtime-probed lifecycle,\n  approval, effect replay, artifact/evidence, replay, and explicitly contracted\n  loss diagnostics\n\n## Metric\n\n`single_adapter_lifecycle_conformance_rate = passing / 19`. Target this release\nis **16/19 ≈ 0.84** for the Phase-1 Workflow DevKit gate. Integration-local EVE\nand Workflow DevKit targets additionally run case 18, producing **17/19** with\ncases 16-17 explicitly not applicable.\n\n## Targets\n\n- `createInMemoryWorkflowDevkitTarget()` — baseline; cannot survive process\n  death, so cases 5/5b/6 report `NOT_APPLICABLE`.\n- `createSqliteWorkflowDevkitTarget({ file })` — durable; the canonical gate.\n\nVendor-specific targets remain in their integration packages. Case 18 uses\n`runPortableAdapterProbe()` and fails on any unclassified field or declared-loss\ndifference; integrations must supply an exact expected-loss contract.\n","sourcePath":"packages/tools/agent-runtime-conformance/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/agent-runtime-conformance/README.md","blobSha":"b465c7d85b2e2463237579cdb5a2356af70def85","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":"observability-and-testing","areaTitle":"Observability, testing and qualification","displayName":"lib.agent-runtime-conformance","runtimes":["node"],"platforms":["server"],"kind":"library","scope":"Package manifest","canonicalRoute":"/docs/packages/lib.agent-runtime-conformance/","contextUrl":"/docs/packages/lib.agent-runtime-conformance.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}