Skip to content

Split docs into user and developer wikis#2588

Merged
rmusser01 merged 1 commit into
devfrom
codex/docs-audience-wikis
Jul 3, 2026
Merged

Split docs into user and developer wikis#2588
rmusser01 merged 1 commit into
devfrom
codex/docs-audience-wikis

Conversation

@rmusser01

@rmusser01 rmusser01 commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add audience-first User Wiki and Developer Wiki landing pages under Docs/Wiki.
  • Rework MkDocs navigation, README links, docs-site guidance, CI checks, and published-doc refresh behavior around those two entry points.
  • Add regression coverage for the new wiki/nav contract and keep generated Docs/Published churn limited to the files required by the new nav.

Test Plan

  • PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 /Users/macbook-dev/Documents/GitHub/tldw_server2/.venv/bin/python -m pytest -q -p pytest_asyncio.plugin tldw_Server_API/tests/Docs — 120 passed
  • /Users/macbook-dev/Documents/GitHub/tldw_server2/.venv/bin/python -m mkdocs build -f Docs/mkdocs.yml — exit 0; existing repo-wide docs warnings remain
  • /Users/macbook-dev/Documents/GitHub/tldw_server2/.venv/bin/python Helper_Scripts/docs/check_public_private_boundary.py
  • /Users/macbook-dev/Documents/GitHub/tldw_server2/.venv/bin/python Helper_Scripts/docs/check_readme_docs_path_hygiene.py
  • /Users/macbook-dev/Documents/GitHub/tldw_server2/.venv/bin/python Helper_Scripts/docs/check_top_guides_docs_path_hygiene.py
  • /Users/macbook-dev/Documents/GitHub/tldw_server2/.venv/bin/python -m bandit -r tldw_Server_API/tests/Docs/test_docs_audience_wikis.py tldw_Server_API/tests/Docs/conftest.py -f json -o /tmp/bandit_task_12119_docs.json — zero findings

Merge Note

  • This PR is AI-authored. Per project policy, it still needs a human-written Change summary before merge.

Summary by cubic

Split the docs into audience-first User and Developer wikis and made them the new Home for the published site. Updated navigation, refresh pipeline, CI checks, tests, and README links; also published an Architecture overview, ADRs, and a Data Flow Atlas for contributors.

  • New Features
    • Added Docs/Wiki landing pages (User Wiki, Developer Wiki), published under Docs/Published/Wiki, and set Wiki/index.md as Home in Docs/mkdocs.yml.
    • Kept existing guide/reference URLs intact while reorganizing nav around the two wikis.
    • Extended refresh script to sync Wiki/, Architecture.md, and ADR/; CI now verifies Docs/Published/Wiki, Docs/Published/ADR, and Docs/Published/Architecture.md.
    • Added focused regression tests for the wiki/nav contract and updated docs test fixtures.
    • README now points to Docs/Wiki/User_Wiki.md and Docs/Wiki/Developer_Wiki.md.
    • Published contributor references: Architecture.md, ADR set (+inventory/README), and the Data Flow Atlas.

Written for commit 74a7937. Summary will update on new commits.

Review in cubic

@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 45f985d0-919c-4e33-9eb4-efc7165964a0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/docs-audience-wikis

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

@rmusser01 rmusser01 merged commit 4ca5c7b into dev Jul 3, 2026
4 of 31 checks passed
@rmusser01 rmusser01 deleted the codex/docs-audience-wikis branch July 3, 2026 17:17

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request restructures the documentation site to be audience-first, introducing a 'User Wiki' and a 'Developer Wiki' as top-level entry points. It updates the navigation in mkdocs.yml, adds landing pages under Docs/Wiki, introduces several Architecture Decision Records (ADRs), and updates the sync script and test configurations. Feedback from the reviewer correctly identifies that the Getting_Started and Overview directories are referenced in the navigation but are missing from the public site folder list in Docs_Site_Guide.md, the sync script refresh_docs_published.sh, and the test setup in conftest.py, which could lead to broken links or build failures.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines 32 to 33
- `Docs/Evals`
- `Docs/User_Guides`

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The folders Docs/Getting_Started and Docs/Overview are referenced in the navigation configuration of Docs/mkdocs.yml and linked in the new wikis, but they are not listed here under the folders included on the public site. Please update this list to include them.

preserve_and_copy "$SRC_DIR/API-related" "$DEST_DIR/API-related"

# Audience wiki landing pages
preserve_and_copy "$SRC_DIR/Wiki" "$DEST_DIR/Wiki"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The folders Getting_Started and Overview are active parts of the documentation site navigation and are linked from the new wikis, but they are currently omitted from the sync process. This will cause broken links or build failures in clean environments where Docs/Published is generated from scratch. Please add copy commands for these folders.

Suggested change
preserve_and_copy "$SRC_DIR/Wiki" "$DEST_DIR/Wiki"
preserve_and_copy "$SRC_DIR/Wiki" "$DEST_DIR/Wiki"
preserve_and_copy "$SRC_DIR/Getting_Started" "$DEST_DIR/Getting_Started"
preserve_and_copy "$SRC_DIR/Overview" "$DEST_DIR/Overview"


_preserve_and_copy(src_dir / "API-related", dest_dir / "API-related")
_preserve_and_copy(src_dir / "Code_Documentation", dest_dir / "Code_Documentation")
_preserve_and_copy(src_dir / "Wiki", dest_dir / "Wiki")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Similarly to the refresh script, the test setup in conftest.py does not copy the Getting_Started and Overview folders to the temporary test destination directory. This can cause tests that verify documentation structure or build the site to fail. Please add copy calls for these folders.

Suggested change
_preserve_and_copy(src_dir / "Wiki", dest_dir / "Wiki")
_preserve_and_copy(src_dir / "Wiki", dest_dir / "Wiki")
_preserve_and_copy(src_dir / "Getting_Started", dest_dir / "Getting_Started")
_preserve_and_copy(src_dir / "Overview", dest_dir / "Overview")

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Split docs into user and developer wiki entry points

📝 Documentation ⚙️ Configuration changes 🧪 Tests 🕐 40+ Minutes

Grey Divider

AI Description

• Add audience-first User Wiki and Developer Wiki landing pages under Docs/Wiki.
• Rework MkDocs nav, README links, and published-doc refresh to use those entry points.
• Add CI/test contracts to prevent wiki/nav/published-doc drift.
Diagram

graph TD
  A["Docs/Wiki + Docs/ADR + Architecture.md"] --> B["refresh_docs_published.sh"] --> C[("Docs/Published")] --> D["mkdocs build"]
  E["Docs/mkdocs.yml nav"] --> D --> F["CI mkdocs workflow"]
  C --> G["pytest docs contract"] --> F
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Split into two MkDocs sites (user + developer)
  • ➕ Strong separation of concerns and independent navigation trees
  • ➕ Can publish different themes/URLs/audiences independently
  • ➖ Higher operational/CI complexity (two builds, two deploys, link coordination)
  • ➖ Harder to share pages across audiences without duplication
2. Keep one nav, add top-level “User” and “Developer” sections only
  • ➕ Minimal churn to existing navigation
  • ➕ Less risk of missing links when reorganizing nav
  • ➖ Doesn’t create a clear “start here” path for each audience
  • ➖ Top-level nav remains broad and harder to scan
3. Generate wiki landing pages via MkDocs plugins/macros instead of committed markdown
  • ➕ Reduces manual upkeep of link lists
  • ➕ Could auto-sync sections from nav config
  • ➖ Adds plugin dependency and build-time complexity
  • ➖ Harder to review/maintain in a repo that curates Docs/Published explicitly

Recommendation: The PR’s approach (single site + explicit User/Developer landing pages + nav reorg + contract tests) is the best tradeoff: it improves discoverability without introducing a second docs deployment, keeps existing source paths stable, and adds CI/test enforcement to prevent future drift.

Files changed (62) +4707 / -41

Tests (2) +70 / -0
conftest.pyExtend docs refresh fixture to include Wiki, ADR, and Architecture +7/-0

Extend docs refresh fixture to include Wiki, ADR, and Architecture

• Updates the docs test harness to treat the generated wiki pages as expected outputs. Mirrors the refresh script logic by copying 'Wiki', 'ADR', and 'Architecture.md' into the test-generated published tree.

tldw_Server_API/tests/Docs/conftest.py

test_docs_audience_wikis.pyAdd contract tests for audience wiki pages, MkDocs nav, and README links +63/-0

Add contract tests for audience wiki pages, MkDocs nav, and README links

• Adds regression tests asserting that source and published wiki landing pages exist, MkDocs nav exposes 'User Wiki' and 'Developer Wiki' at top level, and the README links to both entry points. Uses descriptive failures to make docs-IA breaks easy to diagnose.

tldw_Server_API/tests/Docs/test_docs_audience_wikis.py

Documentation (57) +4537 / -1
Docs_Site_Guide.mdDocument audience-first wiki entry points and publishing scope +23/-0

Document audience-first wiki entry points and publishing scope

• Adds guidance describing the User Wiki/Developer Wiki split and clarifies that these are MkDocs landing pages (not GitHub Wiki). Updates the curated publishing rules to include 'Docs/Wiki', 'Docs/ADR', and optional 'Docs/Architecture.md', plus new nav authoring guidance.

Docs/Code_Documentation/Docs_Site_Guide.md

index.mdAdd docs landing page to choose User vs Developer wiki +33/-0

Add docs landing page to choose User vs Developer wiki

• Introduces an audience chooser page describing when to use the User Wiki vs Developer Wiki, with links to each. Adds shared reference links for quick access to commonly-used pages.

Docs/Wiki/index.md

User_Wiki.mdAdd User Wiki landing page linking to key user workflows +68/-0

Add User Wiki landing page linking to key user workflows

• Provides a user-facing route map for setup, WebUI/extension workflows, chat/characters, RAG/knowledge workflows, local models/audio, admin/ops, and practical API usage. Links point to existing stable docs paths.

Docs/Wiki/User_Wiki.md

Developer_Wiki.mdAdd Developer Wiki landing page linking to contributor references +68/-0

Add Developer Wiki landing page linking to contributor references

