Description
Define how accepted-risk attribution is retained and surfaced when findings are accepted.
The accepted-risk loader parses accepted_by, but matching and rendering never use it. Fully accepted findings retain only one reason, and partially accepted findings discard the provenance of the paths that matched accepted-risk entries.
Context
Identified while reviewing the call chain rooted at prove() after #2395.
Relevant code:
crates/openshell-prover/src/accepted_risks.rs
crates/openshell-prover/src/finding.rs
crates/openshell-prover/src/report.rs
This is audit-facing behavior, so the representation should be agreed before implementation. In particular, define whether provenance belongs on findings, individual paths, or a separate acceptance result.
Definition of Done
Description
Define how accepted-risk attribution is retained and surfaced when findings are accepted.
The accepted-risk loader parses
accepted_by, but matching and rendering never use it. Fully accepted findings retain only one reason, and partially accepted findings discard the provenance of the paths that matched accepted-risk entries.Context
Identified while reviewing the call chain rooted at
prove()after #2395.Relevant code:
crates/openshell-prover/src/accepted_risks.rscrates/openshell-prover/src/finding.rscrates/openshell-prover/src/report.rsThis is audit-facing behavior, so the representation should be agreed before implementation. In particular, define whether provenance belongs on findings, individual paths, or a separate acceptance result.
Definition of Done
accepted_byand reason.