Skip to content

test(cockpit-langgraph): aimock e2e for 7 remaining langgraph caps (Task #4)#482

Merged
blove merged 2 commits into
mainfrom
claude/langgraph-aimock-batch
May 20, 2026
Merged

test(cockpit-langgraph): aimock e2e for 7 remaining langgraph caps (Task #4)#482
blove merged 2 commits into
mainfrom
claude/langgraph-aimock-batch

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented May 19, 2026

Summary

Brings the langgraph product line to FULL aimock coverage (8/8 caps; `streaming` was pre-existing).

Caps shipped: persistence, interrupts, memory, durable-execution, subgraphs, time-travel, deployment-runtime.

Approach

  • Generator-emitted scaffolds via `scripts/generate-aimock-scaffold.ts` (one command per cap).
  • Fixtures recorded against real LLM via a new shared recorder `scripts/record-aimock-cap.sh` (takes cap id + prompts; reads registry for ports/paths).
  • Specs send "Hello" → assert assistant bubble finalizes. End-to-end smoke per cap.

Registry change

Added `pythonPort` to all 8 langgraph cap entries (5300-5307, matching the `+1000-from-angular` convention used by chat caps). The generator's all-or-nothing precondition check requires this field.

New shared recorder

`scripts/record-aimock-cap.sh "" ["" ...]` — generic helper that:

  1. Looks up cap metadata from `apps/cockpit/scripts/capability-registry.ts`.
  2. Boots aimock --record + langgraph dev for the cap.
  3. Drives each prompt through the runs API, merges captured fixtures.

Replaces the per-cap shell scripts shipped earlier (c-generative-ui, c-a2ui, c-interrupts). Those will be consolidated in a follow-up cleanup.

Coverage after this PR

Test plan

  • CI `Cockpit — e2e` summary green; 7 new matrix expansions pass.
  • `Cockpit — build / test` passes (wiring spec auto-discovers).
  • No regression on existing 11 cap e2es.

🤖 Generated with Claude Code

Brings langgraph product line to FULL aimock coverage (8/8 caps total
with streaming pre-existing).

Caps shipped:
- persistence, interrupts, memory, durable-execution, subgraphs,
  time-travel, deployment-runtime.

All 7 use composed <chat> in the main slot. Fixtures recorded via a
new generic recorder at scripts/record-aimock-cap.sh (single shell
script taking cap id + prompts; reads registry for ports/paths).
Each spec sends "Hello" and asserts the assistant bubble renders —
proves backend boots, langgraph routes, aimock replays, UI finalizes.

Registry change: added pythonPort to all 8 langgraph cap entries
(5300-5307, matching the +1000-from-angular convention used by chat
caps). Required by the scaffold generator's all-or-nothing precondition
check.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview, Comment May 20, 2026 12:06am

Request Review

…p with new per-cap pythonPort

This PR added pythonPort to all 8 langgraph cap registry entries
(5300-5307), but their proxy.conf.json files still pointed at the
umbrella port 8123. The cockpit-e2e-wiring spec cross-checks that
registry pythonPort matches the global-setup-impl's langgraphPort
matches the proxy.conf.json target — mismatch caught by build/test.

Fix: update all 8 langgraph proxy.conf.json files to per-cap ports,
matching the chat-cap convention (angular port + 1000). Also add the
missing langgraphPort to streaming's global-setup-impl (it previously
relied on the proxy-fallback in createGlobalSetup; explicit now).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@blove blove merged commit d0cfaf4 into main May 20, 2026
35 of 36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant