Skip to content

feat(export): preserve event times and attach metadata#6

Merged
drewstone merged 1 commit into
mainfrom
feat/export-metadata-timestamps
Jun 27, 2026
Merged

feat(export): preserve event times and attach metadata#6
drewstone merged 1 commit into
mainfrom
feat/export-metadata-timestamps

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

What changed

  • Preserves nested Sandbox/OpenCode event timestamps during traces export so root spans no longer fall back to 1970 when some events lack top-level time fields.
  • Adds generic export metadata via --attr key=value and --metadata file.json, copied into exported span attributes after redaction.
  • Extends file-export tests to cover nested timestamps, attribute attachment, metadata normalization, and redaction.

Why

Agent projects need to export raw event traces and still attach generic run metadata such as task id, arm, model, score, or campaign id. This keeps traces domain-neutral while letting downstream eval/reporting tools join spans to experiment rows.

Verification

  • pnpm vitest run tests/file-export.test.ts
  • pnpm typecheck
  • pnpm test (70/70)
  • pnpm build
  • Real R115 Sandbox/OpenCode event smoke: 256 spans, start 2026-06-27T21:33:03.000Z, end 2026-06-27T21:37:31.743Z, metadata attached, has1970=false.
  • Metadata-file smoke: 256 spans, metadata + override attached, has1970=false.
  • Current Codex session evidence smoke: 1 evidence row -> 1 OpenInference policy-evidence span; session 019eb95c-a384-7df2-80c8-8d35ae01af3c; 53,914 spans in analysis path.

@drewstone drewstone merged commit 1398cdc into main Jun 27, 2026
1 check passed
@drewstone drewstone deleted the feat/export-metadata-timestamps branch June 27, 2026 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant