git:20260907.d9240bd to git:20260908.16b104c

16 added, 11 removed. Audit A to A.

---
name: records-classification-hwpx
description: "기록관리 업무의 기록물분류·HWPX 검토 절차. 내부 public-document-hwpx capability를 사용하며 draft-only 경계를 지킵니다."
metadata:
- kgov:
- domain: "기록관리"
- capability: public-document-hwpx
- runtime_contract: "kgov/public-document-hwpx/v1"
- operation: "kgov/public-document-hwpx/inspect-document/v1"
- role: primary
+ domain: "기록관리"
+ capability: "public-document-hwpx"
+ runtime_contract: "kgov/public-document-hwpx/v1"
+ operation: "kgov/public-document-hwpx/inspect-document/v1"
+ role: "primary"
---
<!-- generated from catalog/domain-skills.json; do not edit -->
# 기록물분류·HWPX 검토
- Domain: **기록관리**
- 내부 capability: `public-document-hwpx`
- 실행 상태: `fixture-verified` / live smoke `not-run`
- 실행 경계: `draft-only`
- Reference Skill: `hwp`, `rhwp-edit`, `joseon-sillok-search`
## Runtime binding
- Contract: `kgov/public-document-hwpx/v1`
- Operation: `kgov/public-document-hwpx/inspect-document/v1`
- Fixed input: `{"argv": ["--fixture"]}`
- Output fields: `manual_review_required`, `section_count`, `extracted_character_count`, `section_metadata`, `identifier_scan_status`, `text_emitted`
<!-- kgov-runtime-binding:start -->
```json
{
"binding": {
"contract_id": "kgov/public-document-hwpx/v1",
"fixed_input": {
"argv": [
"--fixture"
]
},
"operation": "kgov/public-document-hwpx/inspect-document/v1"
},
"example_result": {
"extracted_character_count": 8,
"identifier_scan_status": "no-match-not-proof-of-redaction",
"manual_review_required": true,
"section_count": 1,
"section_metadata": {
"included": [
{
"character_count": 8,
"ordinal": 1
}
],
"limit": 100,
"truncated": false
},
"text_emitted": false
},
"exit_codes": {
"input_error": 2,
"policy_blocked": 3,
"review_blocked": 1,
"success": 0,
"upstream_error": 4
},
"fixture_argv": [
"--fixture"
],
"input_schema": {
"additionalProperties": false,
"properties": {
"argv": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"argv"
],
"type": "object"
},
"module": "kgov_runtime.capabilities.public_document_hwpx",
"network_mode": "none",
"output_schema": {
"additionalProperties": false,
"properties": {
"extracted_character_count": {
"minimum": 0,
"type": "integer"
},
"identifier_scan_status": {
"enum": [
"match-detected-review-blocked",
"no-match-not-proof-of-redaction"
],
"type": "string"
},
"manual_review_required": {
"const": true,
"type": "boolean"
},
"section_count": {
"minimum": 0,
"type": "integer"
},
"section_metadata": {
"additionalProperties": false,
"properties": {
"included": {
"items": {
"additionalProperties": false,
"properties": {
"character_count": {
"minimum": 0,
"type": "integer"
},
"ordinal": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"ordinal",
"character_count"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"limit": {
"const": 100,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"limit",
"truncated",
"included"
],
"type": "object"
},
"text_emitted": {
"const": false,
"type": "boolean"
}
},
"required": [
"manual_review_required",
"section_count",
"extracted_character_count",
"section_metadata",
"identifier_scan_status",
"text_emitted"
],
"type": "object"
},
"schema_status": "active",
"source_output_mode": "none",
"source_policy_ids": []
}
```
<!-- kgov-runtime-binding:end -->
## 절차
- 1. 저장소 루트에서 `docs/capabilities/public-document-hwpx/procedure.md`와 `docs/capabilities/public-document-hwpx/runtime-contract.md`를 먼저 읽습니다.
- 2. `python3 -m kgov_runtime.capabilities.public_document_hwpx --fixture`로 합성 fixture 계약을 검증합니다.
- 3. live 실행은 capability manifest의 credential·proxy·허용 host 경계를 충족할 때만 수행합니다.
- 4. 원본 변경·제출·결재는 별도 승인
- 5. fixture 성공, URL 도달, live 검증을 서로 다른 증거로 보고합니다.
+ 1. 전체 저장소 checkout이 필요합니다. Skill 디렉터리만 복사해서 실행하지 않습니다. 클라이언트와 모든 명령은 `kgov_runtime/`, `docs/`, `tests/`가 있는 저장소 루트에서 실행하고, 루트 기준 `docs/capabilities/public-document-hwpx/procedure.md`와 `docs/capabilities/public-document-hwpx/runtime-contract.md`를 먼저 읽습니다.
+ 2. `python3 -m kgov_runtime.capabilities.public_document_hwpx --fixture`로 합성 fixture 계약을 검증합니다. 이는 사용자가 제공한 파일을 읽거나 검증한 결과가 아닙니다.
+ 3. 제공된 로컬 입력은 procedure의 실제 입력 절차와 제한에 따라 별도로 검사합니다. 파일이 없거나 읽을 수 없으면 차단 상태를 보고하고 fixture로 대신 검증했다고 주장하지 않습니다.
+ 4. live 실행은 capability manifest의 credential·proxy·허용 host 경계를 충족할 때만 수행합니다.
+ 5. 원본 변경·제출·결재는 별도 승인
+ 6. fixture 성공, 로컬 입력 검사, URL 도달, live 검증을 서로 다른 증거로 보고합니다.
+
+ ## 실제 로컬 입력
+
+ 저장소 루트에서 `python3 -m kgov_runtime.capabilities.public_document_hwpx PATH`를 실행합니다. `PATH`는 사용자가 제공하고 읽기를 승인한 로컬 파일 경로로 바꾸고, 공백이 있으면 따옴표로 감쌉니다. `--fixture`와 함께 쓰지 않습니다. 입력 형식과 제한은 위 procedure를 따릅니다.
+ 위 Runtime binding의 `fixed_input`과 예시는 합성 fixture 전용 계약이며, 실제 파일 검사 결과가 아닙니다.
## 금지
- 이 Skill을 근거로 원본 변경·제출·결재·발송을 자동 수행하지 않습니다.
- 비밀값이나 원문 개인정보를 로그·결과·fixture에 남기지 않습니다.
- 내부 capability를 별도 top-level `skills/` 제품 표면으로 복제하지 않습니다.