loadout-ai 0.7.0 → 0.8.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 (44) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +33 -33
  3. package/catalog/discovered.json +26880 -24184
  4. package/dist/src/cli.js +5 -0
  5. package/dist/src/commands/catalog.js +103 -116
  6. package/dist/src/core/agents/agent-inspection.js +26 -4
  7. package/dist/src/core/catalog/registry.js +58 -10
  8. package/dist/src/core/catalog/safety.js +36 -7
  9. package/dist/src/core/install/source.js +21 -7
  10. package/dist/src/core/reporting/cli-guide.js +3 -3
  11. package/dist/src/core/reporting/completion.js +42 -95
  12. package/dist/src/core/reporting/doctor.js +3 -5
  13. package/dist/src/core/routing/handoff.js +94 -58
  14. package/dist/src/core/routing/policy.js +147 -0
  15. package/dist/src/core/routing/route.js +25 -153
  16. package/docs/CANDIDATE_INTELLIGENCE.md +9 -2
  17. package/docs/CATALOG.md +1 -1
  18. package/docs/CREDENTIAL_AND_UPDATE_POLICY.md +1 -1
  19. package/docs/DISCOVERED.md +252 -251
  20. package/docs/FEATURE_TEST_MATRIX.md +7 -260
  21. package/docs/GITHUB_AUTHORIZATION.md +5 -0
  22. package/docs/PROVENANCE_AND_COMPARISON.md +1 -1
  23. package/docs/RELEASE_REVIEW.md +0 -1
  24. package/package.json +6 -4
  25. package/skills/loadout-router/SKILL.md +43 -78
  26. package/MASTER_PLAN.md +0 -2207
  27. package/docs/ACTIVE_SET.md +0 -53
  28. package/docs/COMPATIBILITY_POLICY.md +0 -22
  29. package/docs/CONVERSION_AND_SANDBOX.md +0 -27
  30. package/docs/EVALUATION_PROTOCOL_V1.md +0 -300
  31. package/docs/HEAD_TO_HEAD_EVALUATION.md +0 -79
  32. package/docs/PROVIDER_CONFIGURATION.md +0 -45
  33. package/docs/README_RESEARCH.md +0 -36
  34. package/docs/REPOSITORY_STABILIZATION.md +0 -190
  35. package/docs/SAFE_UPDATE_DEMO.md +0 -25
  36. package/docs/SCHEMA_DECISIONS.md +0 -25
  37. package/docs/SUBMISSION_COPY.md +0 -90
  38. package/docs/TEAM_POLICY.md +0 -18
  39. package/docs/superpowers/plans/2026-07-19-relatable-readme-hero.md +0 -283
  40. package/docs/superpowers/plans/2026-07-20-loadout-readme-explainer.md +0 -116
  41. package/docs/superpowers/plans/2026-07-20-project-activation-safety.md +0 -469
  42. package/docs/superpowers/specs/2026-07-19-relatable-readme-hero-design.md +0 -80
  43. package/docs/superpowers/specs/2026-07-20-loadout-readme-explainer-design.md +0 -55
  44. package/docs/superpowers/specs/2026-07-20-project-activation-safety-design.md +0 -228
