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:
2026-06-11 02:55:46 +09:00
parent 149e7c40fe
commit e1b1944f43
4 changed files with 41 additions and 5 deletions

View File

@@ -228,11 +228,11 @@ async def insta_put_preferences(weights: Dict[str, float]) -> Dict[str, Any]:
return resp.json()
async def insta_ranked(threshold: float = 0.6, limit: int = 20) -> list:
async def insta_ranked(threshold: float = 0.6, limit: int = 20, dedup_window_days: int = 14) -> list:
async with httpx.AsyncClient(timeout=120) as client:
r = await client.get(
f"{INSTA_LAB_URL}/api/insta/keywords/ranked",
params={"threshold": threshold, "limit": limit},
params={"threshold": threshold, "limit": limit, "dedup_window_days": dedup_window_days},
)
r.raise_for_status()
return r.json()["items"]