feat: integrate Focus SIS for KIPP Miami (Phase A)#3588
Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…cus-sis-integration
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Claude finished @cbini's task in 6m 57s —— View job Claude Code Review
Code Review: Focus SIS Integration — Phase AStrengthsFaithful spec-to-code translation. Every Phase A file was implemented. The deviation (using Clean library/code-location separation. Credential security is correct. All six Focus DB fields are injected as Kubernetes secret environment variables in both dbt source schema resolution is correct. Table count is correct. 75 entries in YAML config, 75 matching table definitions in Consistent with Illuminate reference. The translator, factory, IssuesCritical (Must Fix)1. Only
Important (Should Fix)2.
3.
4.
5.
Minor (Nice to Have)6. No
7. Unquoted
8. No GitHub issue tracking Phase B work.
RecommendationsInfinity date risk. Before Phase B, verify whether any Focus Postgres columns contain Unbounded Pool size. Pool AssessmentReady to merge? Yes, with fixes — specifically Issue 1 (missing Reasoning: The overall implementation is well-structured, follows established patterns, and correctly wires all infrastructure. Issue 1 is a correctness bug that produces silent |
|
Addressed in 91f694c. Here's what we did and didn't do: Fixed (backported to Illuminate):
Not fixing:
|
|
Update (c8e4644): Revised the credential handling approach based on further investigation: Issue 1 — replaced with dlt native config resolution. Instead of adding Issue 2 — reverted. The |
Pull Request
Summary & Motivation
Add the extraction pipeline and dbt scaffolding for Focus SIS integration (KIPP Miami). Focus replaces PowerSchool as the SIS for Miami.
Phase A includes:
src/teamster/libraries/dlt/focus/) —sql_databasesource withfull_with_precisionreflection, PyArrow backendfocussource-system project (dbt_project.yml, profiles.yml, packages.yml)Phase B (separate PR): Staging models, intermediate models, and kipptaf integration — blocked on first dlt extraction landing data in BigQuery.
Prerequisites before first extraction:
AI Assistance
Self-review
General
TEAMster Asana Project
feedback; dismiss false positives with a brief reply explaining why.
Dagster (skip if no Dagster changes)
uv run dagster definitions validatefor any modified code locationuv run pytest tests/test_dagster_definitions.pyfor any modifiedcode location
Library + Config pattern
with the correct asset key format and IO manager
dbt (skip if no dbt changes)
Docs (skip if no schedule, sensor, or integration changes)
catalog:
uv run scripts/gen-automations-doc.pyCLAUDE.mdby running/claude-md-management:revise-claude-mdCI checks