mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-08-01 12:25:31 +00:00
Bridged via a tagged envelope record across the four parse paths (jsonl / chatsession / jetbrains / otel): readRecords shapes one envelope per source kind and a single decodeCopilot dispatches on envelope.kind. The sqlite driver, the three OTel queries, blob reads, git-root probing, extractBashCommands / extractOtelBashCommands, and the sanctioned shutdown-site calculateCost residual all stay host-side. The residual keeps its exact argument order (model, input, 0, cacheWrite, cacheRead, 0), emits costUSD + costIsEstimated: false with no costBasis key, and carries its explanatory comment unchanged. Validator fixes over the draft: - collectJetBrainsRepoDirCandidates used a [\|"] character class instead of the original's (?:\\|") alternation, so a file:// path containing a pipe was truncated, its dir never resolved, and the JetBrains project fell back to the generic bucket. Restored the alternation. - the otel arm dropped the subagentTypes key when undefined; the original always emits it. Restored so key presence matches byte for byte. - otel chat-span attributes were looked up with a linear Array.find per chat span; replaced with a per-span-id map built in the same pass. Verified by a differential harness running the pre-migration provider against the migrated one over 27 scenarios (all eight goldens plus edge cases), comparing calls, seenKeys, and key presence. The harness is not committed; the scenarios it proved are now goldens G9-G17. |
||
|---|---|---|
| .. | ||
| fixtures | ||
| harness | ||
| providers | ||
| architecture-gate.test.ts | ||
| content-smuggling.test.ts | ||
| detectors.test.ts | ||
| diagnostics.test.ts | ||
| finding-no-fix-payload.test.ts | ||
| fingerprint.test.ts | ||
| import-smoke.test.ts | ||
| schema-drift.test.ts | ||
| schema.test.ts | ||