Files
waggle-os/docs/plans/L-17-placeholder-audit-2026-04-19.md
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

6.2 KiB

L-17 · MOCK / TODO / FIXME audit — 2026-04-19 (rev 2026-05-10)

Scope: apps/web/src, packages/*/src (excludes test directories and HTML placeholder="..." attributes).

Grep pattern: // (MOCK|TODO|FIXME|XXX): or the /* … */ equivalent.

Current count: 6 lines (revision history below). All 6 are intentional subtree-split STUB markers in the hive-mind-hooks-* packages introduced by the Phase 2 consolidation merge of feature/hive-mind-monorepo-migration (2026-05-10). They flag hook implementations awaiting Wave 2/3 work; they are load-bearing for both waggle-os main and the public hive-mind repo subtree-split. Zero new production code may introduce a marker without updating tests/placeholder-audit.test.ts and this document in the same commit.

Revision history:

  • 2026-04-19: 14 → 10 (initial L-17 audit + C2/C3/C4/C5 cleanup)
  • 2026-05-08: 10 → 0 (DAY0V-01 WS gateway hard-fail replaces TODO + DAY0V-02 deletes mock-channel-connectors.ts)
  • 2026-05-10: 0 → 6 (Phase 2 consolidation merge introduces hive-mind-hooks-* subtree-split stubs; see Category D below)

Category A — RESOLVED 2026-05-08 (was 9 hits, now 0)

packages/agent/src/connectors/mock-channel-connectors.ts — DELETED in DAY0V-02 (2026-05-08). The file's 9 // MOCK: markers are gone with the file. Real connectors (slack-connector.ts, discord-connector.ts, ms-teams-connector.ts) are unaffected — they were never the same classes. No tests referenced the mocks (verified via grep), and the mocks were already gated behind NODE_ENV !== 'production' in setup-connectors.ts, so no production user ever saw them registered.

2026-04-20 decision was: keep as "(Demo)" connectors until real OAuth integrations land. 2026-05-08 supersedes: PM master Day-0 ETA is 2026-05-08..12, and the mock-vs-real conflation surface is itself a launch risk per CONCERNS.md §4. Drop the mocks now; reintroduce only when real OAuth ships under different class names.

Category B — RESOLVED 2026-05-08 (was 1 hit, now 0)

File Line Original note Resolution
packages/server/src/ws/gateway.ts 91 Replace with full Clerk verification once CLERK_SECRET_KEY is always configured DAY0V-01 / commit d6971f6 (2026-05-08, rebased from 8ec8419) — replaced unsigned-JWT-decode fallback with hard-fail in production + connection-time reject in dev/desktop. decodeJwtPayload() deleted.

Category D — INTENTIONAL STUBS introduced 2026-05-10 (6 hits)

Phase 2 consolidation merge of feature/hive-mind-monorepo-migration brought in 11 new hive-mind-* packages, of which 6 are subtree-split hook stubs awaiting Wave 2/3 implementation. The // TODO: Wave 2/3 implementation markers are load-bearing — they signal to developers (in both waggle-os main and the public hive-mind repo) that these hooks aren't implemented yet.

File Line Marker Status
packages/hive-mind-hooks-claude-desktop/src/index.ts 10 // TODO: Wave 2/3 implementation OPEN — implements Wave 2/3
packages/hive-mind-hooks-codex-desktop/src/index.ts 10 // TODO: Wave 2/3 implementation OPEN — implements Wave 2/3
packages/hive-mind-hooks-codex/src/index.ts 10 // TODO: Wave 2/3 implementation OPEN — implements Wave 2/3
packages/hive-mind-hooks-cursor/src/index.ts 10 // TODO: Wave 2/3 implementation OPEN — implements Wave 2/3
packages/hive-mind-hooks-hermes/src/index.ts 10 // TODO: Wave 2/3 implementation OPEN — implements Wave 2/3
packages/hive-mind-hooks-openclaw/src/index.ts 10 // TODO: Wave 2/3 implementation OPEN — implements Wave 2/3

Note: The hive-mind-hooks-claude-code package does NOT carry a stub marker — it has Wave 1 implementation complete. Wave 2/3 covers the remaining 6 client integrations.

Resolution path: when each Wave 2/3 hook gets real implementation, drop its marker AND bump EXPECTED_MARKER_COUNT down by 1 in the same commit. Once all 6 are implemented, count returns to 0 and Category D collapses.

Category C — Closed 2026-04-20 (4 hits resolved)

These TODOs shipped concrete fixes in the 2026-04-20 cleanup pass and no longer appear in the codebase:

Commit File Original TODO Resolution
a748f8f apps/web/src/hooks/useMemory.ts:54 Dedicated PATCH /api/memory/frames/:id/access endpoint for atomic increment Added the PATCH route + LocalAdapter.incrementFrameAccess. FrameStore.touch() now returns the new count via SQL RETURNING.
2367426 packages/core/src/compliance/report-generator.ts:52 Track classification date in workspace config Added riskLevel + riskClassifiedAt to WorkspaceConfig; WorkspaceManager auto-stamps on change; ReportGenerator reads via getWorkspaceRiskClassifiedAt dep.
b8dab3d apps/web/src/components/os/apps/CapabilitiesApp.tsx:352 Marketplace tab may show duplicate catalog data Added pure dedupePacks() helper; applied client-side on both merged packs and marketplacePacks.
49b8e6d packages/server/src/local/routes/fleet.ts:32 Track per-session tokens WorkspaceSession.tokensUsed + WorkspaceSessionManager.addTokens(); chat route hooks after costTracker.addUsage. Fleet reads the real value.

Regression guard

tests/placeholder-audit.test.ts runs on CI and fails if the production-path marker count diverges from the pinned value (EXPECTED_MARKER_COUNT). A contributor adding a new TODO in production code must:

  1. Categorise it here (mock / follow-up / closed).
  2. Bump the pinned count in the test.

Making a ticket easy is better than making the rule loud.

2026-06-01 update — 6 → 1 (Wave 2/3 hook ports)

The Wave 2/3 hook ports implemented 5 of the 6 subtree-split stub packages, removing their // TODO: Wave 2/3 implementation markers: hive-mind-hooks-{codex, codex-desktop, cursor, hermes, openclaw}.

The only remaining production-path marker is the still-deferred stub packages/hive-mind-hooks-claude-desktop/src/index.ts:10 (Claude Desktop is MCP-only — no hook surface — and was explicitly excluded from Wave 2/3, see docs/superpowers/specs/2026-06-01-wave23-hook-stubs-design.md §1/D1).

EXPECTED_MARKER_COUNT bumped 6 → 1 accordingly.