feat(document-records): add governed HR document evidence - #98
feat(document-records): add governed HR document evidence#98seonghobae wants to merge 19 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (10)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughDocumentRecordEvidence 패키지를 추가했습니다. 최소화된 HR 문서 메타데이터와 무결성 digest를 검증합니다. 관련 ADR, 참조 문서, 추적성 문서 및 설치 휠 품질 검증 워크플로를 추가했습니다. ChangesDocument Record Evidence
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to The PR adds a constrained, evidence-only HR document boundary with successful exact-head validation and no actionable merge-blocking risk remaining beyond normal independent review and repository protection checks. Sequence Diagram(s)sequenceDiagram
participant Caller
participant build_document_record_evidence
participant DocumentRecordEvidence
Caller->>build_document_record_evidence: 키워드 인자 전달
build_document_record_evidence->>DocumentRecordEvidence: 객체 생성 및 입력 검증
Caller->>DocumentRecordEvidence: canonical_json 호출
DocumentRecordEvidence-->>Caller: 검증된 canonical JSON 반환
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Buyer-visible gap
Protected
develop@9e3e4847510e1e612b48474ba42b177b8ed824dfassignsdocument_recordsownership of document metadata, source evidence, and immutable artifact references, but has no executable value boundary that binds one HR document artifact to tenant/Person/Employment scope, source provenance, retention-policy evidence, classification, business receipt time, and system-recorded time without copying document content into governance evidence.Implemented boundary
This PR adds a standalone
orgmetra-document-record-evidencepackage.DocumentRecordEvidencebinds tenant, Person, Employment, a pseudonymous uploader correlation, a closed reviewed document-category code, opaque artifact reference + SHA-256, source-provenance SHA-256, retention-policy reference/digest, caller-owned UTCreceived_at, and Orgmetra-generateddocument_record_reference+recorded_at.Canonical evidence is fixed to
restricted_hr,artifact_reference_only, andnot_authorized_for_employment_decision. It intentionally excludes document bytes/title, free-form notes, credentials, compensation, ratings, and unrelated HR values. It does not authorize content read/export, retention/disposition, or employment action; those remain authoritative human-accountable Orgmetra boundaries with immutable audit/outbox evidence.A process-local weak issuance registry stores the creation-time canonical evidence digest outside packet-writable slots. Each export validates the live fields, snapshots once, verifies that exact snapshot against the issuance digest, and emits only the verified snapshot. This is defense in depth, not a durable signature or substitute for authoritative persistence.
Write scope is Orgmetra only. Clearfolio, NewsDOM, and every other dedicated-writer CWL repository remain read-only; no cross-service application-table SQL is introduced.
Test-first repair evidence
4ab738b4cfee3573e5900dcb158e4a9db8a6e79e, Document Record Evidence Quality run32632895006/ job97178251398: all 14 functional tests passed but owned production coverage was only 89%, so the exact 100% gate correctly failed. Realistic malformed trust-boundary regressions then covered the unexercised fail-closed branches.d4edde31fe5e9ff01a415410dafd8eea8209ecbd, run32633003531/ job97178514416: existing tests passed but a new valid-valueobject.__setattr__rewrite regression proved that an issued packet could emit a second canonical truth. Root repairfdd09b1e2a912151126671604886bd7f252c0073moved the authoritative creation digest outside packet-writable slots and made export use one verified payload snapshot.12a66a984bef02ed535260736ff4fd0b66a44eca, run32633215912/ job97179024301: 21 tests passed and the new governance regression alone failed because ADR 0098 was absent from the dedicated workflow path filter. Current head9aeeb204acce429f85b028029c9531a5b05f37e1adds the ADR path, so ADR-only contract changes cannot bypass the package gate.Exact-current-head evidence
Current exact head:
9aeeb204acce429f85b028029c9531a5b05f37e1against live basedevelop@9e3e4847510e1e612b48474ba42b177b8ed824df.32633266715: terminal success; exact-head checkout; CPython 3.14.7; SHA-256-bound isolated wheel installation; 22 tests; owned production 119 statements / 22 branches, exactly 100% statement and branch coverage; clean checkout.32633266676: terminal success, including all PostgreSQL integrity-contract jobs.32633266737: terminal success.32633266694: terminal success.32633266778: terminal success.Documentation / traceability
Adds package README/CHANGELOG, ADR 0098, active-PR traceability, and APA 7 primary-source doctoring based on W3C PROV-O and NIST Privacy Framework 1.0. Standards are design inputs only; no conformance or certification claim is made.
Merge gate
The PR is technically ready for independent review at this unchanged exact head. It must not merge without a qualifying independent non-author approval and enforceable repository protection. Orgmetra issue #89 continues to track the live
developprotection defect; exact-head GREEN evidence is not a substitute for that policy.Summary by CodeRabbit
새로운 기능
문서
품질 개선