Skip to content

build: add workspace package boundary gate#825

Merged
jithinraj merged 2 commits into
mainfrom
build/workspace-surface-classification-gate
Jun 6, 2026
Merged

build: add workspace package boundary gate#825
jithinraj merged 2 commits into
mainfrom
build/workspace-surface-classification-gate

Conversation

@jithinraj

Copy link
Copy Markdown
Member

Summary

Adds a fail-closed workspace package boundary gate.

The gate derives workspace package facts at runtime from
scripts/publish-manifest.json, the workspace package.json files, their
private flags, and the workspace roots. It does not add a public
package-classification manifest or a public schema.

Scope

  • No wire / schema-runtime / signing / CLI / runtime change.
  • No new published package.
  • No public protocol schema; no committed package census.
  • Published packages must match scripts/publish-manifest.json.
  • Non-published workspace packages must remain private: true.
  • apps/ and examples/ packages are never published and stay private.
  • Every package must sit under a recognized workspace root (fail closed).
  • Existing internal-package invisibility rules remain unchanged.

Verify

pnpm vitest run tests/tooling/workspace-package-boundary.test.ts
pnpm vitest run tests/tooling/internal-package-invisibility.test.ts tests/tooling/workspace-package-boundary.test.ts
pnpm vitest run tests/tooling/
pnpm format:check
bash scripts/ci/forbid-strings.sh
git diff --check

The second commit adds .gstack/ to .prettierignore so the repo-wide
format:check does not scan gitignored local generated tooling state.

@jithinraj
jithinraj merged commit c47eb6d into main Jun 6, 2026
26 checks passed
@jithinraj
jithinraj deleted the build/workspace-surface-classification-gate branch June 6, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant