Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 9 additions & 47 deletions .github/agent-policy-channels.json
Original file line number Diff line number Diff line change
@@ -1,63 +1,25 @@
{
"assignments": {},
"channels": {
"rollback": {
"stable": {
"artifact": "ghcr.io/happyvertical/agent-policy@sha256:0a00ee6409da980809cb2037beb690dfed22f6657465d8af15a1c42ac165a2fb",
"generation": 15,
"policy_revision": "1.0.0",
"schema": "hv-agent-policy-lock:v1",
"source_commit": "6a565d68e1ae921888098b687ca3b9ababe8d038",
"source_tree_sha256": "20055307d27993826db191910a5be241fabfd723c58dd81e9c099563d9dc1295"
},
"stable": {
"artifact": "ghcr.io/happyvertical/agent-policy@sha256:78e729c396768f7e5675c676caff46706b7067a6674c2e409a475a06cf6e4dda",
"generation": 16,
"policy_revision": "1.0.0",
"schema": "hv-agent-policy-lock:v1",
"source_commit": "a129dcfc2bbe96958483199ac552cb13a9523413",
"source_tree_sha256": "94c5e3bdfe6c6e2a0adbe4b3024ce78f4976ace010a79fa09fbf0f8f446d78bc"
}
},
"default_channel": "stable",
"promotion": {
"canary_evidence_sha256": "e3a09da0da37cf0782fb988c9cd2d8787ed9bda52db5ed42e2aa35d4ae86ba84",
"canary_repository_ids": [
"R_kgDOQ09NVg",
"R_kgDOQDruXg"
],
"candidate": {
"artifact": "ghcr.io/happyvertical/agent-policy@sha256:78e729c396768f7e5675c676caff46706b7067a6674c2e409a475a06cf6e4dda",
"generation": 16,
"policy_revision": "1.0.0",
"schema": "hv-agent-policy-lock:v1",
"source_commit": "a129dcfc2bbe96958483199ac552cb13a9523413",
"source_tree_sha256": "94c5e3bdfe6c6e2a0adbe4b3024ce78f4976ace010a79fa09fbf0f8f446d78bc"
},
"phase": "smoke",
"previous_stable": {
"artifact": "ghcr.io/happyvertical/agent-policy@sha256:0a00ee6409da980809cb2037beb690dfed22f6657465d8af15a1c42ac165a2fb",
"generation": 15,
"policy_revision": "1.0.0",
"schema": "hv-agent-policy-lock:v1",
"source_commit": "6a565d68e1ae921888098b687ca3b9ababe8d038",
"source_tree_sha256": "20055307d27993826db191910a5be241fabfd723c58dd81e9c099563d9dc1295"
},
"smoke_repository_ids": [
"R_kgDOOtHtPA",
"R_kgDOQ09NVg",
"R_kgDOQDruXg",
"R_kgDOQmZF0A",
"R_kgDOQmZFRQ"
]
},
"revision": 14,
"promotion": null,
"revision": 15,
"schema": "hv-agent-policy-channels:v1",
"transition": {
"action": "promote",
"artifact": "ghcr.io/happyvertical/agent-policy@sha256:78e729c396768f7e5675c676caff46706b7067a6674c2e409a475a06cf6e4dda",
"evidence_sha256": "e3a09da0da37cf0782fb988c9cd2d8787ed9bda52db5ed42e2aa35d4ae86ba84",
"from_revision": 13,
"previous_artifact": "ghcr.io/happyvertical/agent-policy@sha256:0a00ee6409da980809cb2037beb690dfed22f6657465d8af15a1c42ac165a2fb",
"to_revision": 14
"action": "rollback",
"artifact": "ghcr.io/happyvertical/agent-policy@sha256:0a00ee6409da980809cb2037beb690dfed22f6657465d8af15a1c42ac165a2fb",
"evidence_sha256": "c48a6048ea4c6485070951a271e24574e643b7d75f2cf1e2145fdc84a7ee133d",
"from_revision": 14,
"previous_artifact": "ghcr.io/happyvertical/agent-policy@sha256:78e729c396768f7e5675c676caff46706b7067a6674c2e409a475a06cf6e4dda",
"to_revision": 15
}
}
1 change: 1 addition & 0 deletions .github/agent-policy-evidence/revision-15.bundle
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial":{"certificate":{"rawBytes":"MIIHVDCCBtugAwIBAgIURPbemQIm1Hb4NN2hryL7axUDkPEwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNzI4MTM1ODA5WhcNMjYwNzI4MTQwODA5WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvaW6yr4l5HzlzfYcslcTmqcKuBVXA6j5Y6S9SNd/HQ8hegZUERQDmULZwO5Cxf9CadUIe4XfdQnok/+45ffYJKOCBfowggX2MA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUX3BvS2Mt3WVOcWNCwDm8QYLgXzIwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wcQYDVR0RAQH/BGcwZYZjaHR0cHM6Ly9naXRodWIuY29tL2hhcHB5dmVydGljYWwvLmdpdGh1Yi8uZ2l0aHViL3dvcmtmbG93cy9hZ2VudC1wb2xpY3ktcm9sbG91dC55bWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wIQYKKwYBBAGDvzABAgQTcmVwb3NpdG9yeV9kaXNwYXRjaDA2BgorBgEEAYO/MAEDBCg1ZGQ4MDExYjRmZTg1YmRkMTdkMTZlYmE4ZDE4MTY4NDIyZWMzYTQzMCIGCisGAQQBg78wAQQEFEFnZW50IFBvbGljeSBSb2xsb3V0MCMGCisGAQQBg78wAQUEFWhhcHB5dmVydGljYWwvLmdpdGh1YjAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMHMGCisGAQQBg78wAQkEZQxjaHR0cHM6Ly9naXRodWIuY29tL2hhcHB5dmVydGljYWwvLmdpdGh1Yi8uZ2l0aHViL3dvcmtmbG93cy9hZ2VudC1wb2xpY3ktcm9sbG91dC55bWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoNWRkODAxMWI0ZmU4NWJkZDE3ZDE2ZWJhOGQxODE2ODQyMmVjM2E0MzAdBgorBgEEAYO/MAELBA8MDWdpdGh1Yi1ob3N0ZWQwOAYKKwYBBAGDvzABDAQqDChodHRwczovL2dpdGh1Yi5jb20vaGFwcHl2ZXJ0aWNhbC8uZ2l0aHViMDgGCisGAQQBg78wAQ0EKgwoNWRkODAxMWI0ZmU4NWJkZDE3ZDE2ZWJhOGQxODE2ODQyMmVjM2E0MzAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjExMjkyNzA2MTQwMAYKKwYBBAGDvzABEAQiDCBodHRwczovL2dpdGh1Yi5jb20vaGFwcHl2ZXJ0aWNhbDAZBgorBgEEAYO/MAERBAsMCTEzMTQ4MDczNDBzBgorBgEEAYO/MAESBGUMY2h0dHBzOi8vZ2l0aHViLmNvbS9oYXBweXZlcnRpY2FsLy5naXRodWIvLmdpdGh1Yi93b3JrZmxvd3MvYWdlbnQtcG9saWN5LXJvbGxvdXQueW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKDVkZDgwMTFiNGZlODViZGQxN2QxNmViYThkMTgxNjg0MjJlYzNhNDMwIwYKKwYBBAGDvzABFAQVDBNyZXBvc2l0b3J5X2Rpc3BhdGNoMFwGCisGAQQBg78wARUETgxMaHR0cHM6Ly9naXRodWIuY29tL2hhcHB5dmVydGljYWwvLmdpdGh1Yi9hY3Rpb25zL3J1bnMvMzAzNjU3NTE2MDgvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzA+BgorBgEEAYO/MAEYBDAMLnJlcG86aGFwcHl2ZXJ0aWNhbC8uZ2l0aHViOnJlZjpyZWZzL2hlYWRzL21haW4wgYoGCisGAQQB1nkCBAIEfAR6AHgAdgDdPTBqxscRMmMZHhyZZzcCokpeuN48rf+HinKALynujgAAAZ+pBMHBAAAEAwBHMEUCIQDeLYxoilbI2TsKmxgHYj6pvBGQOXVd0oBbMISotX7GygIgangE8wkTlQpTbL+WwIwGF9L+xlUqV/23teeH2eXBA80wCgYIKoZIzj0EAwMDZwAwZAIwWkZvVaxShazCMu3lTcmOioqQXpwrEImYebIlt0I5FjTRkNx3DcD3fsDT6ARXG2xuAjBYb+XhVq35ATzcBztxCW/21usJaT6M0YNHU96PJIy1h1u+jEMIPCaTCMroY2iixEQ="}, "tlogEntries":[{"logIndex":"2272681724", "logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion":{"kind":"hashedrekord", "version":"0.0.1"}, "integratedTime":"1785247090", "inclusionPromise":{"signedEntryTimestamp":"MEYCIQDsdC8ZsmrFZI9krecT3FNt7QFJZAzGPQjOCWvqGWgqlgIhAJs5f/K+zJCglOvw7AuD76wGe7Wk0dwdbjMnu0FZ8Ta2"}, "inclusionProof":{"logIndex":"2150777462", "rootHash":"G83ykF12EP+2FerQKQL2f4dyJQzsyfBabxjixqlMkAI=", "treeSize":"2150777591", "hashes":["mQkTOItxFdCo2L3ovCD3HiOB3lvFND0eJtwu4x3dV9U=", "SnjsMDZUNMD5p8HulkLHZbMJo0O+ekKGm9cpDH5SHPY=", "IB+kpCVoOdMUJ1OS9IQqWV1FUUnsjdF9FTMMUAcotS8=", "80RkQ2woXkUlngDaOiivkRufoSOQ6Ds/HFkQly1xq5I=", "wW+7AyZ6xbvD+UmfLhrebyEI/T3aNQtr8a4BjPIwlEI=", "Mcud41P5ahJ3QwNUlTa6O4tSWNssF5B5pqKEomyVaZw=", "+O/IlinVZD7lohj5L7neGxuJNbUdq0Tkpq2CCeM2rHY=", "SuW6epQI0fDRGcYgKs4fgEsq3GXoP+9bITm9nl8qNOc=", "mIXjSHdc+e0TQnQn7b4JMbbYKzSI/hVSVlo+LaWdtzU=", "CWWe7UHB0sfwnjaIxypFl8SOkHXNSiF6Pi0tGIlRbM0=", "eajL3Dn2pqpYYY6uWdKYjO+d5R53UPgrOMR8bG9AHzo=", "+y2KDjyJa2I45aBzk4OGlhCUNDIz7jP+JsavWAENXHc=", "6U/DFMYF6zqForDwR42B3tjamfuW+bfpNdkXBGnpxkQ=", "xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="], "checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2150777591\nG83ykF12EP+2FerQKQL2f4dyJQzsyfBabxjixqlMkAI=\n\n— rekor.sigstore.dev wNI9ajBEAiBdak1wIIb9IUxakjNK1A37SLFNkaLdWuN/0SsvCgOMZQIgapMR3e5FBkmpujJipxEMGxYO9Pg1ErQ2FhrliKJtW7M=\n"}}, "canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIzZTVjMzRjYjc5NTA4MjU2NWVlNzU1YzJiN2ZjNWMwZDJiMWQ4N2I2YTY4NTYwYWQ1MzVkN2M5OTZkMjU5OTNlIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUURnZXNvai9mSG5kZ3lxekdrWDBKSFdnSE4xcjF6NnpsdzU4K0hQTXhHY0d3SWdib3Jwc1JaU1FQa0V2U2tGSEZOdncyT3JDYjkrUzI5YlN0QU5YSnZIakg4PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFdSRU5EUW5SMVowRjNTVUpCWjBsVlVsQmlaVzFSU1cweFNHSTBUazR5YUhKNVREZGhlRlZFYTFCRmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDU2U1RSTlZFMHhUMFJCTlZkb1kwNU5hbGwzVG5wSk5FMVVVWGRQUkVFMVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVYyWVZjMmVYSTBiRFZJZW14NlpsbGpjMnhqVkcxeFkwdDFRbFpZUVRacU5WazJVemtLVTA1a0wwaFJPR2hsWjFwVlJWSlJSRzFWVEZwM1R6VkRlR1k1UTJGa1ZVbGxORmhtWkZGdWIyc3ZLelExWm1aWlNrdFBRMEptYjNkbloxZ3lUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZZTTBKMkNsTXlUWFF6VjFaUFkxZE9RM2RFYlRoUldVeG5XSHBKZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJOUldVUldVakJTUVZGSUwwSkhZM2RhV1ZwcVlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb2FHTklRalZrYlZaNVpFZHNhZ3BaVjNkMlRHMWtjR1JIYURGWmFUaDFXakpzTUdGSVZtbE1NMlIyWTIxMGJXSkhPVE5qZVRsb1dqSldkV1JETVhkaU1uaHdXVE5yZEdOdE9YTmlSemt4Q21SRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVkRmxYYkhWTlJHdEhRMmx6UjBGUlVVSm5OemgzUVZGRlJVc3lhREJrU0VKNlQyazRkbVJIT1hJS1dsYzBkVmxYVGpCaFZ6bDFZM2sxYm1GWVVtOWtWMG94WXpKV2VWa3lPWFZrUjFaMVpFTTFhbUl5TUhkSlVWbExTM2RaUWtKQlIwUjJla0ZDUVdkUlZBcGpiVlozWWpOT2NHUkhPWGxsVmpscllWaE9kMWxZVW1waFJFRXlRbWR2Y2tKblJVVkJXVTh2VFVGRlJFSkRaekZhUjFFMFRVUkZlRmxxVW0xYVZHY3hDbGx0VW10TlZHUnJUVlJhYkZsdFJUUmFSRVUwVFZSWk5FNUVTWGxhVjAxNldWUlJlazFEU1VkRGFYTkhRVkZSUW1jM09IZEJVVkZGUmtWR2JscFhOVEFLU1VaQ2RtSkhiR3BsVTBKVFlqSjRjMkl6VmpCTlEwMUhRMmx6UjBGUlVVSm5OemgzUVZGVlJVWlhhR2hqU0VJMVpHMVdlV1JIYkdwWlYzZDJURzFrY0Fwa1IyZ3hXV3BCWkVKbmIzSkNaMFZGUVZsUEwwMUJSVWRDUVRsNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBkMWxMUzNkWlFrSkJSMFIyZWtGQ0NrTkJVWFJFUTNSdlpFaFNkMk42YjNaTU0xSjJZVEpXZFV4dFJtcGtSMngyWW01TmRWb3liREJoU0ZacFpGaE9iR050VG5aaWJsSnNZbTVSZFZreU9YUUtUVWhOUjBOcGMwZEJVVkZDWnpjNGQwRlJhMFZhVVhocVlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb2FHTklRalZrYlZaNVpFZHNhZ3BaVjNkMlRHMWtjR1JIYURGWmFUaDFXakpzTUdGSVZtbE1NMlIyWTIxMGJXSkhPVE5qZVRsb1dqSldkV1JETVhkaU1uaHdXVE5yZEdOdE9YTmlSemt4Q21SRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVkRmxYYkhWTlJHZEhRMmx6UjBGUlVVSm5OemgzUVZGdlJVdG5kMjlPVjFKclQwUkJlRTFYU1RBS1dtMVZORTVYU210YVJFVXpXa1JGTWxwWFNtaFBSMUY0VDBSRk1rOUVVWGxOYlZacVRUSkZNRTE2UVdSQ1oyOXlRbWRGUlVGWlR5OU5RVVZNUWtFNFRRcEVWMlJ3WkVkb01WbHBNVzlpTTA0d1dsZFJkMDlCV1V0TGQxbENRa0ZIUkhaNlFVSkVRVkZ4UkVOb2IyUklVbmRqZW05MlRESmtjR1JIYURGWmFUVnFDbUl5TUhaaFIwWjNZMGhzTWxwWVNqQmhWMDVvWWtNNGRWb3liREJoU0ZacFRVUm5SME5wYzBkQlVWRkNaemM0ZDBGUk1FVkxaM2R2VGxkU2EwOUVRWGdLVFZkSk1GcHRWVFJPVjBwcldrUkZNMXBFUlRKYVYwcG9UMGRSZUU5RVJUSlBSRkY1VFcxV2FrMHlSVEJOZWtGbVFtZHZja0puUlVWQldVOHZUVUZGVHdwQ1FrVk5SRE5LYkZwdVRYWmhSMVpvV2toTmRtSlhSbkJpYWtGaFFtZHZja0puUlVWQldVOHZUVUZGVUVKQmQwMURha1Y0VFdwcmVVNTZRVEpOVkZGM0NrMUJXVXRMZDFsQ1FrRkhSSFo2UVVKRlFWRnBSRU5DYjJSSVVuZGplbTkyVERKa2NHUkhhREZaYVRWcVlqSXdkbUZIUm5kalNHd3lXbGhLTUdGWFRtZ0tZa1JCV2tKbmIzSkNaMFZGUVZsUEwwMUJSVkpDUVhOTlExUkZlazFVVVRSTlJHTjZUa1JDZWtKbmIzSkNaMFZGUVZsUEwwMUJSVk5DUjFWTldUSm9NQXBrU0VKNlQyazRkbG95YkRCaFNGWnBURzFPZG1KVE9XOVpXRUozWlZoYWJHTnVVbkJaTWtaelRIazFibUZZVW05a1YwbDJURzFrY0dSSGFERlphVGt6Q21JelNuSmFiWGgyWkROTmRsbFhaR3hpYmxGMFkwYzVjMkZYVGpWTVdFcDJZa2Q0ZG1SWVVYVmxWekZ6VVVoS2JGcHVUWFpoUjFab1draE5kbUpYUm5BS1ltcEJORUpuYjNKQ1owVkZRVmxQTDAxQlJWUkNRMjlOUzBSV2ExcEVaM2ROVkVacFRrZGFiRTlFVm1sYVIxRjRUakpSZUU1dFZtbFpWR2hyVFZSbmVBcE9hbWN3VFdwS2JGbDZUbWhPUkUxM1NYZFpTMHQzV1VKQ1FVZEVkbnBCUWtaQlVWWkVRazU1V2xoQ2RtTXliREJpTTBvMVdESlNjR016UW1oa1IwNXZDazFHZDBkRGFYTkhRVkZSUW1jM09IZEJVbFZGVkdkNFRXRklVakJqU0UwMlRIazVibUZZVW05a1YwbDFXVEk1ZEV3eWFHaGpTRUkxWkcxV2VXUkhiR29LV1ZkM2RreHRaSEJrUjJneFdXazVhRmt6VW5CaU1qVjZURE5LTVdKdVRYWk5la0Y2VG1wVk0wNVVSVEpOUkdkMldWaFNNRnBYTVhka1NFMTJUVlJCVndwQ1oyOXlRbWRGUlVGWlR5OU5RVVZYUWtGblRVSnVRakZaYlhod1dYcEJLMEpuYjNKQ1owVkZRVmxQTDAxQlJWbENSRUZOVEc1S2JHTkhPRFpoUjBaM0NtTkliREphV0Vvd1lWZE9hR0pET0hWYU1td3dZVWhXYVU5dVNteGFhbkI1V2xkYWVrd3lhR3haVjFKNlRESXhhR0ZYTkhkbldXOUhRMmx6UjBGUlVVSUtNVzVyUTBKQlNVVm1RVkkyUVVoblFXUm5SR1JRVkVKeGVITmpVazF0VFZwSWFIbGFXbnBqUTI5cmNHVjFUalE0Y21ZclNHbHVTMEZNZVc1MWFtZEJRUXBCV2l0d1FrMUlRa0ZCUVVWQmQwSklUVVZWUTBsUlJHVk1XWGh2YVd4aVNUSlVjMHR0ZUdkSVdXbzJjSFpDUjFGUFdGWmtNRzlDWWsxSlUyOTBXRGRIQ25sblNXZGhibWRGT0hkclZHeFJjRlJpVEN0WGQwbDNSMFk1VEN0NGJGVnhWaTh5TTNSbFpVZ3laVmhDUVRnd2QwTm5XVWxMYjFwSmVtb3dSVUYzVFVRS1duZEJkMXBCU1hkWGExcDJWbUY0VTJoaGVrTk5kVE5zVkdOdFQybHZjVkZZY0hkeVJVbHRXV1ZpU1d4ME1FazFSbXBVVW10T2VETkVZMFF6Wm5ORVZBbzJRVkpZUnpKNGRVRnFRbGxpSzFob1ZuRXpOVUZVZW1OQ2VuUjRRMWN2TWpGMWMwcGhWRFpOTUZsT1NGVTVObEJLU1hreGFERjFLMnBGVFVsUVEyRlVDa05OY205Wk1tbHBlRVZSUFFvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2c9PSJ9fX19"}], "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQglhkVoYJqA5No+knI7Zt1w3TBC+IAQpC0qJlWTJf3aTMCFQDO9zewMMaKFH+ZvCsJPLgHtsCCWxgPMjAyNjA3MjgxMzU4MDlaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDcyODEzNTgwOVowLwYJKoZIhvcNAQkEMSIEICn1Os/MeWYJlbM6axRMNKqoeMHmgn7BB9tgkwIU/vZDMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMDQHpf25s8vkPr6CeLW2RGz+AQkuA8BzlVm2Z9tzXOqYTgY2piQXwIVvIKRCY6/B1gIxAKlfZ1iz2IaEfkA5rit/kG2v2vJLcPEFsQME9D5RmVddf/EWtuOb14D8cADYfcromg=="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_256", "digest":"Plw0y3lQglZe51XCt/xcDSsdh7amhWCtU118mW0lmT4="}, "signature":"MEUCIQDgesoj/fHndgyqzGkX0JHWgHN1r1z6zlw58+HPMxGcGwIgborpsRZSQPkEvSkFHFNvw2OrCb9+S29bStANXJvHjH8="}}
65 changes: 65 additions & 0 deletions .github/agent-policy-evidence/revision-15.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"artifact": "ghcr.io/happyvertical/agent-policy@sha256:78e729c396768f7e5675c676caff46706b7067a6674c2e409a475a06cf6e4dda",
"errors": [],
"generation": 16,
"phase": "smoke",
"results": [
{
"conclusion": "success",
"default_branch": "main",
"head_oid": "9ff8e4f76eb7809bf11b76de6fc8d237eb04848a",
"repository_id": "R_kgDOOtHtPA",
"run_id": 30365766333,
"selected_artifact": "ghcr.io/happyvertical/agent-policy@sha256:78e729c396768f7e5675c676caff46706b7067a6674c2e409a475a06cf6e4dda",
"selected_channel": "stable",
"started_at": "2026-07-28T13:55:00Z",
"workflow_path": ".github/workflows/agent-policy.yml"
},
{
"conclusion": "success",
"default_branch": "main",
"head_oid": "5dd8011b4fe85bdd17d16eba8d18168422ec3a43",
"repository_id": "R_kgDOQ09NVg",
"run_id": 30365819757,
"selected_artifact": "ghcr.io/happyvertical/agent-policy@sha256:78e729c396768f7e5675c676caff46706b7067a6674c2e409a475a06cf6e4dda",
"selected_channel": "stable",
"started_at": "2026-07-28T13:55:37Z",
"workflow_path": ".github/workflows/agent-policy.yml"
},
{
"conclusion": "success",
"default_branch": "main",
"head_oid": "36d48d9c6a761fedf5cd509412de1d716bb9e70c",
"repository_id": "R_kgDOQDruXg",
"run_id": 30365883635,
"selected_artifact": "ghcr.io/happyvertical/agent-policy@sha256:78e729c396768f7e5675c676caff46706b7067a6674c2e409a475a06cf6e4dda",
"selected_channel": "stable",
"started_at": "2026-07-28T13:56:24Z",
"workflow_path": ".github/workflows/agent-policy.yml"
},
{
"conclusion": "failure",
"default_branch": "main",
"head_oid": "b63189b095f3b1b840f0cd004c7e11fac8ac9152",
"repository_id": "R_kgDOQmZF0A",
"run_id": 30365919444,
"selected_artifact": null,
"selected_channel": null,
"started_at": "2026-07-28T13:56:51Z",
"workflow_path": ".github/workflows/agent-policy.yml"
},
{
"conclusion": "failure",
"default_branch": "main",
"head_oid": "89361180126ff3b3b30a42b3bd4e11fc566af1c9",
"repository_id": "R_kgDOQmZFRQ",
"run_id": 30365980413,
"selected_artifact": null,
"selected_channel": null,
"started_at": "2026-07-28T13:57:35Z",
"workflow_path": ".github/workflows/agent-policy.yml"
}
],
"schema": "hv-agent-policy-channel-evidence:v1",
"state_revision": 14
}
8 changes: 4 additions & 4 deletions .github/agent-policy-lock.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"artifact": "ghcr.io/happyvertical/agent-policy@sha256:78e729c396768f7e5675c676caff46706b7067a6674c2e409a475a06cf6e4dda",
"generation": 16,
"artifact": "ghcr.io/happyvertical/agent-policy@sha256:0a00ee6409da980809cb2037beb690dfed22f6657465d8af15a1c42ac165a2fb",
"generation": 15,
"policy_revision": "1.0.0",
"schema": "hv-agent-policy-lock:v1",
"source_commit": "a129dcfc2bbe96958483199ac552cb13a9523413",
"source_tree_sha256": "94c5e3bdfe6c6e2a0adbe4b3024ce78f4976ace010a79fa09fbf0f8f446d78bc"
"source_commit": "6a565d68e1ae921888098b687ca3b9ababe8d038",
"source_tree_sha256": "20055307d27993826db191910a5be241fabfd723c58dd81e9c099563d9dc1295"
}
10 changes: 3 additions & 7 deletions .github/workflows/agent-policy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,15 +127,11 @@ jobs:
if test "$channels_active" = true; then
if test "$TARGET_REPOSITORY_NUMERIC_ID" = 1129270614 \
&& test "$EVENT_NAME" != workflow_dispatch; then
# Explicit fail-closed form. The equivalent `test A && test B || {
# ...; }` reads as if-then-else but is not one, and ShellCheck
# rejects it as SC2015 in consumers that lint this byte-canonical
# workflow (happyvertical/.github#66).
if ! test -f .github/agent-policy-channels.json \
|| ! test -f .github/agent-policy-lock.json; then
test -f .github/agent-policy-channels.json \
&& test -f .github/agent-policy-lock.json || {
echo 'central policy channels cannot be removed after bootstrap' >&2
exit 1
fi
}
fi
candidate=()
if test "$TARGET_REPOSITORY_NUMERIC_ID" = 1129270614 \
Expand Down
Loading