Package standalone source CLI with verified runtime and notices

This commit is contained in:
2026-09-11 05:48:05 -07:00
parent 6a610616e7
commit 27df4a3945
23 changed files with 2239 additions and 115 deletions
@@ -0,0 +1,15 @@
# Standalone CLI package evidence
Exact frozen author and independent reviewer evidence for the Windows
`ArcadiaCLI-0.2.0-preview.authoring.20260911` artifact. `hashes.json` records
original private paths, lengths and hashes; preserve these bytes through Git.
The original host-specific reviewer script expects its recorded `.local` layout,
source snapshot and fresh disposable outputs. Restore that layout to reproduce
it; running the archived file in this directory is not a portable test command.
The production packaging tests remain under `scripts/`.
The author report records 15 inert checks, 13 Python tests, default-preserving
notice selection and strict package assembly. Independent review verifies source
equivalence/defaults, all 114 archive files and 156 assertions across 10 clean
runtime invocations. Neither completed the wider OA/SA product or Linux acceptance.
@@ -0,0 +1,5 @@
.............
----------------------------------------------------------------------
Ran 13 tests in 1.252s
OK
@@ -0,0 +1,454 @@
{
"assembly_commit": "a0a48e82bd43be181caca1fe2c1514c21f2bc405",
"semantic_commit": "01b76a1e89e93b7992f39e63560aa8b2ca2f69e0",
"packaging_files": [
{
"path": "scripts/package-cli-windows.ps1",
"sha256": "b6ec59bb55ff1e5624c782f492ce1d169131e708f257dcca195957edf7341c1a"
},
{
"path": "scripts/package-common.ps1",
"sha256": "d859453a8230b4f305d822c8742b371a71e35df698109a5d55c948f6dfaf0640"
},
{
"path": "scripts/package-windows.ps1",
"sha256": "28997ff78565619ed9c9b185f66dc922808f1f0be17f522b430c6c415448663d"
},
{
"path": "scripts/windows-notices.ps1",
"sha256": "a5328c05579e1b9ca09142ee99e87c12994d12764f7c69448e392883d718ef01"
},
{
"path": "scripts/package-artifacts.py",
"sha256": "24515fdbf4eebfb47b82383c6b3ccf290261cbd919f7f46a586b6488af769c8d"
},
{
"path": "scripts/package-cli-readme.md",
"sha256": "ea7bc971993e02751f24bc3cb313503a5f5fefd788540974e114398115c7c8e2"
},
{
"path": "scripts/test-package-cli-windows.ps1",
"sha256": "2c18f91149ede5c7b677a165bd0d8b31f3c4691642cc10dd1007a7a77bde912a"
},
{
"path": "scripts/test-package-artifacts.py",
"sha256": "881718181a36fa5f7abfcd2e746bc1339446f9aeed6b2c039b8d2ce230ec202d"
},
{
"path": "scripts/test-windows-notices.ps1",
"sha256": "00a6ad1ed28fdb9044ceb7cc0714ceb7af095db2fb18f4828a053aa872a3147d"
}
],
"exact_cli_inputs": [
{
"path": "Cargo.toml",
"sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62"
},
{
"path": "Cargo.lock",
"sha256": "2b960242c33eb839ff008d01731f6d5cdb4e047ca8cd6e13151cbf9c09913510"
},
{
"path": "crates/oa-cli/Cargo.toml",
"sha256": "49c567f1af74a826683b4d96845feb3806fd9bcb7dc2767e16b5509d4e5e1cde"
},
{
"path": "crates/oa-cli/src/lib.rs",
"sha256": "97bebab63b4a611a1d36ad0c20fe452cbe1985fe3a6fbd39c954603da11410fc"
},
{
"path": "crates/oa-cli/src/main.rs",
"sha256": "de964f9b6c59c0f31c080afbd3b31d442b07b1b44f6a187a248d3409c45d35fb"
},
{
"path": "crates/oa-cli/tests/source_cli.rs",
"sha256": "a3a1b856c7a9fd3d80bc8074150a24fbb0ef0e9ddf736c7cea036725fc3dc2b8"
}
],
"unchanged_core_shared_build_inputs": [
{
"path": "build/windows_manifest.rs",
"sha256": "168da2c42ecccfebc11ee3e1b455e653a68fe9c6d30a9842a8b9e7441d086c80"
},
{
"path": "build/windows.manifest",
"sha256": "9c19c5a02f858ece84c44839ad2b145d9c1d90442da0b15c87fd045f975974eb"
},
{
"path": "build/windows.rc",
"sha256": "a27385edcae0bcf96f55361056cb7be5f36d76fcddcaefd20647c91959563e1e"
},
{
"path": "crates/oa-core/build.rs",
"sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9"
},
{
"path": "crates/oa-core/Cargo.toml",
"sha256": "64824ec447be777841a972bf06c894ef2624a37e4725583bcfe0389deb9f00a3"
},
{
"path": "crates/oa-core/examples/generate_demo.rs",
"sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661"
},
{
"path": "crates/oa-core/examples/generate_release1.rs",
"sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5"
},
{
"path": "crates/oa-core/examples/release_dense_views.rs",
"sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412"
},
{
"path": "crates/oa-core/examples/routing_workshop.rs",
"sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7"
},
{
"path": "crates/oa-core/src/data.rs",
"sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a"
},
{
"path": "crates/oa-core/src/demo.rs",
"sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c"
},
{
"path": "crates/oa-core/src/language_nesting_tests.rs",
"sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b"
},
{
"path": "crates/oa-core/src/language.rs",
"sha256": "638f08a42e9cf4996b5d07f69b4d6f517a518369f3604d25be1006e40e080765"
},
{
"path": "crates/oa-core/src/language/semantic_source.rs",
"sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29"
},
{
"path": "crates/oa-core/src/lib.rs",
"sha256": "52cb6ee7a4ffc00711ecf121c1a1b14ca154863f7ca27b0d2a8e239edce8aca7"
},
{
"path": "crates/oa-core/src/migration_v2/adapter.rs",
"sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5"
},
{
"path": "crates/oa-core/src/migration_v2/mod.rs",
"sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9"
},
{
"path": "crates/oa-core/src/migration_v2/model.rs",
"sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb"
},
{
"path": "crates/oa-core/src/migration_v2/references.rs",
"sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20"
},
{
"path": "crates/oa-core/src/migration_v2/source.rs",
"sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6"
},
{
"path": "crates/oa-core/src/migration_v2/state_validation.rs",
"sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0"
},
{
"path": "crates/oa-core/src/migration_v2/transitions.rs",
"sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1"
},
{
"path": "crates/oa-core/src/migration_v2/validation.rs",
"sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780"
},
{
"path": "crates/oa-core/src/migration_v3/mod.rs",
"sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722"
},
{
"path": "crates/oa-core/src/migration_v4.rs",
"sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70"
},
{
"path": "crates/oa-core/src/model.rs",
"sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb"
},
{
"path": "crates/oa-core/src/operations.rs",
"sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41"
},
{
"path": "crates/oa-core/src/persistence.rs",
"sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14"
},
{
"path": "crates/oa-core/src/ports.rs",
"sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80"
},
{
"path": "crates/oa-core/src/projection.rs",
"sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b"
},
{
"path": "crates/oa-core/src/projection/port_layout.rs",
"sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079"
},
{
"path": "crates/oa-core/src/projection/state.rs",
"sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28"
},
{
"path": "crates/oa-core/src/references.rs",
"sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb"
},
{
"path": "crates/oa-core/src/routing.rs",
"sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080"
},
{
"path": "crates/oa-core/src/semantic.rs",
"sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239"
},
{
"path": "crates/oa-core/src/semantic/catalog.rs",
"sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4"
},
{
"path": "crates/oa-core/src/semantic/historical.rs",
"sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb"
},
{
"path": "crates/oa-core/src/semantic/linked.rs",
"sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2"
},
{
"path": "crates/oa-core/src/semantic/mutate.rs",
"sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d"
},
{
"path": "crates/oa-core/src/semantic/review.rs",
"sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e"
},
{
"path": "crates/oa-core/src/semantic/types.rs",
"sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb"
},
{
"path": "crates/oa-core/src/session.rs",
"sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00"
},
{
"path": "crates/oa-core/src/source_files.rs",
"sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683"
},
{
"path": "crates/oa-core/src/source_project.rs",
"sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466"
},
{
"path": "crates/oa-core/src/source_project/source_migration.rs",
"sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95"
},
{
"path": "crates/oa-core/src/source_project/source_structure.rs",
"sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f"
},
{
"path": "crates/oa-core/src/state_validation.rs",
"sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18"
},
{
"path": "crates/oa-core/src/topology_context.rs",
"sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d"
},
{
"path": "crates/oa-core/src/topology_context/analysis_tests.rs",
"sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56"
},
{
"path": "crates/oa-core/src/topology_context/analysis.rs",
"sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65"
},
{
"path": "crates/oa-core/src/transitions.rs",
"sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d"
},
{
"path": "crates/oa-core/src/transitions/communication.rs",
"sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028"
},
{
"path": "crates/oa-core/src/validation.rs",
"sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e"
},
{
"path": "crates/oa-core/src/validation/coverage.rs",
"sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f"
},
{
"path": "crates/oa-core/src/view_options_tests.rs",
"sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208"
},
{
"path": "crates/oa-core/src/view_options.rs",
"sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208"
},
{
"path": "crates/oa-core/tests/communication_boundary_scenarios.rs",
"sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b"
},
{
"path": "crates/oa-core/tests/communication_means.rs",
"sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4"
},
{
"path": "crates/oa-core/tests/coverage_diagnostics.rs",
"sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4"
},
{
"path": "crates/oa-core/tests/language.rs",
"sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e"
},
{
"path": "crates/oa-core/tests/port_anchors.rs",
"sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa"
},
{
"path": "crates/oa-core/tests/port_migration.rs",
"sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7"
},
{
"path": "crates/oa-core/tests/port_source.rs",
"sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12"
},
{
"path": "crates/oa-core/tests/prepared_commands.rs",
"sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b"
},
{
"path": "crates/oa-core/tests/process_diagnostics.rs",
"sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906"
},
{
"path": "crates/oa-core/tests/r3_constructor_ack.rs",
"sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0"
},
{
"path": "crates/oa-core/tests/r3_migration.rs",
"sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd"
},
{
"path": "crates/oa-core/tests/r3_semantic.rs",
"sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32"
},
{
"path": "crates/oa-core/tests/r3_source.rs",
"sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408"
},
{
"path": "crates/oa-core/tests/r6_data.rs",
"sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155"
},
{
"path": "crates/oa-core/tests/r6_migration.rs",
"sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1"
},
{
"path": "crates/oa-core/tests/r6_source.rs",
"sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6"
},
{
"path": "crates/oa-core/tests/release_capabilities.rs",
"sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30"
},
{
"path": "crates/oa-core/tests/release_diagrams.rs",
"sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d"
},
{
"path": "crates/oa-core/tests/release_language_limits.rs",
"sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806"
},
{
"path": "crates/oa-core/tests/release_ports.rs",
"sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1"
},
{
"path": "crates/oa-core/tests/release_routing.rs",
"sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462"
},
{
"path": "crates/oa-core/tests/release_scenarios.rs",
"sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f"
},
{
"path": "crates/oa-core/tests/release_states.rs",
"sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811"
},
{
"path": "crates/oa-core/tests/release_topology.rs",
"sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9"
},
{
"path": "crates/oa-core/tests/release1_teaching.rs",
"sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2"
},
{
"path": "crates/oa-core/tests/review_regressions.rs",
"sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1"
},
{
"path": "crates/oa-core/tests/route_source.rs",
"sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb"
},
{
"path": "crates/oa-core/tests/routing_geometry.rs",
"sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3"
},
{
"path": "crates/oa-core/tests/routing_labels.rs",
"sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6"
},
{
"path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs",
"sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a"
},
{
"path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs",
"sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970"
},
{
"path": "crates/oa-core/tests/source_files.rs",
"sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9"
},
{
"path": "crates/oa-core/tests/source_identity_updates.rs",
"sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c"
},
{
"path": "crates/oa-core/tests/source_nested_updates.rs",
"sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855"
},
{
"path": "crates/oa-core/tests/source_project.rs",
"sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942"
},
{
"path": "crates/oa-core/tests/source6_view_contract.rs",
"sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb"
},
{
"path": "crates/oa-core/tests/source7_contract.rs",
"sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f"
},
{
"path": "crates/oa-core/tests/state_diagrams.rs",
"sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5"
},
{
"path": "crates/oa-core/tests/workflows.rs",
"sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b"
}
],
"binary_sha256": {
"arcadia.exe": "bad169f8be78dcfa74b32714569c886dd2132727080684fc2ba618d5822e3559",
"libunwind.dll": "f45604a12e8bcd839fd86f667c1be1cc7c4f9da2b3c69ff381ac708f0e1ae7d4"
}
}
@@ -0,0 +1,9 @@
{
"source_identity": "CLI semantic/build-input basis 01b76a1e89e93b7992f39e63560aa8b2ca2f69e0. Six original CLI manifest/workspace/lock/source/test hashes and 95 unchanged core/shared build inputs independently matched. Packaging assembly basis a0a48e82bd43be181caca1fe2c1514c21f2bc405 changes packaging only and is not claimed as the original compiler input commit.",
"profile": "Preserved Windows debug/development artifact from cargo build --locked --offline -p oa-cli --bin arcadia, successful September11 2026 11:45:43.6035381Z,9.7336637seconds. No release-profile or reproducible-build claim.",
"compiler": "rustc1.98.1 commit48a229ceaefd4985c50990b14116b6d856af0985,x86_64-pc-windows-gnullvm,LLVM22.1.8. Frozen executable embeds that compiler path; current toolchain target-library hashes match preserved inventory. Original compile/test/lint and independent frozen-binary review records retained separately.",
"target": "x86_64-pc-windows-gnullvm",
"binary_sha256": {
"arcadia.exe": "bad169f8be78dcfa74b32714569c886dd2132727080684fc2ba618d5822e3559"
}
}
@@ -0,0 +1,56 @@
[
{
"path": "assembly.json",
"original": ".local/cli-packaging-20260911/assembly.json",
"bytes": 17452,
"sha256": "284ecc5e3caaf9e2201785619f81ad200166e7d489c2a65276857f71df7f0dc0"
},
{
"path": "preparation.json",
"original": ".local/cli-packaging-20260911/preparation.json",
"bytes": 17497,
"sha256": "0ec70eef7f487693c4e698cbe54d2b99e6f4d3fc10bb1e7edabc3d236c2a7aff"
},
{
"path": "build-evidence.json",
"original": ".local/cli-packaging-20260911/build-evidence.json",
"bytes": 1086,
"sha256": "b75c6f0b78caf508c046de1dd7e67a1aade15924d50452635da8b6b1eba4a7d5"
},
{
"path": "package-initial-result.json",
"original": ".local/cli-packaging-20260911/package-initial-result.json",
"bytes": 216,
"sha256": "8c474fc7c7ce254fc17c0df9c0e46bb23403bc11be052fda121e49184157dc15"
},
{
"path": "windows-initial.log",
"original": ".local/cli-packaging-20260911/windows-initial.log",
"bytes": 131,
"sha256": "c74a669d68754f45a1649636d70cab82132569ec53810a63c490bfd430e451cf"
},
{
"path": "notices-initial.log",
"original": ".local/cli-packaging-20260911/notices-initial.log",
"bytes": 430,
"sha256": "f37409b4d36959bc03dcb35ec053301da9cf4c6effbb6e9a68fca534133c36b0"
},
{
"path": "artifacts-final.log",
"original": ".local/cli-packaging-20260911/artifacts-final.log",
"bytes": 117,
"sha256": "729fe10826e06b3b0997d6c4879349f388978a5fcb5bea62d55cc4ee6603cc16"
},
{
"path": "reviewer.py",
"original": ".local/cli-packaging-review-20260911/review.py",
"bytes": 18543,
"sha256": "f85d1f34ab75b4067efe09886e447bf9fd54dc232020bcb1a46404ec57b2351e"
},
{
"path": "reviewer-result.json",
"original": ".local/cli-packaging-review-20260911/result.json",
"bytes": 33967,
"sha256": "3b92a816a62de386b5927b208c79c2a7c541e6e2e2e30bde31b4c11bbbc4509e"
}
]
@@ -0,0 +1,2 @@
PASS: normal/build and server-only Linux selection, cross-target runtime refusal, Rust reports, actual source hashes, stale archive refusal, doc-comment font exclusion, production font path/mapping refusals, exact font mapping and changed-byte refusal, unsupported source refusal, traversal refusal, altered supplement refusal.
Synthetic fixture retained for inspection: C:\Temp\arcadia-notices-c72f98e0978c45618416fe3d2cfdd38e
@@ -0,0 +1,7 @@
{
"started": "2026-09-11T12:36:52.6900250Z",
"assembly_commit": "a0a48e82bd43be181caca1fe2c1514c21f2bc405",
"success": true,
"finished": "2026-09-11T12:37:33.7683084Z",
"elapsed_seconds": 41.084165
}
@@ -0,0 +1,454 @@
{
"semantic_source_commit": "01b76a1e89e93b7992f39e63560aa8b2ca2f69e0",
"original_cli_manifest_sha256": "dd73fc2bb2190b23fffe16d6c63d4acddf52338062fac298379ddfd241d82eb8",
"exact_cli_inputs": [
{
"path": "Cargo.toml",
"sha256": "369f5b4b2b60705a94623c8c0b68f8e0b048f263280ce07ae0629ad353797d62"
},
{
"path": "Cargo.lock",
"sha256": "2b960242c33eb839ff008d01731f6d5cdb4e047ca8cd6e13151cbf9c09913510"
},
{
"path": "crates/oa-cli/Cargo.toml",
"sha256": "49c567f1af74a826683b4d96845feb3806fd9bcb7dc2767e16b5509d4e5e1cde"
},
{
"path": "crates/oa-cli/src/lib.rs",
"sha256": "97bebab63b4a611a1d36ad0c20fe452cbe1985fe3a6fbd39c954603da11410fc"
},
{
"path": "crates/oa-cli/src/main.rs",
"sha256": "de964f9b6c59c0f31c080afbd3b31d442b07b1b44f6a187a248d3409c45d35fb"
},
{
"path": "crates/oa-cli/tests/source_cli.rs",
"sha256": "a3a1b856c7a9fd3d80bc8074150a24fbb0ef0e9ddf736c7cea036725fc3dc2b8"
}
],
"unchanged_core_shared_build_inputs": [
{
"path": "build/windows_manifest.rs",
"sha256": "168da2c42ecccfebc11ee3e1b455e653a68fe9c6d30a9842a8b9e7441d086c80"
},
{
"path": "build/windows.manifest",
"sha256": "9c19c5a02f858ece84c44839ad2b145d9c1d90442da0b15c87fd045f975974eb"
},
{
"path": "build/windows.rc",
"sha256": "a27385edcae0bcf96f55361056cb7be5f36d76fcddcaefd20647c91959563e1e"
},
{
"path": "crates/oa-core/build.rs",
"sha256": "ab1be6ae1fd8bf3ebaeef6348347a9d5e666bde693126f199e041659e0b094a9"
},
{
"path": "crates/oa-core/Cargo.toml",
"sha256": "64824ec447be777841a972bf06c894ef2624a37e4725583bcfe0389deb9f00a3"
},
{
"path": "crates/oa-core/examples/generate_demo.rs",
"sha256": "e26f432c95331aeca50985dbb3ad2c558affd43023b585811f0f7bfaa59f6661"
},
{
"path": "crates/oa-core/examples/generate_release1.rs",
"sha256": "1d5f11165d74893e4bc18dbf3a2f2111f4026bd89fd06ee7f0bae69e45c4d4b5"
},
{
"path": "crates/oa-core/examples/release_dense_views.rs",
"sha256": "a83158488ef9b7394f136c52b1496719be935c4e5bdfe457cab5c9894f5f9412"
},
{
"path": "crates/oa-core/examples/routing_workshop.rs",
"sha256": "571307b18b6d4fa04700c5a4d4b0c2154c419e93a21292b2028e7b6f46a2faa7"
},
{
"path": "crates/oa-core/src/data.rs",
"sha256": "7f9c7c7dd8353cb5a38597b92cde6d3e890203d392473187eb387d41ff37414a"
},
{
"path": "crates/oa-core/src/demo.rs",
"sha256": "ad62123f96c20ff023cafc1a9849b0fa06bc62edd1fb9701799e4599b458600c"
},
{
"path": "crates/oa-core/src/language_nesting_tests.rs",
"sha256": "bd061611e8cb6f28ab203c73e544ac98bf275eb464cd314ad5fbd25f773df33b"
},
{
"path": "crates/oa-core/src/language.rs",
"sha256": "638f08a42e9cf4996b5d07f69b4d6f517a518369f3604d25be1006e40e080765"
},
{
"path": "crates/oa-core/src/language/semantic_source.rs",
"sha256": "584b5bb59d87a7b8d44d5dd2d124c3a1323b21492b138a17bc9526c0087c9e29"
},
{
"path": "crates/oa-core/src/lib.rs",
"sha256": "52cb6ee7a4ffc00711ecf121c1a1b14ca154863f7ca27b0d2a8e239edce8aca7"
},
{
"path": "crates/oa-core/src/migration_v2/adapter.rs",
"sha256": "66741b4c8354a23b8a932ecc5bf1bc3bb6e74279558757b8c35bc2157a7e51b5"
},
{
"path": "crates/oa-core/src/migration_v2/mod.rs",
"sha256": "857d8bb13b6814daba6780ca770c16352943c01cb130245d055f11b3b957b3e9"
},
{
"path": "crates/oa-core/src/migration_v2/model.rs",
"sha256": "8ac63eb59b2e57bdecff2477ee0634096090924d3dd1851e1c454880a889dacb"
},
{
"path": "crates/oa-core/src/migration_v2/references.rs",
"sha256": "33a6819abc83139fdaebeebd1b553238a328637106cce7dd5a535f1791d43e20"
},
{
"path": "crates/oa-core/src/migration_v2/source.rs",
"sha256": "74fee9b24e7c912182c998ab9d9aeec125e2009c3214959229e844c67afe2bf6"
},
{
"path": "crates/oa-core/src/migration_v2/state_validation.rs",
"sha256": "e29ef071bab0a68460ddf55c46131c6f66c022d52c3c602c37c013c3649da1b0"
},
{
"path": "crates/oa-core/src/migration_v2/transitions.rs",
"sha256": "f74174c532ba56b57c80b719a11fb4adea0a78ccc2828fff72fe2b9eda5a10b1"
},
{
"path": "crates/oa-core/src/migration_v2/validation.rs",
"sha256": "6d5e4a4e2805ae5045bf789a0485e14a61c63346587bace2b4a91173a688f780"
},
{
"path": "crates/oa-core/src/migration_v3/mod.rs",
"sha256": "f4edb6a0b50ecfe8670973776d703047b064420cb1f05913129c00fc656b3722"
},
{
"path": "crates/oa-core/src/migration_v4.rs",
"sha256": "50c652964f0f309e7f3f54b6ef12c40d42fcecc0490f005995c713df1179af70"
},
{
"path": "crates/oa-core/src/model.rs",
"sha256": "4585c895c64c4a183941c92cf047a9e52ff0cbe41971e16e78d229ea9dc101fb"
},
{
"path": "crates/oa-core/src/operations.rs",
"sha256": "a5ffbbf54cd440316a106d1188bfb699b57dae59f466edcb33618c333cd19f41"
},
{
"path": "crates/oa-core/src/persistence.rs",
"sha256": "1c01474f906a63e552c0d590b272c95821c00a100b3e79e58e67dbbeac341a14"
},
{
"path": "crates/oa-core/src/ports.rs",
"sha256": "5cac12eea70a54ebebbd6be77b63ce92e3195325c4bc7d27705c518686cbac80"
},
{
"path": "crates/oa-core/src/projection.rs",
"sha256": "69ed12bace2cc5024e151752a174ab14034ac2d05eb741fcf13e9a27521c059b"
},
{
"path": "crates/oa-core/src/projection/port_layout.rs",
"sha256": "a08d17d10a58bb8b206dd001b19b91d5aa3a9f743b298a4da57d503223c20079"
},
{
"path": "crates/oa-core/src/projection/state.rs",
"sha256": "73a607bac713ec7ff49a509fefb1a53c7686dca93ee241ffc835564d743afb28"
},
{
"path": "crates/oa-core/src/references.rs",
"sha256": "93553c234f32da35f1f41a7b83ad81c471c9803efa78ca222cf7de3c2f86c0bb"
},
{
"path": "crates/oa-core/src/routing.rs",
"sha256": "c5ebb350ba76f731f5c48d968bfbba4b6ef68ec046eb5893d116c4637ef15080"
},
{
"path": "crates/oa-core/src/semantic.rs",
"sha256": "f9895dd5b8fb27d10d4cfbb41c3542ef2018365a589b8d5778e5674ae5a1f239"
},
{
"path": "crates/oa-core/src/semantic/catalog.rs",
"sha256": "1ff74fcca18084d178681d7ff38ee1ccac632c27c4de0595ba1ceab8067ab3a4"
},
{
"path": "crates/oa-core/src/semantic/historical.rs",
"sha256": "eaf3284bf234312698514cdb636bc8348e1b5d746cb16b18df777e77d312abfb"
},
{
"path": "crates/oa-core/src/semantic/linked.rs",
"sha256": "6f335b14e809aecfc35defcaf77cb821b080d1506dbc46297912b25af98c07a2"
},
{
"path": "crates/oa-core/src/semantic/mutate.rs",
"sha256": "dc2b4c4a6eb156fe468eaa8c85fd37a505c0cd8ea1f226cb69cd01689afd3d9d"
},
{
"path": "crates/oa-core/src/semantic/review.rs",
"sha256": "0c157d2c327e72e89cca3b423e71ee73798105c5bb7271439c1a101642c91e3e"
},
{
"path": "crates/oa-core/src/semantic/types.rs",
"sha256": "6922fe35089f12fad43ab0ce1c6886d01a3855f90b8e2543e99802ac5e6f1bbb"
},
{
"path": "crates/oa-core/src/session.rs",
"sha256": "1eb77b329b2986fc6f5dc0171e77fd860375cdfd8c769a1367b445d6c49ebe00"
},
{
"path": "crates/oa-core/src/source_files.rs",
"sha256": "669491dbddb8e8e6556161426dffa1a49ac1c826d31020bff0956d81a4d84683"
},
{
"path": "crates/oa-core/src/source_project.rs",
"sha256": "1394370bcc5908873b830c2c11312e6e1611af41f46c4f43ca0a6bcb713bb466"
},
{
"path": "crates/oa-core/src/source_project/source_migration.rs",
"sha256": "add463ae85c420f853d324b00a221f0f874164cc3f3ed6bbb07557a9ed7a8c95"
},
{
"path": "crates/oa-core/src/source_project/source_structure.rs",
"sha256": "9f1f83315856a7025fe662c0fbb13452f31613224a03663150d6225d1ddc162f"
},
{
"path": "crates/oa-core/src/state_validation.rs",
"sha256": "e28d7f74385e2a78763716b34491bd73a00bfeccc085970ceb130627e3faee18"
},
{
"path": "crates/oa-core/src/topology_context.rs",
"sha256": "16de69b297de95d93c73808621607833b713af811dd082f0169186ae1e5c3e2d"
},
{
"path": "crates/oa-core/src/topology_context/analysis_tests.rs",
"sha256": "17839263410815e96fe027d4eba3aae0a9ab3b82b16947e2b29ebe0d09782b56"
},
{
"path": "crates/oa-core/src/topology_context/analysis.rs",
"sha256": "dead6194f0aa60cc46045c0e5ee10dbdbb689158c38634dfbbbc45d2ba88ac65"
},
{
"path": "crates/oa-core/src/transitions.rs",
"sha256": "fadd1b07b89cae4117b91abb4f1ac9ea81ff818ef20f2175e76ee8cf21fb708d"
},
{
"path": "crates/oa-core/src/transitions/communication.rs",
"sha256": "2b476630a88edd9021b9156ca12a5402e01604095f0d4002afb452671903a028"
},
{
"path": "crates/oa-core/src/validation.rs",
"sha256": "7c1b4ae5e4ebba13e99af9158ccde138dfc5e9a7afb580e76fba72d0b64ba74e"
},
{
"path": "crates/oa-core/src/validation/coverage.rs",
"sha256": "b08e4b344ecad055714168c83beff7fe29ba4edc53edbffa2eae04e5580a4d5f"
},
{
"path": "crates/oa-core/src/view_options_tests.rs",
"sha256": "64aac44de2df42a1012239a3dd75c473daf0c8990b3170b7bf7e78a556080208"
},
{
"path": "crates/oa-core/src/view_options.rs",
"sha256": "421ede0a04c593ca1df0e6e0d06fabcfcc8113cdbcfb0adc7f5c8ef4d1724208"
},
{
"path": "crates/oa-core/tests/communication_boundary_scenarios.rs",
"sha256": "e1100b8f363910a487d90c73acc7df543dc6d532158c3c63ad11cd3d40d8e12b"
},
{
"path": "crates/oa-core/tests/communication_means.rs",
"sha256": "a25f2749180bc6f4beb1445bfad3351eedf0669131a7439b633ab804439e95a4"
},
{
"path": "crates/oa-core/tests/coverage_diagnostics.rs",
"sha256": "e2e9c3996daab47f2bd23f5d8c48b4e372af33331152f5fc85b76f06d04fcdf4"
},
{
"path": "crates/oa-core/tests/language.rs",
"sha256": "77f6cb2a69976bfb5f60b243b71c07fb0edc7505002c1e9e73fcd6ddf6d9496e"
},
{
"path": "crates/oa-core/tests/port_anchors.rs",
"sha256": "efbc0fa18733b1aaac501f9785a4c392fc49c05c45a5778d26e9b5dd951ca6fa"
},
{
"path": "crates/oa-core/tests/port_migration.rs",
"sha256": "1801c376a5435ac7efb2a8342348b2c7ffef930bba65deca4acb66b06e0483d7"
},
{
"path": "crates/oa-core/tests/port_source.rs",
"sha256": "8d2ddaca4045d330f6eda2591561497b858aad53769a823249d0bea4f5916e12"
},
{
"path": "crates/oa-core/tests/prepared_commands.rs",
"sha256": "52cab1c668064777412df0a6a3c20d74d579b33794b4b00525b9f151c06eac9b"
},
{
"path": "crates/oa-core/tests/process_diagnostics.rs",
"sha256": "1dbbc590239ef7542be4a2bdc9543aaa64d108417b03dd312a0894e364745906"
},
{
"path": "crates/oa-core/tests/r3_constructor_ack.rs",
"sha256": "e5c44676ea0aab97f2e091ddac2f4bc4a4a90f5877f7bbf08b61229600944dd0"
},
{
"path": "crates/oa-core/tests/r3_migration.rs",
"sha256": "ebd04120f5215b3956fdc79ee78f6e38734c7d13392f1fc28aaba957912265bd"
},
{
"path": "crates/oa-core/tests/r3_semantic.rs",
"sha256": "49c3763eaf2131070a7c46cc23a84f917d292d41610b6404510e5607f8890c32"
},
{
"path": "crates/oa-core/tests/r3_source.rs",
"sha256": "f31f60659df3c7ef601650d1cff140589d8729f01a3f65a4a6a6c2272f15c408"
},
{
"path": "crates/oa-core/tests/r6_data.rs",
"sha256": "5f7ffb3bc73c3c85423623fe56f8680646dc97040327bdbead9d47a37e80f155"
},
{
"path": "crates/oa-core/tests/r6_migration.rs",
"sha256": "81519bc1512f5e069432e9a1cdad04c10216d492df01b4b75b02102480ebd6a1"
},
{
"path": "crates/oa-core/tests/r6_source.rs",
"sha256": "88a0aa087a7678e2898ff6057538072ca92072190712f05fff08372cc56ebed6"
},
{
"path": "crates/oa-core/tests/release_capabilities.rs",
"sha256": "b92cba2a562e78287ddd7dc3e94557848d17faa0c8a102601b50286b9af48a30"
},
{
"path": "crates/oa-core/tests/release_diagrams.rs",
"sha256": "cefcc0582d91266d5de6ee5daefcfe41b606ab971ab235b59034a8e1dbc24b7d"
},
{
"path": "crates/oa-core/tests/release_language_limits.rs",
"sha256": "8578da4f76bbd2d0e1bfe295ab1259e2162a3fe3d0d2ba8901915d7a40942806"
},
{
"path": "crates/oa-core/tests/release_ports.rs",
"sha256": "506e62beab0c7ec0cece83e9e0c1a810fa1f99285c9e1cab0c77f06de55a40e1"
},
{
"path": "crates/oa-core/tests/release_routing.rs",
"sha256": "ae168faaba23769b7ca1fd65f217b9db671726e67276eb5a04e5e72b1447a462"
},
{
"path": "crates/oa-core/tests/release_scenarios.rs",
"sha256": "0f5d876badeec653fc7b12610a77d867e9a53582e605253deff8d379da21572f"
},
{
"path": "crates/oa-core/tests/release_states.rs",
"sha256": "b1a26acee95eaba7f9920f9da738a1e33606552eb078e6d298895daff7e3d811"
},
{
"path": "crates/oa-core/tests/release_topology.rs",
"sha256": "c51dbe5aa5a038f9ed830daa02aa67714472179eb7fd6da5ce36dc6931c8b3a9"
},
{
"path": "crates/oa-core/tests/release1_teaching.rs",
"sha256": "be179290d871125dc97cfd2a3067c7ac89c8a538fdb0afafc5b825bcdfb2bef2"
},
{
"path": "crates/oa-core/tests/review_regressions.rs",
"sha256": "f154e5c88d35e31512e2b07733a1327ea3e2fcfd1ef8eb23066a4e9573f387c1"
},
{
"path": "crates/oa-core/tests/route_source.rs",
"sha256": "1a73fdbac0d0ae0e84d8d67b6ad398e11223958f5dca007f73757c91827decfb"
},
{
"path": "crates/oa-core/tests/routing_geometry.rs",
"sha256": "2d8eea4a2bba535ed0ea6daabccdaf87b375828c404baa10518c7bd7fd6253d3"
},
{
"path": "crates/oa-core/tests/routing_labels.rs",
"sha256": "dff884d799c3c5c9257210248c55767e294e3cb317c605cbd0ddc9600c216eb6"
},
{
"path": "crates/oa-core/tests/semantic_artifact_absence_oracle.rs",
"sha256": "d93eaf9667f4221232168bef0fe9f069e5be1b1f23410bda5dd67010b96e5c8a"
},
{
"path": "crates/oa-core/tests/semantic_attachments_gui_oracle.rs",
"sha256": "7f526d363ba05e7ac89faf0fead0796e419c34ee204edf44a1b46c78308b0970"
},
{
"path": "crates/oa-core/tests/source_files.rs",
"sha256": "f0429a0b89a443458ea9af7083c1e4e7411417a7e6b47e618bfbb9266dc164f9"
},
{
"path": "crates/oa-core/tests/source_identity_updates.rs",
"sha256": "f52aa38b4d317e532c641ad7463472e4b40e802e60052cf0017556ffc63da06c"
},
{
"path": "crates/oa-core/tests/source_nested_updates.rs",
"sha256": "9ac3390936c0d250651ea94a1b8faf0adfb680f061ececc56f2a52909b5ba855"
},
{
"path": "crates/oa-core/tests/source_project.rs",
"sha256": "cef58adb16aa4d2527ddc0628aec3e26f0b42b4be70014a7e360fafdac13a942"
},
{
"path": "crates/oa-core/tests/source6_view_contract.rs",
"sha256": "fa566de53946d40bbbd9033edfeed177180c4dc44afa2f2f4667ffdc622eb3bb"
},
{
"path": "crates/oa-core/tests/source7_contract.rs",
"sha256": "cad4f1a135ddbd947bdf3c71d1b44f1e438725095ea8c4d893464bc721c2363f"
},
{
"path": "crates/oa-core/tests/state_diagrams.rs",
"sha256": "6b02b387a3ae559cb3ad72de24292a5abcb76aaac0adbab5d2aa5211b22cd2e5"
},
{
"path": "crates/oa-core/tests/workflows.rs",
"sha256": "bd843dfddbd5724ec08f657571f887496203056fe2fa5864ef50a168a613b89b"
}
],
"packaging_files": [
{
"path": "scripts/package-cli-windows.ps1",
"sha256": "b6ec59bb55ff1e5624c782f492ce1d169131e708f257dcca195957edf7341c1a"
},
{
"path": "scripts/package-common.ps1",
"sha256": "d859453a8230b4f305d822c8742b371a71e35df698109a5d55c948f6dfaf0640"
},
{
"path": "scripts/package-windows.ps1",
"sha256": "28997ff78565619ed9c9b185f66dc922808f1f0be17f522b430c6c415448663d"
},
{
"path": "scripts/windows-notices.ps1",
"sha256": "a5328c05579e1b9ca09142ee99e87c12994d12764f7c69448e392883d718ef01"
},
{
"path": "scripts/package-artifacts.py",
"sha256": "24515fdbf4eebfb47b82383c6b3ccf290261cbd919f7f46a586b6488af769c8d"
},
{
"path": "scripts/package-cli-readme.md",
"sha256": "39171afa7dab4be10a8566153d7384aa439f1494851ce2ca1da989c6f370ef2b"
},
{
"path": "scripts/test-package-cli-windows.ps1",
"sha256": "2c18f91149ede5c7b677a165bd0d8b31f3c4691642cc10dd1007a7a77bde912a"
},
{
"path": "scripts/test-package-artifacts.py",
"sha256": "881718181a36fa5f7abfcd2e746bc1339446f9aeed6b2c039b8d2ce230ec202d"
},
{
"path": "scripts/test-windows-notices.ps1",
"sha256": "00a6ad1ed28fdb9044ceb7cc0714ceb7af095db2fb18f4828a053aa872a3147d"
}
],
"binary_sha256": {
"arcadia.exe": "bad169f8be78dcfa74b32714569c886dd2132727080684fc2ba618d5822e3559",
"libunwind.dll": "f45604a12e8bcd839fd86f667c1be1cc7c4f9da2b3c69ff381ac708f0e1ae7d4"
}
}
@@ -0,0 +1,458 @@
{
"started_utc": "2026-09-11T12:42:56Z",
"checks": [
"preserve earlier evidence; no overwrite",
"all original ELF/tar/document/notice helpers unchanged outside product selection",
"windows actual full Studio document closure unchanged",
"linux actual full Studio document closure unchanged",
"only notice source delta is oa-cli allowed-root check; default/body unchanged",
"Linux entry/deployment unchanged: scripts/package-linux.ps1",
"Linux entry/deployment unchanged: deployment/Dockerfile",
"Linux entry/deployment unchanged: deployment/Dockerfile.dockerignore",
"PE reader extraction is byte-equivalent after function rename/EOL normalization",
"Windows system DLL allowlist unchanged",
"Studio explicitly retains both original binary inputs",
"Studio post-inspection packaging pipeline unchanged",
"assembly delta exactly nine packaging/script paths",
"reviewed main packaging sources equal frozen assembly bytes",
"fresh extraction directory",
"frozen ZIP size and hash",
"114 unique ZIP files",
"single safe normalized Windows ZIP root",
"ordinary fixed-time ZIP members and CRCs",
"complete clean extraction equals ZIP bytes",
"complete checksum inventory equals every other extracted file",
"all package inputs plus exactly six generated records",
"frozen CLI and runtime hashes",
"no unrelated executable payload",
"exact public document/example: LICENSE",
"exact public document/example: docs/api.rst",
"exact public document/example: docs/language.html",
"exact public document/example: docs/language.rst",
"exact public document/example: docs/source-cli.md",
"exact public document/example: examples/release1/expected-diagnostics.json",
"exact public document/example: examples/release1/model.json",
"exact public document/example: examples/release1/model.rs",
"exact public document/example: examples/release1/project.arcadia",
"exact public document/example: examples/release1/README.md",
"exact public document/example: examples/release1/traceability.arcadia",
"exact public document/example: examples/release1/transition-before.json",
"exact public document/example: examples/release1/transition-request.json",
"exact public document/example: examples/text-first/project.arcadia",
"exact public document/example: examples/text-first/README.md",
"exact public document/example: examples/release1/evidence/repair-check.md",
"exact public document/example: examples/release1/oa/capabilities.arcadia",
"exact public document/example: examples/release1/oa/model.arcadia",
"exact public document/example: examples/release1/oa/participants.arcadia",
"exact public document/example: examples/release1/oa/types.arcadia",
"exact public document/example: examples/release1/sa/capabilities.arcadia",
"exact public document/example: examples/release1/sa/model.arcadia",
"exact public document/example: examples/release1/sa/participants.arcadia",
"exact public document/example: examples/release1/sa/types.arcadia",
"exact public document/example: examples/release1/views/diagram_oa_allocation_view.arcadia",
"exact public document/example: examples/release1/views/diagram_sa_allocation_view.arcadia",
"exact public document/example: examples/release1/views/diagram_sa_capability_view.arcadia",
"exact public document/example: examples/release1/views/diagram_sa_service_view.arcadia",
"exact public document/example: examples/release1/views/diagram_sa_state_view.arcadia",
"exact public document/example: examples/release1/oa/activities/activity_oa_restore_work.arcadia",
"exact public document/example: examples/release1/oa/behavior/process_oa_assessment_procedure.arcadia",
"exact public document/example: examples/release1/oa/behavior/process_oa_field_procedure.arcadia",
"exact public document/example: examples/release1/oa/behavior/process_oa_response.arcadia",
"exact public document/example: examples/release1/oa/behavior/scenario_oa_conversation.arcadia",
"exact public document/example: examples/release1/oa/behavior/scenario_oa_full_scenario.arcadia",
"exact public document/example: examples/release1/oa/behavior/state_machine_oa_monitor.arcadia",
"exact public document/example: examples/release1/sa/behavior/process_sa_assessment_procedure.arcadia",
"exact public document/example: examples/release1/sa/behavior/process_sa_field_procedure.arcadia",
"exact public document/example: examples/release1/sa/behavior/process_sa_response.arcadia",
"exact public document/example: examples/release1/sa/behavior/scenario_sa_conversation.arcadia",
"exact public document/example: examples/release1/sa/behavior/scenario_sa_full_scenario.arcadia",
"exact public document/example: examples/release1/sa/behavior/state_machine_sa_monitor.arcadia",
"exact public document/example: examples/release1/sa/functions/function_sa_audit_thresholds.arcadia",
"exact public document/example: examples/release1/sa/functions/function_sa_restore_work.arcadia",
"CLI-specific README",
"27 dependency packages; only CLI root",
"original CLI Cargo lock identity",
"locked dependency: oa-cli",
"complete local crate inputs: oa-cli",
"locked dependency: oa-core",
"complete local crate inputs: oa-core",
"locked dependency: cfg-if",
"locked dependency: fastrand",
"locked dependency: getrandom",
"locked dependency: itoa",
"locked dependency: memchr",
"locked dependency: once_cell",
"locked dependency: proc-macro2",
"locked dependency: quote",
"locked dependency: rand_core",
"locked dependency: same-file",
"locked dependency: serde_core",
"locked dependency: serde_derive",
"locked dependency: serde_json",
"locked dependency: serde",
"locked dependency: sha1_smol",
"locked dependency: syn",
"locked dependency: tempfile",
"locked dependency: thiserror-impl",
"locked dependency: thiserror",
"locked dependency: unicode-ident",
"locked dependency: uuid",
"locked dependency: winapi-util",
"locked dependency: windows-link",
"locked dependency: windows-sys",
"locked dependency: zmij",
"all package/compiler/runtime notice references and bytes",
"runtime notice binds packaged DLL",
"all shared build input hashes",
"six original CLI manifest inputs",
"95 original core/shared build inputs",
"CLI expected exit: ['--version']",
"underlying CLI version",
"CLI expected exit: ['--help']",
"packaged help has command/preview contract",
"CLI expected exit: ['check', WindowsPath('C:/Users/User/Documents/Git/ARCADIA-Studio/.local/cli-packaging-review-20260911/runtime/examples/text-first/project.arcadia'), '--json']",
"JSON invocation keeps diagnostic envelope on stdout",
"versioned JSON report agrees with process exit",
"packaged example check: text-first/project.arcadia",
"CLI expected exit: ['check', WindowsPath('C:/Users/User/Documents/Git/ARCADIA-Studio/.local/cli-packaging-review-20260911/runtime/examples/release1/project.arcadia'), '--json']",
"JSON invocation keeps diagnostic envelope on stdout",
"versioned JSON report agrees with process exit",
"packaged example check: release1/project.arcadia",
"checks preserve complete copied examples byte-for-byte",
"CLI expected exit: ['stabilize', WindowsPath('C:/Users/User/Documents/Git/ARCADIA-Studio/.local/cli-packaging-review-20260911/runtime/exact-source/project.arcadia'), '--json']",
"JSON invocation keeps diagnostic envelope on stdout",
"versioned JSON report agrees with process exit",
"stabilization is preview by default",
"only missing-ID source changes; exact captured raw bytes",
"fresh ID is attached to literal intended activity",
"allocated identity differs from every preexisting identity",
"stabilization preserves every other character, CRLF, comment, name and reference",
"preview preserves all physical source bytes including detached file",
"CLI expected exit: ['stabilize', WindowsPath('C:/Users/User/Documents/Git/ARCADIA-Studio/.local/cli-packaging-review-20260911/runtime/exact-source/project.arcadia'), '--write', '--json']",
"JSON invocation keeps diagnostic envelope on stdout",
"versioned JSON report agrees with process exit",
"explicit stabilization writes",
"only missing-ID source changes; exact captured raw bytes",
"fresh ID is attached to literal intended activity",
"allocated identity differs from every preexisting identity",
"stabilization preserves every other character, CRLF, comment, name and reference",
"stabilized complete physical file inventory and bytes",
"CLI expected exit: ['rename-alias', WindowsPath('C:/Users/User/Documents/Git/ARCADIA-Studio/.local/cli-packaging-review-20260911/runtime/exact-source/project.arcadia'), 'crew', 'rescue_team', '--json']",
"JSON invocation keeps diagnostic envelope on stdout",
"versioned JSON report agrees with process exit",
"alias preview changes exact declaration and typed reference only",
"rename preview retains exact source bytes and identities",
"CLI expected exit: ['rename-alias', WindowsPath('C:/Users/User/Documents/Git/ARCADIA-Studio/.local/cli-packaging-review-20260911/runtime/exact-source/project.arcadia'), 'crew', 'rescue_team', '--write', '--json']",
"JSON invocation keeps diagnostic envelope on stdout",
"versioned JSON report agrees with process exit",
"explicit alias write matches full independent raw expected files",
"all four identities remain ordered and exact through rename",
"CLI expected exit: ['stabilize', WindowsPath('C:/Users/User/Documents/Git/ARCADIA-Studio/.local/cli-packaging-review-20260911/runtime/exact-source/project.arcadia'), '--write', '--json']",
"JSON invocation keeps diagnostic envelope on stdout",
"versioned JSON report agrees with process exit",
"explicit no-op reports unchanged",
"no-op preserves all file bytes and mtimes",
"CLI expected exit: ['stabilize', WindowsPath('C:/Users/User/Documents/Git/ARCADIA-Studio/.local/cli-packaging-review-20260911/runtime/invalid.arcadia'), '--write', '--json']",
"JSON invocation keeps diagnostic envelope on stdout",
"versioned JSON report agrees with process exit",
"invalid source write refuses with exact raw retention",
"all packaged files and frozen ZIP unchanged after runtime checks"
],
"source_review": {
"semantic_source": "01b76a1e89e93b7992f39e63560aa8b2ca2f69e0",
"assembly_source": "a0a48e82bd43be181caca1fe2c1514c21f2bc405",
"packaging_paths": {
"scripts/package-artifacts.py": "24515fdbf4eebfb47b82383c6b3ccf290261cbd919f7f46a586b6488af769c8d",
"scripts/package-cli-readme.md": "ea7bc971993e02751f24bc3cb313503a5f5fefd788540974e114398115c7c8e2",
"scripts/package-cli-windows.ps1": "b6ec59bb55ff1e5624c782f492ce1d169131e708f257dcca195957edf7341c1a",
"scripts/package-common.ps1": "d859453a8230b4f305d822c8742b371a71e35df698109a5d55c948f6dfaf0640",
"scripts/package-windows.ps1": "28997ff78565619ed9c9b185f66dc922808f1f0be17f522b430c6c415448663d",
"scripts/test-package-artifacts.py": "881718181a36fa5f7abfcd2e746bc1339446f9aeed6b2c039b8d2ce230ec202d",
"scripts/test-package-cli-windows.ps1": "2c18f91149ede5c7b677a165bd0d8b31f3c4691642cc10dd1007a7a77bde912a",
"scripts/test-windows-notices.ps1": "00a6ad1ed28fdb9044ceb7cc0714ceb7af095db2fb18f4828a053aa872a3147d",
"scripts/windows-notices.ps1": "a5328c05579e1b9ca09142ee99e87c12994d12764f7c69448e392883d718ef01"
},
"studio_document_counts": {
"windows": 65,
"linux": 64
}
},
"artifact": {
"zip_sha256": "2b051f8ce1ea4f59ee7e233e1fbd516d423aadbfbca5d549755cbe78fcde1af6",
"zip_bytes": 5091267,
"file_count": 114,
"files": {
"arcadia.exe": "bad169f8be78dcfa74b32714569c886dd2132727080684fc2ba618d5822e3559",
"dependency-notices.json": "d42920dc9958536d2d617bca17f453fc44b5e35f869b544c91abceb334cd51c1",
"documentation-check.json": "c660725a9b9076f51c4e735c077ec149e84d9ec2db1748a129209a36b5542130",
"libunwind.dll": "f45604a12e8bcd839fd86f667c1be1cc7c4f9da2b3c69ff381ac708f0e1ae7d4",
"LICENSE": "51009f2cb07e5d19645858b2fbc037a672a25f8cbf7999522942b86807ecf365",
"package.json": "efe3e2227477a0f0db49ddb3a8d4ed3f48c65f9d060dd911bb3dd82e569fc446",
"README.md": "ea7bc971993e02751f24bc3cb313503a5f5fefd788540974e114398115c7c8e2",
"SHA256SUMS.txt": "b0b3d1c32dce6a0d5b1551e5b1c1cc9aa67d50ab2143a8645cde1dffdff6a4f9",
"START-HERE.txt": "58e0cb3c20dcb0e94d9acf7d47f390c32e47ed55f41e2d7be775e969be4a2626",
"THIRD-PARTY-NOTICES.txt": "8d1ffe4a7841bd8220cae95b1625e4c715d799c5dee1ba54274e9c95a3d8fb44",
"docs/api.rst": "ca7d310138c3b4d429d80a1d03d1ac8d4a9296069e205da573034256d10438a7",
"docs/language.html": "67dcfa3477b48a0b07298ec81741840cc3ccff12c7d58164873d746d41d611c8",
"docs/language.rst": "ac6b1d982c55f246de2f3c844b24b874599a3c20cfbd7ed22efe4561ac622b83",
"docs/source-cli.md": "34f12b72cc6d6ead4f47c7818c1897db592f8ad493c70776db2ab48c24d8f051",
"licenses/llvm-mingw-LICENSE.TXT": "8d85c1057d742e597985c7d4e6320b015a9139385cff4cbae06ffc0ebe89afee",
"examples/release1/expected-diagnostics.json": "3700393d76b940cfc076bf52861bd7b1f43370f8eabce3594531bd0bf1fc851e",
"examples/release1/model.json": "ef0ef4006c3e09d5db6e1b621256b3f7d6642f3a7b09cc34607cfbcca830c727",
"examples/release1/model.rs": "15f30f6bde655808fe754665c26d560e36f2a9bad340f346b09137d0d05045f5",
"examples/release1/project.arcadia": "b2674e6bf77cfe0f6f0ba79c81d2e96d92f39c02ca2c6266d80e91723bfb9fda",
"examples/release1/README.md": "113cfb1cf38a98b51bff60442d86a35d636a3d80ef206bece7d53d0aae67f2d5",
"examples/release1/traceability.arcadia": "48a96f543456c9b5a5798fc795594e4119147fe45f11a6f109f141b7f514560f",
"examples/release1/transition-before.json": "2253e6434f741687e22327c37d520ed15c043bc36025498650bc2366bb6a874d",
"examples/release1/transition-request.json": "43b9a22e5f95ad3bc0ebd2478ead0e14406854abc989ae94ded9367b013d812a",
"examples/text-first/project.arcadia": "f441535c623e0cf20e1875eb2cd33b587ed00e078c37af39cb36d89bb5edc19a",
"examples/text-first/README.md": "4ec8250d5ed556f1d496e8c85137e973e802ecb11df1a36488411e8cdc5a9f9e",
"examples/release1/evidence/repair-check.md": "f4db17bdca4ecbb1bf0caef01b2da5f1f7f798ab3152b648ce6dd8696a6a68e5",
"examples/release1/oa/capabilities.arcadia": "fc8012e5554350b12e1cb80080f8feab80d933c9b33c0f2a7bb500cb7d609936",
"examples/release1/oa/model.arcadia": "f7cf914766ea73ec53b85e32d117ea9a9dba52d3e038246863541ae7069b1a15",
"examples/release1/oa/participants.arcadia": "951764c14179f27c10e315acf2ea37d1fff54c77b8441e23addd239e8c715ce3",
"examples/release1/oa/types.arcadia": "9d0396fb82dd5733edd8d1cf52f968ca84906927c704f9cf0944a7fae215cf49",
"examples/release1/sa/capabilities.arcadia": "b6912fb3ece439912345fa71724acd462e716a1e5a88203a1058a5c3b2c20a4f",
"examples/release1/sa/model.arcadia": "d431509251acb859fbb98733b6d18add952495e10a78703fbe8f31e40bc083c4",
"examples/release1/sa/participants.arcadia": "780d2eb08b217b67b55febb3d34846f727b8ee9018df6c5741748647e36b2ff8",
"examples/release1/sa/types.arcadia": "101fc0fbd99f1101514aa7b6da4f8e535aae0bb94c9e2b9e7e6c151135b28660",
"examples/release1/views/diagram_oa_allocation_view.arcadia": "dfc0eb61e0e2aa5bda45524571fbfa3494f44ce19696f3e15e07438074a07bc7",
"examples/release1/views/diagram_sa_allocation_view.arcadia": "b78b43a26a82efb8fbd5374b09c329fa341f57b29f635d397b9ef8aede71d389",
"examples/release1/views/diagram_sa_capability_view.arcadia": "75e8dc9fb30f25d6f8fd3c6b595593ab4f98958a25798f961e336e0fac557649",
"examples/release1/views/diagram_sa_service_view.arcadia": "b08c84f3ea633e7c78dfdad3272f75415f6256cf3614b6d99bfd4f0269076c9b",
"examples/release1/views/diagram_sa_state_view.arcadia": "5f42f4c605e57b817d8400ed21f2b14bfc4e1592aebe941ff113767504c2b869",
"examples/release1/oa/activities/activity_oa_restore_work.arcadia": "83e73d0a013d5c3e1a4af0d9139ab0cfa362d25a846671fc2dac59181061a9d4",
"examples/release1/oa/behavior/process_oa_assessment_procedure.arcadia": "172c32c044ef4b5bc58a1f4635cc81f48dabb4014479b47dce7b25fedf2dbd0d",
"examples/release1/oa/behavior/process_oa_field_procedure.arcadia": "d2552dc5383e2e91cb302a790364e197f663c2edc013a2ab1978789825c9c324",
"examples/release1/oa/behavior/process_oa_response.arcadia": "cf86f46fa5c5d70592ef43f1bc1cb4d968efd8add384ba88036bef6b88aa4abc",
"examples/release1/oa/behavior/scenario_oa_conversation.arcadia": "b25be524e98a35ebac5e4481b7609c027b32baf9605e8097f807560f94a77ca6",
"examples/release1/oa/behavior/scenario_oa_full_scenario.arcadia": "00a1edf2c9707a0eb62ac070c2d02467874f2c9c1f273cc6ddb53d6d65999a1c",
"examples/release1/oa/behavior/state_machine_oa_monitor.arcadia": "447c9ad1359f4a31ecf975ad07c0b08d8e7e03191fb0858e2fc56f377b223cd5",
"examples/release1/sa/behavior/process_sa_assessment_procedure.arcadia": "73928ced61c06cbc08728d7956676a50fd4c05aa5b7f1ff4f29ce27a0b0f2088",
"examples/release1/sa/behavior/process_sa_field_procedure.arcadia": "886d462af83110cbfa55dd232a667ea1446761234471357cbb878794e98e8768",
"examples/release1/sa/behavior/process_sa_response.arcadia": "041785fc22842423822431bd5e6e8d16094ebd0716965e7c765fb8c1d7549e8a",
"examples/release1/sa/behavior/scenario_sa_conversation.arcadia": "97276f5757ee9aa12a0dbd9d3ccd58174b3091162bb8bcce357cec20a45f5d85",
"examples/release1/sa/behavior/scenario_sa_full_scenario.arcadia": "e12fc406b99d60a2f7768aaa0b25ba560e8605f0b8e37f3a7cdd3b8443562b74",
"examples/release1/sa/behavior/state_machine_sa_monitor.arcadia": "05ce29af99424c491c47fe2450dc6f5f8ce995511c01ec7e17bb5855be3c9736",
"examples/release1/sa/functions/function_sa_audit_thresholds.arcadia": "e5a04325d52183956dca814dd90f4e56c96c6b7db0f4f202f203ecb49c3e0f4f",
"examples/release1/sa/functions/function_sa_restore_work.arcadia": "fddeb67308051325041fee641fe758ddf43345b7c47b66d433616ad07fdccdd6",
"licenses/llvm-libunwind/llvm-ea7d852a70e8-libunwind-LICENSE.TXT": "b5efebcaca80879234098e52d1725e6d9eb8fb96a19fce625d39184b705f7b6d",
"licenses/rust/COPYING.RUNTIME": "28e85c5aa4af9b4f1dfe6b4817aa3eefb3eaaee7fd735045016f29ccf50276a1",
"licenses/rust/COPYING3": "8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903",
"licenses/rust/COPYRIGHT-library.html": "68129500b616d5838629e68f55ff3aed5e096dacf60ce9eb41bbe599a563afa6",
"licenses/rust/COPYRIGHT.html": "5b0c93fc4e6d4b072eaa521b1762d1e746f4c368f65e81a0e5308e2772dac85e",
"licenses/dependencies/cfg-if-1.0.4/LICENSE-APACHE": "a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2",
"licenses/dependencies/cfg-if-1.0.4/LICENSE-MIT": "378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397",
"licenses/dependencies/fastrand-2.5.0/LICENSE-APACHE": "a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2",
"licenses/dependencies/fastrand-2.5.0/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/getrandom-0.4.3/LICENSE-APACHE": "aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf",
"licenses/dependencies/getrandom-0.4.3/LICENSE-MIT": "523a42c25d245dde9c015f882cec7f4555aad883382a6cf19b4b7d9b2cd5419b",
"licenses/dependencies/itoa-1.0.18/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/itoa-1.0.18/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/memchr-2.8.3/COPYING": "01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f",
"licenses/dependencies/memchr-2.8.3/LICENSE-MIT": "0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f",
"licenses/dependencies/memchr-2.8.3/UNLICENSE": "7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c",
"licenses/dependencies/oa-cli-0.2.0/workspace-LICENSE": "51009f2cb07e5d19645858b2fbc037a672a25f8cbf7999522942b86807ecf365",
"licenses/dependencies/oa-core-0.2.0/workspace-LICENSE": "51009f2cb07e5d19645858b2fbc037a672a25f8cbf7999522942b86807ecf365",
"licenses/dependencies/once_cell-1.21.4/LICENSE-APACHE": "a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2",
"licenses/dependencies/once_cell-1.21.4/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/proc-macro2-1.0.107/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/proc-macro2-1.0.107/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/quote-1.0.47/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/quote-1.0.47/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/rand_core-0.10.1/COPYRIGHT": "92b81db30f7ab6d693e0af5661a40d273ca1947e891123ed823924192c10cbc7",
"licenses/dependencies/rand_core-0.10.1/LICENSE-APACHE": "6df43f6f4b5d4587f3d8d71e45532c688fd168afa5fe89d571cb32fa09c4ef51",
"licenses/dependencies/rand_core-0.10.1/LICENSE-MIT": "8b6e9feec03e7c9a5facb26855cecd31662bf989b636bcfe79521bdf8ac863f0",
"licenses/dependencies/same-file-1.0.6/COPYING": "01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f",
"licenses/dependencies/same-file-1.0.6/LICENSE-MIT": "cb3c929a05e6cbc9de9ab06a4c57eeb60ca8c724bef6c138c87d3a577e27aa14",
"licenses/dependencies/same-file-1.0.6/UNLICENSE": "7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c",
"licenses/dependencies/serde-1.0.229/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/serde-1.0.229/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/serde_core-1.0.229/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/serde_core-1.0.229/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/serde_derive-1.0.229/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/serde_derive-1.0.229/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/serde_json-1.0.151/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/serde_json-1.0.151/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/sha1_smol-1.0.1/LICENSE": "282a21b0710441c364025461a447362daf18f5798a7b72ae2f801a2aa536da51",
"licenses/dependencies/syn-3.0.5/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/syn-3.0.5/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/tempfile-3.27.0/LICENSE-APACHE": "a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2",
"licenses/dependencies/tempfile-3.27.0/LICENSE-MIT": "8b427f5bc501764575e52ba4f9d95673cf8f6d80a86d0d06599852e1a9a20a36",
"licenses/dependencies/thiserror-2.0.20/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/thiserror-2.0.20/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/thiserror-impl-2.0.20/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/thiserror-impl-2.0.20/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/unicode-ident-1.0.24/LICENSE-APACHE": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a",
"licenses/dependencies/unicode-ident-1.0.24/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3",
"licenses/dependencies/unicode-ident-1.0.24/LICENSE-UNICODE": "f7db81051789b729fea528a63ec4c938fdcb93d9d61d97dc8cc2e9df6d47f2a1",
"licenses/dependencies/uuid-1.26.0/LICENSE-APACHE": "a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2",
"licenses/dependencies/uuid-1.26.0/LICENSE-MIT": "436bc5a105d8e57dcd8778730f3754f7bf39c14d2f530e4cde4bd2d17a83ec3d",
"licenses/dependencies/winapi-util-0.1.11/COPYING": "01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f",
"licenses/dependencies/winapi-util-0.1.11/LICENSE-MIT": "cb3c929a05e6cbc9de9ab06a4c57eeb60ca8c724bef6c138c87d3a577e27aa14",
"licenses/dependencies/winapi-util-0.1.11/UNLICENSE": "7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c",
"licenses/dependencies/windows-link-0.2.1/license-apache-2.0": "c16f8dcf1a368b83be78d826ea23de4079fe1b4469a0ab9ee20563f37ff3d44b",
"licenses/dependencies/windows-link-0.2.1/license-mit": "c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383",
"licenses/dependencies/windows-sys-0.61.2/license-apache-2.0": "c16f8dcf1a368b83be78d826ea23de4079fe1b4469a0ab9ee20563f37ff3d44b",
"licenses/dependencies/windows-sys-0.61.2/license-mit": "c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383",
"licenses/dependencies/zmij-1.0.23/LICENSE-MIT": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3"
},
"notice_packages": 27,
"notice_reference_files": 60,
"package_claims": {
"product": "Arcadia CLI",
"version": "0.2.0-preview.authoring.20260911",
"target": "x86_64-pc-windows-gnullvm",
"acceptance": "Packaging integrity only; clean-environment CLI verification required.",
"build": "Prebuilt input; source/compiler/profile assertions are recorded, not inferred.",
"build_evidence": {
"assertion": "Caller-supplied build evidence; target and binary hashes checked, source/compiler/profile statements not inferred or independently proven by packaging.",
"evidence": {
"source_identity": "CLI semantic/build-input basis 01b76a1e89e93b7992f39e63560aa8b2ca2f69e0. Six original CLI manifest/workspace/lock/source/test hashes and 95 unchanged core/shared build inputs independently matched. Packaging assembly basis a0a48e82bd43be181caca1fe2c1514c21f2bc405 changes packaging only and is not claimed as the original compiler input commit.",
"profile": "Preserved Windows debug/development artifact from cargo build --locked --offline -p oa-cli --bin arcadia, successful September11 2026 11:45:43.6035381Z,9.7336637seconds. No release-profile or reproducible-build claim.",
"compiler": "rustc1.98.1 commit48a229ceaefd4985c50990b14116b6d856af0985,x86_64-pc-windows-gnullvm,LLVM22.1.8. Frozen executable embeds that compiler path; current toolchain target-library hashes match preserved inventory. Original compile/test/lint and independent frozen-binary review records retained separately.",
"target": "x86_64-pc-windows-gnullvm",
"binary_sha256": {
"arcadia.exe": "bad169f8be78dcfa74b32714569c886dd2132727080684fc2ba618d5822e3559"
}
}
}
}
},
"environment": {
"SystemRoot": "C:\\Windows",
"WINDIR": "C:\\Windows",
"PATH": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\extracted\\ArcadiaCLI-0.2.0-preview.authoring.20260911-x86_64-pc-windows-gnullvm;C:\\Windows\\System32;C:\\Windows",
"TEMP": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\temp",
"TMP": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\temp"
},
"invocations": [
{
"arguments": [
"--version"
],
"exit": 0,
"stdout_sha256": "0ebfaa91da207b98ef56f307b64a3f083359812b2655870f4a61459733d8590c",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"arguments": [
"--help"
],
"exit": 0,
"stdout_sha256": "e41dd6452098023fd333c52cc210e5c2a7e08d20c377e0622deadb90d274f28f",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"arguments": [
"check",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\examples\\text-first\\project.arcadia",
"--json"
],
"exit": 0,
"stdout_sha256": "64e6c3cb866801ec441a040406ce5111747fcb0c04a0cbfae3ab4fe0acac6fca",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"arguments": [
"check",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\examples\\release1\\project.arcadia",
"--json"
],
"exit": 0,
"stdout_sha256": "0c29e2b2d297cfb06f0359ea1c6565997b1f396f442fc5684f12dbff8eca84bf",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"arguments": [
"stabilize",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\exact-source\\project.arcadia",
"--json"
],
"exit": 0,
"stdout_sha256": "849cff20bd541febf6133a4206fd4dddab396857b361add78093cf01f55aeff4",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"arguments": [
"stabilize",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\exact-source\\project.arcadia",
"--write",
"--json"
],
"exit": 0,
"stdout_sha256": "beec44418f383d205522b6784b0aba096466e41da3b0728eb8798991149e2143",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"arguments": [
"rename-alias",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\exact-source\\project.arcadia",
"crew",
"rescue_team",
"--json"
],
"exit": 0,
"stdout_sha256": "1267c7a17e2701a2dd6b91cbaacdd0e52fdb8b031660d1f788542921aa5948bb",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"arguments": [
"rename-alias",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\exact-source\\project.arcadia",
"crew",
"rescue_team",
"--write",
"--json"
],
"exit": 0,
"stdout_sha256": "0967d3dff03ebf5c5bfcfe716af8e369e23e0289885c02b83beeb4f92d5e008d",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"arguments": [
"stabilize",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\exact-source\\project.arcadia",
"--write",
"--json"
],
"exit": 0,
"stdout_sha256": "b95dfd2d8effc49df2a7fe893cd414a5edad9c4686c5dada4faca72ef40360b7",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"arguments": [
"stabilize",
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\cli-packaging-review-20260911\\runtime\\invalid.arcadia",
"--write",
"--json"
],
"exit": 1,
"stdout_sha256": "546ab1d5bb19dd8fa22dd6f017cc0e58b91602ccc24a048c41602b0dae45c70b",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
],
"runtime": {
"fixed_source_ids": [
"c073d2cf-83e5-4c98-8eaf-4a465ff0cf71",
"1987c990-e3cb-4f0e-9be9-fe61f007b997",
"9ba9e3cd-96f5-4f9a-865e-6b31ba94b4e6",
"ffcf7e41-f94b-4f7c-99c1-1a30a0b46959"
],
"allocated_activity_id": "9ba9e3cd-96f5-4f9a-865e-6b31ba94b4e6",
"final_source_sha256": {
"detached.arcadia": "ae79cfc57c5e227c281f1ad8493c1cdb483700fe0fe78ec8e448135afc98d239",
"project.arcadia": "1352c29a8cce5b5dbd7563b086680f889bdf35198f010d0083e99dd25e1007be",
"modules/oa.arcadia": "a781e165aaddeecb05fc9110873dd1e00e7a30687cef9cded11107ee2846c162"
},
"source_exact_expected": {
"detached.arcadia": "// known detached bytes remain\r\n",
"project.arcadia": "arcadia 7;\r\nproject review \"CLI package 救助\" id \"c073d2cf-83e5-4c98-8eaf-4a465ff0cf71\" {\r\n description \"Literal @crew remains\";\r\n include \"modules/oa.arcadia\";\r\n}\r\n",
"modules/oa.arcadia": "// @crew stays in this comment; Ω\r\noa_actor rescue_team \"Crew literal @crew\" id \"1987c990-e3cb-4f0e-9be9-fe61f007b997\" {}\r\noa_activity observe \"Observe Ω\" id \"9ba9e3cd-96f5-4f9a-865e-6b31ba94b4e6\" {}\r\nallocation responsibility \"Assigned @crew\" id \"ffcf7e41-f94b-4f7c-99c1-1a30a0b46959\" { source @rescue_team; target @observe; }\r\n"
},
"stabilization_note": "Separate preview UUID remains provisional; each result is checked by literal declaration role, not assumed equal across invocations."
},
"status": "PASS",
"finished_utc": "2026-09-11T12:43:12Z",
"script_sha256": "f85d1f34ab75b4067efe09886e447bf9fd54dc232020bcb1a46404ec57b2351e"
}
@@ -0,0 +1,256 @@
"""Independent CLI packaging review: read-only source checks and isolated CLI runs."""
from pathlib import Path, PurePosixPath
import ast
import hashlib
import json
import os
import re
import shutil
import stat
import subprocess
import sys
import time
import tomllib
import traceback
import uuid
import zipfile
OUT = Path(__file__).resolve().parent
ROOT = OUT.parents[1]
SOURCE = ROOT / '.local/cli-packaging-20260911/source'
NAME = 'ArcadiaCLI-0.2.0-preview.authoring.20260911-x86_64-pc-windows-gnullvm'
ZIP = SOURCE.parent / 'packages' / (NAME + '.zip')
PACKAGE = OUT / 'extracted' / NAME
BASE = '01b76a1e89e93b7992f39e63560aa8b2ca2f69e0'
ASSEMBLY = 'a0a48e82bd43be181caca1fe2c1514c21f2bc405'
ZIP_SHA = '2b051f8ce1ea4f59ee7e233e1fbd516d423aadbfbca5d549755cbe78fcde1af6'
EXE_SHA = 'bad169f8be78dcfa74b32714569c886dd2132727080684fc2ba618d5822e3559'
DLL_SHA = 'f45604a12e8bcd839fd86f667c1be1cc7c4f9da2b3c69ff381ac708f0e1ae7d4'
RESULT = {'started_utc': time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), 'checks': []}
def check(ok, label):
if not ok:
raise AssertionError(label)
RESULT['checks'].append(label)
def sha(b):
return hashlib.sha256(b).hexdigest()
def read_json(p):
return json.loads(p.read_text(encoding='utf-8-sig'))
def record(path, obj):
with path.open('x', encoding='utf-8', newline='\n') as f:
json.dump(obj, f, indent=2, ensure_ascii=False)
f.write('\n')
def snapshot(directory):
files = {}
for p in directory.rglob('*'):
if p.is_symlink() or getattr(p.lstat(), 'st_file_attributes', 0) & 0x400:
raise AssertionError('unexpected reparse path ' + str(p))
if p.is_file():
files[p.relative_to(directory).as_posix()] = p.read_bytes()
return files
def git(path, ref=BASE):
return subprocess.run(['git', 'show', ref + ':' + path], cwd=ROOT, check=True, capture_output=True).stdout
def source_checks():
old = git('scripts/package-artifacts.py').decode()
new = (ROOT / 'scripts/package-artifacts.py').read_text()
original_functions = {f.name: ast.dump(f, include_attributes=False) for f in ast.parse(old).body if isinstance(f, ast.FunctionDef)}
new_functions = {f.name: ast.dump(f, include_attributes=False) for f in ast.parse(new).body if isinstance(f, ast.FunctionDef)}
check(all(new_functions[k] == v for k, v in original_functions.items() if k not in ('document_inputs', 'main')), 'all original ELF/tar/document/notice helpers unchanged outside product selection')
before, after = {'__name__': 'review_baseline'}, {'__name__': 'review_current'}
exec(compile(old, '<baseline packaging>', 'exec'), before)
exec(compile(new, '<current packaging>', 'exec'), after)
counts = {}
for platform in ('windows', 'linux'):
expected = before['document_inputs'](SOURCE, platform)
default = after['document_inputs'](SOURCE, platform)
explicit = after['document_inputs'](SOURCE, platform, 'studio')
check(default == explicit == expected, platform + ' actual full Studio document closure unchanged')
counts[platform] = len(default['files'])
old_notice = git('scripts/windows-notices.ps1').decode().splitlines()
new_notice = (ROOT / 'scripts/windows-notices.ps1').read_text().splitlines()
check(len(old_notice) == len(new_notice) and [i for i, pair in enumerate(zip(old_notice, new_notice)) if pair[0] != pair[1]] == [3], 'only notice source delta is oa-cli allowed-root check; default/body unchanged')
for p in ('scripts/package-linux.ps1', 'deployment/Dockerfile', 'deployment/Dockerfile.dockerignore'):
check(git(p).decode().splitlines() == (ROOT / p).read_text().splitlines(), 'Linux entry/deployment unchanged: ' + p)
old_windows = git('scripts/package-windows.ps1').decode().replace('\r\n', '\n')
common = (ROOT / 'scripts/package-common.ps1').read_text()
reader_old = old_windows.split('function Read-PeImports', 1)[1].split('\n# Windows system components', 1)[0].strip()
reader_new = common.split('function Read-PackagePeImports', 1)[1].split('\nfunction Get-PackageWindowsInputs', 1)[0].strip()
check(reader_old == reader_new, 'PE reader extraction is byte-equivalent after function rename/EOL normalization')
old_allowlist = re.search(r'\$systemDlls = @\((.*?)\n\)', old_windows, re.S)[1]
new_allowlist = re.search(r'\$systemDlls = @\((.*?)\n \)', common, re.S)[1]
check(re.findall(r"'([^']+)'", old_allowlist) == re.findall(r"'([^']+)'", new_allowlist), 'Windows system DLL allowlist unchanged')
new_windows = (ROOT / 'scripts/package-windows.ps1').read_text()
check("Get-PackageWindowsInputs $BinaryDirectory $Target $LlvmMinGWRoot @('arcadia-studio.exe', 'arcadia-server.exe')" in new_windows, 'Studio explicitly retains both original binary inputs')
check(old_windows.split('$evidence = Read-PackageBuildEvidence', 1)[1].splitlines() == new_windows.split('$evidence = Read-PackageBuildEvidence', 1)[1].splitlines(), 'Studio post-inspection packaging pipeline unchanged')
delta = subprocess.run(['git', 'diff', '--name-only', BASE, ASSEMBLY], cwd=ROOT, capture_output=True, check=True).stdout.decode().splitlines()
check(len(delta) == 9 and all(p.startswith('scripts/') for p in delta), 'assembly delta exactly nine packaging/script paths')
check(all((ROOT / p).read_bytes() == (SOURCE / p).read_bytes() for p in delta), 'reviewed main packaging sources equal frozen assembly bytes')
RESULT['source_review'] = {'semantic_source': BASE, 'assembly_source': ASSEMBLY, 'packaging_paths': {p: sha((ROOT / p).read_bytes()) for p in delta}, 'studio_document_counts': counts}
def artifact():
check(not PACKAGE.parent.exists(), 'fresh extraction directory')
check(ZIP.stat().st_size == 5091267 and sha(ZIP.read_bytes()) == ZIP_SHA, 'frozen ZIP size and hash')
with zipfile.ZipFile(ZIP) as z:
names = z.namelist()
check(len(names) == 114 and len({n.casefold() for n in names}) == 114, '114 unique ZIP files')
check(all(n.startswith(NAME + '/') and PurePosixPath(n).as_posix() == n and '..' not in PurePosixPath(n).parts and '\\' not in n and ':' not in n and all(not p.endswith((' ', '.')) for p in PurePosixPath(n).parts) for n in names), 'single safe normalized Windows ZIP root')
check(all(not i.is_dir() and stat.S_IFMT(i.external_attr >> 16) in (0, stat.S_IFREG) and i.date_time == (2000, 1, 1, 0, 0, 0) for i in z.infolist()) and z.testzip() is None, 'ordinary fixed-time ZIP members and CRCs')
PACKAGE.parent.mkdir()
z.extractall(PACKAGE.parent)
archived = {n[len(NAME) + 1:]: z.read(n) for n in names}
actual = snapshot(PACKAGE)
check(actual == archived, 'complete clean extraction equals ZIP bytes')
hashes = {p: sha(b) for p, b in actual.items()}
lines = actual['SHA256SUMS.txt'].decode().splitlines()
sums = dict((line[66:], line[:64]) for line in lines)
check(len(sums) == len(lines) and sums == {p: h for p, h in hashes.items() if p != 'SHA256SUMS.txt'}, 'complete checksum inventory equals every other extracted file')
package = read_json(PACKAGE / 'package.json')
generated = {'SHA256SUMS.txt', 'START-HERE.txt', 'THIRD-PARTY-NOTICES.txt', 'dependency-notices.json', 'documentation-check.json', 'package.json'}
check(set(actual) - set(package['input_sha256']) == generated and all(hashes[p] == h for p, h in package['input_sha256'].items()), 'all package inputs plus exactly six generated records')
check(hashes['arcadia.exe'] == EXE_SHA and hashes['libunwind.dll'] == DLL_SHA, 'frozen CLI and runtime hashes')
check(not {'arcadia-studio.exe', 'arcadia-server.exe'} & set(actual), 'no unrelated executable payload')
for p in actual:
if p.startswith(('docs/', 'examples/')) or p == 'LICENSE':
check((SOURCE / p).read_bytes() == actual[p], 'exact public document/example: ' + p)
check(actual['README.md'] == (SOURCE / 'scripts/package-cli-readme.md').read_bytes(), 'CLI-specific README')
notice = read_json(PACKAGE / 'dependency-notices.json')
check(notice['root_packages'] == ['oa-cli'] and len(notice['packages']) == 27, '27 dependency packages; only CLI root')
check(notice['cargo_lock_sha256'] == sha((SOURCE / 'Cargo.lock').read_bytes()) == '2b960242c33eb839ff008d01731f6d5cdb4e047ca8cd6e13151cbf9c09913510', 'original CLI Cargo lock identity')
lock = {(p['name'], p['version'], p.get('source')): p for p in tomllib.loads((SOURCE / 'Cargo.lock').read_text())['package']}
references = []
for p in notice['packages']:
check(lock[p['name'], p['version'], p['source']].get('checksum') == p['registry_checksum'], 'locked dependency: ' + p['name'])
references.extend(p['notices'])
for f in p['embedded_fonts']:
references.extend(f['notices'])
if p['source'] is None:
local = snapshot(SOURCE / 'crates' / p['name'])
local = {k: sha(v) for k, v in local.items() if 'target' not in PurePosixPath(k).parts and PurePosixPath(k).name != '.cargo-ok'}
check(local == p['local_source_sha256'], 'complete local crate inputs: ' + p['name'])
references += notice['rust']['notices'] + notice['runtime']['notices']
check(all(hashes[i['path']] == i['sha256'] for i in references), 'all package/compiler/runtime notice references and bytes')
check(notice['runtime']['sha256'] == DLL_SHA, 'runtime notice binds packaged DLL')
check(all(sha((SOURCE / p).read_bytes()) == h for p, h in notice['workspace_build_inputs_sha256'].items()), 'all shared build input hashes')
original = read_json(ROOT / '.local/source-cli-20260911/verified/manifest.json')
cli_inputs = [i for i in original['Artifacts'] if not i['Path'].startswith('.local/')]
check(len(cli_inputs) == 6 and all(sha((SOURCE / i['Path']).read_bytes()) == i['SHA256'].lower() for i in cli_inputs), 'six original CLI manifest inputs')
core_inputs = [i for i in read_json(ROOT / '.local/behavior-creation-20260911/gui-verified/manifest.json')['inputs'] if i['path'].startswith(('crates/oa-core/', 'build/'))]
check(len(core_inputs) == 95 and all(sha((SOURCE / i['path']).read_bytes()) == i['sha256'].lower() for i in core_inputs), '95 original core/shared build inputs')
RESULT['artifact'] = {'zip_sha256': ZIP_SHA, 'zip_bytes': ZIP.stat().st_size, 'file_count': len(actual), 'files': hashes, 'notice_packages': 27, 'notice_reference_files': len({i['path'] for i in references}), 'package_claims': {k: package[k] for k in ('product', 'version', 'target', 'acceptance', 'build', 'build_evidence')}}
return actual
def runtime(original_package):
run = OUT / 'runtime'
run.mkdir()
temp = run / 'temp'
temp.mkdir()
windows = Path(os.environ['SystemRoot'])
env = {'SystemRoot': str(windows), 'WINDIR': str(windows), 'PATH': ';'.join(map(str, (PACKAGE, windows / 'System32', windows))), 'TEMP': str(temp), 'TMP': str(temp)}
RESULT['environment'] = env
RESULT['invocations'] = []
def invoke(args, expect=0, report=True):
index = len(RESULT['invocations']) + 1
r = subprocess.run([str(PACKAGE / 'arcadia.exe'), *map(str, args)], cwd=run, env=env, capture_output=True, timeout=30, creationflags=subprocess.CREATE_NO_WINDOW)
(run / f'{index:02d}.stdout').write_bytes(r.stdout)
(run / f'{index:02d}.stderr').write_bytes(r.stderr)
RESULT['invocations'].append({'arguments': list(map(str, args)), 'exit': r.returncode, 'stdout_sha256': sha(r.stdout), 'stderr_sha256': sha(r.stderr)})
check(r.returncode == expect, 'CLI expected exit: ' + str(args))
if not report:
return r.stdout
check(not r.stderr, 'JSON invocation keeps diagnostic envelope on stdout')
value = json.loads(r.stdout)
check(value['format_version'] == 1 and value['exit_code'] == expect, 'versioned JSON report agrees with process exit')
return value
check(invoke(['--version'], report=False).decode().strip() == 'arcadia 0.2.0', 'underlying CLI version')
help_text = invoke(['--help'], report=False).decode()
check(all(word in help_text for word in ('check ROOT', 'stabilize ROOT', 'rename-alias ROOT OLD NEW', '--write', 'provisional')), 'packaged help has command/preview contract')
examples = run / 'examples'
shutil.copytree(PACKAGE / 'examples', examples)
before_examples = snapshot(examples)
for relative in ('text-first/project.arcadia', 'release1/project.arcadia'):
r = invoke(['check', examples / relative, '--json'])
check(r['status'] == 'checked' and not r['written'] and not r['changes'], 'packaged example check: ' + relative)
check(snapshot(examples) == before_examples, 'checks preserve complete copied examples byte-for-byte')
fixture = run / 'exact-source'
(fixture / 'modules').mkdir(parents=True)
entry = 'arcadia 7;\r\nproject review "CLI package 救助" id "c073d2cf-83e5-4c98-8eaf-4a465ff0cf71" {\r\n description "Literal @crew remains";\r\n include "modules/oa.arcadia";\r\n}\r\n'
module = '// @crew stays in this comment; Ω\r\noa_actor crew "Crew literal @crew" id "1987c990-e3cb-4f0e-9be9-fe61f007b997" {}\r\noa_activity observe "Observe Ω" {}\r\nallocation responsibility "Assigned @crew" id "ffcf7e41-f94b-4f7c-99c1-1a30a0b46959" { source @crew; target @observe; }\r\n'
(fixture / 'project.arcadia').write_bytes(entry.encode())
(fixture / 'modules/oa.arcadia').write_bytes(module.encode())
(fixture / 'detached.arcadia').write_bytes(b'// known detached bytes remain\r\n')
before = snapshot(fixture)
root = fixture / 'project.arcadia'
def stabilized(report):
check(len(report['changes']) == 1 and report['changes'][0]['path'] == 'modules/oa.arcadia' and report['changes'][0]['before'] == module, 'only missing-ID source changes; exact captured raw bytes')
text = report['changes'][0]['after']
match = re.search(r'oa_activity observe "Observe Ω" id "([0-9a-f-]{36})"', text)
check(match is not None, 'fresh ID is attached to literal intended activity')
identity = str(uuid.UUID(match[1]))
check(identity not in (entry + module), 'allocated identity differs from every preexisting identity')
expected = module.replace('oa_activity observe "Observe Ω" {}', f'oa_activity observe "Observe Ω" id "{identity}" {{}}')
check(text == expected, 'stabilization preserves every other character, CRLF, comment, name and reference')
return text, identity
preview = invoke(['stabilize', root, '--json'])
check(preview['status'] == 'preview' and not preview['written'] and preview['identities_to_stabilize'] == 1, 'stabilization is preview by default')
stabilized(preview)
check(snapshot(fixture) == before, 'preview preserves all physical source bytes including detached file')
written = invoke(['stabilize', root, '--write', '--json'])
check(written['status'] == 'written' and written['written'], 'explicit stabilization writes')
text, identity = stabilized(written)
stable_expected = dict(before, **{'modules/oa.arcadia': text.encode()})
check(snapshot(fixture) == stable_expected, 'stabilized complete physical file inventory and bytes')
renamed = text.replace('oa_actor crew ', 'oa_actor rescue_team ').replace('source @crew;', 'source @rescue_team;')
preview = invoke(['rename-alias', root, 'crew', 'rescue_team', '--json'])
check(not preview['written'] and preview['status'] == 'preview' and [(c['path'], c['before'], c['after']) for c in preview['changes']] == [('modules/oa.arcadia', text, renamed)], 'alias preview changes exact declaration and typed reference only')
check(snapshot(fixture) == stable_expected, 'rename preview retains exact source bytes and identities')
saved = invoke(['rename-alias', root, 'crew', 'rescue_team', '--write', '--json'])
renamed_expected = dict(before, **{'modules/oa.arcadia': renamed.encode()})
check(saved['written'] and snapshot(fixture) == renamed_expected, 'explicit alias write matches full independent raw expected files')
expected_ids = re.findall(r'\bid "([0-9a-f-]{36})"', entry + text)
check(re.findall(r'\bid "([0-9a-f-]{36})"', entry + renamed) == expected_ids and len(expected_ids) == 4, 'all four identities remain ordered and exact through rename')
timestamps = {p: (fixture / p).stat().st_mtime_ns for p in renamed_expected}
noop = invoke(['stabilize', root, '--write', '--json'])
check(noop['status'] == 'unchanged' and not noop['written'] and not noop['changes'] and noop['identities_to_stabilize'] == 0, 'explicit no-op reports unchanged')
check(snapshot(fixture) == renamed_expected and timestamps == {p: (fixture / p).stat().st_mtime_ns for p in renamed_expected}, 'no-op preserves all file bytes and mtimes')
invalid = run / 'invalid.arcadia'
invalid.write_bytes(b'arcadia 7;\r\nproject broken "Unclosed" {\r\n')
invalid_before = invalid.read_bytes()
refusal = invoke(['stabilize', invalid, '--write', '--json'], expect=1)
check(not refusal['written'] and invalid.read_bytes() == invalid_before, 'invalid source write refuses with exact raw retention')
check(snapshot(PACKAGE) == original_package and sha(ZIP.read_bytes()) == ZIP_SHA, 'all packaged files and frozen ZIP unchanged after runtime checks')
RESULT['runtime'] = {'fixed_source_ids': expected_ids, 'allocated_activity_id': identity, 'final_source_sha256': {p: sha(b) for p, b in renamed_expected.items()}, 'source_exact_expected': {p: b.decode() for p, b in renamed_expected.items()}, 'stabilization_note': 'Separate preview UUID remains provisional; each result is checked by literal declaration role, not assumed equal across invocations.'}
try:
check(not (OUT / 'result.json').exists(), 'preserve earlier evidence; no overwrite')
source_checks()
frozen = artifact()
runtime(frozen)
RESULT['status'] = 'PASS'
except Exception as error:
RESULT['status'] = 'FAIL'
RESULT['error'] = repr(error)
RESULT['traceback'] = traceback.format_exc()
RESULT['finished_utc'] = time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())
RESULT['script_sha256'] = sha(Path(__file__).read_bytes())
record(OUT / 'result.json', RESULT)
print(json.dumps({k: RESULT[k] for k in ('status', 'started_utc', 'finished_utc')}, indent=2))
print('checks:', len(RESULT['checks']), 'invocations:', len(RESULT.get('invocations', [])))
if RESULT['status'] == 'FAIL':
print(RESULT['traceback'])
sys.exit(1)
@@ -0,0 +1 @@
PASS: 15 CLI/Windows packaging assertions; inert fixture retained at C:\Temp\arcadia-cli-package-2a5110e4fc074b6f9db9bfa623db315c