Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CANDIDATE POLICY ONLY
This bundle is not the final production authority root.
Its digest is review evidence only.
Final v2 must be rebuilt after production signer policy and final authority workflow/action bytes are fixed.
Future production workflow/action bytes are protected inputs. Their final hashes necessarily change the protected manifest and therefore the final bundle digest.
Problem
The external-policy-root architecture is merged, but v1 cannot admit the intentional v2 migration: the root scanner config and reviewed baseline change, and a new policy mirror appears. Historical v1 artifacts must remain immutable evidence without becoming a scanner blind spot or being copied into the baseline merely to silence hash findings.
Invariant
8e9e4c53a123bc285dd3f7c523427747326ab281; submitted head is exactly7c9e5135804e0ffe1f7e5d982bf419fbbd4352be.6f25ebb773ce1453e8de623bca5aaecc936f1f188288f8df20aedeadb3bf4612.Design decision
policy/repo-sentinel-authority/v1/**andpolicy/repo-sentinel-authority/v2/**scanner globs.-textpolicy already used for v1.Threat and failure model
The mutation campaign demonstrates fail-closed behavior before scanner authority for all of these admission classes.
Rejected alternatives
policy/**. Rejected because it creates an unbounded policy namespace blind spot.c9575ee1597337fc8c46c339eae30476bfd97571cd84d0ca7f6f95e516edac72. Rejected because this is candidate evidence, not production authority.Compatibility
No acquisition, reader, materializer, controller, worker, scanner, report-schema, signer, workflow, App, branch-protection, or ruleset semantics change. The only Python change updates a transitional contract test; all authority implementation bytes remain unchanged.
Changed file scope:
.gitattributes.reposentinel-baseline.json.reposentinel.tomlpolicy/repo-sentinel-authority/v2/baseline.jsonpolicy/repo-sentinel-authority/v2/coverage-policy.jsonpolicy/repo-sentinel-authority/v2/dependencies.jsonpolicy/repo-sentinel-authority/v2/epoch.jsonpolicy/repo-sentinel-authority/v2/protected-manifest.jsonpolicy/repo-sentinel-authority/v2/scanner-config.tomlpolicy/repo-sentinel-authority/v2/suppression-manifest.jsontests/test_repo_sentinel_policy_contracts.pyCandidate digest
CANDIDATE_D_V2 = c9575ee1597337fc8c46c339eae30476bfd97571cd84d0ca7f6f95e516edac72Candidate components
baseline.json8eff61c98f62d54b7280517967e6f9f8e66ffb2d18f5d4acbb9de63565a01669coverage-policy.json679da3c4f5188367842ad55f25e9f00c0af34dff97fa8c9b528f1d51b243a7cbdependencies.jsona8acbdf5ba63d28ac2e8d6940d7618eb2bde1851696cbdd31ae07a7666037074epoch.json9bc408b6db191c03c7993df6fca00dc3e7e78f116b0b7e7aa5ecbd397d42c358protected-manifest.json787da55b0104d81d6b4404a93baf562b64c2a337c9ce94f7dff88fe4a59bcb79scanner-config.toml296b51421202609a4b770d868cd1026a2aa26e884e66dff759516679e63b73e4suppression-manifest.json6e8dbc24956284b763d74fe25fda579f49838a8e1e18d6665739e70697345506Protected entry set (17)
Exact path, mode, and byte hash set
.gitattributes10064469c12dff31af0dd49817c0f38898cfc0304fb33d95f0bcf093f0208c0c849a59.github/workflows/markdown-lint.yml100644d9a175b811a904f7b4e9da79e356980f557c8656cfa4ea81744bc86ecb241175.github/workflows/markdownlint-debt.yml100644286c57901506054dfcdd5ba5425c3e851a6201ee43ffec95db765b579d99a64a.github/workflows/placeholder-audit.yml10064471fffc8b84e38ab3bf95b6497dafb32a3f3ec563fef8e5894a234123989c495c.github/workflows/repo-sentinel-gate.yml100644bff70a88960b96d445be7149258a4b2c5d8fef1126ecce6bb6520b794efd1931.reposentinel-baseline.json1006448eff61c98f62d54b7280517967e6f9f8e66ffb2d18f5d4acbb9de63565a01669.reposentinel.toml100644296b51421202609a4b770d868cd1026a2aa26e884e66dff759516679e63b73e4scripts/repo_sentinel_acquire.py1006446133a969ccad41394113775c872d35403b94f1d80926fab95948a123ad8f54e9scripts/repo_sentinel_authoritative.py10064433b7fe73fa798b212177e9f4a5064ee0845aa19f50a8df29d0fcd85451b95220scripts/repo_sentinel_authority_bootstrap.sh100755cdeb5b89adb4005ff1c9ab4bae5f113ffb9a725164a18b4af05a1325c0e69f30scripts/repo_sentinel_authority_controller.py10064452fd52bab5a6f821e874c39c6cf28298610a7854b07468c854158a0f41a032d7scripts/repo_sentinel_commit_authoritative.py1006444743536cfc55b777afd06b4dc1d50c5c0bfe7dcc3bd7a80849ad0cdf4a18ed67scripts/repo_sentinel_gate.py10064479be642d1aa1b464b377115ef8d02175f82a793f7f242b714efe35e4f97a190fscripts/repo_sentinel_materialize.py10064405fd0b6448fdb3b6c52969700d6a9a19e4790c7c78343af09aebb37d0bc5c0edscripts/repo_sentinel_policy_bundle.py1006440b8ef28aeba391dac366f38bb5ce4903132acfcb89359f01067a773b12ad4386scripts/repo_sentinel_reader.py1006443fc587a12847d58bd78d4168a3a959293c76928f60a6ccfcae5d1fb5d8e36ef0scripts/test_repo_sentinel_integration.py100644ae67bd08f03c0a0877c5c078f32ec2e91b72fb0ad768cdadcf3688e8afe142a2Suppression entry set (2)
tests/test_repo_sentinel_authoritative.py100644203e057697436bd2db73313ec8d27e7564d04684218a3c2e51608f9066a420e2tests/test_repo_sentinel_commit_authoritative.py10064480656d8990f2daa58e9b0aff8a8c0b1ee2da408f6d970467beac64f8e596c44eCoverage entry set (10)
.reposentinel-baseline.json100644config_ignore8eff61c98f62d54b7280517967e6f9f8e66ffb2d18f5d4acbb9de63565a01669policy/repo-sentinel-authority/v1/baseline.json100644config_ignore0b6e8641d58a8a4c927d6dd610562d6f6e40bddb7cb1dd0f7c42c103ae3193b5policy/repo-sentinel-authority/v1/coverage-policy.json100644config_ignore36b544546949b64e83bde547ca861f03446e7ef1f3321439795a90ffc8a6b0depolicy/repo-sentinel-authority/v1/dependencies.json100644config_ignorea8acbdf5ba63d28ac2e8d6940d7618eb2bde1851696cbdd31ae07a7666037074policy/repo-sentinel-authority/v1/epoch.json100644config_ignore25e08c1051ad0e8d3137728435dc1dec57b52bf3d7497cb82c51d1739a1ba82epolicy/repo-sentinel-authority/v1/protected-manifest.json100644config_ignore307fc1e7c57879bc82ba9aab658d1ac318214addd16dd125057c5996a79bf466policy/repo-sentinel-authority/v1/scanner-config.toml100644config_ignore69d0c0d8748e8c113aa31f63c82992633b666a61c0eb60a4298138ee885dea33policy/repo-sentinel-authority/v1/suppression-manifest.json100644config_ignore98265ad3389adbf19f55f1141b58151a7e35ad0dcf6a43dfc2b94848db0aec1dreports/markdownlint-debt.txt100644config_ignore85c81f3abf8dce8b1e08e95ceca33243adbd6829f2c4db586d1f23a152cb6197reports/placeholder-audit.txt100644config_ignore53228461cdc4e9db92612944d30152efff3ce50a80e850bdb6cdc82641e77a13The authority evaluation reports seven additional current-mirror exclusions, yielding 17 policy-excluded files and zero scanner skips.
Baseline migration
BENIGN_POLICY_IDENTIFIER, 28DOCUMENTATION_IDENTIFIER, 25TEST_IDENTIFIERMATERIAL_SECRET_OR_UNSAFE_LITERAL: 0Exact 81-entry reviewed identity set
.gitattributessecret.high_entropy1erroraa3b5b6ccd82e21da8bd6c5c59491f51d9f0a8de079c95f13a0bd684e40c2786f112a4d0fe6f986695ee56d1317ac6f6bd76c0413ba374ac657db34ce34b0d5aBENIGN_POLICY_IDENTIFIER.reposentinel.tomlsecret.high_entropy1errora4e1da4f5e47eaadb2f6b28a80be58e97b4b6088ff55226d90c322e8cb7b577f8277981fffa2626b0be876bcadcdbd414e6f191148b1c847bc6a0c088d7366deBENIGN_POLICY_IDENTIFIER.reposentinel.tomlsecret.high_entropy1erroraa3b5b6ccd82e21da8bd6c5c59491f51d9f0a8de079c95f13a0bd684e40c27869e7d0206e742cb3bf1aab67e8e84251909aad15d9a52972516ec4fff9b18073bBENIGN_POLICY_IDENTIFIERdocs/design-decisions/repo-sentinel-authority-controller-v1.mdsecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca424ef59c8ca932ed02b102fdad10581239e9c9e94a9445d43e3015f6708b512f018DOCUMENTATION_IDENTIFIERdocs/design-decisions/repo-sentinel-authority-controller-v1.mdsecret.high_entropy1error6dbcab8d4cc8b10135c40b1dafd156f310e7db0f7970ea0e9f33830fc9e805ea871f87c11076e7c9dd22918579bac0b2cb7341a2761a838349fbfc89249e4b57DOCUMENTATION_IDENTIFIERdocs/design-decisions/repo-sentinel-authority-controller-v1.mdsecret.high_entropy1errora4e1da4f5e47eaadb2f6b28a80be58e97b4b6088ff55226d90c322e8cb7b577f0356782f8a04029368fbb1544e89af01e43a8aa7b99f2abfa4a92c2d97131168DOCUMENTATION_IDENTIFIERdocs/design-decisions/repo-sentinel-authority-controller-v1.mdsecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde136898409bb6323eed3817e3cade40cd6c67cc9ec2a2c571717a5efa24ce7f92604219aDOCUMENTATION_IDENTIFIERdocs/design-decisions/repo-sentinel-authority-controller-v1.mdsecret.high_entropy1error874603f472c93da3a200c2536635499bfda0667ca6353cec09758ae379418136ac5b53a90e0175df9ed20d29dddac461bf49074ec7d888581e5b577f89325386DOCUMENTATION_IDENTIFIERdocs/design-decisions/repo-sentinel-external-policy-root-v1.mdsecret.high_entropy1erroraa3b5b6ccd82e21da8bd6c5c59491f51d9f0a8de079c95f13a0bd684e40c27865f4dd464c89687cdc410b020df8f30f7a5372d47779801b9666e96d620d1ee56DOCUMENTATION_IDENTIFIERdocs/design-decisions/repo-sentinel-external-policy-root-v1.mdsecret.high_entropy1error4a9ab723a0eb41d16c4d327846b6546467478e68c92da0ad28a36ecd5bf4ca15471358c0a426f12fd4b71a19204127a19843eea8ff612f88096683e50b17c731DOCUMENTATION_IDENTIFIERdocs/design-decisions/repo-sentinel-external-policy-root-v1.mdsecret.high_entropy1errora4e1da4f5e47eaadb2f6b28a80be58e97b4b6088ff55226d90c322e8cb7b577fcedd4fe83cb192691d9662f059f306470381823f04236af1e31c3d920d7139e8DOCUMENTATION_IDENTIFIERdocs/design-decisions/repo-sentinel-external-policy-root-v1.mdsecret.high_entropy1erroraa3b5b6ccd82e21da8bd6c5c59491f51d9f0a8de079c95f13a0bd684e40c2786b07f64ba2c5fb383e7e52d750af4d770e5c68821bfc7cf96cb88d5c329653f51DOCUMENTATION_IDENTIFIERnotes/00-foundations/hydra.mdsecret.assignment_context1warningee59b1ea6703655277ccc3f02187edae47bdfb2e2583c8310867c26f0482c596460da1fa00978cc74d97a531bcadaff941548f619b3d2eada1efa6ca5aef2a86DOCUMENTATION_IDENTIFIERnotes/00-foundations/hydra.mdsecret.assignment_context1warningee59b1ea6703655277ccc3f02187edae47bdfb2e2583c8310867c26f0482c596d8a2d585f3d4884ec9dbf1365501517c37cbbbae9bd3683061786af3baf99599DOCUMENTATION_IDENTIFIERnotes/00-foundations/hydra.mdsecret.assignment_context1warningee59b1ea6703655277ccc3f02187edae47bdfb2e2583c8310867c26f0482c5969634eacb4684219b56d82653f4c897739ff34c9ab9947c702bf355b452f814ecDOCUMENTATION_IDENTIFIERnotes/10-web/20-authentication/authentication-bypass.mdsecret.assignment_context1warningfea7192489168e1eb63a4fec60186a31cbb5470fe06cfe5d634fcfe7f99869c3e6dd6b961044a1142f2e5b10c0cf71e88fbb023e500c42a8ade888b90b0719ffDOCUMENTATION_IDENTIFIERnotes/10-web/20-authentication/authentication-bypass.mdsecret.assignment_context1warningfea7192489168e1eb63a4fec60186a31cbb5470fe06cfe5d634fcfe7f99869c3413eae5b45273fb95ac65c2100265e543146fb5c449280e7dcd4438c9c74b080DOCUMENTATION_IDENTIFIERnotes/10-web/intro-to-iot-pentesting.mdsecret.assignment_context1warning4bd89417201d6926b7722102d103637a9963e6e0715a958ff0afd939d218dcbd8eaaa2a4b861c31850ccce02b9c12c605b682fa416146d91ba298553a1a034c2DOCUMENTATION_IDENTIFIERnotes/10-web/sqlmap-the-basics.mdsecret.assignment_context1warning4834e5b26a861e39f4fc2b01f7c2c913bbb5ab1ae01c3a48f3c6011cce5975f4ea9f621a91032cc44f93e498dae9aedbec59136fe6fc53bad3037d7d3dd42c5cDOCUMENTATION_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error6dbcab8d4cc8b10135c40b1dafd156f310e7db0f7970ea0e9f33830fc9e805ea9978230a465a5a7419ac5b8904275cbf4f00e0c596542ed857efbe8d5a192f74BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error3dae57c31c65791e449e62c54c1f3dcc524346cd8c19e8a5ef9168b0c412809cbada2ec85672ee15eee2a7867e208a6e0cef60517572e444a0813c3d2eb6805aBENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1errora63871bc1b338055afcc069521d993fd0525e0a5352263db23ded4b61ec6ac21c45b3012937894431ba9f08fae981c89b80ad037595af6e7ff52b85c7aa9acc6BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error5a8cfc8588cce1e6360ffeca9bfda8e65881bced2e52fec34151d3bd04d2b90f003abe1eb4805a2e2309f77be76d77990ccb5ae79158e1ba0f60c760634ad965BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error7f2b15d4664cc7d6cacfe6f35763ac262eb7062de73387bbe7902738113f350fa07e40efebb354ada2916d1303e71f3981770d389ab278ab5a62c71606f846b0BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde13689847a4f0045fa3ccbf679f1fad5d7bf8e1307d9dc653989d0dfb67fef0113b89b32BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1errora527b6909f40df9cec2777d8377356d6ede4e6d1714034b38c985367a27d2f9a0cc652d10c2ea9cf8db2f80b049b3a74c8bf65d157bfcfdd5cf92189d73024adBENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca424aace39995234baa6d30b3482431043425118c0cb3f2452be41e13c0b5368d71aBENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde1368984df1e217fe92be524c358f48028ea93479b934500caec01fe44f36f72a936b634BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error874603f472c93da3a200c2536635499bfda0667ca6353cec09758ae379418136ce111b01106e1489d010ff0ed242277ee8b4a772a96f5187a57091be8a2e55a2BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error5a8cfc8588cce1e6360ffeca9bfda8e65881bced2e52fec34151d3bd04d2b90f869d6b9755269e2f99db0a47b9aec74b2b7619670e6fca994da536fe4ea6fb17BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca4249601027f1550479a2574d799262a7cc16d193929085f87989c05e7037309152fBENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca424e1c42ba037cc75f5b27284ef2450d139dcd717984bf19c76858f49ba2ae493baBENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde136898464040476562b748b5eb1c74bf525c2fcbf269817f5b8b5b6b79b4c244cb0945bBENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1errora527b6909f40df9cec2777d8377356d6ede4e6d1714034b38c985367a27d2f9a7490fbaf0f6826341cc2f33ff7b3b1745d2468fc78aebab3be70ce2af0402070BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error7f2b15d4664cc7d6cacfe6f35763ac262eb7062de73387bbe7902738113f350f68e5fe63a29a48aa9c9d705e7a036588ff652b5ebbfbe3028f1b312eb5a8d3fcBENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca4242cbbac50dd405d3399c67c98729ce9413368a0934376bce15fcc7104a039c339BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde13689849ea9d740e7ca093ebfde37c607faea5203439d4c5737449e6d52fbd67e927b78BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca424e0e38b21504411b1c4f38c0ac8b96c91a1923c062dc4ae7cdeb3a8b1ef715e24BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca4248f34787d1ff8c3db25581c141120577948effb7a0fff569e3762b1a14ea70161BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca42476f09eb73337ffa61e9c1609522bc3853850e743986905073fd497c32fe57b2dBENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca4242e1a71ca295df48bb5ec7e3345daa323028107cce977cae6ba458f41f2c9cad7BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde1368984426fc4feb4553ce6d00ee4b0c579657d83b2c1818f4a41ac6d2200f680d8adeaBENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_authority_controller.pysecret.high_entropy1error874603f472c93da3a200c2536635499bfda0667ca6353cec09758ae379418136a4b879eb1c37105589ef001af304330b5ca654e9fcf1aeebf2fcf5692f234222BENIGN_POLICY_IDENTIFIERscripts/repo_sentinel_policy_bundle.pysecret.high_entropy1erroraa3b5b6ccd82e21da8bd6c5c59491f51d9f0a8de079c95f13a0bd684e40c278603694c1416bc095d21bd3a833658f90e80e70f656888226f99785f3c6a530823BENIGN_POLICY_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde136898469c0e8afb714313eda50db8938818c0826a50a8af1ac788b469dfdf47193c697TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error7f2b15d4664cc7d6cacfe6f35763ac262eb7062de73387bbe7902738113f350f1bb03b6001e4ac8558e679f7038893e1685c59ffd4f6b9668f4a54a1ff972e50TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde13689842323a9d6cdc15f6730829e1248f676ff2f53cac70f313e5989dfb7532f1e5a06TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1errora527b6909f40df9cec2777d8377356d6ede4e6d1714034b38c985367a27d2f9a661fa9d5cf32777d58d2a450e2c17874a1aa9c8b5d6e7d65cb8300f38e032705TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error874603f472c93da3a200c2536635499bfda0667ca6353cec09758ae379418136bbfc4eb5058027f4f454057bee9c7a5648f827505c131653e8384f3eb79b893aTEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error5a8cfc8588cce1e6360ffeca9bfda8e65881bced2e52fec34151d3bd04d2b90f82ebea37a5f1e2fbbc10000203fd201243a8d422d782c665a14efaa7fd8c2787TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca424e8344f815bab0e2d54eac8c90fea5713af3310f0a51552796cbbbba58b4fb59cTEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error6c9ee1764695b6d0dcb4fd77d2ca3a0f0caf85bef480001d877ff55cbcabbc1d9e2c7a2cf963ce3e20f9a885827eea8ca3bfaa9d17a28dc3c1cc4eaceff222b7TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca424b43d53b270b2b47b691bff6f66ccfd85b40ff72d4a135dab3fae01e9dc8759f3TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error788cbad0dbfd24e29cc53273bbf0ccf0f0026ff97655e5309620cca5cff12fd8af94d0d0e89da6c7f7a320eb22106494a043bb9e19b81d0f55e8db0b8f48dce2TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde1368984835e8577913fc2b520e5b49892c97312ada735d07a1166594e0c2c010169f764TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde13689848326e08bb87eca9d7000344035df5b16da477d1ed6e17d8c736856c187e5a30cTEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1errora9f908a414d96dacb1efb3c4e587a483ccef5f0e0e2a2f8c4ab4a64c2508437e63fdeed73806fb03f407344fae18eaa294ba0de77d582ca8767272a339413d7dTEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde13689840d63502611565c5d526bb01d2f29e828c22e43be1f53d5bb9a3648446c7b15a1TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error60b59ea645ff24c792926c33141b739913782f516a7bfc1dd0702d3814dca424daba36972dd17ae9d189826f6d6d8cd2ed58f1aa0cacec64f848a9a8039f1f29TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error3dae57c31c65791e449e62c54c1f3dcc524346cd8c19e8a5ef9168b0c412809c24f7aa94c6a98fef2de66e66adebc52abad61bc62c5147f35fafe58f0e662096TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1error881bd682f6515036d009b199df823dbc52f51dce9f8c5f90148ed9cde13689845aa76f9067965e1dd23779db30a142a74623faa4c5d429301f9a181fd8646bbaTEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1errore9780fdca5c88c86e9ee5cd2a7020c0c554b934811940734f1341713dd74d7266c1ae8f5c1aa714e0c3ce8b6f89c8f835ee51af781852bcd661bda39973766c4TEST_IDENTIFIERtests/test_repo_sentinel_authority_controller.pysecret.high_entropy1errorc7fa791b64d78ad531d2f624044b425d020c5954826bf4a5ad7f57de7fe4e1a2e94bf61f47f8263e05d4e82ee11c453fa3164b8400d1b918ad3458e946675b8bTEST_IDENTIFIERtests/test_repo_sentinel_commit_authoritative.pysecret.high_entropy1error614b07cf3f6078e0a6ca69e42e4ab35a14354f257cbb58bad1ab0a2255bf071acf2576403a797045e6725e0c4495bcc796308304f7b4b18f1fa714566d06ef90TEST_IDENTIFIERtests/test_repo_sentinel_policy_contracts.pysecret.high_entropy1errora63871bc1b338055afcc069521d993fd0525e0a5352263db23ded4b61ec6ac21229c8ec5d02ee45cbe7b13c07c0545df2b0d4f53a9a27e24e28a644ae6b0767dTEST_IDENTIFIERtests/test_repo_sentinel_policy_contracts.pysecret.high_entropy1errora63871bc1b338055afcc069521d993fd0525e0a5352263db23ded4b61ec6ac2156822c7515f1b6dab7c2c49f455e28e899f398f66248760ffb1c3fe4a558397bTEST_IDENTIFIERtests/test_repo_sentinel_policy_contracts.pysecret.high_entropy1error1a4dc4210ed198222315b422f420f49d662796027eedb643942557a0c3b1e69972376b7fd1a226cdd8ef59d96716504ad1f84cd77b56893fdac930ace33c3681TEST_IDENTIFIERtests/test_repo_sentinel_policy_contracts.pysecret.high_entropy1error127c59b80ce68fe3f1893abb25940b66c3460324edeaa40643f87efb0181c28d08baf8c677d0072c7625c35c383823fb5caa8d341114fa65025179f9b6dc9951TEST_IDENTIFIERtests/test_repo_sentinel_policy_contracts.pysecret.high_entropy1error01a64cd0117a8e03ed044bacc9cdee12d1e20433e2d9a3bf2563800717e21ea50c4193e8048fe9168a47764ded9210ef790eb8edbc2116fda2cc14f18924ccd5TEST_IDENTIFIERTryHackMe/00-foundations/learning-meta/become-a-hacker.mdsecret.assignment_context1warningbf1f521268a702e8878df0164d0739fb3c56104c6d7075952e2ea74063333e7643569acc61337300812fa0b257191354a69cbf2c4076260e70739a1d350135feDOCUMENTATION_IDENTIFIERTryHackMe/00-foundations/learning-meta/become-a-hacker.mdsecret.assignment_context1warningbf1f521268a702e8878df0164d0739fb3c56104c6d7075952e2ea74063333e76b7c0e34920b6ff8b3c61fd17a1ff8e80bfa5d5541b726cc563bf4757677a9485DOCUMENTATION_IDENTIFIERTryHackMe/00-foundations/writing-pentest-reports.mdsecret.assignment_context1warning4bd89417201d6926b7722102d103637a9963e6e0715a958ff0afd939d218dcbddc42efa6d9a9d6182f9e593c8f0718012ce5062ac8c85bc53263c1ad51eb7216DOCUMENTATION_IDENTIFIERTryHackMe/10-web/how-the-web-works/02-HTTP-in-detailed.mdsecret.assignment_context1warningc44566f0c976231fcdea01d86c4711d668f67872de4094c2c65745768f11b91b03b9b4345c510ebf0976096ead6f73a874511cbbacc44c95a7670722c5ef8441DOCUMENTATION_IDENTIFIERTryHackMe/20-linux/linux-fundamentals/partIII.mdsecret.assignment_context1warning5f2353e51b0d82ceeeb7bbaa57dc6d09a5ddc09c0f9889aae107bdcda92292ef189a8502bacb62ac3c23909f6804cb5d7c0994ffc757f42c8957abc696d2ec61DOCUMENTATION_IDENTIFIERTryHackMe/90-events/love-at-first-breach-2026/hidden-deep-into-my-heart.mdsecret.assignment_context1warning1931abb1cda2dfc0e7a52acc40495a8bee8a6d15ec7dd404a103d02c098c01d012f5e1841bf9dbbda3e6ebdff34960bc276009102e57ba0833c3b527ad3f82a0DOCUMENTATION_IDENTIFIERTryHackMe/90-events/love-at-first-breach-2026/hidden-deep-into-my-heart.mdsecret.assignment_context1warningd1213a984e33f6e2983e7bd9cc389d71719d5452fc37eb54d973dc6b0ab29c02f1630b8293d0807308a14e79f48aa39719ddcce53e35ae1b5698a4ba906f78c2DOCUMENTATION_IDENTIFIERTryHackMe/90-events/love-at-first-breach-2026/valenfind.mdsecret.assignment_context1warning66d4f7b7ebfeaf9c59da3cdff30e41637c76a7e4fcbccd2e254eac2e1238d592b62fde08d3dd24674165ba76c9ada03f753337f819d5469c75db9e5d3420f4b1DOCUMENTATION_IDENTIFIERTryHackMe/90-events/love-at-first-breach-2026/valenfind.mdsecret.assignment_context1warninged3ee06cd1f9ae42a18e9f35a8e4e6269fc70b7abe1d38b59823d17047c282457f1b2322d86206524b29bdb70dd003feb3ca16750910d7599863889874fa19eaDOCUMENTATION_IDENTIFIERTryHackMe/90-events/love-at-first-breach-2026/valenfind.mdsecret.assignment_context1warning3cc7a7c0f77b00f022dfb2a7f48cfacfa0e3dd4518f3a6fa4e4e2a9690ee9647d0e151d367891cf20d2bcde2992f06774ea7ef3af98689de0efd7bedbb194094DOCUMENTATION_IDENTIFIERTryHackMe/90-events/love-at-first-breach-2026/valenfind.mdsecret.assignment_context1warning40e62b329ef3c48a337b896ffde89601926e2748fe105b192c65dce447cf24768c1691190a1a0ffb27aaaae1310695a047c38f918b2cec999fdfb57f0fa405a9DOCUMENTATION_IDENTIFIERTryHackMe/90-events/thm-aoc-2025/Day 17 - CyberChef - Hoperation Save McSkidy.mdsecret.assignment_context1warning96d62e2abd3e42de5f50330fb8efc4c5599835278077b21e9aa0b33c1df07a1c834441ee69b33d317caa28d8325caac7d794dead7098aa37a825e3b42f9d0cc6DOCUMENTATION_IDENTIFIERValidation
c9575ee1597337fc8c46c339eae30476bfd97571cd84d0ca7f6f95e516edac72.c9575ee1597337fc8c46c339eae30476bfd97571cd84d0ca7f6f95e516edac72; all seven files are byte-identical.PASS, 271 total, 254 scanned, 17 policy-excluded, 0 skipped.23c1d46ac13805d84d491d8c3eaa27aa084abf06d3f0b26bf5808cdf9e80b8f1.14a20d65e98e1d4993fc09479b4a6719574ea8a7f88af07282582724df9618f1.f112a4d0...d5afrom an otherwise self-consistent temporary bundle producedSCANNER_FINDING, no refusal, and non-null report/semantic digests.INFRASTRUCTURE_REFUSAL / policy_bundle_mismatch, with no semantic authority result.6f25ebb773ce1453e8de623bca5aaecc936f1f188288f8df20aedeadb3bf4612; no v1 diff from base.git diff --check: pass.Changed-file error gatefails only with the expected protected-policy migration message for.reposentinel-baseline.jsonand.reposentinel.toml.acquisition_refusedbecause direct public Git transport is unavailable from that isolated environment; controller contract tests pass, and no authority status was published.Migration exception candidate
This review exception is narrowly bound to:
#227c9e5135804e0ffe1f7e5d982bf419fbbd4352berepo-sentinel-authority-v2c9575ee1597337fc8c46c339eae30476bfd97571cd84d0ca7f6f95e516edac72It authorizes review of this candidate migration only. It does not authorize any signer, authority workflow/action, GitHub App, Commit Status, branch-protection, ruleset, or later source change.
Rollback
Close this Draft PR and delete the candidate branch. Main, v1 evidence, production authority, branch rules, and status publication remain unchanged.