{"repo":"NousResearch/hermes-agent","public_id":"98869","display_label":"Lifecycle guard regex false positives on single-line JSON","summary":"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.","subsystem":"cron","counts":{"members":4,"open_issues":1,"open_issues_distinct":1,"open_prs":1,"closed_issues":0,"merged_prs":0,"attempt_prs":3},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[],"members":[{"kind":"issue","number":98869,"title":"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","url":null,"state":"open"},{"kind":"pr","number":98875,"title":"fix(cron): cap the lifecycle-guard match span on a single line","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"647e2d2616a19a0c8c447ed7dc90e0d9e7e9996d","number":0},{"kind":"commit","value":"c52cfa169a1f7e33b78c02598facdabaffbf92e2","number":0},{"kind":"commit","value":"54d173b069370a1775f4afc2eb259259b457a1e1","number":0},{"kind":"commit","value":"5d401ad245f06b498cc8edaea3fe3e3e13ad8b39","number":0},{"kind":"pr","value":"#98869","number":98869},{"kind":"pr","value":"#98875","number":98875},{"kind":"pr","value":"#98877","number":98877},{"kind":"pr","value":"#76797","number":76797},{"kind":"pr","value":"#95240","number":95240},{"kind":"pr","value":"#103316","number":103316},{"kind":"pr","value":"#99223","number":99223}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":99223,"title":"fix(lifecycle_guard): bound inter-word spans to prevent false-positive on single-line JSON files","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#98875","number":98875}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":103316,"title":"fix(lifecycle_guard): bound [^\\n]* to 200/300 chars to prevent cross-field match on single-line JSON (#98869)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#98875","number":98875},{"kind":"pr","value":"#98869","number":98869},{"kind":"pr","value":"#99223","number":99223},{"kind":"pr","value":"#98877","number":98877}],"category":"duplicate_of","implication":"duplicate"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}