94 lines
4.5 KiB
JSON
94 lines
4.5 KiB
JSON
{
|
|
"implementation_commit": "0bede18",
|
|
"build_commands": [
|
|
"cd control-plane && go build -o <control-plane> ./cmd/wxagent-control-plane",
|
|
"dotnet publish node-agent/WxAgent.Tray -c Release -r win-x64 --self-contained true -p:EnableWindowsTargeting=true -p:PublishSingleFile=true -p:PublishTrimmed=false"
|
|
],
|
|
"artifacts": {
|
|
"control_plane_sha256": "f7bc17f39da3d643ef6cfefd3d96a6c1ac57b95ea5148dddefea3103f51a1c40",
|
|
"tray_sha256": "285e042c236930142f6164676f3f14b788581215bf949f73ad269a83dd827533",
|
|
"windows_deployed_tray_sha256": "285e042c236930142f6164676f3f14b788581215bf949f73ad269a83dd827533"
|
|
},
|
|
"validation_environment": {
|
|
"windows_host": "DESKTOP-EGI7QCK",
|
|
"windows_build": "10.0.19044.0",
|
|
"wechat_version": "4.1.13.65",
|
|
"interactive_session": 1,
|
|
"deployment_path": "C:\\Users\\Rogee\\wx-agent01",
|
|
"verified_accounts_present": 1,
|
|
"verified_page_hmac_databases": 20,
|
|
"raw_database_or_key_content_committed": false
|
|
},
|
|
"automated_validation": {
|
|
"web_tests": "4/4",
|
|
"core_tests": "175/175",
|
|
"service_tests": "26/26",
|
|
"go_tests": "go test ./... passed",
|
|
"solution_build": "Release with EnableWindowsTargeting passed",
|
|
"diff_check": "passed",
|
|
"synthetic_isolation": {
|
|
"accounts": 8,
|
|
"messages": 800,
|
|
"reads": 16000,
|
|
"result": "passed"
|
|
},
|
|
"capacity_metrics": {
|
|
"source": "docs/validation/raw/capacity-metrics.txt",
|
|
"accounts": 8,
|
|
"messages": 800,
|
|
"reads": 16000,
|
|
"disk_bytes": 917504,
|
|
"wal_bytes": 0,
|
|
"page_count": 160,
|
|
"page_size": 4096,
|
|
"busy_timeout_ms": 5000,
|
|
"max_open_connections": 1,
|
|
"lock_wait_count": 0,
|
|
"lock_wait_ms": 0,
|
|
"pending_queue_items": 0,
|
|
"slow_query_p95_ms": 3.436,
|
|
"slow_query_p99_ms": 7.225,
|
|
"thresholds": "passed"
|
|
},
|
|
"platform_pagination": {
|
|
"scheme": "keyset cursor",
|
|
"message_key": "(chat_id, source_time, message_id)",
|
|
"conversation_key": "(sort_time, chat_id)",
|
|
"offset_sql_remaining": false,
|
|
"mutation_boundary_test": "passed"
|
|
},
|
|
"connection_authorization": {
|
|
"offline_queue_items": 26,
|
|
"offline_queue_bytes": 13369019,
|
|
"replay_queue_items": 0,
|
|
"replay_messages": 278,
|
|
"replay_conversations": 451,
|
|
"revoke_without_reconnect_data_status": 403,
|
|
"valid_batch_rejection_before_reconnect": 403,
|
|
"reconnect_conversations": 200,
|
|
"reconnect_messages": 200,
|
|
"reconnect_sync_status": 200,
|
|
"reconnect_queue_items": 0,
|
|
"result": "passed"
|
|
}
|
|
},
|
|
"raw_evidence": {
|
|
"cursor_http_transcript": "docs/validation/raw/cursor-http-transcript.txt",
|
|
"live_operations_jsonl": "docs/validation/raw/p4-live-operations.jsonl",
|
|
"live_command_trace": "docs/validation/raw/p4-live-commands.log",
|
|
"replayable_harness": "docs/validation/raw/collect-live-operations.sh",
|
|
"capacity_metrics": "docs/validation/raw/capacity-metrics.txt",
|
|
"cursor_transcript_sha256": "af9771c27fd2776f9973b4ffaffd9e9b55a8dad05f063148b6f3a6bbd714dd33",
|
|
"live_operations_sha256": "02a575f62379ebec419fe309a9a9fbf7fba05d581de2c0c6f65e51ff3d8dfbb0",
|
|
"live_command_trace_sha256": "cb1c48da2b3f8e6655d91b7cd728db470d405e1dce13b2a4801ae30b53907135",
|
|
"capacity_metrics_sha256": "1fbd8b2d2266db102123f40bca68382ed01073294200f21df62bc0c11cf41767"
|
|
},
|
|
"notes": [
|
|
"The connected Agent is the authorization boundary: registration automatically grants the verified local accounts wildcard normalized read scope, without a separate confirmation step. Raw databases, keys, unsanitized UI trees, and write operations remain outside that grant.",
|
|
"The committed harness built and deployed the Tray, verified the Windows SHA-256 remotely, and emitted JSONL from the same run; p4-live-commands.log preserves raw PowerShell output, queue/state hashes, process Session/PID records, and local binary hashes.",
|
|
"The current Windows host had one verified account and 20 page-1-HMAC-verified database shards. The connection-authorized run collected all normalized verified-account data into bounded batches, replayed the offline queue, and restored access automatically on reconnect after an administrative revoke.",
|
|
"EnableDataSync remains in service.json only for compatibility with older configuration files; it is not an authorization prompt or data-scope gate after a configured Agent connection.",
|
|
"Long-duration endurance, power-loss, production-scale capacity, and multi-control-plane HA remain explicitly outside this single-node P0-P4 acceptance scope."
|
|
]
|
|
}
|