fix(cmyk): #632 follow-up — raise GS per-PDF timeout 180→900s (Bundle v3) - #670
Merged
Conversation
Bundle v3 CMYK conversion (2026-07-03) timed out on 23/80 PDFs at the 180s default. Large TarotCards/P&P/Poker PDFs (200+ pages PNG-lossless, ~123MB) need 250-350s each. Raise the default to 900s for comfortable headroom. Retry at 900s converted 23/23 cleanly. This is the committed counterpart of the local override used during the Bundle v3 CMYK post-pass (ai-01 dispatch 8b3ymj, GO on the open ASK). No test asserts the 180 default; config-instance tests unaffected. Co-Authored-By: Claude-Code <noreply@anthropic.com>
clusterManager-Myia
left a comment
Collaborator
There was a problem hiding this comment.
[NanoClaw]
#670 — fix(cmyk): #632 follow-up — raise GS per-PDF timeout 180→900s (Bundle v3). LGTM with a README-sync nit.
Verified firsthand (head 6ab58456)
- Change trivially correct :
PdfCmykPostProcessConfig.TimeoutSeconds= 180→= 900, int literal, 1 file +5/-2. In-code comment documents the rationale (Bundle v3, 23/80 timeouts at 180s, heavy TarotCards/P&P/Poker PDFs 200+ pages PNG-lossless ~123MB need 250-350s each). - "No test asserts 180" verified :
PdfCmykPostProcessTests.cs(FluentAssertions style) has 0 refs toTimeoutSeconds/180— tests use their own config instances, unaffected. ✅ - Usage site sound :
PdfCmykPostProcessor.csL99RunProcessAsync(gsPath, args, _config.TimeoutSeconds)— single read of the configured value, no hardcoded 180 in the processor. ✅ - Production-justified : 23/23 clean retry at 900s + 80/80 DeviceCMYK + OutputIntent SWOP is real dispatch data (
8b3ymj), not a guess. 900s headroom safe — GS is single-PDF-serial, no indefinite-hang risk.
△ Nit (non-blocking, doc drift)
README.md L47 stale — config table still documents | TimeoutSeconds | 180 |. Code default is now 900 → README should read 900. Trivial 1-line follow-up. Doesn't block merge (operators setting the value explicitly are unaffected), but README readers learning the default get the old number.
Merged
4 tasks
jsboige
added a commit
that referenced
this pull request
Jul 4, 2026
…tability fixes) (#134) (#689) The v0.9.0 entry predating bundle v3 missed the print-production and late-cycle stability work. This refresh brings it in line with master `21e2c666`, cross-checked against the release-validation dossier v4 (docs/RELEASE-VALIDATION-v0.9.0.md §3.3) and dashboard decisions #26-69. Added: - "Print Production (CMYK & Print&Play)" section: Ghostscript post-process (#632), `--pdf-cmyk` entry-point (#652), bundle v3 = 80 PDFs DeviceCMYK + SWOP OutputIntent (6.18 GB RGB -> 5.30 GB CMYK), P&P Standard/Light (#645/#648-650, 64 -> 80 PDFs), GS timeout 180->900s (#670) - "OWL Ontology (Bilingual EN/FR)" section: Fallacies OWL 5.07 MB (#634 regen), Virtues OWL (#592/#499 Phase 2), honest scope note (EN+FR only, not 8-lang) - "Fixed - Pipeline Stability (Jun-Jul 2026)" section: harvest deadlock #651, serial retry #613/#676, logger Spectre #630/#655, CMYK oxymore, Johnny 6.1.3 #653, Rules i18n refonte #640, CSV hygiene #579/#581/#584, OWL staleness #634 Corrected (code=truth): - Magick.NET 14.13.1 -> 14.14.0 (verified in .csproj) - Test count 548 -> 578 pass / 1 known-fail #133 / 5 skip / 584 total (empirical `dotnet test` on Argumentum.AssetConverter.Tests, 2026-07-04, .NET 9). Previous counts in docs (548/549/570) were all stale No existing content regressed; all prior sections preserved. Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Jul 16, 2026
…6 tests / AIF layer (po-2024 tick 24) (#816) Sync release-notes canonical figures with the actual post-#807 master state: - 80 PDFs (10 types × 8 langues), not 64. Print&Play Standard + Light were added post-#648-650; the bundle now spans {Tarot, Poker, A0 poster, Thumbnails, Mémo, Rules, FallaciesWeb, Print&Play Standard, Print&Play Light, +1 expert tier} × 8 langues. Bundle v3 (2026-07-03) is 80/80 DeviceCMYK + SWOP OutputIntent (verified via pdfimages -list, Ghostscript post-process #632/#652). - 596 tests pass (post-#807 alignement; #133 OWLSharp known-fail cleared in #793), not 578. - AIF attack layer detailed: 145/1408 fallacies + 222/223 vertus with deterministic ASPIC+ node map; tiering methodology explained; anchor audit results (16 CLEAN / 2 SOFT / 0 erreur). - CrossLink layer: 1985 cells across 844 fallacies (59.9 percent), 8 relational predicates (#763). - Print production hardening: GS timeout 180s -> 900s (#670); per-image CMYK oxymore explained (PNG cannot carry CMYK, the authoritative CMYK path is the GS post-process). Out of scope (this PR): - Tag creation. The release is gated on jsboige visual GO + tag. - DNN security upgrade (separate post-release op, lane po-2023:jsboige). - Layer C (~1263 leaves without skos signature, generative pass), requires its own gated pilot. Diff: docs-only, 1 file. 0 code change. Refs: #134, #632, #648-650, #652, #670, #793, #807.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Raise the Ghostscript per-PDF CMYK post-process timeout default 180s → 900s. This is the committed counterpart of the local override used to complete the Bundle v3 CMYK conversion (ai-01 dispatch
8b3ymj, GO on the open ASK; #632 follow-up).Why
During the Bundle v3 CMYK post-pass (2026-07-03), the 180s default timed out on 23/80 PDFs (
GS exit=-1, TIMEOUT). The large TarotCards / Print&Play / Poker PDFs (200+ pages PNG-lossless, ~123MB) need 250-350s each. A targeted retry at 900s converted 23/23 cleanly, and the full bundle reached 80/80 DeviceCMYK + OutputIntent SWOP.900s gives comfortable headroom for the heaviest PDFs without risk of indefinite hangs (GS is single-PDF-serial here).
Change
PdfCmykPostProcessConfig.TimeoutSeconds:= 180→= 900(+ comment documenting the rationale). 1 file, +5/-2.Safety
PdfCmykPostProcessTests.csuses its own config instances) — config-instance tests unaffected.TimeoutSecondsexplicitly.Scope
Minimal follow-up to #632/#652 (the CMYK GS post-process +
--pdf-cmykentry-point). Base27442add. No test/build regression expected (config default).Relates: #632 #652 #140. Bundle v3 80/80 CMYK complete (verdict colorimétrique #632 = PASS, ai-01).
🤖 Worker po-2023 (GLM)