Skip to content

refactor(workhub): separate linked operations from routing - #5117

Merged
ARE404 merged 1 commit into
apache:mainfrom
ARE404:refactor/workhub-routing-linked-operations
Sep 10, 2026
Merged

refactor(workhub): separate linked operations from routing#5117
ARE404 merged 1 commit into
apache:mainfrom
ARE404:refactor/workhub-routing-linked-operations

Conversation

@ARE404

@ARE404 ARE404 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Separate transient WorkHub routing proposals (delegate_existing, create_new) from linked operations (correct, stop, resume).
  • Rename the model-facing correction action from replace to correct and keep all side effects behind the Host-owned Action Gate.
  • Preserve historical durable receipt tags and action fingerprints for replay compatibility.
  • Update the WorkHub domain language and Coordination Session ADR to document intent, resolution, policy, and gate boundaries.

Refs #3492

Verification

  • npm --workspace @maka/core run build
  • npm --workspace @maka/runtime-host run build
  • npm --workspace @maka/desktop run build:main
  • Desktop WorkHub runtime tests: 6 passed
  • Runtime Host protocol, Action Gate, and coordinator tests: 70 passed
  • Runtime Host execution-composition suite passed with local state-root access
  • Biome check on changed TypeScript files and git diff --check

The full workspace build:test still reaches pre-existing @maka/ui/Astryx renderer type errors unrelated to this change.

Protocol compatibility

The Runtime Host compatibility epoch advances to 136 because older peers expect linked actions as replace/stop_work/resume_work proposal dispositions. Durable WorkHubActionResult receipts retain those historical tags so stored records and replay fingerprints remain compatible.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Codex implemented the protocol and adapter refactor, updated tests and architecture documentation, and ran the affected verification.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@github-actions github-actions Bot added the effort/M Under 500 readable lines label Sep 9, 2026
@ARE404
ARE404 merged commit a9b4f21 into apache:main Sep 10, 2026
2 checks passed
Shouly pushed a commit to Shouly/maka that referenced this pull request Sep 10, 2026
Three upstream commits.

- apache#5117 WorkHub coordination separates linked operations from routing. Main,
  runtime-host and core, no renderer surface here — taken as it comes. It moves
  the Runtime Host compatibility epoch to 136, and it changes
  `WorkHubCoordinationProposal` and `main/workhub-runtime.ts` together, so
  `build:main` alone reports errors in that file until `@maka/runtime-host` is
  rebuilt. Rebuild the workspaces after this merge, not just the desktop app.
- apache#5113 exports one Session as a portable bundle: subtree, quiescence and a
  foreign-key check, reached through a new CLI command. Storage and runtime
  only; the three new entries are `exports` map paths, not dependencies, so the
  lockfile does not move. No renderer entry point exists here — session
  import/export is already on the release checklist as unimplemented.
- apache#5130 rebuilds the About page around the wordmark and puts the restart on it.
  Its conflicts are resolved WITHOUT adopting it; the adoption is its own
  change, because taking the copy alone would not compile: upstream reshaped
  the update strings (phase-word labels, the version moved into per-phase
  hints, a new `installUpdate`) and `aboutUpdateRow` here reads the old shape.
  Worth doing next — its install action shares the sidebar restart's
  active-tasks confirmation, which is the open defect about a restart that
  silently does nothing while a task runs.

Eleven modify/delete conflicts on renderer files this fork deleted (the About
page and its update status, the app-update feature, the onboarding hero, two
stylesheets, the storybook page, the surface inventory, and the two main tests
that covered the deleted modules): our deletion kept in every case.

`packages/ui/src/maka-wordmark.tsx` keeps ours. Upstream now pins the mark to
`--maka-brand` inline so it always matches the dock icon; here it inherits
`currentColor` and the caller sets the opacity, because the enterprise icon is
a separate asset and the palette is not upstream's. Baking the tint in would
override every caller.

Verified after a clean rebuild of every workspace: typecheck, format, lint,
asf-headers, locale hygiene, renderer architecture, e2e budget, stale-dist,
both third-party-notices checks, the smokes, and the e2e suite (44/44). Every
workspace's unit tests pass except one desktop case,
`runtime-host-quit-copy.test.js`, which asserts wording another session is
rewriting in the working tree right now; that edit is not part of this merge.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/M Under 500 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants