Skip to content

Repository files navigation

The Silent Stakeholder

The gap: Bluesky users are asking for notifications they can actually trust — a ping only when something really involves them, that opens on the thing itself — and the roadmap leaves it scattered across x:discussing threads and unlabeled bug reports (GAP-1, 92.2% confidence, UNDER-PRIORITIZED).

AI system that reads Bluesky's Play Store reviews AND its GitHub roadmap (bluesky-social/social-app), and surfaces the top 3–5 latent unmet needs the roadmap misses — each with a verdict (IGNORED / UNDER-PRIORITIZED / MISUNDERSTOOD), a deterministic confidence breakdown, and an evidence trace of review/issue IDs you can verify with grep.

Plan

7-stage pipeline, each stage a small script writing a file the next reads:

  1. s1_ingest_reviews — Kaggle/HF review dataset → data/reviews.jsonl (IDs R-00001…)
    • s1b_scrape_reviews — Playwright browser scrape of recent Play Store reviews, appended to data/reviews.jsonl with fresh IDs (source: scraper). Needs pip install playwright && python3 -m playwright install chromium. Standalone / refresh only — not part of the deterministic default chain.
  2. s2_ingest_roadmap — GitHub issues + labels → data/roadmap.jsonl (IDs GH-<n>)
  3. s3_extract — LLM signal extraction per review → data/signals.jsonl
  4. s4_cluster — deterministic topic clustering + co-occurrence → data/clusters.json
  5. s5_infer_needs — LLM infers 8–12 candidate latent needs → data/candidates.json
  6. s6_match_roadmap — prefilter + LLM judge vs roadmap → data/matched.json
  7. s7a_skeptic — adversarial verification pass → data/verified.json
  8. s7b_score_report — deterministic confidence formula → output/gaps.json + output/report.md

Full design: docs/superpowers/specs/2026-07-31-silent-stakeholder-design.md.

Run it

pip3 install -r requirements.txt
cp .env.example .env   # fill in ANTHROPIC_API_KEY (required) and GITHUB_TOKEN (recommended)
python3 run_all.py

Outputs: output/gaps.json (ranked gaps, confidence breakdowns, evidence IDs) and output/report.md. Every stage is resumable — rerun run_all.py after any crash and it continues where it left off; from this repo (committed data/) it re-spends nothing.

Verify any evidence ID in 5 seconds: grep R-00412 data/reviews.jsonl.

Dashboard

A zero-dependency evidence console over the committed artifacts — ranked gaps, confidence component breakdowns, the skeptic's confirmed/refuted trail, and a resolver that turns any R- / GH- / S- / C- / CAND- ID (or free-text search) into the raw record:

python3 -m http.server 8010

Then open http://localhost:8010/frontend/. Single static file (frontend/index.html), no build step — it reads output/gaps.json and data/*.jsonl directly, so it always shows exactly what the pipeline shipped.

Incremental refresh

python3 run_all.py --refresh browser-scrapes the newest Play Store reviews (s1b, needs python3 -m playwright install chromium), refreshes GitHub issues, extracts only the new reviews, and regenerates the report. Full re-inference (s5–s7a) triggers only when ≥200 new signals arrive. Old IDs are never renumbered — evidence traces stay valid forever.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages