chore(spec): close TERM-001-ghostty-bootstrap lifecycle#66
Merged
Conversation
Retrospective close-out for a feature already shipped piecemeal on main: * PR #38 (tmux truecolor passthrough for ghostty) * Commit b00353e (Ghostty bootstrap for Linux: setup-linux.sh + healthcheck + tests/ghostty.bats + terminal/ghostty/config + versions.conf pin) * Commit 7424731 (config comments translated to English) * Vault runbook 40-runbooks/guide-ghostty-setup.md already live The 10 acceptance criteria are all covered by existing artefacts. This PR moves the spec to specs/archive/ and adds: * features.json (10 features, all state: pending; harness sets pass-state) * tasks.md and verification.md filled with the retrospective evidence map No production code changes. tests/ghostty.bats still 10/10 green, full bats suite unchanged at 673/673. Spec archive: specs/archive/TERM-001-ghostty-bootstrap/. Closing pattern: "chore: close spec lifecycle" applies when a feature ships piecemeal before the spec was formally archived. The pattern itself is now documented in the archived tasks.md (look for "Lessons" heading).
3 tasks
mlorentedev
added a commit
that referenced
this pull request
May 22, 2026
REFACTOR-002 shipped in PR #64 (env-contract path declarations) on 2026-05-20 but its spec folder was missed by the archive bundle PR #88 (2026-05-21 session close). Move to specs/archive/ to keep the active specs/ directory accurate (only WIN-002-windows-smoke-sweep remains genuinely open). Same chore-close-spec-lifecycle pattern as PR #66 (TERM-001) and PR #72 (WIN-001): pure git-mv, no production code touched.
mlorentedev
added a commit
that referenced
this pull request
May 22, 2026
…t flow (#91) * chore(REFACTOR-002): archive spec folder post-merge (PR #64) REFACTOR-002 shipped in PR #64 (env-contract path declarations) on 2026-05-20 but its spec folder was missed by the archive bundle PR #88 (2026-05-21 session close). Move to specs/archive/ to keep the active specs/ directory accurate (only WIN-002-windows-smoke-sweep remains genuinely open). Same chore-close-spec-lifecycle pattern as PR #66 (TERM-001) and PR #72 (WIN-001): pure git-mv, no production code touched. * feat(REFACTOR-004): wire init-repo-* helpers into init-project default flow AUDIT-005 (specs/archive-pending in vault) surfaced that init-repo-{agents,standards,github-defaults}.{sh,ps1} -- created in 2026-05-14 via SDD-010 + SDD-013 -- have zero recorded invocations in shell history. Built-but-unused: the spec lifecycle confirmed code exists, but the value never landed in user practice. This PR wires the three helpers into the default init-project.{sh,ps1} flow so they actually fire when bootstrapping a new repo. Each invocation is non-fatal (individual failure logs a warning and continues, does not abort init). New opt-out flags --skip-agents / --skip-standards / --skip-github (PS: -SkipAgents / -SkipStandards / -SkipGithub) preserve the previous behaviour for users who want it. init-repo-github-defaults is auto-skipped when no `origin` remote is configured (typical for a brand-new local repo) -- silent info log. The three standalone helper scripts themselves are bit-identical to pre-PR state. Their independent CLI invocation continues to work for users who run them manually on an existing repo. Cross-OS surface: - scripts/init-project.sh: arg parser shift to handle --skip-* flags before positional args (preserves existing `project-name stack` signature); wiring block inserted after .gitignore creation. - scripts/init-project.ps1: 3 [switch] params added; wiring block inserted before the SUMMARY section; ASCII-only (no em-dash, no smart quotes) per PSScriptAnalyzer rule. Tests: 9 new structural / parity bats asserts in tests/init-project.bats (flag-parser greps, helper-presence asserts, origin-check guard, non-fatal log_error count, PS switch presence). Full suite: 765 -> 774 PASS, 0 regressions. Existing 2 functional tests (3, 4) that exercise the full flow still pass -- confirming `|| log_error ... continuing` correctly handles the missing-vault-template case in test isolation. Spec: specs/REFACTOR-004-init-project-repo-wiring/{proposal,tasks,verification}.md Vault: 11-tasks.md REFACTOR-004 entry (downstream of REFACTOR-001 audit).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Retrospective close-out for TERM-001-ghostty-bootstrap. The feature already shipped on main piecemeal:
b00353e— Ghostty bootstrap for Linux:setup-linux.sh+healthcheck.shSection 11/12 +tests/ghostty.bats(10 cases) +terminal/ghostty/config+versions.confGHOSTTY_VERSION=1.3.0pin.7424731— Config comments translated to English.40-runbooks/guide-ghostty-setup.mdalready live.This PR closes the spec lifecycle: moves the folder to
specs/archive/, fillstasks.md+verification.mdretroactively with the evidence map, addsfeatures.jsonwith the 10-feature harness contract.SDD checklist
TERM-001-ghostty-bootstrapin11-tasks.mdspecs/archive/TERM-001-ghostty-bootstrap/proposal.mdfrontmatterstatus: archivedtasks.mdfilled (retrospective implementation list pointing at the existing artefacts)verification.mdfilled with evidence + commit hashesfeatures.jsonwritten (10 features, allstate: pending; harness sets pass-state)SDD skip rationale
Test plan
bats tests/ghostty.bats→ 10/10 green (verified on this branch)bats tests/*.bats→ 673/673 unchanged (no production code touched)shellcheck --severity=errorcleanPattern note
The
chore: close spec lifecycleshape is the housekeeping PR that turns "feature shipped piecemeal" into "archived spec with full audit trail". It is NOT a workaround for SDD discipline — the proposal was filled before implementation. It IS the final step that closes the loop. Documented in the archivedtasks.mdunder "Lessons" so future contributors recognise the shape.Risk: scope creep. This PR carefully introduces ZERO production code changes — only
specs/andspecs/archive/paths.