Skip to content

docs: add a three-track user manual and absorb the existing user guide (#428) - #429

Open
w7-mgfcode wants to merge 2 commits into
devfrom
docs/user-manual-three-track
Open

docs: add a three-track user manual and absorb the existing user guide (#428)#429
w7-mgfcode wants to merge 2 commits into
devfrom
docs/user-manual-three-track

Conversation

@w7-mgfcode

@w7-mgfcode w7-mgfcode commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Closes #428.

Adds docs/manual/ — a navigable user manual organised into three tracks — and folds the existing docs/user-guide/ into it.

Why three tracks

IntentGuard's manual uses two (operator / integrator). ForecastLabAI needs a third: it has a dashboard-analyst persona who never opens a terminal, and folding those chapters into the operator track buries them.

Track Chapters
Operator concepts, installation, quickstart, seeding-data, running-the-stack, operations
Analyst dashboard-tour, forecasting, backtesting, champion-selector, demand-and-planning, chat-and-knowledge
Integrator api-reference, code-architecture, data-model, artifacts-and-registry, extending, ci-and-quality-gates
Shared configuration, troubleshooting, faq, glossary

23 chapters, ~26k words.

Conventions

Every chapter carries a Purpose: / Intended reader: header pair, a "What you'll accomplish" section, dense cross-linking, and a "Next" pointer — so any chapter is a valid entry point.

Evidence discipline. Stated numbers trace to app/core/config.py, a fixed constant, or an authoritative module (app/shared/model_taxonomy.py, app/shared/feature_frames/contract_v2.py). Runtime-dependent figures — durations, accuracy, which model wins — are explained rather than asserted, since they depend on data, seed, and hardware. The synthetic-data caveat is stated once in operator/concepts.md and referenced rather than repeated.

Drift corrected

Found by checking the old guide against the code:

  • Model types: feature-reference.md listed 7; _MODEL_FAMILY_MAP defines 11 — 5 baseline, 4 tree, 2 additive. (weighted_moving_average, seasonal_average, random_forest, trend_regression_baseline were missing.)
  • Data-platform tables: listed as 7; there are 10 (adds exogenous_signal, replenishment_event, sales_returns).

Same class of drift as #376 (stale slice count in docs/_base/). The manual states 19 slices and 23 tables, both verified.

Disposition of docs/user-guide/

Six guides → short redirect stubs pointing at their new chapters.

Two are kept intact with only a pointer banner added, because neither is user-manual content:

  • showcase-manual-demo-guide.md — a reviewer QA procedure.
  • showcase-walkthrough.md — contains an unshipped Planned (PRP-38..41) roadmap.

Validation

  • Every internal markdown link in docs/manual/ and docs/user-guide/ resolves to an existing file.
  • Every anchor fragment resolves to a real heading.
  • No chapter is orphaned from the index.

Docs-only change — no application code touched, so the lint/type/test gates are unaffected.

Summary by Sourcery

Introduce a new three-track user manual under docs/manual and fold the existing user-guide content into it with validated, up-to-date information on models, tables, configuration, operations, and workflows.

Documentation:

  • Add a structured user manual organized into operator, analyst, and integrator tracks with shared references for configuration, troubleshooting, FAQ, and glossary.
  • Replace legacy user-guide chapters with redirect stubs pointing to their corresponding sections in the new manual while preserving non-user-manual documents.
  • Document configuration, API conventions and error semantics, data model, artifacts and registry behavior, CI/quality gates, and extension guidelines for integrators.
  • Provide detailed analyst-facing documentation for forecasting, backtesting, champion selection, demand planning, dashboard usage, and chat/RAG features.
  • Expand operator documentation for installation, running the stack in host/container modes, seeding data, operations, and quickstart flows.
  • Correct previously stale documentation around model families, feature packs, slices, and data-platform tables to match the current implementation.

…428)

Add docs/manual/ — 23 chapters across an operator, analyst, and integrator
track, plus shared configuration, troubleshooting, FAQ, and glossary
references.

Each chapter carries a Purpose / Intended reader pair, a "What you'll
accomplish" section, and a Next pointer. Stated numbers trace to
app/core/config.py, a fixed constant, or an authoritative module; runtime
figures are explained rather than asserted.

Corrects two drifts found against the code while writing:
- the model list was 7 types; app/shared/model_taxonomy.py defines 11
- the data-platform table count was 7; there are 10

Six user-guide files become redirect stubs. showcase-manual-demo-guide.md
(reviewer QA procedure) and showcase-walkthrough.md (unshipped roadmap) are
kept intact with a pointer banner — neither is user-manual content.

Every internal link and anchor resolves; no chapter is orphaned.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Sorry @w7-mgfcode, your pull request is larger than the review limit of 150000 diff characters

@coderabbitai

coderabbitai Bot commented Aug 12, 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: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e53e51eb-f1c7-4461-9ddb-587b6ea8d000

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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@sourcery-ai

sourcery-ai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Reviewer's Guide

Adds a new three-track user manual under docs/manual/, migrates and redirects the previous user-guide content into it, and corrects documented model and data-platform counts against authoritative code sources, leaving two non-manual guides intact with pointer banners.

File-Level Changes

Change Details Files
Introduce a structured three-track user manual and index, with operator, analyst, integrator, and shared chapters.
  • Create docs/manual/README.md describing the three tracks and their chapter layout.
  • Add new operator, analyst, integrator, and shared reference chapters, each with clear purpose and intended reader sections.
  • Ensure manual content is aligned with generated OpenAPI and code contracts rather than redefining them.
docs/manual/README.md
docs/manual/operator/concepts.md
docs/manual/operator/installation.md
docs/manual/operator/quickstart.md
docs/manual/operator/seeding-data.md
docs/manual/operator/running-the-stack.md
docs/manual/operator/operations.md
docs/manual/analyst/dashboard-tour.md
docs/manual/analyst/forecasting.md
docs/manual/analyst/backtesting.md
docs/manual/analyst/champion-selector.md
docs/manual/analyst/demand-and-planning.md
docs/manual/analyst/chat-and-knowledge.md
docs/manual/integrator/api-reference.md
docs/manual/integrator/code-architecture.md
docs/manual/integrator/data-model.md
docs/manual/integrator/artifacts-and-registry.md
docs/manual/integrator/extending.md
docs/manual/integrator/ci-and-quality-gates.md
docs/manual/configuration.md
docs/manual/troubleshooting.md
docs/manual/faq.md
docs/manual/glossary.md
Correct drifted documentation about model families and data-platform tables by tying manual content to authoritative code.
  • Update model-type descriptions and counts to match app/shared/model_taxonomy.py (11 model types, 3 families).
  • Update data-platform table counts to 23, including exogenous_signal, replenishment_event, and sales_returns.
  • Explain evidence discipline and where each stated number is sourced (config constants or authoritative modules).
docs/user-guide/feature-reference.md
docs/manual/analyst/forecasting.md
docs/manual/integrator/data-model.md
docs/manual/operator/concepts.md
docs/manual/README.md
Fold existing user-guide chapters into the new manual with redirect stubs and structured cross-links.
  • Replace former user-guide chapters with short 'Moved' notices pointing into the new manual structure.
  • Map feature-reference, advanced-forecasting, champion-selector, dashboard, agents-and-rag, and getting-started content into more focused manual chapters.
  • Ensure all internal markdown links and heading anchors in docs/manual/ and docs/user-guide/ resolve correctly and that no manual chapter is orphaned from the index.
docs/user-guide/feature-reference.md
docs/user-guide/advanced-forecasting-guide.md
docs/user-guide/champion-selector-guide.md
docs/user-guide/dashboard-guide.md
docs/user-guide/agents-and-rag-guide.md
docs/user-guide/getting-started.md
docs/manual/README.md
docs/manual/analyst/dashboard-tour.md
docs/manual/analyst/forecasting.md
docs/manual/analyst/champion-selector.md
docs/manual/analyst/chat-and-knowledge.md
docs/manual/operator/installation.md
docs/manual/operator/quickstart.md
Preserve two non-manual user-guide documents while adding pointer banners into the new manual.
  • Annotate showcase-manual-demo-guide.md as a reviewer QA procedure and point to relevant manual chapters for system running and dashboard usage.
  • Annotate showcase-walkthrough.md as a roadmap draft describing unshipped behavior and link to the shipping manual sections for current behavior.
  • Avoid folding these documents into the manual to keep their non-user-facing semantics clear.
docs/user-guide/showcase-manual-demo-guide.md
docs/user-guide/showcase-walkthrough.md

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Ran the stack end to end and checked the quickstart chapter against real
output. Four corrections:

- /health returns {"status":"ok","database":null}, not {"status":"ok"}.
  Fixed in installation, troubleshooting, and api-reference. (The root
  README carries the same inaccuracy.)
- `docker compose up -d` starts postgres, backend AND frontend — only
  ollama is profile-gated. Host-mode instructions now name the service:
  `docker compose up -d postgres`.
- The demo trains three baselines (naive, seasonal_naive,
  moving_average), so its winner says nothing about feature-aware
  models. Removed the misleading implication and pointed at the champion
  selector for real comparisons.
- reset/agent/cleanup legitimately report skip and the run still exits 0
  GREEN. Documented skips as non-failures.

Adds a troubleshooting entry for "Multiple head revisions are present",
which breaks `alembic upgrade head`, the backend container's startup
command, and `make demo`.

Verified as correct: exit code 2 on precondition failure, the 11-step
pipeline order, the summary-line format, SHA-256 artifact verification,
graceful agent skip without an API key, and seed reproducibility — a
re-run on seed 42 reproduced the row count, date range, selected pair,
and WAPE to four decimals.
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