Skip to content

chore: apply the over-engineering audit's five cuts - #38

Merged
btravers merged 2 commits into
mainfrom
chore/ponytail-audit
Aug 14, 2026
Merged

chore: apply the over-engineering audit's five cuts#38
btravers merged 2 commits into
mainfrom
chore/ponytail-audit

Conversation

@btravers

Copy link
Copy Markdown
Contributor

Five findings from a repo-wide over-engineering audit, applied. Net −131 lines.

The cuts

  • Ten byte-identical vitest.config.ts → one-line re-exports of a root
    vitest.shared.ts (nine examples + packages/di). Workspaces with real
    divergence — core's coverage thresholds, amqp's and the workers'
    globalSetup/cache configs — keep their own file: divergence stays visible in
    the workspace, not hidden in an override. knip ignores the shared file because
    the root package deliberately declares no vitest dependency.
  • Two doc passages still described examples/order-worker, a workspace
    deleted before the rename. Thesis feat: the application kernel #1 now names the three runtimes that exist,
    with the outcome order corrected (api → CONFLICT, temporal → nonRetryable,
    amqp → dead-letter), and examples/README.md drops the ghost
    queueWorkerRuntime and states temporalWorkerRuntime's and
    orderAmqpRuntime's real needs ([Outbox, Logger] for the latter — the old
    text claimed [PlaceOrder, Logger] for all three, which was wrong twice over).
  • .changeset/no-release-first-publish.md explained a decision in the di
    repository's release history; here it was a no-op file changeset version
    would consume into nothing.
  • turbo.json's dev task drops ^db:migrate: dev exists only in the
    five published packages, none of which depend on order-infrastructure, so
    the edge could never fire.
  • (Disk only) four untracked husk directories holding nothing but
    node_modules/.turbo deleted: packages/start,
    examples/order-{amqp,temporal,worker}.

Checked and deliberately not cut

createDeferred (looks like Promise.withResolvers, but the published
engines: ">=20" floor blocks it and the idempotent resolve is the point), the
32-file one-concept-per-file packages/core/src, and the
message-units.ts/activity-units.ts similarity across runtime packages —
the price of packages that don't import each other, which is a stated thesis.

Gate

formatlinttypecheckknipbuildtest 21/22 — the one
failure is the known local port-9000 clash in packages/core, unrelated. All
ten suites on the shared vitest config pass.

🤖 Generated with Claude Code

- Ten byte-identical `vitest.config.ts` files become one-line re-exports
  of a root `vitest.shared.ts`. A workspace with real divergence
  (`core`'s coverage thresholds, the amqp/temporal globalSetup and cache
  configs) keeps its own file — divergence stays visible in the
  workspace, not hidden in an override. knip ignores the shared file
  because the root package deliberately has no `vitest` dependency.
- Two doc passages still described `examples/order-worker`, a workspace
  deleted before the rename: Thesis #1's three-deployments claim now
  names the runtimes that exist (api → CONFLICT, temporal →
  `nonRetryable`, amqp → dead-letter), and `examples/README.md`'s
  unit-identity paragraph and needs list drop the ghost runtime
  (`queueWorkerRuntime`) and state `temporalWorkerRuntime`'s and
  `orderAmqpRuntime`'s real `needs`.
- `.changeset/no-release-first-publish.md` explained a decision in the
  di repository's release history; here it was a no-op file `changeset
  version` would consume into nothing.
- `turbo.json`'s `dev` task dropped its `^db:migrate` edge: `dev` exists
  only in the five published packages, none of which depend on
  `order-infrastructure`, so the edge could never fire.
- (Disk only) four untracked husk directories holding nothing but
  `node_modules`/`.turbo` are gone: `packages/start`,
  `examples/order-{amqp,temporal,worker}`.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 14, 2026 22:06

Copilot AI 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.

Pull request overview

This PR applies several repo-wide “over-engineering audit” cleanups: it centralizes identical Vitest configuration, removes an unused changeset, simplifies Turbo task dependencies, and updates documentation to reflect the current example/runtime set.

Changes:

  • Introduce vitest.shared.ts and switch multiple workspaces to re-export it from their vitest.config.ts.
  • Remove an unused .changeset/no-release-first-publish.md and adjust turbo.json dev-task dependencies.
  • Update docs (CLAUDE.md, examples/README.md) to remove stale references and correct runtime/needs descriptions.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
vitest.shared.ts Adds a shared Vitest config for workspaces without special needs.
turbo.json Removes the ^db:migrate dependency from the dev task.
knip.json Ignores vitest.shared.ts to avoid knip dependency/reporting noise at the root.
packages/di/vitest.config.ts Replaces duplicated Vitest config with a re-export of the shared config.
examples/order-temporal-contract/vitest.config.ts Re-exports the shared Vitest config.
examples/order-infrastructure/vitest.config.ts Re-exports the shared Vitest config.
examples/order-domain/vitest.config.ts Re-exports the shared Vitest config.
examples/order-config/vitest.config.ts Re-exports the shared Vitest config.
examples/order-application/vitest.config.ts Re-exports the shared Vitest config.
examples/order-api/vitest.config.ts Re-exports the shared Vitest config.
examples/order-api-contract/vitest.config.ts Re-exports the shared Vitest config.
examples/order-amqp-contract/vitest.config.ts Re-exports the shared Vitest config.
examples/hexagonal-order-api/vitest.config.ts Re-exports the shared Vitest config.
examples/README.md Updates example documentation around unit IDs and runtime needs.
CLAUDE.md Updates thesis/examples text to reflect the current example set and outcome ordering.
.changeset/no-release-first-publish.md Removes an unused/no-op changeset file.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread examples/README.md Outdated
…as it

The pointer said "see its own README for why", but the explanation —
delivery tags are per-channel and reset after reconnect — lives in
@btravstack/amqp's README, not the worker example's. The old text had
the same wrong target.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@btravers
btravers merged commit ffce12f into main Aug 14, 2026
13 checks passed
@btravers
btravers deleted the chore/ponytail-audit branch August 14, 2026 22:12
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.

2 participants