Skip to content

feat: add governed employment leave review packet - #47

Open
seonghobae wants to merge 71 commits into
developfrom
feat/governed-employment-leave-review
Open

feat: add governed employment leave review packet#47
seonghobae wants to merge 71 commits into
developfrom
feat/governed-employment-leave-review

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Buyer-visible gap

This lane provides a value-minimized, human-review-only employment-leave packet before any authoritative Employment/Assignment mutation. It keeps sensitive leave-case values out of the portable artifact while binding exact tenant/worker correlations, business dates, case/policy provenance, continuity/return-to-work evidence, privacy-policy evidence, and accountable reviewer scope that the authoritative host must re-resolve before approval.

Current exact state

Current exact head: 8562166d0d5bfca42f8a0ae323b80d78d015e22e.
Fresh live base: develop@9e3e4847510e1e612b48474ba42b177b8ed824df.
GitHub currently reports the PR open, non-draft, and mergeable. Lifecycle state remains mutable repository state and is not treated as technical evidence.

The current branch includes structural-equality/issuance-registry cleanup plus later review repairs: exact built-in string validation for digests, corrected non-authoritative CHANGELOG wording, explicit non-UUIDv4 reference rejection coverage, direct weak-reference cleanup verification, and traceability that makes intentional single-day leave semantics explicit. Fresh review-thread state shows all current threads resolved; no current thread identifies an actionable authorization/privacy/data-integrity defect.

Exact-current-head Orgmetra evidence

The materialized Orgmetra-local workflows are terminal GREEN on this exact head:

  • Employment Leave Review Quality 32858198656 — success
  • Foundation CI 32858198731 — success
  • Recovery Rehearsal Quality 32858200065 — success
  • SAST Semgrep 32858198325 — success
  • Security Scan 32858200060 — success

Fresh submitted reviews are COMMENTED only. There is no qualifying independent non-author APPROVE or CHANGES_REQUESTED.

Required central Strix evidence

The prior body incorrectly stated that Strix had not materialized. Exact-head required Strix did materialize and completed successfully:

  • Strix Security Scan run 32858195461
  • job 97835297375
  • exact target head 8562166d0d5bfca42f8a0ae323b80d78d015e22e
  • exact target base develop@9e3e4847510e1e612b48474ba42b177b8ed824df
  • trusted central workflow source .github@d2c554dbbc04854db6215970fabb70cef1ceb690

The primary NVIDIA Nemotron model hit repeated HTTP 429 rate limits, but the trusted bounded fallback nvidia_nim/nvidia/llama-3.3-nemotron-super-49b-v1.5 actually completed the penetration-test run and produced an authoritative structured no-finding report. The run reported Vulnerabilities 0 (No exploitable vulnerabilities detected), emitted executive summary/methodology/technical analysis/recommendations, finished Run Strix (quick) successfully, collected reports, and uploaded the strix-reports artifact successfully.

Artifact: ID 9569398682, SHA-256 6fcfcc3c1e0e93cb8a011101742bc86c2f78ed0b086029c1dac265af84773248.

This differs materially from the current provider-exhaustion failures on other Orgmetra heads: here an authorized fallback completed authoritative analysis, so this exact-head Strix evidence is passing rather than a log-only Vulnerabilities 0 fragment.

Governance boundary

The packet remains human-review-only and carries minimum-necessary personal data while excluding medical/family values, direct identifiers, compensation/benefit values, credentials and free-form model output. Any actual HRIS mutation must re-resolve authoritative tenant/Person/Employment/Assignment/Job/Position and policy scope, record human approval, and use immutable audit/outbox evidence.

PR #113 is a separate independent root lane for reason-free authoritative Employment absence truth in the HRIS kernel. It does not replace this pre-mutation review evidence, and this PR does not inherit #113 evidence.

Merge governance

Effective organization ruleset 18156473 is active on the default branch, but its live policy is weaker than Orgmetra's acquisition-grade acceptance. Re-fetch it at merge time; do not infer commercial readiness from this body.

