azurenoops / azurenoops/spin_agent

[HIGH-4] Narrative approval has no evidence-citation contract

Open
#646 2 comments 0 reactions 0 assignees View on GitHub
area:ato-generation area:rmf bug priority:high
Dominant language
C#
Stars
3
Forks
1
Avg merge
13h 18m
Merged PRs (30d)
60

Description

## Problem

A narrative can reach `Approved` status without any structural link to the evidence that justifies it. There is no enforced contract between an approval state transition and one or more cited evidence records. This breaks source-to-claim traceability — a core requirement for ATO package integrity — and means an AO could sign off on a narrative whose supporting evidence was never formally captured.

## Evidence / Location

- Narrative approval state machine / workflow
- Approval transition logic: no evidence-citation foreign key or validation gate

## Fix

1. Define an `EvidenceCitation` relationship: an approved narrative must reference at least one evidence record (observation, test result, POA\&M item, or control implementation statement).
2. Block the `Approved` state transition if no citations are present; return a structured validation error.
3. Expose citations in the narrative detail view so reviewers can trace approval → evidence.

## Source Reviewers

Vision — HIGH

---
> ⚠️ **Caveat:** All findings are static read-reviews; build/tests were not run. Reproduce before treating fix as confirmed.
> 📋 **Note:** War Machine's ATO/RMF findings are still pending and will be folded in as a second batch.

Contributor guide

Open the contributing guide

Research direction

Locate the narrative approval state machine, approval transition logic, and narrative detail view mentioned in the issue. First trace how approval transitions are validated and how evidence records are represented; then confirm the detail view can expose citations. Done means approved narratives require at least one citation, failures return a structured validation error, and reviewers can follow approval to its evidence.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend, database, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.