carlos / platform Public

Test debt: root-package CLI tests read the operator's real ~/.carlos state; activator socket tests flaky under load Issue open

Migrated from github.com/carlosframework/platform issue #323, opened 2026-08-27. GitHub issues are closed for this repo; see AGENTS.md, "Work is tracked on amadan, not GitHub".

Still outstanding: Root-package CLI tests read the operator's real ~/.carlos state; activator socket tests are flaky.

---

Found while verifying PR #258's merge result (CI is still billing-dead, so the gate ran locally).

  1. Deterministic: TestAccountsListSignedIn, TestAccountsListOldConsole, TestResolveModeAPI, TestResolveModeNothing, TestResolveModeExpiredCredentialOnly fail on any machine whose real ~/.carlos/config names a default console the operator isn't currently logged in to — they resolve the OPERATOR'S config/credentials instead of a fixture (masking $HOME doesn't help; the path resolves via os/user). This is the same isolation class as the carlosTestEnv rule in CLAUDE.md (the 40-real-accounts incident); these in-process tests need the useTempCredentials/clearDeploymentEnv treatment the apimode tests use. Introduced/reworked around the cli-flags branch (#321 era).
  1. Flaky: TestExecBackendStart* and TestListenPurge* (internal/activator) flip pass/fail run-to-run under parallel load (2-3s failures = socket-wait timeouts). Deterministic on a quiet machine; worth widening the waits or gating parallelism.

Verification method that separated these from PR fallout: identical-conditions full-suite FAIL-set diff between origin/main and the merge result — sets identical (modulo the flaky group flipping on both trees).

🤖 Generated with Claude Code