Skip to content

test(api): freeze the public package surface before 1.0 - #36

Merged
stackloomdev merged 1 commit into
mainfrom
agent/public-api-snapshot
Jul 25, 2026
Merged

stackloomdev merged 1 commit into
mainfrom
agent/public-api-snapshot

Conversation

@stackloomdev

Copy link
Copy Markdown
Owner

Summary

  • snapshot all five supported npm entrypoints, compatibility metadata, and shipped declarations
  • fail pnpm check on unreviewed package-surface drift with a concise first-difference report
  • document the public/internal boundary and beta-to-stable compatibility policy

Validation

  • pnpm verify:public-api
  • negative drift probe (expected failure at the changed snapshot line)
  • pnpm docs:build
  • pnpm check
  • staged diff/privacy scan: no weimob, fypro, local username, or npm-token pattern

Closes #35

@stackloomdev
stackloomdev force-pushed the agent/public-api-snapshot branch from ea601e3 to d94e984 Compare July 25, 2026 16:05
@stackloomdev
stackloomdev marked this pull request as ready for review July 25, 2026 16:09
@stackloomdev
stackloomdev merged commit 4ee41df into main Jul 25, 2026
11 checks passed
@stackloomdev
stackloomdev deleted the agent/public-api-snapshot branch July 25, 2026 16:09

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d94e9844fd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

}

function renderSnapshot(): string {
const declarations = declarationFiles(typesRoot);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Compare the snapshot with built module exports

The snapshot is generated exclusively from the hand-maintained packages/causescope/types directory and the manifest, while the package build does not generate declarations from packages/causescope/src. Consequently, adding a named export to any source entrypoint—or changing its implementation signature without updating the corresponding checked-in .d.ts—leaves generatedSnapshot unchanged, so pnpm check can pass despite the published JavaScript and declaration surfaces drifting. Derive declarations from the entrypoint sources or explicitly compare each built module's exports against its declarations before accepting the snapshot.

Useful? React with 👍 / 👎.

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.

test(api): freeze the public package surface before 1.0

1 participant