Commit Graph

10 Commits

Author SHA1 Message Date
Alejandro Gutiérrez
bb0291f265 Add CONTEXT-KEEPER.md for conversation continuity
Quick-reference document for resuming work after context compaction.
Contains: project overview, current state, spec summary, phases,
key decisions, file locations, and resumption instructions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 15:14:01 +00:00
Alejandro Gutiérrez
12d37e350b Fix JobDevTools contrast + log normalization, add Platform Spec
- Fix contrast issues in JobDevTools (level badges, text colors, timestamps)
- Make log normalization more robust (handles old/new formats, edge cases)
- Add ReviewIQ Platform Spec v1.2 defining:
  - Multi-tenant scraping-as-a-service architecture
  - Requester metadata, batches, webhooks, priority
  - Scraper versioning with A/B testing (stable/beta/canary)
  - API endpoints for job types, dashboard, admin
  - Output schemas for external service integration
  - Project structure reorganization plan

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 15:13:19 +00:00
Alejandro Gutiérrez
f99827717f Final polish: v3.1.2 operational safety constraints
- Add chk_dedup_scoped constraint enforcing tenant-scoped dedup format
- Filter location_type='owned' in populate_facts() for 'ALL' rollup
- Document competitor exclusion from 'ALL' sentinel rollups
- Add explicit comments in aggregation code for maintainability

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:55:31 +00:00
Alejandro Gutiérrez
3987a9ab4e Document v3.1.2 conventions: dedup scoping and sentinel values
Two micro-risk mitigations documented:

1. dedup_group_id: Format "{business_id}:{hash}" to prevent
   cross-tenant collision on similar reviews.

2. Sentinel conventions: 'ALL' (spatial) vs 'all' (semantic).
   Case matters — do not normalize.

Spec frozen as v3.1.2.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:50:29 +00:00
Alejandro Gutiérrez
9515dd2d42 Polish ReviewIQ v3.1.2: tenant-scoping and FK integrity
Final fixes for production-ready spec:

1. locations.location_type: Added 'owned'|'competitor' flag.
   Competitors now inserted into locations (preserves FK integrity).

2. Competitor fact query: Added business_id filter to prevent
   cross-tenant contamination when same competitor tracked by
   multiple customers.

3. issue_events versioning: Added source + review_version columns
   for complete review reference in audit log.

4. Enrichment tenant-scoping: business_id now passed from ingest
   job (not looked up). Validates place_id exists under tenant.

5. Footer: Fixed version string v3.1.1 → v3.1.2.

Status: Ship-ready specification.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:34:35 +00:00
Alejandro Gutiérrez
44d017b3f7 Finalize ReviewIQ Architecture v3.1.2 (production-ready)
Three final fixes applied:

1. issue_spans versioning: Added source + review_version columns
   with FK to reviews_enriched(source, review_id, review_version).
   Spans now correctly reference the exact review version.

2. Competitor business_id rule: Clarified that competitor reviews
   use customer's business_id + competitor's place_id (not NULL).
   Keeps facts and joins working without special-case logic.

3. Trust-weighted facts: Clarified trust_weighted_* columns are
   reserved but not populated in v3.1. Trust scoring applies to
   issue priority only. Aggregation deferred to v3.2.

Status: Production-grade architecture specification.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:31:16 +00:00
Alejandro Gutiérrez
d43c574b0c Add ReviewIQ Architecture v3.1.1 specification
Complete pipeline architecture for Google Reviews intelligence:
- Versioned reviews_enriched with (source, review_id, version) PK
- Tenant-scoped locations with (business_id, place_id) PK
- Relational issue_spans replacing array aggregation
- Unified fact_timeseries spine with 'ALL' sentinel for rollups
- Clean competitor model (separate table, no fake business_ids)
- Trust scoring and dedup support
- KPI-ready join keys

Reviewed and fixed: PK for edited reviews, multi-tenant overlap,
param ordering bugs, fact population scope, entity field deferral.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:25:46 +00:00
Alejandro Gutiérrez
3da243be79 Add ReviewIQ pipeline spec and metadata extraction test
- reviewiq-pipeline-v1-final.md: Earlier pipeline specification
- test_metadata_extraction.py: Test script for metadata extraction

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 11:21:33 +00:00
Alejandro Gutiérrez
59368a5bd5 Add Job DevTools implementation task breakdown
18 tasks organized in 5 parallel tracks:
- Track A: Backend logging infrastructure (4 tasks)
- Track B: Frontend log viewer (5 tasks)
- Track C: Crash analysis (4 tasks)
- Track D: Session & metrics (3 tasks)
- Track E: Review topics (2 tasks)

Includes dependency graph and 7-wave execution plan
for parallel AI agent workflow.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 11:14:02 +00:00
Alejandro Gutiérrez
65fcaf43e8 Add Job DevTools specification document
Comprehensive spec for observability suite including:
- Structured logging system with categories
- Crash intelligence and pattern analysis
- Copy/export functionality
- Session fingerprint panel
- Real-time metrics dashboard
- Review topics inference

Organized by priority (P0-P3) with parallel implementation tracks.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 11:10:34 +00:00