{"commit":{"body":[{"label":"Why","text":"검증된 Native 결과를 Python downstream에 연결하고 사용자 제한 수용을 수치 FAIL과 구분해야 했다."},{"label":"What","text":"SDK 수명 안에서 Metadata 독립 복사, Det raw parser cutover, component와 세대 fencing, exact Artifact acceptance policy를 구현했다."},{"label":"Impact","text":"source와 격리 검증만 완료. 기존 소비자 threshold 유지. one-decode와 Pipeline Runtime은 WAIT이며 운영 모델과 image는 변경하지 않았다."},{"label":"Verify","text":"128 unit PASS, 실제 SDK Metadata fixture PASS, Native compile/link와 C++ check PASS, exact 제한 수용 ready=false. 초기 GPU 격리 설정 누락은 기록하고 최종 runc 장치0 환경에서 재검증했다."},{"label":"Rollback","text":"이번 source commit 후보 전체 revert. 실제 배포를 하지 않아 image/model rollback은 실행하지 않는다."}],"title":"feat(medium-bridge): Native Metadata 소비와 exact FP16 제한 수용 연결"},"created_at":"2026-09-10T03:04:37+00:00","expires_at":"2026-09-11T03:04:37+00:00","job_id":"contextra-medium-native-20260910","paths":[{"change":"added","content_sha256":"5120cbfe0638f9b2447be9eac0952efd78ce115049b1004a7d58191e8eb00d84","path":"app/native_metadata.py"},{"change":"modified","content_sha256":"08723fb3d9e7fe00cd1c13cbd9efa27b1916ebaa9192f4d3e1d21026c78b5fad","path":"app/multi_pipeline.py"},{"change":"modified","content_sha256":"71099fe62064d5bd7d3c5f1bcd89cb5cbdefa4b231aa306cd885368f2a178df4","path":"app/stream_manager.py"},{"change":"modified","content_sha256":"1f7d9ce4bc1fed0b858937aaafd72d82160af2b60ef4606bd4fbdc6231dc3569","path":"app/inference_profiles.py"},{"change":"modified","content_sha256":"bc230e7982a1450cf741afbe515bf3ad9dacdbe0b3858166c8696cdb97e53459","path":"app/cfg_templates/nvinferserver_grpc_det.tmpl"},{"change":"modified","content_sha256":"852bc0b1df4838cedc63f03d21975f57f7b838385ff6d5508c1c84df09068803","path":"model_tooling/deploy.py"},{"change":"added","content_sha256":"7d27ac484ce4e0fc5e094e426768c8aa5dda4c68c2e1d323a4963e60390cfdb4","path":"model_tooling/medium_acceptance.py"},{"change":"modified","content_sha256":"9e208bbdfe25184bae4d7a191f5bccffdf1e0fcb878a99a3b84d51a19248d855","path":"model_tooling/README.md"},{"change":"added","content_sha256":"4b366479f89b650d72717380e4186e20c5d8952a7ab179417d2b450c3cb4d7b1","path":"tests/test_native_metadata.py"},{"change":"added","content_sha256":"98baecacfb60fe82bcd531eb3d3f1036d523d1529a28fbbf6e079fd70d8dcd83","path":"tests/native_metadata_fixture.cpp"},{"change":"added","content_sha256":"74d2f699b2b5e040af27638c49f369535a03c4d2c05dbcd873a3e0f3cab2e256","path":"tests/native_metadata_sdk_probe.py"},{"change":"modified","content_sha256":"01e81cfeb0fad0447b2fecd8655217a4a72f6aff05137044aa0d7546bc724788","path":"tests/test_model_deploy.py"},{"change":"modified","content_sha256":"48f07ff6d511b63cb4f1fa08916a42cc254b2025bb2f4dd14ee15d273607dd48","path":"tests/test_medium_preprocess.py"},{"change":"modified","content_sha256":"1180b29b6018f917746d5cb942dfe416b672e6e9d343f928201726062d142775","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/README.ko.md"},{"change":"added","content_sha256":"91d7bec616a571776dd957e9d212525b17d26518bd98ccc4b6b75f524dc320ca","path":"docs/profiles/ltb1021/topics/runtime-lifecycle/validation/20260910T115939+0900-validation-medium-native-bridge-acceptance.md"}],"plan_hash":"0796047feb7990279775371df7e9a16cdebfdc5010b8407123b53771bb9b6626","profile":"ltb1021","push":{"branch":"task/runtime-lifecycle-refactor","mode":"upstream","remote":"origin","remote_identity":"sha256:3a9ce41319a2ebea","upstream_head":"c8b46185512ac2bcc44736c25223b481ce27cc50","upstream_ref":"origin/task/runtime-lifecycle-refactor"},"repository":{"baseline_head":"c8b46185512ac2bcc44736c25223b481ce27cc50","branch":"task/runtime-lifecycle-refactor","worktree":"/workspace/contextra-analytics-runtime-lifecycle-refactor"},"schema_version":"ltb1021.codex_hub.git_closeout_manifest.v1","session_alias":"work-session","verify":["128 unit PASS; SDK CPU bridge PASS; Native all/check PASS; exact limited plan numerical FAIL preserved; diff-check/link PASS; Runtime WAIT"]}
