fix(autoFIPC): fail fast on unresolved common-item mappings - #375
seonghobae wants to merge 1 commit into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
|
@jules 이 branch를 single-writer로 이어서 수리해 주세요. 현재 exact 핵심 acceptance는 PR 본문 그대로입니다. raw data는 먼저 새 test를 실제로 실행해 RED를 확인하고, 그 뒤 production repair → exact-head R CMD check/package tests → applicable quality/security/SAST/Required CodeQL → independent review 순서로 진행해 주세요. 이 handoff 이후 fleet loop는 이 branch의 source/docs/refs/PR-state를 read-only로 취급합니다. |
Finding
Protected
master@f87c2324f1686135e57d8730c1b0b9420874f300는newformCommonItemNames/oldformCommonItemNames의 타입과 길이만 확인하고, 실제 form/model item namespace에 존재하는지와 mapping의 유일성을 확인하지 않습니다. 뒤쪽 IPD/linking 경로는match()결과가NA인 pair를 일부 필터링하거나 그대로 다시 사용하므로, 잘못 지정한 anchor가 초기 계약 경계에서 명확하게 거부되지 않고 추정·linking 단계까지 흘러갈 수 있습니다.이 PR은 먼저 public
autoFIPC()경계에서 현실 RED만 추가합니다.master@f87c2324f1686135e57d8730c1b0b9420874f300bceb4e98f6ae98ea5e9e3dec201f4e41acf134e2RED contract
tests/testthat/test-common-item-mapping.R는 calibration을 시작하지 않도록confirmCommonItems = FALSE를 사용하면서도 validation ordering을 직접 검증합니다.newformCommonItemNames ... not present로 fail fastoldformCommonItemNames ... not present로 fail fastNA와 empty name을 거부Protected implementation은 이 membership/uniqueness validation이 없어 첫 네 계약을 만족하지 못하므로 이 commit은 semantic RED입니다. Successor production fix가 아직 없고 hosted failure도 아직 확인하지 않았으므로 hosted RED라고 주장하지 않습니다.
Minimal GREEN acceptance
Production repair는
autoFIPC()의 초기 input boundary에서 수행합니다.colnames()를, validSingleGroupClass는 실제 fitted model data item names를 authoritative namespace로 사용합니다.match(...); valid_idx <- ...로 silently partial mapping을 허용하는 방식으로 수리하지 않습니다.itemtyperepair, #349의 binary-choice repair, #169의 fitted-model/data column membership 실험과 unrelated delta를 이 branch에 복사하지 않습니다.Exact repaired head에서 R CMD check, package tests, Code Quality, Security/SAST/Required CodeQL과 qualifying independent current-head review를 다시 요구합니다.
docs/product-technical-gap-baseline.md는 현재 #261 문서 lane과 경쟁 수정하지 않고, 이 contract가 protected integration된 뒤 canonical docs owner가 흡수하도록 합니다.Force push, destructive rebase, self-approval, warning suppression, no-op retrigger, predecessor GREEN transfer는 acceptance가 아닙니다.