Skip to content

Epic: v1 refocus trim — cut to the core #429

Description

@pskry

Epic: v1 refocus trim — cut to the core

Tracking issue for the v1 refocus trim. Every trim commit references
this issue ((#N)); the final reconcile closes it.

Context

After the v2 (k8s-style reconciler) and v3 (full rewrite) detours, the
conclusion was that v1's architecture was right — the project died
of scope creep, not design. v3 is preserved at pskry/scampi-v3; v1 is
restored as the canonical scampi-dev/scampi. This epic trims v1 back
to a focused core so it can actually ship.

Direction: keep the convergence spine — lang → engine → step → target → diagnostic/render — and cut everything that's a bet on a frozen
frontend, a single vendor, or a speculative ecosystem.

Decisions

Area Decision Reasoning
lsp/ + scampls cut Frontend isn't frozen enough to support stable tooling. Revisit when scampi-lang stabilizes.
benchmarks/ + CI cut Baseline-tracking apparatus (51 baselines, VPS runner, HTML dashboard) is premature; perf isn't a current concern. Keep Benchmark* funcs + smoke so ad-hoc go test -bench still works.
step/pve + target cut Proxmox — one vendor, ~3.7k LOC, larger than engine. Out of scope until the core is solid.
step/rest + target cut The openapi-composition bet (raw rest.request → idempotent rest.resource). Elegant, but premature on a non-frozen frontend. Revive later — the shape is right, the timing isn't.
mod/ strip Keep the manifest parser + local multi-file/submodule loading (mod.Parse, ~240 LOC). Cut the ~1600-LOC remote dependency manager (fetch/resolve/tidy/sum/vanity), the scampi mod CLI, the VerifyAll gate, and linker/remote.go. The remote half is the speculative module-registry ecosystem.
step/container keep Docker/Podman is a real, broadly-useful capability. Clean structure (parallel to pkg/svc backends), zero entanglement with core file ops. Muscle, not fat.
index command cut Too narrow to be useful.
site/ TBD Separate Go module, doesn't affect the binary. Decided during the CI/GitHub reconcile.
Codeberg mirror TBD v3 may have clobbered it; reconcile during the CI pass.

Checklist

  • Drop lsp/ + cmd/scampls
  • Drop benchmarks/ tracking apparatus (keep Benchmark funcs + smoke)
  • Drop step/pve + target/pve + std/pve
  • Drop step/rest + target/rest + target/mem_rest + std/rest
  • Strip mod/ to the parser; cut the remote dependency manager
  • Reconcile CI / mirror / release / site workflows with the trim
  • Triage remaining issues against the trimmed scope

Recoverability

  • Pre-trim snapshot tagged pre-trim-2026-06-23.
  • One commit per area — reviving any cut is git revert <commit> (or
    cherry-picking the deleted tree back).

Issue triage done alongside

31 cut-aligned issues already closed as "not planned" (lsp/editor, pve,
rest, index, external-module ecosystem). Remaining mod-internals issues
get closed when the mod strip lands.

Metadata

Metadata

Assignees

Labels

kind/optimizationPerformance or internal quality improvement — behavior unchangedpriority/highThe priority is high

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions