feat(dashboards): production builder, native chat, shared context ring (backport #1142) - #1146
Open
mergify[bot] wants to merge 6 commits into
Open
feat(dashboards): production builder, native chat, shared context ring (backport #1142)#1146mergify[bot] wants to merge 6 commits into
mergify[bot] wants to merge 6 commits into
Conversation
… and mobile split Bundles the in-progress dashboard-builder work (dashboard-native navigation, refresh-safe run restore, dashboard-scoped history and approvals routing, sharing/permission tests, builder model/effort/context controls) with the review-round fixes: picker menu clipping in the narrow pane, hidden failed-run error rows, untitled history label, shell auto-collapse of the left rail while the builder is open, and a single-pane swap below the phone breakpoint. Claude-Session: https://claude.ai/code/session_01CkvbXsZAizy4UDh9ZWjn51 (cherry picked from commit 5cd0dfb)
…he builder pane The builder pane wore its own text pill (Context NN%, filled amber/red). Now that #1136 is in develop it mounts the SAME ContextRing + CompactDialog main chat uses, fed by get_conversation_context and compact_conversation, placed left of the model pill exactly as in ChatView. The local ContextUsagePill and lib/contextUsage are removed; dashboard threads are ordinary sessions to the context endpoint, so nothing is dashboard-only. Claude-Session: https://claude.ai/code/session_01CkvbXsZAizy4UDh9ZWjn51 (cherry picked from commit 49f1e3b)
…tion The builder pane now reads get_conversation_context (the same endpoint main chat's ContextRing uses), so the per-conversation snapshot get_conversation inlined for the old text pill has no consumer. Removed with its two tests. Claude-Session: https://claude.ai/code/session_01CkvbXsZAizy4UDh9ZWjn51 (cherry picked from commit 68270ca)
… formatting list_dashboard_conversations is the builder's own capped, owner-scoped history menu, not a browsable document list, so it is recorded in list_registry.NON_LIST_ENDPOINTS with that reason (test_list_registry guard). Formatting now matches the pinned pre-commit hooks (ruff-format, prettier 2.7.1): the worktree's node_modules symlink carries a newer prettier that had added trailing commas in call arguments across the branch. Claude-Session: https://claude.ai/code/session_01CkvbXsZAizy4UDh9ZWjn51 (cherry picked from commit f480509) # Conflicts: # jarvis/chat/list_registry.py
Author
|
Cherry-pick of f480509 has failed: To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally |
Mergify committed the conflict markers from #1142's registry hunk. Keep only the Dashboard Builder history entry here: the search_users entry that rode along in the develop hunk belongs to #1062, which is not on version-15-hotfix, and the registry test requires every NON_LIST_ENDPOINTS key to resolve to a live callable. Claude-Session: https://claude.ai/code/session_01CkvbXsZAizy4UDh9ZWjn51
5 tasks
The mini-org fixture dated every row from a literal 2025-09-01. Five detectors scan a 12-month window, so from 2026-09-06 the oldest Work Orders fell out of mfg-default-bom-usage's window, the Widget habit dropped to 19 units under the n_min of 20, and shard 4 went red on develop and both hotfix lines. The other 12-month detectors were on the same slope with more headroom. _day(ordinal) is now anchor + ordinal days with the anchor fixed once per build() at today minus 11 months, so the dataset always sits 230..335 days back: inside the tightest window with a month of headroom, never in the future, and still older than the engine's 180-day dormant cutoff, which is the age class the literal dates had and test_orchestrator patches around. The Beta go-live burst and the _insert creation fallback ride the same anchor. The print-log tests keep their literal days on purpose: they assert exact periods and the watermark and are bucketed by print-log creation, not by these fixture dates. Claude-Session: https://claude.ai/code/session_01CkvbXsZAizy4UDh9ZWjn51 (cherry picked from commit fe59c0c)
Navin-S-R
approved these changes
Sep 6, 2026
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.
Summary
The dashboard builder is now a self-contained workspace: its chat never hands you off to main Chat, a build survives a page refresh, it keeps its own history and approvals, and the composer wears main chat's model picker and context ring without crowding the pane.
What changed
Risk and verification
Pre-merge checklist
testscheck on this PR passes (never merge on ❌)develop, orversion-N-hotfixfor a backport)version-N: this is the release PR fromversion-N-hotfix,__version__is bumped, andrelease-sourceis greenScreenshots
Live on an isolated worktree preview of this branch (e2e.localhost). Before = base branch, After = this PR.
Refresh-safe build, restored after a hard refresh mid-run (new behavior, no Before):
Review-round fixes and rebase notes
Intended behavior change: a send into a dashboard thread from main Chat or Triggers now returns
ok:falsewith a "continue in Dashboard Builder" reason.Found and fixed while testing the builder end to end:
overflow-hiddenedge. Newalign="start"andcompactprops keep them inside a narrow host.error; the pane filtered bubbles on content, so the failure rendered as nothing and the composer silently unlocked.window.matchMediaat module load, which broke any spec importing a page that imports the store. Both breakpoint listeners are now guarded.lib/contextUsageare removed in favor of the shared ContextRing fed byget_conversation_context, and thecontext_usagesnapshot thatget_conversationinlined for it is dropped with its tests.The branch was rebased onto develop after #1136 merged (zero conflicts; the pre-rebase state is kept on
backup/dashboard-builder-pre-rebase). Dashboard threads are ordinary sessions to the context and compact endpoints, so nothing there is dashboard-only.Known, out of scope: the Vue warning "Failed to resolve component: Button" on the Approval Board comes from its pre-existing
FileUploaderand is untouched here.https://claude.ai/code/session_01CkvbXsZAizy4UDh9ZWjn51
This is an automatic backport of pull request #1142 done by [Mergify](https://mergify.com).