# NousResearch/hermes-agent · Atomic transcript rewrite to prevent data loss

## Open now

- Nothing open on GitHub.

A bug was identified where non-atomic transcript rewrites could cause data loss during crashes or operations like retry, undo, and compress. Multiple fixes address this by making transcript rewrites transactional or atomic for both SQLite and JSONL backends.

## TL;DR

- 4 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 0 merged PR(s), 3 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.50`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #8029: Bug: non-atomic transcript rewrite causes data loss on crash (/retry, /undo, /compress)

## Prior & competing PRs

- **#8065: fix: make rewrite_transcript atomic for both SQLite and JSONL**. closed without merge · fix tier `suggested`
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `351fdcc6e6d763bd5d405d90d467a6d52eabf1f5`, `#8029`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#8077: fix: make transcript rewrite atomic to prevent data loss on crash**. closed without merge · fix tier `suggested`
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `351fdcc6e`, `2f9243c333`, `#14774`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#16810: fix(session): make SQLite transcript rewrites transactional**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#16926`

## Fix status

- No merged fix on record.
- Subsystem: `gateway`
