feat(journey): expose session tasks and exact history - #770
Draft
Harry19081 wants to merge 1065 commits into
Draft
feat(journey): expose session tasks and exact history#770Harry19081 wants to merge 1065 commits into
Harry19081 wants to merge 1065 commits into
Conversation
Add the managed plugin to ZCode's installed-plugin registry and persist its enablement in the user config. Preserve unrelated plugin settings during install and removal, and cover the registry and config transforms with focused tests. Pre-commit hook ran. Total eslint: 0, total circular: 0
Display working-tree addition and deletion totals beside Source Control in the WorkStation start page and tab-bar plus menu. Keep the existing shortcut presentation and hide empty diff summaries. Pre-commit hook ran. Total eslint: 0, total circular: 0
Expose the shared Work Management Kanban surface as a singleton WorkStation tab from the launchpad and plus menu. Reuse the existing header controls in embedded mode, suppress the code sidebar, register the renderer and tab metadata, and add localized navigation labels. Pre-commit hook ran. Total eslint: 0, total circular: 0
Force monochrome provider marks in session table rows to use the primary text color, matching the corresponding Kanban card metadata while preserving baked brand colors. Pre-commit hook ran. Total eslint: 0, total circular: 0
Wrap the worktree refresh icon with the existing Spotlight spin class while refresh is in progress, matching the branch palette feedback and preserving disabled action behavior. Pre-commit hook ran. Total eslint: 0, total circular: 0
Default the chat pane status bar preference to off while preserving saved user choices. Add the missing status bar label to every supported non-English locale. Pre-commit hook ran. Total eslint: 0, total circular: 0
Pre-commit hook ran. Total eslint: 0, total circular: 0
…resilience fix: keep model picker usable with invalid credentials
refactor(ui): centralize canvas state and AppMark semantics
Replace the English Kanban launch label with natural localized terms across all supported non-English navigation bundles, including Simplified and Traditional Chinese. Pre-commit hook ran. Total eslint: 0, total circular: 0
fix(chat): restore file pills across message edits
feat(updater): add configurable automatic updates
Replace the Warp protobuf Git dependency with a checked-in descriptor set so release builds do not require protoc on runner images. Keep prost encoding test-only, document descriptor provenance, and remove the now-unused build-time dependency chain. Run CI for pull requests targeting develop so Rust dependency failures are caught before release promotion. Pre-commit hook ran. Total eslint: 0, total circular: 0
Replace the Warp protobuf Git dependency with a checked-in descriptor set so release builds do not require protoc on runner images. Keep prost encoding test-only, document descriptor provenance, and remove the now-unused build-time dependency chain. Run CI for pull requests targeting develop so Rust dependency failures are caught before release promotion. Pre-commit hook ran. Total eslint: 0, total circular: 0
Merge the release hotfix lineage back into develop so future release promotions recognize v1.1.23 as an ancestor without changing the development tree contents. Pre-commit hook ran. Total eslint: 0, total circular: 0
Keep block titles at the base size and reduce secondary steps to -1px (sm) and -2px (xs) so labels stay closer to body text. Pre-commit hook ran. Total eslint: 0, total circular: 0
Mounting a closed WorkspacePalette (e.g. the session-creator repo pill) pegged the webview at ~90% CPU and the Rust backend at ~30%: - useAddWorkspaceFlow reset its three forms on EVERY render while the add-workspace modal was closed: the form hooks return fresh object identities each render and were listed as effect deps, and the resetForm() setState batch scheduled another render — a self-sustaining ~1000 commits/s loop that also re-rendered the navigation sidebar. Effects now read the forms through a ref and reset only on the open -> closed stage transition. - useSelector's refocus effect ran while the palette was closed and used the raw items array as a dep, stealing focus from the composer ~700 times/s via setTimeout(0). It is now gated on isOpen and keyed on the items' content identity. UnifiedModelPalette's kernel.focusInput() effect gets the same isOpen guard. Pre-commit hook ran. Total eslint: 0, total circular: 0
Callers of useSidebarMemoryEntry pass `source` as an inline object literal, so listing it as an effect dep re-ran the up-to-800-node object-graph estimation on every render — turning any render storm into heavy CPU burn (this amplified the WorkspacePalette loop into the ~90% webview spike). The estimate now re-runs only when the primitive shape inputs change, reading the latest source through a ref. Pre-commit hook ran. Total eslint: 0, total circular: 0
skills_list is a filesystem scan on the Rust side, and every chat-input mount fired it eagerly from multiple surfaces (slash-menu cache, pinned actions bar, skills hub), once per workspace path, with no coalescing. - new installedSkillsScan module funnels all scans through one cache: concurrent callers share the in-flight request, repeats within a 15s TTL reuse the result (LRU-capped scopes), force bypasses the TTL after install/toggle/delete mutations - useSlashItemsCache no longer scans on mount; it only paints the warm cache and defers the backend scan to prefetch (typing "/") or fetchFresh (opening the panel) - PinnedActionsBar resolves pinned skills only when one is missing its skillPath instead of always fetching the full list - useSkillsHub routes through the shared scanner Pre-commit hook ran. Total eslint: 0, total circular: 0
fix(perf): eliminate idle CPU storms in session creator
Pre-commit hook ran. Total eslint: 0, total circular: 0
Pre-commit hook ran. Total eslint: 0, total circular: 3
feat(cloud): complete managed collaboration epic
Pre-commit hook ran. Total eslint: 0, total circular: 0
Pre-commit hook ran. Total eslint: 0, total circular: 0
Pre-commit hook ran. Total eslint: 0, total circular: 0
Pre-commit hook ran. Total eslint: 0, total circular: 2
Pre-commit hook ran. Total eslint: 0, total circular: 2
feat(orgtrack): unify per-round session provenance
Replace the P1 fail-closed stub with the real data path:
- read persisted canonical sessions/edit artifacts/commit links
- scope filter: project/{id} matches workspace_path; session/{id}
selects the session plus its parent lineage chain
- project_canonical_journey projector + independent audit (fail closed
on uncovered canonical units)
- fork edges only emitted when parent is inside the selected scope
…t store
project/{id} now reads linked_repos_json from projects.db and selects
every canonical session whose workspace_path is inside one of the linked
workspaces (exact or direct child). Unknown project ids and projects
without linked workspaces stay fail-closed: no guessed paths, no
synthesized data.
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.
Problem
The public session-task fork journey reference branch contains the original implementation and commit history, but it is not represented by a pull request against the current
org2AI/ORG2developbranch. This makes the work difficult to inspect and discuss in the target repository with its original provenance intact. Its historical README versions should not replace the documentation currently ondevelop.Solution
Publish the referenced branch as
dev/session-task-fork-journey-reference-20260810, preserving source tipfc7756ab16cae0cb9133c9621b30e7ede22af008and its full ancestry. Add README-only commit0a524b869d06131bbe686ecac5f6a3ef8ee4d8d5, which restores every trackedREADME*path to the exact content and presence state from currentorigin/develop. The original source commit graph remains reachable and was not squashed or rebased, but the PR head is now the README restoration commit rather than the unchanged source tip.Source: https://github.com/chsimonpan/ORG2/tree/public/session-task-fork-journey-reference-20260810
Potential risks
This branch is not merge-ready. Relative to the refreshed
origin/develop, it is 1,065 commits ahead and 2,089 commits behind, has multiple merge bases, and produces a 3,285-file three-dot comparison (298,063 insertions and 80,101 deletions). A synthetic merge reports extensive conflicts, including CI, release, documentation, and application code. The diff also contains pre-existing whitespace errors. Merging as-is could regress current behavior, reintroduce removed code, create compatibility problems across persistence and wire boundaries, and produce generated or unrelated churn. No migration, rollback, or conflict-resolution plan has been established; keep this PR in Draft until the desired journey changes are isolated and verified against currentdevelop.Because of the multiple historical merge bases, GitHub may continue to list README paths in its three-dot Files changed view even though every README blob at the PR head matches current
develop. Removing those historical comparison entries would require a broader merge or history rewrite and is intentionally not part of this README-only update.Verification
git diff --name-status origin/develop HEAD -- ":(icase,glob)README*" ":(icase,glob)**/README*"— empty; all tracked README contents and presence match currentdevelop.git show --stat 0a524b869d06131bbe686ecac5f6a3ef8ee4d8d5— README-only commit, 19 files changed.rg -v "(^|/)README[^/]*$"— empty before commit; no non-README paths were included.git diff --cached --check— passed before commit..husky/_/husky.sh; the README-only commit used a command-scoped disabled hook path after the staged-path and whitespace checks passed. No repository hook configuration was changed.git rev-list --left-right --count origin/develop...HEAD—2089 1065.git diff --shortstat origin/develop...HEAD— 3,285 files changed, 298,063 insertions, 80,101 deletions; Git warns of multiple merge bases.The unrelated uncommitted changes in the local
developworktree were not included.