← Agentic linting overview

Chat & conversations

Composer feedback, conversation panels, hooks, critic messages and launch errors.

Browse all areas

Films and evidence retain their recorded source revisions. Dated checks describe that snapshot; see the overview for the latest merge and audit status.

Floating menus: the same layers and icon stroke

Before: repeated bracketed layer values and icon strokes. After: standard layer utilities and one named stroke definition. Real menu opening, nested menus, tag and skill overflow, and shared tooltips; desktop and phone widths. Clear Before/After labels and very quiet original ambience.
Download floating menus for Slack · MP4, 105.64 s

PR #19107 addresses issue #19106. Exact base 5e8052347c and head 6a80e0263a use fresh committed-lock installs, Canvas1.34.0, Agent Server1.59.0, automation1.26.1 and installed Google Chrome. Six layer classes retain200/9999; three Skills icons retain1.75 strokes. Nine findings removed:384 →375warnings,0errors. 132 tests across11 consumer/build suites, full lint/typecheck and app/library builds pass locally.

Sixteen paired live views compare600 selected computed fields with zero differences. Default OpenHands-Neutral, standalone Local, desktop1440×1000 and Chrome pointer viewport390×844. A genuine DeepSeek profile enables the controls, with validation skipped; no message, model invocation or ActionEvent. Both owned stacks stopped/private-purged and ten exact ports closed.

Desktop Overview only: existing #16792 prevents phone entry. Legacy non-portal card layer200 and its dormant Skills-icon branch have source/compiler or unit coverage only. No authenticated Cloud, live ACP, embedding, other-theme or touch-device claim. Selected-field equality is not whole-page pixel identity, and sampled native footage is not wall-clock timing proof.

Sources, SHA hashes and limits · Computed comparison · 32 unchanged PNGs and four complete original recordings · Immutable evidence commit. Eight normalized source ASTs and six actual app/library CSS contracts match. Merged 30 October after green CI and all-hands-bot approval, as 940dc61587.

Desktop Overview: the same default-width drawer

Before: direct width and transition declarations. After: the same numeric owner through static CSS readers. Real default 420 px opening, closing, reopening and Escape; labelled source detail crops and held stills, with very quiet original ambience.
Download Overview drawer for Slack · MP4, 20.84 s

Merged #18909 compares fee10e3d29/0d613af38d4884d7 with a3ddc1b35f/c67b70a90d8ab8ee. Nine paired computed samples have zero stable-field and width differences. Actual 420 px open/close/reopen/reload/Escape paths retain outer 0 px/inner 420 px when closed; representative screenshots cover all five themes.

The source revisions and limits, computed comparison and 26 PNGs and four complete raw recordings accompany the 20.84-second film. Native resize remains a no-op at 420 px because the unchanged grip is 12×0 px; issue #18910 owns that defect; the pointer-geometry proof and actual 420 px After capture are included. Other widths, clamps, drag state and persistence after drag have unit/compiled-CSS coverage only. Phone Overview entry remains blocked by #16792; no live phone-path pass is claimed.

The 43-asset packet is published at immutable asset commit aa301cf0f3. Five critical raw downloads pass HTTP 200/full SHA; the live film anchor is verified. Eight checks pass and six skip. The PR merged at 00:36 Stockholm on 25 October as 1abbd4b415; its original capture head is unchanged.

Overview column: same width and toggles

Before: an inline inner width. After: a static CSS utility fed by the same 268 px constant. The outer animation, overview toggles and side-panel exclusion retain their existing behavior. The 33.2-second film preserves the complete normal-speed desktop and responsive recordings, with labelled screenshot details and very quiet original ambience.
Download overview column width for Slack · MP4, 0:33, 1.0 MB

#18763, issue #18758, compares exact main 630e587a0d with bde133fb5e. Fourteen paired semantic/layout checks have zero differences across opening, closing, side-panel exclusion and widths of 1440, 1100, 1024 and 390 px. The visible outer and inner columns remain 268 px wide, with a 240 px card. Representative theme checks cover Neutral, Light+ and DeepSea.

The source revisions, paired checks and final media hashes, silent GIF and selected original captures accompany the film. The selected evidence comprises 18 PNGs and five raw clips; one initial baseline phone screenshot is superseded for state proof by a separately recorded pressed-on DOM measurement. Existing #16792 reproduces at phone/tablet widths: the toggle can report pressed while no overview column or card appears. This is documented in both phases, outside the passing visible-column claim. The fresh overview After run has zero page errors.

Clear chat status

Before: a faint history-fetching label and timeout clock. After: readable theme text and warning roles. Four clearly labeled scenes use actual pending fetch and tool-timeout recordings, with very quiet original ambience. Brief real loading intervals are held for readability before loaded rows replace the same crop.
Download clear chat status · MP4, 0:18

#18531 addresses issue #18523 at 5b8ed56a6d, compared with base 8238b7af82. Forty captures cover five themes and desktop/phone. The changed history label reaches at least 4.98:1; the clock reaches at least 6.10:1. Actual pagination resumes from ten to twenty generated user messages, and a real bounded command produces the timeout.

Actual fetching-history label and timeout clock before and after in five themes
Only the fetching label and clock fill are migrated. Neighboring generic tool-header text and other chat rendering are outside the changed-text claim.

The recording source preserves exact heads, forty scoped measurements, source frame ranges and hashes, without conversation identifiers or private paths. A silent sixteen-second GIF is available. Forty focused tests pass with one pre-existing todo; full local lint reports zero errors and 666 warnings at this independent proposal head.

Readable hook diagnostics

Before: faint status badges, blocked reasons, timeout errors and stderr. After: readable semantic feedback roles. The film shows an actual denied hook, with generated QA command and output only. Clear Before/After captions and very quiet original ambience.
Download readable hook diagnostics · MP4, 0:10

Merged #18534 addresses issue #18521. The actual component evidence compares 8238b7af82 with a0fe71bea3. Sixty captures cover five themes, desktop and phone, real stderr, timeout and deny outcomes. Scoped text minima after the change are 4.77:1 for badges, 6.10:1 for blocked reasons, 5.59:1 for errors and 5.49:1 for stderr. Hooks stop the fixture before any model invocation.

Readable hook diagnostics before and after in five themes
Three reported raw-color findings and an unreported local badge map are migrated. Shared event titles, outer chevrons and unchanged muted child labels remain outside the changed-text claim.

The recording source preserves exact heads, measurements, frame selection, hashes and coverage limits. A silent eight-second GIF is also available. 26 existing focused tests and local lint/build checks pass; readiness and remote CI belong to the dated snapshot.

Readable built-in critic score

Before: a faint critic heading and zero-score stars. After: readable theme feedback, percentage and refinement hint. The film clearly labels the genuine built-in score 0 and the absence of a classifier. Clear Before/After captions and very quiet original ambience.
Download readable built-in critic score · MP4, 0:10

Merged #18535 addresses issue #18524. The actual component evidence compares 8238b7af82 with 3e0b09078a. Twenty captures cover five themes, desktop and phone, with an actual supported DeepSeek agent, FinishTool and built-in AgentFinishedCritic result. Scoped heading, percentage and hint text reaches at least 4.98:1, and stars 5.59:1. No scored event or classification response is fabricated.

Readable built-in critic score before and after in five themes
Live proof covers score 0, header, stars, percentage, border and hint. Categories, detail expansion, intermediate and success scores, and probabilities remain live-unverified; separately labeled palette and existing behavior checks supplement this limited proof.

The recording source preserves exact heads, measurements, frame selection, hashes and coverage limits. A silent eight-second GIF is also available. 26 existing focused tests and local lint/build checks pass; readiness and remote CI belong to the dated snapshot.

Launch errors: readable feedback and a themed retry

Before: the launch error heading is faint in Light+. After: readable semantic error text and a theme-aware retry button. Retry labels already passed contrast at baseline. Real generic error-card recordings, short Before/After labels, and very quiet original ambience.
Download launch feedback · MP4, 0:14

Merged #18515 addresses bug #18514 by replacing three raw-color classes in launch feedback. The film compares 8238b7af82 with 6e1abb6408. The isolated Local Agent Server was stopped before Start using generated inert metadata, so the real creation request failed before any source installation or model execution. Published pixels show only the generic error card; no local source path or user content appears.

Before and after launch error heading and retry button in five themes, with measured normal and hover contrast
The 40 measured creation-failure captures cover five themes, desktop and phone, normal and settled hover. Light+ heading contrast rises from 2.60:1 to 5.28:1; after minima are 4.94:1 for the heading and 10.66:1 for retry text. The fixed-blue retry baseline was already readable.

The recording source preserves exact heads, measurements, media hashes and limits. Missing-source handling, Try Again returning to review with trust cleared, disabled Start until fresh trust, and Go Home navigation were verified. A silent 12-second GIF is available. Successful external installation, Cloud/ACP authorization, and model turns are outside this evidence.

Composer context: readable warning and danger

Before: faint warning and danger text, with a weak progress track. After: readable theme feedback on a raised popover, with an outlined full-range track. Real Light+ states at 78% and 95%, short Before/After labels, and very quiet original ambience.
Download composer context · MP4, 0:18

#18504 merged on 16 October and addresses bug #18505. The film compares 0c7c2258a8 with 8189e21472 using production Canvas, real Agent Server 1.55.1, and DeepSeek Flash. Supported context budgets produce genuine warning and danger states; no tools ran. Only the popover and blank composer controls are shown. The recording source preserves the source crops, configured budgets, 60 desktop/phone measurements, and media hashes.

Before and after warning and danger popovers in Light+, Solarized Light, DeepSea, Neutral, and Neo, with measured text and fill contrast
Light+ warning text rises from 1.69:1 to 5.26:1; its fill against the track rises from 1.91:1 to 4.84:1. Across all five themes and both inspected viewport sizes, the changed warning/danger text reaches at least 4.62:1, fill against track 3.48:1, and the outlined boundary 3.51:1.

The scope is warning/danger feedback and bar contrast. Existing muted Solarized text and the phone popover's 2 px left-edge clip are unchanged; neither is claimed as fixed. Phone Usage navigation was observed but remains unverified; no baseline comparison was made. Live model/backend coverage is Local Agent Server and DeepSeek. The PR merged at 08:08 Stockholm time on 16 October. An inline GIF version is also available.

Context usage: readable warnings

Before: fixed amber and red. After: semantic warning and danger colors in the Usage drawer. This Light+ film records the earlier 5b060141aa head of #18431; the final DeepSea correction is shown separately below.
Download Light+ context usage · MP4, 0:18

The warning and danger states come from real model usage against configured context budgets, with no tools run. The source head stays attached to this recording; #18431 merged on 16 October with the later DeepSea correction. This is the Usage drawer meter; the composer's context popover is a separate next step.

Proposals in this area

  1. Floating menu layers and icon strokes

    Merged · 30 October

    #19107 removes nine warnings without changing the selected menu appearance. Before/After and downloads; 132 focused tests pass. Local375warnings/0errors is this proposal head, not a merged-main total. Eight checks passed and six skipped; the bot approved before merge as 940dc61587.

  2. Keep desktop Overview width owned by resizing

    Merged · 25 October

    #18909, issue #18907, gives the two width readers and drag transition list a compiled CSS owner. At a3ddc1b35f, 24 tests across three files and app/library CSS checks pass. Independent branch lint is 605 warnings, 0 errors, removing four findings from its 609-warning base. The matching default 420 px film and explicit baseline drag/phone limits are prepared. The PR merged at 00:36 Stockholm on 25 October as 1abbd4b415.

  3. Keep the overview column's owned inner width

    Merged · 22 October

    #18763 merged at 01:22 Stockholm as ea2f42bf6e. The existing 268 px owner and outer Framer Motion animation are preserved. Eleven focused tests and builds passed; the fourteen-pair film keeps the actual bde133fb5e recording head and existing responsive limit #16792.

  4. Use theme roles for context Usage feedback

    Merged · 16 October

    #18431 moves warning and danger labels and bar fills in the Usage drawer to feedback and status roles. Its merged 807a93d213 head also corrects DeepSea danger text on the actual raised card, from 4.09:1 to 4.62:1. Twenty-two focused tests and full CI pass; the bot approved this head on 16 October at 01:40 Stockholm time. The earlier Light+ film remains labeled with its older head. The composer popover is a separate follow-up.

  5. Keep composer context feedback readable

    Merged · 16 October

    #18504 addresses bug #18505 and proposes semantic warning and danger feedback on a raised popover surface, with a visible boundary around its full context bar. It follows the merged Usage drawer correction; thresholds, navigation, and compaction behavior stay intact. The real Before/After film and five-theme measurements are available above. CI passed, all-hands-bot approved head 8189e21472, and the PR merged on 16 October at 08:08 Stockholm time. Baseline Light+ popover crop · capture source.

  6. Keep launch errors readable

    Merged · 16 October

    #18515 addresses bug #18514 with semantic error text and a paired theme retry button. The real failed-creation film and five-theme comparison above distinguish the heading contrast defect from the already-readable retry baseline. Trust and navigation behavior remain covered by the safe local fixture checks. Full CI passed at 6e1abb6408, and an initial all-hands-bot review was requested.

  7. Readable hook diagnostics

    Merged · 18 October

    #18534 links issue #18521. The Before/After film and five-theme source above preserve actual component evidence and its limits. The film records a0fe71bea3. Full CI passes at b0f5abf7a0. The inline bot finding was addressed and its thread resolved. Three added compiled CSS contract tests bring the focused suite to 29 passing tests; the film keeps its recorded source head. The bot and maintainer approved before merge on 18 October.

  8. Readable built-in critic score

    Merged · 16 October

    #18535 links issue #18524. The Before/After film and five-theme source above preserve actual component evidence and its limits. The film records 3e0b09078a.

  9. Theme history-loading and timeout feedback

    Merged · 16 October

    #18531 addresses issue #18523. Its real Before/After film and forty-capture source distinguish actual history fetching and timeout clocks from the unchanged neighboring tool-header text. Exact source 5b8ed56a6d passes local verification; readiness and CI are recorded in this dated snapshot.

  10. Budget-meter cleanup and related SDK work

    Parked · user decision

    Budget #18533 and SDK #5603 are explicitly parked by the user; the following records are retained without new status work. #18533 is non-draft at 50ae78643f. Its test/build checks pass, while required description validation remains red. The latest review found no code issue in the one-line color change and records the maintainer’s explanation that this is defensive lint cleanup. Usage is reachable, but the meter stays hidden because the supported backend supplies no positive max_budget_per_task. The live-media/maintainer-waiver discussion remains a merge-policy decision. The historical source-contract trace is preserved.

    Separate SDK budget work is tracked by issue #5561 and PR #5603. The Responses compatibility fix is published at 7e375a91b (product code feeb7197c). Ordinary GPT/o, Claude, and Gemini text/function calls, including ordinary Responses API models, no longer fail merely because metadata includes optional search prices. Budgeted requests with intrinsic search, native/legacy tools, or opaque caches remain refused. Unknown regional endpoint pricing requires paired custom rates. The guard retains at least the full reservation after success when recorded cost may omit a catalog endpoint premium; lifetime recorded metrics remain unchanged. Local verification passed 203 focused tests and 1,806 broader LLM and conversation tests. Full exact-head CI passes. The Responses finding was answered and resolved, and a fresh review was requested after CI turned green. Bot review is pending. The documentation companion #970 remains green at 1aea6fec1; its guide is unchanged, its source evidence is refreshed, and its original bot request is preserved. The design review page explains the conservative pre-call contract. The SDK proposal is not yet merged or released. Its per-run limits do not populate the legacy task-cap metric. A meter representing the new per-run allowance still needs matching current-run usage snapshots in Agent Server’s REST/WebSocket metrics, followed by typed client and Canvas integration. That feature work is separate from the defensive color-lint cleanup.