replen 1.0.23 → 1.0.25

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.
@@ -171,7 +171,7 @@ export function discoverProjects(roots) {
171
171
  seenGithub.add(githubFullName);
172
172
  // Slug + display name both anchor on the GitHub repo NAME, not the
173
173
  // local folder name. Deriving from the folder meant a folder rename (or
174
- // an org rename like Covelent→nsokin) minted a fresh slug and the server
174
+ // an org rename) minted a fresh slug and the server
175
175
  // inserted a duplicate row. `~/code/drone` with remote
176
176
  // `nsokin/palisade-website` now registers as slug `palisade-website`.
177
177
  // The repo name is also the fallback display name, so a generic
@@ -353,7 +353,13 @@ verdict it calibrates the relevance floor for this project, and your
353
353
  adopt/skip pattern continuously tunes the ranking via the taste vector).
354
354
  A skip coded `modality-collision` teaches Replen that this repo fits a
355
355
  *different* modality — so it stays available for the right project but stops
356
- colliding with this one.
356
+ colliding with this one. A skip coded `covered` is the strongest signal you
357
+ can send: it tells Replen the capability is **already built in this repo**, so
358
+ it stops probing that facet entirely and won't surface a different tool for it
359
+ next session. Use `covered` ONLY when you've confirmed the implementation in
360
+ the code (e.g. the repo has its own `services/llm_client.py`), not just because
361
+ a similar dependency exists — that's what makes "we already do this" stick to
362
+ the capability instead of replaying every session against a new candidate.
357
363
 
358
364
  **Candidate's README is unreachable (WebFetch 404)**. Note it in the
359
365
  writeup (`Caveats: README unreachable; verdict based on description
@@ -126,13 +126,27 @@ knowledge graph — verify instead.)
126
126
  ### 2c. Write the grounded project report
127
127
 
128
128
  Produce a comprehensive write-up of the repo — the thing you'd hand a new
129
- engineer. Cover: **what it does and for whom · the stack · the algorithms/
130
- techniques it uses and WHY · the data it operates on · how it's architected ·
131
- what it's trying to achieve · constraints/non-goals.** Ground every claim in the
132
- code (name the files/modules). Be specific about the tech, not the domain
133
- marketing. This report is the single richest grounding artifact — it's what lets
134
- Replen tell, e.g., "anomaly detection over telemetry time-series (no ML)" apart
135
- from "image-defect anomaly detection".
129
+ engineer. Cover: **the stack · the algorithms/techniques it uses and WHY · the
130
+ data it operates on (shape/modality) · how it's architected · the technical
131
+ problem it solves · constraints/non-goals.** Ground every claim in the code
132
+ (name the files/modules). Be specific about the tech, not the domain. This
133
+ report is the single richest grounding artifact — it's what lets Replen tell,
134
+ e.g., "anomaly detection over telemetry time-series (no ML)" apart from
135
+ "image-defect anomaly detection".
136
+
137
+ **Respect the cover — describe the TECH, never de-sanitize the application.**
138
+ This report leaves the machine (stored server-side as grounding), so it must
139
+ read like the repo's own public docs, not like a leak. Replen only needs the
140
+ technical capability profile — what algorithms run on what data shape — which is
141
+ modality-precise without any sensitive real-world detail. If the README/CLAUDE.md
142
+ deliberately present a sanitized framing (e.g. "urban-infrastructure
143
+ segmentation") that differs from what the code's identifiers imply, FOLLOW THE
144
+ DOCS' framing: write "semantic segmentation of overhead imagery into vector
145
+ polygons," NOT the specific real-world thing it detects or who uses it. Never
146
+ copy a sensitive internal codename, end-user, deployment, or real-world target
147
+ into the report or the descriptors — the capability is the signal; the
148
+ application is exactly what stays local. When in doubt, describe it as the
149
+ public README does.
136
150
 
137
151
  ### 2d. Derive grounded capabilities
138
152
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replen",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
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": {