Skip to content

Task-ResultAggregator 기반 persisted 결과 아티팩트 생성 구조 정리 #27

@learncold

Description

@learncold

Summary

ResultAggregator가 RunResult, VariationSummary, ScenarioComparison, CumulativeArtifact를 생성·갱신하는 persisted 결과 아티팩트 구조를 정리한다.

Parent Issue

#3

Area

Domain

Target Sprint

Sprint 2

Why Needed

source of truth는 ResultAggregator를 화면용 즉석 계산기가 아니라 persisted artifact 생성/갱신 책임으로 정의한다. ScenarioComparison과 CumulativeArtifact도 화면용 계산 결과가 아니라 저장 가능한 아티팩트여야 한다.

Scope

  • RunResult, VariationSummary, ScenarioComparison, CumulativeArtifact 구조를 정리한다.
  • ResultAggregator가 run 결과를 상위 persisted artifact로 승격하는 책임을 가진다.
  • ArtifactIndex와 canonical export reference 경계를 정리한다.
  • comparison/export/recommendation이 ad hoc 계산 대신 persisted artifact를 읽도록 연결한다.

Out of Scope

  • application comparison UI 상세
  • #29에서 다룸
  • 추천 최적화 로직 연구
  • #107에서 다룸

Core Design Criteria

  • ScenarioComparison은 persisted artifact이며 screen-only delta view가 아니다.
  • CumulativeArtifact는 canonical bundle이고 export/recommendation 입력으로 사용한다.
  • ResultAggregator는 artifact 생성/갱신 책임을 가진다.

Acceptance Criteria

  • ResultAggregator가 persisted artifact 생성/갱신 책임으로 정의된다.
  • RunResult / VariationSummary / ScenarioComparison / CumulativeArtifact 경계가 분리된다.
  • 후속 comparison/export/recommendation이 persisted artifact를 읽을 수 있다.

Related Docs

  • docs/product/Product Backlog - Pathfinder 반영안.md
  • docs/architecture/프로젝트 구조.md
  • uml/domain-result-artifacts.puml
  • uml/application-run-results-workflow.puml

Dependencies / Blockers

Repository Checks

  • I checked for an existing related issue or epic before creating or updating 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

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions