Skip to content

docs: add Solana onboarding runbooks for the MCP - #197

Merged
Jotatavo merged 5 commits into
mainfrom
docs/solana-onboarding-runbooks
Aug 12, 2026
Merged

docs: add Solana onboarding runbooks for the MCP#197
Jotatavo merged 5 commits into
mainfrom
docs/solana-onboarding-runbooks

Conversation

@Jotatavo

Copy link
Copy Markdown
Contributor

Summary

  • Add a machine-readable docs/runbooks.md index so the DoubleZero MCP can discover onboarding walkthroughs from GitHub raw.
  • Land Solana runbooks for IBRL validator connect, Edge shreds subscribe, and Edge shreds publish.
  • Keep these pages out of the MkDocs build (exclude_docs) so they are not on the docs site nav.

@Jared-dz
Jared-dz self-requested a review August 12, 2026 11:59

@Jared-dz Jared-dz 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.

lgtm

@Jotatavo
Jotatavo merged commit d97dca1 into main Aug 12, 2026
7 checks passed
karl-dz pushed a commit to malbeclabs/lake that referenced this pull request Aug 12, 2026
## Summary
- Extends the DoubleZero MCP with guided onboarding:
`get_onboarding_runbook` loads walkthroughs from public docs (catalog
from GitHub raw `docs/runbooks.md`).
- Replaces the mock edge-access check with a real `check_edge_access`
that execs `doublezero access-pass get --user-payer <pubkey> --client-ip
<ip> --json` on the API host, so onchain state is the source of truth.
Only a `connected` pass reports `active`;
`requested`/`disconnected`/`expired` report `pending` with per-status
guidance.
- Moves docs fetching into `utils/pkg/docsfetch` (shared by `read_docs`
and the runbook loader), bounded at 10k per page.
- Removes the embedded runbook fallback (`api/handlers/runbooks/`).
Catalog and bodies come only from docs — no in-repo mockups.
- Based on [@armcconnell](https://github.com/armcconnell)'s MCP
onboarding mockup work (`lake-private` / `mcp-onboarding`).

## Docs dependency (cross-repo — cannot merge here)
The runbook index (`docs/runbooks.md`) and the runbook pages land via
**[malbeclabs/docs#197](malbeclabs/docs#197
in a separate repo. There is **no embed fallback**: until that PR
merges, `get_onboarding_runbook` cannot list or load runbooks. **Merge
docs#197 first (or together), then this.**

## Deployment note
`check_edge_access` requires the `doublezero` CLI on the API host. Hosts
without it get a clear tool error ("access pass lookup failed"); no
other tool is affected.

## Testing Verification
- Verified the docs#197 `runbooks.md` index format parses with the
catalog parser (fenced example block is stripped; all three runbook
entries parse).
- Verified `doublezero access-pass get` behavior against a live testnet
host: connected pass with `0.0.0.0` wildcard resolves for an arbitrary
receiving IP, lowercase `status` in JSON, exit 1 + `Error: Access Pass
not found` on a miss.
- Red-checked the status gating tests: against the previous code a
`requested` pass reported `active`; the new tests fail on that code and
pass on the fix.
- `get_onboarding_runbook` exercised with local docs fixtures; missing
index / missing page return clear errors (no embed path).

---------

Co-authored-by: Jared-dz <jared@doublezero.us>
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