docs(dnn): prod rules coverage audit — 5/5 games present (FR), 7 langs not ported - #662
Merged
Merged
Conversation
…s not ported Read-only audit of https://dnn.argumentum.myia.io/Règles answering jsboige's concern (rules not ported to prod). Findings: - Content: 5/5 rule sets present on prod (FR) — no rule lost (#438/#250 re-paginated 24→15 without dropping a game). The 4 variants + main game are all published. - Multilingual: prod is FR-only. <html lang="fr-FR"> hardcoded for all locales, ?language= ignored (FR fallback), /XX/Règles all 404, switcher <div class="language"> empty. The 7 repo translations (en/ru/pt/ar/es/zh/fa) are NOT published on the site. - Verdict: jsboige's missing-rules concern refuted for content; separate real gap on the multilingual axis (DNN content portage, post-tag candidate per #27/#16). Audit-only, no prod change. Relates ai-01 dispatch msg-20260703T095500-5wdug6, #636 #490 #134 #140. Co-Authored-By: Claude <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Jul 3, 2026
…shed pack (#663) Tertiaire dispatch kp26j6. Refines the #415 Phase-2 proposal (PR #628, read-only, no execution). Re-measured on current master 9c19e51 (was 33b1c0b at proposal time). Two findings that sharpen the plan: 1. Mindmapper gap (186.7 MB) — the proposed git filter-repo --path prefixes are exact-prefix matches and MISS two sibling build-output trees: - .../AssetConverter/Mindmapper/Published/ (129.2 MB) - Cartes/Generation/Mindmap/Mindmapper/Published/ (57.5 MB) These are regenerable dotnet-publish output (.csproj/.sln committed in history, binaries deleted at HEAD, .REMOVED.git-id sentinels alongside). Corrected strip target = ~1.8 GB (proposal said ~1.557 GB). The --path set is updated to close the gap; they were misclassified into the "other" zone by the audit path regex. 2. Pack grew 2.05 -> 2.08 GiB (+3868 objects) but the growth is text/code only (other zone 882.8 -> 946.7 MB); regenerable binary zones byte-for-byte unchanged. Bloat source is NOT recurring — no new build artifacts committed. Risk #2 currency update: open PRs 8 -> 3 (#596/#661/#662), lowering rewrite risk. READ-ONLY per DoD: 0 history mutation, 0 force-push, 0 clone, 0 Cards/ write. Reproducible via python tools/git-weight-audit.py + scratchpad 415_mindmapper_gap.py. Go/no-go = jsboige. Recommendation (DEFER post-tag) unchanged. 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 3, 2026
Investigate the mechanism for publishing DNN site content in the 7 non-FR languages (coupled-release critical path, ai-01 dispatch 8b3ymj). Builds on prod coverage audit #662 (site FR-only). Key findings: - Two bespoke apps at different i18n maturity: FallacyExplorer is multilingual-ready post-#490 (loc() helper, CmsContext.Culture cascade, lang-suffixed fields text_fr/text_en/...); RulesExplorer is FR-only (generic fields ruleEntity.Summary/.Material/..., no culture logic, hardcoded FR) — the direct cause of the #662 FR-only verdict. - The site Rules content (Summary/Material/Installation/Content/Variants/ Memo) is DB-only, manually-authored — it does NOT match the Rules CSV columns (Text/Text_en/...). The CSV translations are not reusable as-is; porting is prose translation of DB content. - 3 localization layers: L1 UI strings (#487 rail built, gated on portal export for res.* values), L2 static HTML (not wired), L3 content items (DB-only bulk — the dominant cost). DoD met: mechanism + per-language effort estimate + step plan. Read-only: 0 prod write, 0 DB mutation. Portal/2sxc export (jsboige) is the single hard unblocker. Highest-leverage worker-able prep = RulesExplorer view refactor (mirror the proven FallacyExplorer loc() pattern). Relates: #457 #487 #490 #662 #134 #140. Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Jul 3, 2026
…jsboige arbitration) (#671) Prep-only analysis for the intermittent idle-hang on prod DNN site (observed during audit #662 §6). Documents the Option C mitigation (SQL connection-string tuning) with recommended values + rationale + apply-steps, for jsboige's arbitration (prod web.config = ops/VPS lane). Recommended values for SiteSqlServer: Min Pool Size=5; Connect Timeout=30; Connection Lifetime=300; Load Balance Timeout=30 Root-cause hypothesis: SQL connection-pool staleness post-idle (dead socket served from pool → Open/query blocks → HTTP 000). Connection Lifetime=300 continuously sheds stale connections (most relevant knob); Min Pool Size=5 pre-warms against cold-connect; Connect Timeout=30 bounds the stall. Complementary to Option A (IIS PeriodicRestart ~4h, already GO'd to IIS lane). Either alone helps; together cover long-idle + within-window stalls. Not applied: 0 prod write, 0 VPS access. Decision = jsboige. Relates: audit #662, ai-01 dispatch 8b3ymj. Co-authored-by: Claude-Code <noreply@anthropic.com>
This was referenced Jul 4, 2026
jsboige
added a commit
that referenced
this pull request
Jul 4, 2026
… review entry) (#688) Dispatch lev5ct secondary (jsboige wants to verify ALL docs before tagging). One index → one link + one "à vérifier" line per doc, so the whole release documentation can be eyeball-reviewed in a single pass. Grouped in 9 sections: - §1 TAG GATE: RELEASE-VALIDATION-v0.9.0.md (v4 fresh, 80 PDFs, verdicts #140/#632) - §2 Release notes: consolidated #659 (paste-ready) + CHANGELOG gap flag - §3 CMYK (PdfCmykPostProcess README + GDrive CMYK_COLOR_PROOF note) - §4 Pipeline resilience (retry smoke #680) - §5 DNN i18n / go-live (#669 mechanism, #681 schema export, #662 coverage) - §6 Coverage audits (Rules #661, polish sweep #667, taxonomy coherence, scanner-fp #642, prod hygiene) - §7 Mindmaps/OWL (#499 Phase2 confirm, FR-frozen mechanism, OWL EN+FR-only scope) - §8 Polish/misc (#654 mnemonics, #629 CardPen, #415 repo, #141 crossLink) - §9 Stale framework docs flagged (64-PDF superseded — NOT tag-gate) Key flags surfaced for jsboige: - CHANGELOG.md is the single biggest gap — predates bundle v3 entirely (no CMYK/80-PDF/P&P Standard/Light/Ghostscript/deadlock/logger). Needs an update pass before tag. - 5 framework docs still assert "64 PDFs" (superseded by dossier v4) — flagged to avoid cold-read confusion, none is the tag-gate. - OWL scope = EN+FR only (not 8-lang) — release notes must reflect this honest scoping. All paths verified on master 7590dfb (post cycle-3 batch merges). Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Jul 4, 2026
…#692) Precise cartography of Rule prose exists/missing per language: CSV (card-print) vs DNN site. Triggered by ai-01 dispatch sde6s0 (secondary). Read-only. Findings (base master 21e2c66): - CSV Rules: 15 rows x 8 langs = 120/120 cells filled, 0 FR-leak on master (native script verified: Cyrillic/CJK/RTL spot-checks). - P&P Rules CSV: 6 rows x 8 langs = 48/48 cells filled, 0 leak. - DNN site (reconciled from #662): 5/5 jeux FR published, 7 langs unpublished; richer HTML content, DB-only. - Conclusion: CSV != site content (#669 §2c). The #684 gap is site-DB content (~30 rich HTML entities, FR-only), NOT a CSV-coverage gap. CSV is a secondary reference for #684, not the translation source. Corrects a false-positive: an initial scan on the dnn/sandbox-runtime-1032 branch flagged Rules_15 ru as FR-contaminated; verified native Russian on master (0 FR markers). No action needed. Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Jul 10, 2026
…~210), no migration needed (#764) Addendum to 684-translation-manifest.md (#696). Resolves the manifest's own deferred question ("is it 5 games? do all games have all 6 fields populated?") with live export #681 ground truth (12-game-rule-content-items.json). 3 corrections, structure unchanged: - Game count: ~5 (estimate) -> 5 CONFIRMED (entityCount=5, all IsPublished=True). Cross-validated vs #662 prod scrape ("5/5 jeux FR présents, 0 rule missing"). - Prose cells: ~30 (assumed full) -> 23/30 populated. The 7 empty are STRUCTURAL (3 games have no Variants, 4 games have no Memo card) — not data gaps. No fabrication: empty cells stay empty across langs. - Translation volume: ~210 units -> 161 (prose) + 35 (titles) = ~196, -20% vs estimate. Still the dominant portage item, but smaller than planned. "DB seed/pre-migration" CLARIFIED: no migration needed. The "24-30" was a CARD-level count (24 pre-repagination #438/#250 -> 15 post), not a game undercount. The 15 cards map to 5 games (some span multiple cards). The 5 published games ARE the complete intended set (#662: "0 rule missing") — translation proceeds against them directly, no seeding prerequisite. The manifest's structure (6 prose fields x 7 langs, Scenarii-style chunking, gpt-5.5, re-import plan) STANDS — this doc only supersedes its volume figures and unblocks the source path (export #681 now delivered). Gate: analysis-only, 0 prod write (export = read-only SELECT). Triggered by ai-01 dispatch 1gmve4 (primaire). Gated review ai-01. Co-authored-by: Claude-Code <noreply@anthropic.com>
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.
Summary
Read-only audit of https://dnn.argumentum.myia.io/Règles answering jsboige's concern (2026-07-03, via ai-01 dispatch
msg-20260703T095500-5wdug6): "it is possible that some rules were not ported to the prod site."Verdict
jsboige's missing-rules concern is refuted for content (all 5 games present). A separate, real gap exists on the multilingual axis (FR-only publication), which is a DNN content-portage task, not a data-loss issue.
Coverage matrix (prod vs repo)
Prod multilingual coverage: 1/8 languages (FR).
Evidence (read-only probes)
<html lang="fr-FR">hardcoded for/Règles+ all?language=XX→ locale param ignored.?language=en-USserves identical FR content (same titles, same size +34 bytes, FR accentsépresent) → FR fallback./en-US/Règles…/fa-IR/Règles→ all 404 (no localized pages).<div class="language">empty (DNN language object present but not populated — feat(dnn-i18n): #457 translate DNN UI strings FR -> 7 langs via gpt-5.5 #490 delivered infra, not content).Context
Audit-only, no prod change. DoD met: coverage doc + clear verdict per language.
Relates: ai-01 dispatch
msg-20260703T095500-5wdug6, #636 #490 #134 #140.🤖 Generated with Claude Code