docs: unified is the only schema; hide the knowledge and memory docs (PRO-1618), stacked on #298 - #299
Conversation
OpenHack SummarySecurity review of docs: unified is the only schema; hide the knowledge and memory docs (PRO-1618), stacked on #298. 116 changed files; 0 findings at or above the low reporting threshold. Confidence Score: 5/5No reportable security findings were detected in this scan. Security merge-readiness rubric: 1 = critical, 2 = high, 3 = medium, 4 = low, 5 = no reportable findings. This score reflects scan findings, not a guarantee of correctness or complete coverage. Files Needing Attention: None Important Files Changed
Last reviewed commit: ca2ac19 · View review on OpenHack
|
|
✅ Mintlify HygieneNo issues found. |
…d memory docs (PRO-1618) Knowledge and memory (split databases) are deprecated. Every page that documents them leaves the navigation, is marked noindex, and opens with a one-line deprecation warning; the files stay reachable by URL. - Navigation: the whole v1 version (the knowledge, memories and recall API), the v2 Split databases page and the Cookbooks tab (every cookbook is written against the split schema) are out of docs.json. Knowledge, Memories and App sources were already out of nav and get the same treatment. Bring your own graph is rewritten to the current contract and joins Concepts; Continuity assurance moves from v1 to Concepts so it stays visible. - One deprecation note, on Databases and collections: knowledge and memory are deprecated, unified is the way to go, and nothing is passed to get it. - Visible pages stop teaching the split schema: no `type`, no documents / app_knowledge / memories, no old /query fields, no build_string, no links to hidden pages. AGENTS.mdx, the plugin pages, the SDK page, Attributes and the context and database endpoint pages are rewritten to the current contract. Endpoint pages whose published spec still renders the corpus selector are unbound from OpenAPI and documented by hand. - /query contract: graph relations carry an optional `timestamp` (epoch seconds), `temporal_details` is omitted when empty, the graph is deduplicated across both lanes and not capped, forceful relations are followed only in thinking mode, and llm_prompt related facts no longer name the lane (`(relevance 0.81)`, no parenthetical when unranked). - Corrections found on the way: the ingest 202 result key is `results[].id`, and GET /context/inspect returns stored content only, so title and attributes come from POST /context/list with `ids`. Signed-off-by: SohamRatnaparkhi <soham@hydradb.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…atch the server (PRO-1618) - SDKs page: look an item's title and attributes up with context.list and ids; context.inspect returns its stored content (domain/fetch/v2.go has no title or attribute fields). Same fix on Ingest Context's related links and two AGENTS.mdx lines. - Delete Context and AGENTS.mdx: the deprecated data.success mirrors deleted_count > 0 (service/source_delete.go), so it is false for a delete that removed nothing. - AGENTS.mdx: GET /context/inspect defaults to mode=both, as the Inspect Context page says (handler/context.go). Signed-off-by: SohamRatnaparkhi <soham@hydradb.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
d5d0f65 to
801711d
Compare
The unified llm_prompt also carries answer data the four JSON keys have no place for (hydradb-application#1645): a Duration line under Temporal facts, Source facts, Profiles and Code search sections, an Interpreted line for alias and reference expansion, a Note line when a lookup degraded, and a Decision line under a path carrying a decision trace. It is "" only when the query found nothing at all. Signed-off-by: SohamRatnaparkhi <soham@hydradb.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
API results, the Query reference (both mentions), AGENTS.mdx and the MCP and OpenClaw plugin pages still listed the previous six sections. They now list the Duration line, Source facts, Profiles and Code search (prompt only), the Interpreted and Note lines and the Decision line, matching the Query guide. Signed-off-by: SohamRatnaparkhi <soham@hydradb.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The spec ships separately, through the auto-generated spec PR. Every page this stack binds to it (27 visible pages, webhooks, connectors, feedback, context status and inspect, context metadata, collections and database deletes, the metadata schema) names an operation that main's spec already has, so the stack as a whole makes no change to api-reference/v2/openapi.json. Signed-off-by: SohamRatnaparkhi <soham@hydradb.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…O-1618) Context categories is not promoted yet, so the page leaves the navigation, gets noindex and keeps no inbound links. It is not deprecated and carries no warning. On the visible pages context_category is no longer something to set: it is gone from the Ingest guide (section 7, the field row, the accordion and the examples, with the later sections renumbered and every inbound anchor repointed), Core concepts, Quickstart, Databases and collections, AGENTS.mdx, SDKs, the API reference index, Sources overview, Ingest Context, Error responses and the MCP and CLI plugin pages. enrichment_kind stays in the chunk field reference because it is part of the response contract, described as an optional label that is omitted when none was set, the same way on Query, the Query reference and AGENTS.mdx. Example responses no longer show it, and the example llm_prompt no longer prints a Category, matching example requests that set none. The example llm_prompt now echoes the example request's query. Forceful relations are followed only in thinking mode; Ingest, the Glossary, Ingest Context and AGENTS.mdx now say so, as Query already did. Databases and collections also names a shared collection such as company as the place for shared context (its own examples query one), and its rename note drops a double hyphen. Signed-off-by: SohamRatnaparkhi <soham@hydradb.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… reference (PRO-1618) Sidebar: Get started reads Introduction, Quickstart, Core concepts, the order the Introduction's own steps give. Build now opens with Databases and collections (where data goes, and the one deprecation note), then Ingest, Query and How to Use API Results, ahead of Attributes, Connectors, Access control and Webhooks. The Cypher graph collections page keeps its title but gets its own sidebar label, so the sidebar no longer shows two "Bring Your Own Graph" entries; the ingest-time BYOG page points to it in its "pick the right tool" table. Contradictions between pages: - Ingest said an unknown item field is "refused or dropped"; the server ignores it without an error, as Ingest Context and AGENTS.mdx say. - Ingest's SDK note listed enrich and instructions as SDK form fields; Ingest Context says the SDK methods take them per item. Both now say so. - Architecture named the status error field message; it is error_message. Two names for one thing: Update Source Metadata and the API reference index now say that database_metadata and additional_metadata are this endpoint's names for an item's attributes and custom_attributes, and that the ingest names are not read there. The index's inspect row says what inspect is for instead of describing list. Signed-off-by: SohamRatnaparkhi <soham@hydradb.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
@greptileai review |
Stacked on #298 (
soham/pro-1618-unified-contract). Knowledge and memory (split databases) are deprecated, so unified is now the only schema a reader sees. Hidden pages are not deleted: they stay reachable by URL, carrynoindex: true, and open with one<Warning>line saying they are deprecated and pointing to Ingest context and Query.Hidden (out of
docs.json,noindex: true, one-line deprecation warning)The whole v1 version (52 pages). v1 is the knowledge, memories and recall API, so every v1 page documents the old schema:
get-started/introduction,get-started/core-concepts,get-started/quickstartessentials/architecture,memories,knowledge,app-sources,recall,webhooks,multi-tenant,metadata,context-graphs,api-results,semantic-searchcookbooks/indexand the 12 v1 cookbooksapi-reference/index,sdks,error-responses, and everyapi-reference/endpoint/*page (tenants, ingestion, memories, upload-knowledge, add-memory, verify-processing, delete-memory, delete-knowledge, recall overview / full / preferences / boolean, list overview / data, fetch-content, graph-relations)v2 split pages:
essentials/v2/split-databases(removed from Concepts), plusessentials/v2/knowledge,essentials/v2/memoriesandessentials/v2/app-sources, which were already out of the navigation.v2 Cookbooks tab (13 pages): every cookbook ingests with
type: "memory"/memories/app_knowledgeand readschunk_content/graph_context, so the tab is gone until they are rewritten.The v1 plugin and AGENTS entries were shared with v2 and stay visible there.
continuity-assurancewas only in the v1 nav and is not about the schema, so it moves to v2 Concepts.essentials/v2/bring-your-own-graphis rewritten to the current contract (keyed bycontext_id) and joins Concepts.The single deprecation note
essentials/v2/databases-and-collections.mdx, at the top: knowledge and memory (split databases) are deprecated, unified is the way to go, and you pass nothing to get it. No page documentstype(ortype: "unified") as a request field.Links repointed or removed
Links and cards on visible pages that pointed at hidden pages:
snippets/legacy-line.mdx(the "see Split databases" line on Query, Ingest, Context graphs, How to Use API Results, the Query and Ingest Context endpoint pages): removed, with the snippet./cookbooks/v2/indexon Introduction and Quickstart: removed./essentials/memoriesand/essentials/knowledgeon the Claude Code plugin page: removed with thesearchMode/ingestionModesections./get-started/core-concepts(v1) on Architecture: repointed to/get-started/v2/core-concepts.Visible pages that stopped teaching the split schema
datais exactlychunks,graph,forceful_relations,llm_prompt. Relations gain optionaltimestamp(epoch seconds, a float);temporal_detailsis omitted when empty; the graph is deduplicated across both lanes and not capped; forceful relations are followed only inthinkingmode. Everyllm_promptexample dropsquery path,/chunk relation,: a ranked fact reads- [P1] **A** -pred→ **B** (relevance 0.81) [1], an unranked one has no parenthetical. Split sections,typewarnings, "parse by shape",chunk_id_to_group_idsandbuild_stringmentions are gone.llm_prompt, attributes, list / inspect / relations / delete withouttype).attributes/custom_attributeson items and the$operator filter (checked againstservice/attributes_filter.go); themetadata/metadata_filters/app_knowledgebody is gone.typeselector for those operations, same precedent as docs: unified ingest and query contract (PRO-1618), stacked on #296 #298's cc23a90) and document their parameters and responses by hand.kind,--kind,searchMode,ingestionMode) and old endpoints are gone; each page describes what the plugin sends and reads on a current database, checked against the plugin branches.Corrections found against the application code
results[].id, notresults[].source_id(domain/memories/v2_ingest.go).GET /context/inspectreturns stored content only (domain/fetch/v2.go), so title, timestamp and attributes now come fromPOST /context/listwithids.queryis400 INVALID_INPUT; a malformedattributesfilter is400 VALIDATION_ERROR.Left in place on purpose
metadata_filtersstays on Connectors (and one neutral row on the Query reference): it is the only way to scope a query to connector fields underadditional_metadata, whichattributesdoes not reach.vectorstore_status.knowledge/.memories,knowledge_collection/memory_collection(both report the one collection), thesourceskey on List Context,results[].infer, anddatabase_metadata/additional_metadataonPATCH /context/{id}/metadata.Second pass: what a new user meets
Context categories: hidden, not deprecated
essentials/v2/context-categoriesleaves the navigation (Build), getsnoindex: trueand is listed inmintlify-hygiene.tomlexcludes. It has no deprecation warning: it is not promoted yet, not deprecated. No visible page links to it.context_categoryis no longer shown as something to set: removed from the Ingest guide (section 7, the field row, the misspelling accordion and the examples; later sections renumbered and every inbound anchor repointed), Core concepts, Quickstart, Databases and collections, AGENTS.mdx, SDKs, the API reference index, Sources overview, Ingest Context (examples and field row), Error responses, and the MCP and CLI plugin pages.enrichment_kindstays in the chunk field reference (it is in the response contract), described the same way on Query, the Query reference and AGENTS.mdx: "an optional label; omitted when none was set". Example responses no longer show it and examplellm_prompts no longer print a**Category:**, since no example request sets one. Thellm_promptsections table still says a result line can carry**Category:**(the server prints it only when set).llm_prompton Query, the Query reference and API results now echoes the example request's query instead of a different one.Split databases
Already hidden by the first pass; re-checked: not in
docs.json, no link, card or "see also" from any visible page.New-user path
sidebarTitle, so the sidebar no longer shows two "Bring Your Own Graph" entries, and the ingest-time BYOG page points to it.company(what its own examples query), or the default collection.thinkingmode: Ingest, Glossary, Ingest Context and AGENTS.mdx now say so, as Query already did.enrich/instructionsare set per item, matching Ingest Context.error_message.database_metadata/additional_metadataare this endpoint's names for an item'sattributes/custom_attributes; the ingest names are not read there. The index's inspect row says what inspect is for.OpenAPI spec: no change from this stack
api-reference/v2/openapi.jsonis restored tomain's version, so the stack as a whole makes no spec change (the spec arrives through the auto-generated spec PR). All 27 visible pages bound withopenapi:frontmatter name an operation thatmain's spec has (webhooks, connectors, feedback,GET /context/status,GET /context/inspect,PATCH /context/{id}/metadata,GETandDELETE /databases/collections,DELETE /databases,PATCH /databases/{database}/metadata-schema).git diff origin/main -- api-reference/v2/openapi.jsonis empty at this head. Pages that need operations only the newer spec has (Connected Subgraph and the others listed above) are hand-written and not bound.Checks
npx mint@latest validate: build validation passed.npx mint@latest broken-links: no broken links.mintlify-hygiene checkandcheck --deny-warnings(v0.3.0 darwin binary): clean. The hidden pages, including Context categories, are listed inmintlify-hygiene.tomlexcludes.python3 scripts/verify_agents_endpoints.py: 35 endpoint mentions; the one miss isGET /context/subgraph, which is live but only in the newer spec (nowmain's spec is kept). It resolves when the auto-generated spec lands. The script is not in CI.docs.jsonis valid JSON and every page it lists exists; no visible page links to a hidden page (checked with a script over every nav page, including heading anchors); no em or en dashes on added lines.🤖 Generated with Claude Code