Repository navigation
Conversation
…query language navigation
…1 links, and no legacy baggage
imbajin
left a comment
There was a problem hiding this comment.
P2: Please preserve the historical SDK navigation when introducing the new client grouping.
At the reviewed revision, the new /docs/clients/client parent does not exist in the pinned historical route sets. docs_nav_page_for_routes() has no SDK relocation fallback, and adapt() drops an unresolved parent before visiting its children. The old quickstart-client subtree is also removed.
CI attempt 1 confirms historical navigation mismatches: 1.0 has 56 pages instead of 59; 1.3 has 65 instead of 68; 1.5 has 72 instead of 77; 1.7 has 80 instead of 85. Please adapt the grouping to the existing historical SDK routes, preserve logical cross-version equivalents, and validate all supported versions before updating expected statistics. Simply accepting the smaller counts would leave the navigation loss unaddressed.
Separately, the latest-version validation fails because cn/index.html links to the missing /cn/docs/quickstart/client/hugegraph-client/ target. The new Java page already declares that alias; please check the generated alias/locale and homepage-link handling rather than merely adding another declaration. The exact alias-generation cause is not established here.
Evidence: independent static inspection and the three official build-job logs for this head/run/attempt; no independent local Hugo build or runtime Cypher validation.
bitflicker64
left a comment
There was a problem hiding this comment.
Inline findings for the R1 review summary, which is posted separately.
Review summary: R1 (FULL)Reviewed: head Verdict: not ready to merge yet. Two problems break existing routes: historical SDK navigation is lost, and the old CN client URLs return 404. The Cypher pages also contain inaccurate information about clause support and authentication. Score: 3.9 / 10. This is the mean of all 4 reviewers.
Important:
Minor: EN section numbering and old anchors, wrong sample-dataset description, Cypher error and Content-Type wording, removed "since 1.8.0" caveats. [Uncertain / needs confirmation]: Checks: |
bitflicker64
left a comment
There was a problem hiding this comment.
Inline finding added to the R1 review summary from a late reviewer.
imbajin
left a comment
There was a problem hiding this comment.
A source-level clarification on the authentication finding: in the checked Server revision, CypherAPI.client(), !manager.requireAuthentication() returns getAnonymousClient() before reading the Authorization header. The Basic/Bearer checks and missing-header 401 apply to the authentication-enabled branch, not unconditionally.
Please retain that distinction rather than restoring an unconditional header requirement based on this finding. This is an independent static control-flow check, not a live Cypher success test or a claim about older released Server versions. It does not change the separate navigation/alias findings or CI failures.
imbajin
left a comment
There was a problem hiding this comment.
Two small documentation follow-ups at the current revision:
- EN migration guide, line 46:
#known-limitationsno longer matches the renamedLimitationsheading. Please use#limitationsor retain the old explicit anchor. - Line 104: absence from the compatibility matrix is not evidence that a clause will fail validation. Please describe uncovered constructs as unverified and reserve “unsupported” for established limitations.
The earlier historical-navigation, CN-alias and Java version-switch issues are addressed in this revision by independent static inspection and bounded navigation/route models. Those checks are not a full Hugo/browser run or CI/RC acceptance. These remaining items are nonblocking documentation corrections; they do not reopen the earlier navigation finding.
bitflicker64
left a comment
There was a problem hiding this comment.
Inline findings for the R2 review summary, which is posted separately.
Review summary: R2 (FULL)Reviewed: head Verdict: no blocking issues found. Every R1 finding is fixed; the status of each is posted in its original thread. Three Minor items remain. Score: 9.6 / 10. This is the mean of all 4 reviewers.
Minor:
R1 correction: the R1 finding about the Cypher Checks: |
bitflicker64
left a comment
There was a problem hiding this comment.
Blocking: no. Summary: The earlier navigation, alias, route and Cypher findings are fixed at 01b8113, and what remains is documentation corrections. The three Minor comments from the last round still apply, and the CN graphs.md note no longer says GET /graphspaces is PD-only.
…ew comments - Group architectural concepts under /docs/guides/architectural/ - Group development and test docs under /docs/guides/dev-test/ - Reorder Clients section with RESTful API first and SDKs second - Update Chinese navigation label to 客户端/SDK - Restore REST version banners, PD-only notes, Cypher body clarification, and Java Client subsection anchors - Modernize quickstart guides with native OINK cards and steps
bitflicker64
left a comment
There was a problem hiding this comment.
Blocking: no. Summary: The open comments from the 01b8113 round are fixed at ba98daf: version notes, the Cypher body wording, the deep client anchors and the CN PD-only note. The guides move keeps aliases and version routes, and two new Minor documentation errors remain.
| 1. [Construct the graph schema](#31-construct-graph-schema) — Define property keys, vertex labels, and edge labels in Groovy. | ||
| 1. [Prepare data files](#32-prepare-data) — Format data records (TEXT, CSV, JSON, HDFS, or DB tables). | ||
| 1. [Write input source mapping file](#33-write-data-source-mapping-file) — Create the JSON mapping specification. | ||
| 1. [Execute data import](#34-execute-the-import) — Run `hugegraph-loader.sh` to load data into the graph. |
There was a problem hiding this comment.
Minor: #34-execute-the-import matches no heading; section 3.4 renders as #34-execute-command-import, so this step link goes nowhere. Point it at #34-execute-command-import, and the CN step at #34-执行命令导入 instead of #34-执行导入.
| configuration items to the plug-in custom value, and restarts to take effect | ||
| 1. **Provide SPI interface**: HugeGraph provides the `HugeGraphPlugin` interface, supporting pluggability via Java SPI. | ||
| 2. **Registration functions**: `HugeGraphPlugin` exposes static registration methods: `registerOptions()`, `registerBackend()`, `registerSerializer()`, and `registerAnalyzer()`. | ||
| 3. **Implement components**: The developer implements the corresponding `OptionSpace`, `BackendStoreProvider`, `AbstractSerializer`, or `Analyzer` interfaces. |
There was a problem hiding this comment.
Minor: OptionSpace is the final registry class behind registerOptions(), not something a plugin implements; OptionSpace.register requires a subclass of OptionHolder, as this page's RocksDBOptions extends OptionHolder example shows. Name OptionHolder here and in the CN step.
…ize guides (EN/CN) - Audit recent 90-day commits across 5 core HugeGraph repositories (hugegraph, toolchain, ai, computer, doc) and add comprehensive tracking inventory - Add bilingual HugeGraph-LLM Python SDK documentation and align Python >= 3.12 requirements - Document Server REST Schema Clone and Same Neighbors batch traversal endpoints - Document Cypher parameterized queries, 200/400 envelope split, and anonymous auth semantics - Document GraphSpace quota, capacity constraints, and PD Raft node lifecycle - Align Vermeer health telemetry endpoints, Hubble Vermeer token file configuration, and custom plugin SPI interfaces - Fix minor documentation link targets and SPI OptionHolder interface naming
|
Thanks for the review! In the latest push (
|
imbajin
left a comment
There was a problem hiding this comment.
Incremental review of the current documentation update (2026-11-01). Three documentation contract/validation issues below need correction. Evidence is independent static review plus a bounded Python signature-binding probe, not live SDK, cluster, full Hugo or RC acceptance. The current CI run 41339231303 attempt 1 failed in Build group 0, job 124945894618, step 11; its logs were unavailable to this review, so the static route finding is not asserted as the observed CI root cause. No score is carried over from earlier heads.
|
|
||
| # 4. Extract property graph from text | ||
| result = extract_graph( | ||
| text="Alice works for Acme Corp as Chief Engineer.", |
There was a problem hiding this comment.
P2: The new extraction examples do not match the SDK signature. At the audited AI main version, extract_graph (and aextract_graph) accepts texts, not text or text_or_chunks, and has no **kwargs. Thus this example, the bounded-repair example, and the concurrency example fail during argument binding before any model call; both locales and the API table need the same correction. Please use texts= (or a positional argument) and add an example/signature smoke check. I verified the exact source and a bounded signature-binding probe, not a live SDK/provider run. Source: https://github.com/apache/hugegraph-ai/blob/f85393030be2605899e26165b3c0873c368e2425/hugegraph-llm-sdk/src/hugegraph_llm_sdk/api.py#L117-L128
| @@ -0,0 +1,226 @@ | |||
| --- | |||
There was a problem hiding this comment.
P2: The new EN and CN SDK pages are ordinary published pages, but neither logical ID appears in data/version_routes.json, and data/docs_nav.json has no SDK node. canonical_docs_pages inventories these pages, while aggregate validation rejects canonical pages missing from the map. The AI landing-page link alone does not register either route. Please add the latest routes with appropriate historical nulls, add the authored navigation entry, and regenerate derived navigation evidence. This is a static validation-path finding; I have not run the full Hugo/aggregate build or attributed the current CI result to it. Sources:
hugegraph-doc/scripts/versioning.py
Lines 2461 to 2490 in 8faa881
hugegraph-doc/scripts/versioning.py
Lines 4619 to 4624 in 8faa881
| "rss_bytes": 134217728, | ||
| "sample_window_seconds": 10.0 | ||
| }, | ||
| "metric_status": "ok" |
There was a problem hiding this comment.
P2: Please align the bilingual cluster snapshot example with the actual wire schema. metric_status is an object with availability, observed_at and optional reason, not the string ok; availability values are AVAILABLE/UNAVAILABLE/UNSUPPORTED. The worker checks are connection_ready, load_stream_ready, compute_stream_ready, and superstep_stream_ready, not the keys shown here. A monitoring client copied from this example would parse the wrong shape/keys. Please derive the example from the existing snapshot fixture while keeping metric availability separate from readiness. This is source-contract verification, not a live cluster test. Source: https://github.com/apache/hugegraph-computer/blob/3a8d988c55ac0c6187455914639c4413f0b304fc/vermeer/apps/master/services/http_cluster.go#L35-L54 and #L184-L198.
Purpose of the PR
Unify Client & API Navigation:
/docs/clients/) and "HugeGraph Client" (/docs/quickstart/client/)./docs/clients/client/) covering Java, Python, and Go SDKs.aliasesanddata/version_routes.jsonequivalents.Graph Query Language & Cypher Integration:
/docs/language/..wideand.expandblock attributes.Modernize Typography & Layout (OINK Native Components):
{.steps}.{tab="..."}tabbed code blocks.{.cards}/{.td-cards-list}) for parallel components and navigation hubs.> [!NOTE],> [!TIP],> [!WARNING]).90-Day Upstream Audit & Gap Filling (5 Core Repositories):
apache/hugegraph,apache/hugegraph-toolchain,apache/hugegraph-ai,apache/hugegraph-computer, andapache/hugegraph-doc.scripts/audit-90d-commits-inventory.mdcataloging 37 user-facing features and changes.POST /graphs/{graph}/clone), Same Neighbors Batch Traversal (POST /traversers/sameneighbors), Cypher query parameterization & 200/400 envelope split (cypher.md), GraphSpace quota & storage capacity (graphspace.md).hugegraph-pd.md), RocksDB provider configuration (config-option.md).hugegraph-llm-sdk.md), Python >= 3.12 baseline, andreview_optionsschema in/graph/extract.vermeer.token_file), Computer Java 17 runtime baseline, Vermeer health/telemetry endpoints, and custom plugin SPIOptionHolderclass reference.What is included
content/{cn,en}/docs/clients/&content/{cn,en}/docs/clients/client/: Unified client navigation, consolidated Java client guide, relocated Python/Go client guides with redirect aliases.content/{cn,en}/docs/quickstart/hugegraph-ai/hugegraph-llm-sdk.md: New bilingual SDK guide covering graph extraction, schema generation, and query pipeline APIs.content/{cn,en}/docs/language/: Cypher and Gremlin guides with improved table readability and accurate compatibility matrix.scripts/audit-90d-commits-inventory.md: Full 90-day commit audit inventory across 5 core HugeGraph repositories.data/docs_nav.json&data/version_routes.json: Synchronized 5-group navigation tree and multi-version compatibility mappings.content/{cn,en}/docs/guides/architectural/custom-plugin.md: Aligned SPIOptionHolderimplementation details.Validation
bash dist/validate-links.sh: Passed with 0 broken links.python3 -m unittest discover -s scripts/: All 290 tests passed.SITE_ROOT=public npm --prefix tests/e2e test -- search-ranking.spec.js: All 35 Playwright search ranking tests passed../scripts/hugo.sh build: Strict Hugo bilingual build verified cleanly with 668 pages rendered.