Skip to content

refactor: unify documentation CLI configuration - #813

Draft
AlexanderLanin wants to merge 1 commit into
mainfrom
feat/unify-docs-cli-config
Draft

refactor: unify documentation CLI configuration#813
AlexanderLanin wants to merge 1 commit into
mainfrom
feat/unify-docs-cli-config

Conversation

@AlexanderLanin

Copy link
Copy Markdown
Member

What this achieves

Documentation Bazel wrappers and cli.py now share one versioned SCORE_DOCS_CONFIG JSON contract for target configuration. Runtime workspace, runfiles, and CI context remains in the process environment.

Why this is necessary

The previous split across individual environment variables and SPHINX_EXTRA_OPTS made configuration assembly difficult to validate and allowed path-resolution and duplicate-option bugs between interactive and sandboxed Needs builds. A single structured payload makes the contract explicit and versionable.

What changed

  • Build version-1 payloads for interactive binaries and Needs actions.
  • Resolve runfiles and execution-root paths from the action context.
  • Generate Sphinx defines, live-preview watches, and cache/output behavior from the payload.
  • Remove the legacy CLI configuration transport and preserve extension configuration through Sphinx defines.
  • Add payload validation, path-resolution, merged-Needs, mount-watching, malformed-version, and diagnostics coverage.
  • Document the payload contract.

@AlexanderLanin
AlexanderLanin force-pushed the feat/unify-docs-cli-config branch from 5fad2b9 to 39de3d5 Compare September 9, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant