Skip to content

Database saved-view와 편집 표현 책임을 정본 모듈로 수렴한다 #586

Description

@developer-1px

Goal Anchor

  • Outcome: Database의 saved-view, change contract, property control 책임이 각각 하나의 정본 모듈을 통해 확장된다.
  • Done: DatabaseTableViewDatabaseViewDocument의 병렬 모델을 제거하고, remote update가 전체 records를 비교하지 않으며, cell과 record panel이 같은 property control owner를 소비한다.
  • Don’t: 기존 local document·legacy Zod records·remote resource 공개 사용 사례와 다섯 property type 동작을 깨지 않는다. Host/Demo에 domain 책임을 옮기거나 의미 없는 facade·전역 registry·자기 등록 lifecycle을 추가하지 않는다.

감사 근거

  • json-document-editing/src/database.tsDatabaseTableViewjson-document-database/src/contracts.tsDatabaseViewDocument가 saved-view projection을 병렬 소유한다.
  • json-document-database/src/database-hands.tsxDatabaseHand의 전체 records 결과를 JSON.stringify와 shallow diff로 역추론한다.
  • database-hand.tsx의 cell editor와 database-hands.tsx의 record panel이 property type별 React control 선택을 각각 구현한다.
  • 현재 canonical closure guard는 property value conversion 우회만 검사한다.

범위와 순서

  1. Saved-view headless model과 mutation을 @interactive-os/json-document-editing에 확장하고 Hand의 병렬 model을 제거한다.
  2. DatabaseHandChange가 변경 record와 patch 또는 동등한 canonical operation을 제공하게 하여 consumer-local diff를 제거한다.
  3. property type별 React control 선택을 @interactive-os/json-document-database 내부 named canonical module로 수렴한다.
  4. owner tests, API reference, Usage, source registration, recurrence guard를 갱신하고 모든 in-scope consumer를 이동한다.

완료 증거

  • saved-view 모델과 mutation owner가 하나이며 기존 DatabaseViewDocument 병렬 계약이 남지 않는다.
  • remote resource update path에 JSON.stringify 기반 record 탐색이 없다.
  • cell과 record panel의 property type 분기는 한 canonical React module만 소유한다.
  • Database Demo와 Zod connector Demo는 fixture·copy·layout·wiring만 소유한다.
  • Editing·Database·Zod package test/typecheck/build, docs/API 검사, canonical closure guard, Database browser flow가 통과한다.
  • 변경 production source LOC는 기능 삭제 없이 가능한 범위에서 순감소한다.

제외

  • 새로운 table layout 장르 추가
  • Database 외 domain의 일반화
  • 배포 및 병합

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