feat: add read-only knowledge processing dashboard#1742
Open
FFFFFFpy wants to merge 5 commits into
Open
Conversation
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.
Description
Add a read-only knowledge processing dashboard for observing the current execution state of the knowledge ingestion pipeline.
The dashboard aggregates existing processing spans, Asynq task states, and Wiki pending operations into nine logical stages:
Each stage is aggregated by knowledge, processing attempt, and logical stage. Internal fan-out tasks such as individual images, question batches, graph chunks, Wiki pages, and their retries are presented as a single parent-stage progress entry instead of separate tasks.
The dashboard shows:
This feature is observability-only. It does not modify task scheduling, workers, retries, queue priorities, processing state transitions, or knowledge-processing execution paths.
Implementation notes
Known limitation
Stage drawer pagination currently builds the state of all active knowledge items and then paginates the filtered result in memory. Its cost is proportional to the number of active knowledge items, not the number of historical completed items or fan-out child spans.
This is expected to be sufficient for the current workload. Repository-level stage filtering and database cursor pagination can be added later if the deployment regularly has approximately 1,000 or more concurrently active knowledge items.
Type of Change
Related Issue
N/A
Testing
Run the following backend checks:
Run the following frontend checks:
Manual verification:
Checklist
make fmt && make lint && make testpass locallyScreenshots / Recordings
Add screenshots showing:
