Skip to content

feat(validity): add governed selection-validity analysis handoff - #57

Draft
seonghobae wants to merge 43 commits into
developfrom
feat/validation-analysis-handoff
Draft

feat(validity): add governed selection-validity analysis handoff#57
seonghobae wants to merge 43 commits into
developfrom
feat/validation-analysis-handoff

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Buyer-visible scope

ValidationAnalysisHandoff binds one exact validation-study definition to immutable reviewed ContextualWisdomLab/fast-mlsirm evidence without copying raw person-level values, changing selection-decision authority, or mutating the dedicated numerical owner. Estimator identification and missing-data treatment remain at the reviewed analysis-plan/numerical-worker boundary.

Live authority

  • exact head: 6ca554791595d925a76587378b543e7dbc3dc20b
  • PR recorded base snapshot: develop@9e3e4847510e1e612b48474ba42b177b8ed824df
  • current protected truth: develop@eb9757f8649aaad026a9865508d9aad50c1a7a4f
  • live state: open · Draft · mergeable=false

The older body text that called this PR non-draft/current-base is superseded. Protected develop has advanced materially since this branch snapshot, so the valid handoff delta must be non-force reconciled with current protected truth before any merge-readiness claim.

Existing exact-head evidence and blockers

At this unchanged source head, the dedicated Validity Analysis Handoff quality, Foundation, Recovery Rehearsal, SAST/Semgrep, PostgreSQL integrity/restore, and owned coverage evidence previously completed successfully. Required central evidence did not: Dependency Review/Security Scan failed at the central support boundary; OpenCode failed without a qualifying current-head verdict; Noema historical execution used the then-old central timeout path and remained non-passing; Strix lacked a terminal authoritative passing result. Those results stay evidence about this exact source snapshot but do not authorize integration against today's protected base.

No predecessor, child, queued, cancelled, status-only, or model-only result may replace an applicable exact-current-head gate after reconciliation. Do not churn the branch solely to retrigger old central code.

Stack discipline

PR #58 is a dependency-first child and remains based on an older #57 snapshot. Process #57 first. Non-force adopt the then-current protected develop, preserve the valid scientific/domain delta, resolve semantic/provenance conflicts, reseal exact changed artifacts, and rerun every applicable local/central gate on the resulting head. Only after normal protected integration should #58 adopt protected truth and reacquire its own evidence.

Do not force-push, destructively rebase, self-approve, fabricate review identity, use routine administrator bypass, weaken a gate, transfer predecessor/child evidence, or mutate fast-mlsirm, central .github, contextual-orchestrator, or another dedicated-writer repository.

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

orgmetra-validity-analysis 패키지가 불변 분석 핸드오프와 검증된 수치 결과 계약을 제공합니다. 고정 의존성, 증거 다이제스트, 행위자 분리, 집계 증거, 시간·수치 무결성을 검증합니다. 관련 문서와 PR 품질 게이트도 추가합니다.

Changes

선택 타당성 분석 핸드오프

Layer / File(s) Summary
패키지 계약과 공개 API
packages/validity-analysis/pyproject.toml, packages/validity-analysis/src/orgmetra_validity_analysis/__init__.py, packages/validity-analysis/README.md, packages/validity-analysis/CHANGELOG.md
패키지 메타데이터, 100% 커버리지 설정, 공개 API, 핸드오프 및 결과 계약 문서를 추가합니다.
불변 핸드오프 생성과 검증
packages/validity-analysis/src/orgmetra_validity_analysis/handoff.py, packages/validity-analysis/tests/test_handoff.py, packages/validity-analysis/tests/test_host_resolution_contract.py
ValidationAnalysisHandoff가 참조 형식, 증거 다이제스트, fast-mlsirm 리비전, 시간, 행위자 분리, 거버넌스 상수를 검증합니다. 표준 JSON과 SHA-256 다이제스트를 생성합니다.
수치 결과 봉투와 증거 검증
packages/validity-analysis/src/orgmetra_validity_analysis/result.py, packages/validity-analysis/tests/test_result.py, packages/validity-analysis/tests/test_temporal_evidence_integrity.py
MissingnessSummary, ConvergenceDiagnostics, ValidationAnalysisResult가 집계값, 수렴 상태, 수치 범위, 백엔드, 정밀도, 시간 및 하위 클래스 입력을 검증합니다. 결정적 직렬화와 개인정보 비노출을 확인합니다.
거버넌스 문서와 추적성
docs/adr/0027-governed-selection-validity-analysis-handoff.md, docs/doctoring/validation-analysis-handoff-references.md, docs/traceability/validation-analysis-handoff.md, CHANGELOG.md, manifest.json
핸드오프 결정, 참고문헌, 추적성 범위, 변경 이력, 변경 이력의 매니페스트 해시를 추가합니다.
품질 게이트와 ADR 회귀
.github/workflows/validity-analysis-quality.yml, packages/validity-analysis/tests/test_adr_numbering.py
PR 경로 필터, 정확한 커밋 확인, Python 3.14 테스트, 패키지 컴파일, pytest 커버리지, 깨끗한 체크아웃 검사를 추가합니다. ADR 번호 중복도 검사합니다.

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

Merge Risk: 🟡 Moderate · up to a8da8

The PR adds public handoff and result contracts, but a converged result can still be accepted with no complete predictor-criterion observations, allowing unsupported evidence to be recorded; the quality workflow can also miss ADR numbering regressions, while downstream consumers must still enforce tenant and handoff/result identity linkage. These are concrete correctness and integration risks, so merge should wait for the validation fix or explicit owner acceptance.

Sequence Diagram(s)

sequenceDiagram
  participant 호스트
  participant 핸드오드빌더 as build_validation_analysis_handoff
  participant 핸드오프 as ValidationAnalysisHandoff
  participant 워커 as 승인된 오프라인 검증 워커
  participant 결과 as ValidationAnalysisResult

  호스트->>핸드오드빌더: 증거 참조와 행위자 전달
  핸드오드빌더->>핸드오프: 검증된 불변 핸드오프 생성
  핸드오프->>워커: 고정 fast-mlsirm 리비전과 실행 지침 전달
  워커->>결과: 집계 수치와 수렴 진단 반환
  결과->>호스트: 검증된 표준 JSON과 SHA-256 다이제스트 반환
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 96.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 75 functions across 8 files. (9 skipped: 9 …
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 제목은 PR의 주요 변경 사항인 governed selection-validity analysis handoff 추가를 정확하고 간결하게 설명합니다.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/validation-analysis-handoff

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.

Copy link
Copy Markdown
Contributor Author

Exact-current-head local refresh: remote head is now c38151852d95ff1256012d31c179a898bbc1c11e after protected-develop integration. On that exact tree, validity-analysis tests pass 44 passed with 100% statement and branch coverage. No submitted review or inline thread is present; hosted checks remain queued and this is not merge evidence.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head local evidence for d0c06d2: the validity-analysis suite passed 72 tests with 100% owned statement and branch coverage on CPython 3.14.6. The package now validates a digest-linked ValidationAnalysisResult envelope for the pinned fast-mlsirm revision, Rust CPU/GPU backend, precision, finite estimate/interval, aggregate missingness, and explicit convergence/nonconvergence diagnostics. Repository validation passed. This remains an active PR boundary: no numerical model was executed, no protected-branch truth or approval is claimed, and the result remains scientific evidence requiring accountable human review.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-current-head local refresh for 081942a (pushed to the PR branch): the previous b33cbda tree had 74 passing tests but failed its 100% coverage gate because the criterion-overlap guard was unreachable under the test input that also triggered the predictor-overlap guard. The targeted test input now reaches the second guard. Post-fix validity suite: 74 passed, 100% owned statement and branch coverage; repository validation and foundation contract passed. A separate exploratory run of exact pinned fast-mlsirm revision 04d0bc2 used the Rust backend and returned max_iter_reached at 101 iterations; this is recorded as an open P0-3 signal, not Orgmetra estimator acceptance, GPU parity, protected runtime, approval, or merge evidence.

@seonghobae
seonghobae marked this pull request as draft August 22, 2026 00:16
devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae
seonghobae marked this pull request as ready for review August 22, 2026 00:21
@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent Please review the current unchanged head against protected develop. Local exact-head verification: all owned package suites pass at 100% statement/branch coverage.

devin-ai-integration[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant