auto: 2026-08-13 18:56 (EOMSANGDON-HOME)
This commit is contained in:
@@ -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 정밀 분석과 최종 분석 문서 작성을 시작하지 않는다.
|
||||
Reference in New Issue
Block a user