Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

4.3KB

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).
2026-09-04 EnvelopeRenderer.Cli only read DEBENU_LICENSE_KEY from the process environment. That's fine for dotnet run --project ... -- (the CLI inherits the invoking shell's env directly), but EnvelopeRenderer.Desktop launches the CLI as a child process, which only inherits whatever environment variables were already present in whatever launched the desktop app itself (a double-clicked .exe or Start Menu shortcut typically has none) — so every desktop-launched render failed with Debenu error 999 regardless of a valid key existing on disk. Real-user-reported: the operator correctly guessed a key.txt dropped next to the exe should work (matching how the CLI's own test helper already resolved keys), but production code had no such fallback. This is a real Definition-of-Done verification gap from Sprint 1 Batches 4-5: the “real success run” verification used an in-process test harness with the env var set directly in that process, never the actual built .exe launched the way an operator would, so the gap wasn't caught before Sprint Review. Unintentional High (silently broke the desktop app's core success path for any non-dotnet run launch) Resolved Added DebenuLicenseKeyResolver (code/src/EnvelopeRenderer.Cli/DebenuLicenseKeyResolver.cs) to the shipped CLI: env var first, then a key.txt walked up from the executable's own directory — the same rule the test-only helper already used, now shared via delegation instead of duplicated. Documented in CLI_CONTRACT.md's “Debenu license key” section and code/README.md's desktop-app instructions. Verified by running the actual built EnvelopeRenderer.Cli.exe from the Desktop app's own output folder with no environment variable set at all, key.txt sitting next to it: exit 0, valid 1.3 MB %PDF-1.4 output, all 392 records. 5 new unit tests added (DebenuLicenseKeyResolverTests.cs); full suite 111/111 passing.

Powered by TurnKey Linux.