Repository navigation
Admin OP Phase 3: Knowledge-Graph facet - #2090
Merged
Merged
Conversation
- Expose TutorialConceptLinks, TutorialRank, CoCompletions as @readonly @cds.redirection.target:false projections on AdminService - Add rank (to-one on slug) + coCompletions (to-many on sourceSlug) associations to AdminService.Tutorials projection; conceptLinks already carried by '*' via db/knowledge-graph.cds extend entity base.Tutorials - Unit test: test/unit/kg-exposure.test.js (2 tests, all green) - sqlite deploy clean (pre-existing warnings only)
Add communityMembership association on AdminService.Tutorials pointing to KgCommunityMembers (projection on ims.KgCommunity) joined by slug. Fully-qualified target name (AdminService.KgCommunityMembers) required because the entity is in a later extend-service block.
…-completions) (#WS4)
…hip wiring) (#WS4)
This was referenced Sep 3, 2026
Merged
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.
Tutorials Admin OP — Phase 3: Knowledge-Graph facet
Surfaces the knowledge-graph data we already compute nightly on the Tutorials admin Object Page. Builds on Phase 1 (#2088) + Phase 2 (#2089), both merged. Read-only, additive — service-layer projections + Fiori annotations only.
Spec:
docs/superpowers/specs/2026-08-31-tutorials-admin-op-enhancements-design.md(§WS4)Plan:
docs/superpowers/plans/2026-08-31-tutorials-admin-op-phase3-knowledge-graph.mdWhat changed (4 TDD tasks)
AdminService(@readonly @cds.redirection.target:false):TutorialConceptLinks,TutorialRank,CoCompletions.Tutorials:rank(onslug),coCompletions(onsourceSlug),communityMembership(toKgCommunityMembersonslug);conceptLinkswas already injected at the db layer (carried via*).rank.score)Safety
Pure service-layer + annotations — no schema change, no migration, no
csn/last-devdrift (verified: the diff touches onlysrv/admin-service.cds,app/admin-annotations.cds, and test files). All associations resolve against real DB columns (confirmed via compiled model). No computed virtuals/decorators → nothing can throw into a Tutorials READ (fail-open by construction).Review
Subagent-driven: per-task review + final Opus whole-branch review — APPROVE, no Critical/Important. All join columns, read-only flags, and facet placement verified against the compiled model. Unit tests: 3 new files / 5 tests green. The KG-facet hybrid guard is deferred to a bound HANA env (run post-deploy).
Rollout note
Facet is effectively DEV-only until PROD Louvain/community data verifies (#1126 posture) — the Community facet renders empty (fail-quiet) in envs without
KgCommunityrows, which is intended, not a bug.Follow-ups (non-blocking)
CoCompletions.sourceSlugisString(120)vsTutorials.slugString(255)— a future slug-widening past 120 chars would silently drop rows from that facet (pre-existing DB width).TutorialConceptLinksLineItem shows rawconcept_ID(UUID); a human-readable concept label would be a nice follow-up.Completes the WS1-WS5 admin-OP enhancement series (Phases 1-3).