[2026-10-16] eagle: personal/projects/virfield.md work/projects/cpm-status-2026-10-15.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-16 01:23:13 +06:00
1 parent 3e8967ba88
commit 0ebd030fae
2 files changed
+16 -4

No files matched your search

+12
View File
@@ -590,3 +590,15 @@ Known-failures suite начат с включённым expensive flag. Перв
- `signed-pinned-autorelease.xcresult`: real shared pin + two normal WebKit idle unloads + real window closure again produced `runtime.sendMessage(): Tab not found`, missing page initResp, production timeout `init_stage=none`, `tab_in_context=false`, matching controller and `bg_view_creations=2`. The host still interrupted before the second probe/attachment. Prior LLDB identifies the DEBUG deallocation guard for **MainWindow**, not an assertion from the CPM detector. Wrapping creation/selection in autorelease pools alone did not resolve that retention; the test is still red.
- `signed-large-cache.xcresult`: fresh persistent UUID store, **20,000** cacheable loopback resources, actual disk-cache records, fill **42.705 s**. Real extension reload changed baseURL; immediate next navigation succeeded in **1.058 s**, page initResp present, background created once and ready under 1 s. `p3NoBackgroundFailure=false`: **P3 not reproduced in this run**. The readiness control also succeeded. The test failed only in teardown (`WKWebSiteDataStore: Data store is in use (by network process)`), while its own controller/store references were still retained. Cleanup is being corrected before a new run.
- These runs use the project's normal **Apple Development** signing. The earlier unsigned CLI workaround was incorrect and removed; no SecureVault bypass remains. Current verified distinct passing methods remain **18/20**, with the two red methods above; there is no combined all-green result.
### P5: memory-reference evidence and harness correction
`pinned-lldb-retainers.log` again stops in `breakByRaisingSigInt` for MainWindow. `leaks --noContent --nostacks --traceTree=<closed-window> <owned-test-host>` saved `pinned-window-retainers.txt`: a direct chain is `NSApplication._currentEvent → NSEvent._window → closed MainWindow`. SDK declares `NSApplication.currentEvent` **strong**, and [Apple documents it as the last dequeued event](https://developer.apple.com/documentation/appkit/nsapplication/currentevent). `TestRunHelper.loadedViews` is weak (confirmed in source), not a strong owner. The graph also contains autorelease-pool and system/weak references; not every reported root proves retention.
The harness now posts and dequeues one neutral application-defined event after window closure, using public AppKit APIs, to advance the event queue while async XCTest is awaiting. It does not disable the DEBUG guard, detach tabs, or send manual extension lifecycle events. Verification is pending. Persistent-store teardown now clears owned website/controller data, releases controllers and the last harness store reference, then retries WebKit's asynchronous removal for at most 10 seconds. The orphan from the first failed cleanup was removed only at its verified fresh UUID `83CBE3E6-4B0E-41F0-B53F-22CD306B8DEE` (creation time and extension State.plist matched that test), after the owner process exited.
### Signing verification detail
The latest signed build (`build-signed-event-loop.log`) invokes codesign with **Apple Development: Alexey Martemyanov (9SAT8X9S84)**, team HKE973VLUW, hardened runtime. `codesign -dvv` with normal keychain access confirms the Apple Development → WWDR → Apple Root CA chain. App debug dylib and `Integration Tests.xctest` independently pass `codesign --verify --strict`. `codesign --verify --deep --strict` on the entire Debug app fails in nested `DuckDuckGo VPN.app/Contents/Frameworks/Subscription.framework`: the seal lists four missing `Modules/Subscription.swiftmodule` artifacts (abi.json/swiftdoc/swiftmodule/Project/swiftsourceinfo). This is a separate nested Debug packaging limitation, **not an unsigned main app or test bundle**. No manual re-signing or production packaging changes were made for it.