Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

2.5KB

Technical Debt Log

Append-only log of known technical debt. Maintained by .claude/agents/qa-tech-debt.md. Do not delete paid-down entries — mark them resolved instead.

Date Item Type (unintentional/unavoidable/deliberate) Impact (“interest rate”) Status Resolution
2026-09-08 EnvelopeRenderer.Cli exits 64 (“render not implemented”) for any argument-valid run, since the Debenu render engine isn't wired in yet. Self-documenting and expected to disappear once “Render text-only PDFs through Debenu Quick PDF” (Sprint 1 Batch 2) lands and exit 0 becomes reachable. Deliberate Low Paid Down RenderNotImplemented branch removed from Program.cs; exit 0 is now reachable and exit 1 covers all template/CSV/render failures (see code/CLI_CONTRACT.md).
2026-09-08 DebenuPdfRenderer always embeds TrueType fonts fully (AddTrueTypeFont(..., Embed: 1)), cached once per unique font name per document. Fine at today's scale (one sample render: ~1.3 MB for 392 pages, one font) but full embedding could add up if a template ever uses many distinct fonts/styles at very high page counts, working against the sub-2GB PDF constraint. Deliberate Low Open Revisit if the “Time-box the first high-volume benchmark” story (not in this sprint) shows file size becoming an issue; Debenu also exposes AddSubsettedFont as a smaller-footprint alternative if needed.
2026-09-08 EnvelopeRenderer.Desktop's Render button re-enables as soon as the CLI process is confirmed started (CliProcessLauncher.LaunchAsync returning), not once it finishes rendering — this story (Sprint 1 Batch 4) intentionally does not track render completion. An operator can click Render again (e.g. against the same output path) while a prior render is still in progress, since nothing yet observes the child process's lifetime or exit code. Unavoidable (scope boundary of this story) Low Resolved Sprint 1 Batch 5 (“Show render progress and completion summary”) replaced CliProcessLauncher.LaunchAsync/Launch with RunAsync/Run, which stream the CLI's redirected stdout/stderr, wait for the process to actually exit, and return exit code + final progress event. MainForm.OnRenderClick now only re-enables the Render button in the finally block after that awaited call completes, not when the process starts — verified with a real launch against the sample CSV (button stayed disabled for the full render, both success and forced-failure runs).

Powered by TurnKey Linux.