Skip to content

docs: align every document with the code at 045c24e - #4

Open
jjohare wants to merge 1 commit into
mainfrom
docs/align-2026-09-22
Open

jjohare wants to merge 1 commit into
mainfrom
docs/align-2026-09-22

Conversation

@jjohare

@jjohare jjohare commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Docs-to-code alignment at 045c24e. Every checkable claim in the READMEs, crate-level rustdoc, docs/ reference tree, SECURITY.md, CONTRIBUTING.md and the architecture baseline was verified against the workspace; each mismatch below is fixed in the document (never in the code). The only Rust changes are doc comments and intra-doc link paths.

Mismatch table

Doc (file:line at 045c24e) Claim What the code says Evidence
README.md:206 Links docs/adr/ADR-059-… File lives under docs/archive/adr/ crates/solid-pod-rs/docs/archive/adr/ADR-059-…md
README.md:190, crates/solid-pod-rs/README.md:27 FsBackend::new(PathBuf) used synchronously pub async fn new(root: impl Into<PathBuf>) -> Result<Self, PodError> crates/solid-pod-rs/src/storage/fs.rs:47
README.md:206,237, src/lib.rs:9 git-marks "always-on" Server ships default = []; git_mark_write is a no-op shim without --features git crates/solid-pod-rs-server/Cargo.toml:123, src/lib.rs:3668
crates/solid-pod-rs/src/lib.rs:17 docs.rs link to docs/adr/ADR-059 Path is docs/archive/adr/ same
crates/solid-pod-rs/README.md:47, BASELINE:115,175 no-op shim at lib.rs:3490 at lib.rs:3668 crates/solid-pod-rs-server/src/lib.rs:3668
crates/solid-pod-rs/README.md:120,209, src/lib.rs:36, server README.md:149, server src/lib.rs:92 replay guard closes a "±120s" window TIMESTAMP_TOLERANCE = 60 → ±60 s (120 s total) crates/solid-pod-rs/src/auth/nip98.rs:28,147
crates/solid-pod-rs/README.md:161-165, server README.md:338-342 sibling LOC 4,453 / 1,685 / 6,160 / 2,177 / 1,167; forge missing src/ wc -l: 3,615 / 3,240 / 6,080 / 2,666 / 864; forge 5,376; server 11,436 wc -l crates/*/src/**/*.rs
crates/solid-pod-rs/README.md:228 dotfile allowlist omits .acl.meta STATIC_ALLOWED_DOTFILES includes .acl.meta crates/solid-pod-rs/src/security/dotfile.rs:193-205
crates/solid-pod-rs-server/README.md:8 "Once published to crates.io (target: v0.4.0)" All 8 crates published at 0.5.0-alpha.9 crates.io API max_version
server README.md:171-179, http-endpoints.md:205,214 provision podUrl = /<pubkey>/, pushable via /_git/{pubkey}/ podUrl = {base}/pods/{pubkey}/; smart-HTTP at /pods/{pubkey}/info/refs; panel API at /pods/{pubkey}/_git/* src/lib.rs:4157,4724-4726,4731-4745, tests/admin_provision.rs:10-11
server README.md:207-208 OPTIONS preflight "feature git required, which is on by default" preflight registered unconditionally; git is not a default feature src/lib.rs:4712-4718, Cargo.toml:123
server README.md:318-329 default features = 4; dpop-replay-cache/nip98-schnorr opt-in dependency always enables 10 incl. dpop-replay-cache, nip98-schnorr, nip98-replay, acl-origin, mrc20, embedded-docs crates/solid-pod-rs-server/Cargo.toml [dependencies.solid-pod-rs]
http-endpoints.md:60-63 WWW-Authenticate: DPoP algs="ES256 RS256" Nostr realm="Solid", DPoP realm="Solid", Bearer realm="Solid" src/lib.rs:966
http-endpoints.md:187-198 admin provision "requires the git feature" registered unconditionally; only git init step is gated src/lib.rs:4658-4663
http-endpoints.md:229-252 OPTIONS /_git/{pubkey}/{tail}, gated on git, Allow-Methods: GET, POST, OPTIONS, 3 allow-headers /pods/{pubkey}/_git/{tail:.*}, ungated, full shared CORS set src/lib.rs:3195-3215,4716
cli/mod.rs:3 (//!) "Three thin wrappers" Four subcommands (install added) cli/mod.rs:29-45
solid-pod-rs-idp/README.md:13 ../../docs/PARITY-CHECKLIST.md path does not exist crates/solid-pod-rs/PARITY-CHECKLIST.md
solid-pod-rs-idp/README.md:185 "91 unit tests" 84 unit + 3 integration + 1 doc cargo test --workspace --all-features
solid-pod-rs-activitypub/README.md:6,20-21 "4,453 LOC … 53 tests"; modules webfinger, nodeinfo 3,615 LOC; 94 unit + 34 integration; modules are discovery, ssrf src/lib.rs:42-50
solid-pod-rs-git/README.md:18,22 "Target LOC ~450 … rows that will close when this crate lands" shipped; rows 69/100 present PARITY-CHECKLIST.md:215,276
solid-pod-rs-nostr/README.md:4,23,27 "2,177 LOC, 45 tests … will close when lands" 2,666 LOC, 63 unit + 9 integration; rows present PARITY-CHECKLIST.md:252-253,277,318
solid-pod-rs-forge/README.md:17-22,45-48, forge/src/lib.rs:10-11,40-41 forge is WAC-gated by embedding server; ships NIP-34 announce, marks manager, fork/PR porcelain bundled server uses the ownership guard, not WAC; no fork/PR/announce/marks code; anchoring/announce features unused server src/lib.rs:71-79; grep -rn 'feature = "announce"' forge/src → none
BASELINE:44-46 workspace 0.5.0-alpha.8, "four/eight alphas past" 0.5.0-alpha.9; five/nine Cargo.toml:15
BASELINE:59-63 replay.rs:70, replay_store.rs:68, replay.rs:178, replay.rs:20,174 replay.rs:117, replay_store.rs:90, replay.rs:235, replay_store.rs:19-32/replay.rs:231 those files
BASELINE:82,171 multitenant.rs:181-198 scrub_dotdot at 184-193 multitenant.rs:184
BASELINE:108-110,152-153,206-208 git_mark_write 3317, call sites 1374/1486/1582, canonical-path 3400, handle_patch 1498, seed_graph 1769, ~5,059 lines 3462, 1493/1606/1703-1771, 3550, 1619, 1896, 5,243 lines crates/solid-pod-rs-server/src/lib.rs
env-vars.md:44-47 JSS_WORKERS, JSS_LOG_LEVEL, JSS_DISABLE_DOTFILES consumed by ConfigLoader no Rust consumer; JSS_MAX_ACL_JSON_DEPTH exists and was undocumented grep -r over crates/*/src; wac/mod.rs:83
migrate-from-jss.md:62 JSS_MASHLIB is compile-time runtime --mashlib / JSS_MASHLIB main.rs:57
ecosystem-integration.md:105 "S3 is configuration/dependency scaffolding" scaffold removed in alpha.8 CHANGELOG.md [0.5.0-alpha.8] Removed
comparison-vs-jss.md:18 "Build from source" only cargo install solid-pod-rs-server works crates.io
examples-index.md:12, tutorials/03:10,178 cargo run --example standalone no such example crates/solid-pod-rs/examples/
benchmarks.md:3 "Four criterion-based benches" five (dpop_replay_bench) Cargo.toml:359-361
api.md:8, solid-oidc-compatibility-matrix.md:3 crate version alpha.7 / alpha.8 alpha.9 (no src/oidc change since the alpha.8 tag) git log v0.5.0-alpha.8..HEAD -- src/oidc
SECURITY.md:113-116 dotfile allowlist without .account, .acl.meta both allowed dotfile.rs:193-205
CONTRIBUTING.md:19-20 JSS reference "under references/javascript-solid-server/" no such directory; comparator pinned in PARITY-CHECKLIST.md ls crates/solid-pod-rs/references
server src/mempool.rs:35-40 (//!) four bare intra-doc links fail under -D rustdoc::broken-intra-doc-links (module docs merged into crate scope) cargo doc --no-deps -p solid-pod-rs-server

Left as-is (and why)

  • Cross-repo relative links into a sibling VisionFlow checkout (BASELINE:264,274, ADR-2001…2007, PRD/DDD gap-close docs): intentional out-of-repo references, not resolvable here.
  • Dated audits, sprint PRDs, plans and receipts (CLOSEOUT-JSS-DEEPDIVE.md, security-audit-2026-08-19.md, jss-parity-upgrade-2026-04-20*.md, sprint-12-prd.md, estate-closeout/, gap-close-evidence/, agent-integration-guide.md "status refreshed … at alpha.7", comparison-vs-jss.md alpha.7 column): true statements about a stated commit/date.
  • ci.yml comments saying "all 7 members" / "six sibling crates": workflow file, not a document; noted for a follow-up.
  • ADR ledger: scripts/adr-index-gen.js regenerated with no diff; all eight records valid; no governed decision changed, so no verified_commit was touched except the baseline's own (per its change process).

Gates (local)

cargo test --workspace --all-features — 1896 passed / 0 failed across 114 binaries · cargo doc --no-deps --all-features with -D warnings -D rustdoc::broken-intra-doc-links for every member · cargo test --doc --workspace --all-features · cargo fmt --all -- --check · scripts/check-diagram-staleness.sh · node scripts/adr-index-gen.js crates/solid-pod-rs/docs/adr.

🤖 Generated by Claude Code

Verified each checkable claim in the READMEs, crate-level rustdoc, docs/
reference tree, SECURITY/CONTRIBUTING and the architecture baseline against
the workspace and corrected what drifted. No behaviour changes; the only
Rust edits are doc comments (//! and ///) and intra-doc link paths.

- BASELINE-solid-pod-rs.md: version 0.5.0-alpha.9, re-recorded every rotted
  file:line citation (git_mark_write 3462, no-op shim 3668, handle_patch
  1619, seed_graph 1896, replay.rs/replay_store.rs, multitenant.rs),
  bumped to 0.1.1 / verified_commit 045c24e per its own change process.
- solid-pod-rs-server README + http-endpoints.md: `git` is not a default
  feature; dpop-replay-cache/nip98-schnorr/nip98-replay/acl-origin/mrc20/
  embedded-docs are always on via the dependency; admin provision returns
  podUrl `/pods/{pk}/` and is registered unconditionally; git-panel routes
  and OPTIONS preflight live at `/pods/{pubkey}/_git/…`; real CORS header
  set; real WWW-Authenticate challenge; crates.io install is live.
- NIP-98 freshness window is ±60 s (TIMESTAMP_TOLERANCE), not ±120 s.
- Sibling READMEs: LOC and test counts refreshed (2026-09-22), git/nostr
  "will close when this crate lands" → shipped, activitypub module table
  matches src/, idp PARITY path fixed, forge marks forks/PRs, NIP-34
  announce, anchoring and marks manager as planned and states that the
  bundled server gates the forge with the ownership guard, not WAC.
- Root README: fixed broken link to the archived ADR-059; FsBackend::new is
  async; git-marks are always-on only in a --features git build.
- env-vars.md: dropped JSS_WORKERS / JSS_LOG_LEVEL / JSS_DISABLE_DOTFILES
  (no Rust consumer), added JSS_MAX_ACL_JSON_DEPTH; migrate-from-jss.md:
  JSS_MASHLIB is a runtime flag; ecosystem-integration.md: S3 scaffold
  removed in alpha.8; comparison-vs-jss: cargo install path.
- examples-index.md / tutorial 03: no `standalone` example exists; use the
  bundled server. benchmarks.md: five benches (dpop_replay_bench added).
- SECURITY.md dotfile allowlist adds .acl.meta and .account; CONTRIBUTING
  no longer points at a vendored JSS checkout that is not in the repo.
- api.md / solid-oidc-compatibility-matrix.md version pins → alpha.9
  (no oidc source change since the alpha.8 tag).
- Rustdoc: crate-qualified five intra-doc links in the server crate that
  fail under -D rustdoc::broken-intra-doc-links (module docs merged into
  crate scope), so `cargo doc --no-deps` is clean for all members.

Gates run locally: cargo test --workspace --all-features (1896 passed,
114 binaries), cargo doc --no-deps -D warnings -D broken-intra-doc-links
for every crate, cargo test --doc --workspace --all-features, cargo fmt
--check, scripts/check-diagram-staleness.sh, scripts/adr-index-gen.js.

Co-Authored-By: jjohare <github@thedreamlab.uk>

This branch has not been deployed

No deployments
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.

2 participants