Repository navigation
test(e2e): cover all routes/modes, render dashboard in CI, fix issues found (P1 of #31) - #42
Merged
Merged
Conversation
E2E (P1 of Tencent#31): - small/SOLO, SOLO overflow, large with knowledge, manual gates and design-implementation tasks driven by the fake host Agent - Playwright render of the observability dashboard (data, empty and load-failure states, offline), screenshots uploaded from CI - installs ship no runtime logs and every Markdown link resolves - matrix adds Node 20 and macOS; a browser job joins e2e-required Fixes found by the new tests: - portable: SOLO overflow left current_stage outside the medium route, so resume/prepare/validate rejected the escalated state - dashboard: runs waiting between stages were shown as completed - observability: standby team assignments no longer switch the active agent; CLS mirroring stays silent when CLS is not configured - observability tests are hermetic (no source-tree logs, no Node SDK) and run in CI via scripts/test-observability.sh (132 tests) - runtime logs are excluded from installs, npm package, wheel and the release archive Refs Tencent#31
Yanami-2K
force-pushed
the
test/e2e-p1
branch
from
October 11, 2026 14:53
266d4d6 to
130868b
Compare
This was referenced Oct 11, 2026
7 of 9 tasks
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.
Refs #31. Follow-up to #41 (merged); rebased onto
main, so the diff shows only this PR's commit.What this adds (P1 of the #31 plan)
More E2E scenarios. All of them use the fake host Agent and need no network or API key.
test_e2e_workflow_modes.py:manualmode, with every gate checked: REQUIREMENT needs user confirmation; DESIGN, REVIEW and TEST each need an approval; a gate nobody answers holds the next stage until a resumetest_e2e_dashboard_browser.pyrenders the observability dashboard in Chromium with Playwright:dashboard-screenshotsartifactCI
e2ematrix now runs on ubuntu with Python 3.8 + Node 22, Python 3.12 + Node 22 and Python 3.12 + Node 20, plus macOS with Python 3.12 + Node 22.e2e-browserjob also feeds the singlee2e-requiredgate.validateandreleasenow runscripts/test-observability.sh: the 129 agent-observability unit tests plus 3 new ones, in all three Classic bundles. Afterwards the script fails if the tests left any log file in the source tree.Fixes found by the new tests
finish --result overflowleftcurrent_stage=SOLO, which is outside the new medium route, soresume,prepareandvalidateall rejected the escalated state. The stage now parks on thePHASE-0sentinel. A regression unit test is intest_regressions.py.in_progressstage, so it fell through tocompleted. It is now "进行中" unless every stage is completed or skipped. Unit tests added.cls-push-debug.ndjsoninto.codebuddy/skills/agent-observability/logs/. After that,build-classic-hosts.py --checkfailed locally, and the file was copied into installs (and could ship from a dirty checkout).fileslist, the wheeldata_filesand the release archive..gitkeepis the only exception.smoke-npm.shasserts that the package contains no runtime log files.Validation
scripts/e2e.shpasses 23 tests, browser tests included, on Python 3.13, and passes on Python 3.8 with the browser module skipped.validate.sh,test-observability.sh(132 tests, py3.8 and py3.13),smoke-install.sh,smoke-npm.shandscan-secrets.shall pass.Follow-ups (not in this PR)
The generated Claude/Cursor Classic docs still mention some backtick paths that don't exist after install:
.claude/agents/architect.md(the file isdevflow-architect.md).claude/rules/global.mdc(Claude uses.md).claude/skills/superpowers/brainstorming/SKILL.md.claude/skills/devflow-codex/SKILL.md, which comes from the Codexworkflows/devflow.mdThese paths are in backticks, not links, so the new link check doesn't catch them. Fixing them belongs in
build-classic-hosts.py'sadapt(). I can open a separate issue or PR.