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
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.
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 isrestored as the canonical
scampi-dev/scampi. This epic trims v1 backto 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 frozenfrontend, a single vendor, or a speculative ecosystem.
Decisions
lsp/+scamplsbenchmarks/+ CIBenchmark*funcs + smoke so ad-hocgo test -benchstill works.step/pve+ targetengine. Out of scope until the core is solid.step/rest+ targetrest.request→ idempotentrest.resource). Elegant, but premature on a non-frozen frontend. Revive later — the shape is right, the timing isn't.mod/mod.Parse, ~240 LOC). Cut the ~1600-LOC remote dependency manager (fetch/resolve/tidy/sum/vanity), thescampi modCLI, theVerifyAllgate, andlinker/remote.go. The remote half is the speculative module-registry ecosystem.step/containerindexcommandsite/Checklist
lsp/+cmd/scamplsbenchmarks/tracking apparatus (keep Benchmark funcs + smoke)step/pve+target/pve+std/pvestep/rest+target/rest+target/mem_rest+std/restmod/to the parser; cut the remote dependency managerRecoverability
pre-trim-2026-06-23.git revert <commit>(orcherry-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.