chore: remove internal spec docs and bump unthrown to 5.1.0 - #373
Merged
Conversation
`docs/superpowers/**` held the specs and implementation plans for this repo's own five hardening workstreams. They were never end-user documentation and are now redundant with the shipped code, its changesets, and git history. Two things referenced the directory and would have dangled: - `packages/testing/src/no-sdk-mocks.spec.ts` cited the mock-free-architecture spec as the rationale for its allowlist ratchet. The rule matters more than the file, so it is now stated inline: assert effects, never call shapes — a test asserting which SDK method was called proves the code still calls it, not that Temporal does the right thing with it. - `docs/.vitepress/config.ts`'s `srcExclude` is deliberately KEPT even though the directory is gone. Its own comment explains why the exclusion exists: without it, `deploy-docs.yml` publishes these pages to the public site. The workflow that produced them writes back to the same path, so the guard must already be in place next time. Deleting it as dead config would silently publish the next batch.
Catalog-only, per the dependency rule — the three entries in `pnpm-workspace.yaml` (`unthrown`, `@unthrown/oxlint`, `@unthrown/vitest`). Per-package `peerDependencies` stay at `^5.0.0`, which already admitted `5.1.0`, so the published packages' dependency contract is unchanged. Checked rather than assumed that this is a safe minor: extracted the top-level declarations from both versions' `dist/index.d.mts` and compared them — 32 exports each, none added, none removed. Gates: typecheck 12/12, unit 9/9, in-process 14 files/71 tests, testing 52/52, lint, knip exit 0.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR does housekeeping ahead of the next beta by (1) removing internal “superpowers” spec/plan documents from the docs site surface, and (2) bumping the workspace-catalog unthrown toolchain packages to 5.1.0 while keeping consumer peer ranges unchanged.
Changes:
- Bump
unthrown,@unthrown/vitest, and@unthrown/oxlintfrom 5.0.0 → 5.1.0 via the workspace catalog (and lockfile). - Remove
docs/superpowers/**spec/plan markdown files and keep the VitePresssrcExcludeguard to prevent accidental publication if the directory returns. - Replace a dangling spec-doc reference in
no-sdk-mocks.spec.tswith an inline rationale for the allowlist ratchet.
Reviewed changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pnpm-workspace.yaml | Updates catalog versions for unthrown + related workspace tooling to 5.1.0. |
| pnpm-lock.yaml | Lockfile refresh reflecting the 5.1.0 catalog bump. |
| packages/testing/src/no-sdk-mocks.spec.ts | Replaces a removed-doc reference with an inline explanation of the rule/allowlist. |
| docs/.vitepress/config.ts | Keeps srcExclude: ["superpowers/**"] with clarified rationale to avoid publishing internal docs. |
| .changeset/bump-unthrown-5-1-0.md | Adds a changeset recording the workspace catalog bump (minor wording nit noted in a PR comment). |
| docs/superpowers/specs/2026-08-01-mock-free-test-architecture-design.md | Removes internal spec document from docs tree. |
| docs/superpowers/specs/2026-08-02-determinism-invariants-design.md | Removes internal spec document from docs tree. |
| docs/superpowers/specs/2026-08-03-compile-time-contract-validation-design.md | Removes internal spec document from docs tree. |
| docs/superpowers/specs/2026-08-04-contract-idempotency-design.md | Removes internal spec document from docs tree. |
| docs/superpowers/specs/2026-08-04-safe-default-option-shapes-design.md | Removes internal spec document from docs tree. |
| docs/superpowers/specs/2026-08-04-uniform-activity-result-design.md | Removes internal spec document from docs tree. |
| docs/superpowers/plans/2026-08-01-mock-free-test-architecture.md | Removes internal implementation plan from docs tree. |
| docs/superpowers/plans/2026-08-02-determinism-invariants.md | Removes internal implementation plan from docs tree. |
| docs/superpowers/plans/2026-08-04-contract-idempotency.md | Removes internal implementation plan from docs tree. |
| docs/superpowers/plans/2026-08-04-safe-default-option-shapes.md | Removes internal implementation plan from docs tree. |
| docs/superpowers/plans/2026-08-04-uniform-activity-result.md | Removes internal implementation plan from docs tree. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Housekeeping ahead of the next beta. Two unrelated changes, one commit each.
Remove
docs/superpowers/**These were the specs and implementation plans for the five hardening workstreams. They were never end-user documentation, and they are now redundant with the shipped code, the changesets, and git history.
Two things referenced the directory and would have dangled:
packages/testing/src/no-sdk-mocks.spec.tscited the mock-free-architecture spec as the rationale for its allowlist ratchet. The rule matters more than the file, so it is now stated inline: assert effects, never call shapes — a test asserting which SDK method was called proves the code still calls that method, not that Temporal does the right thing with it.docs/.vitepress/config.ts'ssrcExcludeis deliberately kept, not deleted as dead config. Its own comment explains that without it,deploy-docs.ymlpublishes these pages to the public site. The workflow that produced them writes back to the same path, so the guard has to already be in place the next time specs land. Removing it would silently publish the next batch.Bump
unthrownto 5.1.0Catalog-only, per the dependency rule — the three entries in
pnpm-workspace.yaml. Per-packagepeerDependenciesstay at^5.0.0, which already admitted5.1.0, so nothing changes for consumers; only the repo's own dev dependency moves.Checked rather than assumed that this is a safe minor: extracted the top-level declarations from both versions'
dist/index.d.mtsand compared them — 32 exports each, none added, none removed.Verification
Uncached
pnpm turbo run typecheck12/12 ·pnpm turbo run test9/9 · in-process tier on a real time-skipping server, 14 files / 71 tests · testing package 52/52 ·oxlintclean ·knipexit 0 ·changeset statuslists all four packages.