package/CHANGELOG.md CHANGED
@@ -2,6 +2,78 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.8.0 - 2026-09-02
6
+
7
+ ### Security
8
+
9
+ - Reject a remote registry bundle whose `digest` is not a SHA-256 hex string,
10
+ and verify the resolved cache path stays under the cache root, before any
11
+ recursive delete. A crafted digest could previously escape the cache and
12
+ delete an arbitrary user-accessible directory.
13
+ - Fail closed in the safety scanner. Files that are oversized, unreadable, or
14
+ too deeply nested are reported as a blocking `uninspectable` finding instead
15
+ of being skipped silently, so an unreviewable file can no longer produce a
16
+ clean report.
17
+ - Apply a timeout, byte cap, and file cap to every repository fetch by default
18
+ rather than only when a caller opts in, and bound registry responses by time
19
+ and decoded size.
20
+
21
+ ### Fixed
22
+
23
+ - Parse the handoff log line by line. A single truncated write previously made
24
+ the whole inbox appear empty; good lines now survive and the corrupt line is
25
+ reported.
26
+ - Settle handoff tasks on `error` and `cancel` as well as `done`, via an
27
+ explicit `resolves` field, so a failed task no longer stays pending forever.
28
+ - Migrate handoff instruction blocks already written into `CLAUDE.md` and
29
+ `AGENTS.md` that still name retired commands.
30
+ - Report installed skills as a count of skills rather than a sum of every
31
+ nested file, which overstated 44 skills as 584 items.
32
+
33
+ ### Changed
34
+
35
+ - Generate shell completions from the Commander command tree so they cannot
36
+ advertise commands the CLI does not register.
37
+ - Rebuild `loadout route` around a routing policy the user owns
38
+ (`~/.loadout/routing.json`, three buckets) instead of a fixed phase-to-tier
39
+ table, and narrow the model catalog to the current Claude and GPT-5.6 tiers.
40
+ - Collapse handoff to a single command that sets itself up on first use.
41
+
42
+ ### Added
43
+
44
+ - `scripts/check-documented-commands.mjs` in the evidence gate: documentation
45
+ may no longer reference a command the CLI does not have.
46
+
47
+ ## 0.7.0 - 2026-08-31
48
+
49
+ ### Added
50
+
51
+ - First-party skills (`loadout skills list|install|remove`) shipping
52
+ `loadout-router` and `loadout-curator`, so Loadout is usable from inside an
53
+ agent conversation rather than only from a terminal.
54
+
55
+ ### Changed
56
+
57
+ - Retire 15 redundant or dead-end commands, taking the surface from 66 to 26.
58
+ - Group the 86 flat modules in `src/core` into eight domains.
59
+ - Drop "Boost" from the mode names and explain that Maximum stays disabled.
60
+
61
+ ## 0.6.0 - 2026-08-31
62
+
63
+ ### Added
64
+
65
+ - `loadout route`, recommending a model tier for a task with real pricing.
66
+ - `loadout handoff`, a shared task log between Claude Code and Codex.
67
+
68
+ ### Changed
69
+
70
+ - Rewrite `loadout doctor` output around a health grade and actionable next
71
+ steps rather than a per-component dump.
72
+
73
+ ### Fixed
74
+
75
+ - Resolve `LOADOUT_VERSION` from both source and built layouts.
76
+
5
77
  ## 0.5.9 - 2026-07-21
6
78
 
7
79
  ### Fixed
package/README.md CHANGED
@@ -39,29 +39,27 @@ Loadout — grade A: Healthy and up to date
39
39
 
40
40
  ✓ Claude Code
41
41
  ~/.claude/skills
42
- 582 items | supports: skill, command, agent, mcp, plugin, root
42
+ 43 skills | supports: skill, command, agent, mcp, plugin, root
43
43
  ✓ Codex
44
44
  ~/.agents/skills
45
- 83 items | supports: skill, command, agent, mcp, plugin, root
45
+ 30 skills | supports: skill, command, agent, mcp, plugin, root
46
46
 
47
- $ loadout route implement the payment webhook handler
48
- Phase: implement
49
- Tier: Standard (balanced)
50
- Models: Claude Sonnet 5 ($3/$15)
51
- GPT-5.6 Terra ($2/$12)
52
- Agents: claude-code, codex
53
- Why: Implementation is high-volume; standard models score within 5% of frontier
47
+ $ loadout route
48
+ Default routing policy (not saved yet)
54
49
 
55
- Conserve: drop to fast tier (GPT-5.6 Luna at $0.2/$1.2)
56
- May need more iterations on complex logic; fine for CRUD and boilerplate
50
+ hard Claude Opus 5 $5/$25 per M
51
+ architecture, security, migrations, tricky debugging, risky review
52
+ normal Claude Sonnet 5 $3/$15 per M
53
+ most implementation, ordinary debugging, refactors
54
+ cheap GPT-5.6 Luna $0.2/$1.2 per M
55
+ tests, docs, boilerplate, renames, mechanical edits
57
56
 
58
- Hand off:
59
- loadout handoff send codex 'implement the payment webhook handler'
57
+ Change it: loadout route --set normal=gpt-5.6-terra
60
58
  ```
61
59
 
62
- Three things most agent tools do not do: it knows which agents you actually have,
63
- it prices the tradeoff before you spend the tokens, and every mutating command
64
- previews first and snapshots before it writes.
60
+ The routing policy is a file you own, not a table I decided for you. Loadout
61
+ knows which agents you actually have, prices the tradeoff before you spend the
62
+ tokens, and previews and snapshots every write.
65
63
 
66
64
  ## Install
67
65
 
@@ -76,7 +74,7 @@ The second command detects your agents and previews the 30-skill Stable loadout.
76
74
  Nothing changes until you approve it. If anything goes wrong, start with the
77
75
  [user test guide](./docs/USER_TEST_GUIDE.md).
78
76
 
79
- For a reproducible install, pin the release: `npm install --global loadout-ai@0.7.0`.
77
+ For a reproducible install, pin the release: `npm install --global loadout-ai@0.8.0`.
80
78
 
81
79
  ## Use it from inside your agent
82
80
 
@@ -106,15 +104,19 @@ If you pay for both Claude and a ChatGPT plan, the two agents cannot see each
106
104
  other. Loadout gives them a shared, append-only task log:
107
105
 
108
106
  ```bash
109
- loadout handoff init
110
- loadout handoff send codex "write unit tests for auth" --context "see src/auth.ts"
111
- loadout handoff pickup --yes
107
+ loadout handoff codex "write unit tests for auth" --context "see src/auth.ts"
112
108
  ```
113
109
 
114
- `pickup` writes a small managed block into `CLAUDE.md` and `AGENTS.md` telling each
115
- agent to check `loadout handoff inbox <agent>` at the start of a session. Only the
116
- text between the `loadout:handoff` markers is managed; the rest of your file is left
117
- alone, and re-running replaces that block instead of duplicating it.
110
+ That is the whole thing. The first send creates the log and adds a short managed
111
+ block to `CLAUDE.md` and `AGENTS.md` telling each agent to check its inbox at the
112
+ start of a session. Only the text between the `loadout:handoff` markers is
113
+ managed; the rest of your file is left alone.
114
+
115
+ ```bash
116
+ loadout handoff codex # what is waiting for codex
117
+ loadout handoff # everything pending, both directions
118
+ loadout handoff --done 4f2a1c
119
+ ```
118
120
 
119
121
  ## How it works
120
122
 
@@ -147,12 +149,10 @@ $ loadout rollback
147
149
  Restored snapshot <snapshot-id>
148
150
 
149
151
  $ loadout route design the authentication system
150
- Phase: plan
151
- Tier: Frontier (deep reasoning)
152
- Models: Claude Opus 5 ($5/$25)
153
- GPT-5.6 Sol ($5/$30)
154
- Agents: claude-code
155
- Why: Architecture and decomposition need deep reasoning to avoid costly rework
152
+ Task: design the authentication system
153
+
154
+ Bucket: hard architecture, security, migrations, tricky debugging, risky review
155
+ Use: Claude Opus 5 ($5/$25 per M)
156
156
 
157
157
  $ loadout doctor
158
158
  loadout doctor — HEALTHY
@@ -451,7 +451,7 @@ Loadout does not claim there is one universally “best” configuration. Recomm
451
451
 
452
452
  <!-- loadout:daily-discovery:start -->
453
453
 
454
- **Discovery snapshot (generated 2026-08-31):** [238 repositories observed](./docs/DISCOVERED.md), including 219 uncataloged review candidates and 19 repositories already in the inspected catalog.
454
+ **Discovery snapshot (generated 2026-09-02):** [239 repositories observed](./docs/DISCOVERED.md), including 221 uncataloged review candidates and 18 repositories already in the inspected catalog.
455
455
  <!-- loadout:daily-discovery:end -->
456
456
 
457
457
  The checked-in discovery report proves only its dated snapshot, not the success of every scheduled run. Use `loadout discover --source all --queue`, `loadout review-queue`, and `loadout candidate inspect owner/repository` to inspect candidates before catalog promotion.
@@ -494,7 +494,7 @@ Configured CI platforms describe a manually triggered workflow, not evidence tha
494
494
 
495
495
  <!-- loadout:support-summary:end -->
496
496
 
497
- Configured paths and disposable filesystem lifecycle tests do not prove that native applications recognize or execute installed skills. Use `loadout capabilities --inspect` for the local component matrix.
497
+ Configured paths and disposable filesystem lifecycle tests do not prove that native applications recognize or execute installed skills. Use `loadout doctor --verbose` for the local component matrix.
498
498
 
499
499
  ## Command reference
500
500
 
@@ -519,7 +519,7 @@ Start at the top and stop whenever Loadout does everything you need.
519
519
  | 15 | Installs Loadout's own skill into your agents | `loadout skills install loadout-router --yes` |
520
520
  | 16 | Recommends the right model and agent for a task | `loadout route design the auth system` |
521
521
  | 17 | Shows the full model catalog with pricing | `loadout route --models`; `loadout route --cost` |
522
- | 18 | Sends a task to another agent via file-based handoff | `loadout handoff send codex "write tests for auth"` |
522
+ | 18 | Sends a task to another agent via file-based handoff | `loadout handoff codex "write tests for auth"` |
523
523
  | 19 | Checks agent health, permissions, and setup | `loadout doctor`; `loadout doctor --verbose` |
524
524
  | 20 | Lists and installs isolated runtime tools such as Graphify | `loadout tool`; `loadout tool graphify` |
525
525
  | 21 | Lists snapshots or restores the latest managed change | `loadout rollback --list`; `loadout rollback` |