fix(transcripts): mark delivery mirrors as artifacts#99855
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 4, 2026, 4:10 AM ET / 08:10 UTC. Summary PR surface: Source +15, Tests +13. Total +28 across 8 files. Reproducibility: yes. at source level: current main writes delivery-mirror rows with Review metrics: 1 noteworthy metric.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land after maintainers accept Do we have a high-confidence way to reproduce the issue? Yes, at source level: current main writes delivery-mirror rows with Is this the best way to solve the issue? Yes, with maintainer signoff on the stored marker. Changing writer provenance while preserving provider/model identity is the narrow fix for audit correctness; replay-filter-only changes would not fix the misleading stored API value. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 2abad575d250. Label changesLabel justifications:
Evidence reviewedPR surface: Source +15, Tests +13. Total +28 across 8 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Dependency GuardThis PR changes dependency-related files. Maintainers should confirm these changes are intentional. Changed files:
Maintainer follow-up:
|
Dependency graph changes notedThis PR includes dependency graph changes. The dependency guard is informational because the PR author is a repository admin or a member of
Security review is still recommended before merge when the dependency graph change is intentional. |
|
Merged via squash.
|
* fix(transcripts): mark delivery mirrors as artifacts * fix(transcripts): mark delivery mirrors as artifacts * fix(transcripts): mark delivery mirrors as artifacts
What Problem This Solves
Fixes an issue where users auditing session transcripts could see delivery mirror rows recorded as
openai-responsesoutput when those rows were OpenClaw transcript bookkeeping for channel-final messages, not provider/model calls.Why This Change Was Made
Delivery mirror transcript rows now use a dedicated
openclaw-transcriptartifact API while keeping the existingopenclawprovider anddelivery-mirrormodel markers that history filtering already understands. Shared constants keep transcript writing, replay, repair, session-lock, and gateway-history tests on the same provenance identity.User Impact
Transcript and history tooling can distinguish OpenClaw delivery mirrors from real model responses. This removes the misleading
openai-responses|openclaw|delivery-mirrorprovenance tuple from newly written channel-final mirror records.Evidence
pnpm exec oxfmt --write --threads=1 src/shared/transcript-only-openclaw-assistant.ts src/config/sessions/transcript.ts src/config/sessions/transcript.test.ts src/agents/session-file-repair.test.ts src/agents/embedded-agent-runner/replay-history.test.ts src/agents/embedded-agent-runner.sanitize-session-history.test.ts src/agents/embedded-agent-runner/run/attempt.session-lock.test.ts src/gateway/sessions-history-http.test.tspnpm test:serial src/config/sessions/transcript.test.ts src/agents/session-file-repair.test.ts src/agents/embedded-agent-runner/replay-history.test.ts src/agents/embedded-agent-runner.sanitize-session-history.test.ts src/agents/embedded-agent-runner/run/attempt.session-lock.test.ts src/gateway/sessions-history-http.test.tsOPENCLAW_TESTBOX=1 pnpm check:changed(blacksmith-testbox,tbx_01kwnwjeedbg4y2jhfrvv5c4a0)