Michael Chihlas
ac89e7b2fa
fix(l1): resolve PR #193 backend review findings (1,4,5,6,7,8,9,10)
...
Server-assigns a uuid4 id to every AI-generated node (Finding 1 showstopper:
nodes had no id but the advance protocol keys on node_id, so ai_build walks
never advanced past question 1). Replaces the hidden {"node_type":"meta"}
walked_path convention with real category/problem_text/pending_node columns on
l1_walk_sessions (migration 61dda4f615c6) — fixes junk proposals + off-by-one
depth cap (Findings 8,9), and pending_node replays the served node on re-mount
(no duplicate paid LLM call). Intake honors explicit flow_id and adhoc=True
(Findings 4,5); flow_proposals.l1_session_id FK -> CASCADE (Finding 6 time
bomb); L1 category GET is owner+admin like PATCH and require_account_owner_or_admin
delegates to User.can_manage_account (Finding 7); escalate falls back to default
recipients + filters deleted_at + warns when empty (Finding 10). Cleanups: dead
ticket_ref removed, IntakeResponse per-outcome validator, unused acknowledged
dropped, escalations partial index, restored a deleted audit assertion.
Full Phase 2A backend set: 110 passed / 0 failed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 15:55:45 -04:00
..
2026-04-10 03:59:28 +00:00
2026-02-17 10:35:31 -05:00
2026-02-17 13:20:55 -05:00
2026-05-29 15:46:25 -04:00
2026-04-11 07:02:35 +00:00
2026-05-06 19:14:30 -04:00
2026-04-09 05:25:24 +00:00
2026-04-10 05:21:26 +00:00
2026-02-03 19:15:36 -05:00
2026-05-11 05:07:07 +00:00
2026-02-25 23:17:29 -05:00
2026-05-06 19:14:30 -04:00
2026-02-17 11:48:08 -05:00
2026-01-23 12:17:18 -05:00
2026-04-09 05:20:56 +00:00
2026-04-09 06:31:17 +00:00
2026-04-11 07:02:35 +00:00
2026-02-07 21:17:25 -05:00
2026-03-16 23:51:42 -04:00
2026-02-07 23:06:13 -05:00
2026-03-19 05:12:10 +00:00
2026-05-06 19:14:30 -04:00
2026-03-19 20:35:35 +00:00
2026-06-09 15:55:45 -04:00
2026-04-10 06:57:41 +00:00
2026-04-24 00:22:53 -04:00
2026-04-30 17:32:37 -04:00
2026-04-09 06:41:00 +00:00
2026-01-22 14:38:53 -05:00
2026-02-01 00:08:06 -05:00
2026-02-01 01:32:10 -05:00
2026-02-01 16:53:19 -05:00
2026-02-02 01:31:13 -05:00
2026-02-02 01:31:13 -05:00
2026-02-03 02:07:46 -05:00
2026-02-03 02:07:46 -05:00
2026-02-04 02:47:18 -05:00
2026-02-05 02:42:44 -05:00
2026-02-05 22:04:37 -05:00
2026-02-05 22:44:05 -05:00
2026-02-05 22:44:05 -05:00
2026-02-05 23:28:41 -05:00
2026-02-05 23:33:05 -05:00
2026-02-07 02:38:47 -05:00
2026-02-07 02:38:47 -05:00
2026-02-07 02:38:47 -05:00
2026-02-07 02:38:47 -05:00
2026-02-07 02:55:53 -05:00
2026-02-07 03:06:35 -05:00
2026-02-07 19:10:47 -05:00
2026-02-07 19:10:47 -05:00
2026-02-07 23:06:13 -05:00
2026-02-07 23:06:13 -05:00
2026-02-08 06:05:59 -05:00
2026-02-08 08:14:22 -05:00
2026-02-10 09:45:26 -05:00
2026-02-11 17:52:12 -05:00
2026-02-11 21:42:58 -05:00
2026-02-13 01:42:51 -05:00
2026-02-13 01:42:51 -05:00
2026-02-13 01:42:51 -05:00
2026-02-13 08:32:20 -05:00
2026-02-14 04:13:52 -05:00
2026-02-15 22:45:19 -05:00
2026-02-15 22:45:19 -05:00
2026-02-15 22:45:19 -05:00
2026-02-16 15:23:14 -05:00
2026-03-04 20:44:25 -05:00
2026-03-04 20:44:25 -05:00
2026-03-04 20:44:25 -05:00
2026-03-04 20:44:25 -05:00
2026-03-04 20:44:25 -05:00
2026-03-04 20:44:25 -05:00
2026-03-05 02:03:38 -05:00
2026-03-05 01:41:22 -05:00
2026-03-05 22:43:02 -05:00
2026-03-05 22:43:02 -05:00
2026-03-07 15:51:37 -05:00
2026-03-07 15:51:37 -05:00
2026-03-07 15:51:37 -05:00
2026-03-10 09:49:51 -04:00
2026-03-10 20:56:28 -04:00
2026-03-10 20:56:28 -04:00
2026-03-11 23:29:51 -04:00
2026-03-14 20:18:59 -04:00
2026-03-15 01:45:35 -04:00
2026-03-15 01:45:35 -04:00
2026-03-15 01:45:35 -04:00
2026-03-15 01:45:35 -04:00
2026-03-21 16:55:08 -04:00
2026-03-21 17:17:41 -04:00
2026-03-21 21:06:58 -04:00
2026-03-23 13:12:06 +00:00
2026-03-23 17:29:25 +00:00
2026-03-24 14:45:54 +00:00
2026-03-28 02:23:56 +00:00
2026-03-29 06:35:11 +00:00
2026-04-01 05:09:42 +00:00
2026-04-13 02:38:01 -04:00
2026-04-13 02:38:01 -04:00
2026-04-11 07:02:35 +00:00
2026-04-09 05:34:32 +00:00
2026-04-09 05:12:18 +00:00
2026-03-19 05:12:10 +00:00
2026-02-17 11:29:25 -05:00
2026-04-23 14:40:17 -04:00
2026-04-09 05:15:10 +00:00
2026-03-19 19:08:06 +00:00
2026-03-20 03:15:37 +00:00
2026-02-25 23:52:48 -05:00
2026-03-19 05:12:10 +00:00
2026-02-23 00:03:54 -05:00
2026-04-09 05:16:50 +00:00
2026-05-28 12:30:51 -04:00
2026-03-20 03:48:09 +00:00
2026-04-09 06:14:04 +00:00
2026-04-11 07:02:35 +00:00
2026-05-28 12:19:38 -04:00
2026-05-06 19:14:30 -04:00
2026-04-12 01:48:50 +00:00
2026-03-20 04:06:41 +00:00
2026-03-19 12:37:54 +00:00
2026-05-13 15:52:21 -04:00
2026-05-28 12:35:24 -04:00
2026-03-19 01:30:05 +00:00
2026-05-29 14:46:19 -04:00
2026-04-10 04:02:10 +00:00
2026-05-06 19:14:30 -04:00
2026-05-06 19:14:30 -04:00
2026-05-29 14:49:14 -04:00
2026-04-09 06:20:00 +00:00
2026-03-19 01:30:05 +00:00
2026-03-20 03:42:01 +00:00
2026-03-20 00:00:34 +00:00
2026-05-06 19:14:30 -04:00
2026-02-27 03:42:10 -05:00
2026-02-18 17:39:44 -05:00
2026-03-16 23:51:42 -04:00
2026-03-21 01:23:33 +00:00
2026-03-18 14:27:36 +00:00
2026-05-06 19:14:30 -04:00
2026-05-06 19:14:30 -04:00
2026-04-17 18:14:26 +00:00
2026-02-25 23:17:29 -05:00
2026-05-28 12:27:07 -04:00