Skip to content

Six @wave-av packages are published from repos other than the one they declare, and 45 of the 49 packages here have never published at all #42

Description

@yakimoto

@wave-av/adk exists as three separate source copies, all declaring "name": "@wave-av/adk", at two different versions. Only one of them is what npm actually serves.

Location Version Build ERROR-CODES.md Publishes
wave-av/sdkssdk-typescript/packages/adk 1.0.14 6 entry points + --emitDeclarationOnly yes yespublish-npm.yml
wave-av/wave-surfer-connectpackages/adk 1.0.14 6 entry points yes pre-carve origin
wave-av/adk (standalone repo) 1.0.2 single entry (tsup src/index.ts) no has a publish.yml

Evidence that sdks is the publisher

The published @wave-av/adk@1.0.14 tarball contains ERROR-CODES.md and code-split dist/chunk-*.js. The standalone adk repo has neither — it has no ERROR-CODES.md at all, and its build is tsup src/index.ts --format esm,cjs, single-entry, which cannot emit chunks. The monorepo copies build six entry points, which matches.

Why this matters

1. The standalone repo is 12 versions behind and nobody can tell. wave-av/adk presents as the home of the package — it is the URL in repository.url, it has the issue templates, the CODEOWNERS, the README. Work landed there does not reach users. I found this the hard way: I opened #59 there to fix a real shipped bug and it would have fixed nothing. The actual fix is #41.

2. Its SSOT describes a package that does not exist. wave-av/adk's .wave/repo.json declares:

subpath-exports … "the subpaths are not actually built or resolvable" — status: planned

That is true of the 1.0.2 fork and false of the shipped package, which builds and ships all six subpath entries. The Content Engine generates that repo's README from these facts, so we are publishing a documented "planned" for a feature that has been GA since 1.0.3.

3. The standalone repo has a live publish.yml running npm publish --access public. If it ever fires with a bumped version, it publishes a single-entry build with no subpath exports over a package whose consumers import @wave-av/adk/tools. That is a breaking release shipped by accident. This is the part worth acting on soonest, regardless of how the rest is resolved.

4. Two copies at 1.0.14 will drift. sdks and wave-surfer-connect are byte-identical on the file I looked at today, but nothing enforces that. The langgraph bug is present in all three.

What needs deciding

This is a "pick one" question, and it's an owner call, not something to resolve by fiat:

  • Option A — sdks is the home. Archive wave-av/adk (or reduce it to a pointer README), delete its publish.yml, and move its issues/.wave/repo.json into sdks. Drop the wave-surfer-connect copy in favour of the workspace dependency.
  • Option B — wave-av/adk is the home. Sync it forward from 1.0.14, move publish-npm.yml's adk job there, and make the monorepos consume the published package instead of vendoring source.

Either way, three things should happen regardless of which is chosen:

  • Disable publish.yml in wave-av/adk now — it is the accident waiting to happen, and it's a one-line change.
  • Add a CI check that fails if more than one workspace declares the same name in package.json. This class of problem is mechanically detectable and would have caught it years earlier.
  • Correct or retire wave-av/adk's .wave/repo.json so the Content Engine stops generating a README for a package that isn't shipped. Right now the drift gate reports that repo as clean, because the facts faithfully describe the fork.

Related

Surfaced while building wave-av/wave-context#72.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageOn the board but missing Type/Area/Priority

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions