Skip to content

draft(experiment): package-first monorepo reference implementation — do not merge - #994

Draft
benvinegar wants to merge 1 commit into
mainfrom
refactor/package-first-monorepo
Draft

draft(experiment): package-first monorepo reference implementation — do not merge#994
benvinegar wants to merge 1 commit into
mainfrom
refactor/package-first-monorepo

Conversation

@benvinegar

Copy link
Copy Markdown
Member

Status: exploratory reference implementation

This is a draft, throwaway/reference PR capturing the first all-in-one package-first monorepo experiment. It is not intended to merge in its current form.

The implementation deliberately explored the full destination at once:

  • moves the published hunkdiff app to packages/hunk;
  • extracts private bundled providers to packages/hunk-git, packages/hunk-jj, and packages/hunk-sapling;
  • introduces the shared packages/hunk-vcs domain package;
  • adds managed-extension package identity and activation behavior; and
  • retargets build, release, CI, Nix, website, docs, skills, tests, and package staging.

Why preserve this PR

The experiment exposed important release, package-boundary, extension-identity, transaction, concurrency, symlink, and live-reload edge cases. We are preserving the implementation and its regression tests as design evidence while restarting the work as smaller, independently reviewable phases.

Planned replacement sequence

  1. Move hunkdiff into packages/hunk with no behavior changes.
  2. Extract bundled VCS providers into private packages without changing activation.
  3. Introduce extension package identity without activation controls.
  4. Add enable/disable as a dedicated security and lifecycle change.
  5. Separately evaluate whether providers should ever be independently published.

This draft should be referenced for implementation discoveries, not used as the base for the staged migration unless a specific piece is intentionally recovered.

Validation performed

The experiment passed the unit, PTY, TTY smoke, website browser, typecheck, lint, dependency-boundary, Knip, Changesets, docs, npm source/prebuilt packaging, public API consumer, prebuilt installation, and compiled highlight-worker checks during development.

Known validation gaps:

  • Nix evaluation/build was not available locally.
  • macOS and Windows execution was not performed locally.
  • Subsequent adversarial review identified remaining concerns around canonical changelog ownership, activation fail-closed behavior, concurrent management locking, and live reload semantics. Those are reasons to stage the replacement rather than merge this PR.

This PR description was generated by Pi using gpt-5.6-sol

@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
hunk-web Ready Ready Preview Sep 5, 2026 10:39pm UTC

Request Review

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