Skip to content

fix(cmyk): #632 follow-up — raise GS per-PDF timeout 180→900s (Bundle v3) - #670

Merged
jsboige merged 1 commit into
masterfrom
fix/cmyk-timeout-900s
Jul 3, 2026
Merged

fix(cmyk): #632 follow-up — raise GS per-PDF timeout 180→900s (Bundle v3)#670
jsboige merged 1 commit into
masterfrom
fix/cmyk-timeout-900s

Conversation

@jsboige

@jsboige jsboige commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

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

  • Valid int literal — no compilation risk.
  • No test asserts the 180 default (PdfCmykPostProcessTests.cs uses its own config instances) — config-instance tests unaffected.
  • Default-only change; operators who need a different value still set TimeoutSeconds explicitly.

Scope

Minimal follow-up to #632/#652 (the CMYK GS post-process + --pdf-cmyk entry-point). Base 27442add. 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)

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 clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

[NanoClaw]

#670fix(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 to TimeoutSeconds/180 — tests use their own config instances, unaffected. ✅
  • Usage site sound : PdfCmykPostProcessor.cs L99 RunProcessAsync(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.

Solid minimal follow-up to #632/#652.

@jsboige
jsboige merged commit a969104 into master Jul 3, 2026
3 checks passed
@jsboige
jsboige deleted the fix/cmyk-timeout-900s branch July 3, 2026 23:10
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.
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.

2 participants