Skip to content

Clarify progress rendering and Spectre capture guidance#22

Merged
carldebilly merged 5 commits intomainfrom
dev/cdb/spectre-improvements
Apr 25, 2026
Merged

Clarify progress rendering and Spectre capture guidance#22
carldebilly merged 5 commits intomainfrom
dev/cdb/spectre-improvements

Conversation

@carldebilly
Copy link
Copy Markdown
Member

@carldebilly carldebilly commented Apr 25, 2026

Summary

This PR clarifies how Repl progress should be reported, rendered, and routed across console, hosted sessions, Spectre, and MCP.

It adds a centralized docs/progress.md page covering:

  • IProgress<double>
  • IProgress<ReplProgressEvent>
  • IReplInteractionChannel progress helpers
  • progress states and auto-clear behavior
  • advanced terminal progress / OSC 9;4
  • text fallback labels and TUI/Spectre live-surface guidance
  • Repl progress vs Spectre.Console.Progress
  • progress-related configuration
  • MCP progress mapping

It also updates the Spectre capture examples to use session-aware IReplIoContext.Error instead of Console.Error.

Why

Progress behavior was documented in several places, but the full model was not easy to discover. This makes the intended pipeline explicit and calls out an important TUI caveat: Repl progress still has a text fallback label, so app-owned full-screen surfaces should capture or redirect regular Repl interaction feedback.

Validation

  • Documentation-only change.
  • Previously validated Spectre docs branch with:
    dotnet test --project src\Repl.SpectreTests\Repl.SpectreTests.csproj --no-restore

Open in Devin Review

github-code-quality[bot]

This comment was marked as resolved.

Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 5 additional findings.

Open in Devin Review

Comment thread src/Repl.Core/CoreReplApp.Execution.cs Outdated
@carldebilly
Copy link
Copy Markdown
Member Author

Addressed the review feedback in 5f44d27:

  • Removed the hardcoded spectre help branch from CoreReplApp.Execution.
  • Added an internal help-output factory registration point on OutputOptions.
  • Registered the Spectre help render model from Repl.Spectre via UseSpectreConsole().
  • Replaced the empty console-width catch in SpectreHumanOutputTransformer with Trace.TraceInformation(...) while preserving the fallback behavior.

Validation:

  • dotnet test --project src\Repl.IntegrationTests\Repl.IntegrationTests.csproj --no-restore --filter "FullyQualifiedName~Given_HelpDiscovery|FullyQualifiedName~Given_OutputFormatting" -> 50 passed
  • dotnet test --project src\Repl.SpectreTests\Repl.SpectreTests.csproj --no-restore -> 8 passed

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@carldebilly carldebilly merged commit 3aef04c into main Apr 25, 2026
12 checks passed
@carldebilly carldebilly deleted the dev/cdb/spectre-improvements branch April 25, 2026 04:39
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.

1 participant