feat: migrate knowledgebase nav to the docengine subsystem#2795
Merged
Conversation
Replace the bundled scripts/knowledgebase-nav/ toolchain with the DocEngine `knowledgebase` subsystem (coreweave/docengine#183). - Add docengine-site/knowledgebase.yaml (the old config.yaml minus mintlify_root; the support root is resolved from docengine.yaml output_subpath = "."). - Move the two MDX templates into docengine-site/templates/ (W&B keeps its own product-index template variant). - Remove scripts/knowledgebase-nav/ (script, report, tests, docs, requirements) — the engine now owns the logic and tests. - Rewrite .github/workflows/knowledgebase-nav.yml to a thin workflow: authenticate and init the docengine submodule (DOCENGINE_TOKEN), install the engine, run `docengine knowledgebase apply --report-file …`, upsert the PR comment (same marker), and commit the support output back with the wandb-docs-pr-writer App token. The engine reports its exact changed files, so the old `git add --dry-run` candidate loop is gone. Behavior change: generation now needs the private docengine submodule, which fork PRs cannot read — the job runs for same-repo PRs and manual dispatch only. Fork PRs are regenerated by a maintainer after merge. Depends on coreweave/docengine#183. Do not merge until #183 is merged and the docengine submodule here is bumped to include it (Dependabot bump). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
Contributor
📚 Mintlify Preview Links📝 Changed (52 total)📄 Pages (52)
🗑️ Deleted (2 total)View deleted files⚙️ Other (2)
🤖 Generated automatically when Mintlify deployment succeeds |
Contributor
Knowledgebase navigation update
|
Contributor
🔗 Link Checker Results✅ All links are valid! No broken links were detected. Checked against: https://wb-21fd5541-feat-knowledgebase-docengine-subsystem.mintlify.app |
mdlinville
approved these changes
Jun 23, 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
Replaces the bundled
scripts/knowledgebase-nav/toolchain with the DocEngineknowledgebasesubsystem. The Python that was byte-for-byte duplicated withcoreweave/docsnow lives once in the engine and reaches hosts via Dependabot.Changes
docengine-site/knowledgebase.yaml— the oldconfig.yamlminusmintlify_root(the support root is resolved fromdocengine.yamloutput_subpath=.). Products and allowed keywords are unchanged.docengine-site/templates/— the two MDX templates moved here. W&B keeps its own product-index template variant (title: "Support: …", nosidebarTitle); templates are per-host.scripts/knowledgebase-nav/— script, report, tests, README,Architecture.md,requirements.txt. The engine owns the logic and tests now..github/workflows/knowledgebase-nav.yml— slimmed to: authenticate + init thedocenginesubmodule (DOCENGINE_TOKEN),pip install -e ./docengine,docengine knowledgebase apply --report-file …, upsert the PR comment (same<!-- knowledgebase-nav-report -->marker), and commit the support output back with thewandb-docs-pr-writerApp token. The engine reports its exact changed files, so the oldgit add --dry-runcandidate loop is gone.Behavior change (forks)
Generation now needs the private
coreweave/docenginesubmodule, which fork PRs cannot clone. The job runs for same-repo PRs and manual dispatch only; fork PRs are regenerated by a maintainer after merge (the former bundled script could generate but never push on forks). Workflow/job names are unchanged so any required-check names still match.Verification
The engine change (#183) was proven behavior-preserving by a differential against this repo's real
scripts/knowledgebase-nav/generate_tags.pyover the livesupport/tree (this is theoutput_subpath: "."case): the generated trees are byte-identical except the intendedtemplate:provenance line (scripts/knowledgebase-nav/templates/…→docengine-site/templates/…);support.mdxand all article footers are byte-identical. Report markdown is byte-identical to the legacypr_report.py.Merge order
docenginesubmodule to include it (Dependabot).🤖 Generated with Claude Code