From fea61638114a041ffe60cba178f2438bbb06e57b Mon Sep 17 00:00:00 2001 From: Dotta <34892728+cryppadotta@users.noreply.github.com> Date: Mon, 2 Nov 2026 21:55:33 -0600 Subject: [PATCH] test(evals): pin synchronized chat repair declarations and definitions (#18721) ## Thinking Path > - Paperclip is the open source app people use to manage AI agents for work. > - The chat catalog runs a fixed candidate through the trusted TestOps lane. > - The first repair source exposed fixture, observation and evidence-readiness defects. > - Changed declarations also need matching static runtime descriptors. > - This pull request pins one corrected candidate and records each changed definition. > - New measurements keep their source and original outcomes separate from past results. ## Linked Issues or Issue Description Refs: #18710, #18693, #18680, #18647. **What happened?** The first repair candidate left five static descriptors out of sync with its actual declarations. The real no-callback admission check rejects them. A five-case attempt was cancelled before any case or model step. The earlier pin note overstated remote coverage: importing the catalog did not load every actual factory. **Expected behavior** Every repaired declaration must pass the real factory admission check before a new batch. The trusted pin must record exact source and definition changes. Existing case identities, prior measurements and the full-catalog pass gate must remain intact. **Steps to reproduce** Run `node --import ./cli/node_modules/tsx/dist/loader.mjs tests/runner-e2e/chat-catalog-consistency.ts` on the old candidate. It rejects five declarations. The corrected candidate admits all 242 declarations without invoking a fixture. The existing legacy-cell scoring and selection controls also pass. ## What Changed - Pin candidate `36dff2eab3dfb6de6efb4fd2ce6c1a58f8a5f383`. Its [candidate-only delta](https://github.com/paperclipai/paperclip/compare/9ab0f951a5b5990c266ef4456610e0a0775aa334...36dff2eab3dfb6de6efb4fd2ce6c1a58f8a5f383) remains separate from master application code. - Record the real descriptor digest and all 19 declaration-field changes across 18 cases. Check them against the exact candidate static descriptor snapshot, including setup policies. The runtime loader still rejects drift. - Keep original definition values and record 19 manifest-field changes across 15 cases. These include the clarified Fast response request, reviewed goal/skill navigation outcomes, and scoped oracle/source ownership changes. - Keep unchanged all 244 ordered identities, model, case clocks, native-run bounds, private evidence rules, workflows and reporting authority. The original ledger and historical results are unchanged. - Require actual factory admission and legacy controls before each repair-batch GO. SDK audit capture remains private diagnosis only; it does not waive scanner rejection or qualify the other SDK cases. ## Verification - Candidate focused controls: 561 passed across 32 pure test files. - Real lazy factory admission: 242 declarations passed, with zero fixture callbacks. The prior source failed 18 declarations before descriptor sync. The two-file admission and legacy scoring suite passed all 42 controls. - Trusted manifest, reconciliation and adapter controls: 38 passed. Contract and dispatch controls: 23 passed. - Independent source reviews cover the repair slices, descriptor sync and this metadata pin. - `git diff --check` passed. - No local app, DB, native or model run was started for this metadata PR. Full harness typecheck/build is not qualified: existing workspace dependency errors remain outside these pure checks. The established credential-free remote Runner build is still required before paid queries. It does not typecheck the full harness graph. - Initial head 90d4ecf passed first-attempt CI (48 passed, 1 skipped) and Greptile 5/5. A later review found stale current-target prose and an unchecked setup-policy provenance assertion. The corrected head adds the exact candidate descriptor snapshot, computes its digest, and compares every declared field. A wrong-policy mutant accepted by the parent is now rejected, as is a stale digest. Correct metadata controls pass all 38 cases. Latest-head CI41572232196 passed48 jobs with1 skip after one approved failed-only recovery. The first attempt failed one browser cleanup cancellation with PostgreSQL row-lock timeout; the lock holder remains unknown. No server or timeout change was made. All46 successful executions kept their original full step and execution timestamps. Only the failed browser shard and dependent e2e summary reran. Both required checks passed, current-head Greptile is5/5 and all review threads are resolved. An optional review may remain queued; no claim is made that all optional checks finished. No corrected-candidate feature pass is claimed. ## Risks The candidate changes selected setup, observation and oracle conditions. Each new result must retain its exact source and declared changes; it cannot replace an old failed result. The Fast response request and goal/skill outcome changes are explicit new definitions. Static TestOps prose may still show the original definition until a separate supported metadata reconciliation. SDK scanner findings remain unknown until the private audit is captured; the scanner and evidence bounds remain enforced. ## Model Used OpenAI GPT-6.1 Sol (`gpt-6.1-sol`) with reasoning, source editing and tool use. The exact context window is not exposed by this session. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have searched GitHub for duplicate or related PRs and linked them above - [x] I have either linked existing issues or described the issue in-PR following the issue template - [x] I have not referenced internal or instance-local Paperclip issues or links - [x] My branch name describes the change and contains no internal Paperclip ticket id - [x] I have run focused tests locally and they pass - [x] I have added or updated tests where applicable - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] All required Paperclip CI gates are green - [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups - [x] I will address all Greptile and reviewer comments before requesting merge --- tests/runner-e2e/CHAT-FEATURES.md | 15 +- .../chat-full-catalog-testops-manifest.json | 536 +- ...hat-full-catalog-testops-manifest.test.mjs | 49 +- .../chat-repair-candidate-descriptors.json | 6223 +++++++++++++++++ 4 files changed, 6792 insertions(+), 31 deletions(-) create mode 100644 tests/runner-e2e/fixtures/chat-repair-candidate-descriptors.json diff --git a/tests/runner-e2e/CHAT-FEATURES.md b/tests/runner-e2e/CHAT-FEATURES.md index c1ce3eca7e7..69327fe1598 100644 --- a/tests/runner-e2e/CHAT-FEATURES.md +++ b/tests/runner-e2e/CHAT-FEATURES.md @@ -217,8 +217,8 @@ overlap. Exact requirements and limitations appear in each case's preconditions. A declared credential does not establish whether its runtime reference exists. This lane runs the app and fixtures from candidate -`9ab0f951a5b5990c266ef4456610e0a0775aa334`. It retains the evaluated app from -`3b66c3c144360ddf32714a0742fd774b8ceafb16` with four bounded fixture repairs: +`36dff2eab3dfb6de6efb4fd2ce6c1a58f8a5f383`. It retains the evaluated app from +`3b66c3c144360ddf32714a0742fd774b8ceafb16`. The first repair source added: owned SDK staging, public membership for three incidental human fixtures, company settings observation inside its original case deadline, and exact controller-secret baseline handling for secure human entry. The last repair @@ -227,7 +227,8 @@ secret, Morgan-only binding and privacy checks remain required. The manifest retains the original `de0941835cc8f0d01c982574ee258e110babdbeb` definition provenance and records each changed row field in `source.repairMetadata`. -Queries, case limits, models and the other feature predicates remain unchanged. +Case limits and models remain unchanged. The later repair source records its +query and outcome changes explicitly; see Repair source 2 below. Original failed measurements stay historical. Trusted selection, evidence transfer and publishing use the workflow's immutable master revision. Each result records both revisions. @@ -294,3 +295,11 @@ and credentials do not enter the public artifact path. Additional credentials reach only cases that declare them. External inputs use the existing selected-case private-input owner, disposable-resource checks and oracle commitments. Unconfigured inputs remain setup blockers. + +### Repair source 2 (candidate only) + +The catalog now pins candidate `36dff2eab3dfb6de6efb4fd2ce6c1a58f8a5f383`, succeeding `9ab0f951a5b5990c266ef4456610e0a0775aa334`. It carries the reviewed fixture, scoped observation, version-readback and evidence-readiness repairs. The checked static descriptor snapshot is byte-exact to this candidate and its digest is verified. Runtime descriptors are synchronized with the actual declarations; all 242 lazy factories must pass the real no-callback consistency check, together with the two legacy-cell controls, before each new repair-batch GO. The previous candidate's mismatched metadata caused launch 1690 to be cancelled before case/model work; it is an operational attempt, not a feature result. + +The manifest keeps the original definition source and values, with explicit scoped changes: Fast response names the requested product feature; goal-tree and authored-skill outcomes use the product-supported optional-owner and ordinary navigation contracts; question delivery/validation and company-secret setup declare their reviewed oracle versions. Each new measurement binds this candidate and the exact changed definition; earlier grades and the 244-case gate are unchanged. SDK scan-audit capture improves private failure diagnosis only: rejection, evidence requirements and privacy bounds remain in force, and the other SDK cases stay held until the finding is understood. + +Workflow, model, case clocks, native-run bounds, credentials, protected reporting and case identities do not change. The full harness TypeScript graph has not been qualified by local pure tests; source import/admission and the existing credential-free remote Runner build remain required before native queries. Static TestOps descriptions may still show the original definition until a separate idempotent metadata reconciliation at a safe source boundary. diff --git a/tests/runner-e2e/chat-full-catalog-testops-manifest.json b/tests/runner-e2e/chat-full-catalog-testops-manifest.json index ff93faaee37..0edde291b7c 100644 --- a/tests/runner-e2e/chat-full-catalog-testops-manifest.json +++ b/tests/runner-e2e/chat-full-catalog-testops-manifest.json @@ -1,6 +1,6 @@ { "schema": "paperclip.chat-full-catalog-testops-manifest/v1", - "targetSha": "9ab0f951a5b5990c266ef4456610e0a0775aa334", + "targetSha": "36dff2eab3dfb6de6efb4fd2ce6c1a58f8a5f383", "metadataSourceSha": "de0941835cc8f0d01c982574ee258e110babdbeb", "profile": "runner-opencode", "model": "openrouter/deepseek/deepseek-v4.1-flash-1017", @@ -170,8 +170,304 @@ ], "repairMetadata": { "baseTargetSha": "3b66c3c144360ddf32714a0742fd774b8ceafb16", + "previousTargetSha": "9ab0f951a5b5990c266ef4456610e0a0775aa334", "definitionSourceSha": "de0941835cc8f0d01c982574ee258e110babdbeb", + "candidateDescriptorSha256": "5b098a30ed54c6021698b33b434145ca2e934ff2bb9c1e0738a8d8e5dc622797", + "changedDefinitionFiles": [ + { + "path": "tests/runner-e2e/chat-scenarios/companies.yaml", + "sha256": "fbaf17ac279d92127de4b58a3605edc5c7954dabfb050f49be210e1f85775d1d" + }, + { + "path": "tests/runner-e2e/chat-scenarios/goals.yaml", + "sha256": "b140b0e652a9945b7ead9e38e5bc01791f7dc9cd39b1f2b6f292544d50632dae" + }, + { + "path": "tests/runner-e2e/chat-scenarios/skills.yaml", + "sha256": "51f975d62540e77a48539821f443c6ab134c8ffb63e4c04bb2678a655de84a69" + } + ], + "conditions": "New candidate measurements only. Original 244 definitions, attempt history and old pass gate remain immutable. SDK audit custody remains diagnostic; scan rejection is unchanged. Explicit field overrides below retain original definition values. No model, clock, run-bound, workflow, credential or reporting authority expansion.", "changedFields": [ + { + "key": "agents.choose-primary", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/runtime-primary.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agents.yaml" + ], + "current": [ + "chat-catalog-domains/runtime-primary.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/agents.yaml" + ] + }, + { + "key": "companies.agent-observability", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/identity-observability.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "current": [ + "chat-catalog-domains/identity-observability.ts", + "chat-catalog-domains/identity-company-observer.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ] + }, + { + "key": "companies.configure-decision-model", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/identity-company-models.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "current": [ + "chat-catalog-domains/identity-company-models.ts", + "chat-catalog-domains/identity-company-observer.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ] + }, + { + "key": "companies.fast-responses", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/identity-company-models.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "current": [ + "chat-catalog-domains/identity-company-models.ts", + "chat-catalog-domains/identity-company-observer.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ] + }, + { + "key": "companies.fast-responses", + "field": "originalQuery", + "previous": "Make chat acknowledge my requests faster.", + "current": "Help me enable the company's Fast response feature so chat acknowledges my requests faster." + }, + { + "key": "companies.prompt-injection-guard", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/identity-company-models.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "current": [ + "chat-catalog-domains/identity-company-models.ts", + "chat-catalog-domains/identity-company-observer.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ] + }, + { + "key": "goals.create-goal-tree", + "field": "oracleVersion", + "previous": "paperclip.chat-catalog.internal.v1", + "current": "paperclip.chat-catalog.goal-hierarchy.v2" + }, + { + "key": "goals.create-goal-tree", + "field": "expectedOutcome", + "previous": "The saved goals have the requested levels, valid parent relationship and appropriate ownership or an explicit missing-owner question. Chat links to the hierarchy and does not invent progress metrics. A retry reuses the intended goals rather than creating another parallel tree.", + "current": "The saved goals have the requested levels and a valid same-company parent relationship. Ownership may remain unassigned when none was requested; any assigned owner belongs to the company. The saved hierarchy is inspectable through ordinary Goals navigation and public readback, without invented progress metrics. A retry reuses the intended goals rather than creating another parallel tree." + }, + { + "key": "questions-and-approvals.duplicate-answer", + "field": "oracleVersion", + "previous": "paperclip.chat-catalog.identity.v1", + "current": "paperclip.chat-catalog.answer-delivery.v2" + }, + { + "key": "questions-and-approvals.multi-part-question", + "field": "oracleVersion", + "previous": "paperclip.chat-catalog.identity.v1", + "current": "paperclip.chat-catalog.required-question.v2" + }, + { + "key": "secrets.configure-company-secret", + "field": "oracleVersion", + "previous": "paperclip.chat-catalog.external.v1", + "current": "paperclip.chat-catalog.company-secret-controller-baseline.v2" + }, + { + "key": "skills.author-skill", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml", + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/identity-support.ts" + ] + }, + { + "key": "skills.author-skill", + "field": "oracleVersion", + "previous": "paperclip.chat-catalog.integrator.v1", + "current": "paperclip.chat-catalog.skill-authoring.v2" + }, + { + "key": "skills.author-skill", + "field": "expectedOutcome", + "previous": "A writable company skill captures the checklist with clear instructions and a saved revision. Chat links to the skill so the person can inspect or edit it. The agent preserves the actual checklist instead of merely posting a suggestion or pretending creation automatically enables the skill for every agent.", + "current": "A writable company skill captures the checklist with clear instructions and a saved revision. The person can discover it through ordinary Skills/My Skills navigation, open its editable Studio content and reload the same saved revision. No particular chat-link format is required. The agent preserves the actual checklist instead of merely posting a suggestion or pretending creation automatically enables the skill for every agent." + }, + { + "key": "skills.enable-for-agent", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-skill-enable.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/skills.yaml", + "../../server/src/routes/agents.ts", + "../../server/src/routes/company-skill-policy.ts", + "../../server/src/services/company-skills.ts", + "../../packages/shared/src/validators/skill-policy.ts" + ], + "current": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-enable.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/skills.yaml", + "../../server/src/routes/agents.ts", + "../../server/src/routes/company-skill-policy.ts", + "../../server/src/services/company-skills.ts", + "../../packages/shared/src/validators/skill-policy.ts" + ] + }, + { + "key": "skills.explicit-restriction", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml", + "chat-catalog-domains/integrator-skill-versions.ts" + ] + }, + { + "key": "skills.find-and-install", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ] + }, + { + "key": "skills.fork-read-only", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ] + }, + { + "key": "skills.review-update", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-skill-update.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-update.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ] + } + ], + "descriptorChanges": [ + { + "key": "agents.choose-primary", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/runtime-primary.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agents.yaml" + ], + "current": [ + "chat-catalog-domains/runtime-primary.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/agents.yaml" + ] + }, { "key": "companies.agent-observability", "field": "sourceFiles", @@ -246,20 +542,218 @@ "chat-scenarios/companies.yaml" ] }, + { + "key": "goals.create-goal-tree", + "field": "oracleVersion", + "previous": "paperclip.chat-catalog.internal.v1", + "current": "paperclip.chat-catalog.goal-hierarchy.v2" + }, + { + "key": "questions-and-approvals.duplicate-answer", + "field": "oracleVersion", + "previous": "paperclip.chat-catalog.identity.v1", + "current": "paperclip.chat-catalog.answer-delivery.v2" + }, + { + "key": "questions-and-approvals.multi-part-question", + "field": "oracleVersion", + "previous": "paperclip.chat-catalog.identity.v1", + "current": "paperclip.chat-catalog.required-question.v2" + }, { "key": "secrets.configure-company-secret", "field": "oracleVersion", "previous": "paperclip.chat-catalog.external.v1", "current": "paperclip.chat-catalog.company-secret-controller-baseline.v2" + }, + { + "key": "secrets.personal-secret", + "field": "setupPolicy", + "previous": null, + "current": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "current-owner-missing-required-personal-value" + ] + } + }, + { + "key": "skills.author-skill", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml", + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/identity-support.ts" + ] + }, + { + "key": "skills.author-skill", + "field": "oracleVersion", + "previous": "paperclip.chat-catalog.integrator.v1", + "current": "paperclip.chat-catalog.skill-authoring.v2" + }, + { + "key": "skills.enable-for-agent", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-skill-enable.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/skills.yaml", + "../../server/src/routes/agents.ts", + "../../server/src/routes/company-skill-policy.ts", + "../../server/src/services/company-skills.ts", + "../../packages/shared/src/validators/skill-policy.ts" + ], + "current": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-enable.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/skills.yaml", + "../../server/src/routes/agents.ts", + "../../server/src/routes/company-skill-policy.ts", + "../../server/src/services/company-skills.ts", + "../../packages/shared/src/validators/skill-policy.ts" + ] + }, + { + "key": "skills.explicit-restriction", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml", + "chat-catalog-domains/integrator-skill-versions.ts" + ] + }, + { + "key": "skills.find-and-install", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ] + }, + { + "key": "skills.fork-read-only", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ] + }, + { + "key": "skills.review-update", + "field": "sourceFiles", + "previous": [ + "chat-catalog-domains/integrator-skill-update.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ], + "current": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-update.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ] + }, + { + "key": "steering.stop-versus-pause", + "field": "setupPolicy", + "previous": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "two-real-native-workers", + "independent-child-pause-budget" + ] + }, + "current": { + "readiness": "preserve-scenario", + "funding": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "two-real-native-workers", + "independent-child-pause-budget", + "active-branches-funded" + ] + } + }, + { + "key": "task-coordination.pause-tree", + "field": "setupPolicy", + "previous": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "two-real-native-workers", + "independent-child-pause-budget" + ] + }, + "current": { + "readiness": "preserve-scenario", + "funding": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "two-real-native-workers", + "independent-child-pause-budget", + "active-branches-funded" + ] + } } ], - "conditions": [ - "Initialize owned SDK evidence staging before retention.", - "Use real public scoped membership only for three incidental human fixtures.", - "Company settings observation uses the original setup-inclusive deadline; no larger case cap.", - "Company secret setup and v2 oracle permit only exact immutable controller-bootstrap secret references." - ], - "originalMeasurements": "Preserved. These are new candidate conditions, not retroactive passes." + "candidateDescriptorSnapshot": "fixtures/chat-repair-candidate-descriptors.json" } }, "cases": [ @@ -1262,6 +1756,7 @@ "sourceFiles": [ "chat-catalog-domains/runtime-primary.ts", "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", "chat-scenarios/agents.yaml" ], "screenshot": "final-state.png", @@ -4088,7 +4583,7 @@ ], "externalInput": null, "installedSource": null, - "originalQuery": "Make chat acknowledge my requests faster.", + "originalQuery": "Help me enable the company's Fast response feature so chat acknowledges my requests faster.", "expectedOutcome": "The agent explains the offered fast-response setting and directs the human to its configuration and test surface. The journey checks a real acknowledgement and its failure or usage record. A quick acknowledgement is not presented as completion of the underlying task or evidence that the worker started.", "originalContext": "The fast-response experiment is available but disabled; settings and tests require a human connection manager.", "capabilities": [ @@ -6236,13 +6731,13 @@ "externalInput": null, "installedSource": null, "originalQuery": "Set a company goal of reaching a thousand signups, with a team goal for launching the website.", - "expectedOutcome": "The saved goals have the requested levels, valid parent relationship and appropriate ownership or an explicit missing-owner question. Chat links to the hierarchy and does not invent progress metrics. A retry reuses the intended goals rather than creating another parallel tree.", + "expectedOutcome": "The saved goals have the requested levels and a valid same-company parent relationship. Ownership may remain unassigned when none was requested; any assigned owner belongs to the company. The saved hierarchy is inspectable through ordinary Goals navigation and public readback, without invented progress metrics. A retry reuses the intended goals rather than creating another parallel tree.", "originalContext": "The company has a growth mission and no matching quarterly goal; the agent may create goals.", "capabilities": [ "goals/hierarchy" ], "checks": null, - "oracleVersion": "paperclip.chat-catalog.internal.v1", + "oracleVersion": "paperclip.chat-catalog.goal-hierarchy.v2", "sourceFiles": [ "chat-catalog-domains/internal-definition.ts", "chat-catalog-domains/internal-support.ts", @@ -8261,7 +8756,7 @@ "questions-and-approvals/continuation" ], "checks": null, - "oracleVersion": "paperclip.chat-catalog.identity.v1", + "oracleVersion": "paperclip.chat-catalog.answer-delivery.v2", "sourceFiles": [ "chat-catalog-domains/identity-confirmation-workflows.ts", "chat-catalog-domains/identity-support.ts", @@ -8347,7 +8842,7 @@ "questions-and-approvals/questions" ], "checks": null, - "oracleVersion": "paperclip.chat-catalog.identity.v1", + "oracleVersion": "paperclip.chat-catalog.required-question.v2", "sourceFiles": [ "chat-catalog-domains/identity-support.ts", "chat-catalog-domains/internal-support.ts", @@ -9854,18 +10349,20 @@ "externalInput": null, "installedSource": null, "originalQuery": "Turn our website review checklist into a reusable skill.", - "expectedOutcome": "A writable company skill captures the checklist with clear instructions and a saved revision. Chat links to the skill so the person can inspect or edit it. The agent preserves the actual checklist instead of merely posting a suggestion or pretending creation automatically enables the skill for every agent.", + "expectedOutcome": "A writable company skill captures the checklist with clear instructions and a saved revision. The person can discover it through ordinary Skills/My Skills navigation, open its editable Studio content and reload the same saved revision. No particular chat-link format is required. The agent preserves the actual checklist instead of merely posting a suggestion or pretending creation automatically enables the skill for every agent.", "originalContext": "No matching skill exists; the CEO may create company skills.", "capabilities": [ "skills/authoring" ], "checks": null, - "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "oracleVersion": "paperclip.chat-catalog.skill-authoring.v2", "sourceFiles": [ "chat-catalog-domains/integrator-support.ts", "chat-catalog-domains/internal-support.ts", "chat-catalog-domains/integrator-skills.ts", - "chat-scenarios/skills.yaml" + "chat-scenarios/skills.yaml", + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/identity-support.ts" ], "screenshot": "final-state.png", "evidenceKind": "private-final-state-png", @@ -9905,6 +10402,7 @@ "checks": null, "oracleVersion": "paperclip.chat-catalog.skill-enable.standard-config.v2", "sourceFiles": [ + "chat-catalog-domains/integrator-skill-versions.ts", "chat-catalog-domains/integrator-skill-enable.ts", "chat-catalog-domains/identity-support.ts", "chat-catalog-domains/internal-definition.ts", @@ -9957,7 +10455,8 @@ "chat-catalog-domains/integrator-support.ts", "chat-catalog-domains/internal-support.ts", "chat-catalog-domains/integrator-skills.ts", - "chat-scenarios/skills.yaml" + "chat-scenarios/skills.yaml", + "chat-catalog-domains/integrator-skill-versions.ts" ], "screenshot": "final-state.png", "evidenceKind": "private-final-state-png", @@ -9996,6 +10495,7 @@ "checks": null, "oracleVersion": "paperclip.chat-catalog.integrator.v1", "sourceFiles": [ + "chat-catalog-domains/integrator-skill-versions.ts", "chat-catalog-domains/integrator-skill-imports.ts", "chat-catalog-domains/integrator-skill-source.ts", "chat-catalog-domains/integrator-skills.ts", @@ -10041,6 +10541,7 @@ "checks": null, "oracleVersion": "paperclip.chat-catalog.integrator.v1", "sourceFiles": [ + "chat-catalog-domains/integrator-skill-versions.ts", "chat-catalog-domains/integrator-skill-imports.ts", "chat-catalog-domains/integrator-skill-source.ts", "chat-catalog-domains/integrator-skills.ts", @@ -10085,6 +10586,7 @@ "checks": null, "oracleVersion": "paperclip.chat-catalog.integrator.v1", "sourceFiles": [ + "chat-catalog-domains/integrator-skill-versions.ts", "chat-catalog-domains/integrator-skill-update.ts", "chat-catalog-domains/integrator-skill-source.ts", "chat-catalog-domains/integrator-support.ts", diff --git a/tests/runner-e2e/chat-full-catalog-testops-manifest.test.mjs b/tests/runner-e2e/chat-full-catalog-testops-manifest.test.mjs index afcd3ec2e09..08bcdc6a34c 100644 --- a/tests/runner-e2e/chat-full-catalog-testops-manifest.test.mjs +++ b/tests/runner-e2e/chat-full-catalog-testops-manifest.test.mjs @@ -22,9 +22,13 @@ test('the manifest joins all244 source YAML scenarios without importing a domain assert.deepEqual(fullCatalogCases.map(value => value.key).sort(), scenarios.map(value => value.id).sort()); for (const scenario of scenarios) { const actual = row(scenario.id); - assert.equal(actual.originalQuery, scenario.query); + const override = field => manifest.source.repairMetadata.changedFields.find(change => change.key === scenario.id && change.field === field); + for (const [field, original] of [['originalQuery', scenario.query], ['expectedOutcome', scenario.expected_outcome]]) { + const change = override(field); + if (change) { assert.equal(change.previous, original); assert.equal(actual[field], change.current); } + else assert.equal(actual[field], original); + } assert.equal(actual.originalContext, scenario.context); - assert.equal(actual.expectedOutcome, scenario.expected_outcome); assert.ok(!Object.hasOwn(actual, 'status') && !Object.hasOwn(actual, 'passed')); } }); @@ -96,23 +100,46 @@ test('foreign identity, duplicated case and changed run-bound metadata are rejec }); -test('repair source metadata preserves original definitions and declares scoped observer and oracle changes', () => { +test('repair source metadata binds the corrected candidate and explicit changed definitions', () => { const repair = manifest.source.repairMetadata; assert.equal(repair.baseTargetSha, '3b66c3c144360ddf32714a0742fd774b8ceafb16'); - assert.equal(manifest.targetSha, '9ab0f951a5b5990c266ef4456610e0a0775aa334'); + assert.equal(repair.previousTargetSha, '9ab0f951a5b5990c266ef4456610e0a0775aa334'); + assert.equal(manifest.targetSha, '36dff2eab3dfb6de6efb4fd2ce6c1a58f8a5f383'); assert.equal(repair.definitionSourceSha, manifest.metadataSourceSha); + assert.equal(repair.candidateDescriptorSnapshot, 'fixtures/chat-repair-candidate-descriptors.json'); + const descriptorBytes = readFileSync(new URL(repair.candidateDescriptorSnapshot, import.meta.url)); + assert.equal(createHash('sha256').update(descriptorBytes).digest('hex'), repair.candidateDescriptorSha256); + const declarations = JSON.parse(descriptorBytes); + assert.equal(declarations.length, 242); + assert.equal(new Set(declarations.map(value => value.scenarioId)).size, 242); assert.deepEqual(repair.changedFields.map(value => [value.key, value.field]), [ + ['agents.choose-primary', 'sourceFiles'], ['companies.agent-observability', 'sourceFiles'], ['companies.configure-decision-model', 'sourceFiles'], - ['companies.fast-responses', 'sourceFiles'], ['companies.prompt-injection-guard', 'sourceFiles'], + ['companies.fast-responses', 'sourceFiles'], ['companies.fast-responses', 'originalQuery'], + ['companies.prompt-injection-guard', 'sourceFiles'], + ['goals.create-goal-tree', 'oracleVersion'], ['goals.create-goal-tree', 'expectedOutcome'], + ['questions-and-approvals.duplicate-answer', 'oracleVersion'], ['questions-and-approvals.multi-part-question', 'oracleVersion'], ['secrets.configure-company-secret', 'oracleVersion'], + ['skills.author-skill', 'sourceFiles'], ['skills.author-skill', 'oracleVersion'], ['skills.author-skill', 'expectedOutcome'], + ['skills.enable-for-agent', 'sourceFiles'], ['skills.explicit-restriction', 'sourceFiles'], + ['skills.find-and-install', 'sourceFiles'], ['skills.fork-read-only', 'sourceFiles'], ['skills.review-update', 'sourceFiles'], ]); for (const change of repair.changedFields) { assert.deepEqual(row(change.key)[change.field], change.current); - if (change.field === 'sourceFiles') { - assert.deepEqual(change.current.filter(value => value !== 'chat-catalog-domains/identity-company-observer.ts'), change.previous); - } else { - assert.equal(change.previous, 'paperclip.chat-catalog.external.v1'); - assert.equal(change.current, 'paperclip.chat-catalog.company-secret-controller-baseline.v2'); - } + assert.notDeepEqual(change.current, change.previous); } + assert.equal(repair.descriptorChanges.length, 19); + assert.equal(new Set(repair.descriptorChanges.map(change => change.key)).size, 18); + assert.deepEqual([...new Set(repair.descriptorChanges.map(change => change.field))].sort(), ['oracleVersion', 'setupPolicy', 'sourceFiles']); + for (const change of repair.descriptorChanges) { + assert.notDeepEqual(change.current, change.previous); + const declaration = declarations.find(value => value.scenarioId === change.key); + assert.ok(declaration); + assert.deepEqual(change.current, declaration[change.field]); + if (Object.hasOwn(row(change.key), change.field)) assert.deepEqual(row(change.key)[change.field], change.current); + } + assert.deepEqual(repair.changedDefinitionFiles.map(value => value.path), [ + 'tests/runner-e2e/chat-scenarios/companies.yaml', 'tests/runner-e2e/chat-scenarios/goals.yaml', 'tests/runner-e2e/chat-scenarios/skills.yaml', + ]); + assert.ok(repair.changedDefinitionFiles.every(value => /^[a-f0-9]{64}$/.test(value.sha256))); }); diff --git a/tests/runner-e2e/fixtures/chat-repair-candidate-descriptors.json b/tests/runner-e2e/fixtures/chat-repair-candidate-descriptors.json new file mode 100644 index 00000000000..6444329cd99 --- /dev/null +++ b/tests/runner-e2e/fixtures/chat-repair-candidate-descriptors.json @@ -0,0 +1,6223 @@ +[ + { + "scenarioId": "access.cli-authorization", + "sourceFiles": [ + "chat-catalog-domains/identity-cli-authorization.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/access.yaml", + "../../cli/src/index.ts", + "../../cli/src/client/board-auth.ts", + "../../cli/src/commands/client/auth.ts", + "../../cli/src/commands/client/common.ts", + "../../pnpm-lock.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-cli-authorization.js", + "exportName": "cliAuthorizationIdentityCases" + }, + { + "scenarioId": "access.invite-teammate", + "sourceFiles": [ + "chat-catalog-domains/identity-access-grants.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/access.yaml", + "../../maps/agent-access-map/access.md", + "../../server/src/routes/access.ts", + "../../server/src/routes/agents.ts", + "../../packages/shared/src/validators/agent.ts" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "coverageGaps": [ + "The current public grant-management route rejects agent membership principals. Required users:* agent authority cannot be established through the supported API; the actual intended mutation and human acceptance/reuse callbacks are authored but remain unqualified until this setup capability is available." + ], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-access-grants.js", + "exportName": "accessGrantIdentityCases" + }, + { + "scenarioId": "access.manage-membership", + "sourceFiles": [ + "chat-catalog-domains/identity-access-grants.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/access.yaml", + "../../maps/agent-access-map/access.md", + "../../server/src/routes/access.ts", + "../../server/src/routes/agents.ts", + "../../packages/shared/src/validators/agent.ts" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "coverageGaps": [ + "The current public grant-management route rejects agent membership principals. Required users:* agent authority cannot be established through the supported API; the actual intended mutation and human acceptance/reuse callbacks are authored but remain unqualified until this setup capability is available." + ], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-access-grants.js", + "exportName": "accessGrantIdentityCases" + }, + { + "scenarioId": "access.other-company", + "sourceFiles": [ + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-access.ts", + "chat-scenarios/access.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "queryBindings": [ + { + "catalogToken": "BIRCH-42", + "stateKey": "foreignTask", + "resourceKind": "issue", + "valueField": "identifier" + } + ], + "modulePath": "./chat-catalog-domains/identity-access.js", + "exportName": "accessIdentityCases" + }, + { + "scenarioId": "access.private-resource", + "sourceFiles": [ + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-access.ts", + "chat-scenarios/access.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-access.js", + "exportName": "accessIdentityCases" + }, + { + "scenarioId": "access.sign-in", + "sourceFiles": [ + "chat-catalog-domains/identity-sign-in.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-boundary-contract.ts", + "chat-catalog-domains/internal-support.ts", + "live-fixtures.ts", + "chat-scenarios/access.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 0, + "expectedHumanMessageCount": 0, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "journeyKind": "browser-boundary", + "boundaryTarget": "authenticated-harness", + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-sign-in.js", + "exportName": "signInIdentityBoundaryCases" + }, + { + "scenarioId": "activity.agent-feedback", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-activity.ts", + "chat-scenarios/activity.yaml", + "chat-catalog-domains/internal-agent-feedback.ts", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/internal-commentary-reader.ts", + "chat-run-evidence-observer.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-agent-feedback.js", + "exportName": "agentFeedbackCases" + }, + { + "scenarioId": "activity.audit-change", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-activity.ts", + "chat-scenarios/activity.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/internal-activity.js", + "exportName": "activityCases" + }, + { + "scenarioId": "activity.company-overview", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-activity.ts", + "chat-scenarios/activity.yaml", + "chat-catalog-domains/recorded-work-claims.ts" + ], + "oracleVersion": "paperclip.chat-catalog.activity-overview.grounded.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/internal-activity.js", + "exportName": "activityCases" + }, + { + "scenarioId": "activity.find-runs", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-activity.ts", + "chat-scenarios/activity.yaml", + "chat-catalog-domains/internal-run-history.ts", + "chat-catalog-domains/internal-run-brief.ts", + "../e2e/fetch-allowed-port.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 660000, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "cancelled": 1, + "succeeded": 2 + } + }, + "modulePath": "./chat-catalog-domains/internal-run-history.js", + "exportName": "runHistoryCases" + }, + { + "scenarioId": "activity.routine-audit", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-activity.ts", + "chat-scenarios/activity.yaml", + "chat-catalog-domains/internal-routine-audit.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [ + "supported-owned-prior-day-routine-history-restoration" + ], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-routine-audit.js", + "exportName": "routineAuditCases" + }, + { + "scenarioId": "activity.work-timeline", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-activity.ts", + "chat-scenarios/activity.yaml", + "chat-catalog-domains/internal-work-timeline.ts", + "chat-catalog-domains/internal-timeline-verifier.ts", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/internal-routine-audit.ts", + "../e2e/fetch-allowed-port.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-work-timeline.js", + "exportName": "workTimelineCases" + }, + { + "scenarioId": "agent-chat.chat-disabled", + "sourceFiles": [ + "chat-catalog-domains/runtime-chat-disabled.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-boundary-contract.ts", + "live-fixtures.ts", + "chat-scenarios/agent-chat.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "expectedRunCount": 0, + "expectedHumanMessageCount": 0, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "journeyKind": "browser-boundary", + "boundaryTarget": "authenticated-harness", + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-chat-disabled.js", + "exportName": "runtimeDisabledChatCases" + }, + { + "scenarioId": "agent-chat.conference-room", + "sourceFiles": [ + "chat-catalog-domains/runtime-conference.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agent-chat.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/runtime-conference.js", + "exportName": "runtimeConferenceCases" + }, + { + "scenarioId": "agent-chat.multiple-handoffs", + "sourceFiles": [ + "chat-catalog-domains/runtime-multiple-handoffs.ts", + "chat-catalog-domains/runtime-queue.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "registered-artifact.ts", + "chat-scenarios/agent-chat.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 5, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1020000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-busy-worker", + "worker-task-scope" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-multiple-handoffs.js", + "exportName": "runtimeMultipleHandoffCases" + }, + { + "scenarioId": "agent-chat.remember-and-follow-up", + "sourceFiles": [ + "chat-catalog-domains/runtime-history.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agent-chat.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "modulePath": "./chat-catalog-domains/runtime-history.js", + "exportName": "runtimeHistoryCases" + }, + { + "scenarioId": "agent-chat.reopen-conversation", + "sourceFiles": [ + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/runtime-agent-chat.ts", + "chat-scenarios/agent-chat.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-agent-chat.js", + "exportName": "runtimeAgentChatCases" + }, + { + "scenarioId": "agent-chat.track-delegated-work", + "sourceFiles": [ + "chat-catalog-domains/runtime-handoffs.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "completion-update-flow.ts", + "completion-updates.ts", + "chat-scenarios/agent-chat.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 4, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "native-handoff-owner", + "real-source-provenance" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-handoffs.js", + "exportName": "runtimeHandoffCases" + }, + { + "scenarioId": "agents.agent-api-key", + "sourceFiles": [ + "chat-catalog-domains/runtime-agent-keys.ts", + "chat-catalog-domains/runtime-private-key.ts", + "chat-catalog-domains/runtime-private-key-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-agent-keys.js", + "exportName": "runtimeAgentKeyCases" + }, + { + "requiredCredentials": [ + "ANTHROPIC_API_KEY", + "DAYTONA_API_KEY" + ], + "externalInput": { + "provider": "daytona", + "fields": [ + "imageDigest", + "imageRef", + "region", + "disposableNamespace", + "qualifiedHarness" + ] + }, + "scenarioId": "agents.ambiguous-cloud-code", + "sourceFiles": [ + "chat-catalog-domains/runtime-cloud-choice.ts", + "chat-catalog-domains/runtime-daytona-target.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-claude-private.ts", + "chat-catalog-domains/runtime-claude-private-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "live-fixtures.ts", + "../../packages/plugins/sandbox-providers/daytona/src/plugin.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-cloud-choice.js", + "exportName": "runtimeCloudChoiceCases" + }, + { + "scenarioId": "agents.change-manager", + "sourceFiles": [ + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/runtime-agents.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/runtime-agents.js", + "exportName": "runtimeAgentsCases" + }, + { + "scenarioId": "agents.choose-primary", + "sourceFiles": [ + "chat-catalog-domains/runtime-primary.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-primary.js", + "exportName": "runtimePrimaryCases" + }, + { + "scenarioId": "agents.configure-required-agent", + "sourceFiles": [ + "chat-catalog-domains/runtime-built-in.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "protected-summarizer-identity", + "historical-task-unrun" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-built-in.js", + "exportName": "runtimeBuiltInCases" + }, + { + "scenarioId": "agents.edit-instructions", + "sourceFiles": [ + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/runtime-agents.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/runtime-agents.js", + "exportName": "runtimeAgentsCases" + }, + { + "requiredCredentials": [], + "externalInput": { + "provider": "grok", + "fields": [ + "botId", + "endpoint", + "challengeMethod", + "credentialEnvName", + "operatorRef", + "botAuthorizationRef", + "operatorMode" + ] + }, + "scenarioId": "agents.existing-grok-bot", + "sourceFiles": [ + "chat-catalog-domains/runtime-grok.ts", + "chat-catalog-domains/runtime-grok-operator.ts", + "chat-catalog-domains/runtime-grok-operator-worker.ts", + "chat-catalog-domains/runtime-grok-operator-contract.ts", + "chat-runtime-private-requirements.ts", + "public-mcp-flow.ts", + "chat-public-origin.ts", + "chat-catalog-domains/external-public-signin.ts", + "chat-catalog-domains/external-public-signin-worker.ts", + "chat-catalog-domains/external-public-signin-contract.ts", + "../../ui/src/pages/Auth.tsx", + "../../ui/src/pages/McpConnect.tsx", + "../../ui/src/components/AgentSetupPrompt.tsx", + "../../ui/src/lib/grok-bot-setup-prompt.ts", + "../../ui/src/components/new-agent/GrokBotSetup.tsx", + "../../ui/src/components/NewAgentDialog.tsx", + "../../ui/src/components/new-agent/AgentBasicsDialog.tsx", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "chat-catalog-domains/external-grok-private-contract.ts", + "../../server/src/routes/grok-bot.ts", + "../../server/src/services/grok-bot/routine.ts", + "../../server/src/services/dot-runner-broker.ts", + "../../server/src/modules/external-agents/dot.ts", + "../../server/src/services/public-mcp/oauth.ts", + "../../ui/src/components/AgentsToolbar.tsx", + "../../ui/src/pages/Agents.tsx", + "../../ui/src/components/new-agent/ExternalAgentInviteDialog.tsx", + "../../ui/src/components/new-agent/ExternalAgentInviteContent.tsx", + "../../ui/src/components/GrokBotConnection.tsx", + "../../ui/src/components/new-agent/GrokBotSetupContent.tsx", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-grok.js", + "exportName": "runtimeGrokCases" + }, + { + "requiredCredentials": [ + "ANTHROPIC_API_KEY" + ], + "externalInput": { + "provider": "claude", + "fields": [ + "targetRef", + "harnessExecutable", + "model", + "accountBindingRef" + ] + }, + "scenarioId": "agents.hire-claude-code", + "sourceFiles": [ + "chat-catalog-domains/runtime-claude-hiring.ts", + "chat-catalog-domains/runtime-claude-private.ts", + "chat-catalog-domains/runtime-claude-private-worker.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-claude-hiring.js", + "exportName": "runtimeClaudeHiringCases" + }, + { + "scenarioId": "agents.hire-denied", + "sourceFiles": [ + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/runtime-agents.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/runtime-agents.js", + "exportName": "runtimeAgentsCases" + }, + { + "requiredCredentials": [ + "ANTHROPIC_API_KEY" + ], + "externalInput": { + "provider": "claude", + "fields": [ + "targetRef", + "harnessExecutable", + "model", + "accountBindingRef" + ] + }, + "scenarioId": "agents.hire-needs-account", + "sourceFiles": [ + "chat-catalog-domains/runtime-claude-account.ts", + "chat-catalog-domains/runtime-claude-private.ts", + "chat-catalog-domains/runtime-claude-private-worker.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-support.ts", + "../../server/src/routes/connection-intents.ts", + "../../server/src/services/connection-intent-delivery.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-claude-account.js", + "exportName": "runtimeClaudeAccountCases" + }, + { + "scenarioId": "agents.hire-needs-approval", + "sourceFiles": [ + "chat-catalog-domains/runtime-hiring.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 4, + "expectedHumanMessageCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "modulePath": "./chat-catalog-domains/runtime-hiring.js", + "exportName": "runtimeHiringCases" + }, + { + "scenarioId": "agents.managed-profile", + "sourceFiles": [ + "chat-catalog-domains/runtime-managed-profile.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/runtime-managed-profile.js", + "exportName": "runtimeManagedProfileCases" + }, + { + "scenarioId": "agents.pause-agent", + "sourceFiles": [ + "chat-catalog-domains/runtime-agent-lifecycle.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-busy-worker", + "worker-task-scope" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "succeeded": 1, + "cancelled": 1 + } + }, + "modulePath": "./chat-catalog-domains/runtime-agent-lifecycle.js", + "exportName": "runtimeLifecycleCases" + }, + { + "scenarioId": "agents.restore-instructions", + "sourceFiles": [ + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/runtime-agents.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [ + "supported-two-visible-instruction-history-versions" + ], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/runtime-agents.js", + "exportName": "runtimeAgentsCases" + }, + { + "scenarioId": "agents.resume-agent", + "sourceFiles": [ + "chat-catalog-domains/runtime-resume.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "manual-pause-only" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-resume.js", + "exportName": "runtimeResumeCases" + }, + { + "scenarioId": "agents.retire-agent", + "sourceFiles": [ + "chat-catalog-domains/runtime-retirement.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/agents.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-active-assignment", + "truthful-historical-work" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "succeeded": 1, + "cancelled": 1 + } + }, + "modulePath": "./chat-catalog-domains/runtime-retirement.js", + "exportName": "runtimeRetirementCases" + }, + { + "scenarioId": "app-permissions.ask-before-action", + "sourceFiles": [ + "chat-catalog-domains/external-app-review.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-flow.ts", + "chat-query-attachments.ts", + "run-observations.ts", + "../../server/src/routes/issues.ts", + "../../server/src/routes/tool-access.ts", + "../../server/src/services/tool-gateway.ts", + "../../server/src/services/tool-action-review.ts", + "../../server/src/services/tool-action-delivery.ts", + "../../server/src/services/tool-access-policy.ts", + "../../ui/src/components/IssueThreadInteractionCard.tsx", + "chat-scenarios/app-permissions.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 6, + "expectedHumanMessageCount": 3, + "minimumRunCount": 6, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1140000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-app-review.js", + "exportName": "appReviewExternalCases", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "launch-update.md" + } + ] + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "mcpTokenEnv" + ] + }, + "scenarioId": "app-permissions.grant-one-agent", + "sourceFiles": [ + "chat-catalog-domains/external-notion-audience.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/app-permissions.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-notion-audience.js", + "exportName": "notionAudienceExternalCases" + }, + { + "scenarioId": "app-permissions.new-quarantined-action", + "sourceFiles": [ + "chat-catalog-domains/external-app-fixture.ts", + "../../packages/shared/src/connection-search.ts", + "../../server/src/routes/tool-access.ts", + "../../server/src/services/tool-access/catalog/publication.ts", + "chat-catalog-domains/external-app-catalog.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/app-permissions.yaml", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-app-catalog.js", + "exportName": "appCatalogExternalCases" + }, + { + "scenarioId": "app-permissions.read-allowed-write-off", + "sourceFiles": [ + "chat-catalog-domains/external-app-permissions.ts", + "chat-catalog-domains/external-app-fixture.ts", + "../../packages/shared/src/connection-search.ts", + "../../server/src/services/connection-intents.ts", + "../../server/src/routes/tool-access.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/app-permissions.yaml", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-app-permissions.js", + "exportName": "appPermissionExternalCases" + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "mcpTokenEnv" + ] + }, + "scenarioId": "app-permissions.revoke-account", + "sourceFiles": [ + "chat-catalog-domains/external-notion-revocation.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/app-permissions.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-notion-revocation.js", + "exportName": "notionRevocationExternalCases" + }, + { + "scenarioId": "app-permissions.test-as-agent", + "sourceFiles": [ + "chat-catalog-domains/external-app-test.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "../../ui/src/pages/apps/Browse.tsx", + "../../ui/src/pages/apps/ConnectorsToolbar.tsx", + "../../ui/src/pages/apps/connection-owner.tsx", + "../../ui/src/pages/apps/AppDetail.tsx", + "../../ui/src/pages/apps/app-detail/PermissionsPanel.tsx", + "chat-scenarios/app-permissions.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-app-test.js", + "exportName": "appTestExternalCases" + }, + { + "requiredCredentials": [], + "externalInput": { + "provider": "chatgpt", + "fields": [ + "operatorRef", + "chatgptAuthorizationRef", + "operatorMode" + ] + }, + "scenarioId": "assistant-connections.connect-external-assistant", + "sourceFiles": [ + "chat-catalog-domains/external-chatgpt-setup.ts", + "chat-catalog-domains/external-chatgpt.ts", + "chat-catalog-domains/external-chatgpt-worker.ts", + "chat-catalog-domains/external-chatgpt-contract.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-runtime-private-requirements.ts", + "chat-catalog-domains/external-public-signin.ts", + "chat-catalog-domains/external-public-signin-worker.ts", + "chat-catalog-domains/external-public-signin-contract.ts", + "public-mcp-flow.ts", + "chat-public-origin.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/assistant-connections.yaml", + "../../ui/src/pages/apps/AssistantConnection.tsx", + "../../ui/src/pages/McpConnect.tsx", + "../../server/src/routes/public-mcp.ts", + "../../server/src/services/public-mcp/capabilities.ts", + "../../server/src/services/public-mcp/oauth.ts", + "../../packages/shared/src/mcp-setup.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1500000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-assistant-connections.js", + "exportName": "assistantConnectionExternalCases" + }, + { + "scenarioId": "assistant-connections.consent-read-only", + "sourceFiles": [ + "chat-catalog-domains/external-assistant-consent.ts", + "chat-catalog-domains/external-assistant-connections.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "public-mcp-client.ts", + "chat-scenarios/assistant-connections.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-assistant-consent.js", + "exportName": "assistantConsentExternalCases" + }, + { + "scenarioId": "assistant-connections.decline-consent", + "sourceFiles": [ + "chat-catalog-domains/external-assistant-connections.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "public-mcp-client.ts", + "chat-scenarios/assistant-connections.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-assistant-connections.js", + "exportName": "assistantConnectionExternalCases" + }, + { + "scenarioId": "assistant-connections.device-login", + "sourceFiles": [ + "chat-catalog-domains/external-assistant-device.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "chat-catalog-domains/external-device-private-contract.ts", + "../../ui/src/pages/McpConnect.tsx", + "../../server/src/routes/public-mcp.ts", + "../../server/src/services/public-mcp/oauth.ts", + "../../packages/shared/src/public-mcp.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "public-mcp-client.ts", + "chat-scenarios/assistant-connections.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 780000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-assistant-device.js", + "exportName": "assistantDeviceExternalCases" + }, + { + "scenarioId": "assistant-connections.revoke-personal-grant", + "sourceFiles": [ + "chat-catalog-domains/external-assistant-revoke.ts", + "chat-catalog-domains/external-assistant-connections.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-stories.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "public-mcp-client.ts", + "run-observations.ts", + "../../server/src/routes/public-mcp.ts", + "../../server/src/services/public-mcp/oauth.ts", + "chat-scenarios/assistant-connections.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-assistant-revoke.js", + "exportName": "personalRevokeExternalCases" + }, + { + "companionSurface": { + "kind": "scoped-external-assistant", + "model": "gpt-5.4-mini", + "maximumModelTurns": 6, + "maximumToolCalls": 4, + "maximumOutputTokens": 2048 + }, + "requiredCredentials": [ + "OPENAI_API_KEY" + ], + "scenarioId": "assistant-connections.use-scoped-client", + "sourceFiles": [ + "chat-catalog-domains/external-assistant-scoped.ts", + "chat-catalog-domains/external-assistant-model.ts", + "chat-catalog-domains/external-assistant-connections.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "public-mcp-client.ts", + "public-mcp-model.ts", + "public-mcp-cases.ts", + "../../integrations/assistant-plugins/shared/skills/review-my-team/SKILL.md", + "../../integrations/assistant-plugins/shared/skills/delegate-work/SKILL.md", + "../../integrations/assistant-plugins/shared/skills/follow-up-results/SKILL.md", + "chat-scenarios/assistant-connections.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 0, + "expectedHumanMessageCount": 0, + "turnTimeoutMs": 180000, + "attemptTimeoutMs": 600000, + "journeyKind": "scoped-external-assistant", + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "paused-morgan-creation-fixture", + "effective-creation-only-grant" + ] + }, + "modulePath": "./chat-catalog-domains/external-assistant-scoped.js", + "exportName": "scopedAssistantExternalCases" + }, + { + "scenarioId": "budgets-costs.explain-hard-stop", + "sourceFiles": [ + "chat-catalog-domains/identity-budget-incidents.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/budgets-costs.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "setupPolicy": { + "funding": "preserve-scenario", + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "real-budget-and-manual-holds" + ] + }, + "modulePath": "./chat-catalog-domains/identity-budget-incidents.js", + "exportName": "budgetIncidentIdentityCases" + }, + { + "scenarioId": "budgets-costs.repair-cost-recording", + "sourceFiles": [ + "chat-catalog-domains/identity-accounting.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/budgets-costs.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 780000, + "authentication": "human-session", + "setupPolicy": { + "funding": "standard", + "readiness": "all-ready", + "invariantCheckIds": [ + "genuine-unresolved-saved-native-usage" + ] + }, + "modulePath": "./chat-catalog-domains/identity-accounting.js", + "exportName": "accountingIdentityCases" + }, + { + "scenarioId": "budgets-costs.resolve-budget", + "sourceFiles": [ + "chat-catalog-domains/identity-budget-incidents.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/budgets-costs.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "setupPolicy": { + "funding": "preserve-scenario", + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "real-budget-and-manual-holds" + ] + }, + "modulePath": "./chat-catalog-domains/identity-budget-incidents.js", + "exportName": "budgetIncidentIdentityCases" + }, + { + "scenarioId": "budgets-costs.set-budget", + "sourceFiles": [ + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-budgets-costs.ts", + "chat-scenarios/budgets-costs.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/identity-budgets-costs.js", + "exportName": "budgetIdentityCases" + }, + { + "scenarioId": "budgets-costs.spend-breakdown", + "sourceFiles": [ + "chat-catalog-domains/identity-accounting.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/budgets-costs.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "setupPolicy": { + "funding": "standard", + "readiness": "all-ready", + "invariantCheckIds": [ + "genuine-unresolved-saved-native-usage" + ] + }, + "modulePath": "./chat-catalog-domains/identity-accounting.js", + "exportName": "accountingIdentityCases" + }, + { + "scenarioId": "budgets-costs.subscription-fees", + "sourceFiles": [ + "chat-catalog-domains/identity-subscriptions.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/budgets-costs.yaml", + "../../packages/shared/src/subscriptions.ts", + "../../server/src/routes/costs.ts", + "../../server/src/routes/ai-connections.ts", + "../../server/src/services/subscriptions.ts", + "../../ui/src/components/SubscriptionCostCard.tsx" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "coverageGaps": [ + "No supported admitted fixture establishes two subscription records with independently verified provenance for ONE actual account. Public current-price reports also omit archived price revisions; complete historical-price preservation cannot yet be independently verified. The original context remains blocked, never replaced by different accounts or a nonexistent-resource refusal." + ], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-subscriptions.js", + "exportName": "subscriptionIdentityCases" + }, + { + "scenarioId": "cases.browse-cases", + "sourceFiles": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-cases.ts", + "chat-scenarios/cases.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/integrator-cases.js", + "exportName": "integratorCasesCases" + }, + { + "scenarioId": "cases.case-history", + "sourceFiles": [ + "chat-catalog-domains/integrator-case-history.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-scenarios/cases.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 5, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1200000, + "modulePath": "./chat-catalog-domains/integrator-case-history.js", + "exportName": "integratorCaseHistoryCases" + }, + { + "scenarioId": "cases.cases-disabled", + "sourceFiles": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-cases.ts", + "chat-scenarios/cases.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/integrator-cases.js", + "exportName": "integratorCasesCases" + }, + { + "scenarioId": "cases.close-case", + "sourceFiles": [ + "chat-catalog-domains/integrator-case-close.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-scenarios/cases.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 7, + "expectedHumanMessageCount": 3, + "minimumRunCount": 6, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1500000, + "modulePath": "./chat-catalog-domains/integrator-case-close.js", + "exportName": "integratorCaseCloseCases" + }, + { + "scenarioId": "cases.create-case", + "sourceFiles": [ + "chat-catalog-domains/integrator-case-create.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-scenarios/cases.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/integrator-case-create.js", + "exportName": "integratorCaseCreationCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "customer-bug-brief.md" + } + ] + }, + { + "respondingAgent": { + "kind": "case-primary-owner", + "name": "Morgan", + "role": "engineer", + "canAssignTasks": true + }, + "scenarioId": "cases.handoff-same-task", + "sourceFiles": [ + "chat-catalog-domains/integrator-case-handoff.ts", + "chat-catalog-domains/internal-run-brief.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/cases.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 4, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "cancelled": 1, + "succeeded": 3 + } + }, + "modulePath": "./chat-catalog-domains/integrator-case-handoff.js", + "exportName": "integratorCaseHandoffCases" + }, + { + "scenarioId": "cases.related-work", + "sourceFiles": [ + "chat-catalog-domains/integrator-case-related.ts", + "chat-catalog-domains/recorded-work-claims.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-scenarios/cases.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.case-related.grounded.v2", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "modulePath": "./chat-catalog-domains/integrator-case-related.js", + "exportName": "integratorRelatedWorkCases" + }, + { + "scenarioId": "cases.update-case-facts", + "sourceFiles": [ + "chat-catalog-domains/integrator-case-facts.ts", + "chat-catalog-domains/internal-run-brief.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-scenarios/cases.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 4, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "cancelled": 1, + "succeeded": 3 + } + }, + "modulePath": "./chat-catalog-domains/integrator-case-facts.js", + "exportName": "integratorCaseFactsCases" + }, + { + "slackIngress": { + "kind": "native-slack-thread", + "maximumProviderCalls": 20, + "ingressTimeoutMs": 120000 + }, + "externalInput": { + "provider": "slack", + "fields": [ + "workspaceId", + "channelId", + "senderUserId", + "botUserId", + "appId", + "registeredWebhookOrigin", + "webhookRelayPort", + "botTokenEnv", + "senderTokenEnv", + "signingSecretEnv", + "configurationTokenEnv" + ] + }, + "scenarioId": "chat-channels.channel-file", + "sourceFiles": [ + "chat-catalog-domains/external-slack-file.ts", + "chat-catalog-domains/external-slack-provider.ts", + "chat-catalog-domains/external-slack-fixture.ts", + "chat-catalog-domains/external-slack-relay.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-slack-ingress.ts", + "run-observations.ts", + "native-event-envelope.ts", + "../../server/src/attachment-types.ts", + "../../server/src/services/chat-channels/inbound-attachments.ts", + "../../server/src/services/chat-channels/inbound/wakeups.ts", + "../../server/src/services/issue-assignment-wakeup.ts", + "../../server/src/services/chat-channels/slack/file-receipts.ts", + "../../server/src/services/chat-channels/outbound-attachments.ts", + "chat-scenarios/chat-channels.yaml", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 6, + "expectedHumanMessageCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "journeyKind": "native-slack-thread", + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-slack-file.js", + "exportName": "slackFileExternalCases" + }, + { + "externalInput": { + "provider": "slack", + "fields": [ + "workspaceId", + "channelId", + "senderUserId", + "botUserId", + "appId", + "registeredWebhookOrigin", + "webhookRelayPort", + "botTokenEnv", + "senderTokenEnv", + "signingSecretEnv", + "configurationTokenEnv", + "slackBrowserSessionEnv" + ] + }, + "scenarioId": "chat-channels.connect-slack", + "sourceFiles": [ + "chat-catalog-domains/external-slack-setup.ts", + "chat-catalog-domains/external-slack-fixture.ts", + "chat-catalog-domains/external-slack-provider.ts", + "chat-catalog-domains/external-slack-relay.ts", + "chat-catalog-domains/external-slack-human.ts", + "chat-catalog-domains/external-slack-human-worker.ts", + "chat-catalog-domains/external-slack-human-contract.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "chat-catalog-domains/external-slack-setup-private-contract.ts", + "chat-catalog-domains/external-slack-identity-contract.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-slack-ingress.ts", + "../../ui/src/pages/apps/chat/ChatEndpointSetup.tsx", + "../../ui/src/pages/apps/chat/SlackIdentityStep.tsx", + "../../ui/src/pages/apps/chat/slack/OwnSlackAppSetup.tsx", + "../../server/src/services/chat-channels/setup-probes.ts", + "../../server/src/services/chat-channels/slack/commands.ts", + "../../server/src/services/chat-channels/slack/identity-links.ts", + "../../server/src/services/chat-channels/identity-links.ts", + "../../server/src/services/chat-channels.ts", + "chat-scenarios/chat-channels.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-slack-setup.js", + "exportName": "slackSetupExternalCases" + }, + { + "externalInput": { + "provider": "slack", + "fields": [ + "workspaceId", + "channelId", + "senderUserId", + "botUserId", + "appId", + "registeredWebhookOrigin", + "webhookRelayPort", + "botTokenEnv", + "senderTokenEnv", + "signingSecretEnv", + "configurationTokenEnv" + ] + }, + "scenarioId": "chat-channels.link-sender", + "sourceFiles": [ + "chat-catalog-domains/external-slack-identity.ts", + "chat-catalog-domains/external-slack-fixture.ts", + "chat-catalog-domains/external-slack-provider.ts", + "chat-catalog-domains/external-slack-relay.ts", + "chat-catalog-domains/external-slack-identity-contract.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "../../server/src/routes/chat-channels.ts", + "../../server/src/services/chat-channels/setup-probes.ts", + "../../server/src/services/chat-channels/identity-links.ts", + "../../server/src/services/chat-channels/inbound/authorization.ts", + "../../server/src/services/chat-channels.ts", + "../../server/src/services/chat-channels/activity.ts", + "../../ui/src/pages/apps/chat/ChatEndpointDetail.tsx", + "../../ui/src/pages/apps/chat/ChatIdentityConfirm.tsx", + "chat-slack-ingress.ts", + "chat-scenarios/chat-channels.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-slack-identity.js", + "exportName": "slackIdentityExternalCases" + }, + { + "externalInput": { + "provider": "agentmail", + "fields": [ + "inboxId", + "recipient", + "recipientAuthorization", + "apiTokenEnv" + ] + }, + "scenarioId": "chat-channels.outbound-email", + "sourceFiles": [ + "chat-catalog-domains/runtime-email-outbound.ts", + "chat-catalog-domains/runtime-email.ts", + "chat-catalog-domains/runtime-email-private.ts", + "chat-catalog-domains/runtime-email-private-worker.ts", + "chat-catalog-domains/runtime-email-duplicate.ts", + "chat-catalog-domains/runtime-email-fault.ts", + "server-entry.ts", + "chat-query-bindings.ts", + "../../server/src/services/email-channels.ts", + "../../server/src/services/agentmail-api.ts", + "../../server/src/services/connectors/agentmail.ts", + "chat-scenarios/chat-channels.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 5, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1020000, + "authentication": "human-session", + "queryBindings": [ + { + "catalogToken": "reviewer@example.test", + "stateKey": "emailRecipient", + "resourceKind": "agentmail-recipient", + "valueField": "email" + } + ], + "modulePath": "./chat-catalog-domains/runtime-email-outbound.js", + "exportName": "runtimeOutboundEmailCases" + }, + { + "scenarioId": "chat-channels.provider-disabled", + "sourceFiles": [ + "chat-catalog-domains/external-chat-channels.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/chat-channels.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-chat-channels.js", + "exportName": "chatChannelExternalCases" + }, + { + "externalInput": { + "provider": "slack", + "fields": [ + "workspaceId", + "channelId", + "senderUserId", + "botUserId", + "appId", + "registeredWebhookOrigin", + "webhookRelayPort", + "botTokenEnv", + "senderTokenEnv", + "signingSecretEnv", + "configurationTokenEnv", + "slackBrowserSessionEnv", + "botTokenExpiresAt", + "repairBotTokenEnv" + ] + }, + "scenarioId": "chat-channels.repair-endpoint", + "sourceFiles": [ + "chat-catalog-domains/external-slack-repair.ts", + "chat-catalog-domains/external-slack-authorization.ts", + "chat-catalog-domains/external-slack-fixture.ts", + "chat-catalog-domains/external-slack-provider.ts", + "chat-catalog-domains/external-slack-relay.ts", + "chat-catalog-domains/external-slack-human.ts", + "chat-catalog-domains/external-slack-human-worker.ts", + "chat-catalog-domains/external-slack-human-contract.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "chat-catalog-domains/external-slack-setup-private-contract.ts", + "chat-catalog-domains/external-slack-identity-contract.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-slack-ingress.ts", + "../../ui/src/pages/apps/chat/ChatEndpointSetup.tsx", + "../../ui/src/pages/apps/chat/SlackIdentityStep.tsx", + "../../server/src/services/chat-channels/configuration.ts", + "../../server/src/services/chat-channels/slack/credentials.ts", + "../../server/src/services/chat-channels/slack/commands.ts", + "../../server/src/services/chat-channels.ts", + "chat-scenarios/chat-channels.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1500000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-slack-repair.js", + "exportName": "slackRepairExternalCases" + }, + { + "slackIngress": { + "kind": "native-slack-thread", + "maximumProviderCalls": 20, + "ingressTimeoutMs": 120000, + "setupThread": "same-agent-distractor" + }, + "externalInput": { + "provider": "slack", + "fields": [ + "workspaceId", + "channelId", + "senderUserId", + "botUserId", + "appId", + "registeredWebhookOrigin", + "webhookRelayPort", + "botTokenEnv", + "senderTokenEnv", + "signingSecretEnv", + "configurationTokenEnv" + ] + }, + "scenarioId": "chat-channels.reply-in-thread", + "sourceFiles": [ + "chat-catalog-domains/external-slack-thread.ts", + "chat-catalog-domains/external-slack-fixture.ts", + "chat-catalog-domains/external-slack-provider.ts", + "chat-catalog-domains/external-slack-relay.ts", + "chat-catalog-domains/external-slack-render.ts", + "chat-catalog-domains/runtime-rendered-artifact.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-slack-ingress.ts", + "../../packages/shared/src/types/chat-channels.ts", + "../../server/src/routes/chat-channels.ts", + "../../server/src/services/chat-channels.ts", + "../../server/src/services/chat-channels/inbound/authorization.ts", + "../../server/src/services/chat-channels/inbound/wakeups.ts", + "chat-scenarios/chat-channels.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 4, + "expectedHumanMessageCount": 1, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "journeyKind": "native-slack-thread", + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-slack-thread.js", + "exportName": "slackThreadExternalCases" + }, + { + "externalInput": { + "provider": "agentmail", + "fields": [ + "inboxId", + "recipient", + "recipientAuthorization", + "apiTokenEnv", + "reviewerAddress", + "reviewerAuthorization", + "senderCredentialEnv" + ] + }, + "scenarioId": "chat-channels.reply-to-email", + "sourceFiles": [ + "chat-catalog-domains/runtime-email-reply.ts", + "chat-catalog-domains/runtime-email.ts", + "chat-catalog-domains/runtime-email-outbound.ts", + "chat-catalog-domains/runtime-email-private.ts", + "chat-catalog-domains/runtime-email-private-worker.ts", + "chat-catalog-domains/runtime-email-fault.ts", + "chat-catalog-domains/runtime-email-duplicate.ts", + "server-entry.ts", + "../../server/src/services/email-channels.ts", + "../../server/src/services/agentmail-api.ts", + "../../server/src/services/connectors/agentmail.ts", + "chat-scenarios/chat-channels.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 9, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 4, + "minimumRunCount": 6, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1500000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-email-reply.js", + "exportName": "runtimeReplyEmailCases" + }, + { + "scenarioId": "cli-operations.choose-cli-context", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-cli.ts", + "chat-scenarios/cli-operations.yaml", + "chat-catalog-domains/privileged-cli-support.ts", + "../../cli/src/index.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-cli.js", + "exportName": "privilegedCliCases" + }, + { + "scenarioId": "cli-operations.create-from-cli", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-cli.ts", + "chat-scenarios/cli-operations.yaml", + "chat-catalog-domains/privileged-cli-support.ts", + "../../cli/src/index.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-cli.js", + "exportName": "privilegedCliCases", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "owned-manual-pause" + ] + } + }, + { + "scenarioId": "cli-operations.export-document-cli", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-document-cli.ts", + "chat-scenarios/cli-operations.yaml", + "chat-catalog-domains/privileged-cli-support.ts", + "../../cli/src/index.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-document-cli.js", + "exportName": "privilegedDocumentCliCases" + }, + { + "scenarioId": "cli-operations.feedback-bundle", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-feedback.ts", + "chat-scenarios/cli-operations.yaml", + "chat-catalog-domains/privileged-cli-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "../../cli/src/index.ts", + "../../cli/src/commands/client/feedback.ts", + "../../server/src/services/feedback.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "succeeded": 2, + "cancelled": 1 + } + }, + "modulePath": "./chat-catalog-domains/privileged-feedback.js", + "exportName": "privilegedFeedbackCases" + }, + { + "scenarioId": "cli-operations.inspect-run-cli", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-run-cli.ts", + "chat-scenarios/cli-operations.yaml", + "chat-catalog-domains/privileged-cli-support.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "../../cli/src/index.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "succeeded": 1, + "cancelled": 1 + } + }, + "modulePath": "./chat-catalog-domains/privileged-run-cli.js", + "exportName": "privilegedRunCliCases" + }, + { + "scenarioId": "cli-operations.owned-dev-instance", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-owned-dev.ts", + "chat-scenarios/cli-operations.yaml", + "../../cli/src/index.ts", + "../../cli/src/commands/worktree.ts", + "../../cli/src/commands/run.ts", + "../e2e/fetch-allowed-port.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-owned-dev.js", + "exportName": "privilegedOwnedDevCases" + }, + { + "scenarioId": "companies.agent-observability", + "sourceFiles": [ + "chat-catalog-domains/identity-observability.ts", + "chat-catalog-domains/identity-company-observer.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-observability.js", + "exportName": "observabilityIdentityCases" + }, + { + "scenarioId": "companies.archive-company", + "sourceFiles": [ + "chat-catalog-domains/identity-company-lifecycle.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-company-lifecycle.js", + "exportName": "companyLifecycleIdentityCases" + }, + { + "requiredCredentials": [ + "OPENROUTER_API_KEY" + ], + "scenarioId": "companies.configure-decision-model", + "sourceFiles": [ + "chat-catalog-domains/identity-company-models.ts", + "chat-catalog-domains/identity-company-observer.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-company-models.js", + "exportName": "companyModelIdentityCases" + }, + { + "scenarioId": "companies.export-company", + "sourceFiles": [ + "chat-catalog-domains/identity-portability.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-portability.js", + "exportName": "portabilityIdentityCases" + }, + { + "requiredCredentials": [ + "OPENROUTER_API_KEY" + ], + "scenarioId": "companies.fast-responses", + "sourceFiles": [ + "chat-catalog-domains/identity-company-models.ts", + "chat-catalog-domains/identity-company-observer.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-company-models.js", + "exportName": "companyModelIdentityCases" + }, + { + "scenarioId": "companies.import-preview", + "sourceFiles": [ + "chat-catalog-domains/identity-portability.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "packageAttachment", + "filename": "company-package.json" + } + ], + "modulePath": "./chat-catalog-domains/identity-portability.js", + "exportName": "portabilityIdentityCases" + }, + { + "requiredCredentials": [ + "OPENROUTER_API_KEY" + ], + "scenarioId": "companies.prompt-injection-guard", + "sourceFiles": [ + "chat-catalog-domains/identity-company-models.ts", + "chat-catalog-domains/identity-company-observer.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-company-models.js", + "exportName": "companyModelIdentityCases" + }, + { + "scenarioId": "companies.rename-company", + "sourceFiles": [ + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-companies.ts", + "chat-scenarios/companies.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/identity-companies.js", + "exportName": "companyIdentityCases" + }, + { + "scenarioId": "companies.switch-company", + "sourceFiles": [ + "chat-catalog-domains/identity-company-lifecycle.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/companies.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-company-lifecycle.js", + "exportName": "companyLifecycleIdentityCases" + }, + { + "externalInput": { + "provider": "slack", + "fields": [ + "workspaceId", + "channelId", + "senderUserId", + "botUserId", + "appId", + "registeredWebhookOrigin", + "webhookRelayPort", + "botTokenEnv", + "senderTokenEnv", + "signingSecretEnv", + "configurationTokenEnv", + "slackBrowserSessionEnv" + ] + }, + "scenarioId": "connection-setup.channel-prerequisites", + "sourceFiles": [ + "chat-catalog-domains/external-slack-setup.ts", + "chat-catalog-domains/external-slack-fixture.ts", + "chat-catalog-domains/external-slack-provider.ts", + "chat-catalog-domains/external-slack-relay.ts", + "chat-catalog-domains/external-slack-human.ts", + "chat-catalog-domains/external-slack-human-worker.ts", + "chat-catalog-domains/external-slack-human-contract.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "chat-catalog-domains/external-slack-setup-private-contract.ts", + "chat-catalog-domains/external-slack-identity-contract.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-slack-ingress.ts", + "../../ui/src/pages/apps/chat/ChatEndpointSetup.tsx", + "../../ui/src/pages/apps/chat/SlackIdentityStep.tsx", + "../../ui/src/pages/apps/chat/slack/OwnSlackAppSetup.tsx", + "../../server/src/services/chat-channels/setup-probes.ts", + "../../server/src/services/chat-channels/slack/commands.ts", + "../../server/src/services/chat-channels/slack/identity-links.ts", + "../../server/src/services/chat-channels/identity-links.ts", + "../../server/src/services/chat-channels.ts", + "chat-scenarios/connection-setup.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-slack-setup.js", + "exportName": "slackSetupExternalCases" + }, + { + "scenarioId": "connection-setup.choose-provider", + "sourceFiles": [ + "chat-catalog-domains/external-provider-choice.ts", + "run-observations.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "../../packages/shared/src/app-definitions.ts", + "../../packages/shared/src/app-definitions/notion.json", + "../../ui/src/features/connections/ConnectionIntentInteractionBody.tsx", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "chat-scenarios/connection-setup.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-provider-choice.js", + "exportName": "providerChoiceExternalCases" + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "recentPageId", + "olderPageId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "mcpTokenEnv", + "recentMarker", + "olderMarker", + "recentFactJson", + "olderFactJson" + ] + }, + "scenarioId": "connection-setup.notion-agent-unassigned", + "sourceFiles": [ + "chat-catalog-domains/external-notion-assignment.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-flow.ts", + "chat-scenarios/connection-setup.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 480000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-notion-assignment.js", + "exportName": "notionAssignmentExternalCases" + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "recentPageId", + "olderPageId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "mcpTokenEnv", + "recentMarker", + "olderMarker", + "recentFactJson", + "olderFactJson" + ] + }, + "scenarioId": "connection-setup.notion-connected", + "sourceFiles": [ + "chat-catalog-domains/external-notion-read.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/connection-setup.yaml", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-notion-read.js", + "exportName": "notionReadExternalCases" + }, + { + "scenarioId": "connection-setup.notion-declined", + "sourceFiles": [ + "chat-catalog-domains/external-connection-setup.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "../../ui/src/features/connections/ConnectionIntentInteractionBody.tsx", + "../../ui/src/api/connection-intents.ts", + "chat-scenarios/connection-setup.yaml", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "minimumRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-connection-setup.js", + "exportName": "connectionSetupExternalCases" + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "workspaceName", + "recentPageId", + "olderPageId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "recentMarker", + "olderMarker", + "recentFactJson", + "olderFactJson", + "oauthBrowserSessionEnv", + "oauthHumanEmailEnv", + "expiredAuthorizationEnv", + "authorizationExpiresAt", + "authorizationFailureKind" + ] + }, + "scenarioId": "connection-setup.notion-expired", + "sourceFiles": [ + "chat-catalog-domains/external-notion-setup.ts", + "chat-catalog-domains/external-notion-oauth.ts", + "chat-catalog-domains/external-notion-oauth-worker.ts", + "chat-catalog-domains/external-notion-oauth-contract.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-public-signin.ts", + "chat-catalog-domains/external-public-signin-worker.ts", + "chat-catalog-domains/external-public-signin-contract.ts", + "public-mcp-flow.ts", + "chat-public-origin.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/connection-setup.yaml", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "../../ui/src/features/connections/ConnectionIntentInteractionBody.tsx", + "../../server/src/routes/tool-access.ts", + "../../server/src/services/tool-access/oauth/direct-callback.ts", + "../../scripts/smoke/notion-generic-live.mjs", + "chat-catalog-domains/external-notion-expired.ts", + "chat-catalog-domains/external-notion-expiry.ts", + "chat-catalog-domains/identity-support.ts", + "chat-flow.ts", + "../../server/src/services/tool-access.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 4, + "expectedHumanMessageCount": 2, + "minimumRunCount": 4, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1500000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-notion-expired.js", + "exportName": "notionExpiredExternalCases" + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "workspaceName", + "recentPageId", + "olderPageId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "recentMarker", + "olderMarker", + "recentFactJson", + "olderFactJson", + "oauthBrowserSessionEnv", + "oauthHumanEmailEnv" + ] + }, + "scenarioId": "connection-setup.notion-missing", + "sourceFiles": [ + "chat-catalog-domains/external-notion-setup.ts", + "chat-catalog-domains/external-notion-oauth.ts", + "chat-catalog-domains/external-notion-oauth-worker.ts", + "chat-catalog-domains/external-notion-oauth-contract.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-public-signin.ts", + "chat-catalog-domains/external-public-signin-worker.ts", + "chat-catalog-domains/external-public-signin-contract.ts", + "public-mcp-flow.ts", + "chat-public-origin.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/connection-setup.yaml", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "../../ui/src/features/connections/ConnectionIntentInteractionBody.tsx", + "../../server/src/routes/tool-access.ts", + "../../server/src/services/tool-access/oauth/direct-callback.ts", + "../../scripts/smoke/notion-generic-live.mjs", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-notion-setup.js", + "exportName": "notionSetupExternalCases" + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "workspaceName", + "recentPageId", + "olderPageId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "recentMarker", + "olderMarker", + "recentFactJson", + "olderFactJson", + "oauthBrowserSessionEnv", + "oauthHumanEmailEnv", + "sharedWorkspaceId", + "sharedApiTokenEnv", + "sharedMcpTokenEnv" + ] + }, + "scenarioId": "connection-setup.notion-wrong-account", + "sourceFiles": [ + "chat-catalog-domains/external-notion-setup.ts", + "chat-catalog-domains/external-notion-oauth.ts", + "chat-catalog-domains/external-notion-oauth-worker.ts", + "chat-catalog-domains/external-notion-oauth-contract.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-public-signin.ts", + "chat-catalog-domains/external-public-signin-worker.ts", + "chat-catalog-domains/external-public-signin-contract.ts", + "public-mcp-flow.ts", + "chat-public-origin.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/connection-setup.yaml", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "../../ui/src/features/connections/ConnectionIntentInteractionBody.tsx", + "../../server/src/routes/tool-access.ts", + "../../server/src/services/tool-access/oauth/direct-callback.ts", + "../../scripts/smoke/notion-generic-live.mjs", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-notion-setup.js", + "exportName": "notionSetupExternalCases" + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "workspaceName", + "recentPageId", + "olderPageId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "recentMarker", + "olderMarker", + "recentFactJson", + "olderFactJson", + "oauthBrowserSessionEnv", + "oauthHumanEmailEnv" + ] + }, + "scenarioId": "connection-setup.return-from-login", + "sourceFiles": [ + "chat-catalog-domains/external-notion-setup.ts", + "chat-catalog-domains/external-notion-oauth.ts", + "chat-catalog-domains/external-notion-oauth-worker.ts", + "chat-catalog-domains/external-notion-oauth-contract.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-public-signin.ts", + "chat-catalog-domains/external-public-signin-worker.ts", + "chat-catalog-domains/external-public-signin-contract.ts", + "public-mcp-flow.ts", + "chat-public-origin.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/connection-setup.yaml", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "../../ui/src/features/connections/ConnectionIntentInteractionBody.tsx", + "../../server/src/routes/tool-access.ts", + "../../server/src/services/tool-access/oauth/direct-callback.ts", + "../../scripts/smoke/notion-generic-live.mjs", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-notion-setup.js", + "exportName": "notionSetupExternalCases" + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "workspaceName", + "recentPageId", + "olderPageId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "recentMarker", + "olderMarker", + "recentFactJson", + "olderFactJson", + "oauthBrowserSessionEnv", + "oauthHumanEmailEnv" + ] + }, + "scenarioId": "connection-setup.save-and-resume", + "sourceFiles": [ + "chat-catalog-domains/external-notion-setup.ts", + "chat-catalog-domains/external-notion-oauth.ts", + "chat-catalog-domains/external-notion-oauth-worker.ts", + "chat-catalog-domains/external-notion-oauth-contract.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-public-signin.ts", + "chat-catalog-domains/external-public-signin-worker.ts", + "chat-catalog-domains/external-public-signin-contract.ts", + "public-mcp-flow.ts", + "chat-public-origin.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/connection-setup.yaml", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "../../ui/src/features/connections/ConnectionIntentInteractionBody.tsx", + "../../server/src/routes/tool-access.ts", + "../../server/src/services/tool-access/oauth/direct-callback.ts", + "../../scripts/smoke/notion-generic-live.mjs", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-notion-setup.js", + "exportName": "notionSetupExternalCases" + }, + { + "scenarioId": "connection-setup.secure-api-key", + "sourceFiles": [ + "chat-catalog-domains/external-secure-key.ts", + "chat-query-attachments.ts", + "../../ui/src/App.tsx", + "../../ui/src/pages/apps/app-connect-policy.ts", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "chat-catalog-domains/external-credential-language.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-secret-scan.ts", + "run-observations.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/connection-setup.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-secure-key.js", + "exportName": "secureKeyExternalCases", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "provider-account.md" + } + ] + }, + { + "scenarioId": "connection-setup.unreachable-mcp", + "sourceFiles": [ + "../../ui/src/App.tsx", + "../../ui/src/pages/apps/Browse.tsx", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "../../ui/src/pages/apps/app-connect-policy.ts", + "chat-catalog-domains/external-mcp-failure.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/connection-setup.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-mcp-failure.js", + "exportName": "mcpFailureExternalCases" + }, + { + "scenarioId": "connection-setup.wrong-person-resolves", + "sourceFiles": [ + "chat-catalog-domains/external-wrong-resolver.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "../../server/src/routes/connection-intents.ts", + "../../server/src/services/connection-intents.ts", + "chat-scenarios/connection-setup.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-wrong-resolver.js", + "exportName": "wrongResolverExternalCases" + }, + { + "scenarioId": "developer-labs.component-reference", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-developer-labs.ts", + "chat-scenarios/developer-labs.yaml", + "../../ui/src/App.tsx", + "../../ui/src/pages/DesignGuide.tsx", + "../../ui/src/pages/ResponsibleUserDenialUxLab.tsx" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-developer-labs.js", + "exportName": "privilegedDeveloperLabCases" + }, + { + "scenarioId": "developer-labs.gated-lab", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-gated-lab.ts", + "chat-scenarios/developer-labs.yaml", + "chat-catalog-domains/privileged-production-ui.ts", + "../../ui/vite.config.ts", + "../../ui/src/App.tsx", + "../../ui/src/pages/NotFound.tsx", + "chat-query-attachments.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-gated-lab.js", + "exportName": "privilegedGatedLabCases", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "historical-lab-link.md" + } + ] + }, + { + "scenarioId": "developer-labs.interaction-fixture", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-developer-labs.ts", + "chat-scenarios/developer-labs.yaml", + "../../ui/src/App.tsx", + "../../ui/src/pages/DesignGuide.tsx", + "../../ui/src/pages/ResponsibleUserDenialUxLab.tsx" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-developer-labs.js", + "exportName": "privilegedDeveloperLabCases" + }, + { + "scenarioId": "developer-labs.long-thread-performance", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-performance.ts", + "chat-scenarios/developer-labs.yaml", + "../../ui/src/pages/IssueChatLongThreadPerf.tsx", + "../../ui/src/fixtures/issueChatLongThreadFixture.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-performance.js", + "exportName": "privilegedPerformanceCases" + }, + { + "scenarioId": "documents-artifacts.find-artifact", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-documents-artifacts.ts", + "chat-scenarios/documents-artifacts.yaml", + "chat-catalog-domains/internal-artifact-search.ts", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-artifact-search.js", + "exportName": "artifactSearchCases" + }, + { + "scenarioId": "documents-artifacts.private-download", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-documents-artifacts.ts", + "chat-scenarios/documents-artifacts.yaml", + "chat-catalog-domains/internal-private-download.ts", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-documents-artifacts.js", + "exportName": "documents_artifactsCases" + }, + { + "scenarioId": "documents-artifacts.produce-download", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-documents-artifacts.ts", + "chat-scenarios/documents-artifacts.yaml", + "chat-catalog-domains/internal-website-delivery.ts", + "registered-artifact.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "modulePath": "./chat-catalog-domains/internal-website-delivery.js", + "exportName": "websiteDeliveryCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "selected-source.md" + } + ] + }, + { + "scenarioId": "documents-artifacts.resolve-feedback", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-documents-artifacts.ts", + "chat-scenarios/documents-artifacts.yaml", + "../../packages/shared/src/document-anchors.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/internal-documents-artifacts.js", + "exportName": "documents_artifactsCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "selected-source.md" + } + ] + }, + { + "scenarioId": "documents-artifacts.restore-document", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-documents-artifacts.ts", + "chat-scenarios/documents-artifacts.yaml", + "chat-catalog-domains/internal-restore-concurrency.ts", + "chat-catalog-domains/identity-auth.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "expectedHumanMessageCount": 3, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 660000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-documents-artifacts.js", + "exportName": "documents_artifactsCases", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "selected-source.md" + } + ] + }, + { + "scenarioId": "documents-artifacts.revise-delivery", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-documents-artifacts.ts", + "chat-scenarios/documents-artifacts.yaml", + "chat-catalog-domains/internal-website-delivery.ts", + "registered-artifact.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "modulePath": "./chat-catalog-domains/internal-website-delivery.js", + "exportName": "websiteDeliveryCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "selected-source.md" + } + ] + }, + { + "scenarioId": "documents-artifacts.write-plan", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-documents-artifacts.ts", + "chat-scenarios/documents-artifacts.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/internal-documents-artifacts.js", + "exportName": "documents_artifactsCases" + }, + { + "requiredCredentials": [], + "externalInput": { + "provider": "ssh", + "fields": [ + "hostname", + "port", + "login", + "hostKeySha256", + "knownHosts", + "allowedRemoteRoot", + "privateKeyEnv", + "qualifiedHarness" + ] + }, + "scenarioId": "execution-environments.add-computer", + "sourceFiles": [ + "chat-catalog-domains/runtime-computers-ssh.ts", + "chat-catalog-domains/runtime-computers-private.ts", + "chat-catalog-domains/runtime-computers-private-worker.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/execution-environments.yaml", + "../../server/src/routes/environments.ts", + "../../server/src/routes/agents.ts", + "../../packages/shared/src/environment-support.ts", + "../../ui/src/pages/CompanyEnvironments.tsx", + "../../ui/src/components/agent-config-primitives.tsx", + "chat-catalog-domains/external-secret-scan.ts", + "run-observations.ts" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-computers-ssh.js", + "exportName": "runtimeComputerSshCases" + }, + { + "requiredCredentials": [ + "DAYTONA_API_KEY" + ], + "externalInput": { + "provider": "daytona", + "fields": [ + "imageDigest", + "imageRef", + "region", + "disposableNamespace", + "qualifiedHarness" + ] + }, + "scenarioId": "execution-environments.assign-computer", + "sourceFiles": [ + "chat-catalog-domains/runtime-computers-cloud.ts", + "chat-catalog-domains/runtime-daytona-target.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/execution-environments.yaml", + "../../server/src/routes/environments.ts", + "../../server/src/routes/agents.ts", + "../../server/src/services/environment-probe.ts", + "../../server/src/services/environment-custom-images.ts", + "../../ui/src/pages/CompanyEnvironments.tsx", + "chat-catalog-domains/external-secret-scan.ts", + "run-observations.ts" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-computers-cloud.js", + "exportName": "runtimeComputerCloudCases" + }, + { + "scenarioId": "execution-environments.choose-capable-target", + "sourceFiles": [ + "chat-catalog-domains/runtime-capability-choice.ts", + "chat-catalog-domains/runtime-computers-ssh.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/execution-environments.yaml", + "../../packages/shared/src/environment-support.ts", + "../../server/src/routes/environments.ts", + "../../ui/src/pages/CompanyEnvironments.tsx" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-computers-ssh.js", + "exportName": "runtimeComputerSshCases" + }, + { + "requiredCredentials": [ + "DAYTONA_API_KEY" + ], + "externalInput": { + "provider": "daytona", + "fields": [ + "imageDigest", + "imageRef", + "region", + "disposableNamespace", + "toolsManifest" + ] + }, + "scenarioId": "execution-environments.prepare-image", + "sourceFiles": [ + "chat-catalog-domains/runtime-computers-cloud.ts", + "chat-catalog-domains/runtime-daytona-target.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/execution-environments.yaml", + "../../server/src/routes/environments.ts", + "../../server/src/routes/agents.ts", + "../../server/src/services/environment-probe.ts", + "../../server/src/services/environment-custom-images.ts", + "../../ui/src/pages/CompanyEnvironments.tsx", + "chat-catalog-domains/external-secret-scan.ts", + "run-observations.ts", + "chat-catalog-domains/runtime-computers-image-private.ts", + "chat-catalog-domains/runtime-computers-image-worker.ts", + "../../server/src/realtime/environment-custom-image-terminal-ws.ts", + "../../packages/shared/src/validators/environment-custom-images.ts" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1500000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-computers-cloud.js", + "exportName": "runtimeComputerCloudCases" + }, + { + "requiredCredentials": [], + "externalInput": { + "provider": "ssh", + "fields": [ + "hostname", + "port", + "login", + "hostKeySha256", + "knownHosts", + "allowedRemoteRoot", + "privateKeyEnv", + "qualifiedHarness" + ] + }, + "scenarioId": "execution-environments.test-computer", + "sourceFiles": [ + "chat-catalog-domains/runtime-computers-ssh.ts", + "chat-catalog-domains/runtime-computers-private.ts", + "chat-catalog-domains/runtime-computers-private-worker.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/execution-environments.yaml", + "../../server/src/routes/environments.ts", + "../../server/src/routes/agents.ts", + "../../packages/shared/src/environment-support.ts", + "../../ui/src/pages/CompanyEnvironments.tsx", + "../../ui/src/components/agent-config-primitives.tsx", + "chat-catalog-domains/external-secret-scan.ts", + "run-observations.ts" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-computers-ssh.js", + "exportName": "runtimeComputerSshCases" + }, + { + "scenarioId": "gateways-profiles.connect-client", + "sourceFiles": [ + "chat-catalog-domains/external-gateway-client.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/gateways-profiles.yaml", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-gateway-client.js", + "exportName": "gatewayClientExternalCases" + }, + { + "scenarioId": "gateways-profiles.create-gateway", + "sourceFiles": [ + "chat-catalog-domains/external-gateways-profiles.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/gateways-profiles.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-gateways-profiles.js", + "exportName": "gatewayExternalCases" + }, + { + "externalInput": { + "provider": "notion", + "fields": [ + "workspaceId", + "mcpUrl", + "apiVersion", + "apiTokenEnv", + "mcpTokenEnv" + ] + }, + "scenarioId": "gateways-profiles.define-profile", + "sourceFiles": [ + "chat-catalog-domains/external-profile-definition.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-notion-provider.ts", + "chat-catalog-domains/external-notion-semantics.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/gateways-profiles.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-profile-definition.js", + "exportName": "profileDefinitionExternalCases" + }, + { + "scenarioId": "gateways-profiles.inspect-gateway-error", + "sourceFiles": [ + "chat-catalog-domains/gateway-public-receipt.ts", + "chat-catalog-domains/external-gateway-error.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "run-observations.ts", + "native-event-envelope.ts", + "../../server/src/routes/tool-gateway.ts", + "../../server/src/routes/tool-access.ts", + "../../server/src/services/tool-gateway.ts", + "../../ui/src/App.tsx", + "chat-scenarios/gateways-profiles.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.gateway-public-receipt.v2", + "expectedRunCount": 3, + "expectedHumanMessageCount": 1, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 660000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-gateway-error.js", + "exportName": "gatewayErrorExternalCases" + }, + { + "scenarioId": "gateways-profiles.rotate-token", + "sourceFiles": [ + "chat-catalog-domains/external-gateway-rotation.ts", + "chat-catalog-domains/external-gateway-handoff.ts", + "../../ui/src/components/AppsSidebar.tsx", + "../../ui/src/components/IssueThreadInteractionCard.tsx", + "../../ui/src/pages/apps/gateways/GatewaysList.tsx", + "../../ui/src/pages/apps/gateways/GatewayDetail.tsx", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "run-observations.ts", + "chat-scenarios/gateways-profiles.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-gateway-rotation.js", + "exportName": "gatewayRotationExternalCases" + }, + { + "scenarioId": "goals.align-existing-work", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-goals.ts", + "chat-scenarios/goals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "modulePath": "./chat-catalog-domains/internal-goals.js", + "exportName": "goalsCases" + }, + { + "scenarioId": "goals.create-goal-tree", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-goals.ts", + "chat-scenarios/goals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.goal-hierarchy.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "modulePath": "./chat-catalog-domains/internal-goals.js", + "exportName": "goalsCases" + }, + { + "scenarioId": "goals.explain-purpose", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-goals.ts", + "chat-scenarios/goals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "expectedHumanMessageCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "modulePath": "./chat-catalog-domains/internal-goals.js", + "exportName": "goalsCases" + }, + { + "scenarioId": "inbox-search.archive-done", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-inbox-search.ts", + "chat-scenarios/inbox-search.yaml", + "chat-catalog-domains/internal-inbox-triage.ts", + "chat-catalog-domains/identity-auth.ts", + "../../packages/shared/src/validators/issue.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-inbox-triage.js", + "exportName": "inboxTriageCases" + }, + { + "scenarioId": "inbox-search.archive-partial-failure", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-inbox-search.ts", + "chat-scenarios/inbox-search.yaml", + "chat-catalog-domains/internal-archive-partial.ts", + "chat-catalog-domains/internal-archive-transport.ts", + "../e2e/fetch-allowed-port.ts", + "chat-archive-fault-control.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 480000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-archive-partial.js", + "exportName": "archivePartialCases" + }, + { + "scenarioId": "inbox-search.archive-without-grant", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-inbox-search.ts", + "chat-scenarios/inbox-search.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-inbox-search.js", + "exportName": "inboxSearchCases" + }, + { + "scenarioId": "inbox-search.find-design", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-inbox-search.ts", + "chat-scenarios/inbox-search.yaml", + "chat-catalog-domains/internal-design-search.ts", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-design-search.js", + "exportName": "designSearchCases" + }, + { + "scenarioId": "inbox-search.notification-audience", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-inbox-search.ts", + "chat-scenarios/inbox-search.yaml", + "chat-catalog-domains/internal-notification-audience.ts", + "chat-catalog-domains/internal-notification-events.ts", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts", + "../../packages/shared/src/project-mentions.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 480000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-notification-audience.js", + "exportName": "notificationAudienceCases" + }, + { + "scenarioId": "inbox-search.restore-archive", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-inbox-search.ts", + "chat-scenarios/inbox-search.yaml", + "chat-catalog-domains/internal-inbox-triage.ts", + "chat-catalog-domains/identity-auth.ts", + "../../packages/shared/src/validators/issue.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-inbox-triage.js", + "exportName": "inboxTriageCases" + }, + { + "scenarioId": "inbox-search.show-decisions", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-inbox-search.ts", + "chat-scenarios/inbox-search.yaml", + "chat-catalog-domains/internal-decision-search.ts", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts", + "../../packages/shared/src/validators/issue.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-decision-search.js", + "exportName": "decisionSearchCases" + }, + { + "scenarioId": "inbox-search.show-my-work", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-inbox-search.ts", + "chat-scenarios/inbox-search.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-inbox-search.js", + "exportName": "inboxSearchCases" + }, + { + "scenarioId": "instance-operations.backup-and-restore", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-backup.ts", + "chat-scenarios/instance-operations.yaml", + "chat-catalog-domains/privileged-docker-database.ts", + "docker-postgres.ts", + "../../packages/db/src/backup-lib.ts", + "../../server/src/routes/instance-database-backups.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-backup.js", + "exportName": "privilegedBackupCases" + }, + { + "scenarioId": "instance-operations.diagnose-health", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-diagnose-health.ts", + "chat-scenarios/instance-operations.yaml", + "chat-catalog-domains/privileged-database-fault.ts", + "chat-catalog-domains/privileged-docker-database.ts", + "docker-postgres.ts", + "../../cli/src/checks/database-check.ts", + "../../server/src/routes/health.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-diagnose-health.js", + "exportName": "privilegedDiagnosticCases" + }, + { + "scenarioId": "instance-operations.instance-settings", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-configuration.ts", + "chat-scenarios/instance-operations.yaml", + "../../ui/src/pages/InstanceExperimentalSettings.tsx", + "../../ui/src/pages/AgentChat.tsx" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-configuration.js", + "exportName": "privilegedConfigurationCases" + }, + { + "requiredCredentials": [ + "OPENROUTER_API_KEY" + ], + "installedSource": "published-global-npm", + "scenarioId": "instance-operations.provision-runtime", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-provision.ts", + "chat-scenarios/instance-operations.yaml", + "chat-catalog-domains/privileged-installed.ts", + "../../cli/src/commands/runtime.ts", + "../../packages/paperclip-runner/scripts/provision-pi.mjs" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1440000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-provision.js", + "exportName": "privilegedProvisionCases" + }, + { + "scenarioId": "instance-operations.restart-service", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-instance.ts", + "chat-scenarios/instance-operations.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-instance.js", + "exportName": "privilegedInstanceCases" + }, + { + "installedSource": "published-global-npm", + "scenarioId": "instance-operations.update-instance", + "sourceFiles": [ + "chat-catalog-domains/privileged-support.ts", + "chat-catalog-domains/privileged-update.ts", + "chat-scenarios/instance-operations.yaml", + "chat-catalog-domains/privileged-installed.ts", + "../../cli/src/commands/update.ts", + "installed-release.ts" + ], + "oracleVersion": "paperclip.chat-catalog.privileged.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/privileged-update.js", + "exportName": "privilegedUpdateCases" + }, + { + "scenarioId": "navigation-preferences.broken-link", + "sourceFiles": [ + "chat-catalog-domains/identity-navigation-boundaries.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/navigation-preferences.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-navigation-boundaries.js", + "exportName": "navigationBoundaryIdentityCases" + }, + { + "scenarioId": "navigation-preferences.dismiss-announcement", + "sourceFiles": [ + "chat-catalog-domains/identity-navigation-boundaries.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/navigation-preferences.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-navigation-boundaries.js", + "exportName": "navigationBoundaryIdentityCases" + }, + { + "scenarioId": "navigation-preferences.edit-profile", + "sourceFiles": [ + "chat-catalog-domains/identity-profile.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/navigation-preferences.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-profile.js", + "exportName": "profileIdentityCases" + }, + { + "scenarioId": "navigation-preferences.find-project-view", + "sourceFiles": [ + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-navigation-preferences.ts", + "chat-scenarios/navigation-preferences.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/identity-navigation-preferences.js", + "exportName": "navigationIdentityCases" + }, + { + "scenarioId": "navigation-preferences.quick-search", + "sourceFiles": [ + "chat-catalog-domains/identity-navigation-preferences.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/navigation-preferences.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-navigation-preferences.js", + "exportName": "navigationIdentityCases" + }, + { + "scenarioId": "navigation-preferences.sidebar-order", + "sourceFiles": [ + "chat-catalog-domains/identity-sidebar-order.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/navigation-preferences.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-sidebar-order.js", + "exportName": "sidebarOrderIdentityCases" + }, + { + "requiredCredentials": [ + "ANTHROPIC_API_KEY" + ], + "scenarioId": "onboarding.choose-first-runtime", + "sourceFiles": [ + "chat-catalog-domains/identity-wizard-boundaries.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-onboarding.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-boundary-contract.ts", + "chat-catalog-domains/internal-support.ts", + "installed-release.ts", + "chat-scenarios/onboarding.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 0, + "expectedHumanMessageCount": 0, + "turnTimeoutMs": 180000, + "attemptTimeoutMs": 600000, + "journeyKind": "browser-boundary", + "boundaryTarget": "authenticated-harness", + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-wizard-boundaries.js", + "exportName": "wizardIdentityBoundaryCases" + }, + { + "scenarioId": "onboarding.first-work", + "sourceFiles": [ + "chat-catalog-domains/identity-first-work.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/onboarding.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 3, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-first-work.js", + "exportName": "firstWorkIdentityCases" + }, + { + "requiredCredentials": [ + "OPENROUTER_API_KEY" + ], + "scenarioId": "onboarding.new-company", + "sourceFiles": [ + "chat-catalog-domains/identity-new-company.ts", + "chat-catalog-domains/identity-new-company-native.ts", + "chat-catalog-domains/identity-new-company-native-proof.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/onboarding.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-new-company.js", + "exportName": "newCompanyIdentityCases" + }, + { + "requiredCredentials": [ + "OPENAI_API_KEY" + ], + "scenarioId": "onboarding.new-instance", + "sourceFiles": [ + "chat-catalog-domains/identity-wizard-boundaries.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-onboarding.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-boundary-contract.ts", + "chat-catalog-domains/internal-support.ts", + "installed-release.ts", + "chat-scenarios/onboarding.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 0, + "expectedHumanMessageCount": 0, + "turnTimeoutMs": 180000, + "attemptTimeoutMs": 600000, + "journeyKind": "browser-boundary", + "boundaryTarget": "empty-installed-target", + "modulePath": "./chat-catalog-domains/identity-wizard-boundaries.js", + "exportName": "wizardIdentityBoundaryCases" + }, + { + "requiredCredentials": [ + "OPENAI_API_KEY" + ], + "scenarioId": "onboarding.resume-wizard", + "sourceFiles": [ + "chat-catalog-domains/identity-wizard-boundaries.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-onboarding.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-boundary-contract.ts", + "chat-catalog-domains/internal-support.ts", + "installed-release.ts", + "chat-scenarios/onboarding.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 0, + "expectedHumanMessageCount": 0, + "turnTimeoutMs": 180000, + "attemptTimeoutMs": 600000, + "journeyKind": "browser-boundary", + "boundaryTarget": "authenticated-harness", + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-wizard-boundaries.js", + "exportName": "wizardIdentityBoundaryCases" + }, + { + "scenarioId": "plugins.configure-plugin", + "sourceFiles": [ + "chat-catalog-domains/external-plugins.ts", + "chat-catalog-domains/external-plugin-tool-identity.ts", + "chat-catalog-domains/external-plugin-fixture.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "../../cli/node_modules/tsx/dist/loader.mjs", + "../../cli/src/index.ts", + "../../packages/plugins/create-paperclip-plugin/src/index.ts", + "../../packages/plugins/sdk/src/index.ts", + "../../packages/plugins/sdk/dist/index.js", + "chat-scenarios/plugins.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-plugins.js", + "exportName": "pluginExternalCases" + }, + { + "scenarioId": "plugins.disable-plugin", + "sourceFiles": [ + "chat-catalog-domains/external-plugins.ts", + "chat-catalog-domains/external-plugin-tool-identity.ts", + "chat-catalog-domains/external-plugin-fixture.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "../../cli/node_modules/tsx/dist/loader.mjs", + "../../cli/src/index.ts", + "../../packages/plugins/create-paperclip-plugin/src/index.ts", + "../../packages/plugins/sdk/src/index.ts", + "../../packages/plugins/sdk/dist/index.js", + "chat-scenarios/plugins.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-plugins.js", + "exportName": "pluginExternalCases" + }, + { + "scenarioId": "plugins.install-plugin", + "sourceFiles": [ + "chat-catalog-domains/external-plugin-install.ts", + "chat-catalog-domains/external-plugin-fixture.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "../../cli/node_modules/tsx/dist/loader.mjs", + "../../cli/src/index.ts", + "../../packages/plugins/create-paperclip-plugin/src/index.ts", + "../../packages/plugins/sdk/src/index.ts", + "../../packages/plugins/sdk/dist/index.js", + "chat-scenarios/plugins.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-plugin-install.js", + "exportName": "pluginInstallExternalCases" + }, + { + "scenarioId": "plugins.use-plugin-tool", + "sourceFiles": [ + "chat-catalog-domains/external-plugin-tool.ts", + "chat-catalog-domains/external-plugin-tool-identity.ts", + "chat-catalog-domains/external-plugin-fixture.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-flow.ts", + "../../cli/node_modules/tsx/dist/loader.mjs", + "../../cli/src/index.ts", + "../../packages/plugins/create-paperclip-plugin/src/index.ts", + "../../packages/plugins/sdk/src/index.ts", + "../../packages/plugins/sdk/dist/index.js", + "chat-scenarios/plugins.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 480000, + "modulePath": "./chat-catalog-domains/external-plugin-tool.js", + "exportName": "pluginToolExternalCases" + }, + { + "externalInput": { + "provider": "github", + "fields": [ + "siteRepositoryId", + "siteRepositoryFullName", + "tokenEnv" + ] + }, + "scenarioId": "projects.add-repository", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-projects.ts", + "chat-scenarios/projects.yaml", + "chat-catalog-domains/internal-repositories.ts", + "chat-catalog-domains/external-fixtures.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "queryBindings": [ + { + "catalogToken": "acorn/site", + "stateKey": "siteRepository", + "resourceKind": "project-repository", + "valueField": "fullName" + } + ], + "modulePath": "./chat-catalog-domains/internal-projects.js", + "exportName": "projectsCases" + }, + { + "scenarioId": "projects.archive-project", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-projects.ts", + "chat-scenarios/projects.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/internal-projects.js", + "exportName": "projectsCases" + }, + { + "scenarioId": "projects.create-project", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-projects.ts", + "chat-scenarios/projects.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "modulePath": "./chat-catalog-domains/internal-projects.js", + "exportName": "projectsCases" + }, + { + "scenarioId": "projects.private-project", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-projects.ts", + "chat-scenarios/projects.yaml", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-projects.js", + "exportName": "projectsCases" + }, + { + "scenarioId": "projects.project-defaults", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-projects.ts", + "chat-scenarios/projects.yaml", + "chat-catalog-domains/internal-project-defaults.ts", + "chat-catalog-domains/internal-native-run-brief.ts", + "../e2e/fetch-allowed-port.ts", + "run-observations.ts" + ], + "oracleVersion": "paperclip.chat-catalog.project-defaults.v4", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 660000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "future-worker-ready", + "existing-work-actively-owned" + ] + }, + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/internal-project-defaults.js", + "exportName": "projectDefaultsCases" + }, + { + "scenarioId": "projects.project-work", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-projects.ts", + "chat-scenarios/projects.yaml", + "chat-catalog-domains/internal-task-creation.ts", + "lost-send.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/internal-projects.js", + "exportName": "projectsCases" + }, + { + "externalInput": { + "provider": "github", + "fields": [ + "oldRepositoryId", + "oldRepositoryFullName", + "newRepositoryId", + "newRepositoryFullName", + "tokenEnv" + ] + }, + "scenarioId": "projects.replace-repository", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-projects.ts", + "chat-scenarios/projects.yaml", + "chat-catalog-domains/internal-repositories.ts", + "chat-catalog-domains/external-fixtures.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "queryBindings": [ + { + "catalogToken": "acorn/site-old", + "stateKey": "oldRepository", + "resourceKind": "project-repository", + "valueField": "fullName" + }, + { + "catalogToken": "acorn/site-new", + "stateKey": "newRepository", + "resourceKind": "project-repository", + "valueField": "fullName" + } + ], + "modulePath": "./chat-catalog-domains/internal-projects.js", + "exportName": "projectsCases" + }, + { + "scenarioId": "projects.share-project", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-projects.ts", + "chat-scenarios/projects.yaml", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-projects.js", + "exportName": "projectsCases" + }, + { + "scenarioId": "questions-and-approvals.accept-one-proposal", + "sourceFiles": [ + "chat-catalog-domains/identity-confirmation-workflows.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-confirmation-workflows.js", + "exportName": "confirmationWorkflowIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.ambiguous-yes", + "sourceFiles": [ + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-questions-and-approvals.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/identity-questions-and-approvals.js", + "exportName": "questionIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.approve-tool-once", + "sourceFiles": [ + "chat-catalog-domains/identity-tool-review.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "everyday-decisions.ts", + "../fixtures/connection-review-provider.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 4, + "expectedHumanMessageCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "modulePath": "./chat-catalog-domains/identity-tool-review.js", + "exportName": "toolReviewIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.decline-tool", + "sourceFiles": [ + "chat-catalog-domains/identity-tool-review.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "everyday-decisions.ts", + "../fixtures/connection-review-provider.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 3, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "minimumRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "modulePath": "./chat-catalog-domains/identity-tool-review.js", + "exportName": "toolReviewIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.defer-and-reopen", + "sourceFiles": [ + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-questions-and-approvals.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/identity-questions-and-approvals.js", + "exportName": "questionIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.duplicate-answer", + "sourceFiles": [ + "chat-catalog-domains/identity-confirmation-workflows.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.answer-delivery.v2", + "expectedRunCount": 4, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/identity-confirmation-workflows.js", + "exportName": "confirmationWorkflowIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.formal-hire-revision", + "sourceFiles": [ + "chat-catalog-domains/identity-hire-revision.ts", + "chat-catalog-domains/identity-hire-model-choice.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.hire-revision.native1017.v2", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-hire-revision.js", + "exportName": "hireRevisionIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.multi-part-question", + "sourceFiles": [ + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-questions-and-approvals.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.required-question.v2", + "expectedRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/identity-questions-and-approvals.js", + "exportName": "questionIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.necessary-question", + "sourceFiles": [ + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-questions-and-approvals.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 4, + "minimumRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "modulePath": "./chat-catalog-domains/identity-questions-and-approvals.js", + "exportName": "questionIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.reject-and-revise", + "sourceFiles": [ + "chat-catalog-domains/identity-plan-review.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 3, + "minimumRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/identity-plan-review.js", + "exportName": "planReviewIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.review-plan", + "sourceFiles": [ + "chat-catalog-domains/identity-plan-review.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 3, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/identity-plan-review.js", + "exportName": "planReviewIdentityCases" + }, + { + "scenarioId": "questions-and-approvals.wrong-reviewer", + "sourceFiles": [ + "chat-catalog-domains/identity-questions-and-approvals.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/questions-and-approvals.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.identity.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/identity-questions-and-approvals.js", + "exportName": "questionIdentityCases" + }, + { + "scenarioId": "recovery.browser-reconnect", + "sourceFiles": [ + "chat-catalog-domains/runtime-history.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-native-failure.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/recovery.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 7, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 4, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1200000, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "succeeded": 6, + "failed": 1 + } + }, + "modulePath": "./chat-catalog-domains/runtime-history.js", + "exportName": "runtimeHistoryCases" + }, + { + "scenarioId": "recovery.controller-restart", + "sourceFiles": [ + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/runtime-recovery.ts", + "chat-scenarios/recovery.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "modulePath": "./chat-catalog-domains/runtime-recovery.js", + "exportName": "runtimeRecoveryCases" + }, + { + "scenarioId": "recovery.explain-stall", + "sourceFiles": [ + "chat-catalog-domains/runtime-infrastructure.ts", + "chat-catalog-domains/runtime-native-fault.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "../../server/src/services/hot-restart.ts", + "../../server/src/vendor/paperclip-runner/index.ts", + "chat-scenarios/recovery.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1200000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-native-infrastructure-exhaustion", + "original-source-action-owner" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "failed": 1, + "succeeded": 1 + } + }, + "modulePath": "./chat-catalog-domains/runtime-infrastructure.js", + "exportName": "runtimeInfrastructureCases" + }, + { + "canonicalBoundary": "native-stop-cleanup", + "scenarioId": "recovery.post-stop-message", + "sourceFiles": [ + "chat-catalog-domains/runtime-post-stop.ts", + "chat-catalog-domains/runtime-provider-cleanup.ts", + "chat-catalog-domains/runtime-native-fault.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-rendered-artifact.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-native-stop-boundary.ts", + "../../server/src/services/native-runtime/native-session-executor.ts", + "../../server/src/services/explicit-native-continuation.ts", + "../../packages/paperclip-runner/src/live/runnerd-codex-transport.ts", + "../../packages/paperclip-runner/runner/crates/runner-core/src/codex_provider.rs", + "../../packages/paperclip-runner/runner/crates/runner-core/src/process_supervisor.rs", + "registered-artifact.ts", + "chat-scenarios/recovery.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "actual-source-native-owner" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "cancelled": 1, + "succeeded": 1 + } + }, + "modulePath": "./chat-catalog-domains/runtime-post-stop.js", + "exportName": "runtimePostStopCases" + }, + { + "scenarioId": "recovery.retry-exhausted", + "sourceFiles": [ + "chat-catalog-domains/runtime-infrastructure-retry.ts", + "chat-catalog-domains/runtime-infrastructure.ts", + "chat-catalog-domains/runtime-native-fault.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "../../server/src/services/hot-restart.ts", + "../../server/src/vendor/paperclip-runner/index.ts", + "chat-scenarios/recovery.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 5, + "expectedHumanMessageCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1800000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-native-infrastructure-exhaustion", + "original-source-action-owner" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "failed": 1, + "succeeded": 4 + } + }, + "modulePath": "./chat-catalog-domains/runtime-infrastructure-retry.js", + "exportName": "runtimeInfrastructureRetryCases" + }, + { + "scenarioId": "recovery.source-action", + "sourceFiles": [ + "chat-catalog-domains/runtime-infrastructure.ts", + "chat-catalog-domains/runtime-native-fault.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "../../server/src/services/hot-restart.ts", + "../../server/src/vendor/paperclip-runner/index.ts", + "chat-scenarios/recovery.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1200000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-native-infrastructure-exhaustion", + "original-source-action-owner" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "failed": 1, + "succeeded": 1 + } + }, + "modulePath": "./chat-catalog-domains/runtime-infrastructure.js", + "exportName": "runtimeInfrastructureCases" + }, + { + "externalInput": { + "provider": "agentmail", + "fields": [ + "inboxId", + "recipient", + "recipientAuthorization", + "apiTokenEnv" + ] + }, + "scenarioId": "recovery.unknown-email-outcome", + "sourceFiles": [ + "chat-catalog-domains/runtime-email.ts", + "chat-catalog-domains/runtime-email-fault.ts", + "chat-catalog-domains/runtime-email-private.ts", + "chat-catalog-domains/runtime-email-private-worker.ts", + "../../server/src/services/email-channels.ts", + "../../server/src/services/agentmail-api.ts", + "../../server/src/services/connectors/agentmail.ts", + "server-entry.ts", + "chat-scenarios/recovery.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 4, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "real-original-email-uncertain-with-no-public-provider-receipt" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-email.js", + "exportName": "runtimeEmailRecoveryCases" + }, + { + "requiredCredentials": [ + "DAYTONA_API_KEY" + ], + "externalInput": { + "provider": "daytona", + "fields": [ + "imageDigest", + "imageRef", + "region", + "disposableNamespace", + "qualifiedHarness" + ] + }, + "scenarioId": "recovery.workspace-repair", + "sourceFiles": [ + "chat-catalog-domains/runtime-workspace-repair.ts", + "chat-catalog-domains/runtime-daytona-target.ts", + "chat-catalog-domains/runtime-support.ts", + "registered-artifact.ts", + "../../server/src/services/workspace-recovery.ts", + "../../server/src/services/native-runtime/native-workspace-sync.ts", + "../../ui/src/components/WorkspaceExportRecovery.tsx", + "chat-scenarios/recovery.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1500000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "actual-board-owned-failed-export-newer-destination-held" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-workspace-repair.js", + "exportName": "runtimeWorkspaceRepairCases" + }, + { + "browserTimezone": "America/Chicago", + "scenarioId": "routines.create-daily-brief", + "sourceFiles": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-routines.ts", + "chat-scenarios/routines.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/integrator-routines.js", + "exportName": "integratorRoutinesCases" + }, + { + "scenarioId": "routines.manage-other-owner", + "sourceFiles": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-routines.ts", + "chat-scenarios/routines.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/integrator-routines.js", + "exportName": "integratorRoutinesCases" + }, + { + "scenarioId": "routines.pause-owned", + "sourceFiles": [ + "chat-catalog-domains/integrator-routine-pause.ts", + "chat-catalog-domains/internal-run-brief.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/routines.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "owned-routine-real-active-task" + ] + }, + "modulePath": "./chat-catalog-domains/integrator-routine-pause.js", + "exportName": "integratorRoutinePauseCases" + }, + { + "scenarioId": "routines.plugin-managed-routine", + "sourceFiles": [ + "chat-catalog-domains/integrator-plugin-routine.ts", + "chat-catalog-domains/external-plugin-fixture.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "../../cli/node_modules/tsx/dist/loader.mjs", + "../../cli/src/index.ts", + "../../packages/plugins/create-paperclip-plugin/src/index.ts", + "../../packages/plugins/sdk/src/index.ts", + "../../packages/plugins/sdk/dist/index.js", + "chat-scenarios/routines.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/integrator-plugin-routine.js", + "exportName": "integratorPluginRoutineCases" + }, + { + "scenarioId": "routines.read-history", + "sourceFiles": [ + "chat-catalog-domains/integrator-routine-history.ts", + "chat-catalog-domains/routine-history-work-failure.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/routines.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.routine-work-failure.v2", + "expectedRunCount": 3, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "succeeded": 3 + } + }, + "modulePath": "./chat-catalog-domains/integrator-routine-history.js", + "exportName": "integratorRoutineHistoryCases", + "authentication": "human-session" + }, + { + "scenarioId": "routines.run-now", + "sourceFiles": [ + "chat-catalog-domains/integrator-routine-invocation.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/routines.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "modulePath": "./chat-catalog-domains/integrator-routine-invocation.js", + "exportName": "integratorRoutineInvocationCases" + }, + { + "scenarioId": "routines.webhook-trigger", + "sourceFiles": [ + "chat-catalog-domains/integrator-routine-webhook.ts", + "chat-catalog-domains/integrator-webhook-private.ts", + "chat-catalog-domains/integrator-webhook-private-worker.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/routines.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "modulePath": "./chat-catalog-domains/integrator-routine-webhook.js", + "exportName": "integratorRoutineWebhookCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "selected-routine.md" + } + ] + }, + { + "scenarioId": "runs-adapters.inspect-failed-run", + "sourceFiles": [ + "chat-catalog-domains/runtime-failed-runs.ts", + "chat-catalog-domains/runtime-native-failure.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/runs-adapters.yaml", + "../../ui/src/components/TaskChatThread.tsx", + "../../ui/src/components/task-chat/TaskChatMarker.tsx", + "../../ui/src/components/task-chat/TaskChatThreadView.tsx", + "../../ui/src/pages/AgentDetail.tsx" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "failed": 1, + "succeeded": 2 + } + }, + "modulePath": "./chat-catalog-domains/runtime-failed-runs.js", + "exportName": "runtimeFailedRunCases" + }, + { + "scenarioId": "runs-adapters.list-model-options", + "sourceFiles": [ + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/runtime-runs-adapters.ts", + "chat-scenarios/runs-adapters.yaml", + "chat-catalog-domains/model-option-catalog.ts" + ], + "oracleVersion": "paperclip.chat-catalog.model-options.scoped-catalog.v3", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/runtime-runs-adapters.js", + "exportName": "runtimeRunsAdaptersCases" + }, + { + "scenarioId": "runs-adapters.reset-session", + "sourceFiles": [ + "chat-catalog-domains/runtime-session.ts", + "chat-catalog-domains/runtime-workspaces.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/runs-adapters.yaml", + "../../ui/src/components/AgentActionButtons.tsx", + "../../ui/src/pages/AgentDetail.tsx" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "modulePath": "./chat-catalog-domains/runtime-session.js", + "exportName": "runtimeSessionCases" + }, + { + "requiredCredentials": [ + "ANTHROPIC_API_KEY" + ], + "externalInput": { + "provider": "claude", + "fields": [ + "targetRef", + "harnessExecutable", + "model", + "accountBindingRef", + "legacySettingsRef" + ] + }, + "scenarioId": "runs-adapters.upgrade-runner", + "sourceFiles": [ + "chat-catalog-domains/runtime-claude-upgrade.ts", + "chat-catalog-domains/runtime-claude-private.ts", + "chat-catalog-domains/runtime-claude-private-worker.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-support.ts", + "../../server/src/services/agent-runner-selection.ts", + "../../ui/src/components/AgentConfigForm.tsx", + "chat-scenarios/runs-adapters.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-claude-upgrade.js", + "exportName": "runtimeClaudeUpgradeCases" + }, + { + "requiredCredentials": [ + "ANTHROPIC_API_KEY" + ], + "externalInput": { + "provider": "claude", + "fields": [ + "targetRef", + "harnessExecutable", + "model", + "accountBindingRef" + ] + }, + "scenarioId": "runs-adapters.validate-hire", + "sourceFiles": [ + "chat-catalog-domains/runtime-claude-validation.ts", + "chat-catalog-domains/runtime-claude-private.ts", + "chat-catalog-domains/runtime-claude-private-worker.ts", + "chat-catalog-domains/runtime-private.ts", + "chat-catalog-domains/runtime-support.ts", + "run-observations.ts", + "../../server/src/routes/agents.ts", + "../../server/src/services/ai-connection-runtime.ts", + "chat-scenarios/runs-adapters.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "saved-eligible-account-with-genuine-auth-failure" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-claude-validation.js", + "exportName": "runtimeClaudeValidationCases" + }, + { + "scenarioId": "secrets.ask-for-plaintext", + "sourceFiles": [ + "chat-catalog-domains/external-secrets.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "run-observations.ts", + "chat-scenarios/secrets.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-secrets.js", + "exportName": "secretExternalCases" + }, + { + "scenarioId": "secrets.configure-company-secret", + "sourceFiles": [ + "chat-catalog-domains/external-company-secret.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "chat-catalog-domains/external-credential-language.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "run-observations.ts", + "chat-flow.ts", + "chat-scenarios/secrets.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.company-secret-controller-baseline.v2", + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 480000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-company-secret.js", + "exportName": "companySecretExternalCases" + }, + { + "scenarioId": "secrets.least-scope-delivery", + "sourceFiles": [ + "chat-catalog-domains/external-secret-delivery.ts", + "chat-catalog-domains/external-secret-endpoint.ts", + "chat-catalog-domains/external-instance-custody.ts", + "chat-catalog-domains/external-plugin-fixture.ts", + "chat-catalog-domains/external-credential-language.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "run-observations.ts", + "../e2e/fetch-allowed-port.ts", + "../../server/src/home-paths.ts", + "../../server/src/routes/secrets.ts", + "../../server/src/services/secrets.ts", + "../../server/src/agent-auth-jwt.ts", + "../../server/src/services/agent-instance-secrets.ts", + "../../server/src/services/agent-lifecycle-driver.ts", + "../../server/src/services/heartbeat/run-preparation.ts", + "../../cli/src/index.ts", + "../../cli/node_modules/tsx/dist/loader.mjs", + "chat-catalog-domains/external-plugin-sdk-mirror.ts", + "../../packages/plugins/sdk/package.json", + "../../packages/plugins/create-paperclip-plugin/src/index.ts", + "../../packages/plugins/sdk/src/index.ts", + "../../packages/plugins/sdk/dist/index.js", + "chat-scenarios/secrets.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 1, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 660000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-secret-delivery.js", + "exportName": "secretDeliveryExternalCases" + }, + { + "scenarioId": "secrets.personal-secret", + "sourceFiles": [ + "chat-catalog-domains/external-personal-secret.ts", + "chat-catalog-domains/external-secret-endpoint.ts", + "chat-catalog-domains/external-private-browser.ts", + "chat-catalog-domains/external-private-browser-worker.ts", + "chat-catalog-domains/external-credential-language.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-private-browser.ts", + "chat-catalog-domains/identity-private-browser-worker.ts", + "chat-catalog-domains/identity-wizard.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "run-observations.ts", + "chat-flow.ts", + "../../server/src/home-paths.ts", + "../e2e/fetch-allowed-port.ts", + "../../server/src/routes/secrets.ts", + "../../server/src/services/secrets.ts", + "../../server/src/services/heartbeat/run-preparation.ts", + "../../ui/src/pages/secrets/SetMyUserSecretDialog.tsx", + "chat-scenarios/secrets.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 660000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-personal-secret.js", + "exportName": "personalSecretExternalCases", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "current-owner-missing-required-personal-value" + ] + } + }, + { + "scenarioId": "secrets.secret-proposal", + "sourceFiles": [ + "chat-catalog-domains/external-secret-proposal.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/external-credential-language.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-flow.ts", + "run-observations.ts", + "../../server/src/routes/secrets.ts", + "../../server/src/services/secret-proposals.ts", + "../../server/src/services/secret-proposal-notifications.ts", + "chat-scenarios/secrets.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 4, + "expectedHumanMessageCount": 4, + "minimumRunCount": 4, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 840000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-secret-proposal.js", + "exportName": "secretProposalExternalCases" + }, + { + "externalInput": { + "provider": "vault", + "fields": [ + "provider", + "region", + "deploymentId", + "kmsKeyId", + "secretReference", + "accessKeyIdEnv", + "secretAccessKeyEnv", + "sessionTokenEnv", + "expectedValueEnv" + ] + }, + "scenarioId": "secrets.vault-reference", + "sourceFiles": [ + "chat-catalog-domains/external-vault-reference.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/external-secret-endpoint.ts", + "chat-catalog-domains/external-secret-scan.ts", + "chat-catalog-domains/external-credential-language.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-vault-private-server.ts", + "harness-env.ts", + "server.ts", + "chat-private-inputs.ts", + "run-observations.ts", + "../../server/src/routes/secrets.ts", + "../../server/src/services/secrets.ts", + "../../server/src/secrets/aws-secrets-manager-provider.ts", + "../../server/src/services/native-runtime/native-session-executor.ts", + "../../ui/src/pages/Secrets.tsx", + "../../ui/src/pages/secrets/ImportFromVaultDialog.tsx", + "chat-scenarios/secrets.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-vault-reference.js", + "exportName": "vaultReferenceExternalCases" + }, + { + "scenarioId": "skills.author-skill", + "sourceFiles": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml", + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.skill-authoring.v2", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/integrator-skills.js", + "exportName": "integratorSkillsCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "skill-context.md" + } + ] + }, + { + "scenarioId": "skills.enable-for-agent", + "sourceFiles": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-enable.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/skills.yaml", + "../../server/src/routes/agents.ts", + "../../server/src/routes/company-skill-policy.ts", + "../../server/src/services/company-skills.ts", + "../../packages/shared/src/validators/skill-policy.ts" + ], + "oracleVersion": "paperclip.chat-catalog.skill-enable.standard-config.v2", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "modulePath": "./chat-catalog-domains/integrator-skill-enable.js", + "exportName": "integratorSkillEnableCases" + }, + { + "scenarioId": "skills.explicit-restriction", + "sourceFiles": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-scenarios/skills.yaml", + "chat-catalog-domains/integrator-skill-versions.ts" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/integrator-skills.js", + "exportName": "integratorSkillsCases" + }, + { + "scenarioId": "skills.find-and-install", + "sourceFiles": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/integrator-skill-imports.js", + "exportName": "integratorSkillImportCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "skill-context.md" + } + ] + }, + { + "scenarioId": "skills.fork-read-only", + "sourceFiles": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-imports.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-skills.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 1, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/integrator-skill-imports.js", + "exportName": "integratorSkillImportCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "skill-context.md" + } + ] + }, + { + "scenarioId": "skills.review-update", + "sourceFiles": [ + "chat-catalog-domains/integrator-skill-versions.ts", + "chat-catalog-domains/integrator-skill-update.ts", + "chat-catalog-domains/integrator-skill-source.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/skills.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "modulePath": "./chat-catalog-domains/integrator-skill-update.js", + "exportName": "integratorSkillUpdateCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "skill-context.md" + } + ] + }, + { + "scenarioId": "skills.studio-test", + "sourceFiles": [ + "chat-catalog-domains/integrator-skill-studio.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-scenarios/skills.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "modulePath": "./chat-catalog-domains/integrator-skill-studio.js", + "exportName": "integratorSkillStudioCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "skill-context.md" + } + ] + }, + { + "scenarioId": "status-cards.archive-card", + "sourceFiles": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-status-cards.ts", + "chat-scenarios/status-cards.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "modulePath": "./chat-catalog-domains/integrator-status-cards.js", + "exportName": "integratorStatusCardsCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "selected-status-card.md" + } + ] + }, + { + "scenarioId": "status-cards.create-card", + "sourceFiles": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-status-cards.ts", + "chat-scenarios/status-cards.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "modulePath": "./chat-catalog-domains/integrator-status-cards.js", + "exportName": "integratorStatusCardsCases" + }, + { + "scenarioId": "status-cards.explain-card", + "sourceFiles": [ + "chat-catalog-domains/integrator-status-cards.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/status-cards.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "modulePath": "./chat-catalog-domains/integrator-status-cards.js", + "exportName": "integratorStatusCardsCases", + "authentication": "human-session", + "queryAttachments": [ + { + "stateKey": "factualContextAttachment", + "filename": "selected-status-card.md" + } + ] + }, + { + "scenarioId": "status-cards.other-authors-card", + "sourceFiles": [ + "chat-catalog-domains/integrator-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-status-cards.ts", + "chat-scenarios/status-cards.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.integrator.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "modulePath": "./chat-catalog-domains/integrator-status-cards.js", + "exportName": "integratorStatusCardsCases" + }, + { + "scenarioId": "status-cards.refresh-card", + "sourceFiles": [ + "chat-catalog-domains/integrator-status-cards.ts", + "chat-catalog-domains/status-card-work-failure.ts", + "chat-catalog-domains/external-provider.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/integrator-support.ts", + "chat-scenarios/status-cards.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.status-card.required-work-failure.v2", + "expectedRunCount": 7, + "expectedHumanMessageCount": 4, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1200000, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "succeeded": 7 + } + }, + "modulePath": "./chat-catalog-domains/integrator-status-cards.js", + "exportName": "integratorStatusCardsCases" + }, + { + "scenarioId": "steering.approval-delivery", + "sourceFiles": [ + "chat-catalog-domains/runtime-approval-queue.ts", + "chat-catalog-domains/runtime-queue.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/steering.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-busy-worker", + "worker-task-scope" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-approval-queue.js", + "exportName": "runtimeApprovalQueueCases" + }, + { + "scenarioId": "steering.discard-queued-message", + "sourceFiles": [ + "chat-catalog-domains/runtime-discard.ts", + "chat-catalog-domains/runtime-queue-controls.ts", + "chat-catalog-domains/runtime-queue.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/steering.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 5, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1020000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-busy-worker", + "worker-task-scope" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-discard.js", + "exportName": "runtimeDiscardCases" + }, + { + "scenarioId": "steering.edit-queued-message", + "sourceFiles": [ + "chat-catalog-domains/runtime-queue-controls.ts", + "chat-catalog-domains/runtime-queue.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/steering.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-busy-worker", + "worker-task-scope" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-queue-controls.js", + "exportName": "runtimeQueueControlCases" + }, + { + "scenarioId": "steering.interrupt-with-direction", + "sourceFiles": [ + "chat-catalog-domains/runtime-interruption.ts", + "chat-catalog-domains/runtime-rendered-artifact.ts", + "chat-catalog-domains/runtime-queue.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "registered-artifact.ts", + "chat-scenarios/steering.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-busy-worker", + "worker-task-scope" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "cancelled": 1, + "succeeded": 2 + } + }, + "modulePath": "./chat-catalog-domains/runtime-interruption.js", + "exportName": "runtimeInterruptionCases" + }, + { + "scenarioId": "steering.preserve-draft", + "sourceFiles": [ + "chat-catalog-domains/runtime-steering.ts", + "chat-catalog-domains/runtime-support.ts", + "lost-send.ts", + "chat-scenarios/steering.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "authentication": "human-session", + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "queryAttachments": [ + { + "stateKey": "briefAttachment", + "filename": "website-brief.md" + } + ], + "modulePath": "./chat-catalog-domains/runtime-steering.js", + "exportName": "runtimeSteeringCases" + }, + { + "scenarioId": "steering.queue-follow-up", + "sourceFiles": [ + "chat-catalog-domains/runtime-queue.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/steering.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-busy-worker", + "worker-task-scope" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-queue.js", + "exportName": "runtimeQueueCases" + }, + { + "scenarioId": "steering.steer-active", + "sourceFiles": [ + "chat-catalog-domains/runtime-active-steering.ts", + "chat-catalog-domains/runtime-rendered-artifact.ts", + "chat-catalog-domains/runtime-queue.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "registered-artifact.ts", + "chat-scenarios/steering.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "real-busy-worker", + "worker-task-scope" + ] + }, + "modulePath": "./chat-catalog-domains/runtime-active-steering.js", + "exportName": "runtimeActiveSteeringCases" + }, + { + "scenarioId": "steering.stop-versus-pause", + "sourceFiles": [ + "chat-catalog-domains/runtime-tree.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/steering.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "funding": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "two-real-native-workers", + "independent-child-pause-budget", + "active-branches-funded" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "succeeded": 1, + "cancelled": 2 + } + }, + "modulePath": "./chat-catalog-domains/runtime-tree.js", + "exportName": "runtimeTreeCases" + }, + { + "scenarioId": "task-coordination.block-on-design", + "sourceFiles": [ + "chat-catalog-domains/runtime-dependency.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/task-coordination.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "modulePath": "./chat-catalog-domains/runtime-dependency.js", + "exportName": "runtimeDependencyCases" + }, + { + "scenarioId": "task-coordination.delegate-with-context", + "sourceFiles": [ + "chat-catalog-domains/runtime-delegation.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "completion-update-flow.ts", + "completion-updates.ts", + "registered-artifact.ts", + "chat-scenarios/task-coordination.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 4, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-delegation.js", + "exportName": "runtimeDelegationCases" + }, + { + "scenarioId": "task-coordination.independent-review", + "sourceFiles": [ + "chat-catalog-domains/runtime-independent-review.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/identity-support.ts", + "registered-artifact.ts", + "chat-scenarios/task-coordination.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 5, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1020000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/runtime-independent-review.js", + "exportName": "runtimeIndependentReviewCases" + }, + { + "scenarioId": "task-coordination.pause-tree", + "sourceFiles": [ + "chat-catalog-domains/runtime-tree.ts", + "chat-catalog-domains/runtime-busy-worker.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-scenarios/task-coordination.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "funding": "preserve-scenario", + "invariantCheckIds": [ + "lead-ready", + "two-real-native-workers", + "independent-child-pause-budget", + "active-branches-funded" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "succeeded": 1, + "cancelled": 2 + } + }, + "modulePath": "./chat-catalog-domains/runtime-tree.js", + "exportName": "runtimeTreeCases" + }, + { + "scenarioId": "task-coordination.reject-dependency-cycle", + "sourceFiles": [ + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/runtime-task-coordination.ts", + "chat-scenarios/task-coordination.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/runtime-task-coordination.js", + "exportName": "runtimeTaskCoordinationCases" + }, + { + "scenarioId": "tasks.ambiguous-task", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-distinct-fixtures.ts", + "chat-linked-question.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 420000, + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "tasks.assignment-conflict", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-task-ownership.ts", + "chat-catalog-domains/internal-run-brief.ts", + "chat-catalog-domains/identity-support.ts", + "../e2e/fetch-allowed-port.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/internal-task-ownership.js", + "exportName": "taskOwnershipCases" + }, + { + "scenarioId": "tasks.attachment-brief", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-task-attachment.ts", + "chat-catalog-domains/identity-support.ts", + "chat-query-attachments.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "queryAttachments": [ + { + "stateKey": "briefAttachment", + "filename": "website-brief.md" + } + ], + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "tasks.comment-with-reference", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-comment-reference.ts", + "../../ui/src/lib/issue-reference.ts", + "../../ui/src/components/MarkdownBody.tsx" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "tasks.completion-with-gate", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-task-completion.ts", + "chat-catalog-domains/identity-auth.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 2, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "tasks.edit-properties", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-edit-ownership.ts", + "chat-catalog-domains/internal-run-brief.ts", + "../e2e/fetch-allowed-port.ts", + "run-observations.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 4, + "expectedHumanMessageCount": 2, + "minimumRunCount": 3, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1, + "expectedWorkerCancellation": "owned-task-reassignment" + }, + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "tasks.organize-open-work", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-task-inventory.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "inventory-owners-paused", + "lead-ready" + ] + }, + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "tasks.private-task", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-private-delegation.ts", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "tasks.share-private-task", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-privacy.ts", + "chat-catalog-domains/identity-auth.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "tasks.website-task", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-task-creation.ts", + "lost-send.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "tasks.website-without-project", + "sourceFiles": [ + "chat-catalog-domains/internal-definition.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/internal-tasks.ts", + "chat-scenarios/tasks.yaml", + "chat-catalog-domains/internal-task-creation.ts", + "lost-send.ts" + ], + "oracleVersion": "paperclip.chat-catalog.internal.v1", + "coverageGaps": [], + "expectedRunCount": 3, + "minimumRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "runPolicy": { + "kind": "source-settled-with-active-work", + "maximumActiveWorkerRuns": 1 + }, + "modulePath": "./chat-catalog-domains/internal-tasks.js", + "exportName": "tasksCases" + }, + { + "scenarioId": "teams.configure-team", + "sourceFiles": [ + "chat-catalog-domains/external-team-configure.ts", + "chat-catalog-domains/external-team-install.ts", + "codex-subscription-fixture.ts", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-flow.ts", + "chat-scenarios/teams.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 600000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "missing-account-fixture", + "working-account-fixture" + ] + }, + "modulePath": "./chat-catalog-domains/external-team-configure.js", + "exportName": "teamConfigureExternalCases" + }, + { + "scenarioId": "teams.find-team", + "sourceFiles": [ + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/external-teams.ts", + "chat-scenarios/teams.yaml", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-teams.js", + "exportName": "teamExternalCases" + }, + { + "scenarioId": "teams.install-team", + "sourceFiles": [ + "chat-catalog-domains/external-team-install.ts", + "chat-catalog-domains/external-team-conditional.ts", + "../../server/src/services/teams-catalog.ts", + "../../server/src/services/company-skills.ts", + "../../server/src/services/company-portability.ts", + "../../packages/teams-catalog/generated/catalog.json", + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/identity-support.ts", + "chat-flow.ts", + "chat-scenarios/teams.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 2, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 480000, + "authentication": "human-session", + "modulePath": "./chat-catalog-domains/external-team-install.js", + "exportName": "teamInstallExternalCases" + }, + { + "scenarioId": "teams.preview-install", + "sourceFiles": [ + "chat-catalog-domains/external-support.ts", + "chat-catalog-domains/internal-support.ts", + "chat-catalog-domains/external-teams.ts", + "chat-scenarios/teams.yaml", + "chat-catalog-domains/identity-support.ts" + ], + "oracleVersion": "paperclip.chat-catalog.external.v1", + "expectedRunCount": 1, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 300000, + "modulePath": "./chat-catalog-domains/external-teams.js", + "exportName": "teamExternalCases" + }, + { + "scenarioId": "workspaces.close-and-reopen", + "sourceFiles": [ + "chat-catalog-domains/runtime-workspace-closure.ts", + "chat-catalog-domains/runtime-workspaces.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/workspaces.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 4, + "setupHumanMessageCount": 1, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 900000, + "modulePath": "./chat-catalog-domains/runtime-workspace-closure.js", + "exportName": "runtimeWorkspaceClosureCases" + }, + { + "scenarioId": "workspaces.inspect-git", + "sourceFiles": [ + "chat-catalog-domains/runtime-git.ts", + "chat-catalog-domains/runtime-workspaces.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/workspaces.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "modulePath": "./chat-catalog-domains/runtime-git.js", + "exportName": "runtimeGitCases" + }, + { + "scenarioId": "workspaces.locate-files", + "sourceFiles": [ + "chat-catalog-domains/runtime-workspaces.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/workspaces.yaml", + "../../ui/src/components/IsolatedWorkspacesRouteGate.tsx", + "../../ui/src/pages/ExecutionWorkspaceDetail.tsx" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 540000, + "modulePath": "./chat-catalog-domains/runtime-workspaces.js", + "exportName": "runtimeWorkspacesCases" + }, + { + "externalInput": { + "provider": "github", + "fields": [ + "siteRepositoryId", + "siteRepositoryFullName", + "tokenEnv" + ] + }, + "scenarioId": "workspaces.prepare-repository", + "sourceFiles": [ + "chat-catalog-domains/runtime-workspace-repositories.ts", + "chat-catalog-domains/runtime-workspace-repositories-support.ts", + "chat-catalog-domains/runtime-workspace-repositories-auth.ts", + "chat-catalog-domains/runtime-workspace-repositories-auth-worker.ts", + "chat-catalog-domains/runtime-workspaces.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/internal-repositories.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/workspaces.yaml", + "../../server/src/services/execution-workspace-repositories.ts", + "../../server/src/services/git-credentials.ts", + "../../server/src/services/github-operation-credentials.ts", + "../../packages/adapter-utils/src/github-launcher.ts", + "../../server/src/routes/secrets.ts", + "../../ui/src/features/connections/ConnectionIntentInteractionBody.tsx", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "../../server/src/routes/tool-access.ts" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 8, + "expectedHumanMessageCount": 2, + "minimumRunCount": 5, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1200000, + "authentication": "human-session", + "queryBindings": [ + { + "catalogToken": "acorn/site", + "stateKey": "siteRepository", + "resourceKind": "project-repository", + "valueField": "fullName" + } + ], + "modulePath": "./chat-catalog-domains/runtime-workspace-repositories.js", + "exportName": "runtimeWorkspaceRepositoryCases" + }, + { + "scenarioId": "workspaces.preview-service", + "sourceFiles": [ + "chat-catalog-domains/runtime-preview.ts", + "chat-catalog-domains/runtime-workspaces.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-scenarios/workspaces.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 3, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 720000, + "modulePath": "./chat-catalog-domains/runtime-preview.js", + "exportName": "runtimePreviewCases" + }, + { + "externalInput": { + "provider": "github", + "fields": [ + "siteRepositoryId", + "siteRepositoryFullName", + "tokenEnv", + "humanAuthEnv" + ] + }, + "scenarioId": "workspaces.private-repository-no-access", + "sourceFiles": [ + "chat-catalog-domains/runtime-workspace-repositories.ts", + "chat-catalog-domains/runtime-workspace-repositories-support.ts", + "chat-catalog-domains/runtime-workspace-repositories-auth.ts", + "chat-catalog-domains/runtime-workspace-repositories-auth-worker.ts", + "chat-catalog-domains/runtime-workspaces.ts", + "chat-catalog-domains/runtime-support.ts", + "chat-catalog-domains/internal-repositories.ts", + "chat-catalog-domains/external-fixtures.ts", + "chat-catalog-domains/internal-support.ts", + "chat-scenarios/workspaces.yaml", + "../../server/src/services/execution-workspace-repositories.ts", + "../../server/src/services/git-credentials.ts", + "../../server/src/services/github-operation-credentials.ts", + "../../packages/adapter-utils/src/github-launcher.ts", + "../../server/src/routes/secrets.ts", + "../../ui/src/features/connections/ConnectionIntentInteractionBody.tsx", + "../../ui/src/features/connections/ConnectionSetupFlow.tsx", + "../../server/src/routes/tool-access.ts" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 10, + "expectedHumanMessageCount": 3, + "minimumRunCount": 7, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1500000, + "authentication": "human-session", + "queryBindings": [ + { + "catalogToken": "acorn/site", + "stateKey": "siteRepository", + "resourceKind": "project-repository", + "valueField": "fullName" + } + ], + "modulePath": "./chat-catalog-domains/runtime-workspace-repositories.js", + "exportName": "runtimeWorkspaceRepositoryCases" + }, + { + "requiredCredentials": [ + "DAYTONA_API_KEY" + ], + "externalInput": { + "provider": "daytona", + "fields": [ + "imageDigest", + "imageRef", + "region", + "disposableNamespace", + "qualifiedHarness" + ] + }, + "scenarioId": "workspaces.recover-lost-sandbox", + "sourceFiles": [ + "chat-catalog-domains/runtime-lost-sandbox.ts", + "chat-catalog-domains/runtime-workspace-repair.ts", + "chat-catalog-domains/runtime-daytona-target.ts", + "chat-catalog-domains/runtime-daytona-destroy.ts", + "chat-catalog-domains/runtime-daytona-destroy-worker.ts", + "remote-native-bootstrap.ts", + "registered-artifact.ts", + "../../server/src/services/native-runtime/native-workspace-reconstruction.ts", + "../../server/src/services/workspace-recovery.ts", + "../../ui/src/components/WorkspaceReconstructionRecovery.tsx", + "chat-scenarios/workspaces.yaml" + ], + "oracleVersion": "paperclip.chat-catalog.runtime.v2", + "coverageGaps": [], + "expectedRunCount": 4, + "expectedHumanMessageCount": 2, + "turnTimeoutMs": 120000, + "attemptTimeoutMs": 1800000, + "authentication": "human-session", + "setupPolicy": { + "readiness": "preserve-scenario", + "invariantCheckIds": [ + "real-failed-destroyed-sandbox-and-attributed-surviving-attachment" + ] + }, + "runPolicy": { + "kind": "terminal-counts", + "terminalStatusCounts": { + "failed": 1, + "succeeded": 3 + } + }, + "modulePath": "./chat-catalog-domains/runtime-lost-sandbox.js", + "exportName": "runtimeLostSandboxCases" + } +]