Skip to content

검증된 공통 편집 계약과 책임 경계를 정본으로 확정한다 #735

Description

@developer-1px

Goal Anchor

  • Outcome: 최근 구현과 테스트로 확인된 공통 프로토콜 및 책임 경계를 정본 계약으로 명시하여, 후속 변경에서 유지할 의미와 아직 열려 있는 정책을 구별할 수 있게 한다.
  • Done: JSONDocument의 기존 Stable 계약을 참조하고, Editing의 상태·관찰·실패 복구·History 소유권과 기존 플랫폼/도메인 책임 경계를 규범 문서 및 실제 검증 증거에 연결한다. 확정 범위와 변경 시 지켜야 할 호환성 기준이 발견 가능하며 관련 검사와 테스트가 통과한다.
  • Don't: runtime 동작, public API, wire 형식, package 배치를 변경하지 않는다. Hands별 Copy/Paste·전체 선택·단축키·지원 기능 정책, 전체 Hands의 Stable admission이나 외부 상호운용성을 확정하지 않는다. 새 범용 editor·command bus·registry를 도입하지 않는다.

위임 범위와 근거

사용자는 공통 문서 접점, 문서/선택/History의 구분, 일관된 편집 결과, 구현 교체 경계, 플랫폼 입력 및 도메인 의미의 소유권에 대한 설명 뒤 **“굳힐수 있는걸 굳히자”**라고 실행을 위임했다. 이번에는 이미 제공되는 공통 의미의 확정과 검증에 한정한다.

  • JSONDocument v3의 여섯 member와 기존 Stable profile은 유지한다.
  • EditingSession의 값 동등성, snapshot 소유권, 재진입 알림 순서, 외부 selection mapping/reconciliation 및 오류 복구를 기존 구현·회귀 테스트와 연결한다.
  • local inverse History와 명시적으로 주입하는 EditingHistory를 구별하며, 작업 결과의 귀속과 복원 실패 시 재시도 경계를 명시한다.
  • 기존 DOM lifecycle 및 책임 배치 정본을 참조하여 플랫폼 입력, 도메인 연산, Host 조립의 소유권을 유지한다. 책임 지도와 필수 호출 계층을 혼동하지 않는다.
  • 각 규범은 적용 범위와 owner, 검증 증거를 갖는다. 구현 세부사항이나 아직 미검증인 profile 선택은 동결하지 않는다.

기존 작업과의 관계

#725 / #726은 Hands별 편집 문법을 도출하는 설계 초안이다. 그 이슈와 문서는 인계받거나 수정하지 않는다. #729 / #730, #731 / #732, #733 / #734의 진행 중인 동작 수정이나 API 확장을 이번 확정의 완료 증거로 포함하지 않는다.

현재 사용자 체크아웃에는 미커밋 문서 작업이 있다. 해당 상태를 보존하고 별도 clean checkout의 최신 origin/main을 기준으로 작업한다.

검증

  • 각 규범과 현행 public API, owner 및 행동 테스트를 대조한다.
  • 관련 Core conformance, Editing 및 History/lifecycle 검증을 실행한다.
  • 공개 문서 검사, 링크/증거 연결 검사, 전체 diff의 범위와 모순을 확인한다.
  • 문서와 검증 연결만 변경하는 PR로 제공한다. merge는 포함하지 않는다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions