agent-desktop/crates
Lahfir b8c3ca92f2 fix(session): resolve Greptile review findings
- status honesty: TraceConfig::has_sink() (feeds status "tracing") returns false
  once the writer has failed, so status no longer reports active tracing while
  emits are being dropped.
- gc data race: re-check recent activity (snapshot/trace mtime, created-recently)
  AFTER acquiring the session write lock, so a trace segment written between the
  pre-check and remove is not deleted.
- session end honors the resolved session: `--session X session end` (no id) now
  ends X, not whatever the current_session pointer names.
- degrade precision: manifest/pointer reads degrade only symlinked/corrupt files
  (the structural attack) but let genuine I/O/permission errors surface, instead
  of masking every failure as "absent".
- strict batch override: a batch item overriding to a valid no-trace/ended
  session no longer fails INVALID_ARGS under a --trace-strict parent
  (clone_with_session_segment(None) yields a sinkless config, not a strict error).

Kept: BatchSessionArgs deny_unknown_fields (session batch args are new — no
legacy generators to break — and it catches the no_trce typo the prior review
required).

Guards added: failed-writer-reports-no-sink, strict-parent-allows-no-trace-
batch-override.
2026-06-30 23:02:57 -07:00
..
core fix(session): resolve Greptile review findings 2026-06-30 23:02:57 -07:00
ffi fix(session): harden session-first trace against review findings 2026-06-30 22:18:05 -07:00
linux refactor!: over-engineering audit cleanup (#64) 2026-06-24 14:31:17 -07:00
macos feat(macos,core): harden adapter and core foundation with caller-controllable guardrails (#82) 2026-06-29 11:32:27 -07:00
windows refactor!: over-engineering audit cleanup (#64) 2026-06-24 14:31:17 -07:00