HAL 0.4.1 bear hal21 배포 기록: VERSION_HISTORY 0.4.1 "배포" 절(main ff 2b31543, 빌드·verify·artifact sha256 5종, 백업·stage·register-release·bootstrap-release·전환·재시작 500ms, 마이그레이션 hal_0011·TLS 신뢰 로그·배포 코드 read-back, HAL 서버 Agent 설치·승인(hal-host-agent.sh), HAL 작업으로 agent 0.4.1(2대)·hawkeye·backup 기록, hawkeye 행 갱신 확인, 되돌리기, 운영자 조치, 알려진 제한), RUNBOOK §11.1 실행 기록, 로컬 E2E 보고서 갱신

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
zzabisagent-lab
2026-11-06 08:46:34 +00:00
co-authored by Claude Fable 5.1
parent 2b31543a86
commit 3250502caa
4 changed files with 198 additions and 182 deletions
+109 -109
View File
@@ -1,14 +1,14 @@
{
"generatedAt": "2026-11-06T08:39:15.596Z",
"startedAt": "2026-11-06T08:36:56.328Z",
"generatedAt": "2026-11-06T08:42:57.005Z",
"startedAt": "2026-11-06T08:40:37.605Z",
"env": {
"agents": 4,
"ports": {
"hal": 46137,
"portal": 33827,
"wm": 44585,
"am": 46243,
"mail": 33749
"hal": 42077,
"portal": 35717,
"wm": 38791,
"am": 37901,
"mail": 36549
},
"mailServerRegistered": true,
"node": "v24.22.1"
@@ -99,12 +99,12 @@
{
"name": "팀 그룹 만들기 → 현재 그룹 전환",
"ok": true,
"detail": "g_01a1b001050da5f0aac64cb28b"
"detail": "g_01a1b004656a3fd8bdbc431252"
},
{
"name": "이메일 초대(7일) → 초대 메일 링크",
"ok": true,
"detail": "CuKQ5wejxWQRySeHUeXtDHc6UV_gtoBe"
"detail": "gDQeFdZYzURAfDUw-yHeUH762uhAoRwS"
},
{
"name": "초대 수락(1회용) → 별칭 user-02 · 역할 member",
@@ -162,7 +162,7 @@
"detail": {
"count": 2,
"team": {
"id": "pv_01a1b001033bcca913e287fd2e",
"id": "pv_01a1b004639c49d0dc8ae615b6",
"price": 49000,
"sites": 3
},
@@ -179,7 +179,7 @@
"orderNo": "AW-20261106-0001",
"status": "awaiting_payment",
"total": 63800,
"dueAt": "2026-11-13T08:36:59.371Z",
"dueAt": "2026-11-13T08:40:40.667Z",
"hasInstructions": true
}
},
@@ -221,7 +221,7 @@
"detail": {
"sites": 3,
"subs": 1,
"nextBilling": "2026-12-06T08:36:59.420Z"
"nextBilling": "2026-12-06T08:40:40.718Z"
}
}
],
@@ -233,7 +233,7 @@
"bill": {
"sites": 3,
"subs": 1,
"nextBilling": "2026-12-06T08:36:59.420Z"
"nextBilling": "2026-12-06T08:40:40.718Z"
}
}
},
@@ -248,7 +248,7 @@
"name": "사이트 생성(새 Webmaker 프로젝트·배포 방식 관리형) → 초안·사이트 수 미소비·다음 단계 안내",
"ok": true,
"detail": {
"id": "s_01a1b00105c6ccdc2e6bed72ab",
"id": "s_01a1b004663ab3d2ed1c59d189",
"lifecycle": "draft",
"projectId": "00000000000000000000000000000001",
"nextSteps": [
@@ -283,7 +283,7 @@
"name": "제작 화면 열기: 포털 SSO 티켓 → Webmaker /api/auth/sso 302(1회용)",
"ok": true,
"detail": {
"portalRedirect": "http://127.0.0.1:44585/api/auth/sso?ticket=…",
"portalRedirect": "http://127.0.0.1:38791/api/auth/sso?ticket=…",
"webmaker": 302,
"reuse": 401
}
@@ -299,7 +299,7 @@
],
"evidence": {
"sso": {
"portalRedirect": "http://127.0.0.1:44585/api/auth/sso?ticket=…",
"portalRedirect": "http://127.0.0.1:38791/api/auth/sso?ticket=…",
"webmaker": 302,
"reuse": 401
},
@@ -320,7 +320,7 @@
"name": "배포 요청 → 10단계 작업·사이트 수 예약·같은 요청 재제출은 하나",
"ok": true,
"detail": {
"jobId": "j_01a1b00105ee38a83dc81ee219",
"jobId": "j_01a1b004666d3964ce5450810c",
"steps": 10,
"again": false,
"siteCount": "reserved",
@@ -351,7 +351,7 @@
"ok": true,
"detail": {
"lifecycle": "needs_domain",
"version": "20261106083700-rev-c1-000000",
"version": "20261106084041-rev-c1-000000",
"verify": "needs_domain",
"health": "ok",
"agentHasSite": true
@@ -360,7 +360,7 @@
],
"evidence": {
"d": {
"jobId": "j_01a1b00105ee38a83dc81ee219",
"jobId": "j_01a1b004666d3964ce5450810c",
"steps": 10,
"again": false,
"siteCount": "reserved",
@@ -383,7 +383,7 @@
},
"after": {
"lifecycle": "needs_domain",
"version": "20261106083700-rev-c1-000000",
"version": "20261106084041-rev-c1-000000",
"verify": "needs_domain",
"health": "ok",
"agentHasSite": true
@@ -401,7 +401,7 @@
"name": "도메인 추가(웹·대표 지정) → 소유 확인 TXT 값 안내 → 작업이 외부 대기(TXT)",
"ok": true,
"detail": {
"domainId": "d_01a1b00119adec1932fea26a6e",
"domainId": "d_01a1b0047a331aa3d1923d51a8",
"txtName": "_ariweb-verify.aw-e2e.localhost",
"txtValueShape": "ariweb-verify=…",
"copyable": true
@@ -422,7 +422,7 @@
],
"evidence": {
"dm": {
"domainId": "d_01a1b00119adec1932fea26a6e",
"domainId": "d_01a1b0047a331aa3d1923d51a8",
"txtName": "_ariweb-verify.aw-e2e.localhost",
"txtValueShape": "ariweb-verify=…",
"copyable": true
@@ -500,7 +500,7 @@
"name": "사이트 대표 메일 생성(사이트 연결 도메인·배정) → AriMail 테넌트 준비·도메인별 보장량·ariweb 표시",
"ok": true,
"detail": {
"id": "msv_01a1b001a21edb1db0b90caa39",
"id": "msv_01a1b00502c0755b9fe965ba46",
"status": "needs_setup",
"tenant": true,
"ariwebKind": "site_bound",
@@ -517,7 +517,7 @@
"name": "메일함 생성: 초기 비밀번호 1회 표시·접속 안내 → 재조회에는 비밀번호 없음",
"ok": true,
"detail": {
"id": "mb_01a1b001a23523c0be408a7704",
"id": "mb_01a1b00502e82fb99c6a1d925b",
"address": "kim@aw-e2e.localhost",
"passwordShownOnce": "[redacted]",
"mustChange": true,
@@ -584,7 +584,7 @@
],
"evidence": {
"svc": {
"id": "msv_01a1b001a21edb1db0b90caa39",
"id": "msv_01a1b00502c0755b9fe965ba46",
"status": "needs_setup",
"tenant": true,
"ariwebKind": "site_bound",
@@ -592,7 +592,7 @@
"siteCountAllocated": 0
},
"mb": {
"id": "mb_01a1b001a23523c0be408a7704",
"id": "mb_01a1b00502e82fb99c6a1d925b",
"address": "kim@aw-e2e.localhost",
"passwordShownOnce": "[redacted]",
"mustChange": true,
@@ -644,7 +644,7 @@
"name": "메일 전용 도메인 등록(solo-e2e.localhost, purpose mail)",
"ok": true,
"detail": {
"id": "d_01a1b001c45817fdf71c1fb567",
"id": "d_01a1b005251eb41041d686f464",
"jobCancelled": null
}
},
@@ -652,7 +652,7 @@
"name": "독립 메일 서비스 생성(독립 옵션 소비·사이트 수 미소비)",
"ok": true,
"detail": {
"id": "msv_01a1b001c45e9bb2bc1ae08bf6",
"id": "msv_01a1b005252540cb9d7cb9ef0b",
"kind": "standalone",
"mailServicesAllocated": 1,
"sitesAllocated": 0
@@ -661,7 +661,7 @@
],
"evidence": {
"r": {
"id": "msv_01a1b001c45e9bb2bc1ae08bf6",
"id": "msv_01a1b005252540cb9d7cb9ef0b",
"kind": "standalone",
"mailServicesAllocated": 1,
"sitesAllocated": 0
@@ -701,8 +701,8 @@
"ok": true,
"detail": {
"status": "active",
"firstDue": "2026-11-07T08:37:48.329Z",
"nextRun": "2026-11-06T08:37:48.329Z"
"firstDue": "2026-11-07T08:41:29.707Z",
"nextRun": "2026-11-06T08:41:29.707Z"
}
},
{
@@ -712,7 +712,7 @@
"timedOut": false,
"optionStatus": "active",
"lastJob": null,
"siteServer": "srv_01a1b000fe3cf87ac50582b199",
"siteServer": "srv_01a1b0045ea56d81b8cfa4ebd8",
"backup": {
"status": "done",
"tier": "monthly",
@@ -733,14 +733,14 @@
},
"opt": {
"status": "active",
"firstDue": "2026-11-07T08:37:48.329Z",
"nextRun": "2026-11-06T08:37:48.329Z"
"firstDue": "2026-11-07T08:41:29.707Z",
"nextRun": "2026-11-06T08:41:29.707Z"
},
"run1": {
"timedOut": false,
"optionStatus": "active",
"lastJob": null,
"siteServer": "srv_01a1b000fe3cf87ac50582b199",
"siteServer": "srv_01a1b0045ea56d81b8cfa4ebd8",
"backup": {
"status": "done",
"tier": "monthly",
@@ -763,19 +763,19 @@
"ok": true,
"detail": {
"backup": {
"id": "bk_01a1b001de7311dbc020282a43",
"createdAt": "2026-11-06T08:37:48.332Z",
"id": "bk_01a1b0053ed9625e728bbaf863",
"createdAt": "2026-11-06T08:41:29.710Z",
"scope": {
"files": true,
"db": true,
"uploads": true,
"config": true,
"storeServerId": "srv_01a1b000feeb9e34dab18cf0ad",
"storeServerId": "srv_01a1b0045f7689a3ac44add5a3",
"verifyMethod": "sha256 + 격리 환경 읽기 확인"
},
"sizeBytes": 1893,
"sizeBytes": 1896,
"verifyState": "verified",
"expiresAt": "2027-02-07T08:37:54.932Z",
"expiresAt": "2027-02-07T08:41:36.218Z",
"tier": "monthly"
},
"included": [
@@ -809,7 +809,7 @@
"name": "복원 요청 → 운영자 승인 대기 · 중복 요청 없음",
"ok": true,
"detail": {
"id": "rs_01a1b001e223d31d0a835f0ffc",
"id": "rs_01a1b00542f2daa13dc0dc0605",
"status": "awaiting_approval",
"dup": false,
"finalConfirmation": {
@@ -838,19 +838,19 @@
"evidence": {
"info": {
"backup": {
"id": "bk_01a1b001de7311dbc020282a43",
"createdAt": "2026-11-06T08:37:48.332Z",
"id": "bk_01a1b0053ed9625e728bbaf863",
"createdAt": "2026-11-06T08:41:29.710Z",
"scope": {
"files": true,
"db": true,
"uploads": true,
"config": true,
"storeServerId": "srv_01a1b000feeb9e34dab18cf0ad",
"storeServerId": "srv_01a1b0045f7689a3ac44add5a3",
"verifyMethod": "sha256 + 격리 환경 읽기 확인"
},
"sizeBytes": 1893,
"sizeBytes": 1896,
"verifyState": "verified",
"expiresAt": "2027-02-07T08:37:54.932Z",
"expiresAt": "2027-02-07T08:41:36.218Z",
"tier": "monthly"
},
"included": [
@@ -880,7 +880,7 @@
"deferred": []
},
"rq": {
"id": "rs_01a1b001e223d31d0a835f0ffc",
"id": "rs_01a1b00542f2daa13dc0dc0605",
"status": "awaiting_approval",
"dup": false,
"finalConfirmation": {
@@ -970,8 +970,8 @@
"name": "외부 배포 사이트 생성(초안) + 저장본",
"ok": true,
"detail": {
"id": "s_01a1b002cdb5f0c48a793c5469",
"group_id": "g_01a1b001050da5f0aac64cb28b",
"id": "s_01a1b0062e696e228a49d5fe73",
"group_id": "g_01a1b004656a3fd8bdbc431252",
"name": "E2E 외부 사이트",
"purpose": "e2e",
"webmaker_project_id": "00000000000000000000000000000004",
@@ -999,9 +999,9 @@
"retention_until": null,
"delete_after": null,
"deleted_at": null,
"created_by": "u_01a1b0010475de80f28e1f95f8",
"created_at": "2026-11-06T08:38:56.181Z",
"updated_at": "2026-11-06T08:38:56.187Z",
"created_by": "u_01a1b00464ed4b2b09e40fa791",
"created_at": "2026-11-06T08:42:37.545Z",
"updated_at": "2026-11-06T08:42:37.550Z",
"runtime": "static",
"consent_version": null,
"pending_cleanup_json": null,
@@ -1042,8 +1042,8 @@
"ok": true,
"detail": {
"token": "[redacted]",
"install": "curl -fsSL http://127.0.0.1:46137/agent/v1/install.sh | bash -s -- --hal http://127.0.0.1:46137 --token … --external --site s_01a1b002cdb5f0c48a793c5469",
"expiresAt": "2026-11-06T08:48:56.214Z",
"install": "curl -fsSL http://127.0.0.1:42077/agent/v1/install.sh | bash -s -- --hal http://127.0.0.1:42077 --token … --external --site s_01a1b0062e696e228a49d5fe73",
"expiresAt": "2026-11-06T08:52:37.584Z",
"status": "pending"
}
},
@@ -1126,8 +1126,8 @@
"agreed": false
},
"tok": {
"install": "curl -fsSL http://127.0.0.1:46137/agent/v1/install.sh | bash -s -- --hal http://127.0.0.1:46137 --token … --external --site s_01a1b002cdb5f0c48a793c5469",
"expiresAt": "2026-11-06T08:48:56.214Z"
"install": "curl -fsSL http://127.0.0.1:42077/agent/v1/install.sh | bash -s -- --hal http://127.0.0.1:42077 --token … --external --site s_01a1b0062e696e228a49d5fe73",
"expiresAt": "2026-11-06T08:52:37.584Z"
},
"conn": {
"status": "connected",
@@ -1311,7 +1311,7 @@
"approve": 200,
"sites": 1,
"mailboxes": 5,
"product": "pv_01a1b001033b6c20005814ab9e"
"product": "pv_01a1b004639bf7bb78dcc6fcad"
}
}
],
@@ -1347,7 +1347,7 @@
"approve": 200,
"sites": 1,
"mailboxes": 5,
"product": "pv_01a1b001033b6c20005814ab9e"
"product": "pv_01a1b004639bf7bb78dcc6fcad"
}
}
},
@@ -1430,9 +1430,9 @@
"name": "요청(보내는 그룹, 초안 사이트) → 받는 사용자 알림",
"ok": true,
"detail": {
"id": "tr_01a1b002ef104ca1036d3185cd",
"id": "tr_01a1b0064f9fe7ba31d9dbdbd2",
"status": "requested",
"expiresAt": "2026-11-13T08:39:04.720Z",
"expiresAt": "2026-11-13T08:42:46.047Z",
"bobNotified": true
}
},
@@ -1460,7 +1460,7 @@
"bad": "final_confirmation_mismatch",
"ok": 200,
"status": "completed",
"cutover": "2026-11-06T08:39:04.745Z"
"cutover": "2026-11-06T08:42:46.076Z"
}
},
{
@@ -1489,9 +1489,9 @@
"excluded": 3
},
"rq": {
"id": "tr_01a1b002ef104ca1036d3185cd",
"id": "tr_01a1b0064f9fe7ba31d9dbdbd2",
"status": "requested",
"expiresAt": "2026-11-13T08:39:04.720Z",
"expiresAt": "2026-11-13T08:42:46.047Z",
"bobNotified": true
},
"acc": {
@@ -1503,7 +1503,7 @@
"bad": "final_confirmation_mismatch",
"ok": 200,
"status": "completed",
"cutover": "2026-11-06T08:39:04.745Z"
"cutover": "2026-11-06T08:42:46.076Z"
},
"after": {
"aliceSees": 404,
@@ -1718,7 +1718,7 @@
"detail": {
"status": "done",
"canRetry": false,
"jobId": "j_01a1b00105ee38a83dc81ee219"
"jobId": "j_01a1b004666d3964ce5450810c"
}
},
{
@@ -1743,7 +1743,7 @@
"dep": {
"status": "done",
"canRetry": false,
"jobId": "j_01a1b00105ee38a83dc81ee219"
"jobId": "j_01a1b004666d3964ce5450810c"
},
"rt": {
"status": 400,
@@ -1769,7 +1769,7 @@
"detail": {
"title": "주문 AW-20261106-0001 승인 — 권리가 활성화되었습니다",
"category": "billing",
"link": "/orders/o_01a1b001056b3235366163b734"
"link": "/orders/o_01a1b00465dbbb0e3b6e62dbd4"
}
},
{
@@ -1785,7 +1785,7 @@
"ok": true,
"detail": {
"status": "approved",
"approvedAt": "2026-11-06T08:36:59.420Z"
"approvedAt": "2026-11-06T08:40:40.718Z"
}
}
],
@@ -1793,7 +1793,7 @@
"n": {
"title": "주문 AW-20261106-0001 승인 — 권리가 활성화되었습니다",
"category": "billing",
"link": "/orders/o_01a1b001056b3235366163b734"
"link": "/orders/o_01a1b00465dbbb0e3b6e62dbd4"
},
"a": {
"action": "order.approve",
@@ -1801,7 +1801,7 @@
},
"same": {
"status": "approved",
"approvedAt": "2026-11-06T08:36:59.420Z"
"approvedAt": "2026-11-06T08:40:40.718Z"
}
}
},
@@ -1844,9 +1844,9 @@
"rpo_minutes": 30,
"snapshot_interval_minutes": 60,
"retention_count": 3,
"external_store": "/home/master/work/Ariweb-suite/test/.tmp/e2e-20261106083656/dr-external",
"updated_at": "2026-11-06T08:39:12.885Z",
"updated_by": "op_01a1b000fd55691854cd6d073f"
"external_store": "/home/master/work/Ariweb-suite/test/.tmp/e2e-20261106084037/dr-external",
"updated_at": "2026-11-06T08:42:54.251Z",
"updated_by": "op_01a1b0045ddd88b602a5012e9a"
}
},
{
@@ -1906,9 +1906,9 @@
"rpo_minutes": 30,
"snapshot_interval_minutes": 60,
"retention_count": 3,
"external_store": "/home/master/work/Ariweb-suite/test/.tmp/e2e-20261106083656/dr-external",
"updated_at": "2026-11-06T08:39:12.885Z",
"updated_by": "op_01a1b000fd55691854cd6d073f"
"external_store": "/home/master/work/Ariweb-suite/test/.tmp/e2e-20261106084037/dr-external",
"updated_at": "2026-11-06T08:42:54.251Z",
"updated_by": "op_01a1b0045ddd88b602a5012e9a"
},
"snap": {
"verify": "ok",
@@ -1942,7 +1942,7 @@
"ok": true,
"detail": {
"mailJob": {
"id": "j_01a1b001b25ba4cb9489fd0cfe",
"id": "j_01a1b00513188ba0a43d6875f9",
"status": "awaiting_external"
},
"halJobs": 19
@@ -1954,7 +1954,7 @@
"detail": {
"sessionKept": "[redacted]",
"mailJob": {
"id": "j_01a1b001b25ba4cb9489fd0cfe",
"id": "j_01a1b00513188ba0a43d6875f9",
"status": "awaiting_external"
},
"same": true
@@ -1973,7 +1973,7 @@
"evidence": {
"before": {
"mailJob": {
"id": "j_01a1b001b25ba4cb9489fd0cfe",
"id": "j_01a1b00513188ba0a43d6875f9",
"status": "awaiting_external"
},
"halJobs": 19
@@ -1981,7 +1981,7 @@
"pr": {
"sessionKept": "[redacted]",
"mailJob": {
"id": "j_01a1b001b25ba4cb9489fd0cfe",
"id": "j_01a1b00513188ba0a43d6875f9",
"status": "awaiting_external"
},
"same": true
@@ -2012,8 +2012,8 @@
"ok": true,
"detail": [
{
"id": "s_01a1b0019643bfa4d94d352071",
"group_id": "g_01a1b001053169a7ba81639ba6",
"id": "s_01a1b004f6d16fb55a118684f7",
"group_id": "g_01a1b004658f4107f66903cf3c",
"name": "동시 A",
"purpose": "e2e",
"webmaker_project_id": "00000000000000000000000000000002",
@@ -2041,9 +2041,9 @@
"retention_until": null,
"delete_after": null,
"deleted_at": null,
"created_by": "u_01a1b001053159d6f8fc9c9f67",
"created_at": "2026-11-06T08:37:36.451Z",
"updated_at": "2026-11-06T08:37:36.457Z",
"created_by": "u_01a1b004658ed2b5199271673a",
"created_at": "2026-11-06T08:41:17.777Z",
"updated_at": "2026-11-06T08:41:17.781Z",
"runtime": "static",
"consent_version": null,
"pending_cleanup_json": null,
@@ -2062,8 +2062,8 @@
"nextJob": null
},
{
"id": "s_01a1b00196459b9d7accccd93b",
"group_id": "g_01a1b001053169a7ba81639ba6",
"id": "s_01a1b004f6d3c983e60bedd048",
"group_id": "g_01a1b004658f4107f66903cf3c",
"name": "동시 B",
"purpose": "e2e",
"webmaker_project_id": "00000000000000000000000000000003",
@@ -2091,9 +2091,9 @@
"retention_until": null,
"delete_after": null,
"deleted_at": null,
"created_by": "u_01a1b001053159d6f8fc9c9f67",
"created_at": "2026-11-06T08:37:36.453Z",
"updated_at": "2026-11-06T08:37:36.458Z",
"created_by": "u_01a1b004658ed2b5199271673a",
"created_at": "2026-11-06T08:41:17.779Z",
"updated_at": "2026-11-06T08:41:17.782Z",
"runtime": "static",
"consent_version": null,
"pending_cleanup_json": null,
@@ -2151,8 +2151,8 @@
"name": "외부 배포 사이트 생성(초안) + 저장본",
"ok": true,
"detail": {
"id": "s_01a1b002cdb5f0c48a793c5469",
"group_id": "g_01a1b001050da5f0aac64cb28b",
"id": "s_01a1b0062e696e228a49d5fe73",
"group_id": "g_01a1b004656a3fd8bdbc431252",
"name": "E2E 외부 사이트",
"purpose": "e2e",
"webmaker_project_id": "00000000000000000000000000000004",
@@ -2180,9 +2180,9 @@
"retention_until": null,
"delete_after": null,
"deleted_at": null,
"created_by": "u_01a1b0010475de80f28e1f95f8",
"created_at": "2026-11-06T08:38:56.181Z",
"updated_at": "2026-11-06T08:38:56.187Z",
"created_by": "u_01a1b00464ed4b2b09e40fa791",
"created_at": "2026-11-06T08:42:37.545Z",
"updated_at": "2026-11-06T08:42:37.550Z",
"runtime": "static",
"consent_version": null,
"pending_cleanup_json": null,
@@ -2223,8 +2223,8 @@
"ok": true,
"detail": {
"token": "[redacted]",
"install": "curl -fsSL http://127.0.0.1:46137/agent/v1/install.sh | bash -s -- --hal http://127.0.0.1:46137 --token … --external --site s_01a1b002cdb5f0c48a793c5469",
"expiresAt": "2026-11-06T08:48:56.214Z",
"install": "curl -fsSL http://127.0.0.1:42077/agent/v1/install.sh | bash -s -- --hal http://127.0.0.1:42077 --token … --external --site s_01a1b0062e696e228a49d5fe73",
"expiresAt": "2026-11-06T08:52:37.584Z",
"status": "pending"
}
},
@@ -2419,9 +2419,9 @@
"errorCode": "partial_failure",
"overall": "partial",
"children": [
"srv_01a1b0045f7689a3ac44add5a3:done:",
"srv_missing_e2e:failed:서버가 없습니다",
"srv_01a1b000feeb9e34dab18cf0ad:done:",
"srv_01a1b000fe3cf87ac50582b199:done:"
"srv_01a1b0045ea56d81b8cfa4ebd8:done:"
],
"timedOut": false
}
@@ -2458,9 +2458,9 @@
"errorCode": "partial_failure",
"overall": "partial",
"children": [
"srv_01a1b0045f7689a3ac44add5a3:done:",
"srv_missing_e2e:failed:서버가 없습니다",
"srv_01a1b000feeb9e34dab18cf0ad:done:",
"srv_01a1b000fe3cf87ac50582b199:done:"
"srv_01a1b0045ea56d81b8cfa4ebd8:done:"
],
"timedOut": false
},
@@ -2499,7 +2499,7 @@
"name": "critical 사건 등록 → 선언 → 승인 부족 자격 거부 → 3단계(순서·식별정보·문구) 거부/승인 → 자격 발급(1회)",
"ok": true,
"detail": {
"id": "em_01a1b0030f3fad74ec4433ce4c",
"id": "em_01a1b00670143d9f75bc136275",
"noCred": "approvals_insufficient",
"wrongStep": "wrong_step",
"badIds": "identifiers_mismatch",
@@ -2507,7 +2507,7 @@
"approved": "approved",
"approvals": 3,
"credential": "[redacted]",
"expiresAt": "2026-11-06T09:09:12.972Z"
"expiresAt": "2026-11-06T09:12:54.370Z"
}
},
{
@@ -2528,14 +2528,14 @@
"evidence": {
"healthy": "hal_healthy",
"sess": {
"id": "em_01a1b0030f3fad74ec4433ce4c",
"id": "em_01a1b00670143d9f75bc136275",
"noCred": "approvals_insufficient",
"wrongStep": "wrong_step",
"badIds": "identifiers_mismatch",
"badText": "final_confirm_mismatch",
"approved": "approved",
"approvals": 3,
"expiresAt": "2026-11-06T09:09:12.972Z"
"expiresAt": "2026-11-06T09:12:54.370Z"
},
"perf": {
"forbidden": "action_forbidden",
@@ -2587,8 +2587,8 @@
"ok": true,
"detail": {
"status": "readonly",
"deleteAfter": "2026-12-06T08:39:04.688Z",
"readonlyUntil": "2026-12-06T08:39:04.688Z"
"deleteAfter": "2026-12-06T08:42:46.007Z",
"readonlyUntil": "2026-12-06T08:42:46.007Z"
}
},
{
@@ -2614,8 +2614,8 @@
},
"un": {
"status": "readonly",
"deleteAfter": "2026-12-06T08:39:04.688Z",
"readonlyUntil": "2026-12-06T08:39:04.688Z"
"deleteAfter": "2026-12-06T08:42:46.007Z",
"readonlyUntil": "2026-12-06T08:42:46.007Z"
},
"sweep": {
"sweep": 200,