services_hardening_source_lock.v2.json (5908B)
1 { 2 "schema": "radroots.services-hardening.source-lock-decisions.v2", 3 "contract_version": 2, 4 "decision_state": "active", 5 "predecessor": { 6 "schema": "radroots.service.source-lock.v1", 7 "filename": "radroots.service.source-lock.v1.toml", 8 "transition": "forward_only_replace" 9 }, 10 "lock_filename": "radroots.service.source-lock.v2.toml", 11 "lock_schema": "radroots.service.source-lock.v2", 12 "canonical_encoding": "compact_canonical_toml_with_final_newline", 13 "maximum_lock_utf8_bytes": 4096, 14 "maximum_service_utf8_bytes": 128, 15 "canonical_field_order_deferred": [ 16 "schema", 17 "contract_version", 18 "service", 19 "repository", 20 "revision", 21 "architecture", 22 "workspace_catalog_sha256", 23 "version", 24 "source_archive_sha256", 25 "cargo_lock_sha256", 26 "rust_version", 27 "host_feature_profile", 28 "nix.material", 29 "nix.lib_revision", 30 "nix.flake_lock_sha256", 31 "contract_versions.config", 32 "contract_versions.state", 33 "contract_versions.admin", 34 "contract_versions.status", 35 "contract_versions.provider" 36 ], 37 "canonical_field_order_absent": [ 38 "schema", 39 "contract_version", 40 "service", 41 "repository", 42 "revision", 43 "architecture", 44 "workspace_catalog_sha256", 45 "version", 46 "source_archive_sha256", 47 "cargo_lock_sha256", 48 "rust_version", 49 "host_feature_profile", 50 "nix.material", 51 "contract_versions.config", 52 "contract_versions.state", 53 "contract_versions.admin", 54 "contract_versions.status", 55 "contract_versions.provider" 56 ], 57 "fixed": { 58 "repository": "https://github.com/radrootslabs/lib", 59 "architecture": "radroots.crates.release.v2", 60 "version": "0.1.0-alpha", 61 "rust_version": "1.97.1", 62 "host_feature_profile": "service-host" 63 }, 64 "revision_encoding": "git_oid_lowercase_hex_40", 65 "digest_encoding": "sha256_lowercase_hex_64", 66 "digest_subjects": { 67 "workspace_catalog_sha256": "lib/contracts/crates/catalog.v2.toml", 68 "source_archive_sha256": "canonical_lib_revision_source_archive", 69 "cargo_lock_sha256": "service/Cargo.lock", 70 "flake_lock_sha256": "service/flake.lock" 71 }, 72 "service_identifier": "ascii_lower_snake_case_starting_with_letter_ending_with_letter_or_digit_no_empty_segments_1_to_128_bytes", 73 "contract_version_rule": "u32_nonzero", 74 "negative_error_codes": [ 75 "invalid_contract_version", 76 "invalid_digest", 77 "invalid_feature_profile", 78 "invalid_fixed_identity", 79 "invalid_nix_material", 80 "invalid_revision", 81 "invalid_service", 82 "invalid_toolchain", 83 "malformed", 84 "noncanonical", 85 "too_large" 86 ], 87 "canonical_vectors": { 88 "deferred": { 89 "toml": "schema = \"radroots.service.source-lock.v2\"\ncontract_version = 2\nservice = \"fixture_service\"\nrepository = \"https://github.com/radrootslabs/lib\"\nrevision = \"2222222222222222222222222222222222222222\"\narchitecture = \"radroots.crates.release.v2\"\nworkspace_catalog_sha256 = \"2222222222222222222222222222222222222222222222222222222222222222\"\nversion = \"0.1.0-alpha\"\nsource_archive_sha256 = \"3333333333333333333333333333333333333333333333333333333333333333\"\ncargo_lock_sha256 = \"3f32f227550b26ffccf6ee73ceab7471b3d8ce40b3e7c345d2ed65af7e9affa0\"\nrust_version = \"1.97.1\"\nhost_feature_profile = \"service-host\"\n\n[nix]\nmaterial = \"deferred\"\nlib_revision = \"1111111111111111111111111111111111111111\"\nflake_lock_sha256 = \"13638c254efcc7ccc5798242d2c095934e84fbc406a9af244fc754b18a6f9353\"\n\n[contract_versions]\nconfig = 1\nstate = 2\nadmin = 3\nstatus = 4\nprovider = 5\n", 90 "sha256": "da7b8894a6480e7022d9937369a5c9bafbf90128a901652923e501c52aced1a2" 91 }, 92 "absent": { 93 "toml": "schema = \"radroots.service.source-lock.v2\"\ncontract_version = 2\nservice = \"fixture_service\"\nrepository = \"https://github.com/radrootslabs/lib\"\nrevision = \"2222222222222222222222222222222222222222\"\narchitecture = \"radroots.crates.release.v2\"\nworkspace_catalog_sha256 = \"2222222222222222222222222222222222222222222222222222222222222222\"\nversion = \"0.1.0-alpha\"\nsource_archive_sha256 = \"3333333333333333333333333333333333333333333333333333333333333333\"\ncargo_lock_sha256 = \"3f32f227550b26ffccf6ee73ceab7471b3d8ce40b3e7c345d2ed65af7e9affa0\"\nrust_version = \"1.97.1\"\nhost_feature_profile = \"service-host\"\n\n[nix]\nmaterial = \"absent\"\n\n[contract_versions]\nconfig = 1\nstate = 2\nadmin = 3\nstatus = 4\nprovider = 5\n", 94 "sha256": "2af058ba042509c77efd6dc264c60a7abf4371378223e52e34eb441cab7e263c" 95 } 96 }, 97 "operations": { 98 "command": "cargo xtask service-source-lock", 99 "modes": ["check", "write"], 100 "required_arguments": ["mode", "service_root", "source_archive"], 101 "service_metadata_path": "Cargo.toml.workspace.metadata.radroots.service_source_lock", 102 "service_metadata_fields": [ 103 "service", 104 "host_feature_profile", 105 "nix_material", 106 "config_contract_version", 107 "state_contract_version", 108 "admin_contract_version", 109 "status_contract_version", 110 "provider_contract_version" 111 ], 112 "lib_dependency_inventory": "verified_source_archive_workspace_catalog", 113 "source_cleanliness": "all_changes_forbidden_except_exact_generated_lock_path", 114 "predecessor_lock_presence": "forbidden", 115 "service_revision_stability": "same_head_before_and_after_evidence_and_output", 116 "active_revision_agreement": [ 117 "cargo_manifests", 118 "cargo_lock", 119 "source_archive", 120 "canonical_public_remote" 121 ], 122 "nix_material_states": ["absent", "deferred"], 123 "deferred_nix_agreement": [ 124 "flake_expression", 125 "flake_lock", 126 "source_lock_nix_revision", 127 "canonical_public_remote" 128 ], 129 "maximum_source_archive_bytes": 1073741824 130 }, 131 "deferred_operations": [ 132 "embedded_build_information_agreement", 133 "nix_qualification", 134 "nix_active_revision_alignment" 135 ] 136 }