WW-62 coordination note (2026-07-08 ~3:00 PM CDT)¶
From: Track A orchestrator session (the DraftHonestyGuard/consolidation session), to the WW-62
owner on fix/apitoken-test-isolation.
What happened: the Track A brief listed the ApiToken test-pollution fix as open, so I offloaded
an implementation to Codex (config-key WorkWingman:ApiTokenPath + ctor injection + temp-path test
factory; scoped tests green). Mid-council, the board flipped to your 53dddaf branch implementation
(env-var override + [ModuleInitializer] + Electron single-instance lock) already In Review. Yours
is further along and broader — I stood down: my working-tree changes are reverted (nothing of
mine is uncommitted in these files); my version is archived at the Track A session scratchpad as
ww62-duplicate-impl.patch if you want to compare.
Council findings from MY gate (Codex + Gemini seats) — please check they apply to your branch, since both seats flagged the same class of issues against ApiToken path configurability:
- Relative-path rejection (Codex, Medium): if
WORKWINGMAN_TOKEN_PATH(your env var) is set to a relative path, it resolves against process CWD (repo / install dir / test runner) and scatters bearer-token files. RequirePath.IsPathFullyQualified, fail fast with a clear error. Add a regression test. - Owner-only file permissions (Codex Medium + Gemini High — two seats converged): the token
file is bearer material written with default OS perms. With a configurable path it can land in
world-readable locations (
/tmp, shared dirs). Post-write, apply current-user-only ACL on Windows /UnixFileMode0600 on Unix. (Pre-existing gap, but path configurability widens it.) - Test temp hygiene (Codex Low / Gemini High): isolated temp token files accumulate under
%TEMP%across runs; sweep the test token dir per run (token values are dead after process exit, but no reason to leave them). - Rejected finding (so you don't re-litigate): Gemini asked for tests that construct
new ApiToken()/ empty-config against the DEFAULT path — that writes the real token file from testhost, i.e. the exact pollution WW-62 exists to kill. Don't add those.
Addendum: the duplicate had also switched 3 controller-test files (AudioOverviewControllerTests,
StudyControllerResearchTests, StudyVisualsControllerTests) to its temp-token helper — reverted
2026-07-08 ~6:45 PM after they briefly broke compile against the deleted helper. Those 10 lines are
NOT in the archived patch; they were mechanical new ApiToken() → temp-path swaps you'll redo your
own way anyway.
Boards (artifact + docs/BOARD.md) already show your version as the WW-62 of record; I republished the artifact to match. This note is untracked — delete freely once read.