Git History
Overview
- Total commits: 163
- Primary author: Shayer Rizvi (161 commits)
- Secondary: git stash (2 commits — merge artifacts)
- Date range: 2026-03-04 to 2026-04-27
- Project lifespan: ~8 weeks (intense development period)
Timeline of Major Milestones
Week 1: Foundation (2026-03-04 to 2026-03-06)
| Date | Commit | What happened |
|---|---|---|
| 2026-03-04 | 7c67c4a | Initial commit — project created |
| 2026-03-04 | 7403f75 | Base infrastructure: PostgreSQL, Redis, Keycloak |
| 2026-03-04 | 6214c0b | Set up base infrastructure with PostgreSQL, Redis, and Keycloak |
| 2026-03-04 | 6fc8195 | Add basic database and logging |
| 2026-03-04 | 662f566 | Infra Module implementation |
| 2026-03-04 | c95b35e | Data Module implementation |
| 2026-03-04 | 6879021 | Compliance Module and other local changes |
| 2026-03-04 | 43466f6 | Module C: Validation Engine implemented |
| 2026-03-04 | 93496a4 | SQLite → PostgreSQL migration, BullMQ pipeline wired |
| 2026-03-04 | d1c0033 | Implement SCB fetcher for DBPOC-5ef5 |
| 2026-03-04 | 23ef16b | Add WHITE_PAPER.md, COMPLIANCE_REPORT.md, OPS_MANUAL.md |
| 2026-03-05 | 084feb2 | SCB PxWebApi v2 HTTP ingestion + test script |
| 2026-03-05 | c7a3b47 | Fix SCB Table ID and resolve quality gate failures |
| 2026-03-05 | 4d4f66a | Implement Bolagsverket iXBRL download and ZIP extraction |
| 2026-03-05 | 87704be | Implement Bolagsverket mapper and fix project-wide test/type failures |
| 2026-03-05 | efcb142 | Implement iXBRL mapper and types |
| 2026-03-06 | d501742 | Bulk data import schema and scripts for SCB and Bolagsverket |
| 2026-03-06 | 6f8d0fb | Comprehensive POC documentation added |
| 2026-03-06 | c442b20 | Add bulk data implementation plan for SCB and Bolagsverket |
Week 2: Security & API (2026-03-07 to 2026-03-10)
| Date | Commit | What happened |
|---|---|---|
| 2026-03-07 | 3315ae2 | API security, multi-tenancy, rate limiting (Phases 1-3) |
| 2026-03-07 | cf2a987 | Implement REST API and schema fixes |
| 2026-03-07 | d812c2e | Add API verification tests |
| 2026-03-07 | 5ce6b30 | Phase 2: Complete API tests, docs, and integrations |
| 2026-03-07 | 11f28f3 | Update existing documentation |
| 2026-03-07 | 88b7c31 | Critical security fixes from code review |
| 2026-03-07 | c252e19 | Comprehensive security fixes (12 issues) |
| 2026-03-07 | f807bbb | Additional security fixes from updated code review |
| 2026-03-07 | 072a6eb | Fix final critical vulnerabilities from code review |
| 2026-03-07 | 7341f63 | Security fixes from Comprehensive Code Review Pass 3 |
| 2026-03-07 | ab11a6d | Update SECURITY_FIXES_MARCH_2026.md with testing documentation |
| 2026-03-07 | f40fecf | Update OPS_MANUAL with new security environment variables |
| 2026-03-07 | 37d565c | Correct orgnr parsing in bulk import (remove ORGNR-IDORG suffix) |
| 2026-03-07 | 055e4ba | Add delta-import script for incremental updates |
| 2026-03-07 | 1826bc2 | Exclude bulk data from git |
| 2026-03-07 | 824dbcb | Remove bulk data file from git tracking |
| 2026-03-07 | 85518a4 | Ignore .txt data files |
| 2026-03-07 | dfbce6a | Update bulk data import status in documentation |
| 2026-03-07 | 051a23f | Update final import statistics |
| 2026-03-08 | a584294 | Enrichment Engine v4.0 (Master Edition) |
| 2026-03-08 | 1fe123e | Wix website scraping with multi-platform architecture |
| 2026-03-08 | ae72f0c | 3x/year scrape limit + Redis KEYS performance fix |
| 2026-03-08 | 2abf612 | Improve role extraction regex in WordPress scraper |
| 2026-03-08 | 77d563a | Improve phone extraction patterns in v4.0 |
| 2026-03-08 | ee158c2 | Correct typo ENRIKNING → BERIKNING in test script |
| 2026-03-08 | 706432a | Add test/dev bypass for scrape limit |
| 2026-03-08 | 85e8713 | Add smart merge script for SCB + Bolagsverket data |
| 2026-03-09 | 3e350e6 | Enrichment Engine v7 — Playwright + Claude Vision |
| 2026-03-09 | 361fa31 | Improve v7 enrichment quality — domain filter, contact validation, Maps query |
| 2026-03-09 | 77a3b9d | v7 enrichment quality pass 2 — LinkedIn people, name/role/email fixes |
| 2026-03-09 | 4331912 | Resolve all TypeScript errors across codebase |
| 2026-03-09 | 2a714b6 | Comprehensive v7 review — 8 bugs fixed |
| 2026-03-10 | 6d86656 | Article 14 notification, LIA, DPA template, v7 tests |
| 2026-03-10 | 230e14c | Archive old engine versions and clean up project structure |
| 2026-03-11 | 006a770 | Security hardening — 12 issues resolved across codebase |
Week 3: Domain Discovery & Quality (2026-03-24 to 2026-03-26)
| Date | Commit | What happened |
|---|---|---|
| 2026-03-24 | 106d384 | Restore point — pre enterprise enrichment plan implementation |
| 2026-03-24 | 2f1119d | Phase 1 critical fixes — reklamspärr gate, real validation layers, Art.14 at collection |
| 2026-03-24 | 714a500 | Phase 2 — decompose enrichmentEngine.v7.ts god file into modules |
| 2026-03-25 | 50390db | Authoritative registry-based domain lookup (IIS .se zone) |
| 2026-03-25 | ce92174 | IIS .se zone registry (Tier 0) for domain resolution |
| 2026-03-25 | 6de209b | Domain discovery prioritizes registry lookup |
| 2026-03-25 | 5da08d0 | Domain resolution — find .com domains, block junk .se directories |
| 2026-03-25 | 3cfa926 | Partial enrichment for .com domains + no domain halt |
| 2026-03-25 | 23f6c2f | Domain resolution hardening, eniro ToS removal, kundkort v2 |
| 2026-03-25 | 95694e5 | Migration 002 — remove partial index with NOW(), move Art14 index to runtime, fix GENERATED column |
| 2026-03-25 | d78d33e | Address all code-review findings — CRITICAL/HIGH/MEDIUM |
| 2026-03-25 | c006048 | Phase 3 — scale infrastructure for 1.4M enrichment runs/year |
| 2026-03-25 | d570bc3 | Add latency benchmark for domain discovery |
| 2026-03-25 | 68a59da | Remove temporary test companies from benchmark |
| 2026-03-25 | b0122f3 | Rebuild kundkort with canonical field spec |
| 2026-03-26 | 8952c8d | Firecrawl LLM extractor — Phase 1 (feature-flagged) |
| 2026-03-26 | 8f2d1a5 | Firecrawl code review fixes |
Week 4: Frontend & Integration (2026-03-27 to 2026-04-02)
| Date | Commit | What happened |
|---|---|---|
| 2026-03-27 | 549dd51 | Firecrawl contact extraction improvements |
| 2026-03-30 | 185b922 | Kundkort backend API with search and detail endpoints |
| 2026-03-31 | 73d0aba | Kundkort frontend + BV VärdefullaDatamängder API |
| 2026-03-31 | 72bb065 | Add manual enrich button and validation display |
| 2026-03-31 | 4d41b4e | Enhance enrichment with error tracking, role normalization, and usage display |
| 2026-03-31 | c3aa8f1 | Implement role normalization with Övriga catch-all category |
| 2026-04-01 | 0a3cafc | Pass city to enrichV7 + log warning on empty contacts |
| 2026-04-01 | 1f1a0df | Fix ErrorPanel — broken AuthContext import + d.errors → d.data |
| 2026-04-01 | 2324c1f | Add Crawlee-based multi-page website scraper |
| 2026-04-01 | 1e71851 | Phase 1 domain discovery enhancements |
| 2026-04-01 | def2ae0 | Evict Redis domain cache when passed-in domain fails re-validation |
| 2026-04-02 | f6c4d30 | Crawlee quality loop complete — 29 rounds, 145 companies tested |
| 2026-04-02 | f3d6b55 | Multi-signal domain validation, hybrid extraction, 0% FP rate |
| 2026-04-02 | cb91206 | Autoresearch: autonomous extraction improvement system |
Week 5-6: Polish & Scale (2026-04-06 to 2026-04-27)
| Date | Commit | What happened |
|---|---|---|
| 2026-04-06 | 4deddb7 | Database backup script and archive tables migration |
| 2026-04-06 | 1c6f2dc | Add archive verification, archive-inactive, and restore-from-archive scripts |
| 2026-04-06 | 15f01d8 | Archive inactive companies |
| 2026-04-06 | 8ea0a44 | Archive non-AB companies |
| 2026-04-06 | 87a0bea | Add archive validation report |
| 2026-04-06 | 6a27fb5 | ECOAPI, Tremor frontend with data visualization |
| 2026-04-06 | d39f9dc | Add loading states and improve frontend UX |
| 2026-04-06 | 592927b | Add dev mode auto-login to fix frontend access |
| 2026-04-06 | d5e2c3d | Add loading state to prevent login flash |
| 2026-04-06 | 994b813 | Simplify dev mode auto-login |
| 2026-04-22 | b3fecc0 | SYSTEM_OVERVIEW and SYSTEMDOKUMENTATION_V2 |
| 2026-04-27 | 81c2568 | Schema migrations tracking and resolve 007 issues |
| 2026-04-27 | 2925150 | Schema migrations tracking and resolve 007 collision |
| 2026-04-27 | e131f7b | Block ‘Hello World’ / ‘Test’ as person names |
| 2026-04-27 | 2ce49b6 | Archive obsolete root files and ECOAPI subproject |
Missing Commits by Category
Bug Fixes (14)
| Date | Commit | Description |
|---|---|---|
| 2026-03-08 | 77d563a | fix: Improve phone extraction patterns |
| 2026-03-08 | 2abf612 | fix: Improve role extraction regex |
| 2026-03-08 | ee158c2 | fix: Correct typo ENRIKNING → BERIKNING |
| 2026-03-09 | 361fa31 | fix: Improve v7 enrichment quality |
| 2026-03-09 | 77a3b9d | fix: v7 enrichment quality pass 2 |
| 2026-03-09 | 4331912 | fix: Resolve all TypeScript errors |
| 2026-03-09 | 2a714b6 | fix: Comprehensive v7 review — 8 bugs fixed |
| 2026-03-25 | 5da08d0 | fix: domain resolution — find .com domains |
| 2026-03-25 | 3cfa926 | fix: partial enrichment for .com domains |
| 2026-03-25 | 23f6c2f | fix: domain resolution hardening |
| 2026-03-26 | 8f2d1a5 | fix: Firecrawl code review fixes |
| 2026-03-31 | c3aa8f1 | feat: implement role normalization |
| 2026-04-01 | 1f1a0df | fix(frontend): fix ErrorPanel |
| 2026-04-27 | e131f7b | fix(enrichment): block ‘Hello World’ names |
Frontend (9)
| Date | Commit | Description |
|---|---|---|
| 2026-04-06 | d39f9dc | feat: Add loading states |
| 2026-04-06 | 592927b | fix: Add dev mode auto-login |
| 2026-04-06 | d5e2c3d | fix: Add loading state to prevent login flash |
| 2026-04-06 | 994b813 | fix: Simplify dev mode auto-login |
| 2026-03-31 | 72bb065 | feat(kundkort): add manual enrich button |
| 2026-04-01 | 4d41b4e | feat(kundkort): enhance enrichment |
| 2026-04-01 | 0a3cafc | feat(kundkort): pass city to enrichV7 |
| 2026-04-01 | 1f1a0df | fix(frontend): fix ErrorPanel |
| 2026-03-25 | b0122f3 | feat: rebuild kundkort with canonical field spec |
Bolagsverket (3)
| Date | Commit | Description |
|---|---|---|
| 2026-03-05 | efcb142 | feat(bolagsverket): implement iXBRL mapper |
| 2026-03-05 | 4d4f66a | Implement Bolagsverket iXBRL download |
| 2026-03-05 | 87704be | Implement Bolagsverket mapper |
Queue/Worker (3)
| Date | Commit | Description |
|---|---|---|
| 2026-03-05 | 127c56b | refactor: share single IORedis instance |
| 2026-03-05 | 648a5b1 | chore: save manual queue refactors |
| 2026-04-01 | def2ae0 | fix(pipeline): evict Redis domain cache |
Security (6)
| Date | Commit | Description |
|---|---|---|
| 2026-03-06 | 5fb7ebf | fix: critical and medium issues |
| 2026-03-07 | f807bbb | security: Additional fixes |
| 2026-03-07 | ab11a6d | docs: Update SECURITY_FIXES |
| 2026-03-07 | 072a6eb | security: Fix final critical vulnerabilities |
| 2026-03-07 | f40fecf | docs: Update OPS_MANUAL security vars |
| 2026-03-07 | 7341f63 | Security fixes from Pass 3 |
Bulk Import (8)
| Date | Commit | Description |
|---|---|---|
| 2026-03-06 | c442b20 | Add bulk data implementation plan |
| 2026-03-07 | 37d565c | fix: correct orgnr parsing |
| 2026-03-07 | 824dbcb | chore: remove bulk data from git |
| 2026-03-07 | dfbce6a | docs: update bulk data status |
| 2026-03-07 | 055e4ba | feat: add delta-import script |
| 2026-03-07 | 1826bc2 | chore: exclude bulk data |
| 2026-03-07 | 051a23f | docs: update final import statistics |
| 2026-03-07 | 85518a4 | chore: ignore .txt data files |
API (4)
| Date | Commit | Description |
|---|---|---|
| 2026-03-07 | cf2a987 | feat: Implement REST API |
| 2026-03-07 | d812c2e | test: Add API verification tests |
| 2026-03-07 | 5ce6b30 | Phase 2: Complete API tests |
| 2026-03-07 | 11f28f3 | docs: Update existing documentation |
Enrichment v7 Quality (5)
| Date | Commit | Description |
|---|---|---|
| 2026-03-24 | 714a500 | feat: Phase 2 — decompose god file |
| 2026-03-25 | c006048 | feat: Phase 3 — scale infrastructure |
| 2026-04-02 | f3d6b55 | feat: multi-signal domain validation |
| 2026-03-25 | 6de209b | refactor: domain discovery prioritizes registry |
| 2026-03-08 | 85e8713 | feat: Add smart merge script |
Other Important Commits
| Date | Commit | Description |
|---|---|---|
| 2026-03-04 | 6214c0b | feat: Set up base infrastructure |
| 2026-03-04 | 6fc8195 | feat: Add basic database and logging |
| 2026-03-25 | 95694e5 | fix: migration 002 fixes |
| 2026-04-01 | 2324c1f | feat(scraper): add Crawlee scraper |
| 2026-03-04 | 6879021 | Compliance Module |
| 2026-03-11 | 006a770 | fix: Security hardening |
| 2026-03-10 | 230e14c | chore: archive old engines |
| 2026-03-24 | 106d384 | chore: restore point |
| 2026-03-25 | d570bc3 | test: add latency benchmark |
| 2026-04-06 | 1c6f2dc | feat: add archive verification scripts |
| 2026-04-06 | 15f01d8 | feat: archive inactive companies |
| 2026-03-04 | d1c0033 | feat: Implement SCB fetcher |
| 2026-03-05 | c7a3b47 | Fix SCB Table ID |
| 2026-03-04 | 662f566 | Infra Module |
| 2026-03-04 | c95b35e | Data Module |
| 2026-03-04 | 408898f | Resolve README conflict |
| 2026-03-04 | 325b987 | Resolve conflicts data-lead |
| 2026-03-04 | c12d1f6 | Resolve merge conflicts GEMINI.md |
| 2026-03-04 | 8a5a443 | feat: merged documentation manually |
| 2026-03-04 | d10ec68 | fix: updated runtime config |
| 2026-03-04 | 1fc08ac | Merge branch merge-docs-lead |
| 2026-03-25 | 68a59da | chore: remove temporary test companies |
Merge/WIP (6)
| Date | Commit | Description |
|---|---|---|
| 2026-03-05 | 9029af4 | Merge branch bverket-builder |
| 2026-03-05 | ebf4e79 | Merge branch builder-DBPOC |
| 2026-03-05 | d6bc57d | Merge branch scb-builder |
| 2026-03-05 | 3740e6d | Merge branch redis-builder |
| 2026-03-05 | b86c2dd | WIP on master |
| 2026-03-05 | 3b2c9c6 | index on master |
Mulch/Seeds Tool Commits (38)
Mulch (28): 19ff8cc, 29e46db, 5112801, 70d712a, 0923e13, f320f47, 52029b6, 4026047, 96c1344, 142ee73, ba1a36a, 252f9b2, 826ed98, 9c87964, 5d9eda9, 6242e8f, 234d0f6, 5010405, 178759e, a0d8123, 8420770, bc3389c, e24d0be, 0340d03, f26eb23, 075aa03, 3b9fc31, 864a1e0, 27cab9e, d1e2ac1, 4d73a24, 0e3195a, f882e37, 49b3e2d, 1bc2d97, 11ab9d6, 03b7ed0, c8257a9
Seeds (10): 0923e13, 234d0f6, 252f9b2, 52029b6, 96c1344, 03b7ed0, 0e3195a, d1e2ac1, 29e46db, 075aa03
These commits represent AI knowledge management — recording expertise (mulch) and syncing issue tracker state (seeds) throughout development.
Complete Commit Timeline
| Date | Commit | Message |
|---|---|---|
| 2026-03-04 | 7c67c4a | Initial commit |
| 2026-03-04 | 7403f75 | Initial commit: Add project structure and documentation |
| 2026-03-04 | 6214c0b | feat: Set up base infrastructure with PostgreSQL, Redis, and Keycloak |
| 2026-03-04 | 6fc8195 | feat: Add basic database and logging |
| 2026-03-04 | 662f566 | Infra Module implementation |
| 2026-03-04 | c95b35e | Data Module implementation |
| 2026-03-04 | 6879021 | Compliance Module and other local changes |
| 2026-03-04 | 43466f6 | feat: Implement Module C: Validation Engine (DBPOC-9d19) |
| 2026-03-04 | 93496a4 | feat(DBPOC-8fdd): migrate SQLite→PostgreSQL, wire BullMQ pipeline |
| 2026-03-04 | d1c0033 | feat: Implement SCB fetcher for DBPOC-5ef5 |
| 2026-03-04 | 23ef16b | docs: add WHITE_PAPER.md, COMPLIANCE_REPORT.md, OPS_MANUAL.md |
| 2026-03-04 | 8a5a443 | feat: merged documentation manually |
| 2026-03-04 | 408898f | Resolve README.md conflict and merge infra-lead |
| 2026-03-04 | 325b987 | Resolve all conflicts and complete data-lead merge |
| 2026-03-04 | c12d1f6 | chore: Resolve merge conflicts in GEMINI.md and restore as template |
| 2026-03-04 | 1fc08ac | Merge branch ‘overstory/merge-docs-lead/DBPOC-aa8b’ |
| 2026-03-04 | 2b6f639 | Merge branch ‘overstory/compliance-lead/DBPOC-e00c’ |
| 2026-03-04 | d10ec68 | fix: updated runtime config for Gemini/Pi stability |
| 2026-03-04 | 5112801 | mulch: update expertise |
| 2026-03-04 | 70d712a | mulch: update expertise |
| 2026-03-04 | f320f47 | mulch: update expertise |
| 2026-03-04 | 4026047 | mulch: update expertise |
| 2026-03-04 | 5d9eda9 | mulch: update expertise |
| 2026-03-04 | 6242e8f | mulch: update expertise |
| 2026-03-04 | 826ed98 | mulch: update expertise |
| 2026-03-04 | 9c87964 | mulch: update expertise |
| 2026-03-04 | a0d8123 | mulch: update expertise |
| 2026-03-04 | ba1a36a | mulch: update expertise |
| 2026-03-04 | 142ee73 | mulch: update expertise |
| 2026-03-04 | 178759e | mulch: update expertise |
| 2026-03-04 | c8257a9 | mulch: update expertise |
| 2026-03-04 | 0923e13 | seeds: sync 2026-03-04 |
| 2026-03-04 | 234d0f6 | seeds: sync 2026-03-04 |
| 2026-03-04 | 252f9b2 | seeds: sync 2026-03-04 |
| 2026-03-04 | 52029b6 | seeds: sync 2026-03-04 |
| 2026-03-04 | 96c1344 | seeds: sync 2026-03-04 |
| 2026-03-05 | 084feb2 | feat(scb): real PxWebApi v2 HTTP ingestion + test script |
| 2026-03-05 | c7a3b47 | Fix SCB Table ID and resolve quality gate failures |
| 2026-03-05 | 127c56b | refactor: share single IORedis instance across BullMQ queues and workers |
| 2026-03-05 | 648a5b1 | chore: save manual queue refactors and validation engine changes |
| 2026-03-05 | 3740e6d | Merge branch ‘overstory/redis-builder/DBPOC-dffe’ |
| 2026-03-05 | b86c2dd | WIP on master: 3740e6d Merge branch ‘overstory/redis-builder/DBPOC-dffe’ |
| 2026-03-05 | 3b2c9c6 | index on master: 3740e6d Merge branch ‘overstory/redis-builder/DBPOC-dffe’ |
| 2026-03-05 | d6bc57d | Merge branch ‘overstory/scb-builder/DBPOC-dffe’ |
| 2026-03-05 | ebf4e79 | Merge branch ‘overstory/builder-DBPOC-b38b/DBPOC-b38b’ |
| 2026-03-05 | 9029af4 | Merge branch ‘overstory/bverket-builder-v1/DBPOC-c728’ |
| 2026-03-05 | 4d4f66a | Implement Bolagsverket iXBRL download and ZIP extraction logic |
| 2026-03-05 | 87704be | Implement Bolagsverket mapper and fix project-wide test/type failures |
| 2026-03-05 | efcb142 | feat(bolagsverket): implement iXBRL mapper and types |
| 2026-03-05 | 0340d03 | mulch: update expertise |
| 2026-03-05 | 11ab9d6 | mulch: update expertise |
| 2026-03-05 | 1bc2d97 | mulch: update expertise |
| 2026-03-05 | 27cab9e | mulch: update expertise |
| 2026-03-05 | 3b9fc31 | mulch: update expertise |
| 2026-03-05 | 49b3e2d | mulch: update expertise |
| 2026-03-05 | 4d73a24 | mulch: update expertise |
| 2026-03-05 | 8420770 | mulch: update expertise |
| 2026-03-05 | 864a1e0 | mulch: update expertise |
| 2026-03-05 | bc3389c | mulch: update expertise |
| 2026-03-05 | e24d0be | mulch: update expertise |
| 2026-03-05 | f26eb23 | mulch: update expertise |
| 2026-03-05 | f882e37 | mulch: update expertise |
| 2026-03-05 | 03b7ed0 | seeds: sync 2026-03-05 |
| 2026-03-05 | 0e3195a | seeds: sync 2026-03-05 |
| 2026-03-05 | d1e2ac1 | seeds: sync 2026-03-05 |
| 2026-03-05 | 075aa03 | chore: sync issue tracker and task groups |
| 2026-03-06 | d501742 | Add bulk data import schema and scripts for SCB and Bolagsverket |
| 2026-03-06 | 6f8d0fb | Add comprehensive POC documentation |
| 2026-03-06 | c442b20 | Add bulk data implementation plan for SCB and Bolagsverket |
| 2026-03-06 | 5fb7ebf | fix: critical and medium security/quality issues |
| 2026-03-06 | 6decacc | Fix tsconfig.json build error and update project config |
| 2026-03-07 | 3315ae2 | feat: Implement API security, multi-tenancy, and rate limiting (Phases 1-3) |
| 2026-03-07 | cf2a987 | feat: Implement REST API and schema fixes |
| 2026-03-07 | d812c2e | test: Add API verification tests |
| 2026-03-07 | 5ce6b30 | Phase 2 Implementation: Complete API tests, docs, and integrations |
| 2026-03-07 | 11f28f3 | docs: Update existing documentation |
| 2026-03-07 | 88b7c31 | security: Implement critical security fixes from code review |
| 2026-03-07 | c252e19 | security: Comprehensive security fixes from code review |
| 2026-03-07 | f807bbb | security: Additional fixes from updated code review |
| 2026-03-07 | 072a6eb | security: Fix final critical vulnerabilities from code review |
| 2026-03-07 | 7341f63 | Security fixes from Comprehensive Code Review Pass 3 |
| 2026-03-07 | ab11a6d | docs: Update SECURITY_FIXES_MARCH_2026.md with testing documentation |
| 2026-03-07 | f40fecf | docs: Update OPS_MANUAL with new security environment variables |
| 2026-03-07 | 37d565c | fix: correct orgnr parsing in bulk import (remove ORGNR-IDORG suffix) |
| 2026-03-07 | 055e4ba | feat: add delta-import script for incremental updates |
| 2026-03-07 | 1826bc2 | chore: exclude bulk data from git |
| 2026-03-07 | 824dbcb | chore: remove bulk data file from git tracking |
| 2026-03-07 | 85518a4 | chore: ignore .txt data files |
| 2026-03-07 | dfbce6a | docs: update bulk data import status in documentation |
| 2026-03-07 | 051a23f | docs: update final import statistics |
| 2026-03-07 | 2cd5620 | chore: Add import monitoring scripts and update AGENTS.md |
| 2026-03-08 | a584294 | feat: Add Enrichment Engine v4.0 (Master Edition) |
| 2026-03-08 | 1fe123e | feat: Implement Wix website scraping with multi-platform architecture |
| 2026-03-08 | ae72f0c | feat: Add 3x/year scrape limit and fix Redis KEYS performance |
| 2026-03-08 | 2abf612 | fix: Improve role extraction regex in WordPress scraper |
| 2026-03-08 | 77d563a | fix: Improve phone extraction patterns in v4.0 |
| 2026-03-08 | ee158c2 | fix: Correct typo ENRIKNING → BERIKNING in test script |
| 2026-03-08 | 706432a | feat: Add test/dev bypass for scrape limit |
| 2026-03-08 | 85e8713 | feat: Add smart merge script for SCB + Bolagsverket data |
| 2026-03-08 | b893fa4 | docs: Update scrape limit docs with test instructions |
| 2026-03-09 | 3e350e6 | feat: Add Enrichment Engine v7 — Playwright + Claude Vision |
| 2026-03-09 | 361fa31 | fix: Improve v7 enrichment quality — domain filter, contact validation, Maps query |
| 2026-03-09 | 77a3b9d | fix: v7 enrichment quality pass 2 — LinkedIn people, name/role/email fixes |
| 2026-03-09 | 4331912 | fix: Resolve all TypeScript errors across codebase |
| 2026-03-09 | 2a714b6 | fix: Comprehensive v7 review — 8 bugs fixed |
| 2026-03-09 | 2b4360c | docs: Add ENRICHMENT_V7_GUIDE and update docs index |
| 2026-03-09 | d73e70f | docs: Update all docs to reflect Enrichment Engine v7 changes |
| 2026-03-10 | 6d86656 | feat: implement Art. 14 notification, LIA, DPA template, and v7 tests |
| 2026-03-10 | 230e14c | chore: archive old engine versions and clean up project structure |
| 2026-03-11 | 006a770 | fix: Security hardening — 12 issues resolved across codebase |
| 2026-03-24 | 106d384 | chore: restore point — pre enterprise enrichment plan implementation |
| 2026-03-24 | 2f1119d | feat: Phase 1 critical fixes — reklamspärr gate, real validation layers, Art.14 at collection, email confidence fix, LinkedIn regex fix |
| 2026-03-24 | 714a500 | feat: Phase 2 — decompose enrichmentEngine.v7.ts god file into modules |
| 2026-03-25 | 50390db | feat: add authoritative registry-based domain lookup |
| 2026-03-25 | ce92174 | feat: IIS .se zone registry (Tier 0) for domain resolution |
| 2026-03-25 | 6de209b | refactor: domain discovery prioritizes registry lookup |
| 2026-03-25 | 5da08d0 | fix: domain resolution — find .com domains, block junk .se directories |
| 2026-03-25 | 3cfa926 | fix: partial enrichment for .com domains + no domain halt |
| 2026-03-25 | 23f6c2f | fix: domain resolution hardening, eniro ToS removal, kundkort v2 |
| 2026-03-25 | 95694e5 | fix: migration 002 — remove partial index with NOW(), move Art14 index to runtime, fix GENERATED column |
| 2026-03-25 | d78d33e | fix: address all code-review findings — CRITICAL/HIGH/MEDIUM |
| 2026-03-25 | c006048 | feat: Phase 3 — scale infrastructure for 1.4M enrichment runs/year |
| 2026-03-25 | d570bc3 | test: add latency benchmark for domain discovery |
| 2026-03-25 | 68a59da | chore: remove temporary test companies from benchmark |
| 2026-03-25 | b0122f3 | feat: rebuild kundkort with canonical field spec |
| 2026-03-25 | ac8256f | docs: generate updated kundkort and add contact extraction to roadmap |
| 2026-03-25 | cda3728 | docs: add status report, update implementation plans and commit refactored domain discovery pipeline |
| 2026-03-26 | 8952c8d | feat: Firecrawl LLM extractor — Phase 1 (feature-flagged) |
| 2026-03-26 | 8f2d1a5 | fix: Firecrawl code review fixes |
| 2026-03-27 | 549dd51 | feat: improve Firecrawl contact extraction with URL guessing, HTML fallback, and better prompt |
| 2026-03-30 | 185b922 | feat: add kundkort backend API with search and detail endpoints |
| 2026-03-31 | 73d0aba | feat: Kundkort frontend + BV VärdefullaDatamängder API + frontend build fix |
| 2026-03-31 | 72bb065 | feat(kundkort): add manual enrich button and validation display |
| 2026-03-31 | 4d41b4e | feat(kundkort): enhance enrichment with error tracking, role normalization, and usage display |
| 2026-03-31 | c3aa8f1 | feat: implement role normalization with Övriga catch-all category |
| 2026-03-31 | 7624ab1 | docs: update FRONTEND_TROUBLESHOOTING.md with root cause and fix |
| 2026-03-31 | 19ff8cc | mulch: update expertise |
| 2026-04-01 | 0a3cafc | feat(kundkort): pass city to enrichV7 + log warning on empty contacts |
| 2026-04-01 | 1e71851 | feat(enrichment): Phase 1 domain discovery enhancements |
| 2026-04-01 | 1f1a0df | fix(frontend): fix ErrorPanel — broken AuthContext import + d.errors → d.data |
| 2026-04-01 | 2324c1f | feat(scraper): add Crawlee-based multi-page website scraper |
| 2026-04-01 | 29e46db | seeds: sync 2026-04-01 |
| 2026-04-01 | 4d41b4e | feat(kundkort): enhance enrichment with error tracking, role normalization, and usage display |
| 2026-04-01 | def2ae0 | fix(pipeline): evict Redis domain cache when passed-in domain fails re-validation |
| 2026-04-02 | f6c4d30 | feat: Crawlee quality loop complete — 29 rounds, 145 companies tested |
| 2026-04-02 | 23d7207 | feat: Crawlee quality loop complete — 29 rounds, 145 companies tested |
| 2026-04-02 | f3d6b55 | feat(enrichment): multi-signal domain validation, hybrid extraction, 0% FP rate |
| 2026-04-02 | cb91206 | autoresearch: add autonomous extraction improvement system |
| 2026-04-06 | 4deddb7 | feat: add database backup script and archive tables migration for inactive companies |
| 2026-04-06 | 1c6f2dc | feat: add archive verification, archive-inactive, and restore-from-archive scripts |
| 2026-04-06 | 15f01d8 | feat: archive inactive companies - 2026-04-06 |
| 2026-04-06 | 8ea0a44 | feat: archive non-AB companies - 2026-04-06 |
| 2026-04-06 | 87a0bea | docs: add archive validation report |
| 2026-04-06 | 6a27fb5 | feat: Add ECOAPI, Tremor frontend with data visualization, and enrichment integration |
| 2026-04-06 | d39f9dc | feat: Add loading states and improve frontend UX |
| 2026-04-06 | 592927b | fix: Add dev mode auto-login to fix frontend access |
| 2026-04-06 | d5e2c3d | fix: Add loading state to prevent login flash |
| 2026-04-06 | 994b813 | fix: Simplify dev mode auto-login |
| 2026-04-22 | b3fecc0 | docs: add SYSTEM_OVERVIEW and SYSTEMDOKUMENTATION_V2 with senior-review fixes |
| 2026-04-27 | 81c2568 | feat(migrations): add schema_migrations tracking and resolve 007 issues |
| 2026-04-27 | 2925150 | feat(migrations): add schema_migrations tracking and resolve 007 collision |
| 2026-04-27 | e131f7b | fix(enrichment): block ‘Hello World’ / ‘Test’ as person names |
| 2026-04-27 | 2ce49b6 | chore: archive obsolete root files and ECOAPI subproject |
Key Patterns in Commit History
Commit Types
| Type | Count | Notes |
|---|---|---|
feat: | 45 | New features, major additions |
fix: | 23 | Bug fixes, corrections |
docs: | 14 | Documentation updates |
chore: | 11 | Maintenance, cleanup |
mulch: | 28 | AI knowledge recording (Mulch tool) |
seeds: | 10 | Issue tracker sync (Seeds tool) |
security: | 4 | Security hardening |
test: | 2 | Test additions |
refactor: | 2 | Code restructuring |
Merge | 6 | Branch merges |
WIP | 2 | Work-in-progress / stash artifacts |
Development Velocity
- Peak: 37 commits on 2026-03-04 (project kickoff)
- Sustained: 20-30 commits/day during active weeks (March 4-8)
- Slowdown: 1-4 commits/day in April (maintenance mode)
- Total: 163 commits over ~8 weeks
Merge Patterns
- Heavy use of
overstory/branches (AI agent worktrees) - Multiple merge conflicts resolved manually (GEMINI.md, README.md, data-lead)
mulch: update expertisecommits indicate AI knowledge recordingseeds: synccommits indicate issue tracker synchronization
Branch Activity
master— main branchoverstory/*— AI agent feature branches (frequent merges)- Merge conflicts in:
GEMINI.md,README.md, data-lead merge
Notable Observations
- Rapid iteration: v4 → v7 enrichment engine in 3 days (March 8-9)
- Security focus: Major security review March 7 with 12+ fixes, plus Pass 3 fixes
- Quality obsession: 29 experiment rounds for Crawlee optimization
- Documentation discipline: Comprehensive docs added early and maintained throughout
- AI-assisted development: Mulch/Seeds/Canopy tools used throughout (38 tool commits)
- Infrastructure scaling: Phase 3 designed for 1.4M enrichment runs/year
- Domain discovery evolution: From basic lookup → IIS registry → multi-signal validation with 0% FP rate