diff --git a/docs-ai/064-agent-completion-signals/004-s2-work-note.md b/docs-ai/064-agent-completion-signals/004-s2-work-note.md index 720ae62f..de713c37 100644 --- a/docs-ai/064-agent-completion-signals/004-s2-work-note.md +++ b/docs-ai/064-agent-completion-signals/004-s2-work-note.md @@ -93,6 +93,11 @@ recorded in the existing 064 plan/action documents. - 2026-08-23 — Applied Skill Workshop proposal `prowl-cli-20260823-a59b46f453` after owner authorization. The managed workspace skill is live and scan-clean; direct synchronization into the repository copy remains prohibited by the current Workshop target model. +- 2026-08-23 — GitHub Actions exposed a runner-dependent test fixture: synthetic PID `400` + happened to be live on the hosted runner, so the default process start-date lookup added an + unexpected ancestry generation. The resolver test now injects a nil start-date provider for + its fake PID graph. Focused tests passed 3/3, `make check` passed, and the full gate again + passed 2453 reported / 2455 verified tests with zero failures. ## Fresh Debug E2E diff --git a/supacodeTests/CallerPaneResolverTests.swift b/supacodeTests/CallerPaneResolverTests.swift index 93ef298f..fdc1be16 100644 --- a/supacodeTests/CallerPaneResolverTests.swift +++ b/supacodeTests/CallerPaneResolverTests.swift @@ -12,14 +12,16 @@ struct CallerPaneResolverTests { CallerPaneResolver.pane( forCallerProcess: 100, paneByShellPID: [100: pane], - parentProcessID: { parents[$0] } + parentProcessID: { parents[$0] }, + processStartDate: { _ in nil } ) == pane ) #expect( CallerPaneResolver.pane( forCallerProcess: 400, paneByShellPID: [100: pane], - parentProcessID: { parents[$0] } + parentProcessID: { parents[$0] }, + processStartDate: { _ in nil } ) == pane ) } @@ -31,14 +33,16 @@ struct CallerPaneResolverTests { CallerPaneResolver.pane( forCallerProcess: 400, paneByShellPID: [100: focusedButUnrelated], - parentProcessID: { _ in nil } + parentProcessID: { _ in nil }, + processStartDate: { _ in nil } ) == nil ) #expect( CallerPaneResolver.pane( forCallerProcess: 400, paneByShellPID: [100: focusedButUnrelated], - parentProcessID: { $0 } + parentProcessID: { $0 }, + processStartDate: { _ in nil } ) == nil ) } @@ -50,14 +54,16 @@ struct CallerPaneResolverTests { CallerPaneResolver.pane( forCallerProcess: 100, paneByShellPID: [67: pane], - parentProcessID: { $0 - 1 } + parentProcessID: { $0 - 1 }, + processStartDate: { _ in nil } ) == nil ) #expect( CallerPaneResolver.pane( forCallerProcess: 100, paneByShellPID: [69: pane], - parentProcessID: { $0 - 1 } + parentProcessID: { $0 - 1 }, + processStartDate: { _ in nil } ) == pane ) }