FastAPI
Code
Working
Fluent at 200, 147 to go
How the score adds up
| Source | Logged | Counted | Points |
|---|---|---|---|
| Commits | 91 | 53 | 53 |
| Update logs | 0 | 0 | 0 |
| Writing posts | 0 | 0 | 0 |
| Milestones | 0 | 0 | 0 |
| Total score | 53 | ||
Commits count up to 5 a day for each skill.
Levels are computed from logged activity and reflect the data currently available.
Activity
91 contributions in the last year
Select a day to see what happened.
Monthly totals
| Month | Commits | Posts | Milestones |
|---|---|---|---|
| November 2025 | 0 | 0 | 0 |
| December 2025 | 0 | 0 | 0 |
| January 2026 | 0 | 0 | 0 |
| February 2026 | 0 | 0 | 0 |
| March 2026 | 0 | 0 | 0 |
| April 2026 | 48 | 0 | 0 |
| May 2026 | 43 | 0 | 0 |
| June 2026 | 0 | 0 | 0 |
| July 2026 | 0 | 0 | 0 |
| August 2026 | 0 | 0 | 0 |
| September 2026 | 0 | 0 | 0 |
| October 2026 | 0 | 0 | 0 |
| November 2026 | 0 | 0 | 0 |
Activity updated 3 November 2026
Timeline
May 2026
- Commithearth-ai feat: full-market source coverage (+13 sources), parser fixes, discovery cron
- Commithearth-ai feat(agents): register beauchamp_estates, stirling_ackroyd, essential_living
- Commithearth-ai feat(discover): add mojeek + searxng free-tier search backends
- Commithearth-ai feat(scripts): backfill OpenRent amenities from cached descriptions
- Commithearth-ai feat(rightmove): VM-side SSR crawler via __NEXT_DATA__, retire GHA
- Commithearth-ai fix(openrent): reject bedsit slugs + parse synthetic-price spans
- Commithearth-ai feat(zoopla): rewrite source to JSON-LD + __ZAD_TARGETING__ (Next.js gone)
- Commithearth-ai feat(cli): sharded + details-only crawl flags for cron decoupling
- Commithearth-ai feat(scripts): zoopla+primelocation stub-write + detail-backfill cron wrappers
- Commithearth-ai chore(gha): disable runner-acquisition-failing workflows
- Commithearth-ai fix(cli): wrap sync source.search() in asyncio.to_thread
- Commithearth-ai feat(openrent): v2 sitemap discovery + WARP-proxied detail fetch
- Commithearth-ai fix(cli/crawl): propagate furnished, is_active, has_balcony, has_parking from detail fetch
- Commithearth-ai chore(workflows): disable rightmove/zoopla/openrent GHA crawls pending VM migration
- Commithearth-ai fix(extract): longest-wins description + article fallback + decimal price
- Commithearth-ai fix(llm): k2.6 reasoning-budget overflow + length-retry
- Commithearth-ai fix(notify): coordinate email+telegram digest pool via 10-min window
- Commithearth-ai fix(api): map hyphen-less domains to correct source enum on /from-url
- Commithearth-ai fix(crawl): run sync source.fetch() in worker thread
- Commithearth-ai chore: switch primary text scoring model to kimi-k2.6
- Commithearth-ai fix(ci): drop JS-categories max-parallel to 1
- Commithearth-ai fix(ci): retry-on-transient-runner-failure for crawl workflows
- Commithearth-ai fix(ci): convert crawl shards to bounded matrix to dodge runner starvation
- Commithearth-ai feat: digest target=20 minimum, cap=7 with relax-to-fill, min_score 70→55
- Commithearth-ai feat: digest hardening — alive-probe, source diversity, HTML cleanup
- Commithearth-ai fix: simplify _is_unfurnished — any 'unfurnished' mention without tenant-choice rejects
- Commithearth-ai fix: tighter unfurnished detection, reject east of E1, digest fixes
- Commithearth-ai fix: postcode extraction recovers ~1100 stuck listings
- Commithearth-ai feat: model-first scoring architecture — heuristic deleted, Kimi K2.6 driven
- Commithearth-ai fix: K2.5 reasoning support — exclude reasoning + bump tokens + handle null content
- Commithearth-ai perf: parallelise Police.uk crime API (10x faster enrichment)
- Commithearth-ai feat: ScrapingBee 2-tier fetch + premium_proxy for Cloudflare-protected sites
- Commithearth-ai feat: upgrade smart+vision tiers to claude-sonnet-4-6
- Commithearth-ai feat: ALL sources now working — Knight Frank, Jacksons, Frank Harris fixed
- Commithearth-ai fix: SitemapSource accepts non-XML seed URLs + LLM-rescue env loading
- Commithearth-ai feat: Brave Search + HomeViews source + OSM premium-buildings enrichment
- Commithearth-ai fix: reject non-London outcodes (DE/M/B/etc) + Hamptons filming-location URLs
- Commithearth-ai feat: JS rendering pipeline (Playwright + ScrapingBee + httpx fallback)
- Commithearth-ai fix: broaden outdoor detection + reject SW2/SW9 (Brixton)
- Commithearth-ai feat: cross-portal dedupe in digest + canonical_id backfill + daily metrics
Showing the latest 40 of 91 events.