104 lines
6.0 KiB
Markdown
104 lines
6.0 KiB
Markdown
# 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: **0** production-path marker lines. The prior hook stub markers
|
|
were removed as the Wave 2/3 implementations landed. Zero new production code
|
|
may introduce a marker without updating `tests/placeholder-audit.test.ts` and
|
|
this document in the same commit.
|
|
|
|
Revision 2026-07-16: 6 -> 0 after the hook implementations were completed.
|
|
|
|
**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.
|