Skip to content

refactor(install): S1 — framework-only install.sh (one-click-installer Stage 1) - #442

Merged
artyhoo merged 1 commit into
stagingfrom
worktree-oci-s1-install-trim
Jun 10, 2026
Merged

refactor(install): S1 — framework-only install.sh (one-click-installer Stage 1)#442
artyhoo merged 1 commit into
stagingfrom
worktree-oci-s1-install-trim

Conversation

@artyhoo

@artyhoo artyhoo commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Summary

Stage S1 of the one-click-installer umbrella (plan: docs/superpowers/plans/2026-05-31-one-click-installer.md Task 1, merged #441). Reduces install.sh to framework-only: the three companion-install blocks (Superpowers / TaskMaster / OhMyOpencode) and the --companions arg machinery move out — companion selection migrates to the upcoming ./setup manifest (S2/S3).

Changes

  • install.sh −128 LOC: deleted section 3.5 «Optional companion installs» in full (header comment → closing fi, incl. the non-interactive COMPANIONS=none fallback) + COMPANIONS init/arg-parse. The # ── aif-handoff integration note block survives intact (framework skill-context, not a companion install).
  • New TDD test tests/install-sh/no-companion-blocks.test.sh (verbatim from plan Task 1 Step 1): 4 assertions that install.sh carries no companion-install logic. Red-phase verified before trim (PASS=0 FAIL=4), green after (PASS=4 FAIL=0).

Prior-art consult

  • No capability commit in this PR — pure removal + test for existing surface (refactor(install) commit; no new dep, no new ≥50/80-LOC module under packages/). Prior-art for the umbrella's capability stages lives in spec §10/§11 (aif-handoff installMcpServer precedent) and lands with S2+.
  • No new capability area surfaced.
  • No SSOT entries matched (removal-only change).
  • context7 N/A — no new capability area.

Test plan

  • bash tests/install-sh/no-companion-blocks.test.shPASS=4 FAIL=0 (worker verify-trace, red→green TDD cycle evidenced)
  • bash -n install.sh → exit 0 (worker verify-trace)
  • Manual smoke: install.sh ts-server --dry-run in throwaway dir, non-interactive (</dev/null) → exit 0, «✅ Dry-run complete. Nothing was written.», zero companion prompts (grep on full output: companion|superpowers|taskmaster|ohmyopencode|[y/N] → 0 matches)
  • Regression guard: sibling tests/install-sh/transform-internal-refs.test.sh → 7 pass / 0 fail
  • grep -ni 'companion\|COMPANIONS' install.sh → zero matches; paid-by-default sweep (T-OCI-B): no surviving auto-install path of any companion (remaining claude plugin-shaped strings are echo-only next-steps prose)
  • CI ci-success gate on this PR (pending — runs on PR)

§1.7 Self-discipline check (REQUIRED if PR touches discipline-bearing files)

§1.7 Skipped: refactor-only trim of install.sh + paired TDD test; no discipline-bearing surface (rules/principles/templates) touched.

🟢 Простыми словами

install.sh теперь ставит только сам фреймворк и больше не предлагает установить компаньоны (Superpowers и др.) — этим займётся единая команда ./setup, которую добавят следующие стадии. Поведение зафиксировано тестом из 4 проверок.

Observations (out of scope, per CLAUDE.md PR strategy)

  • Plan Task 1 Step 5 expects «Dry-run complete» within tail -5, but install.sh prints the next-steps block AFTER that marker (pre-existing output order; marker at line 55/77 of the dry-run log). Plan expectation imprecise even before the trim — informational only.
  • Plan's absolute line anchors (:340-455, :457, :60/:62) drifted 2-7 lines vs current install.sh; executed by content-anchoring. Notably the deletion had to start at the # ─── 3.5 … header comment (:333), not the echo line the plan names — else the test's own assertion 4 stays red.

@artyhoo
artyhoo enabled auto-merge (squash) June 10, 2026 11:51
@artyhoo
artyhoo merged commit d46cdb9 into staging Jun 10, 2026
22 checks passed
@artyhoo
artyhoo deleted the worktree-oci-s1-install-trim branch June 10, 2026 12:42
artyhoo added a commit that referenced this pull request Jun 10, 2026
…with ./setup reality

Carried fixes from S4 GO: (1) BFR §1.1 opt-in seam is now the ./setup
companion-manifest flow (companion blocks left install.sh in S1 #442;
./setup + setup.d shipped #443-#447); (2) doc-authority-hierarchy §2
install.sh:138-152 citation updated to the verified SHIPPED_DOCS
copy/validate range install.sh:89-128.
artyhoo added a commit that referenced this pull request Jun 11, 2026
…no-arg) (#462)

DRIFT-1 aif-worktree-gap/aif-isolation ✅ (#372/#386/#387); DRIFT-2 N6b/one-click-installer ✅ (#442#452/#453); DRIFT-3 f2-aif-fire-backend-iphase ✅ (#457/#459); DRIFT-4 NEW guard-liveness umbrella row (Stage 1 ✅ #458/#460, Stage 2 v1.5‖v3 unblocked, Stage 3 v2 gated). Human-directed §0 write (Direction B). Pushed via Git Data API — local pre-push blocked by 2 unrelated gitignored kickoffs (cross-worktree-symlink-iphase, worktree-cleanup-migration) lacking §5; outside this doc-only diff.

Prior-art: skipped — doc-only §0 status reconciliation, no new capability or dependency.
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