Skip to content

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:

  1. 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. Require Path.IsPathFullyQualified, fail fast with a clear error. Add a regression test.
  2. 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 / UnixFileMode 0600 on Unix. (Pre-existing gap, but path configurability widens it.)
  3. 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).
  4. 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.