• Provides a contributor-facing route map for development setup, architecture/code maps, module guides, API/contracts, storage/jobs, and maintenance/release references. Emphasizes these pages are part of the published MkDocs site.

Docs/Wiki/Developer_Wiki.md

2026-07-03-docs-audience-wikis-design.mdAdd design spec for audience-first docs wikis +41/-0

Add design spec for audience-first docs wikis

• Captures the decision to keep a single MkDocs site while adding 'Docs/Wiki' landing pages and reorganizing navigation by audience. Defines verification expectations for tests and build checks.

Docs/superpowers/specs/2026-07-03-docs-audience-wikis-design.md

2026-07-03-docs-audience-wikis-implementation-plan.mdAdd step-by-step implementation plan for the docs wiki split +92/-0

Add step-by-step implementation plan for the docs wiki split

• Documents tasks to add contract tests, create wiki landing pages, update the refresh script and navigation, and record verification steps. Serves as an execution checklist for agentic workers.

Docs/superpowers/plans/2026-07-03-docs-audience-wikis-implementation-plan.md

README.mdRoute readers to User Wiki / Developer Wiki entry points +3/-1

Route readers to User Wiki / Developer Wiki entry points

• Replaces the single “User Guides documentation map” callout with explicit User Wiki and Developer Wiki links. Adds the two wiki links to the documentation/resources section so newcomers pick the right starting path.

README.md

task-12119 - Split-published-docs-navigation-into-user-and-developer-wiki-entry-points.mdRecord completed task for audience-first docs navigation split +64/-0

Record completed task for audience-first docs navigation split

• Adds a backlog task documenting scope, acceptance criteria, verification commands, and final summary for the docs wiki split. Provides traceability for the documentation IA change.

backlog/tasks/task-12119 - Split-published-docs-navigation-into-user-and-developer-wiki-entry-points.md

index.mdAdd generated published wiki chooser page +33/-0

Add generated published wiki chooser page

• Adds the curated/published version of the 'Docs/Wiki/index.md' landing page under 'Docs/Published/Wiki'. This file is generated by the refresh pipeline and should not be edited manually.

Docs/Published/Wiki/index.md

User_Wiki.mdAdd generated published User Wiki landing page +68/-0

Add generated published User Wiki landing page

• Adds the curated/published version of 'Docs/Wiki/User_Wiki.md' under 'Docs/Published/Wiki'. Ensures the published site exposes the user-facing route map.

Docs/Published/Wiki/User_Wiki.md

Developer_Wiki.mdAdd generated published Developer Wiki landing page +68/-0

Add generated published Developer Wiki landing page

• Adds the curated/published version of 'Docs/Wiki/Developer_Wiki.md' under 'Docs/Published/Wiki'. Ensures the published site exposes the contributor-facing route map.

Docs/Published/Wiki/Developer_Wiki.md

Architecture.mdAdd published Architecture Overview entry point for contributors +385/-0

Add published Architecture Overview entry point for contributors

• Introduces a curated architecture overview page in the published docs tree. This provides a canonical high-level system mental model for contributors and is now included in the curated publish scope.

Docs/Published/Architecture.md

Data_Flow_Atlas.mdPublish Data Flow Atlas into curated docs output +1295/-0

Publish Data Flow Atlas into curated docs output

• Adds the published copy of the backend Data Flow Atlas under 'Docs/Published/Code_Documentation'. This is part of the refreshed curated content set.

Docs/Published/Code_Documentation/Data_Flow_Atlas.md

Docs_Site_Guide.mdPublish updated docs site guide into curated docs output +23/-0

Publish updated docs site guide into curated docs output

• Adds the published copy of the updated Docs Site Guide under 'Docs/Published/Code_Documentation'. Reflects the new audience-first navigation and publishing rules.

Docs/Published/Code_Documentation/Docs_Site_Guide.md

Knowledge_QA_Guide.mdPublish Knowledge QA guide into curated docs output +203/-0

Publish Knowledge QA guide into curated docs output

• Adds the published copy of the Knowledge QA guide under the WebUI/Extension user guides. Ensures it appears in the curated public docs build as referenced by the updated nav/wiki pages.

Docs/Published/User_Guides/WebUI_Extension/Knowledge_QA_Guide.md

README.mdPublish ADR index and workflow guidance +62/-0

Publish ADR index and workflow guidance

• Adds an ADR README describing ADR purpose, workflow, status rules, and an index of existing ADRs. This enables contributor-facing decision records to be part of the published docs set.

Docs/Published/ADR/README.md

000-template.mdPublish ADR template for new decisions +30/-0

Publish ADR template for new decisions

• Adds the standard ADR template to the published ADR section. Supports consistent decision capture and review.

Docs/Published/ADR/000-template.md

001-adr-workflow-and-governance.mdPublish ADR-001 (ADR workflow/governance) +32/-0

Publish ADR-001 (ADR workflow/governance)

• Adds ADR-001 to the published ADR set, documenting the governing ADR workflow. Included as part of the new curated ADR publishing scope.

Docs/Published/ADR/001-adr-workflow-and-governance.md

002-backlog-md-task-tracking.mdPublish ADR-002 (Backlog.md task tracking) +32/-0

Publish ADR-002 (Backlog.md task tracking)

• Adds ADR-002 describing task tracking expectations. Included in the curated ADR publishing scope.

Docs/Published/ADR/002-backlog-md-task-tracking.md

003-jobs-vs-scheduler-default.mdPublish ADR-003 (Jobs vs Scheduler) +32/-0

Publish ADR-003 (Jobs vs Scheduler)

• Adds ADR-003 defining when to use Jobs vs the Scheduler subsystem. Included in the curated ADR publishing scope.

Docs/Published/ADR/003-jobs-vs-scheduler-default.md

004-ai-generated-pr-change-summary-gate.mdPublish ADR-004 (AI-authored PR change summary gate) +32/-0

Publish ADR-004 (AI-authored PR change summary gate)

• Adds ADR-004 documenting the requirement for a human-written change summary on materially AI-authored PRs. Included in the curated ADR publishing scope.

Docs/Published/ADR/004-ai-generated-pr-change-summary-gate.md

005-bandit-touched-scope-security-gate.mdPublish ADR-005 (Bandit touched-scope gate) +32/-0

Publish ADR-005 (Bandit touched-scope gate)

• Adds ADR-005 documenting a Bandit-based security gate for touched Python scope (now superseded). Included in the curated ADR publishing scope.

Docs/Published/ADR/005-bandit-touched-scope-security-gate.md

006-bandit-report-path-portability.mdPublish ADR-006 (portable Bandit report paths) +33/-0

Publish ADR-006 (portable Bandit report paths)

• Adds ADR-006 refining the Bandit touched-scope gate to require portable report output paths. Included in the curated ADR publishing scope.

Docs/Published/ADR/006-bandit-report-path-portability.md

007-research-workspace-canonical-first-slice-shell.mdPublish ADR-007 (ResearchWorkspace canonical shell) +37/-0

Publish ADR-007 (ResearchWorkspace canonical shell)

• Adds ADR-007 documenting the canonical research workspace shell choice. Included in the curated ADR publishing scope.

Docs/Published/ADR/007-research-workspace-canonical-first-slice-shell.md

008-workspace-split-key-persistence-and-indexeddb-offload.mdPublish ADR-008 (workspace persistence split) +37/-0

Publish ADR-008 (workspace persistence split)

• Adds ADR-008 documenting localStorage/IndexedDB persistence strategy. Included in the curated ADR publishing scope.

Docs/Published/ADR/008-workspace-split-key-persistence-and-indexeddb-offload.md

009-quick-chat-docs-assistant-modes.mdPublish ADR-009 (Quick Chat modes) +37/-0

Publish ADR-009 (Quick Chat modes)

• Adds ADR-009 documenting assistant mode splits for Quick Chat. Included in the curated ADR publishing scope.

Docs/Published/ADR/009-quick-chat-docs-assistant-modes.md

010-sandbox-vz-runtime-ownership.mdPublish ADR-010 (sandbox runtime ownership) +46/-0

Publish ADR-010 (sandbox runtime ownership)

• Adds ADR-010 documenting ownership of the 'vz_linux' sandbox runtime path. Included in the curated ADR publishing scope.

Docs/Published/ADR/010-sandbox-vz-runtime-ownership.md

011-audio-api-semantics.mdPublish ADR-011 (audio API semantics) +55/-0

Publish ADR-011 (audio API semantics)

• Adds ADR-011 documenting key audio API semantics and routing decisions. Included in the curated ADR publishing scope.

Docs/Published/ADR/011-audio-api-semantics.md

012-evaluations-resource-id-prefixes.mdPublish ADR-012 (Evaluations ID prefixes) +39/-0

Publish ADR-012 (Evaluations ID prefixes)

• Adds ADR-012 documenting type-prefixed IDs for evaluation resources. Included in the curated ADR publishing scope.

Docs/Published/ADR/012-evaluations-resource-id-prefixes.md

013-evaluations-deletion-lifecycle.mdPublish ADR-013 (Evaluations deletion lifecycle) +39/-0

Publish ADR-013 (Evaluations deletion lifecycle)

• Adds ADR-013 documenting deletion semantics for evaluation definitions and datasets. Included in the curated ADR publishing scope.

Docs/Published/ADR/013-evaluations-deletion-lifecycle.md

014-evaluations-openai-compatible-schemas.mdPublish ADR-014 (OpenAI-compatible evaluation schemas) +39/-0

Publish ADR-014 (OpenAI-compatible evaluation schemas)

• Adds ADR-014 documenting request/response schema conventions for evaluations. Included in the curated ADR publishing scope.

Docs/Published/ADR/014-evaluations-openai-compatible-schemas.md

015-evaluations-existing-evaluator-integration.mdPublish ADR-015 (wrap existing evaluators) +39/-0

Publish ADR-015 (wrap existing evaluators)

• Adds ADR-015 documenting the approach to integrate existing evaluator modules. Included in the curated ADR publishing scope.

Docs/Published/ADR/015-evaluations-existing-evaluator-integration.md

016-acp-session-and-orchestration-persistence.mdPublish ADR-016 (ACP persistence) +45/-0

Publish ADR-016 (ACP persistence)

• Adds ADR-016 documenting persistence choices for ACP sessions and orchestration state. Included in the curated ADR publishing scope.

Docs/Published/ADR/016-acp-session-and-orchestration-persistence.md

017-scoped-org-team-rbac-core-semantics.mdPublish ADR-017 (scoped org/team RBAC semantics) +54/-0

Publish ADR-017 (scoped org/team RBAC semantics)

• Adds ADR-017 documenting semantics for scoped org/team RBAC overlays. Included in the curated ADR publishing scope.

Docs/Published/ADR/017-scoped-org-team-rbac-core-semantics.md

018-resource-governance-endpoint-policy-and-route-map.mdPublish ADR-018 (resource governance policy/route map) +57/-0

Publish ADR-018 (resource governance policy/route map)

• Adds ADR-018 documenting endpoint authorization and route-map ownership semantics. Included in the curated ADR publishing scope.

Docs/Published/ADR/018-resource-governance-endpoint-policy-and-route-map.md

019-security-request-edge-middleware.mdPublish ADR-019 (request-edge security middleware) +55/-0

Publish ADR-019 (request-edge security middleware)

• Adds ADR-019 documenting security middleware ownership and defaults. Included in the curated ADR publishing scope.

Docs/Published/ADR/019-security-request-edge-middleware.md

020-db-management-per-user-paths-and-content-backend.mdPublish ADR-020 (DB paths/content backend) +56/-0

Publish ADR-020 (DB paths/content backend)

• Adds ADR-020 documenting per-user DB paths and content backend choices. Included in the curated ADR publishing scope.

Docs/Published/ADR/020-db-management-per-user-paths-and-content-backend.md

021-services-lifecycle-startup-and-shutdown.mdPublish ADR-021 (services lifecycle) +59/-0

Publish ADR-021 (services lifecycle)

• Adds ADR-021 documenting services lifecycle orchestration expectations. Included in the curated ADR publishing scope.

Docs/Published/ADR/021-services-lifecycle-startup-and-shutdown.md

022-embeddings-api-and-media-pipeline.mdPublish ADR-022 (embeddings API and pipeline) +61/-0

Publish ADR-022 (embeddings API and pipeline)

• Adds ADR-022 documenting embeddings API safeguards and media pipeline ownership. Included in the curated ADR publishing scope.

Docs/Published/ADR/022-embeddings-api-and-media-pipeline.md

023-data-tables-backend-storage-jobs-and-exports.mdPublish ADR-023 (data tables backend/storage/jobs) +60/-0

Publish ADR-023 (data tables backend/storage/jobs)

• Adds ADR-023 documenting data table storage, job ownership, and export decisions. Included in the curated ADR publishing scope.

Docs/Published/ADR/023-data-tables-backend-storage-jobs-and-exports.md

024-deepseek-ocr-local-transformers-backend.mdPublish ADR-024 (DeepSeek OCR backend) +61/-0

Publish ADR-024 (DeepSeek OCR backend)

• Adds ADR-024 documenting the local Transformers-only DeepSeek OCR backend choice and constraints. Included in the curated ADR publishing scope.

Docs/Published/ADR/024-deepseek-ocr-local-transformers-backend.md

025-llm-provider-adapter-routing-and-overrides.mdPublish ADR-025 (LLM provider adapter routing) +60/-0

Publish ADR-025 (LLM provider adapter routing)

• Adds ADR-025 documenting provider adapter routing and override rules. Included in the curated ADR publishing scope.

Docs/Published/ADR/025-llm-provider-adapter-routing-and-overrides.md

026-security-outbound-egress-and-ssrf-policy.mdPublish ADR-026 (outbound egress/SSRF policy) +57/-0

Publish ADR-026 (outbound egress/SSRF policy)

• Adds ADR-026 documenting outbound egress helper requirements and SSRF constraints. Included in the curated ADR publishing scope.

Docs/Published/ADR/026-security-outbound-egress-and-ssrf-policy.md

027-security-aes-gcm-json-envelope-helpers.mdPublish ADR-027 (AES-GCM envelope helpers) +59/-0

Publish ADR-027 (AES-GCM envelope helpers)

• Adds ADR-027 documenting the shared encryption primitive for structured metadata persistence. Included in the curated ADR publishing scope.

Docs/Published/ADR/027-security-aes-gcm-json-envelope-helpers.md

028-security-restricted-legacy-pickle-compatibility.mdPublish ADR-028 (restricted pickle compatibility) +61/-0

Publish ADR-028 (restricted pickle compatibility)

• Adds ADR-028 documenting restricted legacy pickle helpers usage constraints. Included in the curated ADR publishing scope.

Docs/Published/ADR/028-security-restricted-legacy-pickle-compatibility.md

2026-06-03-acp-rbac-confirmation-audit.mdPublish ADR inventory audit (ACP/RBAC) +61/-0

Publish ADR inventory audit (ACP/RBAC)

• Adds an ADR inventory confirmation audit document under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-03-acp-rbac-confirmation-audit.md

2026-06-03-decision-inventory.mdPublish ADR decision inventory document +115/-0

Publish ADR decision inventory document

• Adds a compiled decision inventory under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-03-decision-inventory.md

2026-06-03-evaluations-confirmation-audit.mdPublish ADR inventory audit (Evaluations) +54/-0

Publish ADR inventory audit (Evaluations)

• Adds an evaluations-focused ADR confirmation audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-03-evaluations-confirmation-audit.md

2026-06-04-db-management-confirmation-audit.mdPublish ADR inventory audit (DB management) +50/-0

Publish ADR inventory audit (DB management)

• Adds a DB-management ADR confirmation audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-04-db-management-confirmation-audit.md

2026-06-04-embeddings-confirmation-audit.mdPublish ADR inventory audit (Embeddings) +66/-0

Publish ADR inventory audit (Embeddings)

• Adds an embeddings ADR confirmation audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-04-embeddings-confirmation-audit.md

2026-06-04-llm-provider-integration-confirmation-audit.mdPublish ADR inventory audit (LLM provider integration) +40/-0

Publish ADR inventory audit (LLM provider integration)

• Adds an LLM-provider integration ADR confirmation audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-04-llm-provider-integration-confirmation-audit.md

2026-06-04-resource-governance-confirmation-audit.mdPublish ADR inventory audit (resource governance) +45/-0

Publish ADR inventory audit (resource governance)

• Adds a resource-governance ADR confirmation audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-04-resource-governance-confirmation-audit.md

2026-06-04-security-confirmation-audit.mdPublish ADR inventory audit (Security) +50/-0

Publish ADR inventory audit (Security)

• Adds a security ADR confirmation audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-04-security-confirmation-audit.md

2026-06-04-services-lifecycle-confirmation-audit.mdPublish ADR inventory audit (services lifecycle) +48/-0

Publish ADR inventory audit (services lifecycle)

• Adds a services-lifecycle ADR confirmation audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-04-services-lifecycle-confirmation-audit.md

2026-06-07-data-tables-confirmation-audit.mdPublish ADR inventory audit (data tables) +48/-0

Publish ADR inventory audit (data tables)

• Adds a data-tables ADR confirmation audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-07-data-tables-confirmation-audit.md

2026-06-07-deepseek-ocr-confirmation-audit.mdPublish ADR inventory audit (DeepSeek OCR) +44/-0

Publish ADR inventory audit (DeepSeek OCR)

• Adds a DeepSeek OCR ADR confirmation audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-07-deepseek-ocr-confirmation-audit.md

2026-06-07-security-secrets-serialization-adoption-audit.mdPublish ADR inventory audit (security secrets serialization) +51/-0

Publish ADR inventory audit (security secrets serialization)

• Adds a security secrets/serialization adoption audit under the published ADR inventory section. Included as part of publishing ADR materials.

Docs/Published/ADR/inventory/2026-06-07-security-secrets-serialization-adoption-audit.md

Other (3) +100 / -40
mkdocs.ymlTighten curated-docs CI checks for new published sections +2/-1

Tighten curated-docs CI checks for new published sections

• Extends the curated docs directory existence checks to include 'ADR' and 'Wiki', and asserts 'Docs/Published/Architecture.md' is present. This aligns CI validation with the new audience-first docs structure.

.github/workflows/mkdocs.yml

mkdocs.ymlReorganize MkDocs navigation around User Wiki and Developer Wiki +84/-39

Reorganize MkDocs navigation around User Wiki and Developer Wiki

• Changes the site home to 'Wiki/index.md' and introduces top-level 'User Wiki' and 'Developer Wiki' nav trees. Re-groups existing guides/references under those audience tabs while keeping shared references (e.g., Feature Status, Release Notes) accessible.

Docs/mkdocs.yml

refresh_docs_published.shPublish wiki landing pages plus ADR/Architecture into 'Docs/Published' +14/-0

Publish wiki landing pages plus ADR/Architecture into 'Docs/Published'

• Updates the generated 'Docs/Published/index.md' to link to the new wiki entry points and contributor references. Extends the refresh to copy 'Docs/Wiki', 'Docs/ADR', and 'Docs/Architecture.md' (when present) into the curated published tree.

Helper_Scripts/refresh_docs_published.sh

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (2) 📜 Skill insights (0)

Context used
✅ Compliance rules (platform): 74 rules

Grey Divider


Action required

1. _read() missing docstring 📘 Rule violation ✧ Quality
Description
The new helper function _read() has no function docstring, violating the requirement that all
functions in changed Python code include docstrings. Missing docstrings reduce maintainability and
make test helpers harder to understand and reuse safely.
Code

tldw_Server_API/tests/Docs/test_docs_audience_wikis.py[R13-14]

+def _read(relative_path: str) -> str:
+    return (REPO_ROOT / relative_path).read_text(encoding="utf-8")
Evidence
PR Compliance ID 224214 requires docstrings for all functions in new/modified Python code. In
test_docs_audience_wikis.py, _read() is defined and immediately returns a value with no leading
string literal docstring.

Rule 224214: Require docstrings for all modules, classes, and functions
tldw_Server_API/tests/Docs/test_docs_audience_wikis.py[13-15]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`tldw_Server_API/tests/Docs/test_docs_audience_wikis.py` introduces `_read()` without a docstring.

## Issue Context
Compliance requires docstrings for all functions in new/changed Python files.

## Fix Focus Areas
- tldw_Server_API/tests/Docs/test_docs_audience_wikis.py[13-15]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Tests missing pytest marker 📘 Rule violation ▣ Testability
Description
The newly added docs contract tests are not decorated with an allowed pytest marker (e.g.,
@pytest.mark.unit), violating the project requirement that each test has exactly one accepted
marker. This can break test selection and CI categorization.
Code

tldw_Server_API/tests/Docs/test_docs_audience_wikis.py[R23-63]

+def test_docs_audience_wiki_source_and_published_pages_exist() -> None:
+    """The docs site should expose source and generated audience wiki pages."""
+    for relative_path in (
+        "Docs/Wiki/index.md",
+        "Docs/Wiki/User_Wiki.md",
+        "Docs/Wiki/Developer_Wiki.md",
+        "Docs/Published/Wiki/index.md",
+        "Docs/Published/Wiki/User_Wiki.md",
+        "Docs/Published/Wiki/Developer_Wiki.md",
+    ):
+        _require((REPO_ROOT / relative_path).is_file(), f"Missing {relative_path}")
+
+
+def test_mkdocs_nav_exposes_audience_wikis() -> None:
+    """MkDocs navigation should make the audience split visible at top level."""
+    mkdocs_text = _read("Docs/mkdocs.yml")
+
+    _require("Home: Wiki/index.md" in mkdocs_text, "MkDocs nav should use Wiki home")
+    _require("User Wiki:" in mkdocs_text, "MkDocs nav should expose User Wiki")
+    _require("Developer Wiki:" in mkdocs_text, "MkDocs nav should expose Developer Wiki")
+    _require(
+        "Start Here: Wiki/User_Wiki.md" in mkdocs_text,
+        "User Wiki nav should start at the user wiki page",
+    )
+    _require(
+        "Start Here: Wiki/Developer_Wiki.md" in mkdocs_text,
+        "Developer Wiki nav should start at the developer wiki page",
+    )
+
+
+def test_readme_points_users_and_contributors_to_wikis() -> None:
+    """README should route readers to the right documentation audience entry."""
+    readme_text = _read("README.md")
+
+    _require("Docs/Wiki/User_Wiki.md" in readme_text, "README should link User Wiki")
+    _require(
+        "Docs/Wiki/Developer_Wiki.md" in readme_text,
+        "README should link Developer Wiki",
+    )
+    _require("User Wiki" in readme_text, "README should label the User Wiki")
+    _require("Developer Wiki" in readme_text, "README should label the Developer Wiki")
Evidence
PR Compliance ID 380651 requires each test function to have exactly one approved marker. The new
test functions are defined without any @pytest.mark.* decorators.

Rule 380651: Apply appropriate pytest markers to all tests
tldw_Server_API/tests/Docs/test_docs_audience_wikis.py[23-63]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
New tests in `tldw_Server_API/tests/Docs/test_docs_audience_wikis.py` do not have any of the required pytest markers.

## Issue Context
Project compliance requires each test to be decorated with exactly one accepted marker (`unit`, `integration`, `external_api`, or `local_llm_service`). Existing Docs contract tests in the suite use `@pytest.mark.unit`.

## Fix Focus Areas
- tldw_Server_API/tests/Docs/test_docs_audience_wikis.py[23-63]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

3. Dead Feature Status link 🐞 Bug ≡ Correctness
Description
Docs/Wiki/index.md links to ../Overview/Feature_Status.md, which resolves to
Docs/Overview/Feature_Status.md when browsing the repo, but that path does not exist. This produces
a 404/dead link for readers using the new wiki landing page directly in GitHub.
Code

Docs/Wiki/index.md[30]

+- [Feature status](../Overview/Feature_Status.md)
Evidence
The new wiki landing page explicitly links to a Feature Status file via a relative path that targets
a non-existent source-tree location, while the Feature Status document is present under
Docs/Published/Overview, indicating the link is only valid for the published tree and not for GitHub
browsing of Docs/Wiki/index.md.

Docs/Wiki/index.md[28-33]
Docs/Published/Overview/Feature_Status.md[1-5]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`Docs/Wiki/index.md` includes a relative link to `../Overview/Feature_Status.md`. In the repository, that resolves to `Docs/Overview/Feature_Status.md`, which does not exist (the Feature Status page currently lives under `Docs/Published/Overview/Feature_Status.md`). This makes the new Wiki landing page contain a dead link when viewed in GitHub.

### Issue Context
MkDocs builds from `Docs/Published` (`docs_dir: Published`), so the same markdown link works in the rendered docs site because it resolves to `Docs/Published/Overview/Feature_Status.md`. But the repo-facing source wiki page should also have valid links.

### Fix Focus Areas
- Docs/Wiki/index.md[28-33]
- Helper_Scripts/refresh_docs_published.sh[59-95]

### Suggested fix
Implement one of the following:
1) **Preferred (keeps relative links working everywhere):** Add `Docs/Overview/Feature_Status.md` (move or copy the canonical content there), and update the refresh script to also copy `Docs/Overview` into `Docs/Published/Overview` so source and published stay in sync.
2) If you do not want a source `Docs/Overview` tree: change the link in `Docs/Wiki/index.md` to an absolute URL (e.g., the published site URL or a GitHub URL), accepting that it won’t be a local relative link in MkDocs.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment on lines +13 to +14
def _read(relative_path: str) -> str:
return (REPO_ROOT / relative_path).read_text(encoding="utf-8")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. _read() missing docstring 📘 Rule violation ✧ Quality

The new helper function _read() has no function docstring, violating the requirement that all
functions in changed Python code include docstrings. Missing docstrings reduce maintainability and
make test helpers harder to understand and reuse safely.
Agent Prompt
## Issue description
`tldw_Server_API/tests/Docs/test_docs_audience_wikis.py` introduces `_read()` without a docstring.

## Issue Context
Compliance requires docstrings for all functions in new/changed Python files.

## Fix Focus Areas
- tldw_Server_API/tests/Docs/test_docs_audience_wikis.py[13-15]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment on lines +23 to +63
def test_docs_audience_wiki_source_and_published_pages_exist() -> None:
"""The docs site should expose source and generated audience wiki pages."""
for relative_path in (
"Docs/Wiki/index.md",
"Docs/Wiki/User_Wiki.md",
"Docs/Wiki/Developer_Wiki.md",
"Docs/Published/Wiki/index.md",
"Docs/Published/Wiki/User_Wiki.md",
"Docs/Published/Wiki/Developer_Wiki.md",
):
_require((REPO_ROOT / relative_path).is_file(), f"Missing {relative_path}")


def test_mkdocs_nav_exposes_audience_wikis() -> None:
"""MkDocs navigation should make the audience split visible at top level."""
mkdocs_text = _read("Docs/mkdocs.yml")

_require("Home: Wiki/index.md" in mkdocs_text, "MkDocs nav should use Wiki home")
_require("User Wiki:" in mkdocs_text, "MkDocs nav should expose User Wiki")
_require("Developer Wiki:" in mkdocs_text, "MkDocs nav should expose Developer Wiki")
_require(
"Start Here: Wiki/User_Wiki.md" in mkdocs_text,
"User Wiki nav should start at the user wiki page",
)
_require(
"Start Here: Wiki/Developer_Wiki.md" in mkdocs_text,
"Developer Wiki nav should start at the developer wiki page",
)


def test_readme_points_users_and_contributors_to_wikis() -> None:
"""README should route readers to the right documentation audience entry."""
readme_text = _read("README.md")

_require("Docs/Wiki/User_Wiki.md" in readme_text, "README should link User Wiki")
_require(
"Docs/Wiki/Developer_Wiki.md" in readme_text,
"README should link Developer Wiki",
)
_require("User Wiki" in readme_text, "README should label the User Wiki")
_require("Developer Wiki" in readme_text, "README should label the Developer Wiki")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

2. Tests missing pytest marker 📘 Rule violation ▣ Testability

The newly added docs contract tests are not decorated with an allowed pytest marker (e.g.,
@pytest.mark.unit), violating the project requirement that each test has exactly one accepted
marker. This can break test selection and CI categorization.
Agent Prompt
## Issue description
New tests in `tldw_Server_API/tests/Docs/test_docs_audience_wikis.py` do not have any of the required pytest markers.

## Issue Context
Project compliance requires each test to be decorated with exactly one accepted marker (`unit`, `integration`, `external_api`, or `local_llm_service`). Existing Docs contract tests in the suite use `@pytest.mark.unit`.

## Fix Focus Areas
- tldw_Server_API/tests/Docs/test_docs_audience_wikis.py[23-63]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread Docs/Wiki/index.md

## Shared References

- [Feature status](../Overview/Feature_Status.md)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remediation recommended

3. Dead feature status link 🐞 Bug ≡ Correctness

Docs/Wiki/index.md links to ../Overview/Feature_Status.md, which resolves to
Docs/Overview/Feature_Status.md when browsing the repo, but that path does not exist. This produces
a 404/dead link for readers using the new wiki landing page directly in GitHub.
Agent Prompt
### Issue description
`Docs/Wiki/index.md` includes a relative link to `../Overview/Feature_Status.md`. In the repository, that resolves to `Docs/Overview/Feature_Status.md`, which does not exist (the Feature Status page currently lives under `Docs/Published/Overview/Feature_Status.md`). This makes the new Wiki landing page contain a dead link when viewed in GitHub.

### Issue Context
MkDocs builds from `Docs/Published` (`docs_dir: Published`), so the same markdown link works in the rendered docs site because it resolves to `Docs/Published/Overview/Feature_Status.md`. But the repo-facing source wiki page should also have valid links.

### Fix Focus Areas
- Docs/Wiki/index.md[28-33]
- Helper_Scripts/refresh_docs_published.sh[59-95]

### Suggested fix
Implement one of the following:
1) **Preferred (keeps relative links working everywhere):** Add `Docs/Overview/Feature_Status.md` (move or copy the canonical content there), and update the refresh script to also copy `Docs/Overview` into `Docs/Published/Overview` so source and published stay in sync.
2) If you do not want a source `Docs/Overview` tree: change the link in `Docs/Wiki/index.md` to an absolute URL (e.g., the published site URL or a GitHub URL), accepting that it won’t be a local relative link in MkDocs.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

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