test(e2e): cross journal boundary with a large browser-submitted brief

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-09-27 15:19:21 -05:00
1 parent 7f79c102f5
commit bf6b0094d2
3 files changed
+10 -6

No files matched your search

+2 -2
View File
@@ -61,8 +61,8 @@ the server and embedded database, creates the company/agent/task through the
real APIs, drives Chromium, and invokes the selected local or Daytona runner.
The explicit-only `daytona-journal-continuity` Product E2E cell exercises
continuation after ordinary tool output grows the durable control-plane journal
past two MiB. Its size oracle is read-only and retains only byte counts; see the
continuation after a browser-submitted large task brief and ordinary tool output
grow the durable control-plane journal past two MiB. Its size oracle is read-only and retains only byte counts; see the
[Product E2E fixture](../tests/runner-e2e/README.md).
The explicit-only `agent-chat-hardening` Product E2E suite covers native chat
+2 -2
View File
@@ -136,8 +136,8 @@ sandbox rather than waiting for Daytona's idle timeout.
`daytona-journal-continuity` is one explicit-only native Codex cell. Select
`daytona-journal-continuity.runner-codex.daytona.large-journal-three-turn`.
It reuses the three-turn warm workflow after streaming four MiB of synthetic
command output through the real provider. Before the first browser follow-up,
It reuses the three-turn warm workflow with a browser-submitted 750 KiB
synthetic brief and four MiB of bounded command output through the real provider. Before the first browser follow-up,
a read-only controller journal oracle requires the exact completed run's journal
to exceed two MiB. Only byte counts enter evidence. No runner state or database
is injected or modified. The usual workspace, sandbox, provider, process,
+6 -2
View File
@@ -883,6 +883,10 @@ export const daytonaLargeJournalTask: RunnerTaskFixture = {
"First exercise ordinary command-output streaming with this bounded diagnostic. Execute this Python command exactly once, allowing it to print all 64 chunks. Do not redirect, suppress, pipe, or summarize its stdout; the transport must receive the output. The repeated text is synthetic fixture data and needs no analysis. Wait for the command to exit successfully before continuing.",
`python3 -c 'import sys,time; [(sys.stdout.write("journal-continuity-" + "x" * 65500 + "\\n"), sys.stdout.flush(), time.sleep(0.05)) for _ in range(64)]'`,
warmTurnInstructions(1, nonce),
"The following synthetic reference sample is task data for the persistence diagnostic. Do not analyze, reproduce, or edit it; follow the instructions above.",
"BEGIN SYNTHETIC REFERENCE SAMPLE",
"x".repeat(750 * 1024),
"END SYNTHETIC REFERENCE SAMPLE",
].join("\n"),
};
@@ -1069,13 +1073,13 @@ export const runnerSuites: readonly RunnerSuiteFixture[] = [
id: "daytona-journal-continuity",
label: "Daytona Large Journal Continuity",
manualOnly: true,
description: "Continue the same native session after real tool output grows its durable journal beyond 2 MiB.",
description: "Continue the same native session after a browser-submitted large brief and real tool output grow its durable journal beyond 2 MiB.",
groups: ["daytona", "warm"],
profiles: codexContinuityProfiles.filter((profile) => profile.id === "runner-codex"),
environments: [daytonaWarmEnvironment],
tasks: [daytonaLargeJournalTask],
expectedMatrixSize: 1,
definitionMetadata: { version: 1, journalMinimumBytes: 2 * 1024 * 1024, outputChunks: 64, scheduling: "explicit-only" },
definitionMetadata: { version: 2, journalMinimumBytes: 2 * 1024 * 1024, briefBytes: 750 * 1024, outputChunks: 64, scheduling: "explicit-only" },
},
] as const;