Skip to content

docs: audit the WorkHub domain language group - #5258

Merged
Astro-Han merged 2 commits into
apache:mainfrom
ggbdpq:docs/audit-workhub-domain-language
Sep 15, 2026
Merged

Astro-Han merged 2 commits into
apache:mainfrom
ggbdpq:docs/audit-workhub-domain-language

Conversation

@ggbdpq

@ggbdpq ggbdpq commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Audits the WorkHub domain language group (docs/workhub-domain-language.md + docs/architecture/workhub-coordination-session-adr.md) against the current implementation, including the September unification series (#5198 conversation identity and Host-owned choices, #5152 model routing foundation, #5117 linked operations vs routing) that has updated the domain language piecemeal. One drift found and corrected in this update: the ADR's Session Resolver passage still described the never-implemented exact-name baseline as the current mechanism; it now carries a dated status note marking that baseline historical and stating the model-driven discovery / durable-identity routing that #5198, #5152 and #5117 landed. Everything else resolves to code as written; the only other change is the standard frontmatter block recording the audit (#4345 precedent); the ADR keeps no frontmatter, matching every other ADR in docs/architecture.

Refs #3522.

Verification

Claim (doc) Evidence (code)
Routing dispositions answer_here / delegate_existing / create_new / clarify packages/core/src/workhub-routing.ts:105-129
Linked operations correct / stop / resume packages/core/src/workhub-routing.ts:22,111,163
Production tasks.select_and_delegate operation packages/runtime-host/src/server/workhub-coordination-coordinator.ts:551 (workhub.coordination.selectAndDelegate, tool guidance in hosted-execution-tool-profile.ts:131)
Opaque choice value binds candidate ref + Session id + workspace digest; display names and model answers never supply identity workhub-coordination-coordinator.ts:610-622 (binding), 643-657 (rejection)
"An unanswered offer expires for execution after ten minutes" workhub-coordination-coordinator.ts:659 (Date.now() - choice.createdAt > 10 * 60_000)
Stop outcomes cancelled_pending / stop_delivered / already_terminal / not_owned; resume resume_started / already_running workhub-coordination-action-gate.ts:386,650,714; execution-composition.ts:2000,2025,2086,2102,2887
Terminal replacement-aborted fact; retry cannot redirect a claimed replacement workhub-coordination-coordinator.ts:453 (delegation_replacement_aborted)
"Optional user-selected routing model adapter"; default coordination model, experiment not enabled execution-composition.ts:288 (workHubRoutingModel?, optional, unsupplied by Desktop wiring), 1942
Implementation map — all 9 module paths all exist at the linked locations
Enable setting gates presentation; crashed renderer disposed/recreated; empty dock exposes Retry workhub-presentation.ts:419-506 (deps.isEnabled()), 144 (disposeView); workhub-root.tsx (Retry)
ADR decision still in force; default routing unchanged by #5152 ADR "Status: Accepted"; the routing-model adapter remains optional/unsupplied, so the default strategy has not moved

All 9 file paths in the implementation map resolve; both documents are actively maintained by their feature owners (the domain language was last touched by #5198 on 2026-09-13), which is consistent with the zero-drift result.

AI use

Authored by GLM-5.3-Flash (ZCode) at @ggbdpq's direction; every documented claim was verified against the code by the agent, and the diff is limited to the frontmatter block.

Checklist

Audit docs/workhub-domain-language.md and
docs/architecture/workhub-coordination-session-adr.md against the
current implementation, including the September unification series
(apache#5198, apache#5152, apache#5117) that updated the domain language piecemeal.
No drift found: every checked claim resolves to code as written.

Record the audit with the standard frontmatter block and
`last_verified: 2026-09-13` (apache#4345 precedent). The ADR keeps no
frontmatter, matching every other ADR in docs/architecture.

Refs apache#3522.

Generated-by: GLM-5.3-Flash (ZCode)
@github-actions github-actions Bot added the effort/S Under 100 readable lines label Sep 13, 2026

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking on this audit. I checked the documentation against d14c1e10c7a109421ebdfe9d6073de6f6056b1bc. The optional routing-model wiring, Host-owned target choice and ten-minute offer limit match the implementation, but I found one remaining discrepancy in the audited ADR.

P2 — Update the retired exact-name routing description before recording a zero-drift audit. Normal reader path: docs/architecture/workhub-coordination-session-adr.md:320-324 still describes the shared Session Resolver's implementation as a temporary exact-name baseline, with named resume and pronoun-based stop deferred. The current production tool profile instead asks the coordination model to discover candidates and use durable identities; workhub-runtime.ts forwards stop/resume proposals with explicit targetSessionId, and neither that bridge nor the Host coordinator implements the described exact-name resolver. execution-composition.ts installs pre-admission routing only when the optional routing model is supplied.

Could you update that ADR passage to describe the current model-driven discovery/identity-based admission path, or clearly mark the old baseline as historical, then adjust the PR's “No drift found” summary? #3522 explicitly asks for consistency across the audited group; adding current/verified frontmatter alone leaves this older architecture description certified as current. This needs a documentation correction, not a change to routing code.

Codex-assisted source/document review; no runtime tests were needed for the metadata-only diff.

Review follow-up on apache#5258. The ADR's Session Resolver passage still
presented the never-implemented exact-name baseline as the current
mechanism; routing today is model-driven discovery with durable
identities, and stop/resume travel with explicit targets. A dated status
note now records the baseline as historical while keeping the invariant
that admission revalidates opaque identity rather than any display name.

Generated-by: GLM-5.3-Flash (ZCode)
@ggbdpq

ggbdpq commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

Pushed ce66c5c: the flagged Resolver passage now carries a dated status note. I verified the reviewer's core fact before writing — git grep finds "Session Resolver" only in the two docs, with no implementation in any package — so the ADR's exact-name baseline is marked historical (admission's opaque-identity revalidation recorded as the surviving invariant), and the PR summary no longer claims zero drift for that passage.

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving at ce66c5c0f — the dated status note resolves the flagged passage: the never-implemented exact-name baseline is now marked historical rather than documented as the plan. Docs-only, nothing else to check.

中文版

dated status note 解决了被标记的段落:从未实现的 exact-name baseline 现在被标注为历史而非现行计划。docs-only,无其他问题。

AI assistance: I used Devin to verify the delta against the earlier finding; the assessment is mine.

@Astro-Han
Astro-Han merged commit e13656e into apache:main Sep 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/S Under 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants