loadout-ai 0.2.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/MASTER_PLAN.md +141 -33
  3. package/README.md +160 -255
  4. package/dashboard/app.js +4 -4
  5. package/dashboard/index.html +4 -4
  6. package/dist/src/cli.js +189 -32
  7. package/dist/src/core/active-set.js +37 -2
  8. package/dist/src/core/adapters.js +10 -0
  9. package/dist/src/core/adopt.js +165 -32
  10. package/dist/src/core/agent-health-score.js +2 -2
  11. package/dist/src/core/catalog-coverage.js +2 -1
  12. package/dist/src/core/catalog-install.js +8 -1
  13. package/dist/src/core/catalog-release.js +2 -1
  14. package/dist/src/core/cli-guide.js +101 -0
  15. package/dist/src/core/completion.js +3 -0
  16. package/dist/src/core/conformance.js +74 -0
  17. package/dist/src/core/install.js +36 -3
  18. package/dist/src/core/mcp-recipes.js +21 -0
  19. package/dist/src/core/profile-state.js +101 -0
  20. package/dist/src/core/profiles.js +9 -4
  21. package/dist/src/core/ranking.js +1 -1
  22. package/dist/src/core/readme-claims.js +10 -0
  23. package/dist/src/core/readme-facts.js +40 -0
  24. package/dist/src/core/recommend.js +9 -3
  25. package/dist/src/core/remove.js +6 -7
  26. package/dist/src/core/runtime-tools.js +10 -2
  27. package/dist/src/core/scheduler.js +4 -3
  28. package/dist/src/core/snapshot.js +58 -13
  29. package/dist/src/core/state.js +13 -3
  30. package/dist/src/core/transaction.js +2 -1
  31. package/dist/src/core/uninstall.js +133 -0
  32. package/dist/src/core/update.js +87 -58
  33. package/dist/src/dashboard.js +5 -2
  34. package/dist/src/shared/schemas.js +69 -0
  35. package/docs/FEATURE_TEST_MATRIX.md +16 -0
  36. package/docs/README_RESEARCH.md +36 -0
  37. package/docs/RELEASE_REVIEW.md +31 -5
  38. package/docs/REPOSITORY_STABILIZATION.md +190 -0
  39. package/docs/TESTING.md +75 -2
  40. package/docs/USER_TEST_GUIDE.md +202 -0
  41. package/docs/assets/loadout-hero.svg +259 -0
  42. package/docs/assets/loadout-mark.svg +54 -0
  43. package/docs/evidence/live-checks-2026-07-19.json +22 -0
  44. package/docs/evidence/live-checks.schema.json +28 -0
  45. package/docs/evidence/readme-claims.json +286 -0
  46. package/docs/superpowers/plans/2026-07-19-relatable-readme-hero.md +283 -0
  47. package/docs/superpowers/specs/2026-07-19-relatable-readme-hero-design.md +80 -0
  48. package/package.json +8 -4
  49. package/SIMPLE_PLAN.md +0 -44
package/CHANGELOG.md CHANGED
@@ -1,5 +1,76 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 - 2026-07-20
4
+
5
+ ### Added
6
+
7
+ - Add generated, test-enforced README facts and bounded release claims so public
8
+ documentation cannot silently drift away from the shipped catalog, profiles,
9
+ adapters, commands, or verification surface.
10
+ - Add disposable filesystem lifecycle conformance coverage for all 12 configured
11
+ agent adapters and an offline README product journey covering library install,
12
+ activation, inspection, privacy-safe sharing, and rollback.
13
+ - Add a new Loadout visual identity and a proof-first README organized around the
14
+ Choose -> Inspect -> Preview -> Apply -> Undo workflow.
15
+
16
+ ### Changed
17
+
18
+ - Make CI and claim-generation paths portable on Windows, fetch the repository
19
+ history needed by evidence checks, and pin third-party Actions by immutable commit.
20
+ - Consolidate active planning in `MASTER_PLAN.md` and retain completed implementation
21
+ documents only as historical evidence.
22
+
23
+ ### Fixed
24
+
25
+ - Refuse explicit rollback when managed paths changed after a mutation, including
26
+ dashboard restores and unsupported filesystem entries, while retaining automatic
27
+ failed-transaction recovery.
28
+ - Bind adoption to the complete safe skill tree, reject drift and forged plans, and
29
+ record ownership only after verifying the final bytes.
30
+ - Record installed-profile state inside the setup transaction so Stable and other
31
+ profile changes can be rolled back consistently.
32
+
33
+ ## 0.3.2 - 2026-07-18
34
+
35
+ ### Fixed
36
+
37
+ - Treat recursively empty skill directories left by an older removal as unoccupied,
38
+ while continuing to block every directory containing a file, symlink, or other
39
+ unmanaged entry.
40
+ - Re-check target occupancy immediately before copying or replacing files to close the
41
+ preview/apply race.
42
+ - Remove recursively empty managed skill directories during complete uninstall so a
43
+ clean reinstall does not encounter false conflicts.
44
+
45
+ ## 0.3.1 - 2026-07-18
46
+
47
+ ### Fixed
48
+
49
+ - Distinguish separately billed AI/model API keys from unrelated service credentials.
50
+ The no-model-key MCP view now correctly includes GitHub read-only while clearly
51
+ disclosing its GitHub token requirement; `--credential-free` retains the stricter
52
+ zero-credential filter.
53
+
54
+ ## 0.3.0 - 2026-07-18
55
+
56
+ ### Added
57
+
58
+ - Add a preview-first `loadout uninstall` that removes managed packages, runtime
59
+ tools, native daily jobs, library/cache/state, and optionally the global npm CLI.
60
+ - Save the installed Stable, Power, Maximum, or Custom profile and evaluate it on
61
+ every `loadout update` check.
62
+ - Add explicit whole-profile `loadout update --yes` for reviewed profile drift and
63
+ safe active-package updates, holding disabled or risky changes for review.
64
+ - Add a pinned Chrome DevTools MCP recipe and `mcp-recipe --no-key` alongside
65
+ Playwright MCP.
66
+
67
+ ### Changed
68
+
69
+ - Daily update jobs use the unified profile-and-package update check while remaining
70
+ read-only.
71
+ - Bound large update checks to four repositories at a time and 30 seconds per network
72
+ operation, with readable progress in interactive CLI output.
73
+
3
74
  ## 0.2.3 - 2026-07-17
4
75
 
5
76
  ### Fixed
package/MASTER_PLAN.md CHANGED
@@ -6,6 +6,139 @@ Category: Developer Tools
6
6
  Team size: 3
7
7
  Target submission: July 21, 2026 at 5:00 PM Pacific / July 22 at 4:00 AM Dubai
8
8
 
9
+ ## Current status and remaining work (July 20, 2026)
10
+
11
+ This is the authoritative active list. The long phase history below is retained as
12
+ an archival engineering record, not a second active plan and not a command to build
13
+ every speculative system before users can test Loadout. Completed implementation
14
+ plans and contributor-specific plans have been consolidated here and removed.
15
+
16
+ ### Implemented product work
17
+
18
+ - [x] `P18-01 [TERRA]` Make the first CLI screen beginner-readable: a read-only
19
+ `loadout guide`, concise default library summary, focused first-screen help,
20
+ and retained access to every advanced command through `loadout advanced` or
21
+ `<command> --help`.
22
+ - [x] `P18-02 [TERRA]` Make core machine output honest: `catalog --json` returns
23
+ JSON, and `update --package <id>` checks only that package rather than every
24
+ tracked installation.
25
+ - [x] `P18-04 [TERRA]` Bound and explain live network checks in `health --updates`
26
+ and `watch --once`; they must show progress, a clear timeout, and an actionable
27
+ result even when a large Maximum library is present.
28
+ - [x] `P18-05 [TERRA]` Make Agent Health distinguish active skills from disabled
29
+ Maximum-library copies, so a broad download is not presented as a broken active
30
+ configuration.
31
+ - [x] `P18-06 [TERRA+LUNA]` Audit the local dashboard with real founder state at
32
+ desktop and mobile widths. Keep it optional, reduce jargon, and only add UI
33
+ actions that retain preview, explicit acknowledgement, snapshot, and rollback.
34
+ - [x] `P18-07 [TERRA]` Add a concise beginner section to README that links to the
35
+ testing guide and explains Stable, Power, Maximum, project recommendations,
36
+ daily discovery, and rollback in plain language.
37
+ - [x] `P18-15 [TERRA]` Bind material README claims to checked repository evidence,
38
+ add generated facts and adapter lifecycle coverage, test the documented product
39
+ flow, and separate deterministic, live, and human evidence.
40
+ - [x] `P18-16 [TERRA]` Make risky setup previews include every required approval
41
+ flag, reject unknown top-level commands, and make user-requested rollback fail
42
+ closed when files changed after a mutation or when a legacy snapshot lacks
43
+ post-mutation evidence. Internal failed-transaction recovery remains
44
+ authoritative.
45
+ - [x] `P18-19 [SOL+TERRA]` Re-audit the final unmerged development branch before deletion and preserve its
46
+ one valuable adoption-safety intent in the current architecture. Adoption now
47
+ binds the complete safe tree, rejects drift and special entries, records only
48
+ final verified bytes, conservatively attributes catalog review, deep-freezes
49
+ previews, and accepts only the exact same-process planner-issued plan
50
+ (`186daa0`, `09e0e0c`, `3f2cafe`, `10d6109`). No valuable work remains on the
51
+ retired branch; its local and remote copies were deleted after synchronization while
52
+ the user's ignored `.superpowers/` directory was preserved.
53
+ - [x] `P18-20 [SOL+TERRA]` Fix the fresh-clone live Stable rollback regression
54
+ without weakening drift protection. `5f8e38e` records installed-profile state
55
+ inside the catalog transaction before post-mutation evidence and makes the live
56
+ evidence journey roll Stable back before unrelated fixture transactions. An
57
+ unsafe proposal to ignore `state.json` drift was rejected because it could
58
+ orphan later installations.
59
+
60
+ All intended work through P18-20 is on remote `main`, and there are no open PRs. The
61
+ merged `codex/relatable-readme-hero` remote branch remains safe to delete after the
62
+ 0.4.0 release checkpoint.
63
+
64
+ ### Deterministic repository verification
65
+
66
+ - [x] `P18-08 [TERRA]` Run the complete clean-state verification gate after plan and
67
+ documentation consolidation, including formatting, lint, type checking, build,
68
+ evidence checks, unit and integration tests, CLI and README product flows,
69
+ package smoke, performance, dashboard Playwright, package contents, and
70
+ `git diff --check`. The July 20 integrated-main audit passed 113 test files with
71
+ 597 tests passing and one intentionally skipped, both product flows, package
72
+ smoke, the 1,000-skill performance gate at 2.40 seconds p95, and both dashboard
73
+ viewports.
74
+ The additional live Stable gate installed four pinned packages and completed
75
+ state and filesystem rollback assertions at `5f8e38e`.
76
+
77
+ ### Branch cleanup status
78
+
79
+ - [x] Review all unique history on the final unmerged development branch before
80
+ deletion; the adoption gap above was the only remaining valuable intent.
81
+ - [x] Reimplement and regression-test that intent in the current architecture.
82
+ - [x] Complete the second remote synchronization, confirm the four adoption commits
83
+ are reachable from remote `main`, and delete the superseded development
84
+ branches. The temporary worktree was removed and the unrelated ignored
85
+ `.superpowers/` directory was preserved. The later merged README hero branch is
86
+ retained only until the 0.4.0 release checkpoint.
87
+
88
+ ### Human and external work (not provable by local tests)
89
+
90
+ - [ ] `P18-03 [HUMAN+TERRA]` Run the founder acceptance path in
91
+ `docs/USER_TEST_GUIDE.md` on real Codex and Claude profiles. Record each
92
+ observed failure and turn reproducible ones into regression tests.
93
+ - [ ] `P18-13 [HUMAN+TERRA]` Publish `loadout-ai@0.4.0` to npm, then test that exact
94
+ registry tarball in a fresh terminal through Stable -> rollback -> Power ->
95
+ rollback -> Maximum -> project optimization -> dashboard -> complete uninstall.
96
+ The registry exposed versions only through `0.3.1` before this release attempt;
97
+ local package metadata and a Git tag do not prove publication.
98
+ - [ ] `P18-17 [HUMAN]` Resolve the GitHub account billing or spending-limit condition
99
+ that prevents Actions jobs from starting, rerun CI and daily discovery on the
100
+ integrated commit, and record the result. CI runs
101
+ [`29691581581`](https://github.com/VirajMishra1/loadout/actions/runs/29691581581)
102
+ (`4fdc473`) and [`29692535521`](https://github.com/VirajMishra1/loadout/actions/runs/29692535521)
103
+ (`e74ba16`) failed before any step ran; their annotations cite failed recent
104
+ account payments or a spending limit that must be increased. They are external
105
+ runner-account failures, not product-test failures.
106
+ - [ ] `P18-18 [HUMAN]` Decide and configure appropriate `main` branch protection.
107
+ GitHub currently returns 404 for the protection endpoint, so protection is
108
+ absent or not observable; do not describe it as enabled.
109
+
110
+ ### Release 0.3 lifecycle hardening
111
+
112
+ - [x] `P18-09 [SOL+TERRA]` Add preview-first complete uninstall with modified-file
113
+ protection, native-job cleanup, runtime restoration, guarded state deletion,
114
+ and optional global npm removal.
115
+ - [x] `P18-10 [TERRA]` Persist the installed profile and make `loadout update`
116
+ evaluate both profile drift and every managed repository.
117
+ - [x] `P18-11 [SOL+TERRA]` Add explicit bulk safe updates while holding disabled,
118
+ risky, and failed packages for review; scheduled checks remain read-only.
119
+ - [x] `P18-12 [TERRA]` Add a pinned Chrome DevTools MCP recipe and distinguish
120
+ separately billed AI/model API keys from unrelated service credentials. The
121
+ no-model-key inventory includes GitHub read-only with its token disclosed.
122
+ - [x] `P18-14 [TERRA]` Treat recursively empty directories from legacy cleanup as
123
+ unoccupied without weakening unmanaged-file protection, and make complete
124
+ uninstall remove empty nested directory shells.
125
+
126
+ ### Explicitly deferred (do not expand during this usability pass)
127
+
128
+ - Hosted accounts, GitHub OAuth, cloud sync, analytics, and enterprise policy.
129
+ - Required API keys, automatic provider spending, or treating chat subscriptions as
130
+ API access.
131
+ - Automatically installing newly discovered repositories or executing arbitrary
132
+ third-party installers.
133
+ - A universal quality score, social-network scraping, or support claims for an agent
134
+ that has not passed a real adapter test.
135
+
136
+ ## Archived implementation history
137
+
138
+ Sections 1–20 below preserve the original product design, allocation, completed work,
139
+ and deferred exploration. They are historical context. Only the current-status section
140
+ above defines active work.
141
+
9
142
  ## 1. Executive summary
10
143
 
11
144
  Loadout is a universal extension manager for AI coding agents. It detects the agents
@@ -91,12 +224,11 @@ Loadout wins through:
91
224
  - Optional local-folder scan for project-aware recommendations.
92
225
  - Clear display of `native`, `adapted`, and `unsupported` components.
93
226
 
94
- ### 3.2 Committed full-product scope
227
+ ### 3.2 Deferred product exploration (not current launch scope)
95
228
 
96
- These are committed capabilities, not disposable ideas. The team attempts them after
97
- the submission-critical vertical slice is integrated and passing. Any capability that
98
- is incomplete at submission must remain behind an experimental flag rather than being
99
- presented as production-ready.
229
+ These are ideas worth revisiting after the core CLI has passed real founder and
230
+ external user testing. They are not commitments for this hackathon release and must
231
+ not be presented as production-ready simply because a prototype or command exists.
100
232
 
101
233
  - GitHub OAuth for private repositories and personalized discovery, using minimal
102
234
  read-only scopes by default.
@@ -1773,31 +1905,7 @@ small PRs, no long-lived branches.
1773
1905
 
1774
1906
  ## 25. Immediate next tasks
1775
1907
 
1776
- The next engineering wave deliberately precedes npm, Devpost, and repository-visibility
1777
- work. Preserve the Sol/Terra/Luna routing and credit policy above.
1778
-
1779
- 1. `P16-02/03`: add a concrete disposable fixture executor and one explicit provider
1780
- adapter only after the user supplies separate API credit and approves the exact
1781
- maximum spend. Run provider reconciliation and the hosted Linux/Windows matrix; do
1782
- not turn Codex subscription or hackathon credit into an assumed API budget.
1783
- 2. `P16-04/05`: execute at least five real paired trials per compared candidate, review
1784
- failures and contamination, sign the resulting evidence, and obtain genuine human
1785
- license/trust approval before any `benchmarked` or `recommended` transition.
1786
- 3. `P16-12`: generate the production Ed25519 key outside the repository, configure the
1787
- public feed location and secret-backed daily publisher, test first-pin/rotation/
1788
- recovery operationally, and publish no private or unsigned artifact.
1789
- 4. `P16-14`: run the beginner comprehension session for card/compare/badge wording and
1790
- convert every reproducible misunderstanding into a fixture or copy regression.
1791
- 5. `P16-15`: independently review usefulness, license, security, dependencies,
1792
- Windows behavior, rollback, and removal for a second runtime tool before admission.
1793
- 6. `P16-16`: run founder testing first, then implement only observed adapter gaps with
1794
- official-source evidence, preservation fixtures, transaction coverage, and a real
1795
- disposable smoke test.
1796
- 7. `P16-18`: run the full founder matrix on disposable profiles before the real Codex
1797
- and Claude profiles, followed by ten external sessions across experience levels and
1798
- Windows/macOS/Linux. Convert reproducible failures into regression tests.
1799
- 8. Rerun `npm run verify`, the complete disposable feature matrix, npm dry-run, hosted
1800
- cross-platform jobs, and clean external tarball installs after those external gates.
1801
- 9. Human release work remains last: P12-30 license decisions, P15-06 public visibility
1802
- and npm publication, P15-07B clean external installs, branch protection, demo/video,
1803
- feedback, Devpost fields, and final review.
1908
+ Use the `Current remaining work` section at the top of this document. The next action
1909
+ is founder acceptance testing with `docs/USER_TEST_GUIDE.md`; do not add a new hosted
1910
+ service, provider dependency, or frontend surface until an observed user-testing issue
1911
+ justifies it.