Skip to content

feat(ui): promote next interface to default - #247

Merged
gcko merged 4 commits into
mainfrom
feat/update-ui
Sep 1, 2026
Merged

feat(ui): promote next interface to default#247
gcko merged 4 commits into
mainfrom
feat/update-ui

Conversation

@gcko

@gcko gcko commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Promote the interface first released behind ?next=true to the canonical dashboard and remove the legacy frontend bundle, loader, routing branches, and escape hatch.
  • Retire the old next query completely: URLs carrying the exact next parameter now return 404 instead of serving a compatibility alias; / and /?all=1 remain supported.
  • Preserve the promoted interface's complete behavior: Attention routing, browser notifications on platforms without native notification support, and mobile breadcrumbs that remain usable with long labels.

User-facing verification

  • Chrome: exercised Sessions, Projects, project detail, and session detail at 1531px desktop, 390px mobile, and 320px narrow-mobile widths with no horizontal overflow.
  • Chrome: verified keyboard a/p/s navigation, populated Attention state, source-coverage disclosure, Copy ID feedback, touch-target sizing, and desktop/mobile breadcrumb behavior.
  • Chrome: stress-tested a 104-character unbroken project label at mobile width; it wrapped without horizontal overflow.
  • Confirmed the bare dashboard URL renders only the promoted interface with no legacy or mode-switch controls; HTTP integration tests verify the retired next query returns 404.

Test plan

  • Ran the pre-PR suite in AGENTS.md § Pre-PR Checks (ruff, ruff format, mypy, lint_embedded.py, validate_plugins.py, bump_version.py --current, behavior-focused dashboard tests under coverage via discovery) and it is clean. Or the diff is prose only and validate_plugins.py is clean, per the short path documented there
  • Preserved Python 3.11 compatibility; CI's runtime-floor job launches the shipped entry point on that floor
  • Invoked the sync-docs skill — the doc updates for this change ride in this PR, or there was nothing to reconcile
  • Behavior changes to server.py or cargento_runtime/ include a regression test
  • No version field was touched (version-guard fails any PR that bumps one)
  • Commits are signed off (git commit -s, DCO)

Additional results: 1,767 dashboard tests passed (1 skipped), 190 validation-script tests passed, coverage is 90.2%, two independent review lenses and a reproducing arbiter found no remaining Critical or Important issues, and native Claude/AGY plugin validation passed.

Generated with Codex.

gcko added 3 commits September 1, 2026 16:14
Signed-off-by: Jared Scott <jared.scott@variable.team>
Signed-off-by: Jared Scott <jared.scott@variable.team>
Signed-off-by: Jared Scott <jared.scott@variable.team>
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Coverage

