Skip to content

Task-대안추천 data contract 추가 #243

@muzygosu

Description

@muzygosu

Summary

대안추천 기능이 읽고 쓸 공통 data contract를 추가합니다. 실제 위험상황 판정이나 추천 문구 생성은 포함하지 않고, persisted 결과 아티팩트에서 추천 입력 지표와 추천 출력 후보를 안정적으로 표현할 수 있는 domain 모델을 먼저 고정합니다.

Parent Issue

#84

Area

Domain

Target Sprint

Sprint 3

Scope

  • 대안추천 입력 지표 모델을 정의합니다.
  • 출구 병목, 복도 병목, 양방향 흐름 충돌, 제한시간 초과 판단에 필요한 최소 지표를 표현합니다.
  • 추천 결과 모델에 위험상황 종류, 관련 지표, 추천 대안, 우선순위, 근거 요약을 담을 수 있게 합니다.
  • ScenarioComparison / CumulativeArtifact 등 persisted 결과 아티팩트에서 읽을 수 있는 경계를 정리합니다.
  • UI 문자열 조합이나 실제 추천 규칙은 이 이슈에 포함하지 않습니다.

Acceptance Criteria

  • domain 계층에 대안추천 입력/출력 data contract가 정의됩니다.
  • 출구, 복도, 흐름 충돌, 시간 초과에 필요한 지표가 모델에 표현됩니다.
  • 빈 결과나 데이터 부족 상태를 표현할 수 있습니다.
  • 기존 no-recommendation 실행 경로의 동작은 바뀌지 않습니다.

Architecture / Dependency Check

  • 구현은 src/domain에 둡니다.
  • Qt/application 타입을 domain에 추가하지 않습니다.
  • engine은 recommendation 개념을 알지 않습니다.
  • persisted artifact 경계를 재사용하고 UI 전용 상태를 만들지 않습니다.

Verification Plan

  • cmake --build --preset build-no-app-debug
  • ctest --preset test-no-app-debug
  • data contract 기본 생성/빈 상태 smoke test를 추가하거나 기존 domain 테스트에 포함합니다.

Dependencies / Blockers

Repository Checks

  • I checked for an existing related issue or epic before creating this task.
  • I will keep the issue title aligned with the repository naming convention.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions