Commit f0b7a2b
The trust verdict has to know what was suppressed before it says USABLE
SODCOV-000 read USABLE / INFO on an estate whose only conflict had been removed
by a blanket mitigation row carrying no approver, no expiry and no control id.
The statement that exists to say how far a segregation result can be believed
was the last place in the product still capable of a false all-clear - and it
renders above the findings in HTML, PDF and PPTX, and on the console dashboard.
That gap was mine: SODCOV-000 was built two commits before MITIG and never
connected to it.
every conflict hidden by a blanket row before USABLE / INFO
after PARTIAL / HIGH
Two limits are now stated: that a clean result in those areas reflects a
suppression rather than an absence, and that the rows doing the suppressing
cannot support an audit conclusion.
DERIVED, NOT RECOMPUTED
The scanner hands the findings so far to the coverage module, so the verdict
reads MITIG-001's own conclusion instead of re-deriving suppression from the
mitigation rows. That preserves the rule set when the statement was written: a
summary that recalculates can disagree with the detail it summarises, and it
does so in front of the reader least able to tell which half to believe.
ABSENCE OF SUPPRESSION DATA IS NOT ABSENCE OF SUPPRESSION
Run without peer findings, the statement records `suppression_checked: false`
and says so in its own description rather than quietly claiming a clean verdict.
Claiming one without having looked would be the same defect one level up. The
verdict still takes the FLOOR of its measures, so suppression can only make it
worse, never better.
A GUARD I DID NOT WRITE CAUGHT THE FIRST ATTEMPT, AND ITS FIX WAS BETTER
The first version passed `dict(run_ctx, peer_findings=...)` - a hand-rolled
context variant, which is exactly the shape tests/test_run_context_is_uniform.py
was written to eliminate. Its docstring explains why that matters: when the next
field is added to run_ctx, the omissions look like modules choosing not to use it
rather than never being offered it. `peer_findings` now goes INTO run_ctx, so
every auditor still receives the same object.
Full suite green: 4480 passed. Smoke run 410 findings. Six new tests.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 511255e commit f0b7a2b
3 files changed
Lines changed: 146 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
585 | 585 | | |
586 | 586 | | |
587 | 587 | | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
588 | 609 | | |
589 | 610 | | |
590 | 611 | | |
| |||
616 | 637 | | |
617 | 638 | | |
618 | 639 | | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
619 | 657 | | |
620 | 658 | | |
621 | 659 | | |
| |||
662 | 700 | | |
663 | 701 | | |
664 | 702 | | |
665 | | - | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
666 | 708 | | |
667 | 709 | | |
668 | 710 | | |
| |||
682 | 724 | | |
683 | 725 | | |
684 | 726 | | |
685 | | - | |
686 | | - | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
687 | 734 | | |
688 | 735 | | |
689 | 736 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
558 | 558 | | |
559 | 559 | | |
560 | 560 | | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
561 | 572 | | |
562 | 573 | | |
563 | 574 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
686 | 686 | | |
687 | 687 | | |
688 | 688 | | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
0 commit comments