Skip to content

DBA 150 Implement cli progress feedback#36

Open
Mateus-Cordeiro wants to merge 5 commits intomainfrom
DBA-150-implement-rich-logging
Open

DBA 150 Implement cli progress feedback#36
Mateus-Cordeiro wants to merge 5 commits intomainfrom
DBA-150-implement-rich-logging

Conversation

@Mateus-Cordeiro
Copy link
Copy Markdown
Contributor

This PR introduces a progress UI for the build command.

The progress display focuses on:

  • overall progress across datasources
  • the datasource currently being processed
  • final per-datasource completion status

How it works

  • build and index emit structured progress events while running
  • the events describe operations/datasource progress
  • the cli consumes those events to render terminal progress feedback

CLI progress rendering

Adds a cli_progress() renderer for interactive terminal. When the terminal is non-interactive, the progress callback becomes a no-op.

Step based datasource progress

The datasource progress model is intentionally high-level, based only on meaningful, potentially long running steps. Each datasource has the following steps:

  • plugin execution
  • description generation (optional)
  • embedding
  • persistence

Logging conflicts

While the progress UI is active, console logging from both databao_context_engine and databao_cli is routed through a shared handler, so the log output does not corrupt the live display. This is scoped to the rich progress context and restores the previous logger configuration afterwards.

Notes

The overall progress bar looks better if the logs from either databao_context_engine and databao_cli are not printed during execution. These logs can be stored, and printed after the execution only, possibly creating a better user experience. However, I would like for that to be discussed before applying such a change.

Screen.Recording.2026-03-11.at.11.51.46.mov

@Mateus-Cordeiro Mateus-Cordeiro requested a review from a team March 11, 2026 11:22
@Mateus-Cordeiro
Copy link
Copy Markdown
Contributor Author

Waiting on release from DCE

@gasparian gasparian self-requested a review March 26, 2026 17:10
Andrei Gasparian and others added 2 commits March 26, 2026 18:17
…h-logging

# Conflicts:
#	src/databao_cli/commands/build.py
#	src/databao_cli/shared/log/cli_progress.py
The original implementation imported from a non-existent
databao_context_engine.progress module and passed an unsupported
`progress` parameter to build_context(), making the build command
crash. Rewrote cli_progress to intercept library log messages for
per-datasource progress tracking via Rich. Added progress to the
index command. Added 8 unit tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gasparian
Copy link
Copy Markdown
Contributor

gasparian commented Mar 26, 2026

the current main (after major refactoring) merged to that branch, resolved some issues. feel free to revert some changes if needed.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants