loadout-ai 0.1.2 → 0.2.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.
- package/CHANGELOG.md +24 -0
- package/MASTER_PLAN.md +79 -0
- package/README.md +218 -330
- package/catalog/discovered.json +7925 -6183
- package/dist/src/cli.js +52 -27
- package/dist/src/core/access.js +42 -0
- package/dist/src/core/catalog-install.js +60 -12
- package/dist/src/core/health-score-evidence.js +8 -0
- package/dist/src/core/install.js +15 -12
- package/dist/src/core/mcp-recipes.js +37 -6
- package/dist/src/core/skills.js +20 -7
- package/dist/src/core/state.js +20 -4
- package/dist/src/core/update.js +111 -10
- package/dist/src/core/upgrade.js +1 -0
- package/dist/src/shared/schemas.js +8 -0
- package/docs/DISCOVERED.md +253 -253
- package/docs/FEATURE_TEST_MATRIX.md +8 -7
- package/docs/TESTING.md +44 -2
- package/package.json +2 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.0 - 2026-07-17
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Subscription-aware onboarding with a non-secret `--api-access` declaration.
|
|
8
|
+
- Per-skill quarantine in Maximum Library so safe siblings remain available.
|
|
9
|
+
- Stored static-assessment evidence for the explainable Agent Health Score.
|
|
10
|
+
- Credential-gated MCP host configuration using resolved environment references only.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Preserve matching active Stable units when downloading the broader Maximum Library.
|
|
15
|
+
- Scope collection-repository updates to the exact managed skill units.
|
|
16
|
+
- Prevent unrelated repository scripts from creating false update warnings or being installed.
|
|
17
|
+
- Reject plaintext MCP environment values during configuration verification.
|
|
18
|
+
- Redact accidental key-like values from setup and credential-mapping errors.
|
|
19
|
+
|
|
20
|
+
### Security
|
|
21
|
+
|
|
22
|
+
- Chat product subscriptions are no longer presented as provider API access.
|
|
23
|
+
- MCP-only and executable records remain explicit; broad setup still runs no third-party installer.
|
|
24
|
+
- Missing credentials, changed revisions, missing active units, and invalid environment references fail closed.
|
package/MASTER_PLAN.md
CHANGED
|
@@ -190,6 +190,14 @@ Post-MVP path: commit `loadout.lock` and restore it on another machine.
|
|
|
190
190
|
`discover`, `recommend`, `compare`, `optimize`, `remove`, and `rollback`. Commands
|
|
191
191
|
not yet implemented remain Phase 12 backlog items. The dashboard remains optional.
|
|
192
192
|
|
|
193
|
+
Account capability rule: interactive setup asks whether the user has separately billed
|
|
194
|
+
OpenAI API, Anthropic API, OpenRouter, other provider access, or none. ChatGPT and
|
|
195
|
+
Claude subscriptions do not count. The answer contains provider names only, is not a
|
|
196
|
+
credential, is not persisted by setup, and cannot weaken safety policy. Static skills
|
|
197
|
+
remain available without model API access; credentialed MCP/runtime/model operations
|
|
198
|
+
remain explicit and fail closed until a named environment or OS-keychain reference is
|
|
199
|
+
appropriate for that execution boundary.
|
|
200
|
+
|
|
193
201
|
### 5.2 Normal use
|
|
194
202
|
|
|
195
203
|
- `loadout status`: agents, packages, conflicts, and update health.
|
|
@@ -1542,6 +1550,77 @@ recommendation promotion cannot bypass earlier evidence/trust gates. More catalo
|
|
|
1542
1550
|
records, a new frontend, automatic candidate installation, and broad arbitrary
|
|
1543
1551
|
runtime execution are explicitly lower priority than these waves.
|
|
1544
1552
|
|
|
1553
|
+
### Phase 17: Credential-aware onboarding and install/update correctness
|
|
1554
|
+
|
|
1555
|
+
This phase was added after founder review identified a common misconception: paid
|
|
1556
|
+
ChatGPT or Claude chat subscriptions are not provider API billing. Loadout must give a
|
|
1557
|
+
useful no-key experience while making credentialed integrations impossible to apply by
|
|
1558
|
+
accident.
|
|
1559
|
+
|
|
1560
|
+
- [x] `P17-01 [SOL policy, TERRA implementation]` Define a non-secret setup access
|
|
1561
|
+
profile for `openai`, `anthropic`, `openrouter`, `other`, or `none`.
|
|
1562
|
+
- Interactive onboarding asks in plain language and explicitly excludes chat
|
|
1563
|
+
subscriptions. `--api-access` accepts provider names, rejects unknown/key-like
|
|
1564
|
+
values, and never persists a credential.
|
|
1565
|
+
- The answer is eligibility/explanation context only; it cannot bypass trust,
|
|
1566
|
+
compatibility, license, safety, approval, or transaction gates.
|
|
1567
|
+
- [x] `P17-02 [TERRA]` Keep broad setup credential-free by construction.
|
|
1568
|
+
- Stable, Power, Maximum, and Custom automatically copy only statically inspected
|
|
1569
|
+
skill directories at immutable commits. MCP-only and executable records remain
|
|
1570
|
+
explicit regardless of declared API access.
|
|
1571
|
+
- Product copy explains that a skill mentioning OpenAI or Anthropic does not itself
|
|
1572
|
+
require a model key; the specific runtime operation decides that requirement.
|
|
1573
|
+
- [x] `P17-03 [SOL security, TERRA implementation]` Fail closed on credentialed MCP
|
|
1574
|
+
configuration.
|
|
1575
|
+
- A credentialed recipe cannot be applied until every required environment reference
|
|
1576
|
+
resolves. Config output stores `${VARIABLE}` only and never a value.
|
|
1577
|
+
- OS-keychain references are accepted only at Loadout-controlled execution
|
|
1578
|
+
boundaries such as the explicit bounded connection verifier; arbitrary host
|
|
1579
|
+
configs are not falsely claimed to resolve Loadout keychain entries.
|
|
1580
|
+
- [x] `P17-04 [TERRA]` Quarantine invalid Maximum units rather than entire collections.
|
|
1581
|
+
- Deterministic critical validation still fails closed for the unit. Safe siblings at
|
|
1582
|
+
the same immutable source revision remain available, and every rejected unit and
|
|
1583
|
+
reason appears in the preview.
|
|
1584
|
+
- [x] `P17-05 [SOL invariant, TERRA implementation]` Support Maximum after Stable.
|
|
1585
|
+
- Matching active units stay active only when the incoming and installed reviewed
|
|
1586
|
+
commits match. Additional units enter the disabled library. Revision mismatch or a
|
|
1587
|
+
missing active unit blocks the transaction instead of relabeling or overwriting it.
|
|
1588
|
+
- [x] `P17-06 [SOL invariant, TERRA implementation]` Scope collection updates to the
|
|
1589
|
+
exact managed unit set.
|
|
1590
|
+
- Update diff, risk analysis, planning, copying, verification, and state replacement
|
|
1591
|
+
ignore unrelated repository siblings and root files. Missing or added managed-unit
|
|
1592
|
+
targets block instead of silently changing the active set.
|
|
1593
|
+
- [x] `P17-07 [TERRA]` Persist static assessment evidence in install state and expose it
|
|
1594
|
+
to Agent Health.
|
|
1595
|
+
- Store status, finding count, assessment time, and policy version without secret or
|
|
1596
|
+
source-content values. Recompute it on every applied revision.
|
|
1597
|
+
- [ ] `P17-08 [HUMAN+SOL]` Complete founder verification on the published package.
|
|
1598
|
+
- Test no-key Stable, Stable-to-Maximum overlay, quarantine output, project
|
|
1599
|
+
optimization, scoped update, credential-gated MCP configuration, health evidence,
|
|
1600
|
+
rollback, and clean uninstall on the founder's snapshotted real Codex profile.
|
|
1601
|
+
- Repeat the safe no-key journey with Claude, then collect one Windows and one Linux
|
|
1602
|
+
external session. Convert every reproducible failure into a regression test before
|
|
1603
|
+
public-release claims.
|
|
1604
|
+
- [x] `P17-09 [TERRA implementation, LUNA copy review]` Make Power resilient and
|
|
1605
|
+
explain the product in beginner language before the `0.2.0` release.
|
|
1606
|
+
- Power now quarantines a rejected selected skill while retaining safe selected
|
|
1607
|
+
siblings from the same immutable collection, matching Maximum's unit-level
|
|
1608
|
+
isolation without weakening Stable's exact bounded default.
|
|
1609
|
+
- A live Codex preview prepares all eight Power collections and 50 skill directories,
|
|
1610
|
+
quarantines six individual units, and reports every overlap and approval boundary.
|
|
1611
|
+
- README now leads with install/mode/project/daily workflows, directly credits all
|
|
1612
|
+
50 upstream repositories, and distinguishes a new lead, an available update, and
|
|
1613
|
+
a comparison-backed replacement instead of treating popularity as proof.
|
|
1614
|
+
|
|
1615
|
+
Engineering checkpoint 2026-07-17: the complete local gate passes 103 test files/460
|
|
1616
|
+
tests, packaged CLI smoke, the real CLI product journey, release-claim checks, and seven
|
|
1617
|
+
1,000-skill scans at a 1.88-second p95. A real read-only Maximum preview against the 50
|
|
1618
|
+
pinned catalog records prepared 29 repositories/1,158 Codex skill directories,
|
|
1619
|
+
quarantined 50 invalid units while retaining safe siblings, deferred 19 MCP-only
|
|
1620
|
+
records, and resolved 44 lower-ranked overlaps. Comparing that prepared plan with the
|
|
1621
|
+
founder's 30 active Stable units found zero missing units and zero commit mismatches;
|
|
1622
|
+
no real agent file was mutated.
|
|
1623
|
+
|
|
1545
1624
|
## 19. Seven-day schedule
|
|
1546
1625
|
|
|
1547
1626
|
### Day 1: Foundation
|