feat(pm): expand MCP, routines, work items, inbox, and skills - #844
Open
Neonforge98 wants to merge 3 commits into
Open
feat(pm): expand MCP, routines, work items, inbox, and skills#844Neonforge98 wants to merge 3 commits into
Neonforge98 wants to merge 3 commits into
Conversation
Neonforge98
marked this pull request as draft
August 20, 2026 03:15
Neonforge98
marked this pull request as ready for review
August 20, 2026 05:15
Neonforge98
marked this pull request as draft
August 20, 2026 05:15
Neonforge98
marked this pull request as ready for review
August 20, 2026 05:31
Neonforge98
marked this pull request as draft
August 20, 2026 07:27
Neonforge98
marked this pull request as ready for review
August 20, 2026 07:42
Neonforge98
marked this pull request as draft
August 20, 2026 08:34
Neonforge98
marked this pull request as ready for review
August 20, 2026 08:48
Neonforge98
force-pushed
the
feat/pm-expansion-batch
branch
from
August 20, 2026 21:48
437b322 to
a7e9043
Compare
Neonforge98
force-pushed
the
feat/pm-expansion-batch
branch
2 times, most recently
from
August 23, 2026 01:32
ecd8788 to
b15c6ee
Compare
This was referenced Aug 25, 2026
Neonforge98
force-pushed
the
feat/pm-expansion-batch
branch
2 times, most recently
from
August 27, 2026 16:48
8e9b3b4 to
61ef78b
Compare
Neonforge98
force-pushed
the
feat/pm-expansion-batch
branch
25 times, most recently
from
September 2, 2026 14:43
fa898d7 to
5968557
Compare
Neonforge98
force-pushed
the
feat/pm-expansion-batch
branch
from
September 4, 2026 00:52
5968557 to
987c50b
Compare
Add revision-aware work items, custom properties, statuses, saved views, quick actions, routines, work timelines, and their desktop UI/API contracts.
Add shared audience routing, Team Inbox coordination, Work Item discussion actions, queued delivery visibility, idempotent retries, and human-versus-Agent message handling.
Neonforge98
force-pushed
the
feat/pm-expansion-batch
branch
from
September 4, 2026 00:56
987c50b to
4f22c99
Compare
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
Product-management work in ORG2 was split across disconnected surfaces: Work Items had no custom statuses/properties/saved views, Routines had two competing owners, Team Inbox could not archive or mute, conversation delivery lost failed messages, MCP servers were not wired per provider, and Skills/Quick Actions had no product entry. The batch that closed these gaps had drifted 42 commits behind
developand carried CI-red lints, a flaky lock release, and two data-integrity defects.Solution
Land the batch as three reviewable commits rebased onto
develop(c1d0e2976), resolving conflicts upstream-owner first and fixing every defect found while re-verifying it (details below):feat(pm): expand work item domain and project surfacespm_routinesas a rebuildable execution projectionfeat(agent-runtime): expand collaboration tools and execution supportfeat(collaboration): unify Team Inbox and conversation deliveryPotential risks
WorkManagement/TeamInboxchose develop's refactored structure and re-wired this PR's capabilities into it; behaviour in those surfaces should be reviewed as merged UI, not as the original diff.WorktreeLockGuardnow issues an explicitflock(LOCK_UN)inDrop; any caller relying on close-time release semantics keeps working, but the change touches every worktree lock release.Rebase notes (develop moved 42 commits)
Conflicts were resolved upstream-owner first: develop's refactored surfaces (
WorkManagementsplit header,TeamInboxListControlswith atrailingActionsslot,DetailPanelContainernarrow placeholder,EmbeddedWorkItemDetailempty state) are kept, and this PR's capabilities are wired into them rather than re-adding parallel structure. Concretely:TeamInboxListControlsaction group; this PR's inline filter tabs were not re-added (develop removed in-inbox filter switching).headerDispositionAction(archive/unarchive) kept alongside develop'sheaderAuxiliaryAction(open in browser) — two distinct header actions.onWorkItemNameUpdatedreporting lives in the DetailPage components; the olderEmbeddedWorkItemDetaileffect was dropped as this PR's final shape intended.ProjectPanelViewsnapshot regenerated against the merged UI.Defects fixed during verification
Found by running the gates and rendered E2E against a fresh build (none were caught by the previous pass):
cargo clippy -D warningswas red onwork_run_manifest.rs(type_complexity) — CI-blocking.WorktreeLockGuardrelease was not reliably immediate on macOS: dropping the guard only closed the fd, and under in-process file churn a freshflockon the same file still returnedEWOULDBLOCK(~10–15% of parallel test runs; reproduced by instrumenting the probe, and shown to be independent of the sibling lock tests).Dropnow issues an explicitflock(LOCK_UN)before the file closes — 0/40 failures under the same churn. The test also had a cross-process collision (unique_test_dirnow includes the pid) and its release assertion now reports "still held" vs "probe error" so a future failure is diagnosable.record_org_catalog_rehomeadded a third bridge row on carrier delete;collab_leavetest updated to assert composition, not a magic count.Errthat discarded the whole entity on every pull, forever, with only awarn; receiver-local collisions now skip the row like the sibling property/status/saved-view families already did. Sender-stamped foreign-org rows still hard-fail.routine_sourceprovenance after the owner collapse;orgii-routine-changedhad no emitter left. Both restored at the producing boundary with regression tests.E2E_ORGII_HOMEwhile wdio publishesORGII_HOME, so its seedINSERTlanded in the developer's realprojects.db. Fixed to readORGII_HOMEfirst.Known gaps (not addressed here — product calls)
"archived"filter/data path, but develop removed in-inbox filter switching and nothing else setsviewState.filter. Needs a decision on where the archived view is reached.autoDetectKeyfor Claude Code only detects; it does not persist an account, and a saved OAuth account reportshealth: unknownrather than probing. Pre-existing.Verification
All five gates run on the final tree of this PR (on
developc1d0e2976):pnpm typecheckpnpm lint(oxlint + eslint--max-warnings 0)vitest --changed c1d0e2976cargo clippy --workspace --all-targets -- -D warningscargo test --workspace --no-fail-fastWorktreeLockGuardfix)Gate re-run after the
WorktreeLockGuardrelease fix; the lock test that flaked under parallel threads now passes 20/20 (crate, parallel), 40/40 in the discriminating experiment, and in #939's full suite run concurrently with this one.Pre-existing develop flake, not touched by this PR (
git diff develop -- src-tauri/crates/perf-utilsis empty):app_memory::tests::macos_region_walk_splits_current_processcan fail under memory pressure when two cargo suites run at once (its own comment anticipates page compression); tracked separately.E2E_PROVIDER_MODE=mock): scenarios A and B pass; the remaining failures were triaged as harness staleness ondevelop(dead selectors such assidebar-toggle-*,session-comment-toggle-*), a pre-existing product gap (first replay never writes Team Session Blame since453025a65), and shared-session cascades — none attributable to this PR.