{"key":"haip_webui_agent_create_edit_checklist_2026_04_05","title":"HAIP Web UI Checklist — Add Create/Edit Agent Management","content":"Short execution checklist for adding Create Agent and Edit Agent support to the HAIP Web Control UI.\n\nGoal\n- Add create-agent and edit-agent workflows to the deployed HAIP Web UI at `http://192.168.4.114:3010`.\n\nDo not\n- do not modify `/home/svc-admin/ai-projects/projects/homelab_ai_platform_architecture`\n- do not redesign the whole UI\n- do not add persona CRUD in the same pass\n- do not auto-add new agents to room rosters\n\nWork location\n- `/home/svc-admin/appstack/haip-ui`\n\nInspect first\n1. `/home/svc-admin/appstack/haip-ui/app/routers/agents.py`\n2. `/home/svc-admin/appstack/haip-ui/app/templates/agents/`\n3. rooms router patterns for create/update POST handlers\n4. existing DB helper/query style in the UI app\n5. live schema labels for `provider_families` and `personas`\n\nImplement\n1. Extend `GET /agents`\n- keep existing listing\n- add data needed for create form: provider families + personas\n\n2. Add `POST /agents/create`\n- create a new agent row\n- validate unique `agent_key`\n- validate unique `nick`\n- redirect on success\n\n3. Add `GET /agents/{agent_key}`\n- render agent edit page\n- preload current agent fields\n- preload provider families + personas\n\n4. Add `POST /agents/{agent_key}/update`\n- update core fields\n- set `updated_at = CURRENT_TIMESTAMP`\n- redirect back to detail page\n\nFields to support\n- `agent_key` on create\n- `display_name`\n- `nick`\n- `provider_family_id`\n- `persona_id`\n- `runtime_adapter_key`\n- `private_memory_namespace`\n- `default_response_policy`\n- `default_cooldown_policy`\n- `enabled`\n\nLikely table usage\n- `agents`\n- `provider_families`\n- `personas`\n\nValidation\n- reject duplicate `agent_key`\n- reject duplicate `nick`\n- require non-empty namespace/policy fields\n- map checkbox cleanly to `enabled`\n\nKeep it simple\n- server-rendered forms only\n- explicit SQL is fine\n- reuse rooms form/redirect patterns\n- no abstraction spree\n\nVerify\n1. reload or rebuild the HAIP UI service\n2. `/agents` returns `200`\n3. new agent detail/edit page returns `200`\n4. create a safe test agent\n5. confirm it appears in `/agents`\n6. edit a safe field such as `display_name` or `enabled`\n7. confirm DB persistence and UI reflection\n8. confirm `/rooms`, `/presets`, `/sessions`, `/memory`, `/health`, `/invocations` still return `200`\n\nImportant runtime note\n- HAIP IRC presence is now roster-driven\n- creating a new agent should not make it appear in IRC until it is explicitly added to a room roster","summary":"Short execution checklist for adding Create Agent and Edit Agent support to the HAIP Web Control UI.\n\nGoal\n- Add create-agent and edit-agent workflows to the deployed HAIP Web UI at `http://192.168.4.114:3010`.\n\nDo not\n- do not modify `/home/svc-admin/ai-projects/projects/homelab_ai_platform_architecture`\n- do not redesign the whole UI\n- do not add persona CRUD in the same pass\n- do not auto-add new agents to room rosters\n\nWork location\n- `/home/svc-admin/appstack/haip-ui`\n\nInspect first\n1. `/home/svc-admin/appstack/haip-ui/app/routers/agents.py`\n2. `/home/svc-admin/appstack/haip-ui/app/templates/agents/`\n3. rooms router patterns for create/update POST handlers\n4. existing DB helper/query style in the UI app\n5. live schema labels for `provider_families` and `personas`\n\nImplement\n1. Extend `GET /agents`\n- keep existing listing\n- add data needed for create form: provider families + personas\n\n2. Add `POST /agents/create`\n- create a new agent row\n- validate unique `agent_key`\n- validate unique `nick`\n- redirect on success\n\n3. Add `GET /agents/{agent_key}`\n- render agent edit page\n- preload current agent fields\n- preload provider families + personas\n\n4. Add `POST /agents/{agent_key}/update`\n- update core fields\n- set `updated_at = CURRENT_TIMESTAMP`\n- redirect back to detail page\n\nFields to support\n- `agent_key` on create\n- `display_name`\n- `nick`\n- `provider_family_id`\n- `persona_id`\n- `runtime_adapter_key`\n- `private_memory_namespace`\n- `default_response_policy`\n- `default_cooldown_policy`\n- `enabled`\n\nLikely table usage\n- `agents`\n- `provider_families`\n- `personas`\n\nValidation\n- reject duplicate `agent_key`\n- reject duplicate `nick`\n- require non-empty namespace/policy fields\n- map checkbox cleanly to `enabled`\n\nKeep it simple\n- server-rendered forms only\n- explicit SQL is fine\n- reuse rooms form/redirect patterns\n- no abstraction spree\n\nVerify\n1. reload or rebuild the HAIP UI service\n2. `/agents` returns `200`\n3. new agent detail/edit page returns `200`\n4. create a safe test agent\n5. confirm it appears in `/agents`\n6. edit a safe field such as `display_name` or `enabled`\n7. confirm DB persistence and UI reflection\n8. confirm `/rooms`, `/presets`, `/sessions`, `/memory`, `/health`, `/invocations` still return `200`\n\nImportant runtime note\n- HAIP IRC presence is now roster-driven\n- creating a new agent should not make it appear in IRC until it is explicitly added to a room roster","status":"active","namespace":"shared:platform","namespace_name":"shared","namespace_tier":"platform","tags":[]}