0000000000000000000000000000000000000000 ec5f2a0245011465373bff1ed28c7d29a876e06f unknown 1786402047 +0700 clone: from github.com:mirsixabcf2-commits/DSCons.git ec5f2a0245011465373bff1ed28c7d29a876e06f d51c20582db5ed8a447f7be01b6146bbf7610ed5 Pain 1787296231 +0700 commit: feat(erp): enterprise redesign, AEC law 2026 knowledge base, Google auth & landing page d51c20582db5ed8a447f7be01b6146bbf7610ed5 99e2a16a1651ccb745046acfef243e5fae674bb1 Pain 1787296773 +0700 commit: feat(ui): synchronize full 10-module enterprise menu and topbar from Google Stitch 99e2a16a1651ccb745046acfef243e5fae674bb1 ad778141fbb6d643111f78a9739d58c156ac2eec Pain 1787362996 +0700 commit: feat(invoices): hoan thien phan he hoa don dien tu, bieu mau chi tiet, MTT va quy chuan ND123 ad778141fbb6d643111f78a9739d58c156ac2eec fc0321b1145eb26642644241e4cae9f971c933fc Pain 1787450807 +0700 commit: feat(navigation): integrate customers, partners, vendors menus across all 11 dashboards, sidebar and mobile dock fc0321b1145eb26642644241e4cae9f971c933fc c8dca2ec109b522c350d26b9b53bd9ca8948dfdb Pain 1787452410 +0700 commit: feat(wbs): implement interactive gantt chart and cpm critical path visualizer on project dashboard c8dca2ec109b522c350d26b9b53bd9ca8948dfdb ddd37390a6b62ba567eade0119bc5d10161a7361 Pain 1787457293 +0700 commit: feat(ui): integrate fuel efficiency analytics, project ipc payments tracker, and dossier review gaps ddd37390a6b62ba567eade0119bc5d10161a7361 d69fea5e9d321fec1af366cb41c45a5654669c00 Pain 1787675815 +0700 commit: feat: comprehensive update of drawing takeoff hub, hsmt dual pairing, excel 03a export, ai quynh sse streaming, learned rules memory, and enterprise erp features d69fea5e9d321fec1af366cb41c45a5654669c00 dc04c7731d6911cedbb5e58352538ce65428ee42 Pain 1787676554 +0700 commit: refactor(core): modularize takeoff & invoice packages, extract common financial/sse/excel utils, modularize postgres repositories, and align system documentation dc04c7731d6911cedbb5e58352538ce65428ee42 283c7809b41ef376a2ca2e24a695281394d5f80c Pain 1787678370 +0700 commit: fix(test): isolate takeoff test cases and prevent automatic wiping of user database records 283c7809b41ef376a2ca2e24a695281394d5f80c d8c8d0150b3d03aa3ae92f00160bf9850fe7829f Pain 1787862535 +0700 commit: feat(boq): upgrade takeoff engine to V2, statutory cost summary decree 206, and multi-sheet excel dynamic export d8c8d0150b3d03aa3ae92f00160bf9850fe7829f 952df32e5e1999c60a3bbcf7514707bb53212a72 Pain 1787864411 +0700 commit: fix(cad): optimize DWG/DXF extraction pipeline, fix import bug, and add fast DXF query filtering 952df32e5e1999c60a3bbcf7514707bb53212a72 46b7e1bdbe000cc3f66b980381b563c620ffff27 Pain 1787977763 +0700 commit: chore: cleanup system garbage and refactor code 46b7e1bdbe000cc3f66b980381b563c620ffff27 46b7e1bdbe000cc3f66b980381b563c620ffff27 Pain 1787986556 +0700 reset: moving to HEAD 46b7e1bdbe000cc3f66b980381b563c620ffff27 46b7e1bdbe000cc3f66b980381b563c620ffff27 Pain 1787987191 +0700 reset: moving to HEAD 46b7e1bdbe000cc3f66b980381b563c620ffff27 8f674cb0f629e5b1a7e366c0cdcba7e438a97f59 Pain 1787987989 +0700 commit: fix: resolve import errors and mock issues causing tests to fail 8f674cb0f629e5b1a7e366c0cdcba7e438a97f59 7672e7043ab2f26fde253a120d272adced85a180 Pain 1787989134 +0700 commit: feat: mega-module architecture registry and test teardown cleanup 7672e7043ab2f26fde253a120d272adced85a180 78927c2b0a1223342d388c9909a13e79d084e10a Pain 1787989743 +0700 commit: feat: migrate takeoff module to plug-and-play structure 78927c2b0a1223342d388c9909a13e79d084e10a 24b9b9462bcf870d973ae4ce8ddd859df5ab00db Pain 1787990005 +0700 commit (amend): feat: migrate takeoff module to plug-and-play structure 24b9b9462bcf870d973ae4ce8ddd859df5ab00db 24b9b9462bcf870d973ae4ce8ddd859df5ab00db Pain 1787994087 +0700 reset: moving to HEAD 24b9b9462bcf870d973ae4ce8ddd859df5ab00db 7abfde18c7ea722a6b32854d222f2fae010d24ae Pain 1787994965 +0700 commit: chore(architecture): complete 100% modular plug-and-play migration for all domains 7abfde18c7ea722a6b32854d222f2fae010d24ae adec54b905fceb3a612695ce265a2d4ad0b3397c Pain 1788166300 +0700 commit: chore: backup before CQRS refactoring adec54b905fceb3a612695ce265a2d4ad0b3397c adec54b905fceb3a612695ce265a2d4ad0b3397c Pain 1788166300 +0700 checkout: moving from main to refactor/modular-monolith-projects adec54b905fceb3a612695ce265a2d4ad0b3397c 82a1c37ecd137698b829aa01921bc76113701b2b Pain 1788231939 +0700 commit: feat(erp): mass refactoring to modular monolith architecture with CQRS and Event Bus (Deep 6 Completed) 82a1c37ecd137698b829aa01921bc76113701b2b bbaf371f9f50d3e6e2132c8e26cec0ed06cbb674 Pain 1789318856 +0700 commit: feat(ops): add production dockerization and GCE deployment scripts bbaf371f9f50d3e6e2132c8e26cec0ed06cbb674 03d870f875a1555b63f24c061ef6df125db971d5 Pain 1789318912 +0700 commit: fix(ops): add smart fallback for private repository authentication in deploy_gce.sh 03d870f875a1555b63f24c061ef6df125db971d5 a72faace7aa1f489d7fac0e097738265233e493f Pain 1790333089 +0800 refactor(arch): Phase 1+2 — Fix test, clean root, deduplicate routes a72faace7aa1f489d7fac0e097738265233e493f 3aff09ef25d3e81f77cf3f562c906080552d4d76 Pain 1790333705 +0800 refactor(arch): Phase 3 — Domain Ports & Dependency Inversion for projects + financial 3aff09ef25d3e81f77cf3f562c906080552d4d76 a865565ff1c2c95dd8598319f84a50e84f9fd1a1 Pain 1790336740 +0800 refactor(arch): Phase 4 — Eliminate 100% Raw SQL from Presentation Layer (Rule 6) a865565ff1c2c95dd8598319f84a50e84f9fd1a1 1605d3526ef9e67b811c3ce6043160ff65777a2a Pain 1790336934 +0800 refactor(ui): Phase 5 — Core Frontend Shared Libraries & Cache Buster Bump to v=4.1.0 1605d3526ef9e67b811c3ce6043160ff65777a2a 70b239bd23097f4ea5425173bfa285fe17022c3e Pain 1790361903 +0800 refactor(arch): Phase 6 — GDT Network Isolation & Hexagonal Adapter Refactoring (Rule 6) 70b239bd23097f4ea5425173bfa285fe17022c3e 801e7e6d72ecaaa842622b3d89ef38fe23558123 Pain 1790362373 +0800 refactor(ui): Phase 5 — Monolithic HTML Script Extraction (10,262 lines decoupled) 801e7e6d72ecaaa842622b3d89ef38fe23558123 aea2ac8d7a3eb13fbbddd1a6b10fa4defe74bce2 Pain 1790363612 +0700 commit: refactor(frontend): decompose monolithic files into modular components <= 800 lines aea2ac8d7a3eb13fbbddd1a6b10fa4defe74bce2 dff4e1e3a5c3f6b67e5b4594e3663e3edbbdce17 Pain 1790832172 +0700 commit: feat(ai): switch primary model from gemini-3.8-flash to gpt-oss-120b (Antigravity SDK) dff4e1e3a5c3f6b67e5b4594e3663e3edbbdce17 98106aad4416b14664050d5ae140fbb8d1361054 Pain 1790900463 +0700 commit: feat(ai): switch primary captcha solver to openrouter/gemini-2.5-flash 98106aad4416b14664050d5ae140fbb8d1361054 8b95304af949532dffa49c05a58c292f85cf4557 Pain 1791010095 +0700 commit: fix(invoices): multi-model captcha consensus + Vietnam time in sync alerts 8b95304af949532dffa49c05a58c292f85cf4557 2fc098c6aa562f27707417dfeff1295446d85294 Pain 1791102083 +0700 commit: fix(invoices/gdt): captcha refresh hit modal-close button; denoise SVG + length-constrained consensus; ai_error no longer trips circuit breaker 2fc098c6aa562f27707417dfeff1295446d85294 fa9a40baee17042c9aadd323f6598e121caa2fb9 Pain 1791173687 +0700 commit: fix(logging): configure app logging so INFO logs reach docker logs (VN time), scheduler log lines in GMT+7 fa9a40baee17042c9aadd323f6598e121caa2fb9 9c87ff70e8ec6a642000f656db8e83b41511e354 Pain 1791180233 +0700 commit: feat(ong-den): rebuild estimate from appraised TD workbook + BIM source-grounding tests