{
    "index": 3302,
    "is_latest": true,
    "next_snapshot_timestamp": null,
    "artifact_compliance_count": {
        "true": 10,
        "false": 0,
        "null": 0
    },
    "timestamp": 1736866378.596097,
    "type": "ECS",
    "compliant": true,
    "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/3302",
    "artifacts": [
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2a4de05",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "7453f56a-e9f5-46b4-bd60-cf92040e",
                                        "flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
                                        "flow_name": "dashboard-ci",
                                        "trail_id": "4e1cd103-4404-42b0-9929-f38c4b9a",
                                        "trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "7453f56a-e9f5-46b4-bd60-cf92040e",
                                        "flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
                                        "flow_name": "dashboard-ci",
                                        "trail_id": "4e1cd103-4404-42b0-9929-f38c4b9a",
                                        "trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "7453f56a-e9f5-46b4-bd60-cf92040e",
                                        "flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
                                        "flow_name": "dashboard-ci",
                                        "trail_id": "4e1cd103-4404-42b0-9929-f38c4b9a",
                                        "trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "7453f56a-e9f5-46b4-bd60-cf92040e",
                                        "flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
                                        "flow_name": "dashboard-ci",
                                        "trail_id": "4e1cd103-4404-42b0-9929-f38c4b9a",
                                        "trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
                                        "matching_attestation_id": "d9fbe21e-7261-4199-8d9e-2da6c16e",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "08dc3610fb972dbdb532e27be09fb35fbfb6c3d7d6411d3053290a8df706fc8d",
            "creationTimestamp": [
                1736866282
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 1,
                "now": 1
            },
            "flow_name": "dashboard-ci",
            "git_commit": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
            "commit_url": "https://github.com/cyber-dojo/dashboard/commit/2a4de05a37ef40c597f823130850bcfc89fb6ee9",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/08dc3610fb972dbdb532e27be09fb35fbfb6c3d7d6411d3053290a8df706fc8d?artifact_id=7453f56a-e9f5-46b4-bd60-cf92040e",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/dashboard/compare/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6...2a4de05a37ef40c597f823130850bcfc89fb6ee9",
                "previous_git_commit": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                "previous_fingerprint": "0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:fbadb11",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                "previous_trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                "previous_template_reference_name": "dashboard"
            },
            "commit_lead_time": 101833.0,
            "flows": [
                {
                    "flow_name": "dashboard-ci",
                    "trail_name": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
                    "template_reference_name": "dashboard",
                    "git_commit": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
                    "commit_url": "https://github.com/cyber-dojo/dashboard/commit/2a4de05a37ef40c597f823130850bcfc89fb6ee9",
                    "git_commit_info": {
                        "sha1": "2a4de05a37ef40c597f823130850bcfc89fb6ee9",
                        "message": "Merge pull request #242 from cyber-dojo/update-sonar-scan-action\n\nUpdate sonarcloud action to new sonarqube-scan-action",
                        "author": "FayeSGW <108031168+FayeSGW@users.noreply.github.com>",
                        "branch": "main",
                        "timestamp": 1736764449.0,
                        "url": "https://github.com/cyber-dojo/dashboard/commit/2a4de05a37ef40c597f823130850bcfc89fb6ee9"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/08dc3610fb972dbdb532e27be09fb35fbfb6c3d7d6411d3053290a8df706fc8d?artifact_id=7453f56a-e9f5-46b4-bd60-cf92040e",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/dashboard/compare/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6...2a4de05a37ef40c597f823130850bcfc89fb6ee9",
                        "previous_git_commit": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                        "previous_fingerprint": "0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:fbadb11",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                        "previous_trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                        "previous_template_reference_name": "dashboard"
                    },
                    "commit_lead_time": 101833.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:d8868c7",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
                                        "flow_id": "0b4a3bb0-4f77-41a9-8dea-733d1dc3",
                                        "flow_name": "languages-start-points-ci",
                                        "trail_id": "c035a437-9cdb-4c66-aa6f-3dfce278",
                                        "trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
                                        "flow_id": "0b4a3bb0-4f77-41a9-8dea-733d1dc3",
                                        "flow_name": "languages-start-points-ci",
                                        "trail_id": "c035a437-9cdb-4c66-aa6f-3dfce278",
                                        "trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
                                        "flow_id": "0b4a3bb0-4f77-41a9-8dea-733d1dc3",
                                        "flow_name": "languages-start-points-ci",
                                        "trail_id": "c035a437-9cdb-4c66-aa6f-3dfce278",
                                        "trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
                                        "flow_id": "0b4a3bb0-4f77-41a9-8dea-733d1dc3",
                                        "flow_name": "languages-start-points-ci",
                                        "trail_id": "c035a437-9cdb-4c66-aa6f-3dfce278",
                                        "trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
                                        "matching_attestation_id": "b33063a6-cc37-4ba9-afaf-fae9cb21",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "fb66bc84620af85e434f183dd62482366adefc28c745e174937f79e2d002db1f",
            "creationTimestamp": [
                1736768291
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 1,
                "now": 1
            },
            "flow_name": "languages-start-points-ci",
            "git_commit": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
            "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/fb66bc84620af85e434f183dd62482366adefc28c745e174937f79e2d002db1f?artifact_id=4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/2bbcf42d511157dd97830404fa6f2acd346e75c7...d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
                "previous_git_commit": "2bbcf42d511157dd97830404fa6f2acd346e75c7",
                "previous_fingerprint": "ff56d0f568fe4b615b502c46d37d93fbef33ec05619d8a81012bd40a8ac29cb5",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:2bbcf42",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/2bbcf42d511157dd97830404fa6f2acd346e75c7",
                "previous_trail_name": "2bbcf42d511157dd97830404fa6f2acd346e75c7",
                "previous_template_reference_name": "languages-start-points"
            },
            "commit_lead_time": 1643.0,
            "flows": [
                {
                    "flow_name": "languages-start-points-ci",
                    "trail_name": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
                    "template_reference_name": "languages-start-points",
                    "git_commit": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
                    "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
                    "git_commit_info": {
                        "sha1": "d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
                        "message": "Merge pull request #58 from cyber-dojo/language-upgrades\n\nUpgrade to latest version of js, rust and ruby-approval",
                        "author": "FayeSGW <108031168+FayeSGW@users.noreply.github.com>",
                        "branch": "main",
                        "timestamp": 1736766648.0,
                        "url": "https://github.com/cyber-dojo/languages-start-points/commit/d8868c7ff6d5bcefdb45f74a91a89ac71e99576b"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/fb66bc84620af85e434f183dd62482366adefc28c745e174937f79e2d002db1f?artifact_id=4d4d0fc5-91f1-4a3d-845d-82cd6ab9",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/2bbcf42d511157dd97830404fa6f2acd346e75c7...d8868c7ff6d5bcefdb45f74a91a89ac71e99576b",
                        "previous_git_commit": "2bbcf42d511157dd97830404fa6f2acd346e75c7",
                        "previous_fingerprint": "ff56d0f568fe4b615b502c46d37d93fbef33ec05619d8a81012bd40a8ac29cb5",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:2bbcf42",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/2bbcf42d511157dd97830404fa6f2acd346e75c7",
                        "previous_trail_name": "2bbcf42d511157dd97830404fa6f2acd346e75c7",
                        "previous_template_reference_name": "languages-start-points"
                    },
                    "commit_lead_time": 1643.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:fedad19",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "985e91b4-0f29-4f00-bf62-8a57228e",
                                        "flow_id": "d398561b-b0a9-4f0e-95a3-bbb0e347",
                                        "flow_name": "differ-ci",
                                        "trail_id": "8c65794a-022a-4eb9-bc37-8a08d21a",
                                        "trail_name": "fedad1940aa80caa77c9839eff062665a7060241"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "985e91b4-0f29-4f00-bf62-8a57228e",
                                        "flow_id": "d398561b-b0a9-4f0e-95a3-bbb0e347",
                                        "flow_name": "differ-ci",
                                        "trail_id": "8c65794a-022a-4eb9-bc37-8a08d21a",
                                        "trail_name": "fedad1940aa80caa77c9839eff062665a7060241",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "985e91b4-0f29-4f00-bf62-8a57228e",
                                        "flow_id": "d398561b-b0a9-4f0e-95a3-bbb0e347",
                                        "flow_name": "differ-ci",
                                        "trail_id": "8c65794a-022a-4eb9-bc37-8a08d21a",
                                        "trail_name": "fedad1940aa80caa77c9839eff062665a7060241"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "985e91b4-0f29-4f00-bf62-8a57228e",
                                        "flow_id": "d398561b-b0a9-4f0e-95a3-bbb0e347",
                                        "flow_name": "differ-ci",
                                        "trail_id": "8c65794a-022a-4eb9-bc37-8a08d21a",
                                        "trail_name": "fedad1940aa80caa77c9839eff062665a7060241",
                                        "matching_attestation_id": "4a296807-c88d-4b11-9fde-e8cb5925",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "083e55d12fc029dae5ac7b6ce57de0a1f819e20b6ac01d64a173f366e4b78d92",
            "creationTimestamp": [
                1736512568
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 1,
                "now": 1
            },
            "flow_name": "differ-ci",
            "git_commit": "fedad1940aa80caa77c9839eff062665a7060241",
            "commit_url": "https://github.com/cyber-dojo/differ/commit/fedad1940aa80caa77c9839eff062665a7060241",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/083e55d12fc029dae5ac7b6ce57de0a1f819e20b6ac01d64a173f366e4b78d92?artifact_id=985e91b4-0f29-4f00-bf62-8a57228e",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/differ/compare/982af120903b0663651360f457dd1e56473efe10...fedad1940aa80caa77c9839eff062665a7060241",
                "previous_git_commit": "982af120903b0663651360f457dd1e56473efe10",
                "previous_fingerprint": "44cab1b562faa36d901b3ba5de7e90e300f913eaca23d13809797611beed877d",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:982af12",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/982af120903b0663651360f457dd1e56473efe10",
                "previous_trail_name": "982af120903b0663651360f457dd1e56473efe10",
                "previous_template_reference_name": "differ"
            },
            "commit_lead_time": 859.0,
            "flows": [
                {
                    "flow_name": "differ-ci",
                    "trail_name": "fedad1940aa80caa77c9839eff062665a7060241",
                    "template_reference_name": "differ",
                    "git_commit": "fedad1940aa80caa77c9839eff062665a7060241",
                    "commit_url": "https://github.com/cyber-dojo/differ/commit/fedad1940aa80caa77c9839eff062665a7060241",
                    "git_commit_info": {
                        "sha1": "fedad1940aa80caa77c9839eff062665a7060241",
                        "message": "Delete duplication when creating json metrics files (#288)",
                        "author": "Jon Jagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1736511709.0,
                        "url": "https://github.com/cyber-dojo/differ/commit/fedad1940aa80caa77c9839eff062665a7060241"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/083e55d12fc029dae5ac7b6ce57de0a1f819e20b6ac01d64a173f366e4b78d92?artifact_id=985e91b4-0f29-4f00-bf62-8a57228e",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/differ/compare/982af120903b0663651360f457dd1e56473efe10...fedad1940aa80caa77c9839eff062665a7060241",
                        "previous_git_commit": "982af120903b0663651360f457dd1e56473efe10",
                        "previous_fingerprint": "44cab1b562faa36d901b3ba5de7e90e300f913eaca23d13809797611beed877d",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:982af12",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/982af120903b0663651360f457dd1e56473efe10",
                        "previous_trail_name": "982af120903b0663651360f457dd1e56473efe10",
                        "previous_template_reference_name": "differ"
                    },
                    "commit_lead_time": 859.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:5840b94",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "1199a0c5-9915-40e1-8cdf-3657f1a2",
                                        "flow_id": "e54bdf65-de27-448f-807a-08e09590",
                                        "flow_name": "saver-ci",
                                        "trail_id": "92f7f65c-4567-4bd5-8484-570c9037",
                                        "trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "1199a0c5-9915-40e1-8cdf-3657f1a2",
                                        "flow_id": "e54bdf65-de27-448f-807a-08e09590",
                                        "flow_name": "saver-ci",
                                        "trail_id": "92f7f65c-4567-4bd5-8484-570c9037",
                                        "trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "1199a0c5-9915-40e1-8cdf-3657f1a2",
                                        "flow_id": "e54bdf65-de27-448f-807a-08e09590",
                                        "flow_name": "saver-ci",
                                        "trail_id": "92f7f65c-4567-4bd5-8484-570c9037",
                                        "trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "1199a0c5-9915-40e1-8cdf-3657f1a2",
                                        "flow_id": "e54bdf65-de27-448f-807a-08e09590",
                                        "flow_name": "saver-ci",
                                        "trail_id": "92f7f65c-4567-4bd5-8484-570c9037",
                                        "trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92",
                                        "matching_attestation_id": "fdbb61b9-8c17-48cc-b8df-c3d3849a",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "aac802189b6408858517d1af86fdb9a7d0a9b5c6ed9b01ffbeceb4e04bf45a85",
            "creationTimestamp": [
                1736511592
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 1,
                "now": 1
            },
            "flow_name": "saver-ci",
            "git_commit": "5840b9427b858bd6eba9bca0abd008500b60aa92",
            "commit_url": "https://github.com/cyber-dojo/saver/commit/5840b9427b858bd6eba9bca0abd008500b60aa92",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/aac802189b6408858517d1af86fdb9a7d0a9b5c6ed9b01ffbeceb4e04bf45a85?artifact_id=1199a0c5-9915-40e1-8cdf-3657f1a2",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/saver/compare/2a9ef64892c515a23a9ef7d10a9bd40f789f8163...5840b9427b858bd6eba9bca0abd008500b60aa92",
                "previous_git_commit": "2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
                "previous_fingerprint": "489c1f6d4c25a32ce6dc71b3320db5f2793c4602913475aec72c43115db879bd",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:2a9ef64",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
                "previous_trail_name": "2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
                "previous_template_reference_name": "saver"
            },
            "commit_lead_time": 6752.0,
            "flows": [
                {
                    "flow_name": "saver-ci",
                    "trail_name": "5840b9427b858bd6eba9bca0abd008500b60aa92",
                    "template_reference_name": "saver",
                    "git_commit": "5840b9427b858bd6eba9bca0abd008500b60aa92",
                    "commit_url": "https://github.com/cyber-dojo/saver/commit/5840b9427b858bd6eba9bca0abd008500b60aa92",
                    "git_commit_info": {
                        "sha1": "5840b9427b858bd6eba9bca0abd008500b60aa92",
                        "message": "Merge pull request #102 from cyber-dojo/dont-duplicate-coverage-data\n\nDon't duplicate coverage data",
                        "author": "Jon Jagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1736504840.0,
                        "url": "https://github.com/cyber-dojo/saver/commit/5840b9427b858bd6eba9bca0abd008500b60aa92"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/aac802189b6408858517d1af86fdb9a7d0a9b5c6ed9b01ffbeceb4e04bf45a85?artifact_id=1199a0c5-9915-40e1-8cdf-3657f1a2",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/saver/compare/2a9ef64892c515a23a9ef7d10a9bd40f789f8163...5840b9427b858bd6eba9bca0abd008500b60aa92",
                        "previous_git_commit": "2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
                        "previous_fingerprint": "489c1f6d4c25a32ce6dc71b3320db5f2793c4602913475aec72c43115db879bd",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:2a9ef64",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
                        "previous_trail_name": "2a9ef64892c515a23a9ef7d10a9bd40f789f8163",
                        "previous_template_reference_name": "saver"
                    },
                    "commit_lead_time": 6752.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:171a05c",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "8374731b-573e-4e78-8ea2-c75b8e06",
                                        "flow_id": "a81e8c6d-bb00-474f-b986-a6cb9b08",
                                        "flow_name": "runner-ci",
                                        "trail_id": "142100e5-2ac4-46b1-8c85-53ea030c",
                                        "trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17"
                                    }
                                },
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "801aec29-e348-4fdc-9bbb-575de312",
                                        "flow_id": "fe044e85-4bd5-44af-b181-950b685e",
                                        "flow_name": "aws-prod-snyk-scan",
                                        "trail_id": "6c690248-e61d-412c-bf9d-cac3c866",
                                        "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d"
                                    }
                                },
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "1b0f4ff0-969d-4a6e-8cb5-85872681",
                                        "flow_id": "2f2cd910-9bba-446b-a00d-07e6273c",
                                        "flow_name": "aws-beta-snyk-scan",
                                        "trail_id": "d14211de-7f41-4a75-83f3-27b78211",
                                        "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "8374731b-573e-4e78-8ea2-c75b8e06",
                                        "flow_id": "a81e8c6d-bb00-474f-b986-a6cb9b08",
                                        "flow_name": "runner-ci",
                                        "trail_id": "142100e5-2ac4-46b1-8c85-53ea030c",
                                        "trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17",
                                        "artifact_status": "COMPLIANT"
                                    }
                                },
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "801aec29-e348-4fdc-9bbb-575de312",
                                        "flow_id": "fe044e85-4bd5-44af-b181-950b685e",
                                        "flow_name": "aws-prod-snyk-scan",
                                        "trail_id": "6c690248-e61d-412c-bf9d-cac3c866",
                                        "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
                                        "artifact_status": "COMPLIANT"
                                    }
                                },
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "1b0f4ff0-969d-4a6e-8cb5-85872681",
                                        "flow_id": "2f2cd910-9bba-446b-a00d-07e6273c",
                                        "flow_name": "aws-beta-snyk-scan",
                                        "trail_id": "d14211de-7f41-4a75-83f3-27b78211",
                                        "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "8374731b-573e-4e78-8ea2-c75b8e06",
                                        "flow_id": "a81e8c6d-bb00-474f-b986-a6cb9b08",
                                        "flow_name": "runner-ci",
                                        "trail_id": "142100e5-2ac4-46b1-8c85-53ea030c",
                                        "trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17"
                                    }
                                },
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "801aec29-e348-4fdc-9bbb-575de312",
                                        "flow_id": "fe044e85-4bd5-44af-b181-950b685e",
                                        "flow_name": "aws-prod-snyk-scan",
                                        "trail_id": "6c690248-e61d-412c-bf9d-cac3c866",
                                        "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d"
                                    }
                                },
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "1b0f4ff0-969d-4a6e-8cb5-85872681",
                                        "flow_id": "2f2cd910-9bba-446b-a00d-07e6273c",
                                        "flow_name": "aws-beta-snyk-scan",
                                        "trail_id": "d14211de-7f41-4a75-83f3-27b78211",
                                        "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "8374731b-573e-4e78-8ea2-c75b8e06",
                                        "flow_id": "a81e8c6d-bb00-474f-b986-a6cb9b08",
                                        "flow_name": "runner-ci",
                                        "trail_id": "142100e5-2ac4-46b1-8c85-53ea030c",
                                        "trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17",
                                        "matching_attestation_id": "255816e9-359e-445f-9d6f-16110342",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                },
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "801aec29-e348-4fdc-9bbb-575de312",
                                        "flow_id": "fe044e85-4bd5-44af-b181-950b685e",
                                        "flow_name": "aws-prod-snyk-scan",
                                        "trail_id": "6c690248-e61d-412c-bf9d-cac3c866",
                                        "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
                                        "matching_attestation_id": "d39047be-7fe3-477d-900d-50cec479",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                },
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "1b0f4ff0-969d-4a6e-8cb5-85872681",
                                        "flow_id": "2f2cd910-9bba-446b-a00d-07e6273c",
                                        "flow_name": "aws-beta-snyk-scan",
                                        "trail_id": "d14211de-7f41-4a75-83f3-27b78211",
                                        "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
                                        "matching_attestation_id": "e2bc3f4c-5775-4685-815a-91f19430",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
            "creationTimestamp": [
                1735053494,
                1735053518,
                1735053521
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 3,
                "now": 3
            },
            "flow_name": "runner-ci",
            "git_commit": "171a05c10347fe12788b87ba18b635e508fd2c17",
            "commit_url": "https://github.com/cyber-dojo/runner/commit/171a05c10347fe12788b87ba18b635e508fd2c17",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d?artifact_id=8374731b-573e-4e78-8ea2-c75b8e06",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/runner/compare/be3845e25d9e69053d510d9d6cef742f8998ec32...171a05c10347fe12788b87ba18b635e508fd2c17",
                "previous_git_commit": "be3845e25d9e69053d510d9d6cef742f8998ec32",
                "previous_fingerprint": "f78d639a1f29406dfc9075345a0dbbf8e75cf7fe2c9a884173a39ca2609959df",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:be3845e",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/be3845e25d9e69053d510d9d6cef742f8998ec32",
                "previous_trail_name": "be3845e25d9e69053d510d9d6cef742f8998ec32",
                "previous_template_reference_name": "runner"
            },
            "commit_lead_time": 1054.0,
            "flows": [
                {
                    "flow_name": "runner-ci",
                    "trail_name": "171a05c10347fe12788b87ba18b635e508fd2c17",
                    "template_reference_name": "runner",
                    "git_commit": "171a05c10347fe12788b87ba18b635e508fd2c17",
                    "commit_url": "https://github.com/cyber-dojo/runner/commit/171a05c10347fe12788b87ba18b635e508fd2c17",
                    "git_commit_info": {
                        "sha1": "171a05c10347fe12788b87ba18b635e508fd2c17",
                        "message": "Merge pull request #82 from cyber-dojo/simplify-workflow-yaml\n\nSimplify workflow yaml file",
                        "author": "Jon Jagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1735052440.0,
                        "url": "https://github.com/cyber-dojo/runner/commit/171a05c10347fe12788b87ba18b635e508fd2c17"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d?artifact_id=8374731b-573e-4e78-8ea2-c75b8e06",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/runner/compare/be3845e25d9e69053d510d9d6cef742f8998ec32...171a05c10347fe12788b87ba18b635e508fd2c17",
                        "previous_git_commit": "be3845e25d9e69053d510d9d6cef742f8998ec32",
                        "previous_fingerprint": "f78d639a1f29406dfc9075345a0dbbf8e75cf7fe2c9a884173a39ca2609959df",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:be3845e",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/be3845e25d9e69053d510d9d6cef742f8998ec32",
                        "previous_trail_name": "be3845e25d9e69053d510d9d6cef742f8998ec32",
                        "previous_template_reference_name": "runner"
                    },
                    "commit_lead_time": 1054.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                },
                {
                    "flow_name": "aws-prod-snyk-scan",
                    "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
                    "template_reference_name": "runner",
                    "git_commit": "76099e9f546ee6096cf670e94d3903ebfdb359ab",
                    "commit_url": "https://github.com/cyber-dojo/live-snyk-scans/commit/76099e9f546ee6096cf670e94d3903ebfdb359ab",
                    "git_commit_info": {
                        "sha1": "76099e9f546ee6096cf670e94d3903ebfdb359ab",
                        "message": "Run CI workflow after snyk vulnerability update",
                        "author": "JonJagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1734868979.0,
                        "url": "https://github.com/cyber-dojo/live-snyk-scans/commit/76099e9f546ee6096cf670e94d3903ebfdb359ab"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/aws-prod-snyk-scan/artifacts/9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d?artifact_id=801aec29-e348-4fdc-9bbb-575de312",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/aws-prod-snyk-scan",
                    "deployment_diff": null,
                    "commit_lead_time": 184515.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                },
                {
                    "flow_name": "aws-beta-snyk-scan",
                    "trail_name": "runner-9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d",
                    "template_reference_name": "runner",
                    "git_commit": "76099e9f546ee6096cf670e94d3903ebfdb359ab",
                    "commit_url": "https://github.com/cyber-dojo/live-snyk-scans/commit/76099e9f546ee6096cf670e94d3903ebfdb359ab",
                    "git_commit_info": {
                        "sha1": "76099e9f546ee6096cf670e94d3903ebfdb359ab",
                        "message": "Run CI workflow after snyk vulnerability update",
                        "author": "JonJagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1734868979.0,
                        "url": "https://github.com/cyber-dojo/live-snyk-scans/commit/76099e9f546ee6096cf670e94d3903ebfdb359ab"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/aws-beta-snyk-scan/artifacts/9d74aaf028eac7a8535ff9f47621a58170474935c387cb571867a22c56d1c08d?artifact_id=1b0f4ff0-969d-4a6e-8cb5-85872681",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/aws-beta-snyk-scan",
                    "deployment_diff": null,
                    "commit_lead_time": 184515.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:ceff002",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "be3e5202-ff07-4b4b-87f2-e34341d7",
                                        "flow_id": "e4e08b57-e36e-4724-acc8-04e7e437",
                                        "flow_name": "creator-ci",
                                        "trail_id": "b3864a64-25d7-4ca9-bb57-0094ea0e",
                                        "trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "be3e5202-ff07-4b4b-87f2-e34341d7",
                                        "flow_id": "e4e08b57-e36e-4724-acc8-04e7e437",
                                        "flow_name": "creator-ci",
                                        "trail_id": "b3864a64-25d7-4ca9-bb57-0094ea0e",
                                        "trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "be3e5202-ff07-4b4b-87f2-e34341d7",
                                        "flow_id": "e4e08b57-e36e-4724-acc8-04e7e437",
                                        "flow_name": "creator-ci",
                                        "trail_id": "b3864a64-25d7-4ca9-bb57-0094ea0e",
                                        "trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "be3e5202-ff07-4b4b-87f2-e34341d7",
                                        "flow_id": "e4e08b57-e36e-4724-acc8-04e7e437",
                                        "flow_name": "creator-ci",
                                        "trail_id": "b3864a64-25d7-4ca9-bb57-0094ea0e",
                                        "trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
                                        "matching_attestation_id": "c730d8f2-c0c5-4c90-aef5-a4790daf",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "b0548207de58762c948890dae97d35e1c3465ef0c4396762d90052b919bf4411",
            "creationTimestamp": [
                1735049869
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 1,
                "now": 1
            },
            "flow_name": "creator-ci",
            "git_commit": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
            "commit_url": "https://gitlab.com/cyber-dojo/creator/-/commit/ceff002aa4b5a690fd4c1db93dcd2859c0286483",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/b0548207de58762c948890dae97d35e1c3465ef0c4396762d90052b919bf4411?artifact_id=be3e5202-ff07-4b4b-87f2-e34341d7",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci",
            "deployment_diff": {
                "diff_url": "https://gitlab.com/cyber-dojo/creator/-/compare/b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb...ceff002aa4b5a690fd4c1db93dcd2859c0286483",
                "previous_git_commit": "b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
                "previous_fingerprint": "5eec49c96341e684278faffaabf327a60d3efbace5b4858910d112d0851973a2",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:b5a7a0c",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://gitlab.com/cyber-dojo/creator/-/commit/b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
                "previous_trail_name": "b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
                "previous_template_reference_name": "creator"
            },
            "commit_lead_time": 891.0,
            "flows": [
                {
                    "flow_name": "creator-ci",
                    "trail_name": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
                    "template_reference_name": "creator",
                    "git_commit": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
                    "commit_url": "https://gitlab.com/cyber-dojo/creator/-/commit/ceff002aa4b5a690fd4c1db93dcd2859c0286483",
                    "git_commit_info": {
                        "sha1": "ceff002aa4b5a690fd4c1db93dcd2859c0286483",
                        "message": "Merge branch 'add-kosli-commands' into 'main'\n\nAdd create-flow and begin-trail commands to main.yml workflow\n\nSee merge request cyber-dojo/creator!158",
                        "author": "Jon Jagger <jrbjagger@googlemail.com>",
                        "branch": "main",
                        "timestamp": 1735048978.0,
                        "url": "https://gitlab.com/cyber-dojo/creator/-/commit/ceff002aa4b5a690fd4c1db93dcd2859c0286483"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/b0548207de58762c948890dae97d35e1c3465ef0c4396762d90052b919bf4411?artifact_id=be3e5202-ff07-4b4b-87f2-e34341d7",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci",
                    "deployment_diff": {
                        "diff_url": "https://gitlab.com/cyber-dojo/creator/-/compare/b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb...ceff002aa4b5a690fd4c1db93dcd2859c0286483",
                        "previous_git_commit": "b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
                        "previous_fingerprint": "5eec49c96341e684278faffaabf327a60d3efbace5b4858910d112d0851973a2",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:b5a7a0c",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://gitlab.com/cyber-dojo/creator/-/commit/b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
                        "previous_trail_name": "b5a7a0c93ec2ea22ebf599f3bd8281bf8ca764eb",
                        "previous_template_reference_name": "creator"
                    },
                    "commit_lead_time": 891.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5fc87b1",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "3f60ce81-f375-4593-8fc7-98eab9bd",
                                        "flow_id": "fd583a48-28de-4b5c-b4a7-b6356e94",
                                        "flow_name": "web-ci",
                                        "trail_id": "525b0df9-ee9d-462b-b727-f682e9af",
                                        "trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "3f60ce81-f375-4593-8fc7-98eab9bd",
                                        "flow_id": "fd583a48-28de-4b5c-b4a7-b6356e94",
                                        "flow_name": "web-ci",
                                        "trail_id": "525b0df9-ee9d-462b-b727-f682e9af",
                                        "trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "3f60ce81-f375-4593-8fc7-98eab9bd",
                                        "flow_id": "fd583a48-28de-4b5c-b4a7-b6356e94",
                                        "flow_name": "web-ci",
                                        "trail_id": "525b0df9-ee9d-462b-b727-f682e9af",
                                        "trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "3f60ce81-f375-4593-8fc7-98eab9bd",
                                        "flow_id": "fd583a48-28de-4b5c-b4a7-b6356e94",
                                        "flow_name": "web-ci",
                                        "trail_id": "525b0df9-ee9d-462b-b727-f682e9af",
                                        "trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
                                        "matching_attestation_id": "dc1d1d27-4933-430c-a889-c866c367",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "9828ded232d0882203a9f2891a368e7551fff4974a54c76287caff7e21b9059a",
            "creationTimestamp": [
                1734437878,
                1734437967,
                1734437971
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 3,
                "now": 3
            },
            "flow_name": "web-ci",
            "git_commit": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
            "commit_url": "https://github.com/cyber-dojo/web/commit/5fc87b1c17020fd4f50485ee56662b7b4a04982d",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/9828ded232d0882203a9f2891a368e7551fff4974a54c76287caff7e21b9059a?artifact_id=3f60ce81-f375-4593-8fc7-98eab9bd",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/web/compare/c7e77cdad86eae306b7d8305f0e7dada7eaffc6d...5fc87b1c17020fd4f50485ee56662b7b4a04982d",
                "previous_git_commit": "c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
                "previous_fingerprint": "9c9e70dec5183c351a7e19f93fd2e92ec28ac514352d19d2603d2cbce85ea13d",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:c7e77cd",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
                "previous_trail_name": "c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
                "previous_template_reference_name": "web"
            },
            "commit_lead_time": 886.0,
            "flows": [
                {
                    "flow_name": "web-ci",
                    "trail_name": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
                    "template_reference_name": "web",
                    "git_commit": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
                    "commit_url": "https://github.com/cyber-dojo/web/commit/5fc87b1c17020fd4f50485ee56662b7b4a04982d",
                    "git_commit_info": {
                        "sha1": "5fc87b1c17020fd4f50485ee56662b7b4a04982d",
                        "message": "Add --attachment flag to kosli-attest-snyk calls in Workflow (#134)",
                        "author": "Jon Jagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1734436992.0,
                        "url": "https://github.com/cyber-dojo/web/commit/5fc87b1c17020fd4f50485ee56662b7b4a04982d"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/9828ded232d0882203a9f2891a368e7551fff4974a54c76287caff7e21b9059a?artifact_id=3f60ce81-f375-4593-8fc7-98eab9bd",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/web/compare/c7e77cdad86eae306b7d8305f0e7dada7eaffc6d...5fc87b1c17020fd4f50485ee56662b7b4a04982d",
                        "previous_git_commit": "c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
                        "previous_fingerprint": "9c9e70dec5183c351a7e19f93fd2e92ec28ac514352d19d2603d2cbce85ea13d",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:c7e77cd",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
                        "previous_trail_name": "c7e77cdad86eae306b7d8305f0e7dada7eaffc6d",
                        "previous_template_reference_name": "web"
                    },
                    "commit_lead_time": 886.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:3ccc36f",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "b524c429-0a4e-4797-8a90-d38c8f87",
                                        "flow_id": "c1bb83be-5195-4814-9fae-eac6bf67",
                                        "flow_name": "exercises-start-points-ci",
                                        "trail_id": "5ffea181-ff0f-41b8-9401-be083d22",
                                        "trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "b524c429-0a4e-4797-8a90-d38c8f87",
                                        "flow_id": "c1bb83be-5195-4814-9fae-eac6bf67",
                                        "flow_name": "exercises-start-points-ci",
                                        "trail_id": "5ffea181-ff0f-41b8-9401-be083d22",
                                        "trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "b524c429-0a4e-4797-8a90-d38c8f87",
                                        "flow_id": "c1bb83be-5195-4814-9fae-eac6bf67",
                                        "flow_name": "exercises-start-points-ci",
                                        "trail_id": "5ffea181-ff0f-41b8-9401-be083d22",
                                        "trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "b524c429-0a4e-4797-8a90-d38c8f87",
                                        "flow_id": "c1bb83be-5195-4814-9fae-eac6bf67",
                                        "flow_name": "exercises-start-points-ci",
                                        "trail_id": "5ffea181-ff0f-41b8-9401-be083d22",
                                        "trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
                                        "matching_attestation_id": "556250c5-ee8e-462b-a0eb-9c2fcd11",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "c60769e5131fe470a41bce2865b3e2cac8b085aa09dba3dc4f3376bd612f3bb0",
            "creationTimestamp": [
                1734437858
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 1,
                "now": 1
            },
            "flow_name": "exercises-start-points-ci",
            "git_commit": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
            "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c60769e5131fe470a41bce2865b3e2cac8b085aa09dba3dc4f3376bd612f3bb0?artifact_id=b524c429-0a4e-4797-8a90-d38c8f87",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/a7fde6f564511228205dfe23c61d825fcbfaaf7f...3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
                "previous_git_commit": "a7fde6f564511228205dfe23c61d825fcbfaaf7f",
                "previous_fingerprint": "6e54a3411540ba5fa493f9c7ab03fd4a4bbf90603acc91a283cbe06e5ee7b567",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:a7fde6f",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/a7fde6f564511228205dfe23c61d825fcbfaaf7f",
                "previous_trail_name": "a7fde6f564511228205dfe23c61d825fcbfaaf7f",
                "previous_template_reference_name": "exercises-start-points"
            },
            "commit_lead_time": 1635.0,
            "flows": [
                {
                    "flow_name": "exercises-start-points-ci",
                    "trail_name": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
                    "template_reference_name": "exercises-start-points",
                    "git_commit": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
                    "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
                    "git_commit_info": {
                        "sha1": "3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
                        "message": "Merge pull request #44 from cyber-dojo/attest-attachments\n\nAdd --attachment flag to kosli-attest-snyk calls in Workflow",
                        "author": "Jon Jagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1734436223.0,
                        "url": "https://github.com/cyber-dojo/exercises-start-points/commit/3ccc36f7dc0670451bb3bfedf42528cc13af80c2"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c60769e5131fe470a41bce2865b3e2cac8b085aa09dba3dc4f3376bd612f3bb0?artifact_id=b524c429-0a4e-4797-8a90-d38c8f87",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/a7fde6f564511228205dfe23c61d825fcbfaaf7f...3ccc36f7dc0670451bb3bfedf42528cc13af80c2",
                        "previous_git_commit": "a7fde6f564511228205dfe23c61d825fcbfaaf7f",
                        "previous_fingerprint": "6e54a3411540ba5fa493f9c7ab03fd4a4bbf90603acc91a283cbe06e5ee7b567",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:a7fde6f",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/a7fde6f564511228205dfe23c61d825fcbfaaf7f",
                        "previous_trail_name": "a7fde6f564511228205dfe23c61d825fcbfaaf7f",
                        "previous_template_reference_name": "exercises-start-points"
                    },
                    "commit_lead_time": 1635.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:a146899",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "89ca9c7c-1e48-4104-a6bb-bf467481",
                                        "flow_id": "28447c7d-904b-4594-8b05-88d5d938",
                                        "flow_name": "nginx-ci",
                                        "trail_id": "e608e75a-f2c6-4924-b5d0-9083b934",
                                        "trail_name": "a146899f5ef8821bc337473e8111bb96242842c2"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "89ca9c7c-1e48-4104-a6bb-bf467481",
                                        "flow_id": "28447c7d-904b-4594-8b05-88d5d938",
                                        "flow_name": "nginx-ci",
                                        "trail_id": "e608e75a-f2c6-4924-b5d0-9083b934",
                                        "trail_name": "a146899f5ef8821bc337473e8111bb96242842c2",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "89ca9c7c-1e48-4104-a6bb-bf467481",
                                        "flow_id": "28447c7d-904b-4594-8b05-88d5d938",
                                        "flow_name": "nginx-ci",
                                        "trail_id": "e608e75a-f2c6-4924-b5d0-9083b934",
                                        "trail_name": "a146899f5ef8821bc337473e8111bb96242842c2"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "89ca9c7c-1e48-4104-a6bb-bf467481",
                                        "flow_id": "28447c7d-904b-4594-8b05-88d5d938",
                                        "flow_name": "nginx-ci",
                                        "trail_id": "e608e75a-f2c6-4924-b5d0-9083b934",
                                        "trail_name": "a146899f5ef8821bc337473e8111bb96242842c2",
                                        "matching_attestation_id": "43e8f23a-e447-4158-8610-b20c6da1",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "c0e0f1cccd3a5d867e5d90abfccd8a787031725093a67473325b6cb45a4cabd0",
            "creationTimestamp": [
                1734437855
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 1,
                "now": 1
            },
            "flow_name": "nginx-ci",
            "git_commit": "a146899f5ef8821bc337473e8111bb96242842c2",
            "commit_url": "https://github.com/cyber-dojo/nginx/commit/a146899f5ef8821bc337473e8111bb96242842c2",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/c0e0f1cccd3a5d867e5d90abfccd8a787031725093a67473325b6cb45a4cabd0?artifact_id=89ca9c7c-1e48-4104-a6bb-bf467481",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/nginx/compare/b8e88822b1500976c5ab973212a03f3bd77973ba...a146899f5ef8821bc337473e8111bb96242842c2",
                "previous_git_commit": "b8e88822b1500976c5ab973212a03f3bd77973ba",
                "previous_fingerprint": "ac0f554abe992043a8cf19abca36d421ff3f26d562daa295b707d15b41bd1dd3",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:b8e8882",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/b8e88822b1500976c5ab973212a03f3bd77973ba",
                "previous_trail_name": "b8e88822b1500976c5ab973212a03f3bd77973ba",
                "previous_template_reference_name": "nginx"
            },
            "commit_lead_time": 1481.0,
            "flows": [
                {
                    "flow_name": "nginx-ci",
                    "trail_name": "a146899f5ef8821bc337473e8111bb96242842c2",
                    "template_reference_name": "nginx",
                    "git_commit": "a146899f5ef8821bc337473e8111bb96242842c2",
                    "commit_url": "https://github.com/cyber-dojo/nginx/commit/a146899f5ef8821bc337473e8111bb96242842c2",
                    "git_commit_info": {
                        "sha1": "a146899f5ef8821bc337473e8111bb96242842c2",
                        "message": "Merge pull request #37 from cyber-dojo/attest-attachments\n\nAdd --attachment flag to kosli-attest-snyk calls in Workflow",
                        "author": "Jon Jagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1734436374.0,
                        "url": "https://github.com/cyber-dojo/nginx/commit/a146899f5ef8821bc337473e8111bb96242842c2"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/c0e0f1cccd3a5d867e5d90abfccd8a787031725093a67473325b6cb45a4cabd0?artifact_id=89ca9c7c-1e48-4104-a6bb-bf467481",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/nginx/compare/b8e88822b1500976c5ab973212a03f3bd77973ba...a146899f5ef8821bc337473e8111bb96242842c2",
                        "previous_git_commit": "b8e88822b1500976c5ab973212a03f3bd77973ba",
                        "previous_fingerprint": "ac0f554abe992043a8cf19abca36d421ff3f26d562daa295b707d15b41bd1dd3",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:b8e8882",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/b8e88822b1500976c5ab973212a03f3bd77973ba",
                        "previous_trail_name": "b8e88822b1500976c5ab973212a03f3bd77973ba",
                        "previous_template_reference_name": "nginx"
                    },
                    "commit_lead_time": 1481.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:9687deb",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "fe201c5d-7455-46e9-b6f2-7470732d",
                                        "flow_id": "217f4b82-2fe6-41ef-8214-e34c3a47",
                                        "flow_name": "custom-start-points-ci",
                                        "trail_id": "27c2e6de-be56-417f-a5ce-9c4b3181",
                                        "trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "fe201c5d-7455-46e9-b6f2-7470732d",
                                        "flow_id": "217f4b82-2fe6-41ef-8214-e34c3a47",
                                        "flow_name": "custom-start-points-ci",
                                        "trail_id": "27c2e6de-be56-417f-a5ce-9c4b3181",
                                        "trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "fe201c5d-7455-46e9-b6f2-7470732d",
                                        "flow_id": "217f4b82-2fe6-41ef-8214-e34c3a47",
                                        "flow_name": "custom-start-points-ci",
                                        "trail_id": "27c2e6de-be56-417f-a5ce-9c4b3181",
                                        "trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "fe201c5d-7455-46e9-b6f2-7470732d",
                                        "flow_id": "217f4b82-2fe6-41ef-8214-e34c3a47",
                                        "flow_name": "custom-start-points-ci",
                                        "trail_id": "27c2e6de-be56-417f-a5ce-9c4b3181",
                                        "trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a",
                                        "matching_attestation_id": "ea0bcb33-be3a-4abe-8f04-8e626d8f",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "9a9d148b4cafb8d2d99d152291516bf225038739a1a3b2c135011c78d53457b5",
            "creationTimestamp": [
                1734437845
            ],
            "pods": null,
            "annotation": {
                "type": "unchanged",
                "was": 1,
                "now": 1
            },
            "flow_name": "custom-start-points-ci",
            "git_commit": "9687deb44cd233d817cdb9c89320e82748130e6a",
            "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/9687deb44cd233d817cdb9c89320e82748130e6a",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/9a9d148b4cafb8d2d99d152291516bf225038739a1a3b2c135011c78d53457b5?artifact_id=fe201c5d-7455-46e9-b6f2-7470732d",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/74bd0b5a956615fc7aaf4c79e4249ef092a14560...9687deb44cd233d817cdb9c89320e82748130e6a",
                "previous_git_commit": "74bd0b5a956615fc7aaf4c79e4249ef092a14560",
                "previous_fingerprint": "86ab562076e372f0a8739474b4306f7b3d4deb70e4c94461f8fe0edecf102426",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:74bd0b5",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/74bd0b5a956615fc7aaf4c79e4249ef092a14560",
                "previous_trail_name": "74bd0b5a956615fc7aaf4c79e4249ef092a14560",
                "previous_template_reference_name": "custom-start-points"
            },
            "commit_lead_time": 1773.0,
            "flows": [
                {
                    "flow_name": "custom-start-points-ci",
                    "trail_name": "9687deb44cd233d817cdb9c89320e82748130e6a",
                    "template_reference_name": "custom-start-points",
                    "git_commit": "9687deb44cd233d817cdb9c89320e82748130e6a",
                    "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/9687deb44cd233d817cdb9c89320e82748130e6a",
                    "git_commit_info": {
                        "sha1": "9687deb44cd233d817cdb9c89320e82748130e6a",
                        "message": "Merge pull request #43 from cyber-dojo/attest-attachments\n\nAdd --attachment flag to kosli-attest-snyk calls in Workflow",
                        "author": "Jon Jagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1734436072.0,
                        "url": "https://github.com/cyber-dojo/custom-start-points/commit/9687deb44cd233d817cdb9c89320e82748130e6a"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/9a9d148b4cafb8d2d99d152291516bf225038739a1a3b2c135011c78d53457b5?artifact_id=fe201c5d-7455-46e9-b6f2-7470732d",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/74bd0b5a956615fc7aaf4c79e4249ef092a14560...9687deb44cd233d817cdb9c89320e82748130e6a",
                        "previous_git_commit": "74bd0b5a956615fc7aaf4c79e4249ef092a14560",
                        "previous_fingerprint": "86ab562076e372f0a8739474b4306f7b3d4deb70e4c94461f8fe0edecf102426",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:74bd0b5",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/74bd0b5a956615fc7aaf4c79e4249ef092a14560",
                        "previous_trail_name": "74bd0b5a956615fc7aaf4c79e4249ef092a14560",
                        "previous_template_reference_name": "custom-start-points"
                    },
                    "commit_lead_time": 1773.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        },
        {
            "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:fbadb11",
            "deployments": [],
            "compliant": true,
            "policy_decisions": [
                {
                    "policy_id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "b179db81-ba1b-4805-9d48-cb93985f",
                                        "flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
                                        "flow_name": "dashboard-ci",
                                        "trail_id": "59a04d37-242a-45c1-82b6-bc665654",
                                        "trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "b179db81-ba1b-4805-9d48-cb93985f",
                                        "flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
                                        "flow_name": "dashboard-ci",
                                        "trail_id": "59a04d37-242a-45c1-82b6-bc665654",
                                        "trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                                        "artifact_status": "COMPLIANT"
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "policy_id": "d4f22b17-1fac-4f36-a735-5a39f697",
                    "policy_version": 1,
                    "status": "COMPLIANT",
                    "rule_evaluations": [
                        {
                            "rule": {
                                "type": "provenance",
                                "definition": {
                                    "required": true,
                                    "exceptions": []
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "b179db81-ba1b-4805-9d48-cb93985f",
                                        "flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
                                        "flow_name": "dashboard-ci",
                                        "trail_id": "59a04d37-242a-45c1-82b6-bc665654",
                                        "trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6"
                                    }
                                }
                            ]
                        },
                        {
                            "rule": {
                                "type": "trail-compliance",
                                "definition": {
                                    "required": false,
                                    "exceptions": []
                                }
                            },
                            "satisfied": null,
                            "ignored": true,
                            "resolutions": []
                        },
                        {
                            "rule": {
                                "type": "attestation",
                                "definition": {
                                    "if_condition": null,
                                    "name": "snyk-container-scan",
                                    "type": "snyk",
                                    "must_be_compliant": true
                                }
                            },
                            "satisfied": true,
                            "ignored": false,
                            "resolutions": [
                                {
                                    "type": "rule_satisfied",
                                    "context": {
                                        "artifact_id": "b179db81-ba1b-4805-9d48-cb93985f",
                                        "flow_id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e",
                                        "flow_name": "dashboard-ci",
                                        "trail_id": "59a04d37-242a-45c1-82b6-bc665654",
                                        "trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                                        "matching_attestation_id": "45efdbb6-e7ad-44ea-8fab-b59f1f02",
                                        "matching_attestation_name": "snyk-container-scan",
                                        "matching_attestation_type": "snyk",
                                        "matching_attestation_compliance": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            "reasons_for_incompliance": [],
            "fingerprint": "0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11",
            "creationTimestamp": [
                1734418981
            ],
            "pods": null,
            "annotation": {
                "type": "exited",
                "was": 1,
                "now": 0
            },
            "flow_name": "dashboard-ci",
            "git_commit": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
            "commit_url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
            "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11?artifact_id=b179db81-ba1b-4805-9d48-cb93985f",
            "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
            "deployment_diff": {
                "diff_url": "https://github.com/cyber-dojo/dashboard/compare/f74bb82cbb72c9e19a31660acb11705728abc772...fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                "previous_git_commit": "f74bb82cbb72c9e19a31660acb11705728abc772",
                "previous_fingerprint": "d23d2d0b744b013f658750a2483d3e04f3d474a072b2837ecb2af8d0e34b0c0c",
                "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:f74bb82",
                "previous_artifact_compliance_state": "COMPLIANT",
                "previous_running": false,
                "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/f74bb82cbb72c9e19a31660acb11705728abc772",
                "previous_trail_name": "f74bb82cbb72c9e19a31660acb11705728abc772",
                "previous_template_reference_name": "dashboard"
            },
            "commit_lead_time": 10978.0,
            "flows": [
                {
                    "flow_name": "dashboard-ci",
                    "trail_name": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                    "template_reference_name": "dashboard",
                    "git_commit": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                    "commit_url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                    "git_commit_info": {
                        "sha1": "fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                        "message": "Put --attachments flag on correct call (#241)",
                        "author": "Jon Jagger <jon@kosli.com>",
                        "branch": "main",
                        "timestamp": 1734408003.0,
                        "url": "https://github.com/cyber-dojo/dashboard/commit/fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6"
                    },
                    "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/0f23d3be5b12f4ed64bef569f8d3855a8313fb0d9002afb5d9bc9fe286003f11?artifact_id=b179db81-ba1b-4805-9d48-cb93985f",
                    "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
                    "deployment_diff": {
                        "diff_url": "https://github.com/cyber-dojo/dashboard/compare/f74bb82cbb72c9e19a31660acb11705728abc772...fbadb11e575b9f2a9ffb38ab8d8b79c273f7b7d6",
                        "previous_git_commit": "f74bb82cbb72c9e19a31660acb11705728abc772",
                        "previous_fingerprint": "d23d2d0b744b013f658750a2483d3e04f3d474a072b2837ecb2af8d0e34b0c0c",
                        "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:f74bb82",
                        "previous_artifact_compliance_state": "COMPLIANT",
                        "previous_running": false,
                        "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/f74bb82cbb72c9e19a31660acb11705728abc772",
                        "previous_trail_name": "f74bb82cbb72c9e19a31660acb11705728abc772",
                        "previous_template_reference_name": "dashboard"
                    },
                    "commit_lead_time": 10978.0,
                    "artifact_compliance_in_flow": true,
                    "flow_reasons_for_non_compliance": []
                }
            ]
        }
    ],
    "applied_policies": [
        {
            "id": "bb56942a-ebbc-4a51-ad7b-b1f83903",
            "name": "default-policy",
            "version": 1,
            "policy_dump": {
                "schema_version": "1",
                "artifacts": {
                    "provenance": {
                        "required": true,
                        "exceptions": []
                    },
                    "trail_compliance": {
                        "required": true,
                        "exceptions": []
                    },
                    "attestations": []
                }
            },
            "failing_artifacts": []
        },
        {
            "id": "d4f22b17-1fac-4f36-a735-5a39f697",
            "name": "snyk-policy",
            "version": 1,
            "policy_dump": {
                "schema_version": "1",
                "artifacts": {
                    "provenance": {
                        "required": true,
                        "exceptions": []
                    },
                    "trail_compliance": {
                        "required": false,
                        "exceptions": []
                    },
                    "attestations": [
                        {
                            "if_condition": null,
                            "name": "snyk-container-scan",
                            "type": "snyk",
                            "must_be_compliant": true
                        }
                    ]
                }
            },
            "failing_artifacts": []
        }
    ]
}