Skip to content

enhance: add unified Klicker element generation UI - #5385

Merged
jabbadizzleCode merged 1 commit into
feat/question-generation-backendfrom
feat/question-generation-ui
Aug 26, 2026
Merged

enhance: add unified Klicker element generation UI#5385
jabbadizzleCode merged 1 commit into
feat/question-generation-backendfrom
feat/question-generation-ui

Conversation

@jabbadizzleCode

@jabbadizzleCode jabbadizzleCode commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a single lecturer workflow for generating and reviewing Klicker elements.

  • provides one /elements/generate route and one navigation entry
  • presents SC, MC, KPRIM, and Flashcard as peer Klicker element-type choices
  • uses one knowledge-source selector, configuration summary, build status, review gate, draft review, and save flow
  • adapts only the fields that differ by native Element type, such as choices, KPRIM statements, or flashcard front/back content
  • keeps worker/provider terminology out of the lecturer-facing product
  • localizes the complete unified flow in German and English

There is no separate flashcard-generation page or question-generation page. Flashcards and question formats are all generated Klicker elements in the UI.

Stack

  1. #5383 — native graph-bundle and generation ledger foundation
  2. #5384 — unified Klicker element generation API
  3. This PR: enhance: add unified Klicker element generation UI #5385 — unified Klicker element generation UI
  4. #5397 — native graph readiness for element generation
  5. #5398 — native graph-to-generation handoff

Branch coverage

  • Base: feat/question-generation-backend at c11367ab6
  • Head: 32be128ca
  • Diff: one commit

Verification

  • @klicker-uzh/frontend-manage route generation and TypeScript check passed
  • GraphQL schema/code generation and TypeScript checks passed
  • unified schema tests assert all four element kinds share one lifecycle
  • final-stack focused verification passed: 162 GraphQL tests and 56 Hatchet KB tests
  • repository commit hooks passed
  • full final-stack production pre-push build passed before branch publication

Screenshots

Authenticated isolated Devrouter capture from the final stacked head. SC, MC, KPRIM, and Flashcard are peer Klicker element types in one workflow.

Unified Klicker element generation with SC, MC, KPRIM, and Flashcard

No shared Klicker staging deployment was made.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (4)
  • main
  • master
  • dev
  • v3

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d3035a06-c7ad-4557-a0f8-7b9dcead23b2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Aug 13, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

The reviewed changes appear safe to merge with no additional actionable defect beyond the gaps already disclosed in the PR description.

The investigated configuration, polling, Apollo error handling, review, and save paths did not reveal an unacknowledged concrete failure that clears the publication criteria.

Important Files Changed

Filename Overview
apps/frontend-manage/src/components/questions/generation/QuestionGenerationConfigure.tsx Adds source, scope, language, Bloom-level, difficulty, and count configuration with idempotent generation startup; its acknowledged source-language default mismatch remains unresolved.
apps/frontend-manage/src/pages/questions/generate/[buildId].tsx Adds the durable build page, active-stage polling, review-gate mutations, terminal states, and final draft review routing.
apps/frontend-manage/src/components/questions/generation/GeneratedQuestionReview.tsx Adds filtering, bulk acceptance, draft mutation orchestration, transactional saving, and saved-element links.
apps/frontend-manage/src/components/questions/generation/GeneratedQuestionCard.tsx Adds validated draft editing, duplication, accept/reject/reopen controls, citation display, and saved-element state.
packages/kb-management/src/KnowledgeBaseDetail.tsx Adds a fail-closed generation entry point for private-preview users when the current knowledge base is an eligible source.
playwright/tests/UA-question-generation.spec.ts Covers the principal configuration, gate-review, safe-error, draft-management, save, and mobile-overflow workflow slices.

Sequence Diagram

sequenceDiagram
  participant L as Lecturer
  participant M as Manage UI
  participant G as GraphQL API
  participant W as Generation workflow
  participant D as Question library
  L->>M: Configure source, language, Bloom mix, difficulty
  M->>G: Start generation
  G->>W: Dispatch durable build
  G-->>M: Build ID
  M->>G: Poll active build
  G->>W: Synchronize workflow state
  G-->>M: Design review
  L->>M: Approve or reject design
  M->>G: Submit design decision
  M->>G: Poll active build
  G-->>M: Plan review
  L->>M: Approve or reject plan
  M->>G: Submit plan decision
  M->>G: Poll finalization
  G-->>M: Generated drafts
  L->>M: Edit, duplicate, accept, or reject
  M->>G: Persist draft decisions
  L->>M: Save accepted drafts
  M->>G: Save generated questions
  G->>D: Create ordinary library elements
  G-->>M: Created and existing element IDs
Loading

Fix All in Greploop

Reviews (1): Last reviewed commit: "docs(manage): add question generation sc..." | Re-trigger Greptile

@jabbadizzleCode
jabbadizzleCode force-pushed the feat/question-generation-ui branch from ecbca60 to f4c7e47 Compare August 13, 2026 14:19
@jabbadizzleCode
jabbadizzleCode force-pushed the feat/question-generation-ui branch 2 times, most recently from 642433c to 6a2d351 Compare August 18, 2026 13:02
@jabbadizzleCode jabbadizzleCode changed the title feat(manage): add reviewed question generation workspace feat(manage): add reviewed question generation and difficulty Aug 18, 2026
@jabbadizzleCode
jabbadizzleCode force-pushed the feat/question-generation-ui branch 2 times, most recently from 3fd30d6 to 83bb2c3 Compare August 25, 2026 15:29
@jabbadizzleCode
jabbadizzleCode force-pushed the feat/question-generation-ui branch from 83bb2c3 to 32be128 Compare August 26, 2026 15:48
@jabbadizzleCode jabbadizzleCode changed the title feat(manage): add reviewed question generation and difficulty Add unified Klicker element generation UI Aug 26, 2026
@rschlaefli rschlaefli changed the title Add unified Klicker element generation UI enhance: add unified Klicker element generation UI Aug 26, 2026
@rschlaefli
rschlaefli marked this pull request as ready for review August 26, 2026 22:41
@rschlaefli
rschlaefli self-requested a review as a code owner August 26, 2026 22:41
@dosubot dosubot Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. enhancement feature labels Aug 26, 2026
@jabbadizzleCode
jabbadizzleCode force-pushed the feat/question-generation-ui branch from 32be128 to 42fa9ca Compare August 26, 2026 23:37
@jabbadizzleCode
jabbadizzleCode merged commit a4b094f into v3-ai Aug 26, 2026
14 of 16 checks passed
@jabbadizzleCode
jabbadizzleCode deleted the feat/question-generation-ui branch August 26, 2026 23:41
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement feature size:XXL This PR changes 1000+ lines, ignoring generated files.

Development

Successfully merging this pull request may close these issues.

1 participant