Releases: airmang/python-hwpx-automation
Release list
v7.0.3
[7.0.3] - 2026-08-22
core python-hwpx 6.3.0(왕복 충실도 트레인)을 따르는 패치 릴리스입니다.
계약 해시는 34a91560759dc47a → 8c278ebd5becba08로 바뀌지만 델타는
floor-only입니다(도구 136 불변 — minPythonHwpx 6.0.2 → 6.3.0).
고쳐짐
- 각주/미주 copy 시 실한컴 정본
instid(소문자) 재발급 누락 (#101).
_identity_attribute_names의 footNote/endNote 분기가 과거 코어 산출물의
카멜케이스instId만 봐서, 실한컴이 저장한 문서의 각주를 copy 하면
인스턴스 ID가 재발급되지 않고 그대로 복제됐습니다.("instid", "instId", "id")로 확장하고, 한 요소에 정본과 과거 별칭이 공존하면 하나의 새 값을
페어로 재발급합니다. 각주 record identity가 코어의inst_id리더(6.3.0
수리)에 의존하므로 core 의존 창을>=6.3.0,<7로 올렸습니다
(_project_note—office/agent/document.py).
추가됨
- 왕복 산출물 실한컴(Mac) 재개봉 판정 배치 (
scripts/roundtrip_reopen_mac.py,
dev 도구). core 왕복 충실도 하니스의 나머지 절반 — 음성 대조 없이는 실행을
거부하는 fail-closed 판정 채널. 첫 전건: 판정 가능 73/73 무손상, 음성 2/2
정확 거부 (Mac 12.30.0 build 6446).
v7.0.2
[7.0.2] - 2026-08-16
Windows 사용자 전원에게 영향을 주던 저장 차단 결함의 패치 트레인입니다.
도구 표면·계약 해시(34a91560759dc47a)·플로어는 불변이고, core 의존 창
(python-hwpx>=6.0.2,<7)도 그대로입니다. 첫 외부 기여가 포함된
릴리스입니다 — CONTRIBUTORS.md.
추가됨
- 클라이언트 업로드 경로 안내 에러 (#75, #84). 대화창에 업로드된 파일의
내부 경로(/mnt/user-data/...)가 도구에 전달되면, 일반 workspace 해석보다
먼저 감지해 typed·redactedCLIENT_UPLOAD_PATH_UNAVAILABLEvalidation
에러와 "파일을 PC에 저장한 뒤 실제 로컬 경로를 전달하세요" 안내를
돌려줍니다. 기여: @adity982.
고쳐짐
- Windows에서 모든 저장·삭제 경로가
WORKSPACE_PATH_CHANGED
(output_target_changed/output_candidate_changed)로 실패하던 결함을
수정했습니다 (#98). Windowsos.open은 CRT 텍스트 모드가 기본이라
workspace 스냅샷 digest가 CRLF 변환과 0x1A 조기 EOF를 거친 바이트를
해시했고, 바이너리로 읽은 실제 파일 바이트와 절대 일치할 수 없었습니다.
ZIP 컨테이너인 HWPX에는 두 바이트 패턴이 항상 존재하므로 Windows의
portable 폴백 공표는 전부 차단됐습니다._snapshot_target과
_relative_file_snapshot이O_BINARY로 열도록 고치고, 실제 Windows
러너에서 공표 폴백을 실행하는 CI 게이트
(tests/test_workspace_windows_gate.py,windows-publish-gate잡)를
추가했습니다. 정밀 재현·진단 리포트: @rainforest80. - core 6.1.0에서 제거된 private 헬퍼(
_update_border_fills_item_count)
참조를 정리해 core main 기준 타입 게이트를 복원했습니다 (#100). 함께
적발된 stalePYTHON_HWPX_CANDIDATE_REF저장소 변수(코어 6.0.2 핀)도
제거했습니다 — 코어 릴리스가 main에 안착하면 main이 정본입니다.
v7.0.1
[7.0.1] - 2026-08-04
v7.0.0은 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다.
error::DeprecationWarning 게이트(이 트레인 자신의 산물)가 CI Python 3.12의
stdlib tar filter 예고 경고를 적발해 업로드 전에 중단했습니다.
extractall(filter="data") 명시로 고친 동일 내용이 7.0.1입니다.
삭제·이동·재사용하지 않습니다.
v6.7.1
[6.7.1] - 2026-08-03
v6.7.0은 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다.
릴리스 잡의 동결 currentPublic 게이트에서 버전 리터럴 4개 중 3개만 전진해
pythonHwpx가 지지난 트레인 값으로 남아 있었습니다. 게이트가 이를 저지했고,
6.7.1이 같은 내용의 복구 릴리스입니다.
양식개체·기안문 장르 트레인입니다. core 바닥이 5.7.0(체크박스 저작
프리미티브)으로 올라갑니다.
추가
-
compose_official_draft(별지 제1호서식 일반기안문)·compose_simple_draft
(별지 제2호서식 간이기안문): 「행정업무의 운영 및 혁신에 관한 규정 시행규칙」의
공개 서식 구조를 범용 document-plan 블록으로 낮춥니다(클린룸 — 상용 템플릿
파일을 복제하지 않습니다). 파일을 쓰지 않으며 반환 blocks를
create_document_from_plan에 넣어 생성합니다.규정에서 곧바로 오는 계약 3가지를 합성이 강제합니다:
①결재란 칸 수 = 결재자 목록 길이(제7조제4항 — 서명·전결 표시를 하지 않는
사람의 서명란은 만들지 않습니다). ②결문 라벨 미인쇄(별지 제1호서식 비고 —
행정기관명·발신명·기안자/검토자/결재권자·직위(직급) 서명·주소·공개 구분 등의
용어는 표시하지 않고 값만 적습니다). ③체크박스 개체를 쓰지 않습니다 —
별표 4 제10호가[ ]+√ 텍스트를 규정합니다. -
하우스 스타일 장르 2종 추가:
official_draft·simple_draft
(get_genre_grammar로 조회). 문법·라벨 정책·체크박스 정책·용지 여백을
규정 근거(prov)와 함께 싣고, 법령이 정하지 않는 본문 글꼴·행 높이는
미확인으로 정직 표기합니다.
변경
- 계약 128 default / 136 advanced / 29 skill-required @
98510af22d13899c
(docs/tool-contract-delta-6.7.0.json, additive). - 버전 바닥:
MIN_PYTHON_HWPX5.7.0 ·MIN_SKILL_VERSION1.7.0.
v6.6.4
[6.6.4] - 2026-08-03
v6.6.0~v6.6.3은 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다.
v6.6.3은 minimum-Python clean-wheel 게이트가 core wheel 파일명
python_hwpx-5.5.0-을 핀하고 있었습니다. scripts/ 전체 트레인 리터럴을 한
번에 감사했고, 두 게이트 스크립트 로컬 실행을 태그 전 절차로 못박았습니다.
(이전 실패 상세) v6.6.0·v6.6.1·v6.6.2는 보존된 실패 태그입니다 — 아무것도 게시되지
않았습니다. v6.6.2는 compat 매트릭스의 임베디드 정확버전 프로브가 6.5.1에
머물러 있었습니다(전진 완료, 태그 전 로컬 전체 매트릭스 실행을 절차화).
(이전 실패 상세) v6.6.0·v6.6.1은 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다.
v6.6.0은 릴리스 워크플로의 동결 공개-core 관찰 스텝이 5.5.0에 머물러 있었고,
v6.6.1은 로컬 생성 .compat-core-wheel/python_hwpx-5.5.0 부산물이 실수로
커밋되어 CI 체크아웃의 wheel 디렉터리를 오염시켰습니다(제거·ignore 처리).
6.6.2가 같은 내용의 복구 릴리스입니다.
(v6.6.0 상세) v6.6.0은 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다. 릴리스
워크플로의 동결 공개-core 관찰 스텝이 5.5.0을 단언한 채 남아 있었고, 이번
트레인의 관찰 대상 공개 core는 5.6.0입니다. 6.6.1이 같은 내용의 복구
릴리스입니다.
에이전트 계약 표면 트레인입니다. core 바닥이 5.6.0(hwpx.plan/hwpx.capabilities)
으로 올라갑니다.
추가
run_edit_plan(public·mutating·skill-required): 선언적 편집 계획
(hwpx.edit-plan/v1)을 corehwpx.plan실행기로 위임합니다 — 정적 선검증 →
전 체인 인메모리 실행 → 최종 open-safety 검증 → 단 1회 원자 쓰기. 중간 step
실패 시 output·source가 바이트 불변이고ok=falsehwpx.plan-report/v1
(failedStepId·step error·step별+원본→최종 실측 mutation-report 사영)이
돌아옵니다.dry_run=true는 동일 체인을 전부 실행하되 쓰기만 생략합니다.- 첫 MCP resources 표면 9종: core 동봉 계약 문서 4종(support-matrix·
recipes-traversal·mutation-semantics·known-traps)·라이브 빌드 JSON Schema
4종(edit-plan·plan-report·mutation-report·capabilities)·automation 도구 계약
payload. 등록은fastmcp_adapter.register_canonical_resourceseam으로만
합니다(어댑터 유일 SDK 접점 규율 유지). describe_capabilitiesadditive 확장: core 자기서술 블록
(hwpx.capabilities/v1)·무실행(render 발사 없음) 오라클 가용성 프로브·리소스
카탈로그를 기존 도구에 합성합니다 — 자기서술 도구를 둘로 쪼개지 않습니다.
변경
- 계약 126 default / 134 advanced / 29 skill-required @
19898dba41495c47
(docs/tool-contract-delta-6.6.0.json, additive — removed/promoted/
profileMoves 전부 없음).run_edit_plan은apply_table_ops/apply_body_ops
와 같은 skill-required 등급입니다. - 버전 바닥:
MIN_PYTHON_HWPX5.6.0 ·MIN_SKILL_VERSION1.6.0.
v6.5.1
[6.5.1] - 2026-08-02
v6.5.0은 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다. 호환
설치 매트릭스의 임베디드 정확버전 프로브가 6.4.2에 머물러 있었고, 이번
트레인에서 매트릭스 로컬 전체 실행을 생략한 것이 원인입니다(6.3.0 실패와
동류). 핀을 갱신하고 매트릭스·py3.10 스모크를 로컬 전체 실행한 동일
내용이 6.5.1로 복구되었습니다. 삭제·이동·재사용하지 않습니다.
v6.4.2
[6.4.2] - 2026-08-01
v6.4.1도 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다. release
잡의 태그 게이트가 currentPublic 기대를 6.2 트레인 시점의 옛 공개
스택(5.2.0/6.2.1/1.2.0)으로 동결하고 있어, 현 공개 스택(5.3.0/6.3.1/1.3.0)을
정확히 기록한 identity가 오히려 거부됐습니다. 게이트 동결값을 현 공개
스택으로 갱신한 동일 내용이 6.4.2로 복구되었습니다. 삭제·이동·재사용하지
않습니다.
v6.3.1
[6.3.1] - 2026-07-31
v6.3.0은 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다. 호환
설치 매트릭스가 공개 모듈 인벤토리 카운트를 스크립트에 내장하는데, 신규
office.charting 모듈이 172→173으로 옮긴 것을 로컬 게이트 재현이 커버하지
못했습니다. 내장 핀을 갱신한 동일 내용이 6.3.1로 복구되었습니다. 삭제·이동·
재사용하지 않습니다.
v6.2.1
[6.2.1] - 2026-07-31
v6.2.0은 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다. prepublish
아키텍처 래칫이 content_layout.py의 1줄 드리프트(타입 내로잉 픽스 후 래칫
로컬 재실행 누락)를 적발해 중단했고, 래칫 핀을 갱신한 동일 내용이 6.2.1로
복구되었습니다. 관례에 어긋난 bare 태그 6.2.0도 게시물 0으로 보존됩니다.
둘 다 삭제·이동·재사용하지 않습니다.
v6.1.3
[6.1.3] - 2026-07-31
v6.1.2도 보존된 실패 태그입니다 — 아무것도 게시되지 않았습니다. release
잡의 태그 게이트가 currentPublic 기대를 6.0 트레인 시점의 옛 공개
스택(4.2.0/5.1.0/0.8.0)으로 동결하고 있어, 현 공개 스택
(5.0.2/6.0.4/1.0.1)을 정확히 기록한 identity가 오히려 거부됐습니다. 게이트
동결값을 현 공개 스택으로 갱신한 동일 내용이 6.1.3으로 복구되었습니다.
v6.1.2는 삭제·이동·재사용하지 않습니다.