Skip to content

docs: provider counts + architecture attribution sweep (WOR-163, WOR-172)#109

Merged
rickcrawford merged 3 commits into
mainfrom
feat/wor-163-172-docs-correctness-sweep
May 9, 2026
Merged

docs: provider counts + architecture attribution sweep (WOR-163, WOR-172)#109
rickcrawford merged 3 commits into
mainfrom
feat/wor-163-172-docs-correctness-sweep

Conversation

@rickcrawford

Copy link
Copy Markdown
Contributor

Summary

  • Closes WOR-163: aligns provider-count and routing-strategy claims across llms.txt, docs/, README.md, and the test assertion. Adds scripts/check-doc-drift.sh + .github/workflows/docs-ci.yml CI guard so the stale strings (20 native, 9 routing strategies, 36 OpenAI-compatible, one trivial built-in strategy) cannot reappear. Bumps providers.rs test assertion from >= 38 to >= 43.

  • Partially addresses WOR-172 (sbproxy-side bullets): re-attributes WAF/DDoS/CSRF to sbproxy-modules in docs/architecture.md, fixes Auth::Digest rustdoc (was "placeholder"), narrows sbproxy-httpkit description to current bufferpool surface, aligns docs/configuration.md with the actual CLI shape. Enterprise-side WOR-172 bullets (CLAUDE.md, Dockerfile.proxy, Cargo.toml path renames, ingest lib.rs) ship in a parallel enterprise PR.

Test plan

  • cargo fmt --all -- --check
  • cargo build --workspace
  • cargo test --workspace --tests (83 + workspace passing)
  • cargo clippy --workspace --all-targets -- -D warnings
  • RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps
  • bash scripts/check-doc-drift.sh returns 0

Closes WOR-163: align provider-count + routing-strategy claims across
llms.txt, docs/, README.md, and the test assertion. Code reality is 43
native providers (crates/sbproxy-ai/data/ai_providers.yml) and 10
routing strategies (crates/sbproxy-ai/src/routing.rs). Previously these
docs were stale at 20 / 36 / 9. Adds scripts/check-doc-drift.sh +
.github/workflows/docs-ci.yml so the stale strings cannot reappear.
Bumps providers.rs assertions from >= 38 to >= 43.

Partially addresses WOR-172 (sbproxy-side bullets):

- docs/architecture.md re-attributes WAF/DDoS/CSRF to sbproxy-modules
  and clarifies what sbproxy-security actually owns.
- crates/sbproxy-modules/src/auth/mod.rs Auth::Digest rustdoc rewritten
  to describe the real RFC 7616 implementation (not "placeholder").
- crates/sbproxy-httpkit/src/lib.rs rustdoc narrowed to reflect the
  current bufferpool surface.
- docs/configuration.md aligned with the actual CLI shape from
  crates/sbproxy/src/main.rs (explicit path or SB_CONFIG_FILE,
  validate <path> / --check).

Enterprise-side WOR-172 bullets (CLAUDE.md, Dockerfile.proxy, Cargo.toml
path renames, ingest lib.rs rustdoc) ship in a parallel enterprise PR.
scripts/docs-ci.sh runs under set -euo pipefail. When ENTERPRISE_ROOT
is unset (the OSS-only repo never sets it), the existence check on
line 58 errored out with `ENTERPRISE_ROOT: unbound variable` and the
docs-ci workflow exited 1 before any link or code-block check ran.

Default it to empty at the top of the script and gate the directory
check on a non-empty value so the OSS path stays clean and an outer
caller in a meta-repo can still point at an enterprise tree.

Surfaced by the docs path-trigger expansion in the previous commit;
not a behavioural change to the link or code-block checks.
@rickcrawford rickcrawford force-pushed the feat/wor-163-172-docs-correctness-sweep branch from 86f8cb3 to 34525a4 Compare May 9, 2026 17:28
rust-script v0.36.0 does not implement --check; passing it errors with
"unexpected argument '--check' found" and exit code 2. The rust-script
branch in scripts/docs-ci.sh therefore failed every non-skipped rust
block. In practice all but one of the doc blocks were tagged
no_run/ignore and bypassed the checker, so the bug only surfaced now
that the docs-ci workflow's path triggers were widened.

Drop the rust-script branch and unconditionally use the rustc
fallback path (Shape 1 + Shape 2). It already covers the parse +
type-check needs for any top-level Rust shape and runs in tens of ms
per block. Local rerun on the OSS docs tree gives checked=92
skipped=24 rc=0.
@rickcrawford rickcrawford merged commit 395b8f6 into main May 9, 2026
9 of 10 checks passed
@rickcrawford rickcrawford deleted the feat/wor-163-172-docs-correctness-sweep branch May 9, 2026 17:39
rickcrawford added a commit that referenced this pull request May 9, 2026
Surfaced by lychee in the docs-ci workflow on PR #109.

- bulk-redirects.md: configuration.md#redirect-action -> #redirect
  (matches the actual `### redirect` heading at L532).
- exposed-credentials.md: configuration.md#exposed-credentials ->
  #exposed_credentials (matches `### exposed_credentials` at L1395).
- web-bot-auth.md: configuration.md#bot_auth -> #authentication
  (the parent `## Authentication` section at L1000; bot_auth lives
  there as one of the eight built-in providers without its own
  subsection. Anchor parenthetical disambiguates).
- feature-flags.md: scripting.md#cel-functions ->
  #3-cel-expressions (matches `## 3. CEL expressions` at L53; the
  reference is to the full CEL surface, not just functions).
- routing-strategies.md: drop link to non-existent
  [Fail-6](roadmap.md). The line stays as plain text since the
  surrounding sentence is still accurate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant