feat: flexible intake — deferred variables + prepared sessions #103

Merged
chihlasm merged 3 commits from feat/flexible-intake into main 2026-03-10 13:49:51 +00:00
chihlasm commented 2026-03-10 05:44:11 +00:00 (Migrated from github.com)

Summary

  • Deferred Variables: Remove blocking intake form modal — flows start immediately. Unresolved [VAR:x] tokens render as interactive inline prompts (cyan-bordered inputs) in StepDetail. Variables persist via new PATCH /sessions/{id}/variables endpoint
  • Editable Session Variables Panel: "View Parameters" replaced with editable "Session Variables" panel showing filled/unfilled status with inline editing
  • Prepared Sessions: New POST /sessions/prepare endpoint creates sessions in prepared state (started_at=NULL) with pre-filled variables and optional engineer assignment. "Prepared for You" section on Quick Start dashboard. "Prepared" filter tab on Session History
  • DB Migration 053: Adds prepared_by_id, assigned_to_id columns to sessions table; makes started_at nullable

Test plan

  • Start a procedural flow without filling any variables → flow starts immediately, no modal
  • Navigate to a step with [VAR:server_name] → see inline input prompt with cyan border
  • Fill the variable inline → value resolves across all steps
  • Open Session Variables panel → see all fields, edit one → reflected in steps
  • Complete a session with unfilled required variables → see soft warning dialog
  • Verify existing session resume works correctly
  • Run alembic upgrade head and verify migration 053 applies cleanly
  • Backend: 694 tests passing, frontend: builds clean

🤖 Generated with Claude Code

## Summary - **Deferred Variables:** Remove blocking intake form modal — flows start immediately. Unresolved `[VAR:x]` tokens render as interactive inline prompts (cyan-bordered inputs) in StepDetail. Variables persist via new `PATCH /sessions/{id}/variables` endpoint - **Editable Session Variables Panel:** "View Parameters" replaced with editable "Session Variables" panel showing filled/unfilled status with inline editing - **Prepared Sessions:** New `POST /sessions/prepare` endpoint creates sessions in `prepared` state (`started_at=NULL`) with pre-filled variables and optional engineer assignment. "Prepared for You" section on Quick Start dashboard. "Prepared" filter tab on Session History - **DB Migration 053:** Adds `prepared_by_id`, `assigned_to_id` columns to sessions table; makes `started_at` nullable ## Test plan - [ ] Start a procedural flow without filling any variables → flow starts immediately, no modal - [ ] Navigate to a step with `[VAR:server_name]` → see inline input prompt with cyan border - [ ] Fill the variable inline → value resolves across all steps - [ ] Open Session Variables panel → see all fields, edit one → reflected in steps - [ ] Complete a session with unfilled required variables → see soft warning dialog - [ ] Verify existing session resume works correctly - [ ] Run `alembic upgrade head` and verify migration 053 applies cleanly - [ ] Backend: 694 tests passing, frontend: builds clean 🤖 Generated with [Claude Code](https://claude.com/claude-code)
railway-app[bot] commented 2026-03-10 05:44:22 +00:00 (Migrated from github.com)

🚅 Deployed to the patherly-pr-103 environment in selfless-grace

Service Status Web Updated (UTC)
hopeful-liberation Success (View Logs) Web Mar 10, 2026 at 12:24 pm
patherly Success (View Logs) Web Mar 10, 2026 at 12:22 pm
<!-- railway-bot-comment-version=2 --> <!-- railway-project-id="22b9b58c-271b-42e5-a10e-6fdec8d00134" railway-project-name="selfless-grace" --> 🚅 Deployed to the [patherly-pr-103](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134?environmentId=1cc5b146-dcae-4339-85a5-0597e994f08b) environment in **[selfless-grace](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134)** | **Service** | **Status** | **Web** | **Updated** (UTC) | | :--- | :--- | :--- | :--- | | hopeful-liberation | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/e1db2ee3-d241-4f45-abe4-c9c5fdf483d5?id=1e0381dc-5abc-45c8-a4f8-a54a1b4abb39&environmentId=1cc5b146-dcae-4339-85a5-0597e994f08b)) | [Web](https://hopeful-liberation-patherly-pr-103.up.railway.app) | Mar 10, 2026 at 12:24 pm | | patherly | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/95f556ff-5264-4116-a0c2-618a2fc53ba4?id=39dd7775-016c-4430-b598-68375820923e&environmentId=1cc5b146-dcae-4339-85a5-0597e994f08b)) | [Web](https://patherly-patherly-pr-103.up.railway.app) | Mar 10, 2026 at 12:22 pm |
Sign in to join this conversation.