mirror of
https://github.com/cnlimiter/codex-register.git
synced 2026-06-28 02:32:02 +08:00
docs: add diagnostic tools and final audit report for v5.1 hardening
This commit is contained in:
292
tests_runtime/runtime_functionality_report_1774308869.json
Normal file
292
tests_runtime/runtime_functionality_report_1774308869.json
Normal file
@@ -0,0 +1,292 @@
|
||||
{
|
||||
"mode": "live",
|
||||
"base_url": "http://127.0.0.1:15555",
|
||||
"db_path": "/Volumes/Work/code/codex-manager/tests_runtime/e2e_runtime_1774308869.db",
|
||||
"health": {
|
||||
"status_code": 200,
|
||||
"body": {
|
||||
"total": 4,
|
||||
"tasks": [
|
||||
{
|
||||
"id": 4,
|
||||
"task_uuid": "9079068e-e3f5-4fa7-8e1c-810ce1c352da",
|
||||
"status": "completed",
|
||||
"email_service_id": null,
|
||||
"proxy": null,
|
||||
"logs": null,
|
||||
"result": null,
|
||||
"error_message": null,
|
||||
"created_at": "2026-03-23T23:34:58.715238",
|
||||
"started_at": "2026-03-23T23:34:58.718370",
|
||||
"completed_at": "2026-03-23T23:34:58.718376"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"create": {
|
||||
"task": {
|
||||
"id": 5,
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"status": "pending",
|
||||
"email_service_id": null,
|
||||
"proxy": null,
|
||||
"logs": null,
|
||||
"result": null,
|
||||
"error_message": null,
|
||||
"created_at": "2026-03-23T23:35:28.629402",
|
||||
"started_at": null,
|
||||
"completed_at": null
|
||||
},
|
||||
"batch_id": "2e8cfce4-bf20-4f0b-8839-a94e8e141472",
|
||||
"checks": {
|
||||
"seeded_account_email": "mock-seeded-a8f4da41@example.test",
|
||||
"tokenless_account_email": "mock-tokenless-a8f4da41@example.test",
|
||||
"partial_account_email": "mock-partial-a8f4da41@example.test",
|
||||
"outlook_account_email": "mock-outlook-a8f4da41@example.test",
|
||||
"backoff_service_name": "mock-backoff-a8f4da41"
|
||||
}
|
||||
},
|
||||
"websocket": {
|
||||
"messages": [
|
||||
{
|
||||
"type": "status",
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"type": "status",
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"status": "running",
|
||||
"timestamp": "2026-03-23T23:35:29.258537",
|
||||
"email_service": "tempmail"
|
||||
},
|
||||
{
|
||||
"type": "log",
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"message": "[模拟] 任务已启动,开始执行真实链路探针",
|
||||
"timestamp": "2026-03-23T23:35:29.258717"
|
||||
},
|
||||
{
|
||||
"type": "log",
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"message": "[模拟] Token 同步与 Outlook refresh_token 探针已写入数据库",
|
||||
"timestamp": "2026-03-23T23:35:29.462037"
|
||||
},
|
||||
{
|
||||
"type": "log",
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"message": "[模拟] OTP 超时退避 #1: failures=1, delay=30",
|
||||
"timestamp": "2026-03-23T23:35:29.618496"
|
||||
},
|
||||
{
|
||||
"type": "log",
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"message": "[模拟] OTP 超时退避 #2: failures=2, delay=60",
|
||||
"timestamp": "2026-03-23T23:35:29.772745"
|
||||
},
|
||||
{
|
||||
"type": "log",
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"message": "[模拟] OTP 超时退避 #3: failures=3, delay=3600",
|
||||
"timestamp": "2026-03-23T23:35:29.926635"
|
||||
},
|
||||
{
|
||||
"type": "log",
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"message": "[模拟] 批量计数探针已完成",
|
||||
"timestamp": "2026-03-23T23:35:30.102423"
|
||||
},
|
||||
{
|
||||
"type": "status",
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"status": "completed",
|
||||
"timestamp": "2026-03-23T23:35:30.287066",
|
||||
"email": "mock-seeded-a8f4da41@example.test",
|
||||
"email_service": "tempmail"
|
||||
}
|
||||
],
|
||||
"log_count": 6,
|
||||
"status_count": 3,
|
||||
"live_log_count": 6,
|
||||
"final_status": "completed"
|
||||
},
|
||||
"task": {
|
||||
"id": 5,
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"status": "completed",
|
||||
"email_service_id": null,
|
||||
"proxy": null,
|
||||
"logs": "[模拟] 任务已启动,开始执行真实链路探针\n[模拟] Token 同步与 Outlook refresh_token 探针已写入数据库\n[模拟] OTP 超时退避 #1: failures=1, delay=30\n[模拟] OTP 超时退避 #2: failures=2, delay=60\n[模拟] OTP 超时退避 #3: failures=3, delay=3600\n[模拟] 批量计数探针已完成\n[模拟] 任务完成,所有探针已收口",
|
||||
"result": {
|
||||
"email": "mock-seeded-a8f4da41@example.test",
|
||||
"email_service": "tempmail",
|
||||
"hardening_checks": {
|
||||
"token_sync": {
|
||||
"seeded_account_id": 4,
|
||||
"tokenless_account_id": 5,
|
||||
"partial_account_id": 6
|
||||
},
|
||||
"outlook_refresh": {
|
||||
"service_id": 3,
|
||||
"email": "mock-outlook-a8f4da41@example.test"
|
||||
},
|
||||
"batch_counter": {
|
||||
"batch_id": "2e8cfce4-bf20-4f0b-8839-a94e8e141472",
|
||||
"task_uuids": [
|
||||
"03c182b4-d5d3-4939-b2a0-eda844c402d9",
|
||||
"224f2a9f-c0f3-4d97-8e92-4c2e772a675b",
|
||||
"6c4f0e18-47b1-473a-9cc5-83ef09e33ff8"
|
||||
],
|
||||
"snapshot": {
|
||||
"status": "completed",
|
||||
"total": 3,
|
||||
"completed": 3,
|
||||
"success": 2,
|
||||
"failed": 1,
|
||||
"skipped": 0,
|
||||
"cancelled": false,
|
||||
"current_index": 0,
|
||||
"finished": true,
|
||||
"task_uuids": [
|
||||
"03c182b4-d5d3-4939-b2a0-eda844c402d9",
|
||||
"224f2a9f-c0f3-4d97-8e92-4c2e772a675b",
|
||||
"6c4f0e18-47b1-473a-9cc5-83ef09e33ff8"
|
||||
]
|
||||
}
|
||||
},
|
||||
"otp_timeout_backoff": {
|
||||
"service_id": 4,
|
||||
"states": [
|
||||
{
|
||||
"failures": 1,
|
||||
"delay_seconds": 30,
|
||||
"opened_until": 1774308959.612146,
|
||||
"retry_after": null,
|
||||
"last_error": "模拟 OTP 超时 #1"
|
||||
},
|
||||
{
|
||||
"failures": 2,
|
||||
"delay_seconds": 60,
|
||||
"opened_until": 1774308989.7684338,
|
||||
"retry_after": null,
|
||||
"last_error": "模拟 OTP 超时 #2"
|
||||
},
|
||||
{
|
||||
"failures": 3,
|
||||
"delay_seconds": 3600,
|
||||
"opened_until": 1774312529.923651,
|
||||
"retry_after": null,
|
||||
"last_error": "模拟 OTP 超时 #3"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"error_message": null,
|
||||
"created_at": "2026-03-23T23:35:28.629402",
|
||||
"started_at": "2026-03-23T23:35:29.251251",
|
||||
"completed_at": "2026-03-23T23:35:30.252298"
|
||||
},
|
||||
"batch_api": {
|
||||
"batch_id": "2e8cfce4-bf20-4f0b-8839-a94e8e141472",
|
||||
"total": 3,
|
||||
"completed": 3,
|
||||
"success": 2,
|
||||
"failed": 1,
|
||||
"current_index": 0,
|
||||
"cancelled": false,
|
||||
"finished": true,
|
||||
"progress": "3/3"
|
||||
},
|
||||
"database": {
|
||||
"task_uuid": "a8f4da41-354c-4d89-9634-c582a032c70b",
|
||||
"batch_id": "2e8cfce4-bf20-4f0b-8839-a94e8e141472",
|
||||
"seeded_account": {
|
||||
"email": "mock-seeded-a8f4da41@example.test",
|
||||
"access_token": "mock-access-token-seeded",
|
||||
"refresh_token": "mock-refresh-token-seeded",
|
||||
"token_sync_status": "pending"
|
||||
},
|
||||
"tokenless_account": {
|
||||
"email": "mock-tokenless-a8f4da41@example.test",
|
||||
"access_token": "mock-access-token-updated",
|
||||
"refresh_token": null,
|
||||
"token_sync_status": "pending"
|
||||
},
|
||||
"partial_account": {
|
||||
"email": "mock-partial-a8f4da41@example.test",
|
||||
"access_token": "mock-access-token-partial",
|
||||
"refresh_token": "",
|
||||
"token_sync_status": "pending"
|
||||
},
|
||||
"task_result": {
|
||||
"email": "mock-seeded-a8f4da41@example.test",
|
||||
"email_service": "tempmail",
|
||||
"hardening_checks": {
|
||||
"token_sync": {
|
||||
"seeded_account_id": 4,
|
||||
"tokenless_account_id": 5,
|
||||
"partial_account_id": 6
|
||||
},
|
||||
"outlook_refresh": {
|
||||
"service_id": 3,
|
||||
"email": "mock-outlook-a8f4da41@example.test"
|
||||
},
|
||||
"batch_counter": {
|
||||
"batch_id": "2e8cfce4-bf20-4f0b-8839-a94e8e141472",
|
||||
"task_uuids": [
|
||||
"03c182b4-d5d3-4939-b2a0-eda844c402d9",
|
||||
"224f2a9f-c0f3-4d97-8e92-4c2e772a675b",
|
||||
"6c4f0e18-47b1-473a-9cc5-83ef09e33ff8"
|
||||
],
|
||||
"snapshot": {
|
||||
"status": "completed",
|
||||
"total": 3,
|
||||
"completed": 3,
|
||||
"success": 2,
|
||||
"failed": 1,
|
||||
"skipped": 0,
|
||||
"cancelled": false,
|
||||
"current_index": 0,
|
||||
"finished": true,
|
||||
"task_uuids": [
|
||||
"03c182b4-d5d3-4939-b2a0-eda844c402d9",
|
||||
"224f2a9f-c0f3-4d97-8e92-4c2e772a675b",
|
||||
"6c4f0e18-47b1-473a-9cc5-83ef09e33ff8"
|
||||
]
|
||||
}
|
||||
},
|
||||
"otp_timeout_backoff": {
|
||||
"service_id": 4,
|
||||
"states": [
|
||||
{
|
||||
"failures": 1,
|
||||
"delay_seconds": 30,
|
||||
"opened_until": 1774308959.612146,
|
||||
"retry_after": null,
|
||||
"last_error": "模拟 OTP 超时 #1"
|
||||
},
|
||||
{
|
||||
"failures": 2,
|
||||
"delay_seconds": 60,
|
||||
"opened_until": 1774308989.7684338,
|
||||
"retry_after": null,
|
||||
"last_error": "模拟 OTP 超时 #2"
|
||||
},
|
||||
{
|
||||
"failures": 3,
|
||||
"delay_seconds": 3600,
|
||||
"opened_until": 1774312529.923651,
|
||||
"retry_after": null,
|
||||
"last_error": "模拟 OTP 超时 #3"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"outlook_second_account": {
|
||||
"email": "mock-outlook-a8f4da41@example.test",
|
||||
"refresh_token": "new-second"
|
||||
}
|
||||
}
|
||||
}
|
||||
38
tests_runtime/runtime_recovery_report_1774308869.json
Normal file
38
tests_runtime/runtime_recovery_report_1774308869.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"mode": "verify-recovery",
|
||||
"base_url": "http://127.0.0.1:15555",
|
||||
"db_path": "/Volumes/Work/code/codex-manager/tests_runtime/e2e_runtime_1774308869.db",
|
||||
"state": {
|
||||
"stale_task_uuid": "stale-e738842e-74d8-400d-859e-1b283eab1a95",
|
||||
"db_path": "/Volumes/Work/code/codex-manager/tests_runtime/e2e_runtime_1774308869.db",
|
||||
"prepared_at": "2026-03-24 07:35:40"
|
||||
},
|
||||
"health": {
|
||||
"status_code": 200,
|
||||
"body": {
|
||||
"total": 9,
|
||||
"tasks": [
|
||||
{
|
||||
"id": 9,
|
||||
"task_uuid": "stale-e738842e-74d8-400d-859e-1b283eab1a95",
|
||||
"status": "failed",
|
||||
"email_service_id": null,
|
||||
"proxy": null,
|
||||
"logs": "[00:00:00] stale task\n[系统] 服务启动时检测到未完成的历史任务,已标记失败,请重新发起。",
|
||||
"result": null,
|
||||
"error_message": "服务启动时检测到未完成的历史任务,已标记失败,请重新发起。",
|
||||
"created_at": "2026-03-24T07:35:40",
|
||||
"started_at": "2026-03-24T07:35:40",
|
||||
"completed_at": "2026-03-23T23:35:57.292019"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"recovery": {
|
||||
"task_uuid": "stale-e738842e-74d8-400d-859e-1b283eab1a95",
|
||||
"status": "failed",
|
||||
"error_message": "服务启动时检测到未完成的历史任务,已标记失败,请重新发起。",
|
||||
"logs": "[00:00:00] stale task\n[系统] 服务启动时检测到未完成的历史任务,已标记失败,请重新发起。",
|
||||
"completed_at": "2026-03-23 23:35:57.292019"
|
||||
}
|
||||
}
|
||||
5
tests_runtime/runtime_recovery_state_1774308869.json
Normal file
5
tests_runtime/runtime_recovery_state_1774308869.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"stale_task_uuid": "stale-e738842e-74d8-400d-859e-1b283eab1a95",
|
||||
"db_path": "/Volumes/Work/code/codex-manager/tests_runtime/e2e_runtime_1774308869.db",
|
||||
"prepared_at": "2026-03-24 07:35:40"
|
||||
}
|
||||
Reference in New Issue
Block a user