Skip to content

tui: remove Go shell bridge and adopt infra/ workspace conventions - #4

Merged
gocanto merged 4 commits into
mainfrom
chore/provision-to-infra
Jun 18, 2026
Merged

gocanto merged 4 commits into
mainfrom
chore/provision-to-infra

Conversation

@gocanto

@gocanto gocanto commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

What

  • Remove the Go shell bridge (provision/go) — the @ollin/shell portal CLI and the Go TUI reimplementation. It was a real-terminal harness, not part of the shipped runtime. Pruned its now-dead cache plumbing (bin/go-build/go-mod/go-tmp).
  • Rename provision/ → infra/ and adopt the sibling sasu repo's infra/ conventions by consolidating @ollin/artefacts + @ollin/tsconfig + the old provision-ts helpers into a single @ollin/infra package:
    • infra/src/index.ts — cache/path helpers (infraRoot, cacheDir, workspacePath, named tool buckets).
    • infra/tsconfig/{base,tui,acceptance}.json — centralized configs, exported via @ollin/infra/tsconfig/*.json.
    • infra/.cache — single tool-cache root; .npmrc store-dir → infra/.cache/pnpm-store.
    • infra/make/*.mk — modular Makefile; the repo-root Makefile is now a transparent forwarder into infra/make/Makefile.
  • Rewire consumers (root, tui, docs, acceptance) onto @ollin/infra, repoint every provision/.cache path to infra/.cache, drop the deleted packages from the pnpm workspace, and update UPSTREAM.md.
  • Add .idea/ to .gitignore.

Why

provision/ split tooling across several workspace packages and shipped a Go harness that isn't part of the public runtime. This aligns tui with sasu's single-package infra/ convention: one owner for the tool cache, centralized tsconfigs, and the Makefile.

Notes for reviewers

  • Hard cutoff on infra/artefacts/: deliberately not ported. tui packages build to their own packages/*/dist, so the sasu-style artefacts/dist|.logs helpers were dropped rather than carried over dead.
  • The cache-helper source in the old packages/artefacts / provision/ts was never imported at runtime (configs compute paths inline); only the tsconfig exports were consumed — so the consolidation is mostly extends + workspace-dep rewiring.
  • tsBuildInfoFile paths in the relocated infra/tsconfig/*.json resolve relative to the base-config dir (verified by typecheck).

Verification

  • pnpm install → 4 workspace packages, @ollin/infra swapped in for the two removed packages.
  • pnpm typecheck ✓ · pnpm build ✓ · pnpm test ✓ (tui 401, docs 5, acceptance 10 incl. the ESM package-consumption test).
  • make help reaches infra/make/* via the root forwarder.
  • git grep provision | @ollin/artefacts | @ollin/tsconfig → clean.

Remove the Go shell bridge (provision/go, the @ollin/shell portal and the
Go TUI reimplementation) — it was a real-terminal harness, not part of the
shipped runtime — and prune its now-dead cache plumbing (bin/go-build/
go-mod/go-tmp).

Rename provision/ -> infra/ and adopt the sibling sasu repo's infra
conventions by consolidating @ollin/artefacts + @ollin/tsconfig + the old
provision-ts helpers into a single @ollin/infra package:

- infra/src/index.ts: cache/path helpers (infraRoot, cacheDir, distDir,
  workspacePath, ...)
- infra/tsconfig/{base,tui,acceptance}.json: centralized configs exported
  via @ollin/infra/tsconfig/*.json
- infra/.cache: single tool-cache root; .npmrc store-dir -> infra/.cache/
  pnpm-store
- infra/make/*.mk: modular Makefile with the root Makefile as a transparent
  forwarder

Rewire all consumers (root, tui, docs, acceptance) onto @ollin/infra,
repoint every provision/.cache path to infra/.cache, drop the deleted
packages from the workspace, and update UPSTREAM.md.

Verified: pnpm install / typecheck / build / test all green (tui 401,
docs 5, acceptance 10 incl. the ESM package-consumption test); make help
reaches infra/make/* via the forwarder.

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request restructures the repository's tooling by replacing the old provision workspace and @ollin/tsconfig package with a unified @ollin/infra workspace. The Go-based TUI shell implementation and old artefacts package have been completely removed. All tool caches, centralized TypeScript configurations, and Makefile targets have been consolidated under the new infra directory, with the root Makefile acting as a transparent forwarder to modular makefiles in infra/make. As there are no review comments provided, I have no additional feedback to offer on these changes.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@gocanto gocanto changed the title chore: remove Go shell bridge and adopt infra/ workspace conventions tui: remove Go shell bridge and adopt infra/ workspace conventions Jun 17, 2026
@gocanto
gocanto marked this pull request as ready for review June 18, 2026 06:32
@gocanto
gocanto merged commit ad16be2 into main Jun 18, 2026
2 checks passed
@gocanto
gocanto deleted the chore/provision-to-infra branch June 18, 2026 06:33
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