fix: triage all 16 open GitHub issues — close 9, fix 6, comment 1
Batch 1 (closed): #43 spam, #34 dup, #19 resolved, #2 resolved, #41 answered Batch 2: Added MIT LICENSE file (#35), closed #42 (license question) Batch 3 code fixes: - #29: YouTube skip reason shows "0 results" instead of "not installed" - #30: Bird source mapping handles reddit-web + Bird combo - #39: watchlist.py extracts YouTube + TikTok findings, run-one prints output - #40: watchlist.py uses search_queries field when available Batch 4: - #32: marketplace.json source "." → "./" with $schema ref - #36: commented with investigation plan ($ARGUMENTS forwarding) - #4: Added SSL troubleshooting section to README Also commented on #22 (Bird features) and #31 (skills.sh audit). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+26
-3
@@ -86,7 +86,8 @@ def cmd_run_one(args):
|
||||
print(json.dumps({"error": f'Topic not found: "{args.topic}"'}))
|
||||
sys.exit(1)
|
||||
|
||||
_run_topic(topic)
|
||||
result = _run_topic(topic)
|
||||
print(json.dumps(result, default=str))
|
||||
|
||||
|
||||
def cmd_run_all(args):
|
||||
@@ -132,11 +133,13 @@ def _run_topic(topic: dict) -> dict:
|
||||
run_id = store.record_run(topic_id, source_mode="both", status="running")
|
||||
|
||||
try:
|
||||
# Run the research script
|
||||
# Prefer custom search_queries over topic name (#40)
|
||||
search_queries = json.loads(topic["search_queries"]) if topic.get("search_queries") else None
|
||||
search_term = search_queries[0] if search_queries else topic["name"]
|
||||
cmd = [
|
||||
sys.executable,
|
||||
str(SCRIPT_DIR / "last30days.py"),
|
||||
topic["name"],
|
||||
search_term,
|
||||
"--emit=json",
|
||||
]
|
||||
result = subprocess.run(
|
||||
@@ -188,6 +191,26 @@ def _run_topic(topic: dict) -> dict:
|
||||
"engagement_score": (item.get("engagement") or {}).get("likes", 0),
|
||||
"relevance_score": item.get("relevance", 0),
|
||||
})
|
||||
for item in data.get("youtube", []):
|
||||
findings.append({
|
||||
"source": "youtube",
|
||||
"url": item.get("url", ""),
|
||||
"title": item.get("title", ""),
|
||||
"author": item.get("channel_name", item.get("channel", "")),
|
||||
"content": item.get("transcript_snippet", "") or item.get("title", ""),
|
||||
"engagement_score": (item.get("engagement") or {}).get("views", 0),
|
||||
"relevance_score": item.get("relevance", 0),
|
||||
})
|
||||
for item in data.get("tiktok", []):
|
||||
findings.append({
|
||||
"source": "tiktok",
|
||||
"url": item.get("url", ""),
|
||||
"title": (item.get("caption_snippet", "") or "")[:120],
|
||||
"author": item.get("author", ""),
|
||||
"content": item.get("caption_snippet", ""),
|
||||
"engagement_score": (item.get("engagement") or {}).get("views", 0),
|
||||
"relevance_score": item.get("relevance", 0),
|
||||
})
|
||||
|
||||
# Store with dedup
|
||||
counts = store.store_findings(run_id, topic_id, findings)
|
||||
|
||||
Reference in New Issue
Block a user