test(e2e): workflow example 9 — session-driven interactive exploration (review profile) #790

Closed
freemo wants to merge 1 commits from test/e2e-wf09-session into master

1 Commits

Author SHA1 Message Date
freemo c2b18f3689 test(e2e): workflow example 9 — session-driven interactive exploration (review profile)
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 23s
CI / lint (pull_request) Successful in 32s
CI / helm (pull_request) Successful in 42s
CI / typecheck (pull_request) Successful in 4m0s
CI / quality (pull_request) Successful in 4m4s
CI / security (pull_request) Successful in 4m11s
CI / integration_tests (pull_request) Successful in 6m8s
CI / unit_tests (pull_request) Successful in 9m41s
CI / docker (pull_request) Successful in 14s
CI / coverage (pull_request) Successful in 11m55s
CI / e2e_tests (pull_request) Successful in 20m42s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 1h4m59s
Rewrite robot/e2e/wf09_session.robot — E2E test for Workflow Example 9
(Session-Driven Interactive Exploration).

The test exercises the full session lifecycle with zero mocking:
- Creates a temp git repo with a sample multi-module Python project
  (src/auth.py, src/routes.py, src/models.py, README.md) using unique
  names with UUID suffix for parallel CI safety
- Registers the repo as a resource and creates a project
- Creates a session via session create with a dynamically selected actor
- Sends three conversational queries via session tell: codebase overview,
  auth module deep-dive, and action creation request (per spec Example 9)
- Verifies accumulated session history via session show
- Exports the conversation to JSON via session export
- Validates the exported JSON structure with hard assertions (session_id,
  messages keys)

Uses Skip If No LLM Keys for graceful degradation when API keys are
absent.  Extracts reusable keywords (Create Sample Project Fixture,
Create Session With Actor, Verify Session Tell Response,
Verify Session History, Verify Session Export) to reduce test case
size and improve maintainability.  Uses Safe Parse Json Field from
common_e2e.resource instead of custom JSON parsing.  Removes redundant
library imports already provided by common_e2e.resource.

ISSUES CLOSED: #755
2026-03-30 11:08:48 +00:00