fix(cli): make recursive scans fail closed - #576
chrisknvidia wants to merge 5 commits into
Conversation
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
rng1995
left a comment
There was a problem hiding this comment.
Reviewed exact head 10362c948e69ffd8d8df225e7921bb373b04cf93. Requesting changes because ledger caps can still discard a distinct fatal fact.
With two completed events plus distinct READ_ERROR and ANALYZER_RUNTIME_ERROR failures under a three-record cap, the input has two distinct failure work IDs, but the retained/public ledger is only READ_ERROR, one completed event, and OUTPUT_LIMIT. Completeness stays fail-closed, yet analyzer_runtime_error and its path disappear even though the cap can hold both failures plus the sentinel.
The root and child paths snapshot only next(...) failed event before truncation (cli.py around lines 1203 and 1841), so _ensure_required_failure_event never receives the other fatal facts. This contradicts the PR failure-retention contract. Please collect and prioritize every distinct pre-cap FAILED event and add a multi-failure cap regression.
rng1995
left a comment
There was a problem hiding this comment.
[SkillSpector Review]
Reviewed exact head 10362c948e69ffd8d8df225e7921bb373b04cf93 and the full recursive-scan/reporting diff.
The existing blocking review remains valid: root and child paths snapshot only the first FAILED event before bounded merging, so a cap that can retain two distinct failures plus its sentinel may nevertheless discard one fatal reason and path. Completeness remains fail-closed, but the public failure-retention contract is violated. Please collect and prioritize every distinct pre-cap FAILED work item and add the multi-failure cap regression described in the existing review.
No duplicate inline comment was added.
…rsive-fail-closed-reporting Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
|
@rng1995 I addressed the ledger-retention review finding in |
Summary
Review context
This is the independent scan-budget, completeness, CLI, and reporting split requested in the review of #497. It intentionally excludes shell-truthiness logic, TM1 window reconciliation, and Python source classification.
Validation
Split from #497 for focused architectural and security review.