Skip to content

TSK-012-04 Event tab festival-only cleanup #408

@ClarusIubar

Description

@ClarusIubar

메타데이터

목표

EventTab의 tourism 세그먼트를 제거하고 행사 탭을 행사 콘텐츠 전용으로 고정한다.

고정 결정

  • KTO 관광정보 표시 토글 기본값은 OFF다.
  • 기존 src/api/tourismClient.tssrc/tourismTypes.ts contract가 main에 있으면 우선 사용하고, 없으면 중복 client를 만들지 않고 해당 gap을 audit evidence로 기록한다.
  • API path, response shape, DB schema, OAuth 성공 경로는 변경하지 않는다.
  • KTO/OpenAPI, Supabase, admin import/sync를 브라우저에서 직접 호출하지 않는다.
  • 사용자-facing copy는 이 child 목표 달성에 필요한 범위에서만 변경한다.

체크리스트

  • 현재 코드 기준 변경 전 동작 또는 구조를 테스트/근거로 고정
  • child scope 외 파일/행동 변경 없음
  • public interface 변경 시 타입과 테스트 갱신
  • Architecture Boundary Gate 근거 기록
  • PR URL 기록
  • merge SHA 기록
  • CI URL 기록

검증 체크리스트

  • npm.cmd run check:numeric-literals
  • npm.cmd run lint
  • npm.cmd run typecheck
  • npm.cmd run test:unit
  • 변경 범위에 따라 npm.cmd run test:integration
  • 변경 범위에 따라 npm.cmd run test:regression
  • UI 변경 범위에 따라 npm.cmd run test:e2e
  • npm.cmd run build
  • git diff --check
  • UTF-8 integrity check

Core Classification

Verification Contract

Required commands

  • npm.cmd run check:numeric-literals
  • npm.cmd run lint
  • npm.cmd run typecheck
  • npm.cmd run test:unit
  • npm.cmd run test:integration
  • npm.cmd run test:regression
  • npm.cmd run test:e2e
  • npm.cmd run build
  • git diff --check
  • UTF-8 integrity check

Source-of-truth readback

Required evidence

  • PR URL
  • main merge SHA
  • CI URL
  • local validation command output summary
  • completion report path

Fail-closed failure modes

  • KTO map layer work becomes necessary
  • EventTab removal changes API path or response shape
  • user-facing copy change outside festival-only cleanup is required

Architecture Boundary Gate

  • Responsibility map: EventTab owns festival/event presentation only after this change. KTO tourism presentation moves out of EventTab and remains pending for TSK-012-05 KTO tourism map layer and InfoSheet #409 map layer.
  • Dependency direction: event tab UI must not import tourism API/client/types after this change.
  • Test seam: Event tab behavior is verified through unit/e2e tests that assert festival-only rendering and absence of tourism segment/API calls.
  • Scope map: TSK-012-04 Event tab festival-only cleanup #408 changes EventTab state, props, tests, and completion evidence only.
  • Architecture risk: if existing parent props still carry tourism data, this child may leave unused upstream data cleanup to TSK-012-05 KTO tourism map layer and InfoSheet #409 or a follow-up only when required by typecheck.

완료 근거

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:frontendReact UI, hooks, coordinator, and client service workpriority:highHigh priority worktopic:architectureResponsibility boundaries, dependency flow, and module shapetype:featureFeature or additive behavior work

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions