# NousResearch/hermes-agent · Lifecycle guard regex false positives on single-line JSON

## Open now

- 1 issue, 1 PR open on GitHub.
- #98869: lifecycle_guard: unanchored \`p?kill\` + unbounded \`\[^\\n\]*\` false-positives on large single-line JSON data files (652 KB "match"); 1 MB size fail-close blocks text data files entirely
- PR #98875: fix(cron): cap the lifecycle-guard match span on a single line

These items address regex patterns in lifecycle_guard (and cron) that produce false positives or oversized matches when processing single-line JSON data, by bounding unbounded character classes and inter-word spans. A related size limit causes fail-close behavior on large text data files.

## TL;DR

- 4 member(s): 1 open issue(s), 0 closed issue(s), 1 open PR(s), 0 merged PR(s), 2 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.

## Open related issues

- #98869: lifecycle_guard: unanchored \`p?kill\` + unbounded \`\[^\\n\]*\` false-positives on large single-line JSON data files (652 KB "match"); 1 MB size fail-close blocks text data files entirely

## Prior & competing PRs

- **#98875: fix(cron): cap the lifecycle-guard match span on a single line**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `647e2d2616a19a0c8c447ed7dc90e0d9e7e9996d`, `c52cfa169a1f7e33b78c02598facdabaffbf92e2`, `54d173b069370a1775f4afc2eb259259b457a1e1`, `5d401ad245f06b498cc8edaea3fe3e3e13ad8b39`, `#98869`, `#98875`, `#98877`, `#76797`, `#95240`, `#103316`, `#99223`
  - files: `cron/lifecycle_guard.py`, `tests/hermes_cli/test_gateway_restart_loop.py`
- **#99223: fix(lifecycle_guard): bound inter-word spans to prevent false-positive on single-line JSON files**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#98875`
- **#103316: fix(lifecycle_guard): bound \[^\\n\]* to 200/300 chars to prevent cross-field match on single-line JSON (#98869)**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#98875`, `#98869`, `#99223`, `#98877`

## Fix status

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