feat(core): add governed Organization hierarchy-change review - #96
feat(core): add governed Organization hierarchy-change review#96seonghobae wants to merge 67 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 (8)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough조직 계층 부모 변경을 위한 Changes조직 계층 변경 검토
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to This PR adds a non-authorizing review packet for Organization hierarchy changes without mutating hierarchy state. No actionable merge-blocking risk remains after normal checks and review. Sequence Diagram(s)sequenceDiagram
participant Caller
participant PacketBuilder
participant ReviewPacket
participant CanonicalEvidence
Caller->>PacketBuilder: 계층 변경 정보와 recorded_at 전달
PacketBuilder->>ReviewPacket: 입력 및 거버넌스 상태 검증
ReviewPacket->>CanonicalEvidence: canonical JSON 생성
CanonicalEvidence-->>ReviewPacket: SHA-256 증거 다이제스트 반환
ReviewPacket-->>Caller: 검토 패킷 반환
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 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 scope
This Orgmetra-only lane adds a value-minimized pre-mutation review boundary for Organization Unit parent changes. The packet binds tenant/Organization Unit/current-parent/proposed-parent scope, business
effective_on, review-evidencerecorded_at, reviewed snapshot digests, controlled reason, distinct requester/reviewer evidence and explicit evidence versioning. Root attach/detach usesNone; self-parenting and no-op reparenting fail closed locally. Stale current-parent evidence, cycles, multiple visible parents, durable uniqueness and the actual hierarchy mutation remain authoritative HRIS responsibilities. The packet carries no Person PII, compensation, ratings or employment-decision authority.recorded_atis invoking-boundary review evidence. The leaf API validates exact fixed-offset representation and rejects a future issuance value, but it does not prove which clock generated the timestamp. Issue #282 owns that provenance distinction; #119 must generate or attest authoritative system-recorded audit/outbox time at the mutation/persistence boundary after normal parent integration rather than promote packetrecorded_atinto transaction-time authority.Live authority
f84dcb64b51dc492af938a4bdd0836354b1a4496develop@eb9757f8649aaad026a9865508d9aad50c1a7a4fdocs/product-technical-gap-baseline.mdremains docs: maintain durable product-technical gap baseline #100's single-writerNo force-push, destructive rebase, self-approval, bypass, synthetic status, predecessor-check transfer or mutable-owner source copy is used.
Integrity and provenance repairs
Post-issuance representation/export integrity remains #279.
f952154...exposed representation-preserving scalar substitution;204695c...added export-time runtime-type validation;c8266fd...exposed export checked-versus-used rereads;a98066f...made runtime validation and canonicalization consume one captured export snapshot.Issuance semantic checked-versus-used integrity remains #280. Regression
261a67d...demonstrates the predecessor gap;08ff578...makes complete issuance validation, canonical creation bytes/digest and tenant-qualified live-reference key consume one identical captured snapshot.Per-object issuance re-entry remains #281.
03fd2cb...requires manual reissuance to fail closed;4fcf0c7...adds the identity-scoped issuance reservation;6a8d5d8...adds deterministic concurrent re-entry coverage. Exact85ba782...previously had Foundation/100% package coverage GREEN.Timestamp provenance remains #282. ADR/README/TRACEABILITY/package CHANGELOG already distinguished caller-supplied review time from authoritative internal-clock time at
a09d2eb..., but fresh review found two residual code-current naming defects. Ordinary-forwardd1e57c2d14fc28309b51a3ddf7ec28d4a5726f02changes_validate_issuance_timestamp(...)'s production docstring from “system-recorded evidence” to canonical review-evidence chronology; currentf84dcb64b51dc492af938a4bdd0836354b1a4496renames the future-time regression/module wording so the test no longer claims clock provenance. Runtime semantics and the future-time rejection assertion are unchanged. Historic fixed-offset values remain admissible if not future-dated; no arbitrary freshness window or caller-spoofable trusted-time token is introduced.The in-process creation digest/live-reference registry and issuance reservation remain defense in depth only. They are not durable database uniqueness, distributed authorization, authoritative timestamp provenance, restart-stable identity, same-tenant bitemporal re-resolution, concurrency control or immutable audit/outbox authority.
Exact-head workflow and review evidence
The material terminology corrections advanced the head, so all
a09d2eb...workflow results are predecessor evidence only. The old Strix run34327470796ona09d2eb...was cancelled as superseded after this new head advanced; its elapsed quick-scan state is not a vulnerability/provider verdict and is not transferred.Fresh PR-triggered workflows on exact
f84dcb...are currently nonterminal: Foundation34338465752, Security34338465711, SAST34338465703, and CodeQL34338465693are newly queued at the latest read. Do not transfer predecessor Foundation/SAST/OpenCode/Noema GREEN or predecessor Security/CodeQL failure classifications to this head before the current jobs actually settle. Required-workflow admission for OpenCode/Noema/Strix/merge scheduler is likewise evaluated only on this exact head.Fresh submitted-review enumeration on the predecessor material tree contained COMMENTED reviews only and no qualifying independent
APPROVED; no approval is inferred after these new material commits. Historical review observations about process-local/GC-dependent live-reference uniqueness remain explicitly documented defense-in-depth limitations rather than durable database authority.Keep this PR Draft until every required current-head workflow is terminal/admissible, no unresolved applicable review finding remains, and protected integration is permitted by the then-live central governance policy.