Skip to content

feat(airbnb010, airbnb011): SCD2 snapshot tasks for superhost evolution#129

Merged
joellabes merged 27 commits intomainfrom
feature/airbnb010-scd2-snapshot
Mar 16, 2026
Merged

feat(airbnb010, airbnb011): SCD2 snapshot tasks for superhost evolution#129
joellabes merged 27 commits intomainfrom
feature/airbnb010-scd2-snapshot

Conversation

@joellabes
Copy link
Collaborator

@joellabes joellabes commented Mar 5, 2026

Summary

  • Adds airbnb010 (hard, 1 variant): SCD2 snapshot for hosts using timestamp strategy, plus dim_superhost_evolution analytical model
  • Adds airbnb011 (hard, 2 variants: base + hint): Same SCD2 goal but UPDATED_AT is stuck at 1980-01-01 — agent must discover this and use check strategy instead. The hint variant nudges the agent about unreliable timestamps.
  • Both tasks use a background watchdog that mutates RAW_HOSTS on each dbt invocation to simulate a live data source
  • Deterministic test_setup rebuilds snapshot history with frozen DuckDB timestamps for reproducible evaluation

Test Plan

  • ade run airbnb010 --agent sage passes 5/5 tests
  • ade run airbnb011 --agent sage passes 5/5 tests for both variants (10/10 total)
  • Seed data verified: airbnb011 snap__hosts has 14,561 rows (original + 3 mutation phases + inserts)

🤖 Generated with Claude Code

@joellabes joellabes changed the title feat(airbnb010): SCD2 snapshot task for superhost evolution feat(airbnb010, airbnb011): SCD2 snapshot tasks for superhost evolution Mar 5, 2026
joellabes and others added 14 commits March 5, 2026 16:24
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds an alternate solution seed for snap__hosts and updates the equality
test to check against multiple answer keys (pass if any match).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… snap_hosts seed

Three bugs fixed in interact.py:
1. Pass allowed_tools from plugin set config when creating agent
2. Use run-tests.sh pipeline instead of bare dbt test
3. Copy test_setup script to container

Simplify airbnb010 solution seeds:
- Remove alternate snap_hosts seed with renamed columns
- Keep only raw-column seed (ID/NAME) as single answer key
- Update _no-op.txt seed schema and regenerate test files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…sion compat

Add daily cache-busting for the dbt-fusion curl install in Docker
builds so new fusion versions are picked up automatically. Also add
dbt-fusion variants to airbnb010/011 task configs and update test SQL
to use load_relation(ref()) for fusion compatibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove the current_superhost_tenure column from prompts, solution
models, and seed CSVs for both airbnb010 and airbnb011. This column
relied on now() being frozen, which agents reasonably use CURRENT_DATE
for instead — making it an unfair test of snapshot logic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Commenting out until dbt-labs/dbt-fusion#1447
is resolved.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…d mark ready

- Remove HOST_ID/HOST_NAME aliases from snap__hosts solution SQL, use
  source column names (ID, NAME) directly
- Update dim_superhost_evolution and src_hosts solutions to alias at
  point of use instead
- Fix airbnb011 CSV header to match (HOST_ID→ID, HOST_NAME→NAME)
- Change status from dev to ready

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@joellabes joellabes merged commit 39f8dd8 into main Mar 16, 2026
10 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant