hermes-agent/tui_gateway
kshitij a4f468e832 refactor(gateway/desktop): consent-first truncation precedence + dedup (simplify pass)
Final-diff simplify/review pass findings on #83785:

- Consent gate (confirm_truncate -> 4029) now checked BEFORE target
  resolution, restoring the pre-PR precedence: an unconfirmed submit
  carrying truncation params refuses without paying the durable-transcript
  read or heal-stamping live history dicts, and an unconfirmed out-of-range
  ordinal returns 4029 (not 4018). Malformed params still refuse first
  with 4004. Regression test added (spy DB asserts zero reads pre-consent;
  mutation-checked against the previous commit).
- _coerce_truncate_ordinal generalized to _coerce_truncate_int(param_name):
  the row_id branch was inlining the exact bool-guard + int() -> 4004
  pattern the helper had just extracted.
- Deleted the dead user_indices re-read after _resolve_truncate_row_id
  (heal mutates dicts in place; the filter output is identical) and the
  duplicate range check that had deadened the pre-existing guard.
- Desktop: exported isVisibleUserMessage from use-prompt-actions/utils and
  used it in visibleUserOrdinal / visibleUserIndexAtOrdinal /
  rebindSurvivorRowIds — one predicate for the ordinal parity all three
  depend on instead of three verbatim copies.
- Docs: programmatic-integration.md documents survivor_user_row_ids.
2026-08-13 13:35:55 +05:30
..
__init__.py
…
_stdin_recovery.py
…
compute_host.py
…
entry.py
…
event_publisher.py
…
git_probe.py
…
host_supervisor.py
…
loop_noise.py
…
method_ctx.py
…
methods_complete.py feat(plugins): allow plugins to register custom @-prefix context references 2026-08-12 18:41:59 -07:00
methods_config.py
…
methods_profiles.py fix: profiles.create mirrors launch credentials so new profiles can run (#85111) 2026-08-13 00:25:04 -07:00
methods_prompt.py refactor(gateway/desktop): consent-first truncation precedence + dedup (simplify pass) 2026-08-13 13:35:55 +05:30
methods_session.py fix(gateway/desktop): durable row-id addressing for rewind truncation 2026-08-13 13:35:55 +05:30
methods_tools.py
…
project_tree.py
…
render.py
…
server.py feat: profiles.list/profiles.create ws RPC + plugin session-navigation doors (#85093) 2026-08-12 23:33:58 -07:00
slash_fuzzy.py
…
slash_worker.py
…
synthetic_turn.py
…
transport.py
…
turn_marker.py
…
ws.py
…