docs: add Java/Python parity map and guard legacy branding - #144
Merged
Conversation
Adds the Java-side counterpart to the Python SDK's documentation parity map (conductor-oss/python-sdk#441) and closes the remaining Conductor terminology gaps in this repo. - docs/documentation-parity.md: records the shared doc sets both SDKs must keep identical, the Java-only pages (FileClient, Spring), and the Python-only pages, separating real gaps (workflow-message-queue, claude-agent-sdk bridge) from superseded legacy pages. Notes that this information architecture originated here, so sibling PRs citing "alignment with the Java SDK" are Python catching up, not changes to mirror back. - ci.yml: new "Reject legacy product branding" step, scanning the whole tree rather than just docs/ since the legacy name also reached shell and Java comments. Excludes the `<legacy>.embedded` server boot flag, which orkes-conductor owns; renaming it here would document a flag that may not exist upstream. - ci.yml: lychee now runs with --include-fragments, so #anchor targets are validated and not just file existence. Verified clean beforehand across 260 local links in 50 documents. - Clears the legacy name from package-e2e-bundle.sh provenance notes and one McpTool comment. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests.
🚀 New features to boost your workflow:
|
kowser-orkes
approved these changes
Jul 28, 2026
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.
Summary
Adds the Java-side counterpart to the Python SDK's documentation parity map (conductor-oss/python-sdk#441) and closes the remaining Conductor terminology gaps in this repo.
Scoping note for reviewers. PR #441's title is "align Python SDK documentation with the Java SDK's documentation structure" — that architecture originated here, and Python was catching up. Of the 43 doc files #441 added to Python, 41 already existed in this repo, and this repo already had zero
AGENTSPAN_*env vars. So this is deliberately not a port of those 519 files; it is the small set of things Java genuinely lacked. The parity map now records that direction in writing so the next person doesn't attempt the inverted port.Changes
docs/documentation-parity.md(new) — records the shared doc sets both SDKs must keep identical, the Java-only pages (FileClient, Spring), and the Python-only pages. Critically it separates real gaps (workflow-message-queue.md, theclaude-agent-sdkbridge) from superseded legacy pages (the eleven uppercasedocs/*.mdand four old agent pages). Without that split a reader sees 15 "missing" files and manufactures work.docs/README.md— links the new page under Documentation conventions so it isn't orphaned.ci.yml: new "Reject legacy product branding" step — scans the whole tree rather than justdocs/, since the legacy name had also reached shell and Java comments. The pattern is written as a character class so the workflow file doesn't match itself.ci.yml: lychee--include-fragments—#anchortargets are now validated, not just file existence. Previously a link to a heading that no longer existed passed CI silently.package-e2e-bundle.shprovenance notes (4 refs) and oneMcpToolcomment.Deliberate exclusion
The branding guard excludes
<legacy>.embedded, which remains in twopackage-e2e-bundle.shlines. That property is a server-side boot flag owned by orkes-conductor, not an SDK setting — no Java code here sets it. Renaming it in our docs would point users at a flag that may not exist upstream. If the server has renamed it, that's a one-line follow-up; it shouldn't be guessed at from this repo.Verification
Each CI doc guard was run locally with its exact command before commit:
bash -n package-e2e-bundle.shci.ymlYAML parse:conductor-client-ai:compileJavaOne caveat: lychee wasn't available locally, so anchors were validated with a script mimicking GitHub's slug rules rather than lychee itself. 260/260 clean is a strong signal, but if lychee's slug handling differs on an edge case,
--include-fragmentsmay surface a genuine broken anchor in CI. This PR's own CI run is the real test of that.🤖 Generated with Claude Code