feat(selection): add governed factor-retention evidence contract - #617
seonghobae wants to merge 11 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 address Take a bounded writer lease only if a final refetch still shows Draft head The original test-only head already produced the intended production-boundary RED ( Complete only deterministic GREEN/acceptance cleanup for issue #608's factor-retention contract slice:
Keep Draft. Do not create another PR, change dependencies/workflows/version/release, modify canonical architecture PR #604, add NumPy/statistical kernels, mark Ready, approve, merge, or expand into structural model selection. Stop after exact-head deterministic evidence. |
|
@opencode-agent address The prior exact-head handoff on this Draft has produced no receipt/reaction and no source movement for more than an hour, so treat it as inactive. Reacquire a bounded writer lease only if a final refetch still shows head Current RCA is deterministic and narrow: exact-head Python CI fails only because
Do not alter factor-retention semantics, dependencies, workflows, version/release, canonical architecture PR #604, PR Ready/merge state, or any other branch. If the renderer produces any non-mechanical change outside its authoritative marker block, stop without committing. |
|
@opencode-agent address Take a bounded writer lease only if a final refetch still shows Draft head The branch has already been non-destructively reconciled with current protected main as a two-parent merge commit while preserving exactly the four factor-retention paths. The factor-retention implementation and focused tests were already GREEN on the predecessor; do not change numerical/decision semantics or canonical architecture PR #604. Complete only deterministic release-note cleanup on this exact head:
Keep Draft. Do not create another PR, alter dependencies/workflows/version/release, change the factor-retention contract, mark Ready, approve, merge, or expand into structural model selection. Stop after exact-head deterministic evidence. |
|
@opencode-agent address Take a bounded writer lease on PR #617 only if a final refetch still shows exact head Current exact-head Security/SAST are green and CI reaches the complete product suite; the known deterministic integration defect is managed changelog parity, while protected main has since advanced through #618. Execute only this bounded cleanup:
Keep Draft. Do not alter factor-retention semantics, add psychometric arithmetic in Python, enter structural-model selection, modify dependencies/workflows/version/release, or touch canonical architecture PR #604. |
|
Superseded bookkeeping note: an earlier exact-current writer handoff already covers head |
|
@opencode-agent address Take a bounded writer lease only if a final refetch still shows Draft head Exact-current evidence is narrow: Security Scan Reconcile current protected main non-destructively, preserving #618 and all accepted-main behavior plus only this PR's four unique paths ( |
|
@opencode-agent address Take a bounded writer lease only if a final refetch still shows Draft head Do not change factor-retention semantics. Run the focused contract first, then synchronize only managed release notes with |
|
@jules address Fallback bounded writer handoff for exact Draft head Do not change factor-retention semantics. Exact-head CI has one deterministic failure only: managed |
|
@opencode-agent address Superseding bounded handoff after protected Reconcile current main non-destructively while preserving only #617's factor-retention implementation/test/doctoring/fragment plus all accepted-main behavior, including the CodeQL analyze 4.37.6 pin. Do not change factor-retention semantics or numerical ownership. Run the focused factor-retention contract, render/check managed |
|
@opencode-agent address Superseding factor-retention cleanup handoff after both CodeQL dependency PRs merged. Fresh identities: Draft #617 exact head Preserve the already-proven RED and current governed factor-retention semantics: Python is validation/orchestration only, closed method identities, bounded positive counts, streaming duplicate rejection, zero/one method insufficient, agreement consensus, disagreement conservative range/no forced winner, no structural-model selection. Reconcile protected main non-destructively, preserving both CodeQL Keep Draft. No dependencies/workflows/version/release, NumPy/statistical kernels, structural model-selection expansion, canonical docs #604, Ready/approval/merge changes. Stop source writes after one coherent verified update; fresh exact-head full CI/Security/SAST/review returns to the maintainer loop. |
|
@jules address Fallback sole branch writer for exact Draft #617 head Preserve the already-proven fail-first history and existing governed factor-retention semantics. Reconcile the two accepted CodeQL 4.37.6 protected-main commits non-destructively; do not ours/theirs or force-push. Then run focused Keep Draft and stop source writes after that coherent update. Do not change factor-retention semantics, add numerical Python kernels, expand into structural-model selection, alter dependencies/workflows/version/release, touch canonical docs #604, mark Ready/approve/merge/close #608, or create another PR. Fresh exact-head CI/Security/SAST/review belongs to the maintainer loop. |
|
Superseded by a clean-lineage replacement from exact protected |
Buyer-visible gap
Issue #608 separates factor retention from structural measurement-model selection. Protected
mainalready exposes Rust-backed parallel analysis, Velicer MAP and relation-safe model-comparison primitives, but it lacked one governed factor-retention evidence/result contract that can conservatively represent agreement, disagreement and insufficient evidence without declaring a universal method winner.Test-first implementation
This branch began with an intentional runtime RED proving that
fast_mlsirm.factor_retentiondid not exist, then added the bounded provider-neutral contract/orchestration layer. Numerical factor-retention arithmetic remains outside Python ownership.The implemented contract:
consensus,disagreement, orinsufficient_evidencestatus with a candidate range instead of forcing one retained count when supported methods disagree;Canonical PRD/TRD/Architecture/ADR/UML authority remains #604; this feature PR must not create a competing architecture baseline.
Exact-current evidence
Freshly revalidated state:
main:8db4bf358b0a469915d6c5e336054f4a4f9c6b46;89fa2e8d542c50ded20bb28e27b6f418e96e01f0;31325541500reaches the full Python suite with the feature GREEN and fails onlytests/test_changelog_fragment_contract.py::test_repository_changelog_is_rendered_from_current_fragmentsbecausedocs/changelog.d/608-factor-retention-evidence-contract.mdhas not yet been rendered into managedCHANGELOG.md;Scientific boundary
Factor retention is evidence about dimensionality count, not proof of a particular structural model, scoreability, construct validity, fairness or consequential-decision readiness. Method agreement is informative but is not a universal optimality guarantee; disagreement remains a first-class governed outcome.
Remaining Draft gate
Keep Draft. Render/check the authoritative changelog without changing the feature contract, then require one unchanged exact head with full relevant CI/Security/SAST, current-head automated review, zero valid unresolved findings and the repository's actual approval/branch-protection policy. If source head or protected main moves, discard predecessor acceptance evidence and refetch.
Advances #608.