Skip to content

feat(pm): expand MCP, routines, work items, inbox, and skills - #844

Open
Neonforge98 wants to merge 3 commits into
developfrom
feat/pm-expansion-batch
Open

feat(pm): expand MCP, routines, work items, inbox, and skills#844
Neonforge98 wants to merge 3 commits into
developfrom
feat/pm-expansion-batch

Conversation

@Neonforge98

@Neonforge98 Neonforge98 commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

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 develop and 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):

Commit Scope
feat(pm): expand work item domain and project surfaces Work Item domain, custom statuses/properties/saved views, Quick Actions, Routine definitions as the single editable owner with pm_routines as a rebuildable execution projection
feat(agent-runtime): expand collaboration tools and execution support Collaboration tools, execution support, CLI stderr secret redaction, worktree lock liveness
feat(collaboration): unify Team Inbox and conversation delivery Team Inbox (archive/unarchive, mute categories), conversation delivery with a retained failed row + retry/edit-then-resend

Potential risks

  • Ten conflict resolutions in WorkManagement/TeamInbox chose 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.
  • Archived inbox items have no entry point on develop's UI (see Known gaps) until a product decision lands.
  • WorktreeLockGuard now issues an explicit flock(LOCK_UN) in Drop; any caller relying on close-time release semantics keeps working, but the change touches every worktree lock release.
  • Cross-org Quick Action id collisions now skip the row instead of failing the pull; a genuinely corrupt sender-stamped foreign-org row still hard-fails.

Rebase notes (develop moved 42 commits)

Conflicts were resolved upstream-owner first: develop's refactored surfaces (WorkManagement split header, TeamInboxListControls with a trailingActions slot, DetailPanelContainer narrow placeholder, EmbeddedWorkItemDetail empty state) are kept, and this PR's capabilities are wired into them rather than re-adding parallel structure. Concretely:

  • Mute-category menu ported into develop's TeamInboxListControls action group; this PR's inline filter tabs were not re-added (develop removed in-inbox filter switching).
  • headerDispositionAction (archive/unarchive) kept alongside develop's headerAuxiliaryAction (open in browser) — two distinct header actions.
  • onWorkItemNameUpdated reporting lives in the DetailPage components; the older EmbeddedWorkItemDetail effect was dropped as this PR's final shape intended.
  • ProjectPanelView snapshot 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 warnings was red on work_run_manifest.rs (type_complexity) — CI-blocking.
  • WorktreeLockGuard release was not reliably immediate on macOS: dropping the guard only closed the fd, and under in-process file churn a fresh flock on the same file still returned EWOULDBLOCK (~10–15% of parallel test runs; reproduced by instrumenting the probe, and shown to be independent of the sibling lock tests). Drop now issues an explicit flock(LOCK_UN) before the file closes — 0/40 failures under the same churn. The test also had a cross-process collision (unique_test_dir now includes the pid) and its release assertion now reports "still held" vs "probe error" so a future failure is diagnosable.
  • record_org_catalog_rehome added a third bridge row on carrier delete; collab_leave test updated to assert composition, not a magic count.
  • Cross-org Quick Action id collision was a hard Err that discarded the whole entity on every pull, forever, with only a warn; 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-created work items lost routine_source provenance after the owner collapse; orgii-routine-changed had no emitter left. Both restored at the producing boundary with regression tests.
  • Work-item E2E spec resolved its data home via E2E_ORGII_HOME while wdio publishes ORGII_HOME, so its seed INSERT landed in the developer's real projects.db. Fixed to read ORGII_HOME first.

Known gaps (not addressed here — product calls)

  • Archived inbox items have no entry point on develop's UI. This PR adds archive/unarchive actions and the "archived" filter/data path, but develop removed in-inbox filter switching and nothing else sets viewState.filter. Needs a decision on where the archived view is reached.
  • autoDetectKey for Claude Code only detects; it does not persist an account, and a saved OAuth account reports health: unknown rather than probing. Pre-existing.

Verification

All five gates run on the final tree of this PR (on develop c1d0e2976):

Gate Result
pnpm typecheck 0 errors
pnpm lint (oxlint + eslint --max-warnings 0) clean
vitest --changed c1d0e2976 642 files / 4286 tests passed
cargo clippy --workspace --all-targets -- -D warnings 0 errors
cargo test --workspace --no-fail-fast 88 suites, 0 failed (final tree, after the WorktreeLockGuard fix)

Gate re-run after the WorktreeLockGuard release 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-utils is empty): app_memory::tests::macos_region_walk_splits_current_process can fail under memory pressure when two cargo suites run at once (its own comment anticipates page compression); tracked separately.

  • Rendered dual-instance E2E (E2E_PROVIDER_MODE=mock): scenarios A and B pass; the remaining failures were triaged as harness staleness on develop (dead selectors such as sidebar-toggle-*, session-comment-toggle-*), a pre-existing product gap (first replay never writes Team Session Blame since 453025a65), and shared-session cascades — none attributable to this PR.

@Neonforge98
Neonforge98 marked this pull request as draft August 20, 2026 03:15
@Neonforge98 Neonforge98 changed the title feat(pm): MCP injection, discussion routing v2, custom statuses, saved views, table view, quick actions, inbox lifecycle feat(pm): complete multica parity across MCP, routines, work items, inbox, and skills Aug 20, 2026
@Neonforge98
Neonforge98 marked this pull request as ready for review August 20, 2026 05:15
@Neonforge98
Neonforge98 marked this pull request as draft August 20, 2026 05:15
@Neonforge98
Neonforge98 marked this pull request as ready for review August 20, 2026 05:31
@Neonforge98
Neonforge98 marked this pull request as draft August 20, 2026 07:27
@Neonforge98
Neonforge98 marked this pull request as ready for review August 20, 2026 07:42
@Neonforge98
Neonforge98 marked this pull request as draft August 20, 2026 08:34
@Neonforge98
Neonforge98 marked this pull request as ready for review August 20, 2026 08:48
@Neonforge98
Neonforge98 force-pushed the feat/pm-expansion-batch branch from 437b322 to a7e9043 Compare August 20, 2026 21:48
@Neonforge98 Neonforge98 changed the title feat(pm): complete multica parity across MCP, routines, work items, inbox, and skills feat(pm): expand MCP, routines, work items, inbox, and skills Aug 20, 2026
@Neonforge98
Neonforge98 force-pushed the feat/pm-expansion-batch branch 2 times, most recently from ecd8788 to b15c6ee Compare August 23, 2026 01:32
@Harry19081 Harry19081 added enhancement New feature or request project-management Projects, work items, routines, GitHub work, or team inbox agent Agent runtime, behavior, memory, providers, or orchestration labels Aug 23, 2026
@Neonforge98
Neonforge98 force-pushed the feat/pm-expansion-batch branch 2 times, most recently from 8e9b3b4 to 61ef78b Compare August 27, 2026 16:48
@Neonforge98
Neonforge98 force-pushed the feat/pm-expansion-batch branch 25 times, most recently from fa898d7 to 5968557 Compare September 2, 2026 14:43
@Neonforge98
Neonforge98 force-pushed the feat/pm-expansion-batch branch from 5968557 to 987c50b Compare September 4, 2026 00:52
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
Neonforge98 force-pushed the feat/pm-expansion-batch branch from 987c50b to 4f22c99 Compare September 4, 2026 00:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent Agent runtime, behavior, memory, providers, or orchestration enhancement New feature or request project-management Projects, work items, routines, GitHub work, or team inbox

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants