Commit graph

39 commits

Author SHA1 Message Date
Daniel Roth
11e8a52ec6 Add room bottom borders, section start borders, and blank floor separator columns 🟩 2026-05-15 15:54:16 +00:00
Daniel Roth
2801756e56 Blank separator columns (E, U) carry no header fill 🟩 2026-05-15 15:42:24 +00:00
Daniel Roth
a078578122 _write_data_rows places door data at cols 22–25 (V–Y) 🟩 2026-05-15 15:41:30 +00:00
Daniel Roth
500ec02be2 _write_data_rows places door data at cols 22–25 (V–Y) 🟥 2026-05-15 15:40:04 +00:00
Daniel Roth
a748260b7d _apply_section_borders sets medium right-border on subtable boundary columns 🟥 2026-05-15 15:38:21 +00:00
Daniel Roth
4ba9d64c09 _write_headers uses 25 columns, 2 rows, and "Doors" group label 🟥 2026-05-15 15:36:16 +00:00
Daniel Roth
f010a360c5 AuditRow opening and trickle_vent fields are None on all rows 🟥 2026-05-15 15:34:47 +00:00
Daniel Roth
b6320b745e _build_rows returns structured audit rows from a Plan 🟩 2026-05-15 14:47:18 +00:00
Daniel Roth
0ce0228c31 _build_rows returns structured audit rows from a Plan 🟥 2026-05-15 14:45:10 +00:00
Daniel Roth
509fbf2abf Store uploaded_file_id on magic_plan_plan row 🟩 2026-05-13 11:02:46 +00:00
Daniel Roth
5f77fbf4e4 Fetch all pages in get_plans pagination loop 🟪 2026-05-12 14:54:14 +00:00
Daniel Roth
6dfca082f8 Fetch all pages in get_plans pagination loop 🟥 2026-05-12 14:52:31 +00:00
Daniel Roth
62acc3ce98 Paginate get_plans to return flat list[PlanSummary] 🟥 2026-05-12 14:45:09 +00:00
Daniel Roth
8727a78f8b correct magic plan url paths 🟩 2026-05-12 14:33:58 +00:00
Daniel Roth
75d0313934 fix broken magicplan handler tests 2026-05-12 14:14:37 +00:00
Daniel Roth
7752039dbd _fetch_plan() sends no API key query parameter 🟥 2026-05-12 14:01:40 +00:00
Daniel Roth
ffcff33dd4 get_plans() sends no API key query parameter 🟥 2026-05-12 14:00:07 +00:00
Daniel Roth
da4f5f44c0 Set API key as session header on MagicPlanClient construction 🟥 2026-05-12 13:58:16 +00:00
Daniel Roth
ce2b61d60b Upload gzip-compressed MagicPlan JSON to S3 - only make one API call 🟪 2026-05-08 15:07:09 +00:00
Daniel Roth
8ac77ce8b9 Persist UploadedFile record for each MagicPlan S3 upload 🟥 2026-05-08 14:19:49 +00:00
Daniel Roth
03e8750c1a Upload MagicPlan JSON to S3 using hubspot_deal_id key when UPRN absent 🟩 2026-05-08 14:17:51 +00:00
Daniel Roth
14a064fdef Upload gzip-compressed MagicPlan JSON to S3 🟩 2026-05-08 14:16:41 +00:00
Daniel Roth
7c9cb5b161 Upload gzip-compressed MagicPlan JSON to S3 🟥 2026-05-08 14:14:42 +00:00
Daniel Roth
c3aae8fd51 Expose get_plan_raw method on MagicPlanClient 🟥 2026-05-08 14:08:56 +00:00
Daniel Roth
4a9cabe197 Add hubspot_deal_id required field to MagicPlanTriggerRequest 🟩
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 13:45:10 +00:00
Daniel Roth
74b3a7f297 Add hubspot_deal_id required field to MagicPlanTriggerRequest 🟥
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 13:42:57 +00:00
Daniel Roth
6b29086a1e typing and renaming 🟪 2026-05-07 13:26:49 +00:00
Daniel Roth
91a634e637 Lambda handler with SQS trigger and __main__ local runner 🟩 2026-05-07 13:16:08 +00:00
Daniel Roth
1a8b27453e MagicPlanService orchestrating fetch, match, map, persist 🟥 2026-05-07 13:11:18 +00:00
Daniel Roth
bbcde75b8e MagicPlan HTTP client with auth headers and response parsing 🟩 2026-05-07 12:51:41 +00:00
Daniel Roth
ef5c44f7ae MagicPlan HTTP client with auth headers and response parsing 🟥 2026-05-07 12:49:15 +00:00
Daniel Roth
60c69c4786 match address string to magicplan plan 🟩 2026-05-07 12:43:45 +00:00
Daniel Roth
8e12ac705b match address string to magicplan plan 🟥 2026-05-07 12:41:15 +00:00
Daniel Roth
5b92c31302 validate magicplan trigger request basemodel object 🟩 2026-05-07 12:38:09 +00:00
Daniel Roth
d3ca6bc7ff delete historic mapping and client 2026-05-05 15:45:36 +00:00
Daniel Roth
ff67297646 start mapping json 2026-05-01 16:20:55 +00:00
Daniel Roth
3ba9a310ab start defining magic plan client 2026-04-28 15:24:17 +00:00
Daniel Roth
f6ab407b33 Parse Magic Plan XML 🟩 2026-04-28 15:11:03 +00:00
Daniel Roth
4b3b100d63 Parse Magic Plan XML 🟥 2026-04-28 15:01:32 +00:00