chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합
- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환 - Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용 - pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관) - worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md) - D:\Rhino-MCP 경로 참조를 새 위치로 치환 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
964a841de1
3978 files changed
+58013356
No files matched your search
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"baseline": "C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링\\출력\\실행_운곡교P1교각모델_2026-10-08_v0.1.09.3dm",
|
||||
"candidate": "C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\출력\\P0회귀_운곡교P1.3dm",
|
||||
"count": [
|
||||
3190,
|
||||
3190
|
||||
],
|
||||
"units": [
|
||||
"Millimeters",
|
||||
"Millimeters"
|
||||
],
|
||||
"tolerance": [
|
||||
0.001,
|
||||
0.001
|
||||
],
|
||||
"only_in_baseline": [],
|
||||
"only_in_candidate": [],
|
||||
"objects_with_diffs": 0,
|
||||
"diff_fields": {},
|
||||
"layer_diffs": {},
|
||||
"samples": {},
|
||||
"identical": true
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"baseline": "C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\출력\\P3최종_웹앱G5_운곡교P1.3dm",
|
||||
"candidate": "C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\출력\\P1회귀_엔진수정\\G5.3dm",
|
||||
"count": [
|
||||
3190,
|
||||
3190
|
||||
],
|
||||
"units": [
|
||||
"Millimeters",
|
||||
"Millimeters"
|
||||
],
|
||||
"tolerance": [
|
||||
0.001,
|
||||
0.001
|
||||
],
|
||||
"only_in_baseline": [],
|
||||
"only_in_candidate": [],
|
||||
"objects_with_diffs": 0,
|
||||
"diff_fields": {},
|
||||
"layer_diffs": {},
|
||||
"samples": {},
|
||||
"identical": true
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"baseline": "C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\출력\\P3최종_웹앱G5_운곡교P1.3dm",
|
||||
"candidate": "C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\출력\\P1회귀_울산확장\\G5.3dm",
|
||||
"count": [
|
||||
3190,
|
||||
3190
|
||||
],
|
||||
"units": [
|
||||
"Millimeters",
|
||||
"Millimeters"
|
||||
],
|
||||
"tolerance": [
|
||||
0.001,
|
||||
0.001
|
||||
],
|
||||
"only_in_baseline": [],
|
||||
"only_in_candidate": [],
|
||||
"objects_with_diffs": 0,
|
||||
"diff_fields": {},
|
||||
"layer_diffs": {},
|
||||
"samples": {},
|
||||
"identical": true
|
||||
}
|
||||
@@ -0,0 +1,251 @@
|
||||
{
|
||||
"results": [
|
||||
{
|
||||
"check": "non-T pier rejected",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "T pier created from template",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "upload converts 3 DWG and indexes texts",
|
||||
"result": "PASS",
|
||||
"detail": "2366 texts, 4s"
|
||||
},
|
||||
{
|
||||
"check": "non-DWG upload refused",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "search finds 'EL. 26.208'",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "bad regex reported, no crash",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "candidates: 257 rows (166 + 91 params), 0 different",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "edited value detected as different",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "apply candidate restores drawing value",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "type change refused",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "invalid JSON refused",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G1 blocked while sections unconfirmed",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "all required sections confirmed",
|
||||
"result": "PASS",
|
||||
"detail": "23"
|
||||
},
|
||||
{
|
||||
"check": "G2 blocked before G1 approval",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G1 run via app -> PASS",
|
||||
"result": "PASS",
|
||||
"detail": "{'total': 171, 'passed': 171, 'failed': 0, 'volumes_m3': {'lean': 6.792, 'footing': 160.446, 'column': 37.709, 'coping': 89.586}, 'pile_volume_each_m3': 6.899} 30s "
|
||||
},
|
||||
{
|
||||
"check": "G1 approval needs a name",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G1 approved",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G2 run via app -> PASS",
|
||||
"result": "PASS",
|
||||
"detail": "{'total': 42, 'passed': 42, 'failed': 0, 'min_cover': {'P1': 113.5, 'P2': 158.5, 'P3': 93.5, 'P4': 109.7, 'P5': 93.5, 'P6': 74.0}} 66s "
|
||||
},
|
||||
{
|
||||
"check": "G2 approval needs a name",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G2 approved",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G3 run via app -> PASS",
|
||||
"result": "PASS",
|
||||
"detail": "{'total': 73, 'passed': 72, 'failed': 1, 'cover': {'B1': 87.5, 'B2': 87.5, 'B3': 90.5, 'B4': 87.5, 'B5': 58.5, 'B6': 57.5, 'B7': 90.5, 'B8': 85.5, 'B9': 69.5, 'B10': 66.5, 'B11': 92.0, 'B12': 92.0}} 63s "
|
||||
},
|
||||
{
|
||||
"check": "G3 approval needs a name",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G3 approved",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G4 run via app -> PASS",
|
||||
"result": "PASS",
|
||||
"detail": "{'total': 116, 'passed': 111, 'failed': 5, 'cover': {'C1': 85.4, 'C2': 85.2, 'C3': 85.5, 'C4': 85.4, 'C5': 85.2, 'C6': 85.5, 'C7': 84.4, 'C8': 84.4, 'C9': 87.5, 'C10': 87.5, 'C11': 87.1, 'C12': 87.4, 'C13': 87.4, 'C14': 90.5, 'C15': 90.1, 'C16': 90.5, 'S1': 40.5, 'S2': 90.5}} 75s "
|
||||
},
|
||||
{
|
||||
"check": "G4 approval needs a name",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G4 approved",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G5 run via app -> PASS",
|
||||
"result": "PASS",
|
||||
"detail": "{'total': 183, 'passed': 183, 'failed': 0} 33s "
|
||||
},
|
||||
{
|
||||
"check": "G5 approval needs a name",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "G5 approved",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "download G5.3dm",
|
||||
"result": "PASS",
|
||||
"detail": "48288043 bytes"
|
||||
},
|
||||
{
|
||||
"check": "report self-check ok (chapters, vocabulary, 37 schedule rows, 5 gate rows)",
|
||||
"result": "PASS",
|
||||
"detail": "{'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 6, 'finding_rows_without_source': 0, 'schedule_rows': 37, 'schedule_marks': 37, 'gate_rows': 5, 'schedule_unread': False, 'ok': True}"
|
||||
},
|
||||
{
|
||||
"check": "report: all gates PASS and approved",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "report: 6 planned FAIL listed as 불일치",
|
||||
"result": "PASS",
|
||||
"detail": "6"
|
||||
},
|
||||
{
|
||||
"check": "report: B12 schedule 34 vs model 28 -> 불일치",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "report: other modelled marks match (35)",
|
||||
"result": "PASS",
|
||||
"detail": "35"
|
||||
},
|
||||
{
|
||||
"check": "report: UA1 outside model",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "report PDF download",
|
||||
"result": "PASS",
|
||||
"detail": "123153"
|
||||
},
|
||||
{
|
||||
"check": "input change -> gate stale and approval void",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "changed section needs re-confirmation",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "orphaned running job shown as 중단됨",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "pile length +5 mm -> G1 FAIL (pile length)",
|
||||
"result": "PASS",
|
||||
"detail": "['pile length'] trace [(0, True, '실행 중'), (3, True, '실행 중')]..[(27, True, '실행 중'), (30, True, '완료')]"
|
||||
},
|
||||
{
|
||||
"check": "FAIL gate cannot be approved",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "rejection needs a reason",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "rejection recorded",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "page renders /",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "page renders /pier/테스트P1",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "page renders /pier/테스트P1/gates",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "page renders /pier/테스트P1/candidates",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "page renders /pier/테스트P1/section/params/footing",
|
||||
"result": "PASS",
|
||||
"detail": ""
|
||||
}
|
||||
],
|
||||
"passed": 49,
|
||||
"total": 49
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"baseline": "C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링\\출력\\실행_운곡교P1교각모델_2026-10-08_v0.1.09.3dm",
|
||||
"candidate": "C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\출력\\P3최종_웹앱G5_운곡교P1.3dm",
|
||||
"count": [
|
||||
3190,
|
||||
3190
|
||||
],
|
||||
"units": [
|
||||
"Millimeters",
|
||||
"Millimeters"
|
||||
],
|
||||
"tolerance": [
|
||||
0.001,
|
||||
0.001
|
||||
],
|
||||
"only_in_baseline": [],
|
||||
"only_in_candidate": [],
|
||||
"objects_with_diffs": 0,
|
||||
"diff_fields": {},
|
||||
"layer_diffs": {},
|
||||
"samples": {},
|
||||
"identical": true
|
||||
}
|
||||
@@ -0,0 +1,178 @@
|
||||
[
|
||||
{
|
||||
"test": "test_consistency",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_geomread",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 11,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_batch_notice",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 2,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_review",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 5,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_open19",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_rampa",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_saejae",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_okseong",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 8,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_confirm_required",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_templates",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "PASS re-save keeps old snapshot, _이전 not listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']"
|
||||
},
|
||||
{
|
||||
"test": "test_recommend",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_recommend_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 10,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_p2",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_variability",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 12,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_autocheck",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 42,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_anchors",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 8,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_delete_pier",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "PASS a pier cannot be named like the trash folder"
|
||||
},
|
||||
{
|
||||
"test": "test_store_concurrency",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "writes 500 reads 15575 read_errors 0 write_errors 0 3.9s [] []"
|
||||
},
|
||||
{
|
||||
"test": "test_rampa_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_web_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 321,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 20 / 20"
|
||||
},
|
||||
{
|
||||
"test": "test_pier_batch_button",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 2,
|
||||
"fails": [],
|
||||
"tail": "PASS all approved: last batch shown"
|
||||
},
|
||||
{
|
||||
"test": "test_individual_after_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 62,
|
||||
"fails": [],
|
||||
"tail": "PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,114 @@
|
||||
[
|
||||
{
|
||||
"test": "test_open19",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_rampa",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_saejae",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_okseong",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 7,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_confirm_required",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 3,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_templates",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "PASS re-save keeps old snapshot, _이전 not listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']"
|
||||
},
|
||||
{
|
||||
"test": "test_recommend",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_recommend_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 9,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_p2",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_variability",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 10,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_autocheck",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 41,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_delete_pier",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "PASS a pier cannot be named like the trash folder"
|
||||
},
|
||||
{
|
||||
"test": "test_store_concurrency",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "writes 500 reads 12217 read_errors 0 write_errors 0 3.3s [] []"
|
||||
},
|
||||
{
|
||||
"test": "test_rampa_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 3,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,122 @@
|
||||
[
|
||||
{
|
||||
"test": "test_open19",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_rampa",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_saejae",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_okseong",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 8,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_confirm_required",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 3,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_templates",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 3,
|
||||
"fails": [],
|
||||
"tail": "PASS re-save keeps old snapshot, _이전 not listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']"
|
||||
},
|
||||
{
|
||||
"test": "test_recommend",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_recommend_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 9,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_p2",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_variability",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 11,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_autocheck",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 41,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_anchors",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 8,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_delete_pier",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "PASS a pier cannot be named like the trash folder"
|
||||
},
|
||||
{
|
||||
"test": "test_store_concurrency",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 5,
|
||||
"fails": [],
|
||||
"tail": "writes 500 reads 17067 read_errors 0 write_errors 0 4.2s [] []"
|
||||
},
|
||||
{
|
||||
"test": "test_rampa_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,154 @@
|
||||
[
|
||||
{
|
||||
"test": "test_consistency",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_geomread",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 16,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_batch_notice",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 2,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_review",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_open19",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_rampa",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_saejae",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_okseong",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 8,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_confirm_required",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_templates",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "PASS re-save keeps old snapshot, _이전 not listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']"
|
||||
},
|
||||
{
|
||||
"test": "test_recommend",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_recommend_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 9,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_p2",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_variability",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 11,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_autocheck",
|
||||
"ok": false,
|
||||
"exit": 1,
|
||||
"secs": 0,
|
||||
"fails": [],
|
||||
"tail": "FileNotFoundError: [WinError 3] 지정된 경로를 찾을 수 없습니다: 'C:\\\\Users\\\\User\\\\Desktop\\\\바이브코딩\\\\pier_T\\\\Code\\\\교각모델링앱\\\\data\\\\운곡교P3'"
|
||||
},
|
||||
{
|
||||
"test": "test_anchors",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 8,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
},
|
||||
{
|
||||
"test": "test_delete_pier",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "PASS a pier cannot be named like the trash folder"
|
||||
},
|
||||
{
|
||||
"test": "test_store_concurrency",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 7,
|
||||
"fails": [],
|
||||
"tail": "writes 500 reads 28451 read_errors 0 write_errors 0 6.7s [] []"
|
||||
},
|
||||
{
|
||||
"test": "test_rampa_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 4,
|
||||
"fails": [],
|
||||
"tail": "RESULT PASS"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,42 @@
|
||||
[
|
||||
{
|
||||
"test": "test_individual_after_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 67,
|
||||
"fails": [],
|
||||
"tail": "PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략"
|
||||
},
|
||||
{
|
||||
"test": "test_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 331,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 49 / 49"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 18,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산시험/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan_full",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 304,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산전체/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_e2e",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 495,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 44 / 44"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,58 @@
|
||||
[
|
||||
{
|
||||
"test": "test_web_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 331,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 20 / 20"
|
||||
},
|
||||
{
|
||||
"test": "test_pier_batch_button",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "PASS all approved: last batch shown"
|
||||
},
|
||||
{
|
||||
"test": "test_individual_after_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 63,
|
||||
"fails": [],
|
||||
"tail": "PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략"
|
||||
},
|
||||
{
|
||||
"test": "test_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 316,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 49 / 49"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 18,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산시험/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan_full",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 294,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산전체/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_e2e",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 465,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 44 / 44"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,58 @@
|
||||
[
|
||||
{
|
||||
"test": "test_web_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 336,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 20 / 20"
|
||||
},
|
||||
{
|
||||
"test": "test_pier_batch_button",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 3,
|
||||
"fails": [],
|
||||
"tail": "PASS all approved: last batch shown"
|
||||
},
|
||||
{
|
||||
"test": "test_individual_after_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 63,
|
||||
"fails": [],
|
||||
"tail": "PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략"
|
||||
},
|
||||
{
|
||||
"test": "test_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 311,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 49 / 49"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 19,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산시험/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan_full",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 315,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산전체/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_e2e",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 478,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 44 / 44"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,34 @@
|
||||
[
|
||||
{
|
||||
"test": "test_web_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 316,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 20 / 20"
|
||||
},
|
||||
{
|
||||
"test": "test_pier_batch_button",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 2,
|
||||
"fails": [],
|
||||
"tail": "PASS all approved: last batch shown"
|
||||
},
|
||||
{
|
||||
"test": "test_individual_after_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 62,
|
||||
"fails": [],
|
||||
"tail": "PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략"
|
||||
},
|
||||
{
|
||||
"test": "test_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 308,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 49 / 49"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,58 @@
|
||||
[
|
||||
{
|
||||
"test": "test_web_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 326,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 20 / 20"
|
||||
},
|
||||
{
|
||||
"test": "test_pier_batch_button",
|
||||
"ok": false,
|
||||
"exit": 1,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "NameError: name 'store' is not defined"
|
||||
},
|
||||
{
|
||||
"test": "test_individual_after_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 62,
|
||||
"fails": [],
|
||||
"tail": "PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략"
|
||||
},
|
||||
{
|
||||
"test": "test_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 317,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 49 / 49"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 19,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산시험/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan_full",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 305,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산전체/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_e2e",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 468,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 44 / 44"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"test": "test_web_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 311,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 20 / 20"
|
||||
},
|
||||
{
|
||||
"test": "test_pier_batch_button",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 2,
|
||||
"fails": [],
|
||||
"tail": "PASS all approved: last batch shown"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,42 @@
|
||||
[
|
||||
{
|
||||
"test": "test_individual_after_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 62,
|
||||
"fails": [],
|
||||
"tail": "PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략"
|
||||
},
|
||||
{
|
||||
"test": "test_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 338,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 49 / 49"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 19,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산시험/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan_full",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 295,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산전체/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_e2e",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 467,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 44 / 44"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,58 @@
|
||||
[
|
||||
{
|
||||
"test": "test_web_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 326,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 20 / 20"
|
||||
},
|
||||
{
|
||||
"test": "test_pier_batch_button",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 2,
|
||||
"fails": [],
|
||||
"tail": "PASS all approved: last batch shown"
|
||||
},
|
||||
{
|
||||
"test": "test_individual_after_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 61,
|
||||
"fails": [],
|
||||
"tail": "PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략"
|
||||
},
|
||||
{
|
||||
"test": "test_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 305,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 49 / 49"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 19,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산시험/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan_full",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 295,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산전체/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_e2e",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 468,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 44 / 44"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,58 @@
|
||||
[
|
||||
{
|
||||
"test": "test_web_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 316,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 20 / 20"
|
||||
},
|
||||
{
|
||||
"test": "test_pier_batch_button",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 2,
|
||||
"fails": [],
|
||||
"tail": "PASS all approved: last batch shown"
|
||||
},
|
||||
{
|
||||
"test": "test_individual_after_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 61,
|
||||
"fails": [],
|
||||
"tail": "PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략"
|
||||
},
|
||||
{
|
||||
"test": "test_web",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 307,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 49 / 49"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 19,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산시험/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_web_ulsan_full",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 305,
|
||||
"fails": [],
|
||||
"tail": "PASS page renders /pier/울산전체/search?q=EL"
|
||||
},
|
||||
{
|
||||
"test": "test_ulsan_e2e",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1073,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 44 / 44"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"test": "test_web_batch",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 343,
|
||||
"fails": [],
|
||||
"tail": "TOTAL 20 / 20"
|
||||
},
|
||||
{
|
||||
"test": "test_pier_batch_button",
|
||||
"ok": true,
|
||||
"exit": 0,
|
||||
"secs": 1,
|
||||
"fails": [],
|
||||
"tail": "PASS all approved: last batch shown"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,37 @@
|
||||
PASS 산외교울산P1 -> 산외교울산P2: frame coverage >= 70 % 0.88␍
|
||||
PASS 산외교울산P2 -> 산외교울산P1: frame coverage >= 70 % 0.85␍
|
||||
PASS 운곡교P1 -> 운곡교p2: frame coverage >= 70 % 0.78␍
|
||||
PASS 운곡교p2 -> 운곡교P1: frame coverage >= 70 % 0.86␍
|
||||
PASS same series: grade A all right (45/45), at least 30 A candidates [45, 45]␍
|
||||
PASS same series: changed values recovered by A candidates (13) >= 10 ␍
|
||||
PASS same series: grade B right in >= 80 % (388/451) [451, 388]␍
|
||||
INFO grade C right [48, 12] (shown to the user as weak, needs a reason to apply)␍
|
||||
PASS table cross-check: grade A is still all right (165/165) and larger than before (45) [165, 165]␍
|
||||
PASS table cross-check: 128 candidates confirmed by a table value, 47 lowered to C by a different one ␍
|
||||
PASS different series (frame coverage < 70 %): no A or B candidate in any of the other-series pairs []␍
|
||||
PASS a drawing with none of the anchors' texts gives no candidate at all ␍
|
||||
PASS anchors skip values below 1 m and fields of F / V3 bundles ␍
|
||||
PASS R2: Ungok P4 drawing has the two inconsistent chains ['62@125=7.250', '29@250=7.750']␍
|
||||
PASS R2: no inconsistent chain in the other 8 drawings {}␍
|
||||
PASS new pier carries the template's anchors ␍
|
||||
PASS no drawing yet -> no candidates (nothing invented) ␍
|
||||
PASS new drawing: coverage >= 70 %, 146 candidates, 42 A candidates differ from the template's values {'anchors': True, 'texts': True, 'coverage': 0.78, 'self_source': False}␍
|
||||
PASS every differing A candidate equals the value of the modelled pier 운곡교p2 (no wrong A) []␍
|
||||
PASS candidates page lists the out-of-table candidates with grades, positions and the view link ␍
|
||||
PASS candidate page offers the one-file quick selection of grade A rows and shows the table confirmation ␍
|
||||
PASS the app applied nothing by itself ␍
|
||||
PASS bundles with a differing A candidate are 불일치 by C2b {'expected:G1': 'b', 'expected:G2': 'b', 'expected:G3': 'b', 'expected:G5': 'b', 'params:bearing_seats': 'b', 'params:column': 'b', 'params:column_rebar': 'b', 'params:footing_rebar': 'b'}␍
|
||||
PASS applying nothing is refused ␍
|
||||
PASS a candidate equal to the current value is not applied ␍
|
||||
PASS the same drawing text into params and expected together is refused (P7) ␍
|
||||
PASS a grade C candidate needs a reason ␍
|
||||
PASS applying a differing A candidate writes the value and a log entry ␍
|
||||
PASS the same text may not be applied to expected later either (P7 across requests) ␍
|
||||
PASS the applied bundle needs a new confirmation ␍
|
||||
PASS anchors can be loaded from a template into a pier without anchors ␍
|
||||
PASS template anchors remember the source drawing ['8bc02c331e860a1fed9727e5d3f7d51b1dff661e7adaeb8264a778ac8cd69aca']␍
|
||||
PASS own-drawing anchors are flagged and give no evidence to the app check ␍
|
||||
PASS region image route returns a PNG (200, 87838)␍
|
||||
PASS bad view arguments are refused ␍
|
||||
PASS pier page warns about the inconsistent drawing chains ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,43 @@
|
||||
PASS 산외교울산P1 -> 산외교울산P2: frame coverage >= 70 % 0.88␍
|
||||
PASS 산외교울산P2 -> 산외교울산P1: frame coverage >= 70 % 0.85␍
|
||||
PASS 운곡교P1 -> 운곡교p2: frame coverage >= 70 % 0.78␍
|
||||
PASS 운곡교p2 -> 운곡교P1: frame coverage >= 70 % 0.86␍
|
||||
PASS same series: grade A all right (45/45), at least 30 A candidates [45, 45]␍
|
||||
PASS same series: changed values recovered by A candidates (13) >= 10 ␍
|
||||
PASS same series: grade B right in >= 80 % (173/193) [193, 173]␍
|
||||
INFO grade C right [310, 227] (shown to the user as weak, needs a reason to apply)␍
|
||||
PASS table cross-check: grade A is still all right (165/165) and larger than before (45) [165, 165]␍
|
||||
PASS table cross-check: 128 candidates confirmed by a table value, 47 lowered to C by a different one ␍
|
||||
PASS different series (frame coverage < 70 %): no A or B candidate in any of the other-series pairs []␍
|
||||
PASS a drawing with none of the anchors' texts gives no candidate at all ␍
|
||||
PASS anchors skip values below 1 m and fields of F / V3 bundles ␍
|
||||
PASS R2: Ungok P4 drawing has the two inconsistent chains ['62@125=7.250', '29@250=7.750']␍
|
||||
PASS R2: no inconsistent chain in the other 8 drawings {}␍
|
||||
PASS new pier carries the template's anchors ␍
|
||||
PASS no drawing yet -> no candidates (nothing invented) ␍
|
||||
PASS new drawing: coverage >= 70 %, 146 candidates, 42 A candidates differ from the template's values {'anchors': True, 'texts': True, 'coverage': 0.78, 'self_source': False}␍
|
||||
PASS every differing A candidate equals the value of the modelled pier 운곡교p2 (no wrong A) []␍
|
||||
PASS candidates page lists the out-of-table candidates with grades, positions and the view link ␍
|
||||
PASS candidate page offers the one-file quick selection of grade A rows and shows the table confirmation ␍
|
||||
PASS the app applied nothing by itself ␍
|
||||
PASS bundles with a differing A candidate are 불일치 by C2b {'expected:G1': 'b', 'expected:G2': 'b', 'expected:G3': 'b', 'expected:G5': 'b', 'params:bearing_seats': 'b', 'params:column': 'b', 'params:column_rebar': 'b', 'params:footing_rebar': 'b'}␍
|
||||
PASS applying nothing is refused ␍
|
||||
PASS a candidate equal to the current value is not applied ␍
|
||||
PASS the same drawing text into params and expected together is refused (P7) ␍
|
||||
PASS a grade C candidate needs a reason ␍
|
||||
PASS applying a differing A candidate writes the value and a log entry ␍
|
||||
PASS the same text may not be applied to expected later either (P7 across requests) ␍
|
||||
PASS the applied bundle needs a new confirmation ␍
|
||||
PASS anchors can be loaded from a template into a pier without anchors ␍
|
||||
PASS template anchors remember the source drawing ['8bc02c331e860a1fed9727e5d3f7d51b1dff661e7adaeb8264a778ac8cd69aca']␍
|
||||
PASS own-drawing anchors are flagged and give no evidence to the app check ␍
|
||||
PASS region image route returns a PNG (200, 87838)␍
|
||||
PASS bad view arguments are refused ␍
|
||||
PASS pier page warns about the inconsistent drawing chains ␍
|
||||
PASS 운곡교P3: 72 candidates rest on one table cell and none is graded A or B []␍
|
||||
PASS 운곡교P3: the false chain-end candidate G3.rows.X_250.ends is not offered above C ␍
|
||||
PASS 운곡교P3: candidates with several instances or off-table instances keep their grade (A 11) ␍
|
||||
PASS 운곡교P4: 72 candidates rest on one table cell and none is graded A or B []␍
|
||||
PASS 운곡교P4: the false chain-end candidate G3.rows.X_250.ends is not offered above C ␍
|
||||
PASS 운곡교P4: candidates with several instances or off-table instances keep their grade (A 9) ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,40 @@
|
||||
PASS 새재1교P1: no 불일치 on its own data []␍
|
||||
PASS 새재1교P1: every required bundle has an app-check status []␍
|
||||
PASS 새재1교P1: app check wrote no confirmation ␍
|
||||
PASS 산외교울산P2: no 불일치 on its own data []␍
|
||||
PASS 산외교울산P2: every required bundle has an app-check status []␍
|
||||
PASS 산외교울산P2: app check wrote no confirmation ␍
|
||||
PASS 옥성교P1: no 불일치 on its own data []␍
|
||||
PASS 옥성교P1: every required bundle has an app-check status []␍
|
||||
PASS 옥성교P1: app check wrote no confirmation ␍
|
||||
PASS 운곡교P1: no 불일치 on its own data []␍
|
||||
PASS 운곡교P1: every required bundle has an app-check status []␍
|
||||
PASS 운곡교P1: app check wrote no confirmation ␍
|
||||
PASS Ramp-A교P1: no 불일치 on its own data []␍
|
||||
PASS Ramp-A교P1: every required bundle has an app-check status []␍
|
||||
PASS Ramp-A교P1: app check wrote no confirmation ␍
|
||||
PASS 운곡교P3 (P1 values, P3 drawing): the table bundles are 불일치 ['expected:G1', 'expected:G2', 'expected:G3', 'expected:G4', 'expected:G5', 'params:bearing_seats', 'params:rebar_marks', 'params:sole_plates']␍
|
||||
PASS 새재1교P1: bearing_seats / sole_plates / expected.G5 start as 일치 {'params:bearing_seats': 'g', 'params:sole_plates': 'g', 'expected:G5': 'g'}␍
|
||||
PASS changed bearing h1 -> params:bearing_seats 불일치 ␍
|
||||
PASS restored -> 일치 again ␍
|
||||
PASS changed expected.G5.el_x -> 불일치 ␍
|
||||
PASS one coping bar C7 removed -> coping_rebar 불일치 (C4 count) C4 수량이 재료표와 다르다 — C7 철근 수 11 ≠ 재료표 12␍
|
||||
PASS 옥성교P1: coping_rebar / footing_rebar (counts only) are 주의, not 일치 ('w', 'w')␍
|
||||
PASS negative thickness -> footing 불일치 (C6) ␍
|
||||
PASS new pier: every required non-F bundle that is still the template original is not 일치 unless a table supports it []␍
|
||||
PASS new pier: original bundles without table support are 근거 없음 (C3) {}␍
|
||||
PASS evidence page renders with the 8 checks and the status ␍
|
||||
PASS pier page shows the summary strip, the app-check column and the Prism block ␍
|
||||
PASS confirm of a 근거 없음 bundle without reason refused ␍
|
||||
PASS with reason: confirmed, reason and app status recorded {'exists': True, 'confirmed': True, 'by': '시험자', 'at': '2026-10-16 17:37:12', 'why': '도면 정면도 7.700과 직접 대조', 'app_st': 'n', 'stale': False, 'info': False}␍
|
||||
PASS matched targets are exactly the 일치 / unconfirmed required bundles 9␍
|
||||
PASS bulk confirm refused before the evidence table was read ␍
|
||||
PASS evidence table page lists the targets with their basis ␍
|
||||
PASS opening the page alone does not mark it as read ␍
|
||||
PASS bulk confirm needs a name ␍
|
||||
PASS bulk confirm confirmed exactly the 일치 bundles (9, 17)␍
|
||||
PASS records keep the name and app status g ␍
|
||||
PASS a stale marker (target list changed since it was read) is refused ␍
|
||||
PASS legacy confirm_all still confirms the required bundles ␍
|
||||
PASS report chapter 8.1 lists the app-check summary and the human confirmation ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,41 @@
|
||||
PASS 새재1교P1: no 불일치 on its own data []␍
|
||||
PASS 새재1교P1: every required bundle has an app-check status []␍
|
||||
PASS 새재1교P1: app check wrote no confirmation ␍
|
||||
PASS 산외교울산P2: no 불일치 on its own data []␍
|
||||
PASS 산외교울산P2: every required bundle has an app-check status []␍
|
||||
PASS 산외교울산P2: app check wrote no confirmation ␍
|
||||
PASS 옥성교P1: no 불일치 on its own data []␍
|
||||
PASS 옥성교P1: every required bundle has an app-check status []␍
|
||||
PASS 옥성교P1: app check wrote no confirmation ␍
|
||||
PASS 운곡교P1: no 불일치 on its own data []␍
|
||||
PASS 운곡교P1: every required bundle has an app-check status []␍
|
||||
PASS 운곡교P1: app check wrote no confirmation ␍
|
||||
PASS Ramp-A교P1: no 불일치 on its own data []␍
|
||||
PASS Ramp-A교P1: every required bundle has an app-check status []␍
|
||||
PASS Ramp-A교P1: app check wrote no confirmation ␍
|
||||
PASS 운곡교P3 (P1 values, P3 drawing): the table bundles are 불일치 ['expected:G1', 'expected:G2', 'expected:G3', 'expected:G4', 'expected:G5', 'params:bearing_seats', 'params:column', 'params:column_rebar', 'params:rebar_marks', 'params:sole_plates']␍
|
||||
PASS 새재1교P1: bearing_seats / sole_plates / expected.G5 start as 일치 {'params:bearing_seats': 'g', 'params:sole_plates': 'g', 'expected:G5': 'g'}␍
|
||||
PASS changed bearing h1 -> params:bearing_seats 불일치 ␍
|
||||
PASS restored -> 일치 again ␍
|
||||
PASS changed expected.G5.el_x -> 불일치 ␍
|
||||
PASS one coping bar C7 removed -> coping_rebar 불일치 (C4 count) C4 수량이 재료표와 다르다 — C7 철근 수 11 ≠ 재료표 12␍
|
||||
PASS 옥성교P1: coping_rebar / footing_rebar (counts only) are 주의, not 일치 ('w', 'w')␍
|
||||
PASS negative thickness -> footing 불일치 (C6) ␍
|
||||
PASS new pier: every required non-F bundle that is still the template original is not 일치 unless a table supports it []␍
|
||||
PASS new pier: original bundles without table support are 근거 없음 (C3) {}␍
|
||||
PASS evidence page renders with the 8 checks and the status ␍
|
||||
PASS pier page shows the summary strip, the app-check column and the Prism block ␍
|
||||
PASS confirm of a 근거 없음 bundle without reason refused ␍
|
||||
PASS with reason: confirmed, reason and app status recorded {'exists': True, 'confirmed': True, 'by': '시험자', 'at': '2026-10-19 13:33:26', 'why': '도면 정면도 7.700과 직접 대조', 'app_st': 'n', 'stale': False, 'info': False}␍
|
||||
PASS matched targets are exactly the 일치 / unconfirmed required bundles 9␍
|
||||
PASS bulk confirm refused before the evidence table was read ␍
|
||||
PASS evidence table page lists the targets with their basis ␍
|
||||
PASS opening the page alone does not mark it as read ␍
|
||||
PASS bulk confirm needs a name ␍
|
||||
PASS bulk confirm confirmed exactly the 일치 bundles (9, 17)␍
|
||||
PASS records keep the name and app status g ␍
|
||||
PASS a stale marker (target list changed since it was read) is refused ␍
|
||||
PASS the old 필요한 묶음 일괄 확정 route is gone (2026-10-19) 404␍
|
||||
PASS every required bundle can still be confirmed one by one with a reason ␍
|
||||
PASS report chapter 8.1 lists the app-check summary and the human confirmation ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,7 @@
|
||||
Traceback (most recent call last):␍
|
||||
File "C:\Users\User\Desktop\바이브코딩\pier_T\Code\교각모델링앱\tools\test_autocheck.py", line 17, in <module>␍
|
||||
shutil.copytree(APP / "data" / n, TD / n, ignore=shutil.ignore_patterns("runs", "backup", "dwg", "dxf", "confirm.json", "autocheck.json",␍
|
||||
File "C:\Users\User\AppData\Local\Programs\Python\Python312\Lib\shutil.py", line 598, in copytree␍
|
||||
with os.scandir(src) as itr:␍
|
||||
^^^^^^^^^^^^^^^␍
|
||||
FileNotFoundError: [WinError 3] 지정된 경로를 찾을 수 없습니다: 'C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\운곡교P3'␍
|
||||
@@ -0,0 +1,18 @@
|
||||
PASS error: the page says the run did not finish and why (error text shown) ␍
|
||||
PASS error: results older than the run are marked 이전 실행 결과 ␍
|
||||
PASS error: partial results of the aborted run are shown per gate and labelled as not used for approval ␍
|
||||
PASS error: the partial block reports the checker's own pass / total ␍
|
||||
PASS partial_result() returns the counts and the failed items ␍
|
||||
PASS a recorded result newer than the checker output is not a partial result ␍
|
||||
PASS fail: names the gate that stopped the run ␍
|
||||
PASS blocked: says the run could not start ␍
|
||||
PASS killed: a 실행 중 record of another process is shown as 중단됨 with its reason ␍
|
||||
PASS finished run: no abort banner, no partial block, no 'older' mark ␍
|
||||
PASS approval of an earlier input: approval_stale and the label 승인 기록은 이전 입력 것(무효) ␍
|
||||
PASS the void approval is not shown as a plain 승인 ␍
|
||||
PASS worker: a failure inside the Rhino session -> 중단 with reason error, the last traceback line, and a start time {'state': '중단', 'reason': 'error', 'error': 'RuntimeError: fake Rhino failure', 'started': '2026-10-20 15:39:50'}␍
|
||||
PASS worker: a FAIL result -> 중단 with reason fail and the failing gate {'state': '중단', 'reason': 'fail', 'gate': 'G2'}␍
|
||||
PASS worker: every recorded gate result carries its own time (at) ␍
|
||||
PASS worker: G1 (PASS before the failing gate) was approved, G2 was not ␍
|
||||
PASS worker: a blocked run -> 중단 with reason blocked {'state': '중단', 'reason': 'blocked'}␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,14 @@
|
||||
PASS Ulsan: run settings required []␍
|
||||
PASS Ulsan: run settings required by every gate in scope ␍
|
||||
PASS Ungok: absent run settings not required []␍
|
||||
PASS reference sections not required []␍
|
||||
PASS reference keys [('expected', '_note'), ('expected', '_schema'), ('params', '_meta'), ('params', '_schema'), ('params', 'rebar_marks_src')]␍
|
||||
PASS G1 blocked while run settings unconfirmed ['params.pier_id 미확정', 'params.rebar_marks 미확정', 'params.display 미확정', 'expected.pier_id 미확정', 'expected.tol_mm 미확정', 'expected.rebar_palette 미확정', 'expected.planned_fail 미확정', 'params.scope 미확정', 'pa␍
|
||||
PASS confirm_all clears all required []␍
|
||||
PASS G1 not blocked after confirm_all []␍
|
||||
PASS only reference sections left unconfirmed ['_schema', '_meta', 'rebar_marks_src', '_schema', '_note']␍
|
||||
PASS pier page shows reference label 5␍
|
||||
PASS pier page shows no plain 미확정 row ␍
|
||||
PASS section page shows reference label ␍
|
||||
PASS edited run setting needs re-confirm ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,14 @@
|
||||
PASS Ulsan: run settings required []␍
|
||||
PASS Ulsan: run settings required by every gate in scope ␍
|
||||
PASS Ungok: absent run settings not required []␍
|
||||
PASS reference sections not required []␍
|
||||
PASS reference keys [('expected', '_note'), ('expected', '_schema'), ('params', '_meta'), ('params', '_schema'), ('params', 'rebar_marks_src')]␍
|
||||
PASS G1 blocked while run settings unconfirmed ['params.pier_id 미확정', 'params.rebar_marks 미확정', 'params.display 미확정', 'expected.pier_id 미확정', 'expected.tol_mm 미확정', 'expected.rebar_palette 미확정', 'expected.planned_fail 미확정', 'params.scope 미확정', 'pa␍
|
||||
PASS confirming every required bundle clears all required []␍
|
||||
PASS G1 not blocked after confirming every required bundle []␍
|
||||
PASS only reference sections left unconfirmed ['_schema', '_meta', 'rebar_marks_src', '_schema', '_note']␍
|
||||
PASS pier page shows reference label 5␍
|
||||
PASS pier page shows no plain 미확정 row ␍
|
||||
PASS section page shows reference label ␍
|
||||
PASS edited run setting needs re-confirm ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,14 @@
|
||||
PASS Ulsan: run settings required []␍
|
||||
PASS Ulsan: run settings required by every gate in scope ␍
|
||||
PASS Ungok: absent run settings not required []␍
|
||||
PASS reference sections not required []␍
|
||||
PASS reference keys [('expected', '_note'), ('expected', '_schema'), ('params', '_meta'), ('params', '_schema'), ('params', 'rebar_marks_src')]␍
|
||||
PASS G1 blocked while run settings unconfirmed ['params.pier_id 미확정', 'params.rebar_marks 미확정', 'params.display 미확정', 'expected.pier_id 미확정', 'expected.tol_mm 미확정', 'expected.rebar_palette 미확정', 'expected.planned_fail 미확정', 'params.scope 미확정', 'pa␍
|
||||
PASS confirming every required bundle clears all required []␍
|
||||
PASS G1 not blocked after confirming every required bundle []␍
|
||||
PASS only reference sections left unconfirmed ['_schema', '_meta', 'rebar_marks_src', '_schema', '_note']␍
|
||||
PASS pier page shows reference label 5␍
|
||||
PASS pier page shows no plain 미확정 row ␍
|
||||
PASS section page shows reference label ␍
|
||||
PASS edited run setting needs re-confirm ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,14 @@
|
||||
PASS 운곡교P1: 103 linked values, none differ []␍
|
||||
PASS 운곡교P1: C9 never b / C3b never w on the finished state []␍
|
||||
PASS 운곡교P3: 106 linked values, none differ []␍
|
||||
PASS 운곡교P3: C9 never b / C3b never w on the finished state []␍
|
||||
PASS 운곡교P4: 106 linked values, none differ []␍
|
||||
PASS 운곡교P4: C9 never b / C3b never w on the finished state []␍
|
||||
SKIP P3 before_hooks_up␍
|
||||
SKIP P3 before_stage2␍
|
||||
SKIP P4 before_table_apply␍
|
||||
PASS 새재1교P1: no false C9 mismatch (7 linked values) []␍
|
||||
PASS 옥성교P1: no false C9 mismatch (11 linked values) []␍
|
||||
PASS 산외교울산P2: no false C9 mismatch (23 linked values) []␍
|
||||
PASS Ramp-A교P1: no false C9 mismatch (1 linked values) []␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,11 @@
|
||||
PASS pier created
|
||||
PASS list shows a delete form per pier
|
||||
PASS wrong name refused
|
||||
PASS empty name refused
|
||||
PASS refused while a batch runs
|
||||
PASS correct name: moved to trash
|
||||
PASS trash folder not listed as a pier
|
||||
PASS deleted pier page is 404
|
||||
PASS delete of a missing pier is 404
|
||||
PASS restore by moving the folder back
|
||||
PASS a pier cannot be named like the trash folder
|
||||
@@ -0,0 +1,11 @@
|
||||
PASS pier created ␍
|
||||
PASS list shows a delete form per pier ␍
|
||||
PASS wrong name refused ␍
|
||||
PASS empty name refused ␍
|
||||
PASS refused while a batch runs ␍
|
||||
PASS correct name: moved to trash ␍
|
||||
PASS trash folder not listed as a pier ␍
|
||||
PASS deleted pier page is 404 ␍
|
||||
PASS delete of a missing pier is 404 ␍
|
||||
PASS restore by moving the folder back ␍
|
||||
PASS a pier cannot be named like the trash folder ␍
|
||||
@@ -0,0 +1,11 @@
|
||||
PASS pier created ␍
|
||||
PASS list shows a delete form per pier ␍
|
||||
PASS wrong name refused ␍
|
||||
PASS empty name refused ␍
|
||||
PASS refused while a batch runs ␍
|
||||
PASS correct name: moved to trash ␍
|
||||
PASS trash folder not listed as a pier ␍
|
||||
PASS deleted pier page is 404 ␍
|
||||
PASS delete of a missing pier is 404 ␍
|
||||
PASS restore by moving the folder back ␍
|
||||
PASS a pier cannot be named like the trash folder ␍
|
||||
@@ -0,0 +1,11 @@
|
||||
PASS pier created ␍
|
||||
PASS list shows a delete form per pier ␍
|
||||
PASS wrong name refused ␍
|
||||
PASS empty name refused ␍
|
||||
PASS refused while a batch runs ␍
|
||||
PASS correct name: moved to trash ␍
|
||||
PASS trash folder not listed as a pier ␍
|
||||
PASS deleted pier page is 404 ␍
|
||||
PASS delete of a missing pier is 404 ␍
|
||||
PASS restore by moving the folder back ␍
|
||||
PASS a pier cannot be named like the trash folder ␍
|
||||
@@ -0,0 +1,46 @@
|
||||
PASS 운곡교P1: frame coverage 1.00 >= 0.7 ␍
|
||||
PASS 운곡교P1: the readers reproduce the verified values (0 material changes, 0 inferred row(s) allowed) []␍
|
||||
PASS 운곡교P3: frame coverage 0.77 >= 0.7 ␍
|
||||
PASS 운곡교P3: the readers reproduce the verified values (0 material changes, 1 inferred row(s) allowed) []␍
|
||||
PASS 운곡교P4: frame coverage 0.77 >= 0.7 ␍
|
||||
PASS 운곡교P4: the readers reproduce the verified values (0 material changes, 0 inferred row(s) allowed) []␍
|
||||
PASS P4 from the P1-copy backup: 154 changes proposed (>= 100) 154␍
|
||||
PASS P4 from the P1-copy backup: every proposed value equals the gate-verified P4 value (inferred rows excluded) []␍
|
||||
PASS the proposal covers coping, footing / piles / column, bearings, footing rebar, column rebar {'코핑', '표시', '기대값(expected) pier_id', '기초 철근', '교각 식별자', '기둥 철근', '기대값(expected) G1', '기대값(expected) G2', '코핑 철근', '기대값(expected) G3', '기대값(expected) G4', '기초·말뚝·기둥', '받침'}␍
|
||||
PASS apply_selected leaves the unchosen (inferred) rows as they were ␍
|
||||
PASS P2 (new, from the P1 template): 139 readings, every one equals the gate-verified old P2 value (row_y nominal values aside) []␍
|
||||
PASS P2: the C14 points are read from the drawn circles (the top rows sit at x 0 / 900 ..., the others at 13 / 913 ... as in P1) ␍
|
||||
PASS table rows are proposed on top of the readings (130), grouped as one 130␍
|
||||
PASS bearing / sole plate / bar mark fields and the expected tables equal the gate-verified P4 after readings + table rows (known exceptions: anchor value, tie_offset constant, diameters) []␍
|
||||
PASS per-bearing sole plate length: expected G5.L became {no: value} where the table differs {'1': 700, '2': 700, '3': 700, '4': 700, '5': 700, '6': 800, '7': 800, '8': 800, '9': 800, '10': 800}␍
|
||||
PASS 새재1교P1: another drawing frame (coverage 0.00 < 0.70) -> refused ␍
|
||||
PASS 옥성교P1: another drawing frame (coverage 0.00 < 0.70) -> refused ␍
|
||||
PASS page lists the proposal in groups with a checkbox per row ␍
|
||||
PASS the inferred row is not pre-selected ␍
|
||||
PASS page warns that params and expected from one reading are no independent evidence ␍
|
||||
PASS another drawing frame: the page refuses ␍
|
||||
PASS applying nothing is refused and writes nothing ␍
|
||||
PASS only the chosen rows were written ␍
|
||||
PASS a backup of params / expected / confirm was taken first ␍
|
||||
PASS the reading is logged with who, how many and which fields ␍
|
||||
PASS the changed bundle lost its confirmation (hash changed) and the app check ran again ␍
|
||||
PASS the page now lists fewer differing rows ␍
|
||||
PASS the planned FAIL proposal is on the page and is not pre-selected ␍
|
||||
PASS applying the planned FAIL proposal stamps approved with who / when (no longer 'pending') ['사용자 선택 2026-10-20 (시험자) — 도면에서 읽기 화면', '사용자 선택 2026-10-20 (시험자) — 도면에서 읽기 화면']␍
|
||||
PASS tie_offset rule holds for _템플릿/운곡교P1형 (17.5, 19, 16)␍
|
||||
PASS tie_offset rule holds for 운곡교P1 (17.5, 19, 16)␍
|
||||
PASS tie_offset rule holds for 운곡교P2 (22.5, 29, 16)␍
|
||||
PASS tie_offset rule holds for 운곡교P3 (22.5, 29, 16)␍
|
||||
PASS tie_offset rule holds for 운곡교P4 (22.5, 29, 16)␍
|
||||
PASS reading the template-state P4 proposes tie_offset 17.5 -> 22.5 [(17.5, 22.5)]␍
|
||||
PASS reading the template-state P4 also proposes the three coping top-tier a values ␍
|
||||
PASS template-state P4: top_left is back-calculated from the C9 b range = the verified decision [[0, 40597], [1100, 40447]]␍
|
||||
PASS template-state P4: the anchor candidate proposes rear_first_from_tip 1232 -> 1198 (pre-selected, not inferred) [(1232, 1198)]␍
|
||||
PASS template-state P4: planned FAIL proposals B11, B12 (numbers of this pier), C13 convention; never pre-selected; approval left to the person [('G3', 'B11 bar count vs schedule'), ('G3', 'B12 bar count vs schedule'), ('G4', 'C13 schedule L reproduced by convention (max+min)/2')]␍
|
||||
PASS template-state P2: planned FAIL proposals B9 (551 vs 493) and B12 (32 vs 38); no C13 (P2's C13 follows the convention) [('G3', 'B12 bar count vs schedule'), ('G3', 'B9 bar count vs schedule')]␍
|
||||
PASS stamp_pending changes only the pending entries ␍
|
||||
SKIP 운곡교P1␍
|
||||
PASS 운곡교P2: finished pier -> no anchor proposal, no new planned FAIL proposal (no false proposals) []␍
|
||||
PASS 운곡교P3: finished pier -> no anchor proposal, no new planned FAIL proposal (no false proposals) []␍
|
||||
PASS 운곡교P4: finished pier -> no anchor proposal, no new planned FAIL proposal (no false proposals) []␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1 @@
|
||||
PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략␍
|
||||
@@ -0,0 +1 @@
|
||||
PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략␍
|
||||
@@ -0,0 +1 @@
|
||||
PASS individual G3 after batch: PASS reload True unchanged G2 지문 없음(일괄 실행 결과) — 비교 생략␍
|
||||
@@ -0,0 +1,16 @@
|
||||
PASS 운곡교P1: table records / proposals unchanged ␍
|
||||
PASS 운곡교p2: table records / proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records / proposals unchanged ␍
|
||||
PASS 솔플레이트 TABLE 10 rows NO.1~10 ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']␍
|
||||
PASS 솔플레이트 TABLE columns [{'_key': '1', 'S(%)': '1.765', 'L': '800', 'W': '750', 'T': '29', 'T1': '22', 'T2': '36'}]␍
|
||||
PASS ELEVATION TABLE 10 rows 10␍
|
||||
PASS candidates all equal the typed inputs (161 rows) []␍
|
||||
PASS G1 gate PASS 147/147, negatives detected, reload ok {'total': 147, 'passed': 147, 'failed': 0, 'volumes_m3': {'lean': 8.876, 'footing': 202.752, 'column': 18.653, 'coping': 92.869, 'pile_each': 6.408}}␍
|
||||
PASS G2 gate PASS 39/39, negatives detected, reload ok {'total': 39, 'passed': 39, 'failed': 0, 'min_cover': {'P1': 112.5, 'P2': 137.5, 'P3': 87.5, 'P4': 93.5, 'P5': 71.5}}␍
|
||||
PASS G3 gate PASS 75/75, negatives detected, reload ok {'total': 75, 'passed': 75, 'failed': 0, 'cover': {'B1': 85.5, 'B2': 85.5, 'B3': 85.5, 'B4': 85.5, 'B5': 85.5, 'B6': 63.0, 'B7': 85.5, 'B8': 63.0, 'B9': 66.5, 'B10': 68.0, 'B11': 90.5, 'B12': 90.5}}␍
|
||||
PASS G4 gate PASS 251/251, negatives detected, reload ok {'total': 251, 'passed': 251, 'failed': 0, 'cover': {'S6': 168.1, 'S5': 157.7, 'S8': 161.0, 'S7': 180.0, 'S2': 172.1, 'S1': 136.8, 'C20': 109.4, 'C19': 110.5, 'C18': 115.5, 'S4': 156.5, 'S3': 178.5, 'C17': 107.9, 'C16': 107.9, 'C15': 108.4, 'C14': 108.4, 'C13': 79.5, 'C12': 84.9, 'C11': 84.9, 'C10':␍
|
||||
PASS G5 gate PASS 183/183, negatives detected, reload ok {'total': 183, 'passed': 183, 'failed': 0}␍
|
||||
PASS no gate blocked by an absent section []␍
|
||||
PASS confirm_all clears G1 []␍
|
||||
PASS pier page renders ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,16 @@
|
||||
PASS 운곡교P1: table records / proposals unchanged ␍
|
||||
PASS 운곡교p2: table records / proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records / proposals unchanged ␍
|
||||
PASS 솔플레이트 TABLE 10 rows NO.1~10 ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']␍
|
||||
PASS 솔플레이트 TABLE columns [{'_key': '1', 'S(%)': '1.765', 'L': '800', 'W': '750', 'T': '29', 'T1': '22', 'T2': '36'}]␍
|
||||
PASS ELEVATION TABLE 10 rows 10␍
|
||||
PASS candidates all equal the typed inputs (161 rows) []␍
|
||||
PASS G1 gate PASS 147/147, negatives detected, reload ok {'total': 147, 'passed': 147, 'failed': 0, 'volumes_m3': {'lean': 8.876, 'footing': 202.752, 'column': 18.653, 'coping': 92.869, 'pile_each': 6.408}}␍
|
||||
PASS G2 gate PASS 39/39, negatives detected, reload ok {'total': 39, 'passed': 39, 'failed': 0, 'min_cover': {'P1': 112.5, 'P2': 137.5, 'P3': 87.5, 'P4': 93.5, 'P5': 71.5}}␍
|
||||
PASS G3 gate PASS 75/75, negatives detected, reload ok {'total': 75, 'passed': 75, 'failed': 0, 'cover': {'B1': 85.5, 'B2': 85.5, 'B3': 85.5, 'B4': 85.5, 'B5': 85.5, 'B6': 63.0, 'B7': 85.5, 'B8': 63.0, 'B9': 66.5, 'B10': 68.0, 'B11': 90.5, 'B12': 90.5}}␍
|
||||
PASS G4 gate PASS 251/251, negatives detected, reload ok {'total': 251, 'passed': 251, 'failed': 0, 'cover': {'S6': 168.1, 'S5': 157.7, 'S8': 161.0, 'S7': 180.0, 'S2': 172.1, 'S1': 136.8, 'C20': 109.4, 'C19': 110.5, 'C18': 115.5, 'S4': 156.5, 'S3': 178.5, 'C17': 107.9, 'C16': 107.9, 'C15': 108.4, 'C14': 108.4, 'C13': 79.5, 'C12': 84.9, 'C11': 84.9, 'C10':␍
|
||||
PASS G5 gate PASS 183/183, negatives detected, reload ok {'total': 183, 'passed': 183, 'failed': 0}␍
|
||||
PASS no gate blocked by an absent section []␍
|
||||
PASS confirming every required bundle clears G1 []␍
|
||||
PASS pier page renders ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,16 @@
|
||||
PASS 운곡교P1: table records / proposals unchanged ␍
|
||||
PASS 운곡교p2: table records / proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records / proposals unchanged ␍
|
||||
PASS 솔플레이트 TABLE 10 rows NO.1~10 ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']␍
|
||||
PASS 솔플레이트 TABLE columns [{'_key': '1', 'S(%)': '1.765', 'L': '800', 'W': '750', 'T': '29', 'T1': '22', 'T2': '36'}]␍
|
||||
PASS ELEVATION TABLE 10 rows 10␍
|
||||
PASS candidates all equal the typed inputs (161 rows) []␍
|
||||
PASS G1 gate PASS 147/147, negatives detected, reload ok {'total': 147, 'passed': 147, 'failed': 0, 'volumes_m3': {'lean': 8.876, 'footing': 202.752, 'column': 18.653, 'coping': 92.869, 'pile_each': 6.408}}␍
|
||||
PASS G2 gate PASS 39/39, negatives detected, reload ok {'total': 39, 'passed': 39, 'failed': 0, 'min_cover': {'P1': 112.5, 'P2': 137.5, 'P3': 87.5, 'P4': 93.5, 'P5': 71.5}}␍
|
||||
PASS G3 gate PASS 75/75, negatives detected, reload ok {'total': 75, 'passed': 75, 'failed': 0, 'cover': {'B1': 85.5, 'B2': 85.5, 'B3': 85.5, 'B4': 85.5, 'B5': 85.5, 'B6': 63.0, 'B7': 85.5, 'B8': 63.0, 'B9': 66.5, 'B10': 68.0, 'B11': 90.5, 'B12': 90.5}}␍
|
||||
PASS G4 gate PASS 251/251, negatives detected, reload ok {'total': 251, 'passed': 251, 'failed': 0, 'cover': {'S6': 168.1, 'S5': 157.7, 'S8': 161.0, 'S7': 180.0, 'S2': 172.1, 'S1': 136.8, 'C20': 109.4, 'C19': 110.5, 'C18': 115.5, 'S4': 156.5, 'S3': 178.5, 'C17': 107.9, 'C16': 107.9, 'C15': 108.4, 'C14': 108.4, 'C13': 79.5, 'C12': 84.9, 'C11': 84.9, 'C10':␍
|
||||
PASS G5 gate PASS 183/183, negatives detected, reload ok {'total': 183, 'passed': 183, 'failed': 0}␍
|
||||
PASS no gate blocked by an absent section []␍
|
||||
PASS confirming every required bundle clears G1 []␍
|
||||
PASS pier page renders ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,45 @@
|
||||
PASS A3 운곡교P1: same tables / rows ␍
|
||||
PASS A3 운곡교P1: no existing cell changed or lost []␍
|
||||
added cells: [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 운곡교p2: same tables / rows ␍
|
||||
PASS A3 운곡교p2: no existing cell changed or lost []␍
|
||||
added cells: [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 p2: C12 / C13 range text in column A [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 p2: nothing else added [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 산외교울산P1: same tables / rows ␍
|
||||
PASS A3 산외교울산P1: no existing cell changed or lost []␍
|
||||
added cells: [('C7', 'B', '3.106~1.656'), ('C8', 'B', '3.184~3.054'), ('C9', 'B', '2.977~1.526'), ('C10', 'A', '9.570~3.393'), ('C11', 'A', '9.560~3.383'), ('C12', 'A', '8.974~8.666'), ('C13', 'A', '9.764~9.456')]␍
|
||||
PASS A4 운곡교P1: expected / rebar_marks rows unchanged (166) ␍
|
||||
PASS A4 운곡교P1: params rows found, none differ (91) ['bearing_seats.bearings.A', 'bearing_seats.bearings.B', 'bearing_seats.bearings.el_x', 'bearing_seats.bearings.h1', 'bearing_seats.bearings.h2', 'sole_plates.h3', 'sole_plates.table.L', 'sole_plates.table.S', 'sole_plates.table.T', 'sole_plates.table.W']␍
|
||||
PASS A4 운곡교p2: expected / rebar_marks rows unchanged (166) ␍
|
||||
PASS A4 운곡교p2: params rows found, none differ (91) ['bearing_seats.bearings.A', 'bearing_seats.bearings.B', 'bearing_seats.bearings.el_x', 'bearing_seats.bearings.h1', 'bearing_seats.bearings.h2', 'sole_plates.h3', 'sole_plates.table.L', 'sole_plates.table.S', 'sole_plates.table.T', 'sole_plates.table.W']␍
|
||||
PASS A4 산외교울산P1: expected / rebar_marks rows unchanged (82) ␍
|
||||
PASS A4 산외교울산P1: params rows found, none differ (40) ['bearing_seats.bearings.A', 'bearing_seats.bearings.B', 'bearing_seats.bearings.el_x', 'bearing_seats.bearings.h1', 'bearing_seats.bearings.h2', 'sole_plates.table.L', 'sole_plates.table.S', 'sole_plates.table.T', 'sole_plates.table.W', 'sole_plates.table.h3']␍
|
||||
PASS A4 mutation: only the two changed params cells differ [['bearing_seats', 'bearings', 6, 'h1'], ['sole_plates', 'table', 2, 'W']]␍
|
||||
PASS A4 mutation: expected untouched by the params rows ␍
|
||||
PASS A4 apply restores exactly the original params ␍
|
||||
PASS A4 h3 common value proposed once (Ungok) ␍
|
||||
chain: -4575, 200, 70@125, 200␍
|
||||
PASS A5 chain of P1 bottom_Y1.pos (73) expands to the same list 73␍
|
||||
PASS A5 drawing notation ␍
|
||||
PASS A5 decimals kept ␍
|
||||
PASS A5 rejects '' 치수 사슬이 비어 있습니다␍
|
||||
PASS A5 rejects 'a, 1' 치수 사슬 형식 오류: 'a' (첫 값은 시작 위치, 이후는 증분 또는 n@간격)␍
|
||||
PASS A5 rejects '2@100' 치수 사슬 형식 오류: '2@100' (첫 값은 시작 위치, 이후는 증분 또는 n@간격)␍
|
||||
PASS A5 rejects '0, 0@5' 치수 사슬 형식 오류: '0@5' (반복 횟수는 1 이상)␍
|
||||
PASS A5 rejects '0, 3@x' 치수 사슬 형식 오류: '3@x' (첫 값은 시작 위치, 이후는 증분 또는 n@간격)␍
|
||||
PASS A5 expand_chains nested / other dicts untouched ␍
|
||||
PASS A5 web save expands the chain to the same list (302, [-4625.0, -4375.0, -4125.0])␍
|
||||
PASS A5 web rejects a bad chain, params unchanged ␍
|
||||
PASS A5 section page shows the chain hint ␍
|
||||
21A76: {'type': 'LINE', 'layer': 'CS-CONC-MAJR', 'handle': '21A76', 'values': {'start': [17334.4, 8115.6], 'end': [6984.4, 8115.6], 'length': 10350.0, 'dx': -10350.0, 'dy': 0.0, 'bbox': [[6984.4, 8115.6], [17334.4, 8115.6]], 'bbox_size': [10350.0, 0.0]}}␍
|
||||
PASS A6 21A76 (footing, report: 10.350) found {'type': 'LINE', 'layer': 'CS-CONC-MAJR', 'handle': '21A76', 'values': {'start': [17334.4, 8115.6], 'end': [6984.4, 8115.6], 'length': 10350.0, 'dx': -10350.0, 'dy': 0.0, 'bbox': [[6984.4, 8115.6], [17334.4, 8115.6]], 'bbox_size': [10350.0, 0.0]}}␍
|
||||
20E89: {'type': 'ARC', 'layer': 'CS-CONC-MAJR', 'handle': '20E89', 'values': {'centre': [19111.2, 6039.2], 'radius': 12000.0, 'start_angle': 93.592, 'end_angle': 119.187, 'arc_length': 5360.5, 'start_point': [18359.4, 18015.6], 'end_point': [13259.4, 16515.6], 'bbox': [[13259.4, 16515.6], [18359.4, 18015.6]], 'bbox_size': [5100.0, 1500.0]}}␍
|
||||
PASS A6 20E89 (coping soffit arc, params R12,000) is an ARC R12000 {'type': 'ARC', 'layer': 'CS-CONC-MAJR', 'handle': '20E89', 'values': {'centre': [19111.2, 6039.2], 'radius': 12000.0, 'start_angle': 93.592, 'end_angle': 119.187, 'arc_length': 5360.5, 'start_point': [18359.4, 18015.6], 'end_point': [13259.4, 16515.6], 'bbox': [[13259.4, 16515.6], [18359.4, 18015.6␍
|
||||
PASS A6 unknown handle -> None ␍
|
||||
PASS A6 web shows the object ␍
|
||||
PASS A6 web reports a missing handle ␍
|
||||
PASS A7 10 bearings: defaults unchanged ␍
|
||||
PASS A7 4 bearings: ids within 1..4 {'G1': ['BS04', 'BP03'], 'G2': ['P2', 'P3'], 'G3': ['B4', 'B9'], 'G4': ['C11', 'S1'], 'G5': ['BB04', 'SP04']}␍
|
||||
PASS A7 pier override still wins ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,45 @@
|
||||
PASS A3 운곡교P1: same tables / rows ␍
|
||||
PASS A3 운곡교P1: no existing cell changed or lost []␍
|
||||
added cells: [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 운곡교p2: same tables / rows ␍
|
||||
PASS A3 운곡교p2: no existing cell changed or lost []␍
|
||||
added cells: [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 p2: C12 / C13 range text in column A [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 p2: nothing else added [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 산외교울산P1: same tables / rows ␍
|
||||
PASS A3 산외교울산P1: no existing cell changed or lost []␍
|
||||
added cells: [('C7', 'B', '3.106~1.656'), ('C8', 'B', '3.184~3.054'), ('C9', 'B', '2.977~1.526'), ('C10', 'A', '9.570~3.393'), ('C11', 'A', '9.560~3.383'), ('C12', 'A', '8.974~8.666'), ('C13', 'A', '9.764~9.456')]␍
|
||||
PASS A4 운곡교P1: expected / rebar_marks rows unchanged (166) ␍
|
||||
PASS A4 운곡교P1: params rows found, none differ (91) ['bearing_seats.bearings.A', 'bearing_seats.bearings.B', 'bearing_seats.bearings.el_x', 'bearing_seats.bearings.h1', 'bearing_seats.bearings.h2', 'sole_plates.h3', 'sole_plates.table.L', 'sole_plates.table.S', 'sole_plates.table.T', 'sole_plates.table.W']␍
|
||||
PASS A4 운곡교p2: expected / rebar_marks rows unchanged (166) ␍
|
||||
PASS A4 운곡교p2: params rows found, none differ (91) ['bearing_seats.bearings.A', 'bearing_seats.bearings.B', 'bearing_seats.bearings.el_x', 'bearing_seats.bearings.h1', 'bearing_seats.bearings.h2', 'sole_plates.h3', 'sole_plates.table.L', 'sole_plates.table.S', 'sole_plates.table.T', 'sole_plates.table.W']␍
|
||||
PASS A4 산외교울산P1: expected / rebar_marks rows unchanged (82) ␍
|
||||
PASS A4 산외교울산P1: params rows found, none differ (40) ['bearing_seats.bearings.A', 'bearing_seats.bearings.B', 'bearing_seats.bearings.el_x', 'bearing_seats.bearings.h1', 'bearing_seats.bearings.h2', 'sole_plates.table.L', 'sole_plates.table.S', 'sole_plates.table.T', 'sole_plates.table.W', 'sole_plates.table.h3']␍
|
||||
PASS A4 mutation: only the two changed params cells differ [['bearing_seats', 'bearings', 6, 'h1'], ['sole_plates', 'table', 2, 'W']]␍
|
||||
PASS A4 mutation: expected untouched by the params rows ␍
|
||||
PASS A4 apply restores exactly the original params ␍
|
||||
PASS A4 h3 common value proposed once (Ungok) ␍
|
||||
chain: -4575, 200, 70@125, 200␍
|
||||
PASS A5 chain of P1 bottom_Y1.pos (73) expands to the same list 73␍
|
||||
PASS A5 drawing notation ␍
|
||||
PASS A5 decimals kept ␍
|
||||
PASS A5 rejects '' 치수 사슬이 비어 있습니다␍
|
||||
PASS A5 rejects 'a, 1' 치수 사슬 형식 오류: 'a' (첫 값은 시작 위치, 이후는 증분 또는 n@간격)␍
|
||||
PASS A5 rejects '2@100' 치수 사슬 형식 오류: '2@100' (첫 값은 시작 위치, 이후는 증분 또는 n@간격)␍
|
||||
PASS A5 rejects '0, 0@5' 치수 사슬 형식 오류: '0@5' (반복 횟수는 1 이상)␍
|
||||
PASS A5 rejects '0, 3@x' 치수 사슬 형식 오류: '3@x' (첫 값은 시작 위치, 이후는 증분 또는 n@간격)␍
|
||||
PASS A5 expand_chains nested / other dicts untouched ␍
|
||||
PASS A5 web save expands the chain to the same list (302, [-4625.0, -4375.0, -4125.0])␍
|
||||
PASS A5 web rejects a bad chain, params unchanged ␍
|
||||
PASS A5 section page shows the chain hint ␍
|
||||
21A76: {'type': 'LINE', 'layer': 'CS-CONC-MAJR', 'handle': '21A76', 'values': {'start': [17334.4, 8115.6], 'end': [6984.4, 8115.6], 'length': 10350.0, 'dx': -10350.0, 'dy': 0.0, 'bbox': [[6984.4, 8115.6], [17334.4, 8115.6]], 'bbox_size': [10350.0, 0.0]}}␍
|
||||
PASS A6 21A76 (footing, report: 10.350) found {'type': 'LINE', 'layer': 'CS-CONC-MAJR', 'handle': '21A76', 'values': {'start': [17334.4, 8115.6], 'end': [6984.4, 8115.6], 'length': 10350.0, 'dx': -10350.0, 'dy': 0.0, 'bbox': [[6984.4, 8115.6], [17334.4, 8115.6]], 'bbox_size': [10350.0, 0.0]}}␍
|
||||
20E89: {'type': 'ARC', 'layer': 'CS-CONC-MAJR', 'handle': '20E89', 'values': {'centre': [19111.2, 6039.2], 'radius': 12000.0, 'start_angle': 93.592, 'end_angle': 119.187, 'arc_length': 5360.5, 'start_point': [18359.4, 18015.6], 'end_point': [13259.4, 16515.6], 'bbox': [[13259.4, 16515.6], [18359.4, 18015.6]], 'bbox_size': [5100.0, 1500.0]}}␍
|
||||
PASS A6 20E89 (coping soffit arc, params R12,000) is an ARC R12000 {'type': 'ARC', 'layer': 'CS-CONC-MAJR', 'handle': '20E89', 'values': {'centre': [19111.2, 6039.2], 'radius': 12000.0, 'start_angle': 93.592, 'end_angle': 119.187, 'arc_length': 5360.5, 'start_point': [18359.4, 18015.6], 'end_point': [13259.4, 16515.6], 'bbox': [[13259.4, 16515.6], [18359.4, 18015.6␍
|
||||
PASS A6 unknown handle -> None ␍
|
||||
PASS A6 web shows the object ␍
|
||||
PASS A6 web reports a missing handle ␍
|
||||
PASS A7 10 bearings: defaults unchanged ␍
|
||||
PASS A7 4 bearings: ids within 1..4 {'G1': ['BS04', 'BP03'], 'G2': ['P2', 'P3'], 'G3': ['B4', 'B9'], 'G4': ['C11', 'S1'], 'G5': ['BB04', 'SP04']}␍
|
||||
PASS A7 pier override still wins ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,45 @@
|
||||
PASS A3 운곡교P1: same tables / rows ␍
|
||||
PASS A3 운곡교P1: no existing cell changed or lost []␍
|
||||
added cells: [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 운곡교p2: same tables / rows ␍
|
||||
PASS A3 운곡교p2: no existing cell changed or lost []␍
|
||||
added cells: [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 p2: C12 / C13 range text in column A [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 p2: nothing else added [('C12', 'A', '12.228~3.151'), ('C13', 'A', '12.167~12.044')]␍
|
||||
PASS A3 산외교울산P1: same tables / rows ␍
|
||||
PASS A3 산외교울산P1: no existing cell changed or lost []␍
|
||||
added cells: [('C7', 'B', '3.106~1.656'), ('C8', 'B', '3.184~3.054'), ('C9', 'B', '2.977~1.526'), ('C10', 'A', '9.570~3.393'), ('C11', 'A', '9.560~3.383'), ('C12', 'A', '8.974~8.666'), ('C13', 'A', '9.764~9.456')]␍
|
||||
PASS A4 운곡교P1: expected / rebar_marks rows unchanged (166) ␍
|
||||
PASS A4 운곡교P1: params rows found, none differ (91) ['bearing_seats.bearings.A', 'bearing_seats.bearings.B', 'bearing_seats.bearings.el_x', 'bearing_seats.bearings.h1', 'bearing_seats.bearings.h2', 'sole_plates.h3', 'sole_plates.table.L', 'sole_plates.table.S', 'sole_plates.table.T', 'sole_plates.table.W']␍
|
||||
PASS A4 운곡교p2: expected / rebar_marks rows unchanged (166) ␍
|
||||
PASS A4 운곡교p2: params rows found, none differ (91) ['bearing_seats.bearings.A', 'bearing_seats.bearings.B', 'bearing_seats.bearings.el_x', 'bearing_seats.bearings.h1', 'bearing_seats.bearings.h2', 'sole_plates.h3', 'sole_plates.table.L', 'sole_plates.table.S', 'sole_plates.table.T', 'sole_plates.table.W']␍
|
||||
PASS A4 산외교울산P1: expected / rebar_marks rows unchanged (82) ␍
|
||||
PASS A4 산외교울산P1: params rows found, none differ (40) ['bearing_seats.bearings.A', 'bearing_seats.bearings.B', 'bearing_seats.bearings.el_x', 'bearing_seats.bearings.h1', 'bearing_seats.bearings.h2', 'sole_plates.table.L', 'sole_plates.table.S', 'sole_plates.table.T', 'sole_plates.table.W', 'sole_plates.table.h3']␍
|
||||
PASS A4 mutation: only the two changed params cells differ [['bearing_seats', 'bearings', 6, 'h1'], ['sole_plates', 'table', 2, 'W']]␍
|
||||
PASS A4 mutation: expected untouched by the params rows ␍
|
||||
PASS A4 apply restores exactly the original params ␍
|
||||
PASS A4 h3 common value proposed once (Ungok) ␍
|
||||
chain: -4575, 200, 70@125, 200␍
|
||||
PASS A5 chain of P1 bottom_Y1.pos (73) expands to the same list 73␍
|
||||
PASS A5 drawing notation ␍
|
||||
PASS A5 decimals kept ␍
|
||||
PASS A5 rejects '' 치수 사슬이 비어 있습니다␍
|
||||
PASS A5 rejects 'a, 1' 치수 사슬 형식 오류: 'a' (첫 값은 시작 위치, 이후는 증분 또는 n@간격)␍
|
||||
PASS A5 rejects '2@100' 치수 사슬 형식 오류: '2@100' (첫 값은 시작 위치, 이후는 증분 또는 n@간격)␍
|
||||
PASS A5 rejects '0, 0@5' 치수 사슬 형식 오류: '0@5' (반복 횟수는 1 이상)␍
|
||||
PASS A5 rejects '0, 3@x' 치수 사슬 형식 오류: '3@x' (첫 값은 시작 위치, 이후는 증분 또는 n@간격)␍
|
||||
PASS A5 expand_chains nested / other dicts untouched ␍
|
||||
PASS A5 web save expands the chain to the same list (302, [-4625, -4375, -4125])␍
|
||||
PASS A5 web rejects a bad chain, params unchanged ␍
|
||||
PASS A5 section page shows the chain hint ␍
|
||||
21A76: {'type': 'LINE', 'layer': 'CS-CONC-MAJR', 'handle': '21A76', 'values': {'start': [17334.4, 8115.6], 'end': [6984.4, 8115.6], 'length': 10350.0, 'dx': -10350.0, 'dy': 0.0, 'bbox': [[6984.4, 8115.6], [17334.4, 8115.6]], 'bbox_size': [10350.0, 0.0]}}␍
|
||||
PASS A6 21A76 (footing, report: 10.350) found {'type': 'LINE', 'layer': 'CS-CONC-MAJR', 'handle': '21A76', 'values': {'start': [17334.4, 8115.6], 'end': [6984.4, 8115.6], 'length': 10350.0, 'dx': -10350.0, 'dy': 0.0, 'bbox': [[6984.4, 8115.6], [17334.4, 8115.6]], 'bbox_size': [10350.0, 0.0]}}␍
|
||||
20E89: {'type': 'ARC', 'layer': 'CS-CONC-MAJR', 'handle': '20E89', 'values': {'centre': [19111.2, 6039.2], 'radius': 12000.0, 'start_angle': 93.592, 'end_angle': 119.187, 'arc_length': 5360.5, 'start_point': [18359.4, 18015.6], 'end_point': [13259.4, 16515.6], 'bbox': [[13259.4, 16515.6], [18359.4, 18015.6]], 'bbox_size': [5100.0, 1500.0]}}␍
|
||||
PASS A6 20E89 (coping soffit arc, params R12,000) is an ARC R12000 {'type': 'ARC', 'layer': 'CS-CONC-MAJR', 'handle': '20E89', 'values': {'centre': [19111.2, 6039.2], 'radius': 12000.0, 'start_angle': 93.592, 'end_angle': 119.187, 'arc_length': 5360.5, 'start_point': [18359.4, 18015.6], 'end_point': [13259.4, 16515.6], 'bbox': [[13259.4, 16515.6], [18359.4, 18015.6␍
|
||||
PASS A6 unknown handle -> None ␍
|
||||
PASS A6 web shows the object ␍
|
||||
PASS A6 web reports a missing handle ␍
|
||||
PASS A7 10 bearings: defaults unchanged ␍
|
||||
PASS A7 4 bearings: ids within 1..4 {'G1': ['BS04', 'BP03'], 'G2': ['P2', 'P3'], 'G3': ['B4', 'B9'], 'G4': ['C11', 'S1'], 'G5': ['BB04', 'SP04']}␍
|
||||
PASS A7 pier override still wins ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,5 @@
|
||||
PASS unconfirmed: button shown but disabled
|
||||
PASS confirmed: button enabled
|
||||
PASS form posts to the batch route
|
||||
PASS all approved: notice instead of button
|
||||
PASS all approved: last batch shown
|
||||
@@ -0,0 +1,5 @@
|
||||
PASS unconfirmed: button shown but disabled ␍
|
||||
PASS confirmed: button enabled ␍
|
||||
PASS form posts to the batch route ␍
|
||||
PASS all approved: notice instead of button ␍
|
||||
PASS all approved: last batch shown ␍
|
||||
@@ -0,0 +1,5 @@
|
||||
PASS unconfirmed: button shown but disabled ␍
|
||||
PASS confirmed: button enabled ␍
|
||||
PASS form posts to the batch route ␍
|
||||
PASS all approved: notice instead of button ␍
|
||||
PASS all approved: last batch shown ␍
|
||||
@@ -0,0 +1,5 @@
|
||||
PASS unconfirmed: button shown but disabled ␍
|
||||
PASS confirmed: button enabled ␍
|
||||
PASS form posts to the batch route ␍
|
||||
PASS all approved: notice instead of button ␍
|
||||
PASS all approved: last batch shown ␍
|
||||
@@ -0,0 +1,25 @@
|
||||
PASS 운곡교P1: table records unchanged ␍
|
||||
PASS 운곡교P1: proposals unchanged ␍
|
||||
PASS 운곡교p2: table records unchanged ␍
|
||||
PASS 운곡교p2: proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records unchanged ␍
|
||||
PASS 산외교울산P1: proposals unchanged ␍
|
||||
PASS ELEVATION TABLE: 2 rows NO.1 / NO.2 ['1', '2']␍
|
||||
PASS ELEVATION TABLE: all 15 columns read [16, 16]␍
|
||||
PASS ELEVATION TABLE NO.2 EL.'X' 60.427, C3 1400 ␍
|
||||
PASS 솔플레이트 TABLE: 2 rows, L '1,000' [{'_key': '1', 'S(%)': '-5.526', 'L': '1,000', 'W': '900', 'T': '50', 'T1': '78', 'T2': '22'}, {'_key': '2', 'S(%)': '-5.526', 'L': '1,000', 'W': '900', 'T': '50', 'T1': '78', 'T2': '22'}]␍
|
||||
PASS thousands separator ␍
|
||||
PASS candidates all equal the typed inputs (36 rows) []␍
|
||||
PASS candidates cover G1 seats, G5 el_x, params bearings and sole plates ['expected.G1.seats', 'expected.G2.schedule_L', 'expected.G2.schedule_n', 'expected.G5.L', 'expected.G5.S', 'expected.G5.T', 'expected.G5.W', 'expected.G5.el_x', 'expected.G5.h3', 'params.bearing_seats.bearings', 'params.rebar_marks.P1', 'params.sole_plates.h3', 'params.sole_plates.table']␍
|
||||
PASS G1 gate PASS 97/97, negatives detected, reload ok {'total': 97, 'passed': 97, 'failed': 0, 'volumes_m3': {'pile1': 32.53, 'pile2': 25.525, 'column': 37.699, 'coping': 31.393}}␍
|
||||
PASS G2 gate PASS 26/26, negatives detected, reload ok {'total': 26, 'passed': 26, 'failed': 0, 'min_cover': {'P1': 107.5, 'P2': 91.0, 'P3': 76.0}}␍
|
||||
PASS G3 gate PASS 48/48, negatives detected, reload ok {'total': 48, 'passed': 48, 'failed': 0, 'min_cover': {'P1-1': 158.0, 'P1-2': 164.5, 'P2-1': 142.0, 'P3-1': 98.5, 'P3-2': 92.0}}␍
|
||||
PASS G4 gate PASS 126/126, negatives detected, reload ok {'total': 126, 'passed': 126, 'failed': 0, 'cover': {'C1': 40.3, 'C2': 40.8, 'C4': 40.7, 'C5': 42.9, 'C3': 40.7, 'C6': 40.4, 'S3': 222.5, 'S4': 247.5, 'C7': 68.0, 'C8': 68.0, 'C9': 68.0, 'C10': 68.0, 'C11': 68.0, 'C12': 53.7, 'C13': 90.4, 'C14': 46.9, 'C15': 87.0, 'C16': 90.5, 'S1': 1.6, 'S2': 41.1}␍
|
||||
PASS G5 gate PASS 39/39, negatives detected, reload ok {'total': 39, 'passed': 39, 'failed': 0}␍
|
||||
PASS G2 min side cover P1 107.5 / P2 91 / P3 76 (R 1,000 - radial - bar radius) {'P1': 107.5, 'P2': 91.0, 'P3': 76.0}␍
|
||||
PASS scope G1~G5 ['G1', 'G2', 'G3', 'G4', 'G5']␍
|
||||
PASS G4 min cover of coping bars >= 40 (corner clipping) {'C1': 40.3, 'C2': 40.8, 'C4': 40.7, 'C5': 42.9, 'C3': 40.7, 'C6': 40.4, 'S3': 222.5, 'S4': 247.5, 'C7': 68.0, 'C8': 68.0, 'C9': 68.0, 'C10': 68.0, 'C11': 68.0, 'C12': 53.7, 'C13': 90.4, 'C14': 46.9, 'C15': 87.0, 'C16': 90.5, 'S1': 1.6, 'S2': 41.1}␍
|
||||
PASS G4 449 bars ␍
|
||||
PASS G3 min cover (side / bottom) as hand-computed {'P1-1': 158.0, 'P1-2': 164.5, 'P2-1': 142.0, 'P3-1': 98.5, 'P3-2': 92.0}␍
|
||||
PASS template Ramp-A교P1형 = pier inputs ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,25 @@
|
||||
PASS 운곡교P1: table records unchanged ␍
|
||||
PASS 운곡교P1: proposals unchanged ␍
|
||||
PASS 운곡교p2: table records unchanged ␍
|
||||
PASS 운곡교p2: proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records unchanged ␍
|
||||
PASS 산외교울산P1: proposals unchanged ␍
|
||||
PASS ELEVATION TABLE: 2 rows NO.1 / NO.2 ['1', '2']␍
|
||||
PASS ELEVATION TABLE: all 15 columns read [16, 16]␍
|
||||
PASS ELEVATION TABLE NO.2 EL.'X' 60.427, C3 1400 ␍
|
||||
PASS 솔플레이트 TABLE: 2 rows, L '1,000' [{'_key': '1', 'S(%)': '-5.526', 'L': '1,000', 'W': '900', 'T': '50', 'T1': '78', 'T2': '22'}, {'_key': '2', 'S(%)': '-5.526', 'L': '1,000', 'W': '900', 'T': '50', 'T1': '78', 'T2': '22'}]␍
|
||||
PASS thousands separator ␍
|
||||
PASS candidates all equal the typed inputs (36 rows) []␍
|
||||
PASS candidates cover G1 seats, G5 el_x, params bearings and sole plates ['expected.G1.seats', 'expected.G2.schedule_L', 'expected.G2.schedule_n', 'expected.G5.L', 'expected.G5.S', 'expected.G5.T', 'expected.G5.W', 'expected.G5.el_x', 'expected.G5.h3', 'params.bearing_seats.bearings', 'params.rebar_marks.P1', 'params.sole_plates.h3', 'params.sole_plates.table']␍
|
||||
PASS G1 gate PASS 97/97, negatives detected, reload ok {'total': 97, 'passed': 97, 'failed': 0, 'volumes_m3': {'pile1': 32.53, 'pile2': 25.525, 'column': 37.699, 'coping': 31.393}}␍
|
||||
PASS G2 gate PASS 26/26, negatives detected, reload ok {'total': 26, 'passed': 26, 'failed': 0, 'min_cover': {'P1': 107.5, 'P2': 91.0, 'P3': 76.0}}␍
|
||||
PASS G3 gate PASS 48/48, negatives detected, reload ok {'total': 48, 'passed': 48, 'failed': 0, 'min_cover': {'P1-1': 158.0, 'P1-2': 164.5, 'P2-1': 142.0, 'P3-1': 98.5, 'P3-2': 92.0}}␍
|
||||
PASS G4 gate PASS 126/126, negatives detected, reload ok {'total': 126, 'passed': 126, 'failed': 0, 'cover': {'C1': 40.3, 'C2': 40.8, 'C4': 40.7, 'C5': 42.9, 'C3': 40.7, 'C6': 40.4, 'S3': 222.5, 'S4': 247.5, 'C7': 68.0, 'C8': 68.0, 'C9': 68.0, 'C10': 68.0, 'C11': 68.0, 'C12': 53.7, 'C13': 90.4, 'C14': 46.9, 'C15': 87.0, 'C16': 90.5, 'S1': 1.6, 'S2': 41.1}␍
|
||||
PASS G5 gate PASS 39/39, negatives detected, reload ok {'total': 39, 'passed': 39, 'failed': 0}␍
|
||||
PASS G2 min side cover P1 107.5 / P2 91 / P3 76 (R 1,000 - radial - bar radius) {'P1': 107.5, 'P2': 91.0, 'P3': 76.0}␍
|
||||
PASS scope G1~G5 ['G1', 'G2', 'G3', 'G4', 'G5']␍
|
||||
PASS G4 min cover of coping bars >= 40 (corner clipping) {'C1': 40.3, 'C2': 40.8, 'C4': 40.7, 'C5': 42.9, 'C3': 40.7, 'C6': 40.4, 'S3': 222.5, 'S4': 247.5, 'C7': 68.0, 'C8': 68.0, 'C9': 68.0, 'C10': 68.0, 'C11': 68.0, 'C12': 53.7, 'C13': 90.4, 'C14': 46.9, 'C15': 87.0, 'C16': 90.5, 'S1': 1.6, 'S2': 41.1}␍
|
||||
PASS G4 449 bars ␍
|
||||
PASS G3 min cover (side / bottom) as hand-computed {'P1-1': 158.0, 'P1-2': 164.5, 'P2-1': 142.0, 'P3-1': 98.5, 'P3-2': 92.0}␍
|
||||
PASS template Ramp-A교P1형 = pier inputs ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,25 @@
|
||||
PASS 운곡교P1: table records unchanged ␍
|
||||
PASS 운곡교P1: proposals unchanged ␍
|
||||
PASS 운곡교p2: table records unchanged ␍
|
||||
PASS 운곡교p2: proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records unchanged ␍
|
||||
PASS 산외교울산P1: proposals unchanged ␍
|
||||
PASS ELEVATION TABLE: 2 rows NO.1 / NO.2 ['1', '2']␍
|
||||
PASS ELEVATION TABLE: all 15 columns read [16, 16]␍
|
||||
PASS ELEVATION TABLE NO.2 EL.'X' 60.427, C3 1400 ␍
|
||||
PASS 솔플레이트 TABLE: 2 rows, L '1,000' [{'_key': '1', 'S(%)': '-5.526', 'L': '1,000', 'W': '900', 'T': '50', 'T1': '78', 'T2': '22'}, {'_key': '2', 'S(%)': '-5.526', 'L': '1,000', 'W': '900', 'T': '50', 'T1': '78', 'T2': '22'}]␍
|
||||
PASS thousands separator ␍
|
||||
PASS candidates all equal the typed inputs (36 rows) []␍
|
||||
PASS candidates cover G1 seats, G5 el_x, params bearings and sole plates ['expected.G1.seats', 'expected.G2.schedule_L', 'expected.G2.schedule_n', 'expected.G5.L', 'expected.G5.S', 'expected.G5.T', 'expected.G5.W', 'expected.G5.el_x', 'expected.G5.h3', 'params.bearing_seats.bearings', 'params.rebar_marks.P1', 'params.sole_plates.h3', 'params.sole_plates.table']␍
|
||||
PASS G1 gate PASS 97/97, negatives detected, reload ok {'total': 97, 'passed': 97, 'failed': 0, 'volumes_m3': {'pile1': 32.53, 'pile2': 25.525, 'column': 37.699, 'coping': 31.393}}␍
|
||||
PASS G2 gate PASS 26/26, negatives detected, reload ok {'total': 26, 'passed': 26, 'failed': 0, 'min_cover': {'P1': 107.5, 'P2': 91.0, 'P3': 76.0}}␍
|
||||
PASS G3 gate PASS 48/48, negatives detected, reload ok {'total': 48, 'passed': 48, 'failed': 0, 'min_cover': {'P1-1': 158.0, 'P1-2': 164.5, 'P2-1': 142.0, 'P3-1': 98.5, 'P3-2': 92.0}}␍
|
||||
PASS G4 gate PASS 126/126, negatives detected, reload ok {'total': 126, 'passed': 126, 'failed': 0, 'cover': {'C1': 40.3, 'C2': 40.8, 'C4': 40.7, 'C5': 42.9, 'C3': 40.7, 'C6': 40.4, 'S3': 222.5, 'S4': 247.5, 'C7': 68.0, 'C8': 68.0, 'C9': 68.0, 'C10': 68.0, 'C11': 68.0, 'C12': 53.7, 'C13': 90.4, 'C14': 46.9, 'C15': 87.0, 'C16': 90.5, 'S1': 1.6, 'S2': 41.1}␍
|
||||
PASS G5 gate PASS 39/39, negatives detected, reload ok {'total': 39, 'passed': 39, 'failed': 0}␍
|
||||
PASS G2 min side cover P1 107.5 / P2 91 / P3 76 (R 1,000 - radial - bar radius) {'P1': 107.5, 'P2': 91.0, 'P3': 76.0}␍
|
||||
PASS scope G1~G5 ['G1', 'G2', 'G3', 'G4', 'G5']␍
|
||||
PASS G4 min cover of coping bars >= 40 (corner clipping) {'C1': 40.3, 'C2': 40.8, 'C4': 40.7, 'C5': 42.9, 'C3': 40.7, 'C6': 40.4, 'S3': 222.5, 'S4': 247.5, 'C7': 68.0, 'C8': 68.0, 'C9': 68.0, 'C10': 68.0, 'C11': 68.0, 'C12': 53.7, 'C13': 90.4, 'C14': 46.9, 'C15': 87.0, 'C16': 90.5, 'S1': 1.6, 'S2': 41.1}␍
|
||||
PASS G4 449 bars ␍
|
||||
PASS G3 min cover (side / bottom) as hand-computed {'P1-1': 158.0, 'P1-2': 164.5, 'P2-1': 142.0, 'P3-1': 98.5, 'P3-2': 92.0}␍
|
||||
PASS template Ramp-A교P1형 = pier inputs ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,9 @@
|
||||
PASS scope G1~G5 ['G1', 'G2', 'G3', 'G4', 'G5']␍
|
||||
PASS no gate blocked by an absent section []␍
|
||||
PASS pile and shaft_rebar need confirmation ['G1', 'G2', 'G3', 'G4', 'G5', 'bearing_seats', 'builders', 'checkers', 'column', 'column_rebar', 'coping', 'coping_rebar', 'display', 'materials', 'negative', 'pier_id', 'pile', 'planned_fail', 'rebar_marks', 'rebar_palette', 'scope', 'shaft_rebar', 'sole_plates', 'tol_mm']␍
|
||||
PASS absent footing sections not required ␍
|
||||
PASS confirm_all clears all required []␍
|
||||
PASS G1 not blocked after confirm_all []␍
|
||||
PASS G2 waits only for G1 approval ['G1 미승인']␍
|
||||
PASS pier page renders with the pile section 200␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,9 @@
|
||||
PASS scope G1~G5 ['G1', 'G2', 'G3', 'G4', 'G5']␍
|
||||
PASS no gate blocked by an absent section []␍
|
||||
PASS pile and shaft_rebar need confirmation ['G1', 'G2', 'G3', 'G4', 'G5', 'bearing_seats', 'builders', 'checkers', 'column', 'column_rebar', 'coping', 'coping_rebar', 'display', 'materials', 'negative', 'pier_id', 'pile', 'planned_fail', 'rebar_marks', 'rebar_palette', 'scope', 'shaft_rebar', 'sole_plates', 'tol_mm']␍
|
||||
PASS absent footing sections not required ␍
|
||||
PASS confirming every required bundle clears all required []␍
|
||||
PASS G1 not blocked after confirming every required bundle []␍
|
||||
PASS G2 waits only for G1 approval ['G1 미승인']␍
|
||||
PASS pier page renders with the pile section 200␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,9 @@
|
||||
PASS scope G1~G5 ['G1', 'G2', 'G3', 'G4', 'G5']␍
|
||||
PASS no gate blocked by an absent section []␍
|
||||
PASS pile and shaft_rebar need confirmation ['G1', 'G2', 'G3', 'G4', 'G5', 'bearing_seats', 'builders', 'checkers', 'column', 'column_rebar', 'coping', 'coping_rebar', 'display', 'materials', 'negative', 'pier_id', 'pile', 'planned_fail', 'rebar_marks', 'rebar_palette', 'scope', 'shaft_rebar', 'sole_plates', 'tol_mm']␍
|
||||
PASS absent footing sections not required ␍
|
||||
PASS confirming every required bundle clears all required []␍
|
||||
PASS G1 not blocked after confirming every required bundle []␍
|
||||
PASS G2 waits only for G1 approval ['G1 미승인']␍
|
||||
PASS pier page renders with the pile section 200␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,25 @@
|
||||
template Ramp-A교P1형 {'foundation': '말뚝만', 'soffit': '나팔형', 'bearings': 2}␍
|
||||
template 산외교울산P1형 {'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
template 산외교울산P2형 {'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
template 새재1교P1형 {'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
template 옥성교P1형 {'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
template 운곡교P1형 {'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS Ramp-A교P1: estimate == own profile est={'foundation': '말뚝만', 'soffit': '나팔형', 'bearings': 2} own={'foundation': '말뚝만', 'soffit': '나팔형', 'bearings': 2}␍
|
||||
PASS Ramp-A교P1: top-ranked templates ['Ramp-A교P1형'] contain a same-profile template ['Ramp-A교P1형'] ␍
|
||||
PASS 산외교울산P1: estimate == own profile est={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 4} own={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
PASS 산외교울산P1: top-ranked templates ['산외교울산P1형'] contain a same-profile template ['산외교울산P1형'] ␍
|
||||
PASS 산외교울산P2: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 4} own={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
PASS 산외교울산P2: top-ranked templates ['산외교울산P2형'] contain a same-profile template ['산외교울산P2형'] ␍
|
||||
PASS 새재1교P1: estimate == own profile est={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 10} own={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
PASS 새재1교P1: top-ranked templates ['새재1교P1형'] contain a same-profile template ['새재1교P1형'] ␍
|
||||
PASS 옥성교P1: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
PASS 옥성교P1: top-ranked templates ['옥성교P1형'] contain a same-profile template ['옥성교P1형'] ␍
|
||||
PASS 운곡교P1: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교P1: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
PASS 운곡교p2: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교p2: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
PASS 운곡교P3: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교P3: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
PASS 운곡교P4: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교P4: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,25 @@
|
||||
template Ramp-A교P1형 {'foundation': '말뚝만', 'soffit': '나팔형', 'bearings': 2}␍
|
||||
template 산외교울산P1형 {'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
template 산외교울산P2형 {'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
template 새재1교P1형 {'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
template 옥성교P1형 {'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
template 운곡교P1형 {'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS Ramp-A교P1: estimate == own profile est={'foundation': '말뚝만', 'soffit': '나팔형', 'bearings': 2} own={'foundation': '말뚝만', 'soffit': '나팔형', 'bearings': 2}␍
|
||||
PASS Ramp-A교P1: top-ranked templates ['Ramp-A교P1형'] contain a same-profile template ['Ramp-A교P1형'] ␍
|
||||
PASS 산외교울산P1: estimate == own profile est={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 4} own={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
PASS 산외교울산P1: top-ranked templates ['산외교울산P1형'] contain a same-profile template ['산외교울산P1형'] ␍
|
||||
PASS 산외교울산P2: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 4} own={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
PASS 산외교울산P2: top-ranked templates ['산외교울산P2형'] contain a same-profile template ['산외교울산P2형'] ␍
|
||||
PASS 새재1교P1: estimate == own profile est={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 10} own={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
PASS 새재1교P1: top-ranked templates ['새재1교P1형'] contain a same-profile template ['새재1교P1형'] ␍
|
||||
PASS 옥성교P1: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
PASS 옥성교P1: top-ranked templates ['옥성교P1형'] contain a same-profile template ['옥성교P1형'] ␍
|
||||
PASS 운곡교P1: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교P1: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
PASS 운곡교p2: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교p2: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
PASS 운곡교P3: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교P3: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
PASS 운곡교P4: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교P4: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,23 @@
|
||||
template Ramp-A교P1형 {'foundation': '말뚝만', 'soffit': '나팔형', 'bearings': 2}␍
|
||||
template 산외교울산P1형 {'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
template 산외교울산P2형 {'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
template 새재1교P1형 {'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
template 옥성교P1형 {'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
template 운곡교P1형 {'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS Ramp-A교P1: estimate == own profile est={'foundation': '말뚝만', 'soffit': '나팔형', 'bearings': 2} own={'foundation': '말뚝만', 'soffit': '나팔형', 'bearings': 2}␍
|
||||
PASS Ramp-A교P1: top-ranked templates ['Ramp-A교P1형'] contain a same-profile template ['Ramp-A교P1형'] ␍
|
||||
PASS 산외교울산P1: estimate == own profile est={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 4} own={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
PASS 산외교울산P1: top-ranked templates ['산외교울산P1형'] contain a same-profile template ['산외교울산P1형'] ␍
|
||||
PASS 산외교울산P2: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 4} own={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 4}␍
|
||||
PASS 산외교울산P2: top-ranked templates ['산외교울산P2형'] contain a same-profile template ['산외교울산P2형'] ␍
|
||||
PASS 새재1교P1: estimate == own profile est={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 10} own={'foundation': '기초판만', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
PASS 새재1교P1: top-ranked templates ['새재1교P1형'] contain a same-profile template ['새재1교P1형'] ␍
|
||||
PASS 옥성교P1: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '직선 경사', 'bearings': 10}␍
|
||||
PASS 옥성교P1: top-ranked templates ['옥성교P1형'] contain a same-profile template ['옥성교P1형'] ␍
|
||||
PASS 운곡교P1: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교P1: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
PASS 운곡교P2: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교P2: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
PASS 운곡교P4: estimate == own profile est={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10} own={'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': 10}␍
|
||||
PASS 운곡교P4: top-ranked templates ['운곡교P1형'] contain a same-profile template ['운곡교P1형'] ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,17 @@
|
||||
PASS 3 Ungok DWG found [WindowsPath('C:/Users/User/Desktop/바이브코딩/pier_T/RAG/C0050205-025-운곡교 교각도(1)(완도방향 P1).dwg'), WindowsPath('C:/Users/User/Desktop/바이브코딩/pier_T/RAG/C0050205-026-운곡교 교각도(2)(완도방향 P1).dwg'), WindowsPath('C:/Users/User/Desktop/바이브코딩/pier_T/RAG/C0050205-027-운곡교 교각도(3)(완도방향 P1).dwg')]␍
|
||||
PASS recommend page 200 200␍
|
||||
PASS rank 1 = 운곡교P1형, 3/3 [('1', '운곡교P1형', '3', '3'), ('2', '옥성교P1형', '2', '3')]␍
|
||||
PASS others rank lower [('1', '운곡교P1형', '3', '3'), ('2', '옥성교P1형', '2', '3'), ('3', '산외교울산P2형', '1', '3'), ('4', '새재1교P1형', '1', '3'), ('5', 'Ramp-A교P1형', '0', '3'), ('6', '산외교울산P1형', '0', '3')]␍
|
||||
PASS staged drawings exist ␍
|
||||
PASS create redirects to the pier 302␍
|
||||
PASS drawings moved into the pier, staging removed ␍
|
||||
PASS six answers + three angle values saved in pier.json {'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': '10', 'rebar_shape': '예', 'rebar_method': '미확인', 'skew_deg': '', 'bearing_rot_deg': '', 'footing_rot_deg': ''}␍
|
||||
PASS pier keeps template label 템플릿: 운곡교P1형␍
|
||||
PASS matching answers: no mismatch recorded, no warning on the pier page []␍
|
||||
PASS result judgement area + angle inputs on the page ␍
|
||||
PASS mismatch recorded: soffit + rebar shape ['코핑 하면 형상', '철근 형상 종류']␍
|
||||
PASS warning shown on /pier/불일치교각 ␍
|
||||
PASS warning shown on /pier/불일치교각/candidates ␍
|
||||
PASS warning shown on /pier/불일치교각/gates ␍
|
||||
PASS non-DWG refused ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,17 @@
|
||||
PASS 3 Ungok DWG found [WindowsPath('C:/Users/User/Desktop/바이브코딩/pier_T/RAG/C0050205-025-운곡교 교각도(1)(완도방향 P1).dwg'), WindowsPath('C:/Users/User/Desktop/바이브코딩/pier_T/RAG/C0050205-026-운곡교 교각도(2)(완도방향 P1).dwg'), WindowsPath('C:/Users/User/Desktop/바이브코딩/pier_T/RAG/C0050205-027-운곡교 교각도(3)(완도방향 P1).dwg')]␍
|
||||
PASS recommend page 200 200␍
|
||||
PASS rank 1 = 운곡교P1형, 3/3 [('1', '운곡교P1형', '3', '3'), ('2', '옥성교P1형', '2', '3')]␍
|
||||
PASS others rank lower [('1', '운곡교P1형', '3', '3'), ('2', '옥성교P1형', '2', '3'), ('3', '산외교울산P2형', '1', '3'), ('4', '새재1교P1형', '1', '3'), ('5', 'Ramp-A교P1형', '0', '3'), ('6', '산외교울산P1형', '0', '3')]␍
|
||||
PASS staged drawings exist ␍
|
||||
PASS create redirects to the pier 302␍
|
||||
PASS drawings moved into the pier, staging removed ␍
|
||||
PASS six answers + three angle values saved in pier.json {'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': '10', 'rebar_shape': '예', 'rebar_method': '미확인', 'skew_deg': '', 'bearing_rot_deg': '', 'footing_rot_deg': ''}␍
|
||||
PASS pier keeps template label 템플릿: 운곡교P1형␍
|
||||
PASS matching answers: no mismatch recorded, no warning on the pier page []␍
|
||||
PASS result judgement area + angle inputs on the page ␍
|
||||
PASS mismatch recorded: soffit + rebar shape ['코핑 하면 형상', '철근 형상 종류']␍
|
||||
PASS warning shown on /pier/불일치교각 ␍
|
||||
PASS warning shown on /pier/불일치교각/candidates ␍
|
||||
PASS warning shown on /pier/불일치교각/gates ␍
|
||||
PASS non-DWG refused ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,17 @@
|
||||
PASS 3 Ungok DWG found [WindowsPath('C:/Users/User/Desktop/바이브코딩/pier_T/RAG/C0050205-025-운곡교 교각도(1)(완도방향 P1).dwg'), WindowsPath('C:/Users/User/Desktop/바이브코딩/pier_T/RAG/C0050205-026-운곡교 교각도(2)(완도방향 P1).dwg'), WindowsPath('C:/Users/User/Desktop/바이브코딩/pier_T/RAG/C0050205-027-운곡교 교각도(3)(완도방향 P1).dwg')]␍
|
||||
PASS recommend page 200 200␍
|
||||
PASS rank 1 = 운곡교P1형, 3/3 [('1', '운곡교P1형', '3', '3'), ('2', '옥성교P1형', '2', '3')]␍
|
||||
PASS others rank lower [('1', '운곡교P1형', '3', '3'), ('2', '옥성교P1형', '2', '3'), ('3', '산외교울산P2형', '1', '3'), ('4', '새재1교P1형', '1', '3'), ('5', 'Ramp-A교P1형', '0', '3'), ('6', '산외교울산P1형', '0', '3')]␍
|
||||
PASS staged drawings exist ␍
|
||||
PASS create redirects to the pier 302␍
|
||||
PASS drawings moved into the pier, staging removed ␍
|
||||
PASS six answers + three angle values saved in pier.json {'foundation': '기초판+말뚝', 'soffit': '곡선', 'bearings': '10', 'rebar_shape': '예', 'rebar_method': '미확인', 'skew_deg': '', 'bearing_rot_deg': '', 'footing_rot_deg': ''}␍
|
||||
PASS pier keeps template label 템플릿: 운곡교P1형␍
|
||||
PASS matching answers: no mismatch recorded, no warning on the pier page []␍
|
||||
PASS result judgement area + angle inputs on the page ␍
|
||||
PASS mismatch recorded: soffit + rebar shape ['코핑 하면 형상', '철근 형상 종류']␍
|
||||
PASS warning shown on /pier/불일치교각 ␍
|
||||
PASS warning shown on /pier/불일치교각/candidates ␍
|
||||
PASS warning shown on /pier/불일치교각/gates ␍
|
||||
PASS non-DWG refused ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,28 @@
|
||||
PASS the list has all four groups (일치 / 주의·근거 없음 / 불일치 / 결정 기록) {'A': 6, 'B': 12, 'C': 2, 'D': 3}␍
|
||||
PASS the stale expected value makes expected:G1 and params:piles 불일치 (group C) ['expected:G1', 'params:piles']␍
|
||||
PASS every item knows what changed since creation, what the app did not verify (B) and its origin ␍
|
||||
PASS page: one tick per B and D bundle, one group tick for A, none for C ␍
|
||||
PASS looking at the page confirmed nothing ␍
|
||||
PASS without having read the list to its end: refused, nothing written ␍
|
||||
PASS without a name: refused ␍
|
||||
PASS a name but no tick at all: nothing is confirmed ␍
|
||||
PASS 일치 group tick: exactly the 일치 bundles are confirmed ['expected:G5', 'params:bearing_seats', 'params:column']␍
|
||||
PASS the record has an informative reason (app check + change) and the note, the app status and the name [검토 요약 일괄 확정] 앱 확인 일치 — C2 표 후보 60건이 현재 값과 모두 같다 | 변경: 생성 시점 대비 32/51개 값이 바뀜 — L: 800 → null; L.1: null → 700; L.10: null → 800 … | 출처: 도면에서 읽기 35건 반영 (2026-10-20 15:19 심영표) | 의견: 시험 의견␍
|
||||
PASS B / C / D bundles stayed unconfirmed ␍
|
||||
PASS ticked B and D bundles are confirmed ␍
|
||||
PASS the 불일치 bundle is not confirmed even though its id was posted ␍
|
||||
PASS a B record says the person compared with the drawing, names the app status and what was not verified [검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 주의 — C2b 앵커 필드 9개 중 5개만 같다 (A 3 · B 2) — 대조 범위 56% | 변경: 생성 시점 대비 14/50개 값이 바뀜 — dia.P4: 19 → 29; dia.P5: 19 → 29; hoop_chain.groups.2.0: 36 → 30 … | 출처: 도면에서 읽기 13건 반영 (2026-10-20 15:19 심영표)␍
|
||||
PASS the decision record (planned FAIL) is confirmed only by its tick and keeps its status 해당 없음 ␍
|
||||
PASS the unticked B bundles stayed unconfirmed ␍
|
||||
PASS the page has the bulk buttons (check all / clear) for the B and D groups ␍
|
||||
PASS a provisional registration that waits for the designer is flagged, and the flag is written into the reason ␍
|
||||
PASS the reason of a flagged bundle carries the 주의 표시 ␍
|
||||
PASS flags(): template original / provisional registration ␍
|
||||
PASS after a value changed the marker no longer matches: refused ␍
|
||||
PASS after fixing the mismatch every required bundle can be confirmed through this one screen []␍
|
||||
PASS every confirmation record of this screen has a non-empty reason ␍
|
||||
PASS the gates are not blocked by unconfirmed bundles any more ␍
|
||||
PASS bundle_change: counts the changed values and shows the first ones 생성 시점 대비 1/3개 값이 바뀜 — b.1: 3 → 2␍
|
||||
PASS bundle_change: no snapshot -> says it cannot compare ␍
|
||||
PASS provenance: reads the app tools' logs ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,12 @@
|
||||
PASS 운곡교P1: table records / proposals unchanged ␍
|
||||
PASS 운곡교p2: table records / proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records / proposals unchanged ␍
|
||||
PASS scope G1 + G2 + G3 + G4 + G5, checker g1_pedestal.py ␍
|
||||
PASS spread footing (no piles), 10 bearings on 5 shared pedestals ␍
|
||||
PASS saved template ␍
|
||||
PASS G1 gate PASS 138/138, negatives detected {'total': 138, 'passed': 138, 'failed': 0, 'volumes_m3': {'lean': 6.241, 'footing': 154.154, 'column': 64.242, 'coping': 86.923, 'pile_each': 0}}␍
|
||||
PASS G2 gate PASS 41/41, negatives detected {'total': 41, 'passed': 41, 'failed': 0, 'min_cover': {'P1': 109.0, 'P2': 134.0, 'P3': 84.0, 'P4': 90.0, 'P5': 65.5}}␍
|
||||
PASS G3 gate PASS 72/76, negatives detected {'total': 76, 'passed': 72, 'failed': 4, 'cover': {'B1': 87.5, 'B2': 87.5, 'B3': 87.5, 'B4': 87.5, 'B5': 87.5, 'B6': 65.0, 'B7': 87.5, 'B8': 65.0, 'B9': 68.5, 'B10': 68.0, 'B11': 90.5, 'B12': 90.5}}␍
|
||||
PASS G4 gate PASS 189/189, negatives detected {'total': 189, 'passed': 189, 'failed': 0, 'cover': {'C1': 110.0, 'C4': 110.0, 'C2': 110.5, 'C3': 110.5, 'C5': 110.5, 'C6': 110.5, 'C7': 110.5, 'C8': 89.5, 'C9': 89.5, 'C10': 89.5, 'C11': 89.5, 'C12': 84.3, 'C13': 89.5, 'C14': 114.0, 'C15': 114.0, 'C16': 114.0, 'C17': 114.0, 'C18': 115.5, 'C19': 115␍
|
||||
PASS G5 gate PASS 183/183, negatives detected {'total': 183, 'passed': 183, 'failed': 0}␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,12 @@
|
||||
PASS 운곡교P1: table records / proposals unchanged ␍
|
||||
PASS 운곡교p2: table records / proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records / proposals unchanged ␍
|
||||
PASS scope G1 + G2 + G3 + G4 + G5, checker g1_pedestal.py ␍
|
||||
PASS spread footing (no piles), 10 bearings on 5 shared pedestals ␍
|
||||
PASS saved template ␍
|
||||
PASS G1 gate PASS 138/138, negatives detected {'total': 138, 'passed': 138, 'failed': 0, 'volumes_m3': {'lean': 6.241, 'footing': 154.154, 'column': 64.242, 'coping': 86.923, 'pile_each': 0}}␍
|
||||
PASS G2 gate PASS 41/41, negatives detected {'total': 41, 'passed': 41, 'failed': 0, 'min_cover': {'P1': 109.0, 'P2': 134.0, 'P3': 84.0, 'P4': 90.0, 'P5': 65.5}}␍
|
||||
PASS G3 gate PASS 72/76, negatives detected {'total': 76, 'passed': 72, 'failed': 4, 'cover': {'B1': 87.5, 'B2': 87.5, 'B3': 87.5, 'B4': 87.5, 'B5': 87.5, 'B6': 65.0, 'B7': 87.5, 'B8': 65.0, 'B9': 68.5, 'B10': 68.0, 'B11': 90.5, 'B12': 90.5}}␍
|
||||
PASS G4 gate PASS 189/189, negatives detected {'total': 189, 'passed': 189, 'failed': 0, 'cover': {'C1': 110.0, 'C4': 110.0, 'C2': 110.5, 'C3': 110.5, 'C5': 110.5, 'C6': 110.5, 'C7': 110.5, 'C8': 89.5, 'C9': 89.5, 'C10': 89.5, 'C11': 89.5, 'C12': 84.3, 'C13': 89.5, 'C14': 114.0, 'C15': 114.0, 'C16': 114.0, 'C17': 114.0, 'C18': 115.5, 'C19': 115␍
|
||||
PASS G5 gate PASS 183/183, negatives detected {'total': 183, 'passed': 183, 'failed': 0}␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,12 @@
|
||||
PASS 운곡교P1: table records / proposals unchanged ␍
|
||||
PASS 운곡교p2: table records / proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records / proposals unchanged ␍
|
||||
PASS scope G1 + G2 + G3 + G4 + G5, checker g1_pedestal.py ␍
|
||||
PASS spread footing (no piles), 10 bearings on 5 shared pedestals ␍
|
||||
PASS saved template ␍
|
||||
PASS G1 gate PASS 138/138, negatives detected {'total': 138, 'passed': 138, 'failed': 0, 'volumes_m3': {'lean': 6.241, 'footing': 154.154, 'column': 64.242, 'coping': 86.923, 'pile_each': 0}}␍
|
||||
PASS G2 gate PASS 41/41, negatives detected {'total': 41, 'passed': 41, 'failed': 0, 'min_cover': {'P1': 109.0, 'P2': 134.0, 'P3': 84.0, 'P4': 90.0, 'P5': 65.5}}␍
|
||||
PASS G3 gate PASS 72/76, negatives detected {'total': 76, 'passed': 72, 'failed': 4, 'cover': {'B1': 87.5, 'B2': 87.5, 'B3': 87.5, 'B4': 87.5, 'B5': 87.5, 'B6': 65.0, 'B7': 87.5, 'B8': 65.0, 'B9': 68.5, 'B10': 68.0, 'B11': 90.5, 'B12': 90.5}}␍
|
||||
PASS G4 gate PASS 189/189, negatives detected {'total': 189, 'passed': 189, 'failed': 0, 'cover': {'C1': 110.0, 'C4': 110.0, 'C2': 110.5, 'C3': 110.5, 'C5': 110.5, 'C6': 110.5, 'C7': 110.5, 'C8': 89.5, 'C9': 89.5, 'C10': 89.5, 'C11': 89.5, 'C12': 84.3, 'C13': 89.5, 'C14': 114.0, 'C15': 114.0, 'C16': 114.0, 'C17': 114.0, 'C18': 115.5, 'C19': 115␍
|
||||
PASS G5 gate PASS 183/183, negatives detected {'total': 183, 'passed': 183, 'failed': 0}␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1 @@
|
||||
writes 500 reads 12217 read_errors 0 write_errors 0 3.3s [] []␍
|
||||
@@ -0,0 +1 @@
|
||||
writes 500 reads 17067 read_errors 0 write_errors 0 4.2s [] []␍
|
||||
@@ -0,0 +1 @@
|
||||
writes 500 reads 28451 read_errors 0 write_errors 0 6.7s [] []␍
|
||||
@@ -0,0 +1,12 @@
|
||||
PASS templates listed ['산외교울산P1형', '운곡교P1형']
|
||||
PASS templates are not piers ['원본']
|
||||
PASS index shows protected group and table
|
||||
PASS pier from protected template {'name': '울산형새교각', 'type': 'T형', 'created': '2026-10-13 14:36:19', 'template': '템플릿: 산외교울산P1형'}
|
||||
PASS new pier has the Ulsan scope and needs confirmation 26
|
||||
PASS pier page renders
|
||||
PASS template unchanged after edit + delete
|
||||
PASS copy of an existing pier
|
||||
PASS reserved name refused
|
||||
PASS missing template refused
|
||||
PASS template folder cannot be deleted as a pier
|
||||
PASS re-save keeps old snapshot, _이전 not listed ['산외교울산P1형', '운곡교P1형']
|
||||
@@ -0,0 +1,12 @@
|
||||
PASS templates listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']␍
|
||||
PASS templates are not piers ['원본']␍
|
||||
PASS index shows protected group and table ␍
|
||||
PASS pier from protected template {'name': '울산형새교각', 'type': 'T형', 'created': '2026-10-16 17:36:32', 'template': '템플릿: 산외교울산P1형', 'origin': {'label': '템플릿: 산외교울산P1형', 'at': '2026-10-16 17:36:32', 'sha': {'params:_schema': '78a2cba5e35␍
|
||||
PASS new pier has the Ulsan scope and needs confirmation 26␍
|
||||
PASS pier page renders ␍
|
||||
PASS template unchanged after edit + delete ␍
|
||||
PASS copy of an existing pier ␍
|
||||
PASS reserved name refused ␍
|
||||
PASS missing template refused ␍
|
||||
PASS template folder cannot be deleted as a pier ␍
|
||||
PASS re-save keeps old snapshot, _이전 not listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']␍
|
||||
@@ -0,0 +1,12 @@
|
||||
PASS templates listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']␍
|
||||
PASS templates are not piers ['원본']␍
|
||||
PASS index shows protected group and table ␍
|
||||
PASS pier from protected template {'name': '울산형새교각', 'type': 'T형', 'created': '2026-10-19 13:32:46', 'template': '템플릿: 산외교울산P1형', 'origin': {'label': '템플릿: 산외교울산P1형', 'at': '2026-10-19 13:32:46', 'sha': {'params:_schema': '78a2cba5e35␍
|
||||
PASS new pier has the Ulsan scope and needs confirmation 26␍
|
||||
PASS pier page renders ␍
|
||||
PASS template unchanged after edit + delete ␍
|
||||
PASS copy of an existing pier ␍
|
||||
PASS reserved name refused ␍
|
||||
PASS missing template refused ␍
|
||||
PASS template folder cannot be deleted as a pier ␍
|
||||
PASS re-save keeps old snapshot, _이전 not listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']␍
|
||||
@@ -0,0 +1,12 @@
|
||||
PASS templates listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']␍
|
||||
PASS templates are not piers ['원본']␍
|
||||
PASS index shows protected group and table ␍
|
||||
PASS pier from protected template {'name': '울산형새교각', 'type': 'T형', 'created': '2026-10-20 15:40:11', 'template': '템플릿: 산외교울산P1형', 'origin': {'label': '템플릿: 산외교울산P1형', 'at': '2026-10-20 15:40:11', 'sha': {'params:_schema': '78a2cba5e35␍
|
||||
PASS new pier has the Ulsan scope and needs confirmation 26␍
|
||||
PASS pier page renders ␍
|
||||
PASS template unchanged after edit + delete ␍
|
||||
PASS copy of an existing pier ␍
|
||||
PASS reserved name refused ␍
|
||||
PASS missing template refused ␍
|
||||
PASS template folder cannot be deleted as a pier ␍
|
||||
PASS re-save keeps old snapshot, _이전 not listed ['Ramp-A교P1형', '산외교울산P1형', '산외교울산P2형', '새재1교P1형', '옥성교P1형', '운곡교P1형']␍
|
||||
@@ -0,0 +1,46 @@
|
||||
PASS 1 pier from protected template 산외교울산P1형 {'name': '울산E2E', 'type': 'T형', 'created': '2026-10-13 14:47:21', 'template': '템플릿: 산외교울산P1형'}
|
||||
PASS 2 upload converts the Ulsan DWG and indexes texts 1148 texts, 2s
|
||||
PASS 2 RAG original unchanged (read only)
|
||||
PASS 3 search 'EL. 42.763' (footing bottom) 1
|
||||
PASS 3 search '28@250=7.000' (footing top chain) 4
|
||||
PASS 3 search '24@125=3.000' (coping top layers) 7
|
||||
PASS 3 search '8@125' (seat reinforcement) 6
|
||||
PASS 4 candidates page renders
|
||||
PASS 4 candidates: template values equal the drawing tables (다름 0) 82 rows, 0 different
|
||||
PASS 4 edited bearing-3 h3 detected as the only difference [(['G5', 'h3', '3'], 999, 152)]
|
||||
PASS 4 apply restores the drawing value and keeps the per-bearing form {'1': 144, '2': 144, '3': 152, '4': 152}
|
||||
INFO 4 recognised tables [{'key': 'elevation', 'anchor': 7, 'rows': 12}, {'key': 'sole_plate', 'anchor': 7, 'rows': 7}, {'key': 'schedule_SD400', 'anchor': 7, 'rows': 32}, {'key': 'schedule_SD500', 'anchor': 7, 'rows': 33}]
|
||||
PASS 5 G1 blocked while sections unconfirmed
|
||||
PASS 5 bulk confirm (all required sections) 26 sections
|
||||
PASS 6 G1 individual run -> PASS 104/104, reload and unchanged verified 104/104 30s reload=True unchanged=True
|
||||
PASS 6 G1 approved
|
||||
PASS 6 G2 individual run -> PASS 35/35, reload and unchanged verified 35/35 100s reload=True unchanged=True
|
||||
PASS 6 G2 approved
|
||||
PASS 6 G3 individual run -> PASS 63/63, reload and unchanged verified 63/63 50s reload=True unchanged=True
|
||||
PASS 6 G3 approved
|
||||
PASS 6 G4 individual run -> PASS 129/129, reload and unchanged verified 129/129 215s reload=True unchanged=True
|
||||
PASS 6 G4 approved
|
||||
PASS 6 G5 individual run -> PASS 75/75, reload and unchanged verified 75/75 35s reload=True unchanged=True
|
||||
PASS 6 G5 approved
|
||||
PASS 7 download G1.3dm 605049 bytes
|
||||
PASS 7 download G2.3dm 10938439 bytes
|
||||
PASS 7 download G3.3dm 17323295 bytes
|
||||
PASS 7 download G4.3dm 32056499 bytes
|
||||
PASS 7 download G5.3dm 32173767 bytes
|
||||
PASS 8 report generated, all gates PASS and approved {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 0, 'finding_rows_without_source': 0, 'schedule_rows': 34, 'schedule_marks': 34, 'gate_rows': 5, 'schedule_unread': False, 'ok': True}
|
||||
PASS 8 report ch.6: 34 schedule marks, all 일치 with the model 34 rows; not 일치: []
|
||||
PASS 8 report self-check passed {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 0, 'finding_rows_without_source': 0, 'schedule_rows': 34, 'schedule_marks': 34, 'gate_rows': 5, 'schedule_unread': False, 'ok': True}
|
||||
PASS 8 report PDF download 109913
|
||||
PASS 9 input change -> all gates stale, approvals void
|
||||
PASS 9 G3 blocked until G1 is approved again
|
||||
PASS 9 footing dx 7,505 -> G1 FAIL (footing checks) ['footing X', 'lean X']
|
||||
PASS 9 FAIL gate cannot be approved
|
||||
PASS 9 restored input -> G1 PASS and approved; G2~G5 approvals valid again (same inputs as approved) {'G1': True, 'G2': True, 'G3': True, 'G4': True, 'G5': True}
|
||||
PASS 10 page renders /
|
||||
PASS 10 page renders /pier/울산E2E
|
||||
PASS 10 page renders /pier/울산E2E/gates
|
||||
PASS 10 page renders /pier/울산E2E/candidates
|
||||
PASS 10 page renders /pier/울산E2E/search?q=C7
|
||||
PASS 10 page renders /pier/울산E2E/section/params/coping_rebar
|
||||
PASS 10 delete moves the pier to the trash; template unchanged
|
||||
TOTAL 44 / 44
|
||||
@@ -0,0 +1,46 @@
|
||||
PASS 1 pier from protected template 산외교울산P1형 {'name': '울산E2E', 'type': 'T형', 'created': '2026-10-16 17:55:16', 'template': '템플릿: 산외교울산P1형', 'origin': {'label': '템플릿: 산외교울산P1형', 'at': '2026-10-16 17:55:16', 'sha': {'params:_schema': '78a2cba5e355␍
|
||||
PASS 2 upload converts the Ulsan DWG and indexes texts 1148 texts, 3s␍
|
||||
PASS 2 RAG original unchanged (read only) ␍
|
||||
PASS 3 search 'EL. 42.763' (footing bottom) 1␍
|
||||
PASS 3 search '28@250=7.000' (footing top chain) 4␍
|
||||
PASS 3 search '24@125=3.000' (coping top layers) 7␍
|
||||
PASS 3 search '8@125' (seat reinforcement) 6␍
|
||||
PASS 4 candidates page renders ␍
|
||||
PASS 4 candidates: template values equal the drawing tables (다름 0) 122 rows, 0 different␍
|
||||
PASS 4 edited bearing-3 h3 detected as the only difference [(['G5', 'h3', '3'], 999, 152)]␍
|
||||
PASS 4 apply restores the drawing value and keeps the per-bearing form {'1': 144, '2': 144, '3': 152, '4': 152}␍
|
||||
INFO 4 recognised tables [{'key': 'elevation', 'anchor': 7, 'rows': 12}, {'key': 'sole_plate', 'anchor': 7, 'rows': 7}, {'key': 'schedule_SD400', 'anchor': 7, 'rows': 32}, {'key': 'schedule_SD500', 'anchor': 7, 'rows': 33}]␍
|
||||
PASS 5 G1 blocked while sections unconfirmed ␍
|
||||
PASS 5 bulk confirm (all required sections) 26 sections␍
|
||||
PASS 6 G1 individual run -> PASS 104/104, reload and unchanged verified 104/104 25s reload=True unchanged=True ␍
|
||||
PASS 6 G1 approved ␍
|
||||
PASS 6 G2 individual run -> PASS 35/35, reload and unchanged verified 35/35 95s reload=True unchanged=True ␍
|
||||
PASS 6 G2 approved ␍
|
||||
PASS 6 G3 individual run -> PASS 63/63, reload and unchanged verified 63/63 45s reload=True unchanged=True ␍
|
||||
PASS 6 G3 approved ␍
|
||||
PASS 6 G4 individual run -> PASS 129/129, reload and unchanged verified 129/129 220s reload=True unchanged=True ␍
|
||||
PASS 6 G4 approved ␍
|
||||
PASS 6 G5 individual run -> PASS 75/75, reload and unchanged verified 75/75 30s reload=True unchanged=True ␍
|
||||
PASS 6 G5 approved ␍
|
||||
PASS 7 download G1.3dm 605049 bytes␍
|
||||
PASS 7 download G2.3dm 10938439 bytes␍
|
||||
PASS 7 download G3.3dm 17323295 bytes␍
|
||||
PASS 7 download G4.3dm 32056499 bytes␍
|
||||
PASS 7 download G5.3dm 32173767 bytes␍
|
||||
PASS 8 report generated, all gates PASS and approved {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 0, 'finding_rows_without_source': 0, 'schedule_rows': 34, 'schedule_marks': 34, 'gate_rows': 5, 'schedule_unread': False, 'ok': True}␍
|
||||
PASS 8 report ch.6: 34 schedule marks, all 일치 with the model 34 rows; not 일치: []␍
|
||||
PASS 8 report self-check passed {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 0, 'finding_rows_without_source': 0, 'schedule_rows': 34, 'schedule_marks': 34, 'gate_rows': 5, 'schedule_unread': False, 'ok': True}␍
|
||||
PASS 8 report PDF download 118745␍
|
||||
PASS 9 input change -> all gates stale, approvals void ␍
|
||||
PASS 9 G3 blocked until G1 is approved again ␍
|
||||
PASS 9 footing dx 7,505 -> G1 FAIL (footing checks) ['footing X', 'lean X']␍
|
||||
PASS 9 FAIL gate cannot be approved ␍
|
||||
PASS 9 restored input -> G1 PASS and approved; G2~G5 approvals valid again (same inputs as approved) {'G1': True, 'G2': True, 'G3': True, 'G4': True, 'G5': True}␍
|
||||
PASS 10 page renders / ␍
|
||||
PASS 10 page renders /pier/울산E2E ␍
|
||||
PASS 10 page renders /pier/울산E2E/gates ␍
|
||||
PASS 10 page renders /pier/울산E2E/candidates ␍
|
||||
PASS 10 page renders /pier/울산E2E/search?q=C7 ␍
|
||||
PASS 10 page renders /pier/울산E2E/section/params/coping_rebar ␍
|
||||
PASS 10 delete moves the pier to the trash; template unchanged ␍
|
||||
TOTAL 44 / 44␍
|
||||
@@ -0,0 +1,46 @@
|
||||
PASS 1 pier from protected template 산외교울산P1형 {'name': '울산E2E', 'type': 'T형', 'created': '2026-10-19 13:55:14', 'template': '템플릿: 산외교울산P1형', 'origin': {'label': '템플릿: 산외교울산P1형', 'at': '2026-10-19 13:55:14', 'sha': {'params:_schema': '78a2cba5e355␍
|
||||
PASS 2 upload converts the Ulsan DWG and indexes texts 1148 texts, 3s␍
|
||||
PASS 2 RAG original unchanged (read only) ␍
|
||||
PASS 3 search 'EL. 42.763' (footing bottom) 1␍
|
||||
PASS 3 search '28@250=7.000' (footing top chain) 4␍
|
||||
PASS 3 search '24@125=3.000' (coping top layers) 7␍
|
||||
PASS 3 search '8@125' (seat reinforcement) 6␍
|
||||
PASS 4 candidates page renders ␍
|
||||
PASS 4 candidates: template values equal the drawing tables (다름 0) 122 rows, 0 different␍
|
||||
PASS 4 edited bearing-3 h3 detected as the only difference [(['G5', 'h3', '3'], 999, 152)]␍
|
||||
PASS 4 apply restores the drawing value and keeps the per-bearing form {'1': 144, '2': 144, '3': 152, '4': 152}␍
|
||||
INFO 4 recognised tables [{'key': 'elevation', 'anchor': 7, 'rows': 12}, {'key': 'sole_plate', 'anchor': 7, 'rows': 7}, {'key': 'schedule_SD400', 'anchor': 7, 'rows': 32}, {'key': 'schedule_SD500', 'anchor': 7, 'rows': 33}]␍
|
||||
PASS 5 G1 blocked while sections unconfirmed ␍
|
||||
PASS 5 bulk confirm (all required sections) 26 sections␍
|
||||
PASS 6 G1 individual run -> PASS 104/104, reload and unchanged verified 104/104 25s reload=True unchanged=True ␍
|
||||
PASS 6 G1 approved ␍
|
||||
PASS 6 G2 individual run -> PASS 35/35, reload and unchanged verified 35/35 95s reload=True unchanged=True ␍
|
||||
PASS 6 G2 approved ␍
|
||||
PASS 6 G3 individual run -> PASS 63/63, reload and unchanged verified 63/63 45s reload=True unchanged=True ␍
|
||||
PASS 6 G3 approved ␍
|
||||
PASS 6 G4 individual run -> PASS 129/129, reload and unchanged verified 129/129 215s reload=True unchanged=True ␍
|
||||
PASS 6 G4 approved ␍
|
||||
PASS 6 G5 individual run -> PASS 75/75, reload and unchanged verified 75/75 30s reload=True unchanged=True ␍
|
||||
PASS 6 G5 approved ␍
|
||||
PASS 7 download G1.3dm 605074 bytes␍
|
||||
PASS 7 download G2.3dm 10938464 bytes␍
|
||||
PASS 7 download G3.3dm 17323320 bytes␍
|
||||
PASS 7 download G4.3dm 32056524 bytes␍
|
||||
PASS 7 download G5.3dm 32173792 bytes␍
|
||||
PASS 8 report generated, all gates PASS and approved {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 0, 'finding_rows_without_source': 0, 'schedule_rows': 34, 'schedule_marks': 34, 'gate_rows': 5, 'schedule_unread': False, 'ok': True}␍
|
||||
PASS 8 report ch.6: 34 schedule marks, all 일치 with the model 34 rows; not 일치: []␍
|
||||
PASS 8 report self-check passed {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 0, 'finding_rows_without_source': 0, 'schedule_rows': 34, 'schedule_marks': 34, 'gate_rows': 5, 'schedule_unread': False, 'ok': True}␍
|
||||
PASS 8 report PDF download 118933␍
|
||||
PASS 9 input change -> all gates stale, approvals void ␍
|
||||
PASS 9 G3 blocked until G1 is approved again ␍
|
||||
PASS 9 footing dx 7,505 -> G1 FAIL (footing checks) ['footing X', 'lean X']␍
|
||||
PASS 9 FAIL gate cannot be approved ␍
|
||||
PASS 9 restored input -> G1 PASS and approved; G2~G5 approvals valid again (same inputs as approved) {'G1': True, 'G2': True, 'G3': True, 'G4': True, 'G5': True}␍
|
||||
PASS 10 page renders / ␍
|
||||
PASS 10 page renders /pier/울산E2E ␍
|
||||
PASS 10 page renders /pier/울산E2E/gates ␍
|
||||
PASS 10 page renders /pier/울산E2E/candidates ␍
|
||||
PASS 10 page renders /pier/울산E2E/search?q=C7 ␍
|
||||
PASS 10 page renders /pier/울산E2E/section/params/coping_rebar ␍
|
||||
PASS 10 delete moves the pier to the trash; template unchanged ␍
|
||||
TOTAL 44 / 44␍
|
||||
@@ -0,0 +1,15 @@
|
||||
PASS 운곡교P1: table records / proposals unchanged ␍
|
||||
PASS 운곡교p2: table records / proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records / proposals unchanged ␍
|
||||
PASS scope G1~G5, builders / checkers ␍
|
||||
PASS footing 7800 x 7500 x 2500 at EL 38.916, rotated 37 deg (params = expected) ␍
|
||||
PASS piles 6 x 5 @1300/1550, D508 L7000, head +100 ␍
|
||||
PASS column 2500 x 27300; coping EL 72.046 / 71.916 ␍
|
||||
PASS 4 bearings, seat levels from the coping steps ␍
|
||||
PASS rebar counts = schedule: column P1 68 / footing B7 320 / coping C7 51 ␍
|
||||
PASS G1 gate PASS 118/118, negatives detected {'total': 118, 'passed': 118, 'failed': 0, 'volumes_m3': {'lean': 5.552, 'footing': 146.25, 'column': 134.009, 'coping': 82.231}}␍
|
||||
PASS G2 gate PASS 35/35, negatives detected {'total': 35, 'passed': 35, 'failed': 0, 'min_cover': {'P1': 109.0, 'P2': 93.0, 'P3': 117.8, 'P4': 93.0, 'P5': 93.0}}␍
|
||||
PASS G3 gate PASS 63/64, negatives detected {'total': 64, 'passed': 63, 'failed': 1, 'cover': {'B1': 68.0, 'B2': 87.5, 'B3': 89.0, 'B4': 90.5, 'B5': 65.0, 'B6': 87.5, 'B7': 76.0, 'B8': 69.5, 'B9': 92.0, 'B10': 92.0}}␍
|
||||
PASS G4 gate PASS 129/129, negatives detected {'total': 129, 'passed': 129, 'failed': 0, 'cover': {'C1': 82.5, 'C2': 82.5, 'C3': 82.9, 'C4': 82.9, 'C5': 83.5, 'C6': 83.5, 'C7': 62.5, 'C8': 61.5, 'C9': 62.0, 'C10': 88.5, 'C11': 94.9, 'C12': 88.5, 'C13': 104.2, 'C14': 92.0, 'C15': 87.8, 'S1': 120.6, 'S2': 133.6, 'S3': 90.6, 'S4': 103.6}}␍
|
||||
PASS G5 gate PASS 75/75, negatives detected {'total': 75, 'passed': 75, 'failed': 0}␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,15 @@
|
||||
PASS 운곡교P1: table records / proposals unchanged ␍
|
||||
PASS 운곡교p2: table records / proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records / proposals unchanged ␍
|
||||
PASS scope G1~G5, builders / checkers ␍
|
||||
PASS footing 7800 x 7500 x 2500 at EL 38.916, rotated 37 deg (params = expected) ␍
|
||||
PASS piles 6 x 5 @1300/1550, D508 L7000, head +100 ␍
|
||||
PASS column 2500 x 27300; coping EL 72.046 / 71.916 ␍
|
||||
PASS 4 bearings, seat levels from the coping steps ␍
|
||||
PASS rebar counts = schedule: column P1 68 / footing B7 320 / coping C7 51 ␍
|
||||
PASS G1 gate PASS 118/118, negatives detected {'total': 118, 'passed': 118, 'failed': 0, 'volumes_m3': {'lean': 5.552, 'footing': 146.25, 'column': 134.009, 'coping': 82.231}}␍
|
||||
PASS G2 gate PASS 35/35, negatives detected {'total': 35, 'passed': 35, 'failed': 0, 'min_cover': {'P1': 109.0, 'P2': 93.0, 'P3': 117.8, 'P4': 93.0, 'P5': 93.0}}␍
|
||||
PASS G3 gate PASS 63/64, negatives detected {'total': 64, 'passed': 63, 'failed': 1, 'cover': {'B1': 68.0, 'B2': 87.5, 'B3': 89.0, 'B4': 90.5, 'B5': 65.0, 'B6': 87.5, 'B7': 76.0, 'B8': 69.5, 'B9': 92.0, 'B10': 92.0}}␍
|
||||
PASS G4 gate PASS 129/129, negatives detected {'total': 129, 'passed': 129, 'failed': 0, 'cover': {'C1': 82.5, 'C2': 82.5, 'C3': 82.9, 'C4': 82.9, 'C5': 83.5, 'C6': 83.5, 'C7': 62.5, 'C8': 61.5, 'C9': 62.0, 'C10': 88.5, 'C11': 94.9, 'C12': 88.5, 'C13': 104.2, 'C14': 92.0, 'C15': 87.8, 'S1': 120.6, 'S2': 133.6, 'S3': 90.6, 'S4': 103.6}}␍
|
||||
PASS G5 gate PASS 75/75, negatives detected {'total': 75, 'passed': 75, 'failed': 0}␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,15 @@
|
||||
PASS 운곡교P1: table records / proposals unchanged ␍
|
||||
PASS 운곡교p2: table records / proposals unchanged ␍
|
||||
PASS 산외교울산P1: table records / proposals unchanged ␍
|
||||
PASS scope G1~G5, builders / checkers ␍
|
||||
PASS footing 7800 x 7500 x 2500 at EL 38.916, rotated 37 deg (params = expected) ␍
|
||||
PASS piles 6 x 5 @1300/1550, D508 L7000, head +100 ␍
|
||||
PASS column 2500 x 27300; coping EL 72.046 / 71.916 ␍
|
||||
PASS 4 bearings, seat levels from the coping steps ␍
|
||||
PASS rebar counts = schedule: column P1 68 / footing B7 320 / coping C7 51 ␍
|
||||
PASS G1 gate PASS 118/118, negatives detected {'total': 118, 'passed': 118, 'failed': 0, 'volumes_m3': {'lean': 5.552, 'footing': 146.25, 'column': 134.009, 'coping': 82.231}}␍
|
||||
PASS G2 gate PASS 35/35, negatives detected {'total': 35, 'passed': 35, 'failed': 0, 'min_cover': {'P1': 109.0, 'P2': 93.0, 'P3': 117.8, 'P4': 93.0, 'P5': 93.0}}␍
|
||||
PASS G3 gate PASS 63/64, negatives detected {'total': 64, 'passed': 63, 'failed': 1, 'cover': {'B1': 68.0, 'B2': 87.5, 'B3': 89.0, 'B4': 90.5, 'B5': 65.0, 'B6': 87.5, 'B7': 76.0, 'B8': 69.5, 'B9': 92.0, 'B10': 92.0}}␍
|
||||
PASS G4 gate PASS 129/129, negatives detected {'total': 129, 'passed': 129, 'failed': 0, 'cover': {'C1': 82.5, 'C2': 82.5, 'C3': 82.9, 'C4': 82.9, 'C5': 83.5, 'C6': 83.5, 'C7': 62.5, 'C8': 61.5, 'C9': 62.0, 'C10': 88.5, 'C11': 94.9, 'C12': 88.5, 'C13': 104.2, 'C14': 92.0, 'C15': 87.8, 'S1': 120.6, 'S2': 133.6, 'S3': 90.6, 'S4': 103.6}}␍
|
||||
PASS G5 gate PASS 75/75, negatives detected {'total': 75, 'passed': 75, 'failed': 0}␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,34 @@
|
||||
PASS Ramp-A교P1형: every bundle classified (30) []␍
|
||||
PASS Ramp-A교P1형: V3 = ['params:coping_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar']␍
|
||||
PASS Ramp-A교P1형: run settings / pier_id are F ␍
|
||||
PASS 산외교울산P1형: every bundle classified (31) []␍
|
||||
PASS 산외교울산P1형: V3 = ['params:coping_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar']␍
|
||||
PASS 산외교울산P1형: run settings / pier_id are F ␍
|
||||
PASS 산외교울산P2형: every bundle classified (32) []␍
|
||||
PASS 산외교울산P2형: V3 = ['params:coping_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar']␍
|
||||
PASS 산외교울산P2형: run settings / pier_id are F ␍
|
||||
PASS 새재1교P1형: every bundle classified (31) []␍
|
||||
PASS 새재1교P1형: V3 = ['params:coping_rebar', 'params:footing_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar', 'params:footing_rebar']␍
|
||||
PASS 새재1교P1형: run settings / pier_id are F ␍
|
||||
PASS 옥성교P1형: every bundle classified (32) []␍
|
||||
PASS 옥성교P1형: V3 = ['params:coping_rebar', 'params:footing_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar', 'params:footing_rebar']␍
|
||||
PASS 옥성교P1형: run settings / pier_id are F ␍
|
||||
PASS 운곡교P1형: every bundle classified (30) []␍
|
||||
PASS 운곡교P1형: V3 = [] (explicit bar lists, 부록 A) []␍
|
||||
PASS 운곡교P1형: run settings / pier_id are F ␍
|
||||
PASS new pier created 302␍
|
||||
PASS all 26 required bundles are still the template's original 26/26␍
|
||||
PASS pier page warns about original values and shows grade / source columns ␍
|
||||
PASS pier folder holds its own variability.json and the origin record ␍
|
||||
PASS V1 edit saved without reason ␍
|
||||
PASS edited bundle is no longer 'original' ␍
|
||||
PASS F-field change without reason refused ␍
|
||||
PASS F-field change with reason saved and logged [{'at': '2026-10-16 17:36:49', 'section': 'params:column', 'fixed_fields': ['shape'], 'reason': '사각 기둥 시험'}]␍
|
||||
PASS F bundle (scope) change without reason refused ␍
|
||||
PASS V3 bundle edit refused ␍
|
||||
PASS V3 section page explains ␍
|
||||
PASS old pier: origin unknown (None), no 'original' claim ␍
|
||||
PASS old pier page says the origin is not recorded ␍
|
||||
PASS save_template writes variability.json ␍
|
||||
PASS confirm_all still confirms required bundles ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,34 @@
|
||||
PASS Ramp-A교P1형: every bundle classified (30) []␍
|
||||
PASS Ramp-A교P1형: V3 = ['params:coping_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar']␍
|
||||
PASS Ramp-A교P1형: run settings / pier_id are F ␍
|
||||
PASS 산외교울산P1형: every bundle classified (31) []␍
|
||||
PASS 산외교울산P1형: V3 = ['params:coping_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar']␍
|
||||
PASS 산외교울산P1형: run settings / pier_id are F ␍
|
||||
PASS 산외교울산P2형: every bundle classified (32) []␍
|
||||
PASS 산외교울산P2형: V3 = ['params:coping_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar']␍
|
||||
PASS 산외교울산P2형: run settings / pier_id are F ␍
|
||||
PASS 새재1교P1형: every bundle classified (31) []␍
|
||||
PASS 새재1교P1형: V3 = ['params:coping_rebar', 'params:footing_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar', 'params:footing_rebar']␍
|
||||
PASS 새재1교P1형: run settings / pier_id are F ␍
|
||||
PASS 옥성교P1형: every bundle classified (32) []␍
|
||||
PASS 옥성교P1형: V3 = ['params:coping_rebar', 'params:footing_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar', 'params:footing_rebar']␍
|
||||
PASS 옥성교P1형: run settings / pier_id are F ␍
|
||||
PASS 운곡교P1형: every bundle classified (30) []␍
|
||||
PASS 운곡교P1형: V3 = [] (explicit bar lists, 부록 A) []␍
|
||||
PASS 운곡교P1형: run settings / pier_id are F ␍
|
||||
PASS new pier created 302␍
|
||||
PASS all 26 required bundles are still the template's original 26/26␍
|
||||
PASS pier page warns about original values and shows grade / source columns ␍
|
||||
PASS pier folder holds its own variability.json and the origin record ␍
|
||||
PASS V1 edit saved without reason ␍
|
||||
PASS edited bundle is no longer 'original' ␍
|
||||
PASS F-field change without reason refused ␍
|
||||
PASS F-field change with reason saved and logged [{'at': '2026-10-19 13:33:02', 'section': 'params:column', 'fixed_fields': ['shape'], 'reason': '사각 기둥 시험'}]␍
|
||||
PASS F bundle (scope) change without reason refused ␍
|
||||
PASS V3 bundle edit refused ␍
|
||||
PASS V3 section page explains ␍
|
||||
PASS old pier: origin unknown (None), no 'original' claim ␍
|
||||
PASS old pier page says the origin is not recorded ␍
|
||||
PASS save_template writes variability.json ␍
|
||||
PASS confirming every required bundle one by one works ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,34 @@
|
||||
PASS Ramp-A교P1형: every bundle classified (30) []␍
|
||||
PASS Ramp-A교P1형: V3 = ['params:coping_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar']␍
|
||||
PASS Ramp-A교P1형: run settings / pier_id are F ␍
|
||||
PASS 산외교울산P1형: every bundle classified (31) []␍
|
||||
PASS 산외교울산P1형: V3 = ['params:coping_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar']␍
|
||||
PASS 산외교울산P1형: run settings / pier_id are F ␍
|
||||
PASS 산외교울산P2형: every bundle classified (32) []␍
|
||||
PASS 산외교울산P2형: V3 = ['params:coping_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar']␍
|
||||
PASS 산외교울산P2형: run settings / pier_id are F ␍
|
||||
PASS 새재1교P1형: every bundle classified (31) []␍
|
||||
PASS 새재1교P1형: V3 = ['params:coping_rebar', 'params:footing_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar', 'params:footing_rebar']␍
|
||||
PASS 새재1교P1형: run settings / pier_id are F ␍
|
||||
PASS 옥성교P1형: every bundle classified (32) []␍
|
||||
PASS 옥성교P1형: V3 = ['params:coping_rebar', 'params:footing_rebar'] (explicit bar lists, 부록 A) ['params:coping_rebar', 'params:footing_rebar']␍
|
||||
PASS 옥성교P1형: run settings / pier_id are F ␍
|
||||
PASS 운곡교P1형: every bundle classified (30) []␍
|
||||
PASS 운곡교P1형: V3 = [] (explicit bar lists, 부록 A) []␍
|
||||
PASS 운곡교P1형: run settings / pier_id are F ␍
|
||||
PASS new pier created 302␍
|
||||
PASS all 26 required bundles are still the template's original 26/26␍
|
||||
PASS pier page warns about original values and shows grade / source columns ␍
|
||||
PASS pier folder holds its own variability.json and the origin record ␍
|
||||
PASS V1 edit saved without reason ␍
|
||||
PASS edited bundle is no longer 'original' ␍
|
||||
PASS F-field change without reason refused ␍
|
||||
PASS F-field change with reason saved and logged [{'at': '2026-10-20 15:40:28', 'section': 'params:column', 'fixed_fields': ['shape'], 'reason': '사각 기둥 시험'}]␍
|
||||
PASS F bundle (scope) change without reason refused ␍
|
||||
PASS V3 bundle edit refused ␍
|
||||
PASS V3 section page explains ␍
|
||||
PASS old pier: origin unknown (None), no 'original' claim ␍
|
||||
PASS old pier page says the origin is not recorded ␍
|
||||
PASS save_template writes variability.json ␍
|
||||
PASS confirming every required bundle one by one works ␍
|
||||
RESULT PASS␍
|
||||
@@ -0,0 +1,50 @@
|
||||
PASS non-T pier rejected
|
||||
PASS T pier created from template
|
||||
PASS upload converts 3 DWG and indexes texts 2366 texts, 3s
|
||||
PASS non-DWG upload refused
|
||||
PASS search finds 'EL. 26.208'
|
||||
PASS bad regex reported, no crash
|
||||
PASS candidates: 166 rows, 0 different
|
||||
PASS edited value detected as different
|
||||
PASS apply candidate restores drawing value
|
||||
PASS type change refused
|
||||
PASS invalid JSON refused
|
||||
PASS G1 blocked while sections unconfirmed
|
||||
PASS all required sections confirmed 23
|
||||
PASS G2 blocked before G1 approval
|
||||
PASS G1 run via app -> PASS {'total': 171, 'passed': 171, 'failed': 0, 'volumes_m3': {'lean': 6.792, 'footing': 160.446, 'column': 37.709, 'coping': 89.586}, 'pile_volume_each_m3': 6.899}
|
||||
PASS G1 approval needs a name
|
||||
PASS G1 approved
|
||||
PASS G2 run via app -> PASS {'total': 42, 'passed': 42, 'failed': 0, 'min_cover': {'P1': 113.5, 'P2': 158.5, 'P3': 93.5, 'P4': 109.7, 'P5': 93.5, 'P6': 74.0}} 69s
|
||||
PASS G2 approval needs a name
|
||||
PASS G2 approved
|
||||
PASS G3 run via app -> PASS {'total': 73, 'passed': 72, 'failed': 1, 'cover': {'B1': 87.5, 'B2': 87.5, 'B3': 90.5, 'B4': 87.5, 'B5': 58.5, 'B6': 57.5, 'B7': 90.5, 'B8': 85.5, 'B9': 69.5, '
|
||||
PASS G3 approval needs a name
|
||||
PASS G3 approved
|
||||
PASS G4 run via app -> PASS {'total': 116, 'passed': 111, 'failed': 5, 'cover': {'C1': 85.4, 'C2': 85.2, 'C3': 85.5, 'C4': 85.4, 'C5': 85.2, 'C6': 85.5, 'C7': 84.4, 'C8': 84.4, 'C9': 87.5,
|
||||
PASS G4 approval needs a name
|
||||
PASS G4 approved
|
||||
PASS G5 run via app -> PASS {'total': 183, 'passed': 183, 'failed': 0} 36s
|
||||
PASS G5 approval needs a name
|
||||
PASS G5 approved
|
||||
PASS download G5.3dm 48288043 bytes
|
||||
PASS report self-check ok (chapters, vocabulary, 37 schedule rows, 5 gate rows) {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 6, 'finding_rows_without_source': 0, 'schedule_rows': 37, 'schedule_marks': 37, 'gate_rows': 5, 'sched
|
||||
PASS report: all gates PASS and approved
|
||||
PASS report: 6 planned FAIL listed as 불일치 6
|
||||
PASS report: B12 schedule 34 vs model 28 -> 불일치
|
||||
PASS report: other modelled marks match (35) 35
|
||||
PASS report: UA1 outside model
|
||||
PASS report PDF download 114396
|
||||
PASS input change -> gate stale and approval void
|
||||
PASS changed section needs re-confirmation
|
||||
PASS orphaned running job shown as 중단됨
|
||||
PASS pile length +5 mm -> G1 FAIL (pile length) ['pile length'] trace [(0, True, '대기'), (3, True, '실행 중')]..[(30, True, '실행 중'), (33, True, '완료')]
|
||||
PASS FAIL gate cannot be approved
|
||||
PASS rejection needs a reason
|
||||
PASS rejection recorded
|
||||
PASS page renders /
|
||||
PASS page renders /pier/테스트P1
|
||||
PASS page renders /pier/테스트P1/gates
|
||||
PASS page renders /pier/테스트P1/candidates
|
||||
PASS page renders /pier/테스트P1/section/params/footing
|
||||
TOTAL 49 / 49
|
||||
@@ -0,0 +1,50 @@
|
||||
PASS non-T pier rejected ␍
|
||||
PASS T pier created from template ␍
|
||||
PASS upload converts 3 DWG and indexes texts 2366 texts, 4s␍
|
||||
PASS non-DWG upload refused ␍
|
||||
PASS search finds 'EL. 26.208' ␍
|
||||
PASS bad regex reported, no crash ␍
|
||||
PASS candidates: 257 rows (166 + 91 params), 0 different ␍
|
||||
PASS edited value detected as different ␍
|
||||
PASS apply candidate restores drawing value ␍
|
||||
PASS type change refused ␍
|
||||
PASS invalid JSON refused ␍
|
||||
PASS G1 blocked while sections unconfirmed ␍
|
||||
PASS all required sections confirmed 23␍
|
||||
PASS G2 blocked before G1 approval ␍
|
||||
PASS G1 run via app -> PASS {'total': 171, 'passed': 171, 'failed': 0, 'volumes_m3': {'lean': 6.792, 'footing': 160.446, 'column': 37.709, 'coping': 89.586}, 'pile_volume_each_m3': 6.899} ␍
|
||||
PASS G1 approval needs a name ␍
|
||||
PASS G1 approved ␍
|
||||
PASS G2 run via app -> PASS {'total': 42, 'passed': 42, 'failed': 0, 'min_cover': {'P1': 113.5, 'P2': 158.5, 'P3': 93.5, 'P4': 109.7, 'P5': 93.5, 'P6': 74.0}} 63s ␍
|
||||
PASS G2 approval needs a name ␍
|
||||
PASS G2 approved ␍
|
||||
PASS G3 run via app -> PASS {'total': 73, 'passed': 72, 'failed': 1, 'cover': {'B1': 87.5, 'B2': 87.5, 'B3': 90.5, 'B4': 87.5, 'B5': 58.5, 'B6': 57.5, 'B7': 90.5, 'B8': 85.5, 'B9': 69.5, '␍
|
||||
PASS G3 approval needs a name ␍
|
||||
PASS G3 approved ␍
|
||||
PASS G4 run via app -> PASS {'total': 116, 'passed': 111, 'failed': 5, 'cover': {'C1': 85.4, 'C2': 85.2, 'C3': 85.5, 'C4': 85.4, 'C5': 85.2, 'C6': 85.5, 'C7': 84.4, 'C8': 84.4, 'C9': 87.5,␍
|
||||
PASS G4 approval needs a name ␍
|
||||
PASS G4 approved ␍
|
||||
PASS G5 run via app -> PASS {'total': 183, 'passed': 183, 'failed': 0} 36s ␍
|
||||
PASS G5 approval needs a name ␍
|
||||
PASS G5 approved ␍
|
||||
PASS download G5.3dm 48288043 bytes␍
|
||||
PASS report self-check ok (chapters, vocabulary, 37 schedule rows, 5 gate rows) {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 6, 'finding_rows_without_source': 0, 'schedule_rows': 37, 'schedule_marks': 37, 'gate_rows': 5, 'sched␍
|
||||
PASS report: all gates PASS and approved ␍
|
||||
PASS report: 6 planned FAIL listed as 불일치 6␍
|
||||
PASS report: B12 schedule 34 vs model 28 -> 불일치 ␍
|
||||
PASS report: other modelled marks match (35) 35␍
|
||||
PASS report: UA1 outside model ␍
|
||||
PASS report PDF download 123156␍
|
||||
PASS input change -> gate stale and approval void ␍
|
||||
PASS changed section needs re-confirmation ␍
|
||||
PASS orphaned running job shown as 중단됨 ␍
|
||||
PASS pile length +5 mm -> G1 FAIL (pile length) ['pile length'] trace [(0, True, '대기'), (3, True, '실행 중')]..[(27, True, '실행 중'), (30, True, '완료')]␍
|
||||
PASS FAIL gate cannot be approved ␍
|
||||
PASS rejection needs a reason ␍
|
||||
PASS rejection recorded ␍
|
||||
PASS page renders / ␍
|
||||
PASS page renders /pier/테스트P1 ␍
|
||||
PASS page renders /pier/테스트P1/gates ␍
|
||||
PASS page renders /pier/테스트P1/candidates ␍
|
||||
PASS page renders /pier/테스트P1/section/params/footing ␍
|
||||
TOTAL 49 / 49␍
|
||||
@@ -0,0 +1,50 @@
|
||||
PASS non-T pier rejected ␍
|
||||
PASS T pier created from template ␍
|
||||
PASS upload converts 3 DWG and indexes texts 2366 texts, 4s␍
|
||||
PASS non-DWG upload refused ␍
|
||||
PASS search finds 'EL. 26.208' ␍
|
||||
PASS bad regex reported, no crash ␍
|
||||
PASS candidates: 257 rows (166 + 91 params), 0 different ␍
|
||||
PASS edited value detected as different ␍
|
||||
PASS apply candidate restores drawing value ␍
|
||||
PASS type change refused ␍
|
||||
PASS invalid JSON refused ␍
|
||||
PASS G1 blocked while sections unconfirmed ␍
|
||||
PASS all required sections confirmed 23␍
|
||||
PASS G2 blocked before G1 approval ␍
|
||||
PASS G1 run via app -> PASS {'total': 171, 'passed': 171, 'failed': 0, 'volumes_m3': {'lean': 6.792, 'footing': 160.446, 'column': 37.709, 'coping': 89.586}, 'pile_volume_each_m3': 6.899} ␍
|
||||
PASS G1 approval needs a name ␍
|
||||
PASS G1 approved ␍
|
||||
PASS G2 run via app -> PASS {'total': 42, 'passed': 42, 'failed': 0, 'min_cover': {'P1': 113.5, 'P2': 158.5, 'P3': 93.5, 'P4': 109.7, 'P5': 93.5, 'P6': 74.0}} 66s ␍
|
||||
PASS G2 approval needs a name ␍
|
||||
PASS G2 approved ␍
|
||||
PASS G3 run via app -> PASS {'total': 73, 'passed': 72, 'failed': 1, 'cover': {'B1': 87.5, 'B2': 87.5, 'B3': 90.5, 'B4': 87.5, 'B5': 58.5, 'B6': 57.5, 'B7': 90.5, 'B8': 85.5, 'B9': 69.5, '␍
|
||||
PASS G3 approval needs a name ␍
|
||||
PASS G3 approved ␍
|
||||
PASS G4 run via app -> PASS {'total': 116, 'passed': 111, 'failed': 5, 'cover': {'C1': 85.4, 'C2': 85.2, 'C3': 85.5, 'C4': 85.4, 'C5': 85.2, 'C6': 85.5, 'C7': 84.4, 'C8': 84.4, 'C9': 87.5,␍
|
||||
PASS G4 approval needs a name ␍
|
||||
PASS G4 approved ␍
|
||||
PASS G5 run via app -> PASS {'total': 183, 'passed': 183, 'failed': 0} 33s ␍
|
||||
PASS G5 approval needs a name ␍
|
||||
PASS G5 approved ␍
|
||||
PASS download G5.3dm 48288068 bytes␍
|
||||
PASS report self-check ok (chapters, vocabulary, 37 schedule rows, 5 gate rows) {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 6, 'finding_rows_without_source': 0, 'schedule_rows': 37, 'schedule_marks': 37, 'gate_rows': 5, 'sched␍
|
||||
PASS report: all gates PASS and approved ␍
|
||||
PASS report: 6 planned FAIL listed as 불일치 6␍
|
||||
PASS report: B12 schedule 34 vs model 28 -> 불일치 ␍
|
||||
PASS report: other modelled marks match (35) 35␍
|
||||
PASS report: UA1 outside model ␍
|
||||
PASS report PDF download 123148␍
|
||||
PASS input change -> gate stale and approval void ␍
|
||||
PASS changed section needs re-confirmation ␍
|
||||
PASS orphaned running job shown as 중단됨 ␍
|
||||
PASS pile length +5 mm -> G1 FAIL (pile length) ['pile length'] trace [(0, True, '대기'), (3, True, '실행 중')]..[(27, True, '실행 중'), (30, True, '완료')]␍
|
||||
PASS FAIL gate cannot be approved ␍
|
||||
PASS rejection needs a reason ␍
|
||||
PASS rejection recorded ␍
|
||||
PASS page renders / ␍
|
||||
PASS page renders /pier/테스트P1 ␍
|
||||
PASS page renders /pier/테스트P1/gates ␍
|
||||
PASS page renders /pier/테스트P1/candidates ␍
|
||||
PASS page renders /pier/테스트P1/section/params/footing ␍
|
||||
TOTAL 49 / 49␍
|
||||
@@ -0,0 +1,50 @@
|
||||
PASS non-T pier rejected ␍
|
||||
PASS T pier created from template ␍
|
||||
PASS upload converts 3 DWG and indexes texts 2366 texts, 4s␍
|
||||
PASS non-DWG upload refused ␍
|
||||
PASS search finds 'EL. 26.208' ␍
|
||||
PASS bad regex reported, no crash ␍
|
||||
PASS candidates: 257 rows (166 + 91 params), 0 different ␍
|
||||
PASS edited value detected as different ␍
|
||||
PASS apply candidate restores drawing value ␍
|
||||
PASS type change refused ␍
|
||||
PASS invalid JSON refused ␍
|
||||
PASS G1 blocked while sections unconfirmed ␍
|
||||
PASS all required sections confirmed 23␍
|
||||
PASS G2 blocked before G1 approval ␍
|
||||
PASS G1 run via app -> PASS {'total': 171, 'passed': 171, 'failed': 0, 'volumes_m3': {'lean': 6.792, 'footing': 160.446, 'column': 37.709, 'coping': 89.586}, 'pile_volume_each_m3': 6.899} ␍
|
||||
PASS G1 approval needs a name ␍
|
||||
PASS G1 approved ␍
|
||||
PASS G2 run via app -> PASS {'total': 42, 'passed': 42, 'failed': 0, 'min_cover': {'P1': 113.5, 'P2': 158.5, 'P3': 93.5, 'P4': 109.7, 'P5': 93.5, 'P6': 74.0}} 66s ␍
|
||||
PASS G2 approval needs a name ␍
|
||||
PASS G2 approved ␍
|
||||
PASS G3 run via app -> PASS {'total': 73, 'passed': 72, 'failed': 1, 'cover': {'B1': 87.5, 'B2': 87.5, 'B3': 90.5, 'B4': 87.5, 'B5': 58.5, 'B6': 57.5, 'B7': 90.5, 'B8': 85.5, 'B9': 69.5, '␍
|
||||
PASS G3 approval needs a name ␍
|
||||
PASS G3 approved ␍
|
||||
PASS G4 run via app -> PASS {'total': 116, 'passed': 111, 'failed': 5, 'cover': {'C1': 85.4, 'C2': 85.2, 'C3': 85.5, 'C4': 85.4, 'C5': 85.2, 'C6': 85.5, 'C7': 84.4, 'C8': 84.4, 'C9': 87.5,␍
|
||||
PASS G4 approval needs a name ␍
|
||||
PASS G4 approved ␍
|
||||
PASS G5 run via app -> PASS {'total': 183, 'passed': 183, 'failed': 0} 33s ␍
|
||||
PASS G5 approval needs a name ␍
|
||||
PASS G5 approved ␍
|
||||
PASS download G5.3dm 48288043 bytes␍
|
||||
PASS report self-check ok (chapters, vocabulary, 37 schedule rows, 5 gate rows) {'chapters_missing': [], 'vocab_bad': [], 'finding_rows': 6, 'finding_rows_without_source': 0, 'schedule_rows': 37, 'schedule_marks': 37, 'gate_rows': 5, 'sched␍
|
||||
PASS report: all gates PASS and approved ␍
|
||||
PASS report: 6 planned FAIL listed as 불일치 6␍
|
||||
PASS report: B12 schedule 34 vs model 28 -> 불일치 ␍
|
||||
PASS report: other modelled marks match (35) 35␍
|
||||
PASS report: UA1 outside model ␍
|
||||
PASS report PDF download 123153␍
|
||||
PASS input change -> gate stale and approval void ␍
|
||||
PASS changed section needs re-confirmation ␍
|
||||
PASS orphaned running job shown as 중단됨 ␍
|
||||
PASS pile length +5 mm -> G1 FAIL (pile length) ['pile length'] trace [(0, True, '실행 중'), (3, True, '실행 중')]..[(27, True, '실행 중'), (30, True, '완료')]␍
|
||||
PASS FAIL gate cannot be approved ␍
|
||||
PASS rejection needs a reason ␍
|
||||
PASS rejection recorded ␍
|
||||
PASS page renders / ␍
|
||||
PASS page renders /pier/테스트P1 ␍
|
||||
PASS page renders /pier/테스트P1/gates ␍
|
||||
PASS page renders /pier/테스트P1/candidates ␍
|
||||
PASS page renders /pier/테스트P1/section/params/footing ␍
|
||||
TOTAL 49 / 49␍
|
||||
@@ -0,0 +1,21 @@
|
||||
PASS bulk confirm needs a name
|
||||
PASS bulk confirm: all required sections confirmed 23 sections
|
||||
PASS bulk confirm: sections not required stay unconfirmed
|
||||
PASS pier page shows all confirmed
|
||||
PASS batch run needs a name
|
||||
PASS single run refused while the batch runs
|
||||
PASS wrong input: batch stops at G1 FAIL ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] FAIL checks 170/171 (planned FAIL 0, unplanned
|
||||
PASS wrong input: nothing approved {}
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] PASS checks 171/171 (planned FAIL 0, unplanned
|
||||
PASS G1..G5 approved by the given name with the auto note {'G1': {'decision': '승인', 'by': '시험자', 'note': '일괄 실행 자동 승인', 'at': '2026-10-13 14:41:20', 'inputs_sha': 'a07fc78446227a14'}, 'G2': {'decision': '승인', 'by': '시험자', 'note': '일괄 실행 자동 승인', 'at': '2026-1
|
||||
PASS batch: one session, gate checks only (mode batch, reload/unchanged skipped) {'G1': 'batch', 'G2': 'batch', 'G3': 'batch', 'G4': 'batch', 'G5': 'batch'}
|
||||
PASS batch: only G5 model saved
|
||||
PASS batch: G1 download refused, G5 download served
|
||||
PASS batch: session time 145.1s for G1..G5 (individual runs ~330s)
|
||||
PASS batch G5 model == individual-run G5 model (3190 objects, FAST fingerprints) {'count': [3190, 3190], 'objects_with_diffs': 0, 'diff_fields': {}}
|
||||
PASS planned FAIL gates still listed
|
||||
PASS nothing left to run
|
||||
PASS gates page renders batch log
|
||||
PASS pier page offers 'G5 일괄 승인' for one unapproved gate
|
||||
PASS existing PASS approved without re-run ['G5 기존 PASS 결과 183/183 (계획 FAIL 0) → 승인 (재실행 없음)'] 5s
|
||||
TOTAL 20 / 20
|
||||
@@ -0,0 +1,21 @@
|
||||
PASS bulk confirm needs a name ␍
|
||||
PASS bulk confirm: all required sections confirmed 23 sections␍
|
||||
PASS bulk confirm: sections not required stay unconfirmed ␍
|
||||
PASS pier page shows all confirmed ␍
|
||||
PASS batch run needs a name ␍
|
||||
PASS single run refused while the batch runs ␍
|
||||
PASS wrong input: batch stops at G1 FAIL ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] FAIL checks 170/171 (planned FAIL 0, unplanned ␍
|
||||
PASS wrong input: nothing approved {}␍
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] PASS checks 171/171 (planned FAIL 0, unplanned ␍
|
||||
PASS G1..G5 approved by the given name with the auto note {'G1': {'decision': '승인', 'by': '시험자', 'note': '일괄 실행 자동 승인', 'at': '2026-10-16 17:43:03', 'inputs_sha': 'a07fc78446227a14'}, 'G2': {'decision': '승인', 'by': '시험자', 'note': '일괄 실행 자동 승인', 'at': '2026-1␍
|
||||
PASS batch: one session, gate checks only (mode batch, reload/unchanged skipped) {'G1': 'batch', 'G2': 'batch', 'G3': 'batch', 'G4': 'batch', 'G5': 'batch'}␍
|
||||
PASS batch: only G5 model saved ␍
|
||||
PASS batch: G1 download refused, G5 download served ␍
|
||||
PASS batch: session time 151.3s for G1..G5 (individual runs ~330s)␍
|
||||
PASS batch G5 model == individual-run G5 model (3190 objects, FAST fingerprints) {'count': [3190, 3190], 'objects_with_diffs': 0, 'diff_fields': {}}␍
|
||||
PASS planned FAIL gates still listed ␍
|
||||
PASS nothing left to run ␍
|
||||
PASS gates page renders batch log ␍
|
||||
PASS pier page offers 'G5 일괄 승인' for one unapproved gate ␍
|
||||
PASS existing PASS approved without re-run ['G5 기존 PASS 결과 183/183 (계획 FAIL 0) → 승인 (재실행 없음)'] 5s␍
|
||||
TOTAL 20 / 20␍
|
||||
@@ -0,0 +1,21 @@
|
||||
PASS confirm needs a name ␍
|
||||
PASS confirm: all required sections confirmed 23 sections␍
|
||||
PASS confirm: sections not required stay unconfirmed ␍
|
||||
PASS pier page shows all confirmed ␍
|
||||
PASS batch run needs a name ␍
|
||||
PASS single run refused while the batch runs ␍
|
||||
PASS wrong input: batch stops at G1 FAIL ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] FAIL checks 170/171 (planned FAIL 0, unplanned ␍
|
||||
PASS wrong input: nothing approved {}␍
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] PASS checks 171/171 (planned FAIL 0, unplanned ␍
|
||||
PASS G1..G5 approved by the given name with the auto note {'G1': {'decision': '승인', 'by': '시험자', 'note': '일괄 실행 자동 승인', 'at': '2026-10-19 13:43:20', 'inputs_sha': 'a07fc78446227a14'}, 'G2': {'decision': '승인', 'by': '시험자', 'note': '일괄 실행 자동 승인', 'at': '2026-1␍
|
||||
PASS batch: one session, gate checks only (mode batch, reload/unchanged skipped) {'G1': 'batch', 'G2': 'batch', 'G3': 'batch', 'G4': 'batch', 'G5': 'batch'}␍
|
||||
PASS batch: only G5 model saved ␍
|
||||
PASS batch: G1 download refused, G5 download served ␍
|
||||
PASS batch: session time 144.0s for G1..G5 (individual runs ~330s)␍
|
||||
PASS batch G5 model == individual-run G5 model (3190 objects, FAST fingerprints) {'count': [3190, 3190], 'objects_with_diffs': 0, 'diff_fields': {}}␍
|
||||
PASS planned FAIL gates still listed ␍
|
||||
PASS nothing left to run ␍
|
||||
PASS gates page renders batch log ␍
|
||||
PASS pier page offers 'G5 일괄 승인' for one unapproved gate ␍
|
||||
PASS existing PASS approved without re-run ['G5 기존 PASS 결과 183/183 (계획 FAIL 0) → 승인 (재실행 없음)'] 5s␍
|
||||
TOTAL 20 / 20␍
|
||||
@@ -0,0 +1,21 @@
|
||||
PASS confirm needs a name ␍
|
||||
PASS confirm: all required sections confirmed 23 sections␍
|
||||
PASS confirm: sections not required stay unconfirmed ␍
|
||||
PASS pier page shows all confirmed ␍
|
||||
PASS batch run needs a name ␍
|
||||
PASS single run refused while the batch runs ␍
|
||||
PASS wrong input: batch stops at G1 FAIL ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] FAIL checks 170/171 (planned FAIL 0, unplanned ␍
|
||||
PASS wrong input: nothing approved {}␍
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] PASS checks 171/171 (planned FAIL 0, unplanned ␍
|
||||
PASS G1..G5 approved by the given name with the auto note {'G1': {'decision': '승인', 'by': '시험자', 'note': '일괄 실행 자동 승인', 'at': '2026-10-20 13:59:54', 'inputs_sha': 'a07fc78446227a14'}, 'G2': {'decision': '승인', 'by': '시험자', 'note': '일괄 실행 자동 승인', 'at': '2026-1␍
|
||||
PASS batch: one session, gate checks only (mode batch, reload/unchanged skipped) {'G1': 'batch', 'G2': 'batch', 'G3': 'batch', 'G4': 'batch', 'G5': 'batch'}␍
|
||||
PASS batch: only G5 model saved ␍
|
||||
PASS batch: G1 download refused, G5 download served ␍
|
||||
PASS batch: session time 144.8s for G1..G5 (individual runs ~330s)␍
|
||||
PASS batch G5 model == individual-run G5 model (3190 objects, FAST fingerprints) {'count': [3190, 3190], 'objects_with_diffs': 0, 'diff_fields': {}}␍
|
||||
PASS planned FAIL gates still listed ␍
|
||||
PASS nothing left to run ␍
|
||||
PASS gates page renders batch log ␍
|
||||
PASS pier page offers 'G5 일괄 승인' for one unapproved gate ␍
|
||||
PASS existing PASS approved without re-run ['G5 기존 PASS 결과 183/183 (계획 FAIL 0) → 승인 (재실행 없음)'] 5s␍
|
||||
TOTAL 20 / 20␍
|
||||
@@ -0,0 +1,15 @@
|
||||
PASS scope = G1, G5 ['G1', 'G5']
|
||||
PASS required sections exclude params.piles and rebar sections [('params', 'pier_id'), ('params', 'rebar_marks'), ('params', 'display'), ('expected', 'pier_id'), ('expected', 'tol_mm'), ('expected', 'rebar_palette'), ('expected', 'planned_fail'), ('params', 'scop
|
||||
PASS pier page lists out-of-scope gates
|
||||
PASS bulk confirm 20
|
||||
PASS out-of-scope gate cannot run
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G5 (no per-gate save / reload)', '[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative
|
||||
PASS G1 and G5 approved
|
||||
PASS G1 PASS 104/104, G5 PASS 75/75 {'G1': {'total': 104, 'passed': 104, 'failed': 0, 'volumes_m3': {'lean': 5.929, 'footing': 140.625, 'column': 110.937, 'coping': 82.231}}, 'G5': {'total': 75, 'passed': 75, 'failed': 0}}
|
||||
PASS report: 2/2 gates, out-of-scope rows
|
||||
PASS G5 model download
|
||||
PASS page renders /
|
||||
PASS page renders /pier/울산시험
|
||||
PASS page renders /pier/울산시험/gates
|
||||
PASS page renders /pier/울산시험/candidates
|
||||
PASS page renders /pier/울산시험/search?q=EL
|
||||
@@ -0,0 +1,15 @@
|
||||
PASS scope = G1, G5 ['G1', 'G5']␍
|
||||
PASS required sections exclude params.piles and rebar sections [('params', 'pier_id'), ('params', 'rebar_marks'), ('params', 'display'), ('expected', 'pier_id'), ('expected', 'tol_mm'), ('expected', 'rebar_palette'), ('expected', 'planned_fail'), ('params', 'scop␍
|
||||
PASS pier page lists out-of-scope gates ␍
|
||||
PASS bulk confirm 20␍
|
||||
PASS out-of-scope gate cannot run ␍
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G5 (no per-gate save / reload)', '[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative␍
|
||||
PASS G1 and G5 approved ␍
|
||||
PASS G1 PASS 104/104, G5 PASS 75/75 {'G1': {'total': 104, 'passed': 104, 'failed': 0, 'volumes_m3': {'lean': 5.929, 'footing': 140.625, 'column': 110.937, 'coping': 82.231}}, 'G5': {'total': 75, 'passed': 75, 'failed': 0}}␍
|
||||
PASS report: 2/2 gates, out-of-scope rows ␍
|
||||
PASS G5 model download ␍
|
||||
PASS page renders / ␍
|
||||
PASS page renders /pier/울산시험 ␍
|
||||
PASS page renders /pier/울산시험/gates ␍
|
||||
PASS page renders /pier/울산시험/candidates ␍
|
||||
PASS page renders /pier/울산시험/search?q=EL ␍
|
||||
@@ -0,0 +1,15 @@
|
||||
PASS scope = G1, G5 ['G1', 'G5']␍
|
||||
PASS required sections exclude params.piles and rebar sections [('params', 'pier_id'), ('params', 'rebar_marks'), ('params', 'display'), ('expected', 'pier_id'), ('expected', 'tol_mm'), ('expected', 'rebar_palette'), ('expected', 'planned_fail'), ('params', 'scop␍
|
||||
PASS pier page lists out-of-scope gates ␍
|
||||
PASS bulk confirm 20␍
|
||||
PASS out-of-scope gate cannot run ␍
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G5 (no per-gate save / reload)', '[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative␍
|
||||
PASS G1 and G5 approved ␍
|
||||
PASS G1 PASS 104/104, G5 PASS 75/75 {'G1': {'total': 104, 'passed': 104, 'failed': 0, 'volumes_m3': {'lean': 5.929, 'footing': 140.625, 'column': 110.937, 'coping': 82.231}}, 'G5': {'total': 75, 'passed': 75, 'failed': 0}}␍
|
||||
PASS report: 2/2 gates, out-of-scope rows ␍
|
||||
PASS G5 model download ␍
|
||||
PASS page renders / ␍
|
||||
PASS page renders /pier/울산시험 ␍
|
||||
PASS page renders /pier/울산시험/gates ␍
|
||||
PASS page renders /pier/울산시험/candidates ␍
|
||||
PASS page renders /pier/울산시험/search?q=EL ␍
|
||||
@@ -0,0 +1,16 @@
|
||||
PASS scope = G1~G5 ['G1', 'G2', 'G3', 'G4', 'G5']
|
||||
PASS pier page has no out-of-scope note
|
||||
PASS bulk confirm
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)', '[G2] PASS checks 35/35 (planned FAIL 0, unplanned 0) negati
|
||||
PASS G1 approved, PASS 104/104 {'total': 104, 'passed': 104, 'failed': 0, 'volumes_m3': {'lean': 5.929, 'footing': 140.625, 'column': 110.937, 'coping': 82.231}}
|
||||
PASS G2 approved, PASS 35/35 {'total': 35, 'passed': 35, 'failed': 0, 'min_cover': {'P1': 109.0, 'P2': 93.0, 'P3': 117.8, 'P4': 93.0, 'P5': 93.0}}
|
||||
PASS G3 approved, PASS 63/63 {'total': 63, 'passed': 63, 'failed': 0, 'cover': {'B1': 69.5, 'B2': 89.0, 'B3': 89.0, 'B4': 92.0, 'B5': 66.5, 'B6': 89.0, 'B7': 109.5, 'B8': 69.5, 'B9': 92.0, 'B10': 92.0}}
|
||||
PASS G4 approved, PASS 129/129 {'total': 129, 'passed': 129, 'failed': 0, 'cover': {'C1': 82.5, 'C2': 82.5, 'C3': 82.9, 'C4': 82.9, 'C5': 83.5, 'C6': 83.5, 'C7': 62.5, 'C8': 61.5, 'C9': 62.0, 'C10': 88.5, 'C11': 94.9, 'C12': 88.5, 'C13': 104.2, 'C14': 92.0, 'C15': 87.8, 'S1': 112.6, 'S2': 125.6, 'S3': 90.6, 'S4': 103.6}}
|
||||
PASS G5 approved, PASS 75/75 {'total': 75, 'passed': 75, 'failed': 0}
|
||||
PASS report: 5/5 gates, all PASS
|
||||
PASS G5 model download
|
||||
PASS page renders /
|
||||
PASS page renders /pier/울산전체
|
||||
PASS page renders /pier/울산전체/gates
|
||||
PASS page renders /pier/울산전체/candidates
|
||||
PASS page renders /pier/울산전체/search?q=EL
|
||||
@@ -0,0 +1,16 @@
|
||||
PASS scope = G1~G5 ['G1', 'G2', 'G3', 'G4', 'G5']␍
|
||||
PASS pier page has no out-of-scope note ␍
|
||||
PASS bulk confirm ␍
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)', '[G2] PASS checks 35/35 (planned FAIL 0, unplanned 0) negati␍
|
||||
PASS G1 approved, PASS 104/104 {'total': 104, 'passed': 104, 'failed': 0, 'volumes_m3': {'lean': 5.929, 'footing': 140.625, 'column': 110.937, 'coping': 82.231}}␍
|
||||
PASS G2 approved, PASS 35/35 {'total': 35, 'passed': 35, 'failed': 0, 'min_cover': {'P1': 109.0, 'P2': 93.0, 'P3': 117.8, 'P4': 93.0, 'P5': 93.0}}␍
|
||||
PASS G3 approved, PASS 63/63 {'total': 63, 'passed': 63, 'failed': 0, 'cover': {'B1': 69.5, 'B2': 89.0, 'B3': 89.0, 'B4': 92.0, 'B5': 66.5, 'B6': 89.0, 'B7': 109.5, 'B8': 69.5, 'B9': 92.0, 'B10': 92.0}}␍
|
||||
PASS G4 approved, PASS 129/129 {'total': 129, 'passed': 129, 'failed': 0, 'cover': {'C1': 82.5, 'C2': 82.5, 'C3': 82.9, 'C4': 82.9, 'C5': 83.5, 'C6': 83.5, 'C7': 62.5, 'C8': 61.5, 'C9': 62.0, 'C10': 88.5, 'C11': 94.9, 'C12': 88.5, 'C13': 104.2, 'C14': 92.0, 'C15': 87.8, 'S1': 112.6, 'S2': 125.6, 'S3': 90.6, 'S4': 103.6}}␍
|
||||
PASS G5 approved, PASS 75/75 {'total': 75, 'passed': 75, 'failed': 0}␍
|
||||
PASS report: 5/5 gates, all PASS ␍
|
||||
PASS G5 model download ␍
|
||||
PASS page renders / ␍
|
||||
PASS page renders /pier/울산전체 ␍
|
||||
PASS page renders /pier/울산전체/gates ␍
|
||||
PASS page renders /pier/울산전체/candidates ␍
|
||||
PASS page renders /pier/울산전체/search?q=EL ␍
|
||||
@@ -0,0 +1,16 @@
|
||||
PASS scope = G1~G5 ['G1', 'G2', 'G3', 'G4', 'G5']␍
|
||||
PASS pier page has no out-of-scope note ␍
|
||||
PASS bulk confirm ␍
|
||||
PASS batch completes ['G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)', '[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)', '[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)', '[G2] PASS checks 35/35 (planned FAIL 0, unplanned 0) negati␍
|
||||
PASS G1 approved, PASS 104/104 {'total': 104, 'passed': 104, 'failed': 0, 'volumes_m3': {'lean': 5.929, 'footing': 140.625, 'column': 110.937, 'coping': 82.231}}␍
|
||||
PASS G2 approved, PASS 35/35 {'total': 35, 'passed': 35, 'failed': 0, 'min_cover': {'P1': 109.0, 'P2': 93.0, 'P3': 117.8, 'P4': 93.0, 'P5': 93.0}}␍
|
||||
PASS G3 approved, PASS 63/63 {'total': 63, 'passed': 63, 'failed': 0, 'cover': {'B1': 69.5, 'B2': 89.0, 'B3': 89.0, 'B4': 92.0, 'B5': 66.5, 'B6': 89.0, 'B7': 109.5, 'B8': 69.5, 'B9': 92.0, 'B10': 92.0}}␍
|
||||
PASS G4 approved, PASS 129/129 {'total': 129, 'passed': 129, 'failed': 0, 'cover': {'C1': 82.5, 'C2': 82.5, 'C3': 82.9, 'C4': 82.9, 'C5': 83.5, 'C6': 83.5, 'C7': 62.5, 'C8': 61.5, 'C9': 62.0, 'C10': 88.5, 'C11': 94.9, 'C12': 88.5, 'C13': 104.2, 'C14': 92.0, 'C15': 87.8, 'S1': 112.6, 'S2': 125.6, 'S3': 90.6, 'S4': 103.6}}␍
|
||||
PASS G5 approved, PASS 75/75 {'total': 75, 'passed': 75, 'failed': 0}␍
|
||||
PASS report: 5/5 gates, all PASS ␍
|
||||
PASS G5 model download ␍
|
||||
PASS page renders / ␍
|
||||
PASS page renders /pier/울산전체 ␍
|
||||
PASS page renders /pier/울산전체/gates ␍
|
||||
PASS page renders /pier/울산전체/candidates ␍
|
||||
PASS page renders /pier/울산전체/search?q=EL ␍
|
||||
@@ -0,0 +1 @@
|
||||
[["2026-10-15T04:46:46", "<ide_selection>The user selected the lines 52 to 52 from c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\111:\ncontext-migration 에 저장해줘\n\nThis may or may not be related to the current task.</ide_selection>\n이어서 작업 진행"], ["2026-10-15T04:57:01", "<ide_opened_file>The user opened the file c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\111 in the IDE. This may or may not be related to the current task.</ide_opened_file>\n새재1교에는 기초 회전이 없습니다. 잘못된 정보 입니다."], ["2026-10-15T04:57:48", "검사기 통합을 진행해줘"], ["2026-10-15T07:03:57", "<ide_selection>The user selected the lines 52 to 52 from c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\111:\ncontext-migration 에 저장해줘\n\nThis may or may not be related to the current task.</ide_selection>\ncontext-migration 에 저장해줘"], ["2026-10-15T07:09:00", "<ide_opened_file>The user opened the file c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\DOC\\01_기획\\웹앱디자인시안\\시안\\index.html in the IDE. This may or may not be related to the current task.</ide_opened_file>\n\"G4 통합 보류와 S02 추천 구현\" 에 대해 설명해줘"], ["2026-10-15T07:15:40", "G4 통합은 그대로 두고, S02 추천은 구현해줘"], ["2026-10-15T07:37:04", "<ide_opened_file>The user opened the file c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\111 in the IDE. This may or may not be related to the current task.</ide_opened_file>\n진행해줘"], ["2026-10-15T07:38:10", "진행해줘"], ["2026-10-15T07:39:45", "S02 화면 만들어줘"], ["2026-10-15T07:55:17", "교각배근도(울산P2).dwq 를 모델링 해줘"], ["2026-10-15T08:15:48", "<ide_selection>The user selected the lines 91 to 94 from c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\111:\nTask: 확인\r\n- 기초 회전방향은 추론 적용(반시계방향)\r\n- 말뚝, 솔플레이트, 대좌fck 는 추론 적용\r\n- G2~G4 진행해줘\n\nThis may or may not be related to the current task.</ide_selection>\n\n\n<pasted_content id=\"fab2\">\nTask: 확인\n- 기초 회전방향은 추론 적용(반시계방향)\n- 말뚝, 솔플레이트, 대좌fck 는 추론 적용\n- G2~G4 진행해줘\n</pasted_content id=\"fab2\">"], ["2026-10-15T09:06:10", "남은 작업이 뭔지 말해줘"], ["2026-10-16T00:58:34", "<ide_selection>The user selected the lines 96 to 99 from c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\111:\ntask: 질문에 대답만 해줘\r\n- \"3. 웹 전체 시험 재실행\" 은 아티팩트로 만들어 주는거야? \r\n-1번과 2번은 승인할게\r\n-3번과 4번은 어떻게 할지 설명해줘\n\nThis may or may not be related to the current task.</ide_selection>\n\n\n<pasted_content id=\"fab2\">\ntask: 질문에 대답만 해줘\n- \"3. 웹 전체 시험 재실행\" 은 아티팩트로 만들어 주는거야? \n-1번과 2번은 승인할게\n-3번과 4번은 어떻게 할지 설명해줘\n</pasted_content id=\"fab2\">"], ["2026-10-16T01:02:56", "3번을 진행해줘"], ["2026-10-16T04:15:17", "<ide_selection>The user selected the lines 92 to 92 from c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\111:\ncontext-migration 에 저장해줘\n\nThis may or may not be related to the current task.</ide_selection>\ncontext-migration 에 저장해줘"], ["2026-10-16T05:37:59", "context-migration 에 저장해줘"], ["2026-10-16T06:29:47", "계속 진행해죠"], ["2026-10-16T07:27:20", "현재 진행상황은?"], ["2026-10-16T07:47:51", "새 교각들(울산P2, 새재1교, 옥성교, Ramp-A교)의 앱 확정·승인 완료. 다음 \"입력 묶음 확인·확정 개편 구현(OPEN #26)\" 작업을 진행해줘"], ["2026-10-16T08:23:18", "<ide_opened_file>The user opened the file c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\RAG\\design-model-box-sample_2\\README.md in the IDE. This may or may not be related to the current task.</ide_opened_file>\nhtml 위치 알려줘"], ["2026-10-16T08:26:16", "<ide_selection>The user selected the lines 137 to 138 from c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\RAG\\design-model-box-sample_2\\README.md:\ntask : B단계 작업 착수해줘\n-Prism 시각 디자인 적용 시점: B단계에서 새로 만드는 화면(요약 띠, 근거표)부터 Prism으로 만들고 기존 화면 교체는 D단계에서 하는 것으로 해줘\n\nThis may or may not be related to the current task.</ide_selection>\ntask : B단계 작업 착수해줘\n-Prism 시각 디자인 적용 시점: B단계에서 새로 만드는 화면(요약 띠, 근거표)부터 Prism으로 만들고 기존 화면 교체는 D단계에서 하는 것으로 해줘"], ["2026-10-19T00:43:31", "<ide_opened_file>The user opened the file c:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\111 in the IDE. This may or may not be related to the current task.</ide_opened_file>\n이전방식 일괄 확정의 처리는 지금 제거하고, C단계 착수해줘"], ["2026-1Line truncated
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"source": "C0050205-028-운곡교 교각도(1)(완도방향 P2).dwg",
|
||||
"source_sha256": "0efe55ad5b922918acad2c8c4aa7af8aa8a01899f31a81fb56640a45f12148ba",
|
||||
"dxf": "C0050205-028-운곡교 교각도(1)(완도방향 P2).dxf",
|
||||
"dxf_sha256": "a7531ed28faa4caf0e67a6fd8a1e688a56198628bf9fb18bbd16baa18e16cdd9",
|
||||
"engine": "ODA File Converter 27.1.0",
|
||||
"label": "D1"
|
||||
},
|
||||
{
|
||||
"source": "C0050205-029-운곡교 교각도(2)(완도방향 P2).dwg",
|
||||
"source_sha256": "7ad905aa4b32aa1dff595c6317acca8ee42759b716b9d915c64ada23e670177b",
|
||||
"dxf": "C0050205-029-운곡교 교각도(2)(완도방향 P2).dxf",
|
||||
"dxf_sha256": "ea7a7606042cde69478522062aaf8ba22dbeab0071217110668409b3a6c9b923",
|
||||
"engine": "ODA File Converter 27.1.0",
|
||||
"label": "D2"
|
||||
},
|
||||
{
|
||||
"source": "C0050205-030-운곡교 교각도(3)(완도방향 P2).dwg",
|
||||
"source_sha256": "edce7e03d79f3378c833badd711fe7128ba1661523c426d14978e8b02c3a94b2",
|
||||
"dxf": "C0050205-030-운곡교 교각도(3)(완도방향 P2).dxf",
|
||||
"dxf_sha256": "50039c4cea13cbae27cdcffb0466c8e2f8a9688d718cabbdde30b307c5de9e52",
|
||||
"engine": "ODA File Converter 27.1.0",
|
||||
"label": "D3"
|
||||
}
|
||||
]
|
||||
+323454
File diff suppressed because it is too large.
Load diff
+237878
File diff suppressed because it is too large.
Load diff
+246204
File diff suppressed because it is too large.
Load diff
Loaded 100 of 3978 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user