Skip to content

docs(next): package the session operations board review - #244

Merged
gcko merged 1 commit into
feat/future-uifrom
docs/future-ui-session-operations-board-review
Sep 1, 2026
Merged

docs(next): package the session operations board review#244
gcko merged 1 commit into
feat/future-uifrom
docs/future-ui-session-operations-board-review

Conversation

@gcko

@gcko gcko commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What this PR is

  • Packages the approved Session Operations Board experiment for readers who did not follow the design process.
  • Adds two before screenshots and four approved after screenshots, including wide and 320-pixel views.
  • Adds a plain-language walkthrough of the product decisions and source limits.
  • Links the reusable Spacedock workflow that drove framing, live reconnaissance, prototyping, adversarial review, and correction rounds.
  • Targets feat/future-ui. This PR does not target or authorize a merge to main.

The UI checkpoint itself is already on the experimental base branch at 819a1a8. This PR adds the shareable review package on top of that checkpoint.

Why the direction changed

  • The prior Attention page made people interpret categories and coverage before they could find active sessions.
  • The first Sessions board gave active and historical sessions similar visual weight, which made old observations look like open work.
  • Repeated labels inside every row made the board noisy and weakened the column structure.
  • Historical Now, Next, and Blocked values implied current knowledge that Cargento did not have.
  • The first 320-pixel layout compressed a desktop table into an unreadable mobile view.

Product changes documented here

  • Active sessions lead the Sessions page. Recent history appears in a separate section.
  • Each active session answers Where, Now, Next, and Blocked in one scan.
  • Active status requires source-backed working, needs-input, or exact-request evidence.
  • Historical command cells render as - because an old observation cannot prove current state.
  • Desktop rows share one stable grid. Mobile sessions use cards and a compact 2-by-2 fleet summary.
  • Session IDs stay behind a copy control until someone needs one.
  • Optional facts, such as an unpublished assignment, disappear instead of becoming empty warnings.
  • Projects list exact active sessions and preserve each session's Now, Next, and Blocked facts.
  • Matching session IDs from different harnesses remain distinct through harness-plus-session identity.
  • Session detail gives current activity the visual lead and keeps active subagents with that activity.

Screenshots

Before: Attention led with categories

The prior Attention page

Before: active and historical rows looked alike

An earlier Sessions board

After: wide Sessions board

The approved wide Sessions board

After: 320-pixel Sessions board

The approved mobile Sessions board

After: wide Projects map

The approved wide Projects map

After: 320-pixel Projects map

The approved mobile Projects map

Spacedock workflow included

The Future UI Exploration workflow is included with the review package.

  • Framing defines a falsifiable product bet.
  • Reconnaissance observes real Codex, Claude Code, and Antigravity sessions.
  • Prototyping changes only the experimental ?next=true surface on feat/future-ui.
  • Crucible sends each checkpoint through fresh adversarial review and correction.
  • Accepted records the chosen checkpoint without authorizing main.

The final Crucible pass recommends acceptance. It found no new material issue and marked AC-1 through AC-5 as passing at their stated source boundaries.

Verification

  • Ruff check and format check
  • mypy strict type check
  • Embedded frontend source linter
  • Plugin and documentation validator
  • Version parity and no-version-change guard
  • 2,080 dashboard tests, with one expected skip
  • 192 script tests
  • 90.3% coverage
  • Claude Code plugin validator
  • Antigravity plugin validator
  • Final Spacedock Crucible review against the approved wide and 320-pixel captures

Review notes

  • Open the walkthrough at docs/future-ui-exploration/presentations/future-ui-session-operations-board/README.md for the narrated sequence.
  • Run the experiment at http://127.0.0.1:4553/?next=true.
  • The screenshots contain real local session text. Review them before sharing outside the intended audience.

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                        127     14     26      3  87.6%
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                   525     34    176     10  93.7%
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                    54      0     14      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                                                 92      3     28      2  95.8%
scripts/validate_plugins.py                                             675    190    390     60  69.2%
-------------------------------------------------------------------------------------------------------
TOTAL                                                                  9225    756   3472    366  90.2%

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

@gcko
gcko merged commit 807915c into feat/future-ui Sep 1, 2026
11 checks passed
@gcko
gcko deleted the docs/future-ui-session-operations-board-review branch September 1, 2026 04:29
gcko added a commit that referenced this pull request Sep 1, 2026
* fix(runtime): refine continuation detection with data-derived vocabulary

The instruction line (line 2 under a session title) labels the agent's
turn-start intent when the newest prompt is a "bare continuation" like
"proceed" or "yes". Continuation detection now uses a measured vocabulary
extracted from 3,774 Claude transcripts and 458 Codex rollouts
(2026-08-27) instead of word-count thresholds alone.

The vocabulary approach rejects 81 bare continuations (91.2% recall) and
incorrectly labels 9 contentful prompts (98.9% precision), against 58
false negatives for a ≤6-word rule. Words that appear in both contentful
and bare-continuation prompts (e.g., "run") are excluded; only tokens
unique to bare continuations are kept.

A prompt is classified as a bare continuation when ALL its tokens
(lowercased, punctuation-stripped, first line only) appear in the
vocabulary AND the token count is ≤8. Both conditions are required: a
single word like "better" would exclude legitimate code-change prompts,
and a multi-word phrase like "better this way" would misclassify a quoted
opinion.

This change preserves all existing behavior and test coverage while
improving accuracy on edge cases the word-count approach missed.

Measured on the shipped readers: the refinement increases instruction
line publication on Claude from 1,733 "asked" + 173 "earlier" to a
projected 1,747 "asked" + 162 "earlier" on the same sessions
(+14 precision, -11 false positives).

Refs DRC-4266, DRC-4264.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* docs(workflow): commission future UI exploration

Signed-off-by: Jared Scott <jared.scott@variable.team>

* docs(workflow): keep future UI checkpoints on integration branch

Signed-off-by: Jared Scott <jared.scott@variable.team>

* docs(plan): define future UI command surface

Signed-off-by: Jared Scott <jared.scott@variable.team>

* feat(ui): lead with command truth

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): clarify route semantics

Signed-off-by: Jared Scott <jared.scott@variable.team>

* docs(plan): correct future UI command semantics

Signed-off-by: Jared Scott <jared.scott@variable.team>

* docs(plan): sequence command surface correction

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): disclose command evidence progressively

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): bind request authority to ask owner

Signed-off-by: Jared Scott <jared.scott@variable.team>

* docs(plan): define future UI attention queue

Signed-off-by: Jared Scott <jared.scott@variable.team>

* docs(plan): sequence attention queue implementation

Signed-off-by: Jared Scott <jared.scott@variable.team>

* feat(ui): make attention the default next route

Signed-off-by: Jared Scott <jared.scott@variable.team>

* feat(ui): classify exact attention requests

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): preserve attention ask source order

Signed-off-by: Jared Scott <jared.scott@variable.team>

* feat(ui): rank source-bound attention risks

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): preserve exact attention risk subjects

Signed-off-by: Jared Scott <jared.scott@variable.team>

* feat(ui): bound attention stops and checkpoints

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): preserve first attention stop owner

Signed-off-by: Jared Scott <jared.scott@variable.team>

* feat(ui): render the source-bound attention queue

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): qualify attention remainder claims

Signed-off-by: Jared Scott <jared.scott@variable.team>

* refactor(ui): share attention truth with project maps

Signed-off-by: Jared Scott <jared.scott@variable.team>

* feat(ui): preserve attention state across refresh

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): guard attention refresh publication

Signed-off-by: Jared Scott <jared.scott@variable.team>

* test(ui): pin the attention queue bundle

Signed-off-by: Jared Scott <jared.scott@variable.team>

* test(ui): align attention integration contracts

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): complete attention verification gates

Signed-off-by: Jared Scott <jared.scott@variable.team>

* docs(plan): reconcile future UI prose

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(ui): preserve attention facts and disclosure

Signed-off-by: Jared Scott <jared.scott@variable.team>

* feat(next): add exact session operations board

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(next): clarify active session operations

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(next): preserve exact session identity

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(next): separate session navigation controls

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(next): hide redundant desktop session labels

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(next): separate project summary counts

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(next): keep history rows observational

Signed-off-by: Jared Scott <jared.scott@variable.team>

* fix(next): expose project session command facts

Signed-off-by: Jared Scott <jared.scott@variable.team>

* docs(next): package session operations board review (#244)

Signed-off-by: Jared Scott <jared.scott@variable.team>

* docs(next): reconcile future UI promotion

Signed-off-by: Jared Scott <jared.scott@variable.team>

---------

Signed-off-by: Jared Scott <jared.scott@variable.team>
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
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