Renderers
Markdown prose · IDE-grade code blocks · ANSI terminal with auto-follow.
Markdown prose (.lg-md)
Renders CommonMark + GitHub-flavored tables/tasks/autolinks through Markdig.
HTML is sanitized by default; pass TrustHtml="true" only for trusted authors.
Agent response
The agent ran dotnet test against the candidate branch. Three of the five suites passed.
Heads up: the failing suite (
Lagrantis.Ux.Tests > AccentSwitcherTests) depends onprefers-color-scheme, which isn't set by the test harness. Either inject a fake or pin the theme in the test fixture.
Findings
| Suite | Tests | Failed |
|---|---|---|
Lagrantis.Ooxml.Tests |
142 | 0 |
Lagrantis.Ooxml.Render.Tests |
88 | 0 |
Lagrantis.Ux.Tests |
14 | 2 |
Next steps:
- Pin theme in the test fixture
- Add a regression test for the
[data-theme]cascade Re-run the Aspose comparison— deferred to phase 11
For more, see the test report.
Code block (.lg-code)
IDE-grade fenced block — language tag, optional file path, copy button, tabular line-number gutter.
Syntax token classes (.tok-keyword, .tok-string, …) map to --syntax-* tokens.
Wire any highlighter (Prism, Shiki, highlight.js) to emit them.
public async Task<RunResult> RunAsync(AgentRequest req, CancellationToken ct)
{
// Pre-flight: the worktree must be clean. We don't reset implicitly —
// that's lost work the user didn't ask us to discard.
if (await _git.HasUncommittedAsync(req.WorktreePath, ct))
return RunResult.Refused("worktree is dirty");
using var session = await _sessions.CreateAsync(req, ct);
await foreach (var token in _provider.StreamAsync(req, ct))
{
await _hub.Clients
.Group(session.Id)
.OnAgentToken(token);
}
return RunResult.Completed(session.Id);
}Terminal (.lg-terminal)
ANSI-colored stdout with the design-system scroll contract: auto-follow on, suspend on user scroll >48px, re-engage via the ↓ LIVE pill, and protection while a selection is active. Press End to jump to live.