feat(kb): knowledge graph lifecycle and scoped retrieval on v3-ai - #5424
Merged
Conversation
Round 2 rulings: reusable package (not standalone app), no simulated ingestion, workload-identity blob reads, base v3-ai, allow docx/pptx.
…in frontend-manage
|
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



What This Adds
This PR establishes the Klicker-owned knowledge-base lifecycle on
v3-ai:KBGraphBuildledger as the canonical lifecycle and publication record, with quota reservation, cost settlement, recovery, and retention behavior.How It Works
KB,KBResource, and the append-onlyKBGraphBuildledger, including dispatch claims, cost accounting, publication pointers, retention metadata, and additive migrations.packages/kb-managementinfrontend-managefor KB CRUD, document upload, website ingestion, graph status, and chatbot binding.(chatbotId, participantId, kbId, sessionId)through retrieval.Important Details
KBGraphBuildis the canonical version record.activeGraphBuildIdandpublishedGraphBuildIdare the only liveness pointers; there is no separateKBGraphVersionlifecycle.65a209e52reconciles the complete feature with currentv3-aiatcb4b82429, preserving both sides across source, configuration, generated GraphQL, and lockfile paths.9fb54d47faborts timed-out provider requests and waits for settlement before reusing capacity.789bc7285preserves Next.js server-action constraints while retaining the typed MCP client API.c546f16d8makes the canonicalprisma-datatest command run both retained test suites and keepstest:runas a compatibility alias.Branch Coverage
v3-aiatcb4b82429c546f16d8v3-ai..HEAD; full diff 295 files, +40,921/−567project/Review Focus
Verification
Current head
c546f16d8:pnpm run buildpassed: 26/26 tasks. Existing Rollup, Next.js i18n, large-page-data, andMISSING_MESSAGEwarnings remained non-fatal.pnpm --filter @klicker-uzh/prisma-data testandtest:runboth passed; the Node suite ran 4/4 tests and the environment-dependent Vitest suite remained 6/6 skipped as designed.pnpm --filter @klicker-uzh/graphql generateproduced no tracked diff. Chat passed 609/609 tests; Hatchet passed 101/101 tests, including timeout-abort regression coverage.Failed/Warning:
check:allattempt stopped in the unrelated Analytics lint task: CPython 3.14 recreated its environment, pandas 2.2.2 fell back to a source build, and the image had no C compiler. The exact-head repository hooks and full build subsequently passed.devrouterlifecycle commands could not acquire the host route-update lock. Verification used the already-running exact DevPod throughdevpod ssh; no lock or unrelated runtime was interrupted.Not run:
Security / Privacy
publicUrl.tsare intentional public network metadata for the SSRF denylist. All ten Sonar threads were answered with this rationale and resolved.Blocking Before Merge
Follow-Up After Merge
KBGraphBuildledger.Local Session Artifacts
Machine-local pointers for a session resuming this branch, not review evidence.
trees/rs/kb-v3-ai-finalizationin repositoryklicker-uzhproject/_local/reviews/2026-08-25-pr-5424-*.mdrs-kb-v3-ai-finalization; use only while this finalization session remains active