loadout-ai 0.1.1 → 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 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.
@@ -1015,13 +1023,19 @@ universal or permanent truth.
1015
1023
  `NOASSERTION` records, before distribution.
1016
1024
  - [ ] `P12-31 [TERRA]` Publish `loadout-ai` to npm and run clean-machine package tests
1017
1025
  from outside the repository on macOS, Windows, Linux, and Node 20/22.
1018
- - Partial: `loadout-ai@0.1.0` was published publicly on 2026-07-16 while the GitHub
1026
+ - Partial: `loadout-ai@0.1.2` was published publicly on 2026-07-16 while the GitHub
1019
1027
  repository remained private. Registry metadata, `npx` version/help, and a real
1020
- read-only Stable preview passed outside the source directory. CI contains an
1028
+ read-only Stable preview passed outside the source directory. Patch `0.1.2`
1029
+ adds Codex Desktop detection through its existing `~/.codex` home when the
1030
+ standalone `codex` executable is absent from the user's shell PATH. CI contains an
1021
1031
  opt-in OS/Node matrix and OIDC/provenance release workflow; clean independent-user
1022
1032
  installs on Windows/macOS/Linux remain required.
1023
1033
  - [ ] `P12-32 [HUMAN]` Run moderated founder testing on the real Claude and Codex
1024
1034
  profiles with snapshots and explicit rollback checkpoints.
1035
+ - Partial 2026-07-16: the founder ran the published npm CLI against the real macOS
1036
+ profile. Read-only doctor/scan/status/health and snapshot listing completed; the
1037
+ run exposed and regression-tested the Codex Desktop detection fix. A real Stable
1038
+ mutation and rollback remain pending.
1025
1039
  - [ ] `P12-33 [HUMAN]` Run at least ten external user tests spanning new users, power
1026
1040
  users, Windows, macOS, Linux, one-agent, and multi-agent setups.
1027
1041
  - [ ] `P12-34 [SOL]` Public-beta go/no-go review.
@@ -1156,7 +1170,7 @@ universal or permanent truth.
1156
1170
  1,000 on-disk skills at a 1.29-second p95 on macOS/Node 23.
1157
1171
  - [ ] `P15-06 [HUMAN]` Approve public repository visibility, complete the six
1158
1172
  `NOASSERTION` license decisions, authenticate npm, and publish `loadout-ai`.
1159
- - Partial 2026-07-16: npm authentication and the public `loadout-ai@0.1.0`
1173
+ - Partial 2026-07-16: npm authentication and the public `loadout-ai@0.1.2`
1160
1174
  publication succeeded. Repository visibility remains private at the owner's
1161
1175
  request, and the six root-level `NOASSERTION` decisions remain a human release
1162
1176
  gate; therefore this combined item is not ticked.
@@ -1536,6 +1550,77 @@ recommendation promotion cannot bypass earlier evidence/trust gates. More catalo
1536
1550
  records, a new frontend, automatic candidate installation, and broad arbitrary
1537
1551
  runtime execution are explicitly lower priority than these waves.
1538
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
+
1539
1624
  ## 19. Seven-day schedule
1540
1625
 
1541
1626
  ### Day 1: Foundation