feat(insta): dedup_window_days config end-to-end wiring (spec 6.4)
- insta-lab ranked_keywords: add dedup_window_days Query param (default 14, ge=1, le=90); pass to db.list_recent_issued_topics - service_proxy.insta_ranked: add dedup_window_days param (default 14); include in GET params - InstaAgent.on_schedule: read dedup_window_days from custom_config (default 14); pass to insta_ranked call - test_ranked_respects_dedup_window: verifies window param gates eligible flag correctly Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -154,11 +154,15 @@ def list_keywords(
|
||||
|
||||
|
||||
@app.get("/api/insta/keywords/ranked")
|
||||
def ranked_keywords(limit: int = Query(20, ge=1, le=100), threshold: float = Query(0.6, ge=0.0, le=1.0)):
|
||||
def ranked_keywords(
|
||||
limit: int = Query(20, ge=1, le=100),
|
||||
threshold: float = Query(0.6, ge=0.0, le=1.0),
|
||||
dedup_window_days: int = Query(14, ge=1, le=90),
|
||||
):
|
||||
candidates = db.list_trending_keywords(used=False)
|
||||
if not candidates:
|
||||
return {"items": []}
|
||||
issued = db.list_recent_issued_topics(window_days=14)
|
||||
issued = db.list_recent_issued_topics(window_days=dedup_window_days)
|
||||
prefs = {p["category"]: p["weight"] for p in db.get_preferences()}
|
||||
claude_scores = selection_judge.judge_candidates(candidates)
|
||||
now_iso = datetime.now(timezone.utc).isoformat()
|
||||
|
||||
Reference in New Issue
Block a user