Files
2026-05-27 23:29:53 +01:00

2.3 KiB
Raw Permalink Blame History

Tasks: enterprise-web-workers

Scaffolding

  • Add web-workers to data: plugin in scripts/folder-reorg/assignment.yml.
  • Create packages/foundation/data/web-workers/ skeleton (package.json, README.md, tsconfig.lib.json, vite.config.ts, vitest.config.ts).
  • Wire workspace catalog deps: @suaveplan/error, @suaveplan/events, @suaveplan/opentelemetry, @suaveplan/types, tslib, @opentelemetry/api.

Implementation

  • errors/errors.ts — WEB_WORKERS_CODES, WebWorkersError, metadata table.
  • types/web-workers.types.ts — public type surface.
  • observability/observability.ts + observability.types.ts.
  • helpers/define-worker.ts — defineWorker({ url, type }) returns WorkerFactory.
  • circuit-breaker/circuit-breaker.ts — per-worker breaker.
  • base-manager/base-manager.ts + base-manager.types.ts — shared lifecycle, RPC pending map, AbortSignal, transfer, backpressure, breaker, OTel emission, EventBus wiring.
  • worker-manager/worker-manager.ts — classic-Worker concrete manager.
  • shared-worker-manager/shared-worker-manager.ts — SharedWorker port-per-client concrete manager.
  • streaming/stream.ts — sendStream async-iterable RPC.
  • worker-pool/scheduler.ts — round-robin + least-busy.
  • worker-pool/worker-pool.ts — FIFO queue, scheduler, restart-on-crash, health probe.
  • message-bus/message-bus.ts — pub/sub + once + broadcast + registerHandler + request (with timeout + AbortSignal).
  • index.ts — explicit named re-exports (rule 10).

Documentation

  • Sibling .md next to every .ts per CLAUDE rule (≥200 words, 6 sections).
  • Root README.md with quick-start + module links.

Gates

  • bunx turbo lint typecheck test build --filter=@suaveplan/web-workers green.
  • bunx turbo test:coverage --filter=@suaveplan/web-workers ≥ 100/100/100/100.
  • bun scripts/folder-reorg/generate-manifest.ts (refresh MANIFEST).

Finalisation

  • Fold specs/web-workers/spec.md into openspec/specs/web-workers/spec.md.
  • Move change to openspec/archive/2026-05-25-enterprise-web-workers/.
  • Flip STATUS.md row from – to ✅ and bump counts.
  • Commit on feat/migrate-web-workers with Conventional Commit + Claude co-author footer (do not push).