Skip to content

v2.9.1 — Incremental Gemini digest engine

Choose a tag to compare

@inafev inafev released this 19 Jun 12:11

Incremental digest engine — 0 Gemini calls when inventory unchanged

Problem

Every pipeline run called Gemini 66 times regardless of whether the inventory had changed.
The GitHub Actions day-level cache only helped for same-day retries.

Solution

Each (category × period) cell in news_digest.json now stores a fingerprint of its entry pool:

```json
"_meta": {
"3_months": {
"Kubernetes & Orchestration": {
"last_analyzed": "2026-06-19T10:00:00+02:00",
"entry_hash": "a1b2c3d4",
"entry_count": 45,
"method": "gemini"
}
}
}
```

Before calling Gemini, the engine checks hash + staleness (MAX_STALENESS_DAYS=30).
Match → reuse stored result. Mismatch → call Gemini for that cell only.

Savings

Scenario Before After
Re-run with code changes only 66 calls 0 calls
New ingestion batch 66 calls ~5-10 calls
Weekly Monday run, stable inventory 66 calls 0 calls

Also

  • Removed redundant GitHub Actions digest cache (news_digest.json committed to repo is the persistent store)
  • Trending badge now shows actual Gemini analysis date from _meta.last_updated
  • Removed invalid extra_head key from v2-mkdocs.yml

🤖 Generated with Claude Code