vignette/docs/ops/evidence/outcome-trajectory-alerts-live-2026-08-07.json
Yun Chan 16e791e044 G0~G8 성과·동맹 측정 OS 작업 일괄 고정
8월 7일까지 워킹트리에만 남아 있던 미커밋 작업을 커밋한다. 여러 사본
폴더(worktree·clone)에 흩어져 있던 중간 스냅샷을 정리하기 전에 원본을
git 이력으로 고정하는 것이 목적이다.

- contracts/routes/services: measurement, outcome_trajectory, rupture_repair,
  deliberate_practice, calibration_transfer, supervision_research,
  multimodal_alliance, continuous_improvement 계열 신규 모듈과 테스트
- infra/db/init: 07~16 마이그레이션(측정 기반~calibration transfer 실행)
- apps/web: 세션 리뷰 카드·관리 화면·E2E 스펙 추가
- docs/ops: G0~G8 라이브 통합·배포·롤백 증거 문서와 evidence JSON/PNG
- scripts: smoke·ledger·릴리스 에이전트·NAS 프리뷰 운영 스크립트

engine.public 로그 .bak과 apps/web/test-results 산출물은 커밋에서 제외했다.
2026-08-08 01:30:53 +09:00

136 lines
4.6 KiB
JSON

{
"ok": true,
"fixture_classification": "synthetic_educational",
"clinical_claim_allowed": false,
"notice_ko": "교육용 합성 fixture 검증이며 임상적 효과·예후를 주장하지 않는다.",
"fixture_policy": "retained unique dev:e2e rows in expendable development DB; append-only ledger",
"entrypoint": "outcome_trajectories.create_outcome_observations -> outcome_trajectory_store measurement producer -> evaluator",
"direct_measurement_or_trajectory_insert_used": false,
"source_values_in_evidence_json": false,
"worsening_case": {
"case_id": "3cc6fd3d-2f07-48fe-953d-892220032969",
"session_ids": [
"1ff3303d-90a4-4e39-a97c-ddd4a0eb2853",
"8c7fcee3-236e-4754-a389-e8520dad0820",
"ef944592-85af-49ee-b65a-fe00e669a170",
"10268cf6-085d-45c3-8cb0-5e8f4d3deeff",
"963c4ce5-6b65-4a80-b769-70f59415c357"
],
"submitted_measurement_ids": [
"3d890cd4-b900-4d11-9171-48129191114c",
"e4bf8757-150e-4407-9d03-c531569d70d9",
"bbe90493-b395-4c3a-9eca-ed6e05dd7f4a",
"2c576380-7d47-4c08-adde-36d00ac34fef",
"baf2913f-ca97-4d7f-9a1b-fc4df9fe9150",
"24a6a0f5-a189-469a-ad47-dd2a18c05e90",
"ccbe1ea7-b1e4-4317-8aff-6163ba77dff5",
"00e4a6f3-ad72-47e6-8bee-c16d3ab6001c",
"fa9b7405-126a-4df2-9293-8e05f3272688",
"048d9517-9bc3-468b-91a8-b1da34b9b1fd",
"0ea9dccd-1e34-4cc5-ad39-85c8265a679c",
"251823c8-ecdd-4222-a7ca-571008939c52",
"2cc608e1-a4b7-4536-8c57-626601db440f",
"07b4cd30-5f17-4691-9976-6b9ce5a24681",
"2b214613-8c02-4ebb-b66b-db5dcb4b4845"
],
"revision_id": "3600a0c0-12a5-40bd-bf95-b4c357f0c0f3",
"revision_no": 5,
"source_fingerprint": "5f3ec984904a9e650ae40dd9c151a0ee2c5265beb4723893d99f79f2d6ac7fda",
"session_statuses": [
"on_track",
"on_track",
"off_track",
"deteriorating",
"deteriorating"
],
"learner_teacher_projection_equal": true,
"next_question_count": 2,
"alert_promotion_count": 2
},
"noisy_one_off_control": {
"case_id": "0a450686-0fa2-4a2f-a2d9-bb330a66db59",
"session_ids": [
"c7595f2f-5c5f-4192-8daa-f6142d5c7d81",
"c4537b4a-ed0c-41f3-9f88-e491ee2119ea",
"67a0c44c-4e2c-4556-a223-496af1952755",
"a9d51d2b-bc76-4f43-9c2f-1e76484899ff",
"01fe73c1-0775-42f6-a982-9f222679d86c"
],
"submitted_measurement_ids": [
"726472f9-f9e7-420a-a824-2b4a21d1746c",
"2bbb08c7-f00e-446b-b75c-4773966b7a09",
"8616160a-7b08-456c-ab80-750add21bc5b",
"f52ba8b6-da26-4460-8c35-f4e1cd0bbd6f",
"8b7417f6-5e2c-44d3-8388-e4b219f3f987",
"edb5380a-62cb-48fe-a888-a258cb3432cd",
"97dd3f10-f637-48bb-ae4f-9ee2792ffc3b",
"ace1ba20-564e-406b-8b58-5a426b867ff2",
"f53b00b2-ee43-4e1b-80d0-94c100f1cd59",
"ebbfb544-3444-49a1-b039-83fbb8d82107",
"5ebe4b98-3b62-4539-a495-51f70503fce3",
"14ad4ea2-3233-4132-b95c-77d7a487d3b3",
"009a7656-d209-4c37-9494-4eee7084e41d",
"956f6f5b-2600-49b3-9343-2f991cdce92c",
"72e4d65d-163e-4281-a5c6-fe0c496647ff"
],
"revision_id": "f6b289a0-d3d4-4c41-bbd4-4e434abd5b83",
"revision_no": 5,
"source_fingerprint": "631b8fbe96322206687d7ef6ad692e9ddf1a9722b16b4a41429483546800d6d7",
"session_statuses": [
"on_track",
"on_track",
"watch",
"on_track",
"on_track"
],
"learner_teacher_projection_equal": true,
"next_question_count": 1,
"alert_promotion_count": 0
},
"postgres": {
"measurement_event_count": 30,
"distinct_measurement_count": 30,
"session_count": 10,
"source_kinds": [
"learner_reported"
],
"perspectives": [
"learner_self_report"
],
"instrument_ids": [
"vignette-session-outcome-checkin"
],
"instrument_versions": [
"1.0.0"
],
"all_nonclinical": true,
"all_have_submission_provenance": true,
"revision_chains": [
{
"case_id": "0a450686-0fa2-4a2f-a2d9-bb330a66db59",
"revision_count": 5,
"first_revision": 1,
"last_revision": 5,
"fingerprint_count": 5,
"superseding_revision_count": 4,
"computed_roles": [
"learner"
]
},
{
"case_id": "3cc6fd3d-2f07-48fe-953d-892220032969",
"revision_count": 5,
"first_revision": 1,
"last_revision": 5,
"fingerprint_count": 5,
"superseding_revision_count": 4,
"computed_roles": [
"learner"
]
}
],
"latest_observation_snapshot_count": 30,
"all_measurements_linked_to_observation_ledger": true,
"producer_store_evaluator_boundary_proved": true
}
}