Files
suaveplan/openspec/archive/2026-05-25-enterprise-overview/tasks.md
2026-05-27 23:29:53 +01:00

2.7 KiB
Raw Blame History

Tasks — enterprise-overview

Numbered checklist of the discrete units of work to ship @suaveplan/overview.

1. Skeleton

  • Create packages/devtools/tooling/overview/ with package.json, tsconfig.lib.json, vite.config.ts, vitest.config.ts, README.md, and tests/setup/polyfills.ts.
  • Wire package.json exports for . and ./discover.

2. Types

  • src/types/types.ts — Tier, PackageRecord, PluginSummary, SuavePlanManifest, WorkspaceGraph. Sibling types.md.

3. Errors

  • src/errors/errors.ts — defineCodes("OVERVIEW", [...]), OverviewError subclass, code uniqueness test, sibling .md.

4. Schemas

  • src/schemas/schemas.ts — Zod schemas for Tier, PackageRecord, PluginSummary, SuavePlanManifest. Sibling .md and tests.

5. Tier inference

  • src/tier/tier.ts — inferTier(short, pkgJson, hints?), exported SERVER_DEP_HINTS. Sibling .md and tests.

6. Discovery (server sub-path)

  • src/discover/discover.ts — discoverPackages(options), async discoverPackagesIter with AbortSignal. Real-fs test fixture under tests/setup/fixtures/. Sibling .md.

7. Graph utilities

  • src/graph/graph.ts — buildGraph, topologicalOrder, detectCycles, transitiveDependencies, transitiveDependents, leafPackages, rootPackages. Sibling .md and tests including fast-check property-based cases.

8. Roll-ups

  • src/rollups/rollups.ts — byPlugin, byCategory, byTier. Sibling .md and tests.

9. Telemetry

  • src/telemetry/telemetry.ts — meter init, counter + histogram exports. Sibling .md and tests using in-memory metric reader.

10. Root barrel

  • src/index.ts — explicit named re-exports (no export *). README at package root documenting the API surface.

11. Gate

  • bunx turbo lint typecheck test build --filter=@suaveplan/overview green.
  • bunx turbo test:coverage --filter=@suaveplan/overview reports 100/100/100/100.

12. Manifest refresh

  • Run bun scripts/folder-reorg/generate-manifest.ts so MANIFEST.md lists the new package.

13. STATUS flip

  • In STATUS.md, change the @suaveplan/overview row from – to ✅ and update its info column to reflect the migrated surface.
  • Update the Counts table (+1 migrated, -1 pending).

14. Fold + archive

  • Fold openspec/changes/enterprise-overview/specs/overview/spec.md into openspec/specs/overview/spec.md (canonical).
  • Move openspec/changes/enterprise-overview/ to openspec/archive/2026-05-25-enterprise-overview/.