replen 1.0.27 → 1.0.28

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.
@@ -67,6 +67,28 @@ Parse the JSON response. Note:
67
67
  the verdict isn't just "X is risky" but "X is risky; Y is the maintained
68
68
  replacement, N similar projects adopted it".
69
69
 
70
+ ### Step 2a — JIT grounding: profile this repo if onboarding hasn't yet
71
+
72
+ A large-portfolio `/replen-onboard` grounds the most-active repos fully and
73
+ gives the long tail a cheap version-only pass — so a registered repo can have
74
+ versions but **no capability profile yet**. Triaging it would fall back to
75
+ coarse tag matching (you'll see `filterMode: "tags"` and few/no facet-led
76
+ candidates). When that happens, ground it inline FIRST — it's just-in-time
77
+ onboarding, and it's why the user opening this repo is the right moment:
78
+
79
+ 1. Confirm the gap: call `replen_onboard_state` and find this repo — if
80
+ `hasCapabilities` is false, it needs grounding.
81
+ 2. Run the grounding contract (same as `/replen-onboard` step 2a–2e, condensed):
82
+ read the code, derive 8–15 grounded `{tag, descriptor, modality, paths}`
83
+ capabilities + a technical report, and push via `replen_set_capabilities`
84
+ (+ `replen_set_tags`, + `replen_set_versions` if not already reported).
85
+ Respect the cover — describe the tech, never de-sanitize the application.
86
+ 3. Re-pull the inventory (Step 2) — now it returns real facet-led matches.
87
+
88
+ Skip this when `hasCapabilities` is already true (the common case). One quiet
89
+ line to the user is enough: *"This repo wasn't fully profiled yet — grounding
90
+ it now so the matches actually fit."*
91
+
70
92
  ### Step 2b — Keep the version picture fresh (cheap, do it)
71
93
 
72
94
  If `git status` shows the lockfile changed since you last reported, or you
@@ -93,12 +93,18 @@ must not block on a 3-hour read. Tier the work so value lands fast:
93
93
  are what the user is actively working on and will see footnotes for soonest.
94
94
  2. **Cap concurrency** to what the host sustains (Claude Code parallel subagents
95
95
  are capped automatically; don't try to launch 200 at once — launch in waves).
96
- 3. **Version-first option for the long tail** for repos beyond the active set,
97
- a version-only backfill (cheap, no code read) still turns on EOL/security/
98
- dependency-exclusion awareness. Full capability grounding can follow lazily
99
- (next /replen-onboard, or on first /replen in that repo). Tell the user:
100
- "Grounding your N most-active repos now; the rest get version-aware coverage
101
- immediately and full profiles as you work in them." Don't silently drop the tail.
96
+ 3. **Version-first is the DEFAULT for the long tail** (not a fallback). Pick a
97
+ full-ground budget N (the most-recently-committed repos say the active ~20–
98
+ 30, or what the user confirms). Everything BEYOND N gets a version-only
99
+ backfill: cheap, no code read, and it turns on EOL/security/dependency-
100
+ exclusion awareness immediately. Full capability grounding for the tail then
101
+ happens **just-in-time on first `/replen` in that repo** the `/replen`
102
+ skill grounds a `hasVersions && !hasCapabilities` repo inline before triaging
103
+ (its Step 2a). This is the key to a hundreds-of-repos cold start staying
104
+ minutes, not hours: you never speculatively read 170 repos the user may never
105
+ open. Tell the user: "Grounding your N most-active repos now; the rest get
106
+ version-aware coverage immediately and a full profile the first time you open
107
+ them." Don't silently drop the tail — it's covered, just lazily.
102
108
 
103
109
  **"Done" includes a version report** — covered by the VERSION-ONLY bucket above.
104
110
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replen",
3
- "version": "1.0.27",
3
+ "version": "1.0.28",
4
4
  "description": "Make your AI coding tools smarter. One command, no API keys, free. Replen watches what your projects actually do and surfaces a few things worth bringing in each month. Use one as is, port a piece of another, cherry pick an idea, or build it clean room. The match happens inside your AI tool's session. A few actionable matches a month, by design.",
5
5
  "type": "module",
6
6
  "bin": {