User problem
Carbon hotkey registration에 legacy SNAP identifier가 남아 있어 실행 binary와 내부 diagnostics의 canonical Zap naming이 일치하지 않는다. 이 값은 사용자 기능은 아니지만 registration event를 식별하는 low-level signature이므로 교체 시 기존 hotkey registration과 dispatch behavior가 그대로 유지되어야 한다.
Product value
실행 binary와 내부 diagnostics까지 정식 제품명 Zap으로 일관되게 유지한다. 오래된 Carbon identifier를 bounded하게 제거하면서 shortcut registration과 event dispatch regression을 방지한다.
Scope
GlobalHotKeyService의 legacy SNAP Carbon OSType signature를 Zap용 identifier로 교체한다.
- registration planner가 생성하는 hotkey IDs, handler installation, event dispatch routing, unregister behavior가 signature 교체 전후 동일하게 동작하는지 검증한다.
- tests와 diagnostics fixture에서 legacy signature를 기대하는 assertion이 있으면 새 identifier로 함께 갱신한다.
Acceptance criteria
- Carbon signature
SNAP 잔재를 Zap identifier로 교체한다.
- 기존 registration과 dispatch regression test가 통과한다.
- repository의 executable source와 test fixture를 검색했을 때 제거 대상 legacy signature가 남지 않으며, 새 signature가 Carbon
RegisterEventHotKey와 dispatch matching에 일관되게 사용된다.
- Finder, Dock, Manual, Window Management, active-app control hotkey 각각의 registration 및 callback routing test가 기존 ID collision 없이 통과한다.
Dependencies
None
External prerequisites
None
Non-goals
- 사용자-facing shortcut 기능, default mapping, conflict policy 또는 registration lifecycle을 변경하지 않는다.
- Carbon hotkey subsystem을 다른 framework로 migration하거나 hotkey ID allocation을 다시 설계하지 않는다.
- repository 전체 naming migration을 수행하지 않으며 low-level Carbon signature와 직접 연관된 source, tests, diagnostics만 변경한다.
Evidence
Milestone exit-gate impact
Non-gating. low-level identifier와 diagnostics naming을 canonical Zap naming으로 정리하는 tech-debt 작업이며 v0.2.x Exit Gate의 별도 사용자-facing 필수 bullet은 아니다.
User problem
Carbon hotkey registration에 legacy
SNAPidentifier가 남아 있어 실행 binary와 내부 diagnostics의 canonical Zap naming이 일치하지 않는다. 이 값은 사용자 기능은 아니지만 registration event를 식별하는 low-level signature이므로 교체 시 기존 hotkey registration과 dispatch behavior가 그대로 유지되어야 한다.Product value
실행 binary와 내부 diagnostics까지 정식 제품명 Zap으로 일관되게 유지한다. 오래된 Carbon identifier를 bounded하게 제거하면서 shortcut registration과 event dispatch regression을 방지한다.
Scope
GlobalHotKeyService의 legacySNAPCarbonOSTypesignature를 Zap용 identifier로 교체한다.Acceptance criteria
SNAP잔재를 Zap identifier로 교체한다.RegisterEventHotKey와 dispatch matching에 일관되게 사용된다.Dependencies
None
External prerequisites
None
Non-goals
Evidence
SNAPidentifier에 해당하는OSType(0x534E4150)을 registration signature로 사용한다:GlobalHotKeyService.swiftlines 295–299.Milestone exit-gate impact
Non-gating. low-level identifier와 diagnostics naming을 canonical Zap naming으로 정리하는 tech-debt 작업이며 v0.2.x Exit Gate의 별도 사용자-facing 필수 bullet은 아니다.