diff --git a/work/notes/work-summary-notes-draft-2026-10-23.md b/work/notes/work-summary-notes-draft-2026-10-23.md new file mode 100644 index 00000000..0da589b9 --- /dev/null +++ b/work/notes/work-summary-notes-draft-2026-10-23.md @@ -0,0 +1,113 @@ +--- +tags: + - work + - performance-review + - draft +date: '2026-10-23' +status: draft-for-manual-paste +source: >- + Asana Work Summary 1213731680648355 (version of 2026-10-22), personal_os DB + (read-only), Asana tasks/comments, Apple Weekly agendas +--- +# Work Summary → блок для Notes (черновик 2026-10-23) + +Задача: [Work Summary (2026-02-01)](https://app.asana.com/0/0/1213731680648355). Всё, кроме секции Notes, автоматика перезаписывает ежедневно. Поэтому ниже готовый текст **для ручной вставки в Notes** (на английском, в стиле прежних Notes). Asana ничем не изменялась. + +Период: 2026-02-01 → 2026-10-23. Прошлый review: [2026-02 Review](https://app.asana.com/0/0/1213751661486911). + +## Как пользоваться + +1. Notes редактируются целиком. Перед вставкой перечитайте `html_notes`, чтобы не потерять ничего, добавленное после 22.10. +2. Блок «Existing» в Notes я не трогал: ниже **замена** блока «AOR work» (те же ссылки + недостающие, сгруппировано) и **добавки**. +3. Строки с `[CONFIRM]` и `[RESULT?]` заполнить или удалить. Исходов, которых я не проверил, не выдумывал. +4. Ссылки вида `https://app.asana.com/0/0/` Asana превращает в упоминания задач при вставке. + +## Проверить до вставки + +- [ ] `[CONFIRM]` причина инцидента 12.10 (macOS 1.211.0, macOS 12): ваш [черновик postmortem](https://app.asana.com/0/0/1219573444990290) называет [Drop PasswordManager.storyboard](https://app.asana.com/0/0/1216591205063596) (PR #6950). Если не уверены, удалите строку в разделе Incidents. +- [ ] `[RESULT?]` цифры конверсии промо ([комментарий 16.10](https://app.asana.com/0/0/1219469970318428)): 3 148 iOS-подписок с 31.08, ~3% нажавших. Проверить по дашборду, вставлять только как «по моему чтению дашборда». +- [ ] Итог toggle-эксперимента: в Notes писать «Search-default (Treatment B) picked», а проценты брать из [Final analysis](https://app.asana.com/0/0/1214736615660064), не из памяти. В анализе от 03.05 `search d5-7` для B не значим (+0,61%). +- [ ] ~6 старых задач закрыты массово 11.02 (backlog grooming), в блоке они помечены. +- [ ] Peer feedback, который вы дали ([задача](https://app.asana.com/0/0/1217692431643097)), содержимое не читал. Ссылка нужна только как факт. +- [ ] Демо личных инструментов (Personal AI OS / Task Management Tool) не включал, решайте сами. + +--- + +# ТЕКСТ ДЛЯ ВСТАВКИ В NOTES (English) + +## Project artifacts (kick-offs, mid-mortems, postmortems I ran) + +- Feb/9: Postmortem – [Prevent accidental quit](https://app.asana.com/0/0/1211704861453689) +- Feb/20, Mar/11, May/26: O-N toggle experiment – [Kick-off](https://app.asana.com/0/0/1213320327837219), [Mid-mortem](https://app.asana.com/0/0/1213320237600578) (scope reset after Ship Review feedback), [Postmortem](https://app.asana.com/0/0/1213320327587346) +- Apr/21, Jun/30: Tracker demo – [Kick-off](https://app.asana.com/0/0/1213551072611251), [Postmortem](https://app.asana.com/0/0/1213551072611271) (retention drop in the experiment, screens not shipped) +- May/26, Jun/30: Onboarding conflicts – [Kick-off](https://app.asana.com/0/0/1214592851898713), [Postmortem](https://app.asana.com/0/0/1214592851898721) +- Jul/7, Aug/25: Subscription half-sheet promo – [Kick-off](https://app.asana.com/0/0/1214800083544612), [Postmortem](https://app.asana.com/0/0/1214800108965009) +- Aug/27, Sep/22, Oct/7: CPM – [Pre-kick-off research](https://app.asana.com/0/0/1217762287677460), [Kick-off](https://app.asana.com/0/0/1217762178595668), [Mid-mortem](https://app.asana.com/0/0/1217907325352234), [Mid-mortem 2](https://app.asana.com/0/0/1219230836268250) +- Oct/16: [Postmortem – VS Code migration](https://app.asana.com/0/0/1219573444990290) (draft; discussed at Apple Weekly Oct/20) + +## Project work not visible above + +- Mar/5–Mar/31: O-N toggle experiment: [Experiment design](https://app.asana.com/0/0/1213320237600577), [Pixel definition](https://app.asana.com/0/0/1213321895032454), [Pre-ship review](https://app.asana.com/0/0/1213433728618621), [Expand Duck.ai path](https://app.asana.com/0/0/1213607239744188). Ship Review feedback converted into ~40 tracked tasks (GJ*/CT*/OM*/AB*, Mar/31–Apr/7), see the [Ship Review](https://app.asana.com/0/0/1213320237600594). +- May/21: [Privacy triage – tracker demo](https://app.asana.com/0/0/1213551072609855). Jun/22: [cross-experiment analysis in the project](https://app.asana.com/0/0/1213551050320249) (comment of Jun/22) and the [NA analysis](https://app.asana.com/0/0/1215186850972358). +- Jun/22: [macOS app Monterey-only](https://app.asana.com/0/0/1215150214975916) (PR #5104). +- Jul/10: promo – [Pixel definition](https://app.asana.com/0/0/1216386816029757), [Request origin](https://app.asana.com/0/0/1214800683792174), [UI tests](https://app.asana.com/0/0/1216420429719802), [Enable feature flag](https://app.asana.com/0/0/1216597258137324) (Aug/19, 7.235.0), [Remove flag](https://app.asana.com/0/0/1218135697815900) (Sep/4). +- Sep/1–Oct/20: CPM – [TD: Pixel Definition](https://app.asana.com/0/0/1218005985662983) (I authored it; it is listed under Tech Design Comments), [TD: failure pixels attribution](https://app.asana.com/0/0/1218619301158188), [Fix Tab Merging](https://app.asana.com/0/0/1218356681060823), [Reload/recover engine on stuck signal](https://app.asana.com/0/0/1218744813699968), [Session restoration race](https://app.asana.com/0/0/1218744813699966), [Deallocation race fix](https://app.asana.com/0/0/1217907325352233), [A/B test (cancelled, blurry metrics)](https://app.asana.com/0/0/1218356681060819), [Analyze attribution data](https://app.asana.com/0/0/1219036128743443), [WebKit issue fixes](https://app.asana.com/0/0/1219231427593373). Key PRs: #6662 messaging health monitoring, #6844 failure diagnostics, #6827 tab identity across tab operations, #6894 reload after confirmed hang, #6982/#7003 startup race during state restoration, #6951/#7037 mitigation after background WebContent termination, #7386 x86_64 NSError crash. Status: open, root cause not found; fixes for the largest failure groups go public Oct/26. + +## AOR work (replaces the flat list; grouped) + +**Compile flags and modularization (groundwork for Swift packages)** +- Feb/10–Mar/13: [Drop #if SPARKLE/APPSTORE](https://app.asana.com/0/0/1213329987846867) (runtime build-type detection, PR #3925; at least 7 PRs incl. #3670, #3753, #3787, #3928, #3931), [WebKit private methods](https://app.asana.com/0/0/1213329987846865), [LetsMove](https://app.asana.com/0/0/1213433721165807), [dock customization](https://app.asana.com/0/0/1213491634957187), [VPN/DBP/Subscription flags](https://app.asana.com/0/0/1213610077752447) +- Feb–Mar: epic [Convert all macOS modules to Swift Package](https://app.asana.com/0/0/1211573210737831): [AppUpdater](https://app.asana.com/0/0/1213067107831917), [AppUpdater storage → KeyValueStoring](https://app.asana.com/0/0/1212999214064718), [CrashReporting](https://app.asana.com/0/0/1213465469778315), [Bitwarden](https://app.asana.com/0/0/1213507006659531) +- Sep/23–Oct/7: [Drop storyboards](https://app.asana.com/0/0/1206472717181420): 12 small PRs (13 storyboards/xibs; 12 PRs reviewed by 9 teammates), the macOS app is now code-initialized. Also [#bundle localization + lint](https://app.asana.com/0/0/1219079700626620) (PR #7079), [asset symbols](https://app.asana.com/0/0/1218928748776869), [target membership cleanup](https://app.asana.com/0/0/1219018012078829), [dead target flags](https://app.asana.com/0/0/1218928748776873) (PR #6983, +488/−1570) +- Sep/30–Oct/19: [CoreData code-initialized models proposal](https://app.asana.com/0/0/1218983598776255) (won't do after objections; newer Xcode made it unnecessary), [CoreData SPM test hacks](https://app.asana.com/0/0/1218987523298563) +- Oct/15–16: [TD: macOS code as Swift package](https://app.asana.com/0/0/1219304032604521) (won't do), [TD: VS Code via build server](https://app.asana.com/0/0/1219507745158264) +- Oct/16: [VS Code migration](https://app.asana.com/0/0/1209808486380252) closed: full dev cycle runs from VS Code/Cursor; not adopted team-wide, opt-in [setup](https://app.asana.com/0/0/1209678170937083). Clean builds 24–30% faster on my machine (Xcode beta). +- Feb/10: [KeyValueStoring](https://app.asana.com/0/0/1213211176970868) + [adoption guidelines](https://app.asana.com/0/0/1213193685927782) (presented at Apple Weekly Feb/4) +- Feb/25–27: removed feature flags [tabClosingEventRecreation](https://app.asana.com/0/0/1212206087745586), [extendedUserInitiatedPopupTimeout](https://app.asana.com/0/0/1212001891093823), [popupPermissionButtonPersistence](https://app.asana.com/0/0/1212017701300919), [terminationDeciderSequence](https://app.asana.com/0/0/1212684817782056), [allowPopupsForCurrentPage](https://app.asana.com/0/0/1212017701300913), [suppressEmptyPopUpsOnApproval](https://app.asana.com/0/0/1212017701300907), [autocompleteTabs follow-up](https://app.asana.com/0/0/1212810445481107) + +**Tests and CI** +- Feb–Oct: Apple CI Failing Tests: 23 tasks closed, incl. [UI Tests failures](https://app.asana.com/0/0/1213145779023333), [PrivacyDashboardUITests](https://app.asana.com/0/0/1213369846008734), [DownloadsUITests](https://app.asana.com/0/0/1214167538194692), [geolocation tests](https://app.asana.com/0/0/1213996660793764), [PR checks failing on main](https://app.asana.com/0/0/1213163473329329), [flaky typed-value test](https://app.asana.com/0/0/1213123965892224), [HistoryIntegrationTests](https://app.asana.com/0/0/1205641193228593) +- Jul/16: [arm64-only for UI tests](https://app.asana.com/0/0/1216591205063619). Aug/21: [swiftlint rule for UITestCase](https://app.asana.com/0/0/1209477403052217) +- Sep/29: [sandbox-test-tool → App Store UI tests](https://app.asana.com/0/0/1218928748776871) (PR #6980, +475/−1467; the old tests were always skipped on CI) +- Oct/14–17: UI tests PRs #7285 (Save Credentials popover test + tooltip fix), #7374 (flaky UI tests: address bar focus, SSL, downloads, AMP, Settings navigation), #7442 (Bitrise runners) +- Oct/21: [Swift Testing migration batch](https://app.asana.com/0/0/1219709925032923) (PR #7547); [Three package test bundles never run on PR CI](https://app.asana.com/0/0/1219728566677383): found 266 tests (EventHub 197, SnapshotTestingSupport 47, UIComponents 22) that no CI job ran; [window leak behind "Test crashed with signal int"](https://app.asana.com/0/0/1219676439283927) +- Sep/29: [macOS 27 WebKit HUD private API](https://app.asana.com/0/0/1218906032497990) before the Xcode 27 migration + +**Crashes and pixels** +- Fixed crashes: [macOS 26 CrashCollection](https://app.asana.com/0/0/1213058605475682) (Feb/4), [Monterey TabBarCollectionView.scroll](https://app.asana.com/0/0/1213196429719451) (Feb/10), [Favicons CoreData startup](https://app.asana.com/0/0/1213703029869047) (Mar/18), [duck:// in iframes](https://app.asana.com/0/0/1213962502233364) (Apr/6), [debugDescription](https://app.asana.com/0/0/1213984285382467) (Apr/8), [Tab.setupWebView](https://app.asana.com/0/0/1214605287846793) (May/11), [NSException cxx handler](https://app.asana.com/0/0/1214143353966986), [x86_64 NSError bridging](https://app.asana.com/0/0/1219292410414766) (PR #7386 + SwiftLint rule), [EmailKeychainManager recursion](https://app.asana.com/0/0/1215495893369499), [SIGKILL hashedSuffixRange](https://app.asana.com/0/0/1215403820548743). `[RESULT?]` crash-rate effect not measured. +- Pixel triage: [Mar/19](https://app.asana.com/0/0/1213740780661223), [Downloads assertion (Jun/29)](https://app.asana.com/0/0/1213975525679527), [webkit_did_terminate spike (Aug/21)](https://app.asana.com/0/0/1217730135971381), [mac_debug_dari (Sep/18)](https://app.asana.com/0/0/1218465897093751) +- Downloads fixes: [file names cut short](https://app.asana.com/0/0/1213803861044638), [DMV popup blocking](https://app.asana.com/0/0/1213832268661772), [KSCrash changes](https://app.asana.com/0/0/1213875029587621) + +**Releases and maintenance** +- Release DRI: [macOS 1.203.0](https://app.asana.com/0/0/1217307727862006) (Aug/21), [macOS 1.210.0](https://app.asana.com/0/0/1218915680016277) (Oct/7); weekly release DRI [Aug](https://app.asana.com/0/0/1217492488329974) and [Oct](https://app.asana.com/0/0/1219101001915883) +- Release exceptions: [iOS 7.216.0](https://app.asana.com/0/0/1214069026120834), [iOS 7.236.0](https://app.asana.com/0/0/1218180333506009), [macOS 1.210.0/iOS 7.240.0](https://app.asana.com/0/0/1219018012078835), [iOS 7.241.0](https://app.asana.com/0/0/1219215398702159) +- Maintenance DRI: [Mar](https://app.asana.com/0/0/1213041340720453), [May](https://app.asana.com/0/0/1214129023477449), [macOS App Maintenance](https://app.asana.com/0/0/1214837564647979) +- Mar/30–Oct/5: privacy-config PRs: [popup allowlist](https://app.asana.com/0/0/1214128779286157) (#4987), [disable old Duck.ai onboarding experiment](https://app.asana.com/0/0/1214895946163976) (#5189), [disable tracker demo experiment](https://app.asana.com/0/0/1215903684761315) (#5395), [gate cpmDiagnosticsRecorder](https://app.asana.com/0/0/1219726478863653) (#6242) + +**Developer tooling and knowledge sharing** +- Apr/20: [Rollback /Applications/DEBUG](https://app.asana.com/0/0/1214136461142650) (PR #4510; feedback from Diego and Dominik changed the approach, merged within a week) +- Apr/21: demo of VM-based UI test runner with MCP for agents at Apple Weekly ([QWD](https://app.asana.com/0/0/1214075310050341)); Oct/15 [Apple AI knowledge sharing](https://app.asana.com/0/0/1214334955739916) +- Oct/6: [WebKit ↔ OS version table](https://app.asana.com/0/0/1219208775858201) for crash forensics (presented at Apple Weekly) +- Oct: [How to work with Apple Browsers using Git worktrees](https://app.asana.com/0/0/1219571548600350), [REVIEW builds arm64-only](https://app.asana.com/0/1216597500971739/) (Jul/16) + +## Team Leadership additions + +- Apple Weekly: Feb/4 type-safe settings ([guidelines](https://app.asana.com/0/0/1213193685927782)); Apr/21 DEBUG-dir proposal and VM-runner demo; Sep/22 CoreData proposal (approved at the meeting, reopened for async input, later dropped); Oct/6 macOS modularization plan (questions on risk vs benefit from Juan and Diego → [Tech Design](https://app.asana.com/0/0/1219304032604521) → narrowed to opt-in [VS Code setup](https://app.asana.com/0/0/1219507745158264)); Oct/13 [UI tests target split](https://app.asana.com/0/0/1219521748932290) (review with Dominik). +- Peer feedback given: [Sep/1](https://app.asana.com/0/0/1217692431643097). Hiring: [EP2 TD Review Calibration](https://app.asana.com/0/0/1215285052893281) (Jun/29), 3 EP2 reviews (see Hiring Roles). +- Review load spread: storyboard removal as 12 small PRs, review tasks assigned to 9 different teammates. +- Recognition: [Objective-Top-Contributor award for O-N](https://app.asana.com/0/0/1214279078018888) (Jun/22). + +## Incidents (replaces the two bare entries) + +- Oct/6: [iOS Duck.ai Fire onboarding loop](https://app.asana.com/0/0/1219231099572019): disabled restore-through-sync to limit impact (per incident updates), fix PR #7147, [privacy-config gating](https://app.asana.com/0/0/1219230942293647) (#6024). Follow-up [task](https://app.asana.com/0/0/1219170037473457). +- Oct/12: [macOS 1.211.0 crash on macOS 12](https://app.asana.com/0/0/1219405566971347) (1h35m user impact, rollout stopped at 1%). `[CONFIRM]` Cause: Drop PasswordManager.storyboard (PR #6950). Follow-ups: PR #7285 (Save Credentials popover UI test + tooltip fix); actions in [my VS Code postmortem](https://app.asana.com/0/0/1219573444990290): test UI refactors on the oldest supported macOS, run UI tests on older runners. + +--- + +# Что я бы сделал в самой задаче (структура, не текст) + +- Существующий раздел «AOR work» заменить блоком выше. В «Mar/13», «Feb/10» дубликаты удалить (они уже внутри групп). +- Старые задачи, закрытые 11.02 (testGPC, testAMPLinks, testReferrerTrimming, HTTPSUpgradeIntegrationTests, Add tests for Modifier Keys Link activation, Drop Fire storyboard), убрать из Notes или подписать «closed during backlog grooming». +- «118w/138w» в «Objective tasks» — это возраст старых багов, а не объём работы; лишний раз не цитировать. +- В Strategic Leadership ничего не добавлять: убедительных примеров нет. +- Для других данных (Slack/Zoom) источников в этом проходе нет.