{ "schema_version": 1, "skill": "artemis-device-test", "version": "0.5.0-internal", "created_at_utc": "2026-10-19T10:47:11.989972+00:00", "manifest_excludes_itself": true, "files": [ { "path": "RELEASE-NOTES.md", "sha256": "2f7c688d08b7f3111253ca51e4fd85151a9b1337c78a1756bf6875156380dfca" }, { "path": "SKILL.md", "sha256": "5106d35bbdb693213424514f0a901533dbc3102c0fef3ab3875bce6fa2ec6d76" }, { "path": "START-HERE.md", "sha256": "08e3f924f6d87473de8bcdde8adba1faaa2b505ff60e406738cb8c7677b80982" }, { "path": "VERSION", "sha256": "4045e68143fd6ee98f00d7b042958cc44b46601c60c4b8a727089f2b45660063" }, { "path": "agents/openai.yaml", "sha256": "dfc0c369b810c4b908f1784e1830792dd997042a4174029601bf4d53a31428cd" }, { "path": "assets/case-routing.json", "sha256": "55dd6eb5a9a53b8cce2e68068a204b1f3b972aa2d6d91251755b47b66137444b" }, { "path": "assets/feedback-template.md", "sha256": "c833948918b431caaa825cdd482e14d37fb347a1ee1a5369d4757b26165da05c" }, { "path": "assets/patches/artemis-v1.5.2-observation.patch", "sha256": "f1ad95c19a69705ef7906785400951d1f6b49a68c5bf1f76a0d7b728e719aeeb" }, { "path": "assets/profile.example.json", "sha256": "dc0810db3b1ff23021d0216b63b868b70004cb4db33c4698ee7f33e956ff07e7" }, { "path": "assets/tool-catalog.json", "sha256": "fd8699647cace6590399ed07fa1221cc770f18b8e1facb1bba2a9169b166a465" }, { "path": "references/artemis-patch.md", "sha256": "56d90499cce2305e7b89bd88ef3cd99c102e567fcce3255560f7b0cc94c373a9" }, { "path": "references/artemis-workflow.md", "sha256": "5e22039a38ca42ff14b21a5a8b85d4d83b4c2cf4d9d2e8d68220d36a146f368e" }, { "path": "references/cli-tools.md", "sha256": "87890af5b0bc86ea3c5d3d0b113eeaeec93c7530eb1f8a9c76ec22c7affdf4a8" }, { "path": "references/device-adapter.md", "sha256": "0709776e89a44e58c9fc6cc8c8f1d049b741f40803bcd369ab4e8afc79a6a407" }, { "path": "references/environment-repair.md", "sha256": "9b7d673b0c0104598e45ce4622c84bb17b57b58d115bad9be5e0834e538d8f03" }, { "path": "references/evidence.md", "sha256": "b5e82a31b83b6901e60e4e0722dcce67a6647a7112c1b3b68e465dfaff6f625e" }, { "path": "references/pilot-smoke.md", "sha256": "538129885dd69f64a2467440bf8c0979e6fa1e430f1dc178fcd8a47558be5ef0" }, { "path": "references/protocol-support.md", "sha256": "a1a78b22ad9379b9277567a8d522919bf3d766aadf35bc5c5ccea3b7ac14b273" }, { "path": "references/team-setup.md", "sha256": "8427ec3d879843abacf86d38cf18595118c0348d6e49d4de8502cc05be906840" }, { "path": "references/tool-routing.md", "sha256": "75644e48dc20d20024a1f7f31f4c8aa8ee2ba2b7a92856351ca55619580dddf4" }, { "path": "references/v1-protocol.md", "sha256": "b3729f6d7f74a6b657e15a34fdfe4dda35b9b0789b0ce241c03e0664fe27de29" }, { "path": "scripts/device_adapter.py", "sha256": "3e9a0483192cbb2cf352562a296713cd352a2bc97d3dc0dbc048cd5a05283033" }, { "path": "scripts/evidence.py", "sha256": "e85dae725d39a1fb862d59a8e423b51f6d6cd3fe63d0ce1138ab651e24a0e098" }, { "path": "scripts/tool_runner.py", "sha256": "4c55b600cdcf35a157e411c18b336b3f76a28d63670227eb90f56a5f4ccac9e6" }, { "path": "scripts/v1_protocol.py", "sha256": "c512e2cb99a0ba9cd70ade1429a2e96b236c9026dea5a96dcaf0b5051c6972a0" }, { "path": "scripts/vendor/device_upgrade.py", "sha256": "b50c12c982a6944a2112e22dfed87c0fdfdc311e6c6ff43a5ce9fa2a726b00ed" }, { "path": "scripts/vendor/serial_monitor.ps1", "sha256": "173584db05950b9842f2485eec5b33c0b16062f944216c283a18e038a9138a67" }, { "path": "scripts/vendor/source-manifest.json", "sha256": "9fdb13410213915d8c0bca921caa1f9166ddc9bc7101dcd524df38ccd6e78049" }, { "path": "scripts/vendor/v2_discover.py", "sha256": "6d0783c2a4f34397b61f4d1a65f97c2300f492caf8c60c38b48c246a75774158" }, { "path": "tests/test_device_adapter.py", "sha256": "fcebedffedbfe2caf6ec5f772300be8a10a6bb0c8ed5c9638110be8d0ae4112e" }, { "path": "tests/test_evidence.py", "sha256": "d6cbbfab48af03958e1716631d1a1e6f034b56082cd113c32fbcf0b6f20cb6b0" }, { "path": "tests/test_tool_runner.py", "sha256": "19f224943a6bc1271b8063b73fd0fb0f8985adad7aac8cc45c32b3a3e7bfb2c7" }, { "path": "tests/test_v1_protocol.py", "sha256": "e727d725507efdc436829f75f87108fbea75b0b883394bd859cb340abdb8df6f" }, { "path": "tests/test_v1_upgrade.py", "sha256": "a0d15a28757d95eda5aa1126e0e6bd0be782c5e98e2c8e14d8e55ee3c7f951f9" } ], "artemis_patch": { "base_tag": "v1.5.2", "base_commit": "bdc75d0c657c5c2707b4c6e352eed6a1f5c14fff", "path": "assets/patches/artemis-v1.5.2-observation.patch" }, "not_included": [ "tool installers and binaries", "Artemis application", "Python virtual environments", "local profiles and credentials", "original workbook and firmware", "raw device evidence", "bytecode caches", "full V1 source documents (local originals retained; distilled contract included)", "raw src.zip and extracted third-party Qt source" ], "v1_document_sources": [ { "file": "references/v1.md", "revision": "v1.0.23 (2026-08-03)", "sha256": "50e8a76c880386e03e173582de3115bc60fd91e1f1ce5f4e8a6b190e4fc8f8b9" }, { "file": "references/固件配置工具及web管理工具接口文档.md", "revision": "V1.9 (2019-05-13)", "sha256": "e4d373e3ab673add9da93ca4d07b5c8530189df086743ba7fb171757eb2efa10" } ], "v1_support": { "discovery": true, "identity_query": true, "native_version_query": true, "upgrade_preflight": true, "upgrade_transfer": true, "upgrade_transport": "tcp4941_2170_md5_ascii32_plus_rom", "acknowledgment": "same command and integer code=0 after complete upload", "postcheck_required": true, "automatic_write_retry": false, "inner_outer_version_mapping": "not_established", "literal_nested_versions_if_reported": true }, "v1_code_source": { "archive": "src.zip", "sha256": "1603ece177973ec79a4ea3fb94f2984faf9c82ca3ec7f4eac224003385737fbc", "size": 134961, "upstream_revision": "not provided", "source_executed": false, "reviewed_files": [ { "path": "src/EapilPanoCHead.h", "sha256": "1092bd56078a9e4cd4fe388af41247d68be729519fd60326a21f9e111b72c2d7" }, { "path": "src/EpConnection.cpp", "sha256": "245c04733564719ffa879481e19e3a69f16cccafad702b375bcfba438373061d" }, { "path": "src/EpPanoCConfigure.cpp", "sha256": "3b0a98d650d612cab44f01743fd992d3a759d91eebb0462b9811c1666df2fb3a" }, { "path": "src/json/GetBasicInfoResponse.cpp", "sha256": "3b668e635b113ed9c431bd57aff30c45d5daa874f5f9a2158e605aebdda9ca94" } ], "legacy_upgrade": { "port": 4941, "command": "0x5a0e2170", "byte_order": "big-endian", "data": "lowercase ASCII MD5 of whole ROM (32 bytes), then ROM bytes", "data_length": "32 + ROM size", "wire_length": "40 + ROM size", "acknowledgment": "same command; bounded JSON object; integer code=0", "acknowledgment_is_final_acceptance": false, "locations": [ "EpConnection.cpp:116-195", "EpConnection.cpp:369-411", "EpConnection.cpp:687-729", "EpPanoCConfigure.cpp:734-754", "EapilPanoCHead.h:21-35,160" ] }, "version_mapping": "native firmware/dev_ver have no established inner/outer mapping", "alternative_transport": "8940/EPFP in sendTcpFileV2(protocol=1) is not selected for legacy V1" } }