๐ฆ ์ธ์์ธ๊ณ์ โ ํ์ ๊ฒฌ์ ์(์์ฐ๋น ๊ฑฐ๋๋ช ์ธ์) ๊ฐ๋ฐ
[ํํ] ์ง์ 26.9.23 ใํ์ ๊ฒฌ์ ์ ๊ฐ๋ฐ ๊ด๋ จํด์ devplan ์ ์ ๋ฆฌํด๋ฌ๋ผ. ๋ณ๋ ํ๋ก์ ํธ๋ก ๋๊ณ ์ฅ๊ธฐ ๊ด๋ฆฌ ํด์ผ๊ฒ ๋คใ. pfs ํ๋ก์ ํธ์์ ๊ฐ๋ผ ๋์จ ์ ์ฉ ํ๋ก์ ํธ. ์์ ํด๋ถยทํ์ฑ ๊ท์ฝ =
design.mdยท ํ๋ฆฝ ๊ท์น =rules.mdยท devplanhansem-estimate.html.
๐ฏ ์ด ํ๋ก์ ํธ๊ฐ ํ๋ ์ผ
ํ์(๋ฅ์์ค) ์๋ง๊ฐ ๋ ํ์ฅ๋ณ ใ์์ฐ๋น ๊ฑฐ๋๋ช
์ธ์ใ ์์
์ PFS ๋ฐ์ดํฐ๋ก ์๋ ์์ฑํ๋ค.
์
๋ ฅ = PFS ์๋ง๊ฐ(monthly_close) ์ ๋ด๊ธด ํ์ฅ + ๊ทธ ํ์ฅ์ ๊ฒฌ์ (estimateยทestimate_detail) + ๋ฐฐ์ฐจ(dispatch).
์ถ๋ ฅ = NAS //192.168.0.101/๊ณต์ ํด๋/2026ํ์ฅ/๊ฒฌ์ /<์>/ํ์/<ํ์ฅ>/ ์ ํ์ฅ๋ณ xlsx.
๐ ์ ๋ณธ ์์ (26.9.23 ํํ ์ง์๋ก ๊ต์ฒด)
- ์ ๋ณธ = NAS
//192.168.0.101/๊ณต์ ํด๋/2026ํ์ฅ/๊ฒฌ์ /๋ฅ์์ค/ํ์ ๊ฒฌ์ ์์(๊ฐ๊ตฌ,์๊ณต)/1.์์ฐ๋น ๊ฑฐ๋๋ช ์ธ์_๋ผ์ธ๊ฑด์ค ์์ฐํ ํฌ๋ ธ๋ฐธ๋ฆฌ_26๋ 06์.xlsx(967,455 bytes ยท 15ํญ) - ์๊ณต๋น ์ง = ๊ฐ์ ํด๋
2.์๊ณต๋น ๊ฑฐ๋๋ช ์ธ์_๋ผ์ธ๊ฑด์ค ์์ฐํ ํฌ๋ ธ๋ฐธ๋ฆฌ_26๋ 07์.xlsx(2,873,126 bytes) - ๋ก์ปฌ ์ฌ๋ณธ =
C:\dev\_work\hansem-0926\form\ - โํ๊ธฐ =
ํ์ GS ์์ฐ ์ฑํฌ MH ๊ฐ๊ตฌ์ ์ ๊ฒฌ์ ์.xlsx(= PFShansem_form3/4 ๊ณ์ด). ๋ฐ์ชฝ ํ์ผ์ด๋ค โ ๊ฐ๊ฒฉ์ ์ฉ๋ถยท์์ฌ๋นยท์ด๋ฐ๋นยท์๋ฉ ๊ฐ์งยท๋ด์ญ์-์ 4ํญยท์ถ๊ฐ๋ถ๊ฒฌ์ 2ํญ์ด ์ ๋ถ ๋น ํญ. 26.9.23 ํํ ํ์ธ์ผ๋ก ๊ต์ฒด. - โ NAS ์ ๋ณธ์ ์์ฃผ ์ด๋ ค ์๋ค(
~$์ ๊ธ) โ ์ฝ์ ๋smbclient.open_file(..., share_access='rwd').
๐ NOW โ 26.10.1(๋ชฉ) [์ฝ๋] โ DSD์ผํธ ์ฒ์ ์ ์ฑ MH ํตํฉ ๊ฒฌ์ ์ ์ฌ์์ฑ(ํ์ ๋ด์ฉ์ ๋ฆฌ์ฉ) โ ํํ = ๊ฐ๊ตฌ๋ง ๋ฐฐ์จ 3ํ(์๊ณต๋น ์๊ธ)
-
๐ํํ ํ(26.10.1 [ํํ] ์ฌ์ง์) โ ๊ฐ๊ตฌ ๊ธ์ก๋ง ร1.05ยทร1.06ยทร1.07, ์๊ณต๋น ์๊ธ(20,000,000 ยท 13,000,000 ยท 10,000,000 ยท 12,000,000, ใ์๊ณต๋น / ๋ฌผ๋ฅ๋น ํฌํจใ ํ ์ ์ง). ๋๋จธ์ง(๋ฐฐ๋ถยท๊ท๊ฒฉยท๋ ์งยท๋์ฅยท๋ ธ๋์นธ ์์) = ํ์ ๋ณธ ๋์ผ. NAS ๊ฐ์ ํด๋
(ํตํฉ)๋ฅ์์ค DSD์ผํธ ์ฒ์ ์ ์ฑ๋ MH ๊ฒฌ์ ์_๊ฐ๊ตฌ+5%_์๊ณต๋น์๊ธ.xlsxยท_๊ฐ๊ตฌ+6%_โฆยท_๊ฐ๊ตฌ+7%_โฆยท ์ด์ก 359,500,000 / 362,400,000 / 365,300,000 ์ ๋จ์ ์ผ์น. ๋น๋ =build.pyVARIANTS(์ ํ ์ฌํ =--old). ์๋ ใ+5%ยท+10% ์๊ณต๋น๋ณ๋ใ 2ํ์ผ = ํ์ํด๋์ด์ ์์ ๋ณธ(26.10.1 ๊ฐ๊ตฌ+์๊ณต 5%,10%)๋ก ์ด๋(์ญ์ ์๋). ๋์ด์ฐ๊ธฐ ์ฌ๋ณธ ใ(ํตํฉ) ๋ฅ์์ค โฆ+5%โฆใ ์ ์ด๋ ์์ ์ ์ด๋ฏธ NAS ์ ์์๋ค(๋๊ตฐ๊ฐ ์ ๋ฆฌ). -
๊ฒฐ์ [ํํ] 26.10.1 โ ํญ = ์ข ํฉ + 1์ฐจยท2์ฐจยท3์ฐจยท4์ฐจ(์๋ณธ ใ๋ณธ๊ฑดใ ํญ ๊ตฌ์กฐ 4๋ฒ: 1์ชฝ ํ์ ๋ชฉ๋ก 72Aยท84B๊ธฐ๋ณธยท84Bยท84Dยท95Aยท์๊ณต๋น + ํ์ ๋ณ 1์ชฝ ร5, 45ํ = 1์ชฝ, N/25). ๊ธ์ก = ๋ง๊ฐ๋ด์ญ(1-4์ฐจ).pdf ์ฐจ์รํ์ ร ๋ฐฐ์จ ร ๋ฅ์์ค 1์ฐจ ํ๋ชฉ ๋น์จ โ 1,000์ ๋ฐ์ฌ๋ฆผยท์์ฐจ = ์ต๋ ํ๋ชฉ. ์๊ณต๋น(+๋ฌผ๋ฅ๋น, ใ=2000ใ = ๋ง์) = ์ฐจ์ ํญ 1ํ๋ง(๋น๊ณ ใ๋ฌผ๋ฅ๋น ํฌํจใ). 84B ์์ค ์๋ถ์ฅ = ํ๋ง, ๋จ๊ฐยท๊ธ์ก ๋น ์ . ํ๋ชฉ๋ช ยท์์ = ๋ฅ์์ค(ํ์ ์ ๋ ์ ๊ฑฐ) ยท ์๊ณ 1๊ฐ ยท ๋น๊ณ ๋น์. ๊ฒฌ์ ์ผ = 1์ฐจ 2026/01/14 ยท 2์ฐจ 01/30 ยท 3์ฐจ 02/13 ยท 4์ฐจ 03/25 ยท ์ข ํฉ 03/25(์๋ณธ ์์
"์ผ์: "yyyy/mm/dd์ ์ง). - ์ฐ์ถ โ ๋ก์ปฌ
C:\dev\_work\dsd-cheonan-1001\out\ยท NAS\\192.168.0.101\๊ณต์ ํด๋\2026ํ์ฅ\๊ฒฌ์ \10์\ํ์\DSD์ผํธ ์ฒ์ ์ ์ฑ ์ฌ์ ๋ฆฌ10.1(๋ง๊ฐ์๋ฃ, ํ์์๋ฃ ๊ตฌ์ฑ์ฉ)\(ํตํฉ)๋ฅ์์ค DSD์ผํธ ์ฒ์ ์ ์ฑ๋ MH ๊ฒฌ์ ์_+5%_์๊ณต๋น๋ณ๋.xlsx(ํ์ ๋ณธ 241,851 B) ยทโฆ_+10%_์๊ณต๋น๋ณ๋.xlsx(ํ์ ๋ณธ 241,808 B). ๋น๋ =build.py(zip XML ์์ โ ์ข ํฉ ๊ฒฐ์ฌ๋ ๋ํยท๋์ฅ ๋ณด์กด,YELLOW=False) ยท ๊ฒ์ฆ =verify.pyยท NAS ๊ต์ฒด =nas_replace.py(๊ธฐ์กด ํฌ๊ธฐ ํ์ธ โ ์์๋ช โ replace โ ๋ฐ์ดํธ ๋์กฐ). - ๊ฒ์ฆ โ ์ด์ก +5% 362,250,000(180,600,000 ยท 74,865,000 ยท 50,085,000 ยท 56,700,000) ยท +10% 379,500,000 ์ ๋จ์ ์ผ์น(LO ์ฌ๊ณ์ฐ ๊ฐ์ผ๋ก ๋์กฐ) ยท ํ์
์ชฝ ํฉ = ์ฒซ ๋ธ๋ก ยท
_xlcheck๊ฒฐํจ 0 ยท 25์ชฝ ร 2 ยท ๋ ์ง 25/25 ยท ๋์ฅ ํญ๋ง๋ค 6 ยท ์ด๋ฏธ์ง ํด์ ์๋ณธ ๋์ผ. - ๊ท๊ฒฉ(W) = DWG(ODAโDXFโezdxf,
furn.pyยทfurn_match.py) ์ธก์ . ๋ถํ์ค 57์นธ/ํ์ผ(26.10.1 [ํํ] ๊ฐ ๊ทธ๋๋ก ํ์ โ ๋ ธ๋ ๋ฐฐ๊ฒฝ ์ ๊ฑฐ, ์์ ์๋ ์์ xf 162 ยท styles.xml ์๋ณธ ๋์ผ) = ์กฐํฉํ(์ฃผ๋ฐฉ LยทUยทํฌํธ๋ฆฌ์ฅยท84D ๋์ฅ๊ณ ์ฅ+์ฅ์์ฅ)ยท๋์ ๋ถํ์ค(84B ํฌํธ๋ฆฌ๋์ด=์ฐฝ๊ณ ์ฅ, 84D ์ ๋ฐ์ฅB=์ฐฝ๊ณ ์ฅ)ยท๋ณธ๊ฑด๊ณผ ์ฐจ์ด(72A ํฌํธ๋ฆฌ์ฅ 1225โ1245, ์นจ์ค2๋ถ๋ฐ์ด์ฅ 1740โ1760, 95A ์ฅ์์ฅ 1์ฐจ 2195โ2210)ยท2์ฐจ ์ดํ ๋ฐ๋ ์ ๋ฐ์ฅ ๊ธธ์ด. 84B๊ธฐ๋ณธ ์์ค์๋ถ์ฅ 1~3์ฐจ = ๋๋ฉด์ ์์(๋น์นธ). - ๋ง๊ฐ(26.10.1 [ํํ] ์น์ธ) โ ํ์ ๋ณธ์ผ๋ก NAS ๋ ํ์ผ ๊ต์ฒด(๋ฎ์ด์ฐ๊ธฐ ์ ํฌ๊ธฐ = ์ด์ ํ ํ์ธ ยท ์ด ๋ค ๋ฐ์ดํธ ๋์กฐ ์ผ์น) ยท ์
๋ก๋ ์ค์ ํ์ผ ใโฆ๊ตฌ์ฑ์ฉ)$Fใ(241,921 B) ์ญ์ ยท LO ์์ ํ๋กํ
C:\temp\loprofile_dsdยท_dsd2= ruleguard ๊ฐrm -rf๋ฅผ ๋ง์C:\dev_attic\2026-10-01\๋ก ์ํํธ ์ญ์ (FILES.tsv ๊ธฐ๋ก). ์ฌ๊ฒ์ฆ ๊ฒฐํจ 0 ยท ๋ ธ๋ ์ 0 ยท PDF 50์ชฝ ๋ ธ๋ ํฝ์ 0. ์๊ณต๋น ํฌํจ๋ณธ์ ์ ๋ง๋ฆ(๊ฒฐ์ ). - ์ฐธ๊ณ โ ๊ฐ์ NAS ํด๋์ ๋จ์ด ๋ง๋ ์ฌ๋ณธ
(ํตํฉ) ๋ฅ์์ค โฆ_+5%_โฆxlsx(๋์ด์ฐ๊ธฐ ยท ์ด์ ํ 241,921 B)๊ฐ ์์ ๋ก ์ด๋ ค ์๋ค(~$์ ๊ธ) โ ์๋์ง ์์. ๋ ธ๋์นธ ์๋ ์ด์ ํ์ด๋ค.
๐ ์ด๊ด๋ ์ โ 26.9.23 6์ (26.10.1 [์ฝ๋] ์ด๊ด ยท ์๋ฌธ = archive.md ใโ
26.10.1 ยท hansem-estimate-handoff-cap-1001ใ)
- [์ข ๊ฒฐ] ์ด์โ๋ฐฐ์ฐจ ์ง๋ง์ถค Jev ํด๋ฐฑ(์ถ์ฒ๋ง, ํ์ 0๊ฑด) โ archive.md ใโ 26.10.1 ยท hansem-estimate-handoff-cap-1001ใ
- [์งํ์คยท๋ฏธ๊ฒฐ2] ์๋ํ ํ์ดํ๋ผ์ธ 1๋จ๊ณ
pipeline.py <๋ง๊ฐ๋ฒํธ>โ PFS ์๋ง๊ฐํ ๋ฒํผ ์ฐ๊ฒฐ ยท ๊ธ๊ฐ ์๊ณต์ผ [ํํ] ๋ต โ ๊ฐ์ ์ - [์ข ๊ฒฐยท๋ฏธ๊ฒฐ1] 9์ ๋ง๊ฐ ์ต์ข ๋ณธ 9๊ฐ NAS ํ์ ์ ์ฅ โ ์์ ์ค์ด๊ธฐ ์ก์ [ํํ] โ ๊ฐ์ ์
- [๋ฏธ๊ฒฐ2] ์ผ๋ ๋ธ 3ํญ๋ชฉยท์๊ณต๋น ๊ฑฐ๋๋ช ์ธ์ยท๋กฏ๋ฐ ์ถ๊ฐ โ ์์ฐ๋น 4๊ฐ ๋์ฅ ์ ๊ฑฐํ ๋ฎ์ด์ธ์ง ยท ์๊ณต๋น ์ต์ข ๋ณธ ์น๊ฒฉ [ํํ] โ ๊ฐ์ ์
- [์ข ๊ฒฐ] ์ ํ์ฅ ์ฐ์ถ(5ํ์ฅ ๋ง๊ฐํ ์ฐจ 0, ๊ธ๊ฐ โ200,000 ๋ณธ์ค๋ ํก์) โ ๊ฐ์ ์
- [๋ฏธ๊ฒฐ3] ๊ธ๊ฐ ๋ถ์ฐ์์ฝ ์ํ ์์ โ Q10 ๊ฐ์ง ํฉ๊ณ ๊ธฐ์ค ยท Q11 ๊ฑฐ๋์ฒ ์ด๋๋ถ ํ๊ธฐ ยท Q12 ์ฐจ์ด ๊ธฐ๋ก ์์น โ ๊ฐ์ ์
๐ ์์ ํด๋
C:\dev\_work\hansem-0926\ โ ๐build.py(ํ์ฅ ์ค์ ๊ธฐ๋ฐ ๋น๋) ยท evalwb.py(๊ฐ์ง ์ฌ๊ณ์ฐยท๋๊ธด ์ฐธ์กฐ ๊ฒ์ฌ, ์์ฒด๊ฒ์ฌ ํฌํจ) ยท upload.py(NAS, force_ntlm ํ์) ยท q_sites.py(5ํ์ฅ ์์๋ฃ โ out\sites_raw.json) ยท build_geumgang_v1.py(๊ฒฐํจ ์๋ ์ ํ, ๋์กฐ์ฉ) ยท q.pyยทq2.pyยทq3.py(์ด์ DB ์ฝ๊ธฐ์ ์ฉ ์กฐํ) ยท probe_form.py(ํญยท์ฐธ์กฐ ํด๋ถ) ยท dump_tabs.py(์์/๊ฐ ๋ณ๊ธฐ ๋คํ) ยท rel_check.py(๊ฐ๊ฒฉ์ ์ฉ๋ถโ์ถ๊ฐ๋ถ๊ฒฌ์ ๋์กฐ) ยท form\(์ ๋ณธ ์์ 2๋ฒ)
๐ ๊ด๋ จ
- pfs ๋ณธ์ฒด =
C:\dev\seedchain\projects\pfs\{handoff,rules,playbook}.md - ํ์ ์์
์์ง(PFS ๋ด์ฅ) =
C:\dev\pfs\api\pfs\hansem\{hansem_excel.py,hansem_calc.py}ยท ์์ blob =hansem_formํ ์ด๋ธ - ์ ํ ์์
์ด๋ ฅ = devplan
pfs-hansem-add1-hwaseong.html(26.9.22 ์์ง ๊ฒฐํจ 3๊ฑด) ยทpfs-monthly-close-pick.html