Skip to content

feat: export provider-neutral research traces - #1020

Merged
tomdps merged 4 commits into
mainfrom
codex/trace-export
Aug 14, 2026
Merged

feat: export provider-neutral research traces#1020
tomdps merged 4 commits into
mainfrom
codex/trace-export

Conversation

@tomdps

@tomdps tomdps commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • add deterministic native trace and semantic JSONL exports for cluster tasks
  • preserve exact prompts, ledger records, and bounded raw harness output for Codex, Claude, Pi, OMP, and future adapters
  • frame provider stdout and stderr once and update every existing log consumer
  • keep nonterminal, missing, malformed, or changing evidence explicitly incomplete

Why

The research adapter needs one source-owned, provider-neutral evidence boundary before sandboxes are removed. Native evidence stays authoritative; downstream ATIF remains a derived view.

Validation

  • focused trace, framing, and consumer tests passed
  • 104 Mocha and 64 Node provider/output regressions passed
  • full typecheck and lint passed with existing warnings only
  • Opcore and Opcore Zero passed
  • package dry-run contains all runtime files

The live OMP sidecar startup test is environment-degraded in the development checkout because Bun was installed without its postinstall binary; deterministic OMP writer-to-semantic coverage passes.

@greptile-apps

greptile-apps Bot commented Aug 14, 2026

Copy link
Copy Markdown

Greptile Summary

The PR adds deterministic native trace exports and provider-neutral semantic JSONL projections while introducing explicit stdout/stderr framing across task-log writers and consumers.

  • Streams ledger records, prompts, and bounded raw task-log evidence into create-only trace bundles.
  • Projects framed provider output through existing stateful adapters with bounded events and explicit completeness diagnostics.
  • Updates watcher, SDK, CLI, and extraction consumers to use the shared task-log framing decoder.
  • Extends runtime packaging, documentation, and regression coverage for the new export formats.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains in the eligible follow-up review scope.

No blocking failure remains.

Important Files Changed

Filename Overview
cli/trace-export.ts Streams deterministic ledger and task evidence records into an exclusive JSONL destination with explicit completeness accounting.
cli/semantic-export.ts Coordinates bounded task-log projection through registered provider adapters and emits task-level and bundle-level completeness metadata.
cli/semantic-parser.ts Reads stable evidence through a bounded line scanner, completes stateful adapter parsing, and detects source changes.
cli/trace-evidence.ts Derives causally referenced task IDs and validates task-store identities and expected log locations.
src/task-log-line.js Defines the shared encoder and decoder for legacy, stderr-tagged, and channel-framed task-log records.
task-lib/watcher-output-runtime.js Frames watcher stdout and stderr at their source while preserving bounded output and terminal diagnostics.
cli/index.js Adds trace and semantic export dispatch, snapshot reconciliation, and shared framed-log parsing to the CLI.
scripts/build-cli-runtime.js Extends runtime compilation and packaging to include the new export modules.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  W[Task and provider writers] -->|channel-framed-v2| L[Task log]
  DB[Cluster ledger] --> T[Trace exporter]
  S[Task store] --> T
  L --> T
  T --> N[Native trace JSONL]
  DB --> P[Semantic exporter]
  S --> P
  L --> D[Shared framing decoder]
  D --> P
  P --> A[Provider adapter parser]
  A --> E[Semantic event JSONL]
Loading

Reviews (5): Last reviewed commit: "test: decode framed provider logs in e2e..." | Re-trigger Greptile

@tomdps
tomdps force-pushed the codex/trace-export branch from 5ba2024 to 602cb0c Compare August 14, 2026 20:14
@tomdps
tomdps enabled auto-merge August 14, 2026 20:20
@tomdps
tomdps force-pushed the codex/trace-export branch from 602cb0c to 5967c36 Compare August 14, 2026 20:26
@tomdps
tomdps added this pull request to the merge queue Aug 14, 2026
Merged via the queue into main with commit eabac71 Aug 14, 2026
12 checks passed
@tomdps
tomdps deleted the codex/trace-export branch August 14, 2026 22:03
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 6.40.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant