feat: add governed assignment change review packet - #45
Conversation
📝 WalkthroughWalkthroughAssignment 변경 전 검토 패킷을 추가했습니다. 패킷은 불투명 참조와 SHA-256 다이제스트를 사용하며, PII와 변경 실행 권한을 포함하지 않습니다. 검증된 빌더, 테스트, 문서 및 전용 CI 워크플로를 추가했습니다. ChangesAssignment Change Review
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: 🟡 Moderate · up to The packet could allow approval records to combine valid references from the wrong tenant or worker scope, risking incorrect assignment-review decisions; its supporting verification record is also future-dated to August 19, 2026. Merge should wait for these bounded correctness and governance issues to be corrected or explicitly accepted. Sequence Diagram(s)sequenceDiagram
participant Host
participant build_assignment_change_review_packet
participant AssignmentChangeReviewPacket
Host->>build_assignment_change_review_packet: 검토 입력 전달
build_assignment_change_review_packet->>AssignmentChangeReviewPacket: 검증된 패킷 생성
AssignmentChangeReviewPacket-->>Host: 불변 패킷 반환
Host->>AssignmentChangeReviewPacket: canonical_json 및 sha256_digest 호출
AssignmentChangeReviewPacket-->>Host: 결정론적 JSON과 SHA-256 반환
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 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 |
|
@opencode-agent Please independently review exact current head |
|
Fresh central-owner status: |
|
Fresh exact-head security-evidence correction; branch/lifecycle unchanged. Current head remains Required Strix run The current first failing boundary is therefore later and narrower: the actual The exact causal evidence and unchanged-head GREEN acceptance were advanced through existing foreign owner path |
Buyer-visible outcome
Adds a governed pre-mutation assignment-change review packet that keeps Person, Employment, Assignment, Job, and Position identities separate; binds reviewed scope/allocation/policy/worker-impact/communication evidence; and preserves human-only approval before authoritative HRIS mutation.
Current integrity boundary
The packet uses process-local constructor-provenance and HMAC issuance evidence as in-process defense-in-depth only; it is not durable authorization, a portable signature, persisted cross-process uniqueness, or immutable audit/outbox evidence.
Current source closes the issuance paths exercised during this branch's review hardening. Normal
AssignmentChangeReviewPacket(...)construction arms one context-local allocator ticket; the exact packet__new__()consumes that ticket immediately and binds constructor eligibility only to that exact live object. Directobject.__new__, direct packet-allocator calls, allocator calls reached reentrantly from caller-controlled timezone code, and subclass/factory attempts do not retain governed constructor provenance that can later be converted into a second issued packet. Successful construction then binds one canonical JSON snapshot to a process-local HMAC seal kept outside packet-writable slots and records the exact live identity as issued. Issuance registration is single-use, so a valid-value rewrite followed by__post_init__()cannot replace the authoritative seal. Canonical export requires the exact issued identity and verifies the same snapshotted bytes it returns.The current README, ADR 0019, traceability, tests and package CHANGELOG are synchronized on this boundary. The controls intentionally do not claim a hostile-interpreter capability boundary, portable rehydration credential, durable authorization, or audit persistence.
Exact-current-head evidence
0023f13469cc0f6f9d1da08f3b1548062fa61dbedevelop@9e3e4847510e1e612b48474ba42b177b8ed824df33295582915/ job99214557479: terminal SUCCESS on this exact head; 108 tests passed, owned production 226/226 statements and 62/62 branches = 100.00% statement/branch coverage, compile and clean-checkout GREEN.33295582914: terminal SUCCESS.33295582922: terminal SUCCESS.33295582964: terminal SUCCESS.33295582942: Trivy, OSV and Scorecard are GREEN. Dependency Review job99214557550verifies checkout of this exact head, then fails closed in the central support probe because the public-repository dependency-graph comparison for base9e3e484…→ head0023f134…returns HTTP 403 before the pinned Dependency Review action can execute. This remains owned by the existingContextualWisdomLab/.github#810handoff; no Orgmetra workaround is appropriate.33295582127/ job99214589148: required-workflow bootstrap/evidence jobs pass, but the gate finds no authenticatedopencode-agentAPPROVED/CHANGES_REQUESTED review bound to exact head0023f134…, so it correctly fails closed. Existing owner path:ContextualWisdomLab/.github#624.33295582187/ job99214576078: trusted central source6c8ee24046d743b3981c566c6e29f99f09137f6a, repository-scoped reviewer credential and target visibility resolve successfully. Shared contextual-orchestrator provisioning then reports endpoint-feed HTTP 413, selects the live OpenRouter ZDR feed, starts127.0.0.1:18080, and exits before/healthzwithreview sidecar preflight failed; the actual Noema review/verdict step is skipped. Existing owner path:ContextualWisdomLab/.github#1399.33295582098/ job99214782315: exact target/base fetch, central workflow smoke test and provider-secret gate succeed. Shared sidecar provisioning reports the endpoint-feed HTTP 413, selects the live OpenRouter ZDR feed, then reaches/healthzand provider-route successfully. The subsequent gateway completion preflight times out after 30 seconds with curl exit 28 / zero bytes andgateway preflight request could not reach the local sidecar; Strix installation and the vulnerability scan are skipped. Diagnostic artifact9727382738, SHA-256e250802784294168783bf501f81519781fc524aca5402efb4716c9dca1faa579, is diagnostic-only and is not passing scan evidence. This distinct exact-head canary has been routed through existing owner pathContextualWisdomLab/.github#1327.Lifecycle / merge discipline
This PR is not merge-ready and remains Draft. Do not mark Ready or merge until the unchanged exact head has terminal passing evidence for every applicable Orgmetra and central required gate, authoritative exact-head OpenCode/Noema/Strix outcomes, resolved required conversations, and qualifying independent non-author approval.
Do not self-approve, use routine administrator bypass, transfer predecessor evidence, weaken a gate, create a no-op retrigger commit, or create an Orgmetra workaround for a foreign dedicated-writer boundary.
Scope / non-claims
This packet is review evidence only. It does not itself authorize or persist an assignment change, prove Position capacity or legal/policy permissibility, copy sensitive worker/compensation/allocation values, or claim certification, deployed production integrations, or commercial release.