Name                                                                  Stmts   Miss Branch BrPart  Cover
-------------------------------------------------------------------------------------------------------
cargento/skills/cargento/agy_hook.py                                     79     14     28      7  78.5%
cargento/skills/cargento/cargento_runtime/__init__.py                     0      0      0      0 100.0%
cargento/skills/cargento/cargento_runtime/aggregate.py                  213      1     64      0  99.6%
cargento/skills/cargento/cargento_runtime/asks.py                       110      0     28      0 100.0%
cargento/skills/cargento/cargento_runtime/claude_data.py                305     33    142     17  88.8%
cargento/skills/cargento/cargento_runtime/cli.py                        120     17     26      4  84.2%
cargento/skills/cargento/cargento_runtime/collectors/__init__.py          0      0      0      0 100.0%
cargento/skills/cargento/cargento_runtime/collectors/antigravity.py     410     41    166     25  87.2%
cargento/skills/cargento/cargento_runtime/collectors/claude.py          256     15     94     12  91.7%
cargento/skills/cargento/cargento_runtime/collectors/codex.py           101      7     38      7  89.9%
cargento/skills/cargento/cargento_runtime/collectors/copilot.py         148      6     50      2  96.0%
cargento/skills/cargento/cargento_runtime/collectors/cursor.py          276     19    104     16  90.3%
cargento/skills/cargento/cargento_runtime/collectors/droid.py            32      3      6      1  89.5%
cargento/skills/cargento/cargento_runtime/collectors/gemini.py           53      7     16      4  84.1%
cargento/skills/cargento/cargento_runtime/collectors/goose.py            89     11     28      4  87.2%
cargento/skills/cargento/cargento_runtime/collectors/opencode.py         78      6     26      2  92.3%
cargento/skills/cargento/cargento_runtime/collectors/pi.py              326     34    152     20  88.7%
cargento/skills/cargento/cargento_runtime/config.py                     189      1     20      1  99.0%
cargento/skills/cargento/cargento_runtime/diagnostics.py                 84      4     26      4  92.7%
cargento/skills/cargento/cargento_runtime/dismissals.py                 113      2     28      2  97.2%
cargento/skills/cargento/cargento_runtime/events.py                     169      0     64      0 100.0%
cargento/skills/cargento/cargento_runtime/git_status.py                  28      2      8      2  88.9%
cargento/skills/cargento/cargento_runtime/http_api.py                   520     36    172     10  93.1%
cargento/skills/cargento/cargento_runtime/io.py                         130      2     28      0  98.7%
cargento/skills/cargento/cargento_runtime/lifecycle.py                  325     15    106      6  95.1%
cargento/skills/cargento/cargento_runtime/notifications.py              174     14     60      4  91.5%
cargento/skills/cargento/cargento_runtime/observation.py                271      9     74      1  97.1%
cargento/skills/cargento/cargento_runtime/observer.py                   239     25    108     13  87.3%
cargento/skills/cargento/cargento_runtime/probe.py                       44      0     18      1  98.4%
cargento/skills/cargento/cargento_runtime/quota.py                      333      2    112      1  99.3%
cargento/skills/cargento/cargento_runtime/records.py                    262      6    116     10  95.8%
cargento/skills/cargento/cargento_runtime/sessions.py                   101      0     44      0 100.0%
cargento/skills/cargento/cargento_runtime/snapshot.py                    36      0      4      0 100.0%
cargento/skills/cargento/cargento_runtime/spacedock.py                  454     48    238     26  89.0%
cargento/skills/cargento/cargento_runtime/state.py                       66      0      2      0 100.0%
cargento/skills/cargento/cargento_runtime/stream.py                      57      0      8      0 100.0%
cargento/skills/cargento/cargento_runtime/transcripts.py                523     31    268     27  92.7%
cargento/skills/cargento/cargento_runtime/turns.py                      197     14    104     12  90.7%
cargento/skills/cargento/cargento_runtime/web/__init__.py                 0      0      0      0 100.0%
cargento/skills/cargento/cargento_runtime/web/page.py                    38      0     10      0 100.0%
cargento/skills/cargento/event_hook.py                                   86      4     28      3  93.9%
cargento/skills/cargento/mcp_server.py                                  377     22    112     14  92.2%
cargento/skills/cargento/notify_hook.py                                  49     15      6      1  67.3%
cargento/skills/cargento/server.py                                        3      0      2      1  80.0%
cargento/skills/cargento/statusline_hook.py                             131     13     46      8  87.0%
scripts/bench_collect.py                                                211     10     54      6  94.0%
scripts/bench_event_latency.py                                           67     21     14      1  67.9%
scripts/bump_version.py                                                  60     12     24      5  77.4%
scripts/capture_hook.py                                                 287     30     86     11  88.5%
scripts/derive_prompt_shapes.py                                         210     16     88     14  89.3%
scripts/lint_embedded.py                                                 89      3     28      2  95.7%
scripts/validate_plugins.py                                             675    190    390     60  69.2%
-------------------------------------------------------------------------------------------------------
TOTAL                                                                  9194    761   3464    367  90.1%

Threshold: fail_under in pyproject.toml · label coverage-exception to bypass (visible in PR timeline).

Signed-off-by: Jared Scott <jared.scott@variable.team>
@gcko gcko self-assigned this Sep 1, 2026
@gcko
gcko merged commit 8d2585c into main Sep 1, 2026
12 checks passed
@gcko
gcko deleted the feat/update-ui branch September 1, 2026 09:11
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