Commit 6cca23d
feat: Lifecycle hardening (#2)
* test(S-04): add install integration tests
- 38 tests covering C-07 (InstallerNew), C-08 (InstallerInstall), C-12 (RunInstall)
- All tests pass (brownfield — existing implementation satisfies contracts)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore(S-04): mark install slice complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test(S-05): add check integration tests
- Tests for C-09 (InstallerCheck) and C-13 (RunCheck)
- Uses corrected TD-4 signatures (verify bool, contentFS fs.FS)
- Tests fail to compile pre-implementation (expected TDD behavior)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(S-05): implement check with SHA-256 verification (TD-4)
- Update Check signature: add verify bool and contentFS fs.FS params
- Update RunCheck signature: add contentFS fs.FS param
- Add ParseVerifyFlag for --verify boolean flag
- Add SHA-256 content hash comparison in verify mode
- Update cli.go call site to pass contentFS
- Fix present count: empty files count as present
- 52 tests passing (31 Check + 21 RunCheck)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore(S-05): mark check slice complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test(S-06): add uninstall integration tests
- Tests for C-10 (InstallerUninstall) and C-14 (RunUninstall)
- Uses corrected TD-3 signature (scope parameter)
- Tests fail to compile pre-implementation (expected TDD behavior)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(S-06): implement uninstall with conflict artifact removal (TD-3)
- Update Uninstall signature: add scope parameter
- Add asymmetric conflict artifact removal (CLAUDE_GREENLIGHT.md, CLAUDE.md.backup)
- Update RunUninstall to pass scope through
- Allow idempotent duplicate scope flags in ParseScope
- 28 tests passing (16 Uninstall + 12 RunUninstall)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore(S-06): mark uninstall slice complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: add S-07 CLI dispatch tests (C-15) — expected compile failure
Tests use corrected TD-2 signature: Run(args, contentFS, stdout io.Writer).
Current code has Run(args, contentFS) — implementation will fix.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: implement S-07 CLI dispatch (TD-2 + FR-8.1)
- cli.Run now accepts io.Writer parameter (TD-2)
- main.go prints fs.Sub error to stderr before exit (FR-8.1)
- Fix test to check correct asymmetric CLAUDE.md path for local scope
- 22 tests passing, 0 security findings
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: mark S-07 complete — all 7/7 slices done
228 tests passing, 0 failing, 0 security findings.
All design decisions (TD-1 through TD-4) and FR-8.1 implemented.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: update readme
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>1 parent 50aab30 commit 6cca23d
File tree
15 files changed
+4790
-26
lines changed- .greenlight
- internal
- cli
- cmd
- installer
15 files changed
+4790
-26
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
9 | 13 | | |
10 | 14 | | |
11 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | 7 | | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
12 | 11 | | |
13 | 12 | | |
14 | | - | |
15 | | - | |
| 13 | + | |
16 | 14 | | |
17 | 15 | | |
18 | 16 | | |
| |||
25 | 23 | | |
26 | 24 | | |
27 | 25 | | |
28 | | - | |
| 26 | + | |
29 | 27 | | |
30 | 28 | | |
31 | 29 | | |
| |||
0 commit comments