Skip to content

docs(selfhost): add a combined ORB + AMS self-host quickstart page - #6123

Merged
loopover-orb[bot] merged 1 commit into
JSONbored:mainfrom
davion-knight:docs-selfhost-unified-ams-orb
Jul 15, 2026
Merged

docs(selfhost): add a combined ORB + AMS self-host quickstart page#6123
loopover-orb[bot] merged 1 commit into
JSONbored:mainfrom
davion-knight:docs-selfhost-unified-ams-orb

Conversation

@davion-knight

Copy link
Copy Markdown
Contributor

Closes #5996.

Adds a new website docs pageapps/loopover-ui/src/routes/docs.self-hosting-unified-ams-orb.tsx — for running ORB (self-hosted PR review, root docker-compose.yml) and AMS (the fleet-mode miner, packages/loopover-miner/docker-compose.miner.yml) together on one host. Follows docs.self-hosting-quickstart.tsx's structure and is linked from docs.index.tsx's Maintainers nav. A .tsx page, not markdown, per the issue's callout; apps/loopover-ui is outside coverage.include, so no Codecov gate and no test changes.

What it documents

  • Bringing up ORB with --profile observability --profile ams-observability, then AMS fleet mode.
  • The state-path mismatch: fleet mode keeps SQLite state in a named miner-data volume, but the ams-reporting-exporter reads the ledgers from a host bind (${LOOPOVER_MINER_CONFIG_DIR:-~/.config/loopover-miner}:/ams-ledgers:ro), so the AMS Grafana panels stay silently empty out of the box.
  • The opt-in docker-compose.miner.override.yml bridge (Bridge fleet-mode AMS miner state to ORB's ams-observability Grafana profile #5805) that relocates /data/miner onto the same LOOPOVER_MINER_CONFIG_DIR host dir, with the verified combined three-file docker compose … up -d command, and a verify step.

Verification

  • Content checked against the live YAML (ams-observability profile, the exporter's bind, Grafana under observability, the override's matching source).
  • Page + route registration (routeTree.gen.ts) + nav all typecheck and lint clean (eslint/prettier) locally.
  • The Grafana-populates deliverable is documented faithfully from the compose files (the Bridge fleet-mode AMS miner state to ORB's ams-observability Grafana profile #5805 bridge), with the follow-up caveat the issue itself allows for a real-cluster gap.

There was no single operator-facing guide for running ORB (self-hosted PR
review, root docker-compose.yml) and AMS (the fleet-mode miner,
packages/loopover-miner/docker-compose.miner.yml) together on one host -- in
particular the state-path mismatch that leaves the ams-observability Grafana
panels silently empty in fleet mode. Add a new website docs page walking
through both compose files, why fleet mode's named volume doesn't line up with
the exporter's host bind, and the opt-in docker-compose.miner.override.yml
bridge (JSONbored#5805) that points both at the same LOOPOVER_MINER_CONFIG_DIR so the
AMS panels populate. Follows docs.self-hosting-quickstart.tsx; linked from
docs.index.tsx's Maintainers nav. apps/loopover-ui page -- outside
coverage.include, no test changes required.

Closes JSONbored#5996
@davion-knight
davion-knight requested a review from JSONbored as a code owner July 15, 2026 10:50
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@loopover-orb loopover-orb Bot added the gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. label Jul 15, 2026
@loopover-orb

loopover-orb Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Tip

🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩

✅ LoopOver review result - approve/merge recommended

Review updated: 2026-07-15 10:56:39 UTC

3 files · 1 AI reviewer · no blockers · readiness 82/100 · CI green · clean

✅ Suggested Action - Approve/Merge

  • safe to merge

Review summary
This adds a new docs-only .tsx page documenting a combined ORB+AMS self-host setup, plus the generated routeTree.gen.ts entries and a nav link from docs.index.tsx. The content is internally consistent — it correctly describes the state-path mismatch (named volume vs host bind) and the override bridge, follows the existing self-hosting-quickstart page structure, and the route registration hunks look like standard TanStack Router codegen output for a new file route. Since apps/loopover-ui is outside coverage.include, the lack of test changes is expected and not a gap.

Nits — 6 non-blocking
  • The escaped template literal `${"{LOOPOVER_MINER_CONFIG_DIR:-~/.config/loopover-miner}"}` used to display literal `${...}` syntax in prose is a bit awkward to read in source; a plain string or a dedicated inline-code component would be clearer.
  • Verify the routeTree.gen.ts diff is truly fully-generated (not hand-edited) since generated files can drift from the actual codegen output if manually touched.
  • The page hardcodes the default `~/.config/loopover-miner` path in prose multiple times instead of referencing it from a shared constant/doc snippet, so it could drift from docker-compose.miner.yml if the default changes there.
  • Consider linking directly to packages/loopover-miner/DEPLOYMENT.md or docker-compose.miner.override.yml.example from the page for readers who want the raw source instead of just prose description.
  • If there's a docs-link-checker or route-list test elsewhere in the repo, confirm it picks up the new nav entry in docs.index.tsx.
  • Code changes lack test evidence — Add focused regression tests or explain why existing coverage is sufficient.
Signal Result Evidence
Code review ✅ No blockers 1 reviewer
Linked issue ✅ Linked #5996
Related work ⚠️ 2 scoped overlaps Top overlaps are listed below; lower-confidence bulk is hidden.
Change scope ❌ 8/20 High review scope from cached public metadata (1 linked issue).
Validation posture ✅ 25/25 PR body includes validation/test evidence.
Contributor workload ✅ 10/10 Author activity: 144 registered-repo PR(s), 95 merged, 0 issue(s).
Contributor context ✅ Confirmed Gittensor contributor davion-knight; Gittensor profile; 144 PR(s), 0 issue(s).
Gate result ✅ Passing No configured blocker found.
Improvement ℹ️ None detected risk: low · value: none · LLM: moderate
Linked issue satisfaction

Addressed
The PR adds the required .tsx route (not markdown), follows the DocsPage/Callout/CodeBlock/FeatureRow pattern, documents the state-path mismatch and a verified combined compose invocation using an override file, and links it from docs.index.tsx's Maintainers nav as required.

Review context
Contributor next steps
  • Start here: Review top overlaps.
  • Then work through the remaining 2 steps in the Signals table above.
Signal definitions
  • Related work = same linked issue, overlapping active PRs, or title/path similarity.
  • Change scope = cached public metadata such as size labels, draft state, and review-burden hints.
  • Validation posture = whether the PR provides enough public validation/test evidence for maintainer review.
  • Contributor workload = public contributor activity and cleanup pressure, not a repo-wide quality failure.
  • Contributor context = public GitHub/Gittensor identity context; non-Gittensor status is not a blocker.
🧪 Chat with LoopOver

Ask LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.

  • @loopover ask <question> answers contribution-quality Q&A with source citations and freshness.
  • @loopover chat <question> answers in natural prose from cached decision-pack facts via local inference (maintainer/collaborator; read-only).
  • A plain-language @loopover mention with a real question is routed to the closest matching read-only command automatically — no exact syntax required.

Full command reference: https://gittensory.aethereal.dev/docs/loopover-commands

🧪 Experimental — new and may change.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed


💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →.

Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.

  • Re-run LoopOver review

@loopover-orb loopover-orb 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.

LoopOver approves — the gate is satisfied and CI is green.

@loopover-orb
loopover-orb Bot merged commit 42695b3 into JSONbored:main Jul 15, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(selfhost): document a combined ORB + AMS quickstart (running both compose files together)

1 participant