changedInput schema / properties / alias / description
Previous value: -"Connection alias registered via brapi_connect. Omit to read the connection registered under alias `default` — i.e. a prior brapi_connect call that did not specify an alias. Calls that used a non-default alias must pass that same alias here."New value: +"Connection alias. Omit to use alias `default`. An alias registered via brapi_connect works, and so does one the server has a URL configured for (a built-in alias, an operator-configured alias, or `default` on a deployment with a default server), which connects on first use. Calls that used a non-default alias must pass that same alias here."
addedInput schema / properties / diagram
Added value: +{
+ "description": "Also return the walk as diagram source: `mermaid` (flowchart) or `dot` (Graphviz). Edges point parent → child, roots are bold, loop-closing edges are dashed. Omit for no diagram.",
+ "enum": [
+ "mermaid",
+ "dot"
+ ],
+ "type": "string"
+}
changedInput schema / properties / direction / description
Previous value: -"Which direction to walk: ancestors (parents), descendants (progeny), or both."New value: +"Which direction to walk: ancestors (parents), descendants (progeny), or both — the union of the two walks. Ancestors are walked only upward and descendants only downward, so a descendant's other parent is not included."
removedInput schema / properties / germplasmDbIds / items / minLength
Removed value: -1
addedInput schema / properties / germplasmDbIds / items / pattern
Added value: +"\\S"
changedOutput schema / properties / alias / description
Previous value: -"Alias of the registered BrAPI connection the call used."New value: +"Connection alias the call used."
changedOutput schema / properties / cycleCount / description
Previous value: -"Number of times the walk revisited an already-registered node (cycles broken)."New value: +"Number of edges with isCycle: true. Paths that reconverge on one germplasm (shared ancestors, siblings, a parent shared by two roots) are not cycles."
addedOutput schema / properties / diagram
Added value: +{
+ "description": "Mermaid (`flowchart …`) or DOT (`digraph …`) source for the whole walk, nodes and edges past loadLimit included; present when `diagram` was requested. A diagram past 50,000 characters, or a Mermaid one past 500 edges, is omitted with a warning.",
+ "type": "string"
+}
changedOutput schema / properties / edges / description
Previous value: -"Deduplicated edge list. `relationship: \"parent\"` means `from` is a parent of `to`; `relationship: \"child\"` means `from` is a descendant of `to`."New value: +"One edge per parent–child pair."
changedOutput schema / properties / edges / items / description
Previous value: -"One deduplicated pedigree edge between two nodes."New value: +"One parent–child pair, recorded once whichever side found it."
addedOutput schema / properties / edges / items / properties / isCycle
Added value: +{
+ "description": "True when this edge closes a loop (the parent is already a descendant of the child); the walk does not continue past it. Absent on other edges.",
+ "type": "boolean"
+}
changedOutput schema / properties / edges / items / properties / parentType / description
Previous value: -"E.g. MALE, FEMALE, SELF, when the upstream response supplies it."New value: +"The parent's role in the cross (e.g. MALE, FEMALE, SELF), when the upstream response supplies it."
changedOutput schema / properties / edges / items / properties / relationship / description
Previous value: -"Direction: parent = from is a parent of to; child = from is a descendant of to."New value: +"Which lookup found the pair. parent = from is a parent of to (found via /pedigree); child = from is a child of to (found via /progeny). A pair found both ways is listed once, as parent."
changedOutput schema / properties / edgesDataframe / description
Previous value: -"Canvas dataframe holding the full edge set, present when the walk exceeds loadLimit — edges[] is then a bounded preview. Any edge field that is a reserved SQL word (e.g. `from` → `from_`) is renamed to a SQL-safe identifier; columnLegend maps it back. Query with brapi_dataframe_query (SQL)."New value: +"The full edge set, staged when the walk exceeds loadLimit; edges[] is then a bounded preview. Reserved-word columns are renamed (`from` → `from_`; see columnLegend)."
changedOutput schema / properties / edgesDataframe / properties / columnLegend / description
Previous value: -"Maps a sanitized column name back to its original upstream key, for columns renamed to clear the SQL-safe-identifier gate (e.g. `end` → `end_`). Present only when a column was renamed — write SQL against the sanitized (left-hand) names."New value: +"Sanitized column name → original upstream key, present only when a column was renamed to be SQL-safe (e.g. `end` → `end_`). SQL uses the sanitized names."
changedOutput schema / properties / edgesDataframe / properties / columns / description
Previous value: -"Full column list of the dataframe."New value: +"Every column name."
changedOutput schema / properties / edgesDataframe / properties / columns / items / description
Previous value: -"Column name from the materialized rows."New value: +"Column name."
changedOutput schema / properties / edgesDataframe / properties / createdAt / description
Previous value: -"ISO 8601 timestamp the dataframe was created."New value: +"ISO 8601 creation time."
changedOutput schema / properties / edgesDataframe / properties / expiresAt / description
Previous value: -"ISO 8601 timestamp after which the dataframe metadata will be purged. Re-run the find_* tool to refresh, or copy results out before expiry."New value: +"ISO 8601 time the dataframe metadata is purged; copy rows out before, or re-run the producing tool."
changedOutput schema / properties / edgesDataframe / properties / maxRows / description
Previous value: -"Cap that was applied at create time, when truncation occurred."New value: +"Row cap that ended the pull, present only when that cap fired."
changedOutput schema / properties / edgesDataframe / properties / rowCount / description
Previous value: -"Number of rows materialized in the dataframe."New value: +"Rows in the dataframe."
changedOutput schema / properties / edgesDataframe / properties / tableName / description
Previous value: -"Dataframe name. Use with brapi_dataframe_describe (schema + provenance) and brapi_dataframe_query (SQL)."New value: +"Table name for brapi_dataframe_describe and brapi_dataframe_query."
changedOutput schema / properties / edgesDataframe / properties / totalCount / description
Previous value: -"Total rows reported by the upstream server (may exceed rowCount when truncated)."New value: +"Upstream-reported row total, when known; can exceed rowCount."
changedOutput schema / properties / edgesDataframe / properties / truncated / description
Previous value: -"True when the dataframe hit a row cap before exhausting upstream."New value: +"True when the dataframe holds less than the upstream reports: a cap, failed page, deadline, or short upstream ended the pull, or it was skipped. warnings says which. Absent otherwise."
changedOutput schema / properties / error / properties / data / properties / reason / description
Previous value: -"Machine-readable failure mode. Declared by this tool: `unknown_alias`: No connection has been registered under the requested alias. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `unknown_alias`: No connection is registered under the requested alias, and the server has no base URL configured for it to connect on first use. `auth_token_exchange_failed`: Connecting the alias on first use, the SGN or OAuth token exchange against the BrAPI /token endpoint failed. `auth_no_access_token`: Connecting the alias on first use, the token endpoint answered without returning an access token. `capability_discovery_unavailable`: Neither /serverinfo nor /calls listed any call, and at least one of them timed out, was unreachable, or answered 429 or a 5xx other than 501, so nothing was cached. `upstream_unauthorized`: The BrAPI server answered HTTP 401: it requires credentials, or rejected the ones sent. `upstream_forbidden`: The BrAPI server answered HTTP 403: the credentials sent, or their absence, lack access. `alias_base_url_invalid`: The base URL configured on the server for this alias is not an absolute http(s) URL, or carries credentials. `private_address_blocked`: The base URL configured for this alias, or its token URL, is on a private or reserved address this server may not reach. Other values are possible when a failure originates below the handler."
changedOutput schema / properties / error / properties / data / properties / reason / examples
Previous value: -[
- "unknown_alias"
-]New value: +[
+ "unknown_alias",
+ "auth_token_exchange_failed",
+ "auth_no_access_token",
+ "capability_discovery_unavailable",
+ "upstream_unauthorized",
+ "upstream_forbidden",
+ "alias_base_url_invalid",
+ "private_address_blocked"
+]
changedOutput schema / properties / leafCount / description
Previous value: -"Nodes that have no outgoing edges in the walked direction — terminal in the DAG."New value: +"Non-root nodes with nothing recorded beyond them: ancestors with no parents, descendants with no progeny (a node on both sides needs neither). Includes nodes the depth limit stopped at."
changedOutput schema / properties / nodes / items / properties / direction / description
Previous value: -"Side of the root this node was reached from. `root` = the starting germplasm itself. `ancestor` = reached via /pedigree (a parent of the root or one of its parents). `descendant` = reached via /progeny. `both` = encountered as both an ancestor and a descendant in a bidirectional walk (rare — backcross or selfing chain)."New value: +"`root` = a starting germplasm; `ancestor` = reached upward via /pedigree; `descendant` = reached downward via /progeny; `both` = reached from both sides (a descendant of one root and an ancestor of another, or a node on a pedigree loop)."
changedOutput schema / properties / nodesDataframe / description
Previous value: -"Canvas dataframe holding the full node set, present when the walk exceeds loadLimit — nodes[] is then a bounded preview. Query with brapi_dataframe_query (SQL); JOIN to the edges dataframe on germplasmDbId."New value: +"The full node set, staged when the walk exceeds loadLimit; nodes[] is then a bounded preview. JOIN its germplasmDbId to the edges dataframe on from_ or to."
changedOutput schema / properties / nodesDataframe / properties / columnLegend / description
Previous value: -"Maps a sanitized column name back to its original upstream key, for columns renamed to clear the SQL-safe-identifier gate (e.g. `end` → `end_`). Present only when a column was renamed — write SQL against the sanitized (left-hand) names."New value: +"Sanitized column name → original upstream key, present only when a column was renamed to be SQL-safe (e.g. `end` → `end_`). SQL uses the sanitized names."
changedOutput schema / properties / nodesDataframe / properties / columns / description
Previous value: -"Full column list of the dataframe."New value: +"Every column name."
changedOutput schema / properties / nodesDataframe / properties / columns / items / description
Previous value: -"Column name from the materialized rows."New value: +"Column name."
changedOutput schema / properties / nodesDataframe / properties / createdAt / description
Previous value: -"ISO 8601 timestamp the dataframe was created."New value: +"ISO 8601 creation time."
changedOutput schema / properties / nodesDataframe / properties / expiresAt / description
Previous value: -"ISO 8601 timestamp after which the dataframe metadata will be purged. Re-run the find_* tool to refresh, or copy results out before expiry."New value: +"ISO 8601 time the dataframe metadata is purged; copy rows out before, or re-run the producing tool."
changedOutput schema / properties / nodesDataframe / properties / maxRows / description
Previous value: -"Cap that was applied at create time, when truncation occurred."New value: +"Row cap that ended the pull, present only when that cap fired."
changedOutput schema / properties / nodesDataframe / properties / rowCount / description
Previous value: -"Number of rows materialized in the dataframe."New value: +"Rows in the dataframe."
changedOutput schema / properties / nodesDataframe / properties / tableName / description
Previous value: -"Dataframe name. Use with brapi_dataframe_describe (schema + provenance) and brapi_dataframe_query (SQL)."New value: +"Table name for brapi_dataframe_describe and brapi_dataframe_query."
changedOutput schema / properties / nodesDataframe / properties / totalCount / description
Previous value: -"Total rows reported by the upstream server (may exceed rowCount when truncated)."New value: +"Upstream-reported row total, when known; can exceed rowCount."
changedOutput schema / properties / nodesDataframe / properties / truncated / description
Previous value: -"True when the dataframe hit a row cap before exhausting upstream."New value: +"True when the dataframe holds less than the upstream reports: a cap, failed page, deadline, or short upstream ended the pull, or it was skipped. warnings says which. Absent otherwise."
addedOutput schema / properties / notice
Added value: +{
+ "description": "When the walk was staged, the node and edge dataframes and how to read them.",
+ "type": "string"
+}
changedOutput schema / properties / truncated / description
Previous value: -"True when the walk hit the 1000-node safety cap before exhausting depth."New value: +"True when the walk hit its safety cap (1000 nodes or 10000 edges) before exhausting depth."
changedOutput schema / properties / warnings / description
Previous value: -"Advisory messages (capability gaps, per-node expansion failures)."New value: +"Advisory messages (capability gaps, per-node expansion failures, an omitted diagram)."