feat: enforce workflow control, approval, correlation, and provenance invariants - #5
feat: enforce workflow control, approval, correlation, and provenance invariants#5MKlolbullen wants to merge 15 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Reviewer's GuideEnforces new workflow semantics around control-only edges, intrusive work approval boundaries, correlation groups, and byte-level provenance, with supporting tests and reporting sidecars. Sequence diagram for provenance and correlation recordingsequenceDiagram
participant Parent as Parent outputs
participant Merge as Merge node
participant Sink as Report sink
participant Files as Analysis files
Parent->>Merge: RecordNodeOutput
Merge->>Files: persistMergeCorrelation
Files-->>Merge: Correlation groups with raw observations
Merge->>Files: persistNodeProvenance
Parent->>Sink: Normalized inputs
Sink->>Files: persistCorrelationReport
Files-->>Sink: Candidates and evidence separated
Sink->>Files: persistNodeProvenance
Flow diagram for workflow policy validationflowchart TD
Incoming["Incoming edges"] --> Classify["Classify data and control edges"]
Classify --> TypedCheck["Typed consumer has data edge"]
TypedCheck --> ApprovalCheck["Validate intrusive approval boundary"]
ApprovalCheck --> Valid["Workflow accepted"]
TypedCheck --> RejectControl["Reject control-only typed input"]
ApprovalCheck --> RejectApproval["Reject missing or mismatched approval gate"]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Implements workflow design rules 6–9
6 — Control evidence must not become branch input
7 — Intrusive work must sit behind an explicit approval boundary
intrusivemust declare an approval key.gatewithrequires_approval: trueand the same key.8 — Correlate candidates before reporting
9 — Preserve raw evidence and provenance
analysis/and linked through node metadata.Tests
This change does not add scanners or broaden active-testing behavior; it strengthens workflow semantics, evidence integrity, and reporting correctness.
Summary by Sourcery
Enforce workflow control and approval invariants while preserving raw evidence, provenance, and lifecycle-aware correlation reporting.
New Features:
Bug Fixes:
Enhancements:
Tests: