test(beehive): observe native session profile rather than turn duplication

Signed-off-by: Logan Johnson <loganj@squareup.com>
This commit is contained in:
Logan Johnson
2026-09-10 05:51:07 -04:00
parent 8426b2ba16
commit 419370d38c
2 changed files with 18 additions and 1 deletions

View File

@@ -2159,3 +2159,16 @@ observation-old-instrumented.log, observation-fix-goose.log, final-protocol2-dri
strict-delivery.log. Original failures preserved. Full final gate pending here.
Installed Buzz transport/CLI plus TypeScript provider fixture only: no real vendor,
OAuth login/refresh, inference, or production current-kind40002 claim.
Final default installed-enabled run at 8426b2ba1604f9d854900198b04bca2a0e91b932:
121/122, natural 314.383s, zero skipped/cancelled. All 13 normal wizard journeys
and both installed Move cases passed. Sole failure: installed-conversation's old
Buzz assertion required profile text duplicated in each turn prompt, contradicting
the corrected native session/new input boundary. That assertion now checks exact
native-session-inputs.jsonl systemPrompt values (nonempty evidence), retaining the
signed-reply and lifecycle assertions. Direct strict and focused installed-conversation
2/2 passed after this test-only correction. No second full run: **final full gate
is not green**, and the post-full test correction has focused validation only.
Original full log is retained as MODEL_PROVIDER_CORRECTION/full-default-final.log;
post-full logs strict-post-full.log and installed-conversation-corrected.log.
Historical admission timing failures remain unresolved, not reclassified by this run.

View File

@@ -96,7 +96,11 @@ for (const goose of [false, true]) test(`installed buzz-acp completes multi-conv
assert.ok(subscriptions > 0, 'installed executable must enter subscription loop');
const evidence = await session.verify();
assert.match(readFileSync(join(dir, 'received-system-instructions'), 'utf8'), /BEHAVIOR-PROFILE-BOUNDARY: explain assumptions before acting\./);
if (!goose) assert.match(readFileSync(join(dir, 'received-prompts.jsonl'), 'utf8'), /BEHAVIOR-PROFILE-BOUNDARY/);
if (!goose) {
const inputs = readFileSync(join(dir, 'native-session-inputs.jsonl'), 'utf8').trim().split('\n').map(line => JSON.parse(line));
assert.ok(inputs.length > 0);
for (const input of inputs) assert.equal(input.systemPrompt, 'BEHAVIOR-PROFILE-BOUNDARY: explain assumptions before acting.');
}
if (goose) assert.match(evidence.session, /^goose-[0-9]+-1$/); else assert.equal(evidence.session, 'conversation-session');
assert.equal(evidence.agentPublicKey, agent);
assert.equal(evidence.model, goose ? 'goose-model-a' : 'databricks-claude-haiku-4-5');