Orgmetra acceptance remains at least two qualifying independent non-author approvals, approval after the last push, all applicable exact-current-head local and central gates terminal GREEN, resolved conversations, and no routine administrator bypass. This PR currently has no qualifying independent non-author approval, so keep it unmerged. Do not self-approve, use routine administrator bypass, transfer predecessor evidence, or treat process-local issuance integrity as durable authorization.

@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

고용 휴가 검토 패킷의 거버넌스 계약과 Python 구현을 추가했습니다. 입력 검증, 데이터 최소화, 발급 무결성, 우회 방어 테스트와 develop 대상 품질 검사 워크플로우를 함께 정의했습니다.

Changes

고용 휴가 검토 패킷

Layer / File(s) Summary
계약 및 패키지 설정
docs/adr/0021-governed-employment-leave-review.md, docs/doctoring/employment-leave-review-references.md, docs/traceability/employment-leave-review.md, packages/employment-leave-review/{CHANGELOG.md,README.md,pyproject.toml}, packages/employment-leave-review/src/orgmetra_employment_leave_review/__init__.py
패킷의 범위, 데이터 최소화, 권한 경계, 추적성, 참고 문헌, 패키지 설정 및 공개 API를 추가했습니다.
패킷 계약 및 생성 검증
packages/employment-leave-review/src/orgmetra_employment_leave_review/packet.py
불변 패킷과 공개 생성자를 추가했습니다. UUID, 참조, 다이제스트, 날짜, 행위자, 거버넌스 상태와 민감 값 제한을 검증합니다.
발급 무결성 검증
packages/employment-leave-review/src/orgmetra_employment_leave_review/packet.py
정규 JSON과 SHA-256 다이제스트를 생성합니다. 프로세스 로컬 발급 봉인으로 변조와 유효하지 않은 복사본을 거부합니다.
계약 및 거버넌스 테스트
packages/employment-leave-review/tests/test_packet.py, packages/employment-leave-review/tests/test_tenant_uuid_privacy.py
최소화된 payload, 식별자 형식, 정책 바인딩, 날짜, 행위자 분리, 거버넌스 상태 및 테넌트 UUID 규칙을 검증합니다.
무결성 강화 및 CI 검증
packages/employment-leave-review/tests/test_post_issuance_evidence_integrity.py, packages/employment-leave-review/tests/test_string_runtime_evidence_integrity.py, packages/employment-leave-review/tests/test_temporal_evidence_integrity.py, .github/workflows/employment-leave-review-quality.yml
저수준 변조, 복사, 문자열·datetime 서브클래스 우회를 검증합니다. SHA 체크아웃, 해시 고정 설치, 컴파일, pip check, 100% 커버리지와 clean-tree 검사를 자동화합니다.

Estimated code review effort: 4 (Complex) | ~45 minutes

Merge Risk: 🔵 Low · up to e134e

The packet remains mergeable, but the changelog wording could mislead integrators into believing the packet performs authoritative tenant and worker resolution before approval. Correct that wording with owner awareness; no merge-blocking runtime risk is supported.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 52.46% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 61 functions across 7 files. (7 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 거버넌스가 적용된 고용 휴가 검토 패킷 추가라는 주요 변경을 정확하고 간결하게 설명합니다.
Full details: Docstring Coverage

Explanation

Docstring coverage is 52.46% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 61 functions across 7 files. (7 skipped: 7 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/governed-employment-leave-review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae
seonghobae marked this pull request as draft August 24, 2026 21:03
coderabbitai[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

seonghobae and others added 3 commits August 25, 2026 20:46
_validate_digest now enforces the exact built-in str contract matching
the rest of the packet boundary; a regression rejects a hostile digest
subclass whose forged equality would otherwise pass pattern matching.
Suite stays at 100% statement+branch coverage (119 tests). Addresses
Devin review observation on PR #47.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant