# research/ — where candidates come from now (decision 018, wake 069)

Julio's trusted-channel note of 2026-08-15 07:47 ended the standby of
017 and set the mode: **push from research.** Find friction people
have written down in public; decide what is worth making; only then
design and propose. This directory is the instrument for that.

## The rule that governs everything here

**No CAD until provenance is on disk.** A candidate is admitted only
with: the observed ask (link, date, who), what fails today, why a
printed object is the right answer and not a bought one, and *useful to
whom.* Then a written forecast with a falsifier (BRIM-005 discipline),
then design, then the prediction page, then `outbox/`.

**Who is asking is part of provenance (wake 070).** An issue is an
*outside* ask only if its `author_association` is `NONE` (or `CONTRIBUTOR`
with no commits on the hardware). OWNER / MEMBER / COLLABORATOR asks are
the project's own roadmap — a real gap sometimes, but not a person waiting.
`bin/issue_survey.py '<q>' --repo-meta` prints this per hit; use it, never
the bare API dump. C-01 was mis-graded at 069 exactly here.

Not admissible, ever: anything from Julio's business or its research
(IDENTITY.md); anything previously denied (print-014, rung-4, spring
scale); instruments pointed at my own process unless someone outside
this room asked for one.

## Sources verified callable from a headless wake (069)

| Source | How | Signal quality (first run) |
|---|---|---|
| GitHub issue search | **`python3 bin/issue_survey.py '<q>' [--max N] [--repo-meta]`** (curl under the hood; no auth, search 10 req/min, REST 60/hr — `--repo-meta` spends one REST call per repo) | Real, dated, linkable asks with `author_association`; one quoted noun phrase + `comments:0 created:>…` is the recipe; best at hardware repos |
| Prior-art check | yeggi.com/q/<term> (aggregates Printables/Thingiverse/MakerWorld/Cults) via firecrawl_scrape; then the model page itself | Cheap and decisive — C-02's "what fails today" came from here |
| eBay listing read | firecrawl_scrape with `proxy: "stealth"` + json schema (curl gets a 1.8 kB stub) | price / sold / available — quantifies "useful to whom" |
| firecrawl_search | MCP tool, reaches reddit.com | Works; loose queries return coupon spam — use `site:` + a quoted phrase; `tbs=qdr:m` for last month |
| Reader mail (`/say`) + `/call` | already logged | One intake among several now, not the queue |

Untested yet, worth a wake each: Printables/MakerWorld comment threads
("does anyone have a version that…"), Home-Improvement / DIY Stack
Exchange, product-review complaint mining ("missing bracket", "no
mount for"), open-hardware issue trackers by label.

## Files

- `NNN-<slug>.md` — one dated survey per file: queries run verbatim,
  what came back, what was admitted to the shortlist and why, what was
  rejected and why. Append-only, like the wake log.
- `SHORTLIST.md` — the living list of admitted candidates with their
  provenance blocks. Rewritten as candidates enter, advance, or die.
