You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Outcome: Calendar의 공개 API를 정석대로 소비하면 Host 보정 없이 같은 선택 대상·편집 결과를 얻도록 기존 생태계의 정본 계약을 보강한다.
Done: 선택/붙여넣기 대상과 입력 검증의 재현된 누락을 해결하고, Calendar Document Type의 독립 공개 경계를 확정한다. 기존 Editing API 호환 경로와 소비자를 연결하고 공통 Editing Grammar 검사, 소유자 문서, site Usage/Source, 책임 감사표까지 실제 구현과 일치시킨다.
현재 main 19a96084에서 확인한 Calendar 책임 10건과 Hand 선택 상태 1건을 기준으로 한다.
반복 일정의 8월 3일을 hand.dispatch(selection.set)로 선택하고 제목을 바꾸면 8월 1일이 바뀐다. Hand의 선택 회차 복제 상태를 제거하고 Editor의 정본 primaryOccurrence를 소비한다. 빈 셀에 지정한 명시적 paste target은 별도 임시 입력으로 보존한다.
editor.paste(payload)의 기본 대상이 선택 회차가 아닌 원본 event.start다. 명시적 target과 기본 target 계약을 일치시키고 직접 API/Hand/외부 selection/초기 선택 경로를 검사한다.
calendars의 비배열, 숫자 id/title, 문자열 hidden을 생성자가 수용한다. 생략된 legacy 필드 호환은 보존하고 잘못된 타입·참조를 정본 검증에서 거절한다.
Calendar 모델·검증·의미 연산·projection을 입력/Editing lifecycle과 독립된 Document Type 공개 소유자로 분리한다. 독립 소비 시 Editing·Selection·React peer를 요구하지 않는 @interactive-os/json-document-calendar-document 경계를 등록하고 기존 Editing root export는 호환 경로로 보존한다. 기존 순수 구현을 이전하며 중복 알고리즘은 만들지 않는다.
공통 gesture lifecycle은 Affordance, Calendar 전용 Intent 연결은 Editing, DOM 번역은 Web이라는 실제 경계를 감사표와 문서에 반영한다. 제품 타입을 일반 Affordance로 기계적으로 옮기지 않는다.
기존 공통 Editing Grammar runner에 Calendar를 연결하고 공개 사용 예제의 호출 경로를 회귀 검사한다. hands.md의 Calendar/UI Primitives 소유권 drift와 Document Type의 현재/TBD를 갱신한다.
완료 증거
재현 입력의 실패→통과 회귀 검사와 정상 selectOccurrence/명시 target/legacy 입력 대조군.
Calendar Document Type 독립 import, validate/plan/project 및 Editing과의 결과 일치 검사.
기존 Calendar/Editing/Selection 관련 테스트, 영향 범위 타입·빌드, workspace와 문서/소스 등록 검사.
배포 tarball의 독립 소비 및 기존 API 호환 확인.
기존 Chrome profile에서 실제 Calendar 흐름과 Document Type/owner API/Usage/Source 확인.
감사한 책임마다 단일 소유자와 판정을 기록하고 미확인 항목을 완료로 표시하지 않는다.
자동 PR 전체 CI를 재도입하거나 수동 full CI를 관성적으로 실행하지 않는다. 실행하지 못한 검사는 별도로 보고한다.
선택/붙여넣기/Calendar 목록 검증의 실패 11건을 먼저 재현한 뒤 수정했습니다. 재현 및 기존 Hand 흐름 76개가 통과했고, Document Type 독립 계약과 공통 Calendar Editing Grammar 검사 34개도 통과했습니다. 모델·검증·의미 연산·projection의 구현은 새 정본 소유자로 이전했으며 기존 Editing export는 호환 경로로 유지합니다. 현재 직접 소비자와 문서·Usage/Source·감사표를 연결하고 있으며 전체 완료나 패키지 배포를 의미하지는 않습니다.
영향 범위 라이브러리 65개 파일 / 652개 테스트, 사이트 25개 파일 / 144개 테스트가 통과했습니다.
전체 라이브러리 빌드, Calendar Document Type·Editing·Calendar Hand 타입 검사, 사이트 타입 검사와 production build, 31개 package의 workspace/API 문서 및 소유권 등록 검사를 통과했습니다.
실제 tarball만 설치한 별도 소비자에서 Core + Calendar Document Type + Temporal만 존재하는 의존성 트리와 validate/plan/project/removal을 확인했습니다. 기존 Editing 공개 타입·함수 identity, 선택 회차 기본 paste와 Undo도 외부 소비자로 검증했습니다.
기존 Chrome 프로필에서 5월 27일 반복 회차만 11시로 수정하고, 5월 28일 회차에 붙여넣은 뒤 Undo하여 대상 날짜와 다른 회차 보존을 확인했습니다. Calendar RC / Sheet TBD와 소유자 API 페이지도 확인했습니다.
실행하지 않은 자동 PR 전체 CI나 브라우저 전체 suite를 통과로 기록하지 않습니다. 남은 작업은 Usage Source 최종 링크 확인, 커밋·push·PR 등록입니다.
Activity
developer-1px commentedon Sep 9, 2026
선택/붙여넣기/Calendar 목록 검증의 실패 11건을 먼저 재현한 뒤 수정했습니다. 재현 및 기존 Hand 흐름 76개가 통과했고, Document Type 독립 계약과 공통 Calendar Editing Grammar 검사 34개도 통과했습니다. 모델·검증·의미 연산·projection의 구현은 새 정본 소유자로 이전했으며 기존 Editing export는 호환 경로로 유지합니다. 현재 직접 소비자와 문서·Usage/Source·감사표를 연결하고 있으며 전체 완료나 패키지 배포를 의미하지는 않습니다.
developer-1px commentedon Sep 9, 2026
검증 진행
developer-1px commentedon Sep 9, 2026
PR #746을 등록했습니다. 검증 revision은 d064978f이며 로컬 작업트리·원격 브랜치·PR head가 같은지 확인하고 있습니다. 실제 Calendar Usage의 calendar-operation.ts Source가 새 소유자 구현과 /docs/api/calendar-document로 연결되는 것까지 기존 Chrome에서 확인했습니다. 구현·문서·감사표 보강을 PR에 담았으며 merge와 npm publish는 수행하지 않았습니다.
fix(calendar): Document Type 정본 계약과 소비 경계를 보강한다 (#746)