Skip to content

docs(docs): clean up public documentation (#34) - #153

Open
tetsuh wants to merge 5 commits into
mainfrom
feat/34-public-documentation
Open

docs(docs): clean up public documentation (#34)#153
tetsuh wants to merge 5 commits into
mainfrom
feat/34-public-documentation

Conversation

@tetsuh

@tetsuh tetsuh commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #34

  • Replace the obsolete README skeleton with current build, install, component, quickstart, and documentation guidance
  • Make root CONTRIBUTING.md the canonical development workflow and retain the former path as an exact compatibility pointer
  • Add an offline standard-library contract test for public Markdown structure, syntax, local targets, and approved external hosts
  • Remove generated-site premises from the public build and roadmap documents

Requirements

Reference requirement IDs from docs/01_requirements.md (F/N/C/P/X): N/A — this PR changes documentation navigation and contributor guidance, not product behavior.

Contract Registry

Affected contract-registry row(s) (docs/08_contract_registry.md) with their status transition
(Contract / Implementation / none), or N/A if no contract is touched:

N/A — no public API, wire, identifier, or compatibility contract changes.

Frozen Issue Checklist

  • Finish README.md: replace the obsolete pre-development status; show the existing Linux and Windows configure/build/test preset commands; link examples/cpp/quickstart.cpp and examples/python/quickstart.py; summarize the roles of StorageNode, ParamStore, and ParamCache with a link to docs/02_architecture.md; and add only the tracked CI workflow status badge
  • Make root CONTRIBUTING.md the single canonical development workflow; replace docs/development_workflow.md with a short compatibility pointer and update repository-owned links to the canonical file
  • Reconcile docs/00_overview.md, docs/06_build_test_packaging.md, and the #34/#35 roadmap entries in docs/07_issue_breakdown.md with the Markdown-only documentation policy
  • Add a standard-library documentation contract test at tests/docs/test_public_documentation.py; it must enforce the exact machine-checkable content assertions and repository-owned Markdown link grammar below without network access
  • Repair any link-policy failure in an Expected-files entry; files in the read-only scan corpus but outside Expected files must not be edited

Acceptance Criteria Verification

  • python3 tests/docs/test_public_documentation.py -v
    • 8 tests passed
    • Validates the 49-file public Markdown corpus, supported and rejected syntax fixtures, strict repository-local resolution, approved HTTPS hosts, README content, canonical workflow headings, and exact compatibility-pointer bytes
  • (cd /tmp && python3 /home/hayate/git/sitos/tests/docs/test_public_documentation.py -v)
    • 8 tests passed; confirms the command is independent of the caller's working directory
  • git diff --check
    • Passed
  • Rendered-Markdown review
    • README.md, CONTRIBUTING.md, and docs/development_workflow.md inspected for headings, lists, code fences, links, and presentation
  • Existing CI and Python wheels PR jobs
    • Pending GitHub Actions results for this PR head

RED-phase Evidence

  • Command: python3 tests/docs/test_public_documentation.py -v
  • Failing test name: PublicDocumentationTest.test_contributing_contract
  • Expected failure reason: the unchanged repository had no root CONTRIBUTING.md; its README and legacy workflow path also violated the frozen documentation contract
  • Representative failure-message line: FileNotFoundError: [Errno 2] No such file or directory: '/home/hayate/git/sitos/CONTRIBUTING.md'
  • Complete CI-log link (only when the excerpt is insufficient): N/A — the local excerpt is sufficient

This is pre-implementation compile/contract RED, not behavioral RED. Behavioral RED is N/A because the frozen scope changes documentation content and link contracts only.

ADR Needed?

An ADR is required when docs/10_adr_process.md §6 applies. §6 includes introducing a second
surface that overlaps an existing contract-registry row (registry Rule 2).

  • No
  • Yes — ADR PR: #

No dependency, generated-documentation architecture, hosting, build behavior, protocol, or public API decision is introduced.

Owner Merge Authorization

Complete this section only after the owner authorizes this exact PR head. Leave the status as
Pending when opening or updating the PR.

  • Status: Pending
  • Authorized head SHA:
  • Owner instruction link:

Authorization is one-time, expires after a new commit or new blocking finding, and never enables
auto-merge.

- Make README and contribution entry points accurate and navigable
- Add an offline Markdown structure and link-policy contract test
- Remove generated-site premises from the public roadmap and build docs
@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 95c4ef26-7d43-4376-aa15-7b7420814cc3

📥 Commits

Reviewing files that changed from the base of the PR and between 664b946 and d577b0b.

📒 Files selected for processing (1)
  • tests/docs/test_public_documentation.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • tests/docs/test_public_documentation.py

📝 Walkthrough

Summary by CodeRabbit

  • Documentation

    • Added comprehensive contributor workflow guidance covering branching, testing, pull requests, releases, and development standards.
    • Reworked the project overview with current architecture, build instructions, quickstarts, documentation links, and licensing.
    • Updated documentation maps, build guidance, issue scope, and cross-references for repository-rendered Markdown.
    • Redirected older workflow guidance to the canonical contributor guide.
  • Tests

    • Added offline validation for Markdown structure, links, destinations, encoding, and required documentation content.

Walkthrough

The pull request establishes CONTRIBUTING.md as the canonical workflow document, updates repository documentation for the Markdown-only policy and current project state, and adds offline contract tests for public Markdown links and required content.

Changes

Public documentation cleanup

Layer / File(s) Summary
Canonical workflow guidance
CONTRIBUTING.md, AGENTS.md, docs/development_workflow.md, docs/00_overview.md, docs/08_contract_registry.md
Contributor workflow guidance now resides in CONTRIBUTING.md. Repository references and the legacy document now point to the canonical location.
Documentation and roadmap reconciliation
README.md, docs/06_build_test_packaging.md, docs/07_issue_breakdown.md
README.md now documents the implemented project, build paths, quickstarts, and documentation index. Supporting documents now describe Markdown-only documentation and the revised issue scope.
Offline documentation contract validation
tests/docs/test_public_documentation.py
Adds standard-library Markdown parsing, link and destination validation, corpus scanning, and repository-specific content checks.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

  • tetsuh/sitos#116: Updates related overview, contract registry, and workflow documentation references.
  • tetsuh/sitos#130: Updates related contributor workflow and governance documentation.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 4.76% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the documentation cleanup, which is the primary change in the pull request.
Description check ✅ Passed The description follows the template and includes the summary, requirements, checklist, verification, RED evidence, ADR decision, and authorization status.
Linked Issues check ✅ Passed The changes address Issue #34 objectives, including documentation updates, workflow migration, link validation, contract tests, and scope constraints.
Out of Scope Changes check ✅ Passed The changed files and test additions are directly related to the public documentation cleanup objectives, with no unrelated product or workflow changes.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/34-public-documentation

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

11-11: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Add language identifiers to fenced code blocks.

These fences produce MD040 warnings. Use text for diagrams, templates, and procedural examples where no executable language applies.

Also applies to: 52-52, 62-62, 125-125, 187-187

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CONTRIBUTING.md` at line 11, Update every fenced code block in
CONTRIBUTING.md, including the referenced occurrences, to include an appropriate
language identifier; use text for diagrams, templates, and non-executable
procedural examples to eliminate MD040 warnings.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CONTRIBUTING.md`:
- Around line 37-45: Update the task-start requirement in the numbered workflow
of CONTRIBUTING.md to require reading the full target GitHub Issue, applicable
issue-breakdown entry, referenced design sections, related ADRs, and the full
CONTRIBUTING.md workflow and TDD steps before implementation begins; retain the
existing issue-existence confirmation.

In `@docs/06_build_test_packaging.md`:
- Around line 399-401: Add the required command `python3
tests/docs/test_public_documentation.py -v` to mandatory CI validation or
register an equivalent CTest, ensuring the public documentation contract runs in
the existing validation workflow alongside current CTest and CI Python suites.

In `@docs/07_issue_breakdown.md`:
- Around line 631-632: Update the “Implementation targets” entry in the roadmap
to list every target as an exact path rather than category descriptions,
including README.md, CONTRIBUTING.md, AGENTS.md, docs/development_workflow.md,
docs/00_overview.md, docs/08_contract_registry.md,
docs/06_build_test_packaging.md, the compatibility workflow pointer,
public-document navigation files, tests/docs/test_public_documentation.py, and
this roadmap file.

In `@tests/docs/test_public_documentation.py`:
- Around line 114-116: Update the documentation line-processing logic around
validate_destination so four-space-indented list continuation lines are not
unconditionally discarded; parse whether the indentation belongs to a list
continuation or reject ambiguous indented link syntax before skipping. Add a
regression test covering a list item followed by an indented link and ensure the
link is validated.

---

Nitpick comments:
In `@CONTRIBUTING.md`:
- Line 11: Update every fenced code block in CONTRIBUTING.md, including the
referenced occurrences, to include an appropriate language identifier; use text
for diagrams, templates, and non-executable procedural examples to eliminate
MD040 warnings.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7e9e94d8-ae5b-4d8d-bb34-878ebe07ef92

📥 Commits

Reviewing files that changed from the base of the PR and between b51bfc9 and 3b480d9.

📒 Files selected for processing (9)
  • AGENTS.md
  • CONTRIBUTING.md
  • README.md
  • docs/00_overview.md
  • docs/06_build_test_packaging.md
  • docs/07_issue_breakdown.md
  • docs/08_contract_registry.md
  • docs/development_workflow.md
  • tests/docs/test_public_documentation.py

Comment thread CONTRIBUTING.md
Comment thread docs/06_build_test_packaging.md
Comment thread docs/07_issue_breakdown.md
Comment thread tests/docs/test_public_documentation.py
tetsuh added 4 commits August 9, 2026 23:21
- Reject multiline candidates with forbidden label or alt syntax
- Add review-driven regression fixtures for escaped and nested forms
- Validate the offline documentation contract from repository and external working directories
- Cover every frozen ASCII-whitespace boundary for raw link tags
- Add review-driven regression fixtures for vertical-tab anchors and images
- Validate the offline documentation contract from repository and external working directories
- Split only CRLF, CR, and LF boundaries in the offline scanner
- Add review-driven regression coverage for control-separator prefixes
- Validate the documentation contract from repository and external directories
- Recognize CRLF, CR, and LF boundaries in multiline link checks
- Add review-driven regression coverage for all physical line endings
- Validate the documentation contract from repository and external directories
@sonarqubecloud

sonarqubecloud Bot commented Aug 9, 2026

Copy link
Copy Markdown

@tetsuh

tetsuh commented Aug 10, 2026

Copy link
Copy Markdown
Owner Author

Disposition: not applicable for Issue #34.

The requested broad Python docstring coverage is outside the frozen Markdown-only scope; Issue #34 explicitly excludes broad C++ comment and Python docstring work. Corrective commit: not applicable (no change required). Sol confirmed this disposition at head d577b0b7beee0c21bb7480567377fdc727e91498. Bounded validation: both documentation-contract invocations passed all 8 tests, and the exact-head Issue-mandated CI and wheel jobs are green.

Source: #153 (comment)

@tetsuh

tetsuh commented Aug 10, 2026

Copy link
Copy Markdown
Owner Author

Disposition: not applicable for Issue #34.

MD040 fence-language identifiers are not an acceptance requirement; the frozen grammar explicitly allows an optional fence info string. Corrective commit: not applicable (no change required). Sol confirmed this disposition at head d577b0b7beee0c21bb7480567377fdc727e91498. Bounded validation: both documentation-contract invocations passed all 8 tests, and the exact-head Issue-mandated CI and wheel jobs are green.

Source: #153 (review)

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.

[M5] Public documentation cleanup

1 participant