research-first
story: e03s01
Section titled “story: e03s01”story: e21s02
Section titled “story: e21s02”Research First
Section titled “Research First”HARD GATE — Do NOT implement until prior art is searched. Minimum outcome: adopt, extend, compose, or build — with evidence.
Process
Section titled “Process”- Read
specs/product/SCOPE_LATEST.yaml,specs/release-plan.yaml + epic shards, and the current task statement. - Search in order: this repo → bigpowers skills (
search-skills) → package registries → web docs. - Check opensrc cache — if the task integrates an external library, run
bash scripts/bp-opensrc-check.sh(ornpx opensrc search <pkg>) to find locally-cached source. Read thesrc/directory for API shapes before writing any integration code. - For each candidate: note name, URL/path, fit (adopt | extend | compose | build).
- Append
## Prior Arttorequirements/SCOPE_LATEST.yamlnotes or the active epic story.
opensrc Integration
Section titled “opensrc Integration”opensrc is a local cache of 200+ open-source repos and npm/PyPI packages. Query it before building any external integration to avoid re-inventing documented API shapes.
# Check if a package is cachednpx opensrc search <package-name>
# Or use the bundled helper (checks all deps from package.json or requirements.txt)bash scripts/bp-opensrc-check.sh [package.json|requirements.txt]If opensrc finds a match, read its src/ or source directory and append findings to the Prior Art section:
opensrc: found <pkg> v<version> — exports <key classes/functions>If opensrc is not installed or the package is not cached, fall through to web docs normally.
Outcome matrix
Section titled “Outcome matrix”| Verdict | Action |
|---|---|
| adopt | Use as-is; link in plan; no new code |
| extend | Wrap or configure existing solution |
| compose | Chain existing skills/modules |
| build | New implementation — justify why others failed |
Verify
Section titled “Verify”→ verify: grep -c "Prior Art" specs/product/SCOPE_LATEST.yaml specs/release-plan.yaml + epic shards 2>/dev/null | awk '{s+=$1} END {if(s>0) print "OK"; else print "MISSING"}'
See REFERENCE.md for search commands and registry checklist.