{
  "schema": "act-demo-source-manifest-v1",
  "source_snapshot_label": "existing-local-productization-2026-08-26",
  "source_snapshot_label_is_independent_timestamp": false,
  "files": [
    {
      "source_relative_to_productization": "02-verifier-hashing/src/act_verifier/__init__.py",
      "package_path": "vendor/act_verifier/__init__.py",
      "sha256": "5d690c1f3472088d0b0e4bd1ed6c5554e42c466a62e3f9240934fc849ebb46ce",
      "size_bytes": 370,
      "unmodified_copy": true
    },
    {
      "source_relative_to_productization": "02-verifier-hashing/src/act_verifier/constants.py",
      "package_path": "vendor/act_verifier/constants.py",
      "sha256": "dc234a97f3c7aa8bb12ef5d4f3e5fd03849b00f6f2991eb52ab2fb0fea73f2f5",
      "size_bytes": 1794,
      "unmodified_copy": true
    },
    {
      "source_relative_to_productization": "02-verifier-hashing/src/act_verifier/errors.py",
      "package_path": "vendor/act_verifier/errors.py",
      "sha256": "63e75d7f4a7e753e0542821a7ab14a2d7cedbc42406853520796fe428da5e966",
      "size_bytes": 961,
      "unmodified_copy": true
    },
    {
      "source_relative_to_productization": "02-verifier-hashing/src/act_verifier/hashing.py",
      "package_path": "vendor/act_verifier/hashing.py",
      "sha256": "f1508e383d9339e9a9681b07ea34c4368e776974b5562eaee107ecc3168911da",
      "size_bytes": 3789,
      "unmodified_copy": true
    },
    {
      "source_relative_to_productization": "02-verifier-hashing/src/act_verifier/manifest.py",
      "package_path": "vendor/act_verifier/manifest.py",
      "sha256": "6dccd08c0ec25bd676b6ca1e6ce1ae2dd5acb75d19139148d647b2b0605a522b",
      "size_bytes": 22792,
      "unmodified_copy": false,
      "original_sha256": "b53ff6c89ce35b67983fcce429d1cb8e1c5ae658a558a8bc6849a90be711d5fb",
      "original_size_bytes": 22774,
      "modifications": [
        {
          "kind": "missing_import_fix",
          "detail": "Add EXIT_CHANGED to the existing constants import; permits intended VerifierError for file or tree changes detected during manifest creation instead of NameError.",
          "discovered_in": "independent public-package review",
          "upstream_source_modified": false
        }
      ]
    },
    {
      "source_relative_to_productization": "02-verifier-hashing/src/act_verifier/media.py",
      "package_path": "vendor/act_verifier/media.py",
      "sha256": "de6408c89c1b8511c08629e962615ffd4d1aa35e92d9311f09d4c8173d6a13ba",
      "size_bytes": 2240,
      "unmodified_copy": true
    },
    {
      "source_relative_to_productization": "02-verifier-hashing/src/act_verifier/paths.py",
      "package_path": "vendor/act_verifier/paths.py",
      "sha256": "62b85a7355ad7eecd64cfbfff2b69500b9ebaefc6150f5ca0ea7141ad6f9450c",
      "size_bytes": 6159,
      "unmodified_copy": true
    },
    {
      "source_relative_to_productization": "02-verifier-hashing/src/act_verifier/verify.py",
      "package_path": "vendor/act_verifier/verify.py",
      "sha256": "4b0b0a1d6cab20d0549360472e812d8622f40c505365e8b51b5e61417e4be23a",
      "size_bytes": 10670,
      "unmodified_copy": true
    },
    {
      "source_relative_to_productization": "03-security-signatures/signature_policy_validator.py",
      "package_path": "vendor/signature_policy_validator.py",
      "sha256": "68d71bd0c66adcab3d026ed13ff4a6d4c6257aa9cdfc6d5e9a2aa6f92dc6968a",
      "size_bytes": 15868,
      "unmodified_copy": true
    }
  ],
  "stdlib_imports_of_vendor_files": [
    "argparse",
    "collections",
    "dataclasses",
    "datetime",
    "hashlib",
    "json",
    "os",
    "pathlib",
    "re",
    "stat",
    "tempfile",
    "typing",
    "unicodedata"
  ],
  "third_party_runtime_dependencies": [],
  "python_requirement": "Python 3.10+; this run verified only Python 3.14.4 on Windows",
  "omitted_original_modules": [
    "act_verifier/cli.py",
    "act_verifier/__main__.py"
  ],
  "entrypoint_note": "Library API subset; python -m act_verifier is not included.",
  "synthetic_policy_note": "New identified demonstration profile retaining the original SOURCE_SNAPSHOT and DEV_SOURCE rules; no production policy or release quorum is represented.",
  "synthetic_record_note": "One fictional service identity and one unverified provenance assertion. No key or signature material is supplied. Timestamps and ACTIVE statuses are synthetic claims only.",
  "license_note": "No new software license, sublicensing permission or exclusivity is asserted by this manifest.",
  "copy_summary": {
    "unmodified_original_modules": 8,
    "modules_with_documented_import_fix": 1
  }
}
