auto: 2026-08-13 18:56 (EOMSANGDON-HOME)

This commit is contained in:
2026-08-13 18:56:40 +09:00
parent 226d452b48
commit 870c3f4477
@@ -0,0 +1,134 @@
# `2026-07-main.estx` 정밀 분석 계획서
## 1. 목적
`2026-07-main.estx`를 원본 증거로 삼아 파일 형식, 내부 데이터 구조, 개별 필드와 값의 의미, 데이터 관계 및 사용 맥락을 재현 가능한 방식으로 문서화한다.
분석 결과는 다산소프트 EST Plus 2의 동작을 추측하여 설명하는 자료가 아니라, **해당 파일에서 객관적으로 입증할 수 있는 사실과 그 한계**를 기록하는 원본 분석 자료로 작성한다.
## 2. 최우선 원칙: 할루시네이션 금지
1. 파일 내부 또는 프로젝트가 지정한 원본 근거에서 확인되지 않은 의미를 사실처럼 쓰지 않는다.
2. 필드명이나 파일명만 보고 용도·단위·계산식을 단정하지 않는다.
3. 모든 주요 서술에는 근거 위치를 붙인다. 가능한 근거 단위는 내부 파일명, 테이블명, 필드명, 레코드 식별값, 바이트 오프셋, 원시값 또는 교차검증 문서이다.
4. 각 결론은 다음 중 하나로 표시한다.
- **확인 사실**: 원본 바이트, 메타데이터, 반복 레코드 또는 지정된 공식 자료로 직접 입증됨.
- **검증된 해석**: 복수의 독립 근거가 일치하고 반례 검사를 통과했으나 명시적 공식 설명은 없음.
- **가설**: 패턴상 가능성이 있지만 확정 근거가 부족함. 본문 결론이나 값 사전의 확정 의미로 사용하지 않음.
- **확인 불가**: 현재 자료만으로 판단할 수 없음.
5. 가설은 가설 전용 구역에 격리하고, 확정 정보와 같은 표에 섞지 않는다.
6. 해석이 충돌하면 하나를 임의 선택하지 않고 양쪽 근거와 충돌 사실을 기록한다.
7. 외부 웹 정보는 기본 근거로 사용하지 않는다. 필요한 경우에도 사용자 승인과 별도 출처 검증 없이는 반영하지 않는다.
## 3. 원본 보존 규칙
- 분석 대상: `resources/knowledge/original/다산소프트/2026-07-main.estx`
- 원본은 읽기 전용으로 취급하며 수정·재저장·재패키징하지 않는다.
- 분석 시작과 종료 시 SHA-256을 각각 계산하여 동일성을 확인한다.
- 압축 해제나 변환이 필요하면 임시 작업공간만 사용하고 원본 폴더에는 중간 바이너리를 남기지 않는다.
- 텍스트 및 Markdown은 UTF-8로 읽고 쓴다.
## 4. 분석 범위
### 4.1 파일 및 컨테이너
- 파일 크기, 시각 정보, SHA-256, 매직 바이트
- ZIP 중앙 디렉터리, 항목명, 압축·비압축 크기, CRC, 시각
- 모든 내부 항목의 스트림 무결성
- `.dat`, `.idx`, `.blb`, `.opt`, `.ini`의 대응 관계
### 4.2 바이너리 테이블 구조
- 테이블 헤더와 필드 정의
- 필드 자료형, 길이, 위치, null/빈값 표현
- 인덱스 정의와 키 구성
- 레코드 수, 활성·삭제·예약 레코드 구분 가능성
- BLOB의 레코드 연결 방식과 내용 유형
- 문자열 인코딩 및 Delphi 계열 직렬화 흔적
### 4.3 값 사전
각 필드에 대해 가능한 범위에서 다음을 기록한다.
| 항목 | 기록 내용 |
|---|---|
| 원시 필드 | 원래 필드명과 소속 테이블 |
| 자료형 | 정수, 실수, 문자열, 날짜, 불리언, BLOB 등 |
| 원시값 | 변환 전 값과 대표 사례 |
| 표시값 | 프로그램 표시값을 파일에서 검증할 수 있을 때만 기록 |
| 단위 | 원, 원/단위, 수량 단위, 비율 등 확인된 경우에만 기록 |
| 정밀도 | 소수 자릿수, 저장 배율, 반올림·절사 방식 |
| 특수값 | `0`, 음수, 빈 문자열, null, 최대값 등의 의미 |
| 코드값 | 각 코드·플래그의 고유값과 확인된 의미 |
| 분포 | 고유값 수, 빈도, 최솟값, 최댓값, 이상값 |
| 관계 | 참조 테이블·키 및 연결 성공률 |
| 근거 등급 | 확인 사실, 검증된 해석, 가설, 확인 불가 |
| 근거 위치 | 파일·테이블·필드·레코드 또는 오프셋 |
### 4.4 계산과 데이터 관계
- 수량 × 단가, 재료비·노무비·경비, 합계 및 비율 관계
- 낙찰률, 할증, 원가계산, 절사·반올림 규칙 후보의 재계산 검증
- 제목/상세, 상위/하위 품목, 코드/인덱스 연결
- 내역·일위대가·자재·노무·기계·실적공사비·원가 간 참조
- 물량과 CAD/도면 자료의 연결
- 연결이 성립하지 않는 고아키·중복키·순환참조
### 4.5 객관적 사용 맥락
- 파일 내부의 제품명, 프로젝트명, 경로, 버전, 날짜, 옵션 문자열
- 각 데이터군이 파일 내 어느 데이터군에서 참조되는지
- 출력·견적·물량·도면 기능과의 관계가 내부 구조로 입증되는 범위
- 생성 주체, 실제 사용자, 특정 사업에 실제 적용되었는지 등 파일로 증명할 수 없는 사항은 `확인 불가`로 처리
### 4.6 품질과 한계
- 손상, CRC 오류, 잘린 레코드, 인덱스 불일치
- 빈 테이블, 중복, 삭제 흔적, 비정상 범위
- 서로 다른 생성·수정 날짜와 오래된 기본자료 혼재
- 암호화·난독화·압축으로 해석하지 못한 영역
- 공식 스키마 부재로 확정할 수 없는 항목
## 5. 분석 및 검증 절차
1. **원본 지문 고정** → 검증: 분석 전 SHA-256과 항목별 CRC 기록.
2. **컨테이너 전수 검사** → 검증: 모든 내부 항목을 끝까지 읽고 CRC 오류 확인.
3. **테이블 스키마 복원** → 검증: 헤더 선언, 실제 레코드 길이, 파일 크기의 상호 일치 확인.
4. **값 전수 프로파일링** → 검증: 필드별 고유값·빈도·범위·특수값과 대표 원시 레코드 기록.
5. **관계키 검증** → 검증: 조인 성공률, 중복률, 고아키 수치화.
6. **계산식 후보 검증** → 검증: 여러 레코드에서 재계산 오차를 측정하고 반례가 있으면 확정하지 않음.
7. **업무 의미 교차검증** → 검증: 최소 두 종류의 독립 근거가 없는 의미는 확정 등급을 부여하지 않음.
8. **문서 역추적 검사** → 검증: 모든 핵심 결론에서 원본 근거까지 역추적 가능 여부 점검.
9. **원본 무변경 확인** → 검증: 분석 후 SHA-256이 시작 시점과 동일함을 확인.
## 6. 예상 산출물
- `2026-07-main_ESTX_분석.md`: 전체 개요, 객관적 의미, 확인된 사용 맥락, 핵심 결론과 한계
- `2026-07-main_ESTX_파일구조.md`: 컨테이너, 바이너리 구조, 인코딩, 무결성
- `2026-07-main_ESTX_테이블사전.md`: 테이블별 구조와 역할, 레코드·인덱스·BLOB 정보
- `2026-07-main_ESTX_값사전.md`: 필드별 값의 의미와 근거 등급
- `2026-07-main_ESTX_데이터관계.md`: 조인키, 계층, 계산 관계, 데이터 흐름
- `2026-07-main_ESTX_검증근거.md`: 해시, CRC, 통계, 재계산, 미확정·반례 목록
값 사전이 지나치게 커지면 다음처럼 영역별 문서로 분할할 수 있다.
- `2026-07-main_ESTX_값사전_견적내역.md`
- `2026-07-main_ESTX_값사전_자재노무기계.md`
- `2026-07-main_ESTX_값사전_물량도면.md`
- `2026-07-main_ESTX_값사전_옵션메타데이터.md`
## 7. 완료 조건
- 분석 전후 원본 SHA-256이 일치한다.
- ZIP 내부 전 항목의 무결성 검사 결과가 기록된다.
- 주요 테이블의 필드, 자료형, 레코드 및 참조 관계가 근거와 함께 정리된다.
- 각 값의 의미가 근거 등급 및 근거 위치와 함께 기록된다.
- 계산 관계는 재계산 결과와 오차 또는 반례를 포함한다.
- 모르는 값은 임의로 채우지 않고 `확인 불가` 또는 가설로 남긴다.
- 모든 핵심 결론을 제3자가 원본 파일의 구체적 위치까지 역추적할 수 있다.
- 최종 Markdown 문서는 UTF-8이며 같은 폴더에 보관된다.
## 8. 승인 상태
- 상태: 사용자 검토 및 분석 착수 승인 대기
- 이 계획의 승인 전에는 원본 ESTX 정밀 분석과 최종 분석 문서 작성을 시작하지 않는다.