Rebuild web-ui against current kernel GraphQL schema (subject model)#2
Merged
Conversation
…seline) Repoint codegen at the new full kernel SDL (embedded/schema.graphql) and get the project to a compiling, build-passing baseline with dead surface removed. Schema repoint: - All GraphQL operations rewritten to the new lean kernel schema: subject model (subject/subjectById/subjectNext, createSubject/updateSubject/ setSubjectStatus), QueueEntry.state + QueueStats, flat Workflow with `detail` JSON blob, DaemonHealth.plugins + daemon status + daemonAgents. codegen succeeds with 0 errors; generated client regenerated. - The new schema exposes NO subscription root: the events page is now a polled daemon-activity view (daemonAgents + daemonHealth) instead of a live subscription. Pages/operations DELETED (no backend in kernel): - projects (projects-pages, project-context, projects.graphql) - planning/vision/requirements-as-distinct (planning-screens, planning.graphql) - builder (builder-pages, builder.graphql) - reviews (review-page, reviews.graphql) - settings (settings-pages, settings.graphql: saveAgentProfile/workflowConfig) - errors-page, skills-page (no backing queries) - their router routes, nav entries, and tests Pages KEPT and updated to new schema (compile + render real data): - dashboard, tasks->subjects (+ /requirements via kind), workflows, queue, daemon, dispatch, events, agents, history, ops-map, output. - requirements now route to TasksPage with kind=requirement. - CustomDispatch now functional via executeWorkflow. Verification: codegen 0 errors; vitest 36/36 pass; vite build passes. Remaining tsc(tsconfig.app.json) errors are all pre-existing, unrelated patterns (shadcn Button asChild typing, implicit-any, ReactMarkdown className) not gated by the build. Several kept pages carry `// TODO(E-followup): richer rendering` for the later rich-rebuild pass.
…ured workflow detail - events-page: stream daemonEvents over graphql-ws subscription (replaces poll); keep a cheap agents/health snapshot poll alongside the live feed - add DaemonEvents/WorkflowEvents/SubjectChanged subscription ops + codegen - tasks: assignee + label add/remove editing on subject detail via updateSubject - mutations now invalidate all cached queries so lists/detail refresh (CLI parity) - workflow detail: structured phases/decisions/checkpoints view with collapsible fallback for unrecognized detail shapes (no longer a raw JSON dump) - tests: new events-subject-edit suite (7 tests)
…opped — workflowConfig/saveAgentProfile removed from kernel) # Conflicts: # src/app/settings-pages.tsx
tsc cleanup (20 -> 0 errors, tsconfig.app.json): - Button asChild -> base-ui render prop (dashboard, queue, shell SheetTrigger) - shared Markdown: drop unsupported className prop (wrap in div), remove unused Badge import + unused code-component props - shell NAV_GROUPS: explicit NavItem/NavGroup types so flatMap unifies (was producing `item: unknown` across shell + tests); fixes nav tuple errors - test typing: screens.test module index, shell.test route-set widening Polish TODOs (schema-backed only): - WorkflowDetailPage: consume workflowEvents(workflowId) subscription -> live refetch + "live"/last-event indicator; paused once terminal - TasksPage: consume subjectChanged(kind) subscription -> live list refetch - TaskOutputPage: render workflow detail via shared structured WorkflowDetailView (phases/decisions/checkpoints) with raw+search fallback toggle Schema-gap TODOs left with explanatory NOTEs (no backing op in animus-protocol v0.5.12 schema): dispatch workflow catalog (no definitions query), daemon logs/pause/resume (only startDaemon exists; stop/restart forbidden; no pauseDaemon/resumeDaemon/daemonLogs), per-agent output stream. Adds live-updates.test.tsx (5 tests). 48 tests green, codegen clean, tsc 0 errors, vite build passes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebuild the web-ui against the current kernel GraphQL schema
mainis built against a stale GraphQL schema and does not compile against the current kernel:tasks.graphqlstill queries the removedtasks { statusRaw, taskType, priorityRaw, … }model, andsettings-pages.tsxusesworkflowConfig/saveAgentProfile— all removed from the kernel during the v0.5 subject-model unification. Runningnpm run codegenagainst the current schema fails with ~94 validation errors across 11 operation files.This PR repoints codegen at the current schema (generated from the now-fully-wired
animus-transport-graphql) and rebuilds the UI on the real kernel surface.What changed
embedded/schema.graphql(subject model, richSubjectwithnativeStatus/attachments/statusMetadata,Workflow,QueueEntry.state+QueueStats,DaemonHealth.checks,PluginInfo, subscription root). Codegen now succeeds with 0 errors.workflowConfig/saveAgentProfilegone), plus errors/skills pages whose queries don't exist. Routes/nav/tests/project-contextremoved accordingly.state), daemon, dispatch (functional viaexecuteWorkflow), plugins, agents, history, ops-map, output.daemonEventsGraphQL subscription (graphql-ws) instead of the old polling.createSubject/updateSubject/setSubjectStatus; mutations invalidate queries so lists refresh (matches CLI behavior).animus-protocolv0.5.12 (restoredtransport_backend_main).Verification
npm run codegen: 0 errorsnpm test: 43/43 passnpm run build(vite): builds (2457 modules). Thecheck:performance-budgetspost-step fails only on a missing../embedded/index.htmlpackaging artifact, which is environmental (fails onmaintoo).tsc --noEmit: 20 errors — all pre-existing/unrelated (shadcnasChildtyping, implicit-any, etc.);mainhad 98. No new schema/codegen-driven errors.Fleet reconciliation note
This supersedes the cosmetic settings cleanup in #1 (settings is dropped — its operations no longer exist in the kernel) and will require the open
chore/remove-dead-auto-policy-knobsbranch to rebase onto the subject-model surface. Left as TODO for follow-up passes: output-page phase-output rendering, dispatch workflow catalog, daemon logs/pause (no control verb yet), per-workflow live updates.Pairs with:
animus-protocolv0.5.12,animus-transport-graphqlv0.1.1,animus-transport-httpv0.1.1.