docs(user): split language/branching pages + front-door pages (Phase 2)#224
docs(user): split language/branching pages + front-door pages (Phase 2)#224aaltshuler wants to merge 1 commit into
Conversation
…ase 2) Content build-out on top of the Phase 1 topic move. No behavior changes. Splits (existing content relocated, cross-linked): - queries/index.md → mutations/index.md (insert/update/delete + the inserts-vs-deletes rule) and search/index.md (the multi-modal search functions + a hybrid-ranking overview tying nearest/bm25/rrf together). queries/index.md now covers the read shape and points at both. - branching/index.md → branching/time-travel.md (snapshots/time travel) and branching/merge.md (three-way merge + the 7 conflict kinds, verified against error.rs MergeConflictKind). New pages (written from the code, user-facing): - quickstart.md — init → load → query → branch, with verified CLI flags. - concepts/index.md — what OmniGraph is + the L1/L2 (Lance/OmniGraph) framing. Expanded operations/audit.md from a 7-line struct dump into a real actor-tracking page (server token-resolved vs CLI --as chain; reading the trail; the omnigraph:recovery reserved actor). Index wiring: docs/user/index.md and AGENTS.md's topic table link every new page; also normalized AGENTS.md's docs/user link display text to match the Phase 1 retargeted paths. Verified: zero broken .md links; check-agents-md.sh green (57 links, 54 docs). Deferred to Phase 3: de-dev polish (grammar paths, IR internals still in queries/branching), guides/, and a possible reference/config.md split (the config schema is already coherent in cli/reference.md). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
| - **CLI / embedded** — the actor is self-declared through one resolution chain: | ||
|
|
||
| 1. `--as <actor>` on the command, | ||
| 2. then `operator.actor` in `~/.omnigraph/config.yaml` (see the | ||
| [CLI reference](../cli/reference.md)), | ||
| 3. otherwise none. |
There was a problem hiding this comment.
Legacy
cli.actor step missing from resolution chain
The code in crates/omnigraph-cli/src/helpers.rs (line 173) documents and implements the full chain as --as > legacy cli.actor in omnigraph.yaml (RFC-008 window) > operator.actor > none, and the corresponding tests in cli_cluster.rs (line 730, 783) explicitly assert that a legacy cli.actor outranks operator.actor during the deprecation window. The expanded docs here show only two steps (--as → operator.actor), silently dropping the middle entry. A user with cli.actor set in omnigraph.yaml will see that actor appear in their audit trail with no documentation explaining where it came from.
| > `mutation '<name>' on the same query mixes inserts/updates and deletes; split | ||
| > into separate mutations: (1) inserts and updates, then (2) deletes.` |
There was a problem hiding this comment.
D₂ error message quote is truncated vs. runtime
The original queries/index.md quoted the full error: "…split into separate mutations: (1) inserts and updates, then (2) deletes. This restriction lifts when Lance exposes a two-phase delete API (tracked: MR-793 / Lance-upstream)." The runtime still emits this longer form. A user who encounters the actual error and searches the docs will find a shorter quote that doesn't match, making the docs harder to correlate with live output. This appears to be the "de-dev polish" deferred to Phase 3, but worth noting so the Phase 3 pass either updates the quoted text to match code or updates the code to emit the shorter form.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| - The **CLI** ([`omnigraph`](../cli/index.md)) and the | ||
| **HTTP server** ([`operations/server.md`](../operations/server.md)) are two front | ||
| ends over the same engine, so embedded and remote behavior match. |
There was a problem hiding this comment.
The HTTP server link uses the file path as its visible label, which is inconsistent with the CLI entry directly above it (which uses the command name
`omnigraph`). Rendered output will show operations/server.md as a clickable string, which reads awkwardly and gives no hint that it leads to the HTTP server reference.
| - The **CLI** ([`omnigraph`](../cli/index.md)) and the | |
| **HTTP server** ([`operations/server.md`](../operations/server.md)) are two front | |
| ends over the same engine, so embedded and remote behavior match. | |
| - The **CLI** ([`omnigraph`](../cli/index.md)) and the | |
| **HTTP server** ([server reference](../operations/server.md)) are two front | |
| ends over the same engine, so embedded and remote behavior match. |
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Stacked on #223 (base =
docs/topic-restructure). Review/merge #223 first;this PR's diff is Phase 2 only.
What
Content build-out on top of the Phase 1 topic move — no behavior changes,
docs only.
Splits (existing content relocated + cross-linked)
queries/index.md→mutations/index.md(insert/update/delete + theinserts-vs-deletes-in-one-query rule) and
search/index.md(themulti-modal search functions + a hybrid-ranking overview tying
nearest/bm25/rrftogether).queries/index.mdkeeps the read shape andpoints at both.
branching/index.md→branching/time-travel.md(snapshots / timetravel) and
branching/merge.md(three-way merge + the 7 conflictkinds, verified against
MergeConflictKindinerror.rs).New pages (written from the code)
quickstart.md— init → load → query → branch, with verified CLI flags(
--moderequired onload, positional URI for local graphs, etc.).concepts/index.md— what OmniGraph is + the L1/L2 (Lance / OmniGraph)framing.
Expanded
operations/audit.md— from a 7-line struct dump to a real actor-trackingpage (server token-resolved vs CLI
--aschain; reading the trail; theomnigraph:recoveryreserved actor).Wiring
docs/user/index.mdand AGENTS.md's topic table link every new page; AGENTS.md'sdocs/userlink display text normalized to match the Phase 1 retargeted paths.Verification
.mdlinks across docs.scripts/check-agents-md.shgreen (57 links, 54 docs).Deferred to Phase 3
De-dev polish (grammar paths / IR internals still in queries/branching),
guides/, and a possiblereference/config.mdsplit (config schema is alreadycoherent in
cli/reference.md, so not split now).🤖 Generated with Claude Code
Greptile Summary
This is a docs-only build-out (Phase 2) that splits the existing query-language and branching pages into focused sub-pages, adds front-door pages (
quickstart.md,concepts/index.md), expandsaudit.mdfrom a struct dump into a real actor-tracking guide, and wires everything intodocs/user/index.mdandAGENTS.md. No code changes are included.mutations/index.md,search/index.md,branching/merge.md,branching/time-travel.md,quickstart.md,concepts/index.md— all split accurately from existing content; the 7MergeConflictKindvariants inmerge.mdmatcherror.rs.AGENTS.mdwiring — display-text normalization and new topic-table rows are correct; all target paths resolve.audit.mdexpansion — greatly improved, but the documented CLI actor-resolution chain drops the still-active legacycli.actor(omnigraph.yaml) step that sits between--asandoperator.actorin the implementation.Confidence Score: 4/5
Docs-only change with no code modifications; safe to merge with the audit chain omission noted.
The new pages are accurate and the AGENTS.md wiring is clean. The one substantive issue is that
audit.md's expanded CLI actor chain omits the legacycli.actor(omnigraph.yaml) step that is still active in the implementation and sits between--asandoperator.actor— users debugging actor provenance with a legacy config would find the docs misleading. Two additional minor style/accuracy issues round out the findings.docs/user/operations/audit.md — the actor resolution chain should include the deprecated-but-active legacy step.
Important Files Changed
cli.actor(omnigraph.yaml) step that is still active in code.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD IDX[docs/user/index.md\nfront door] --> QS[quickstart.md\nnew] IDX --> CON[concepts/index.md\nnew] IDX --> QRY[queries/index.md\nread shape only] IDX --> MUT[mutations/index.md\nnew split] IDX --> SRC[search/index.md\nnew split] IDX --> BR[branching/index.md\nbranches + commits] IDX --> TT[branching/time-travel.md\nnew split] IDX --> MRG[branching/merge.md\nnew split] IDX --> AUD[operations/audit.md\nexpanded] QRY -- mutations --> MUT QRY -- search funcs --> SRC BR -- snapshots --> TT BR -- merge --> MRG SRC --> EMB[search/embeddings.md] SRC --> IXS[search/indexes.md] CON --> BR CON --> TT CON --> MRG CON --> SRC CON --> QRYReviews (1): Last reviewed commit: "docs(user): split language/branching pag..." | Re-trigger Greptile