test(fs-search): re-record the glob-sampling snapshot against the real API
The scenario previously carried an authored fixture; W4 of #1119 review requires a live transcript. Recording surfaced two composition bugs that are fixed here alongside it: - provider ids: the app and the replay catalog both named the old 'deepseek' provider, which no adapter registers; both now use 'deepseek-official' - the live config lacked persistenceCompression: none, so record-mode sessions were written zstd-compressed and could not be harvested (the snapshot twin already forced plaintext) Recorded logs also need deterministic replay: - packChunks: false in both configs — the eager-drain batch boundaries that split packed delta runs are timing-dependent, so a packed log of a long reasoning stream cannot replay-match its live record - the fixture's request/header config and request/context are normalized to the replay-produced minimal shape (the live adapter logs model capabilities llm-replay has no data for), and tool-result path separators are canonicalized to '/' for the Linux golden posixOnly is restored now that the fixture is recorded.
This commit is contained in:
@@ -181,16 +181,23 @@ const SCENARIOS: Scenario[] = [
|
||||
// `--sort=modified` order, pinning over-cap glob sampling without depending
|
||||
// on a host-installed ripgrep binary or a PATH stand-in. POSIX-only because
|
||||
// the displayed paths carry `/` separators the session-log comparison
|
||||
// cannot normalize.
|
||||
// cannot normalize. Recorded (not authored): the assistant turn is a real
|
||||
// model transcript; re-record with `test:snapshot:record -t fs-glob-sampling`.
|
||||
// The composition disables packed chunk rows (fs-search.cordis.yml), whose
|
||||
// run boundaries depend on eager-drain timing, and the recorded fixture's
|
||||
// `request/header` config and `request/context` are normalized to the
|
||||
// replay-produced minimal shape (the live adapter logs model capabilities
|
||||
// like maxTokens/reasoningEffort that llm-replay has no data for), and its
|
||||
// tool-result paths are canonicalized to `/` separators.
|
||||
{
|
||||
name: 'fs-glob-sampling',
|
||||
hasModelTurn: true,
|
||||
recorded: false,
|
||||
recorded: true,
|
||||
posixOnly: true,
|
||||
pinsHeader: true,
|
||||
headerClass: 'fs-search',
|
||||
configPath: FS_SEARCH_CONFIG,
|
||||
prepareWorkspace: prepareFsSearchWorkspace,
|
||||
posixOnly: true,
|
||||
},
|
||||
{ name: 'fs-read', hasModelTurn: true, recorded: true },
|
||||
{ name: 'fs-write', hasModelTurn: true, recorded: true },
|
||||
|
||||
Reference in New Issue
Block a user