feat(dnn): #490 res.Rule* deltas — 4 arbitrages jsboige (Δ3 CSV + Δ4 view + Δ1/Δ2 manifest) - #772
Merged
Merged
Conversation
…view + Δ1/Δ2 manifest) jsboige arbitrated the 4 res.Rule* reconciliation deltas in interactive session (2026-07-11, consigned #458). This PR ships the 2 repo-side deltas + stages the 2 DB-side deltas as a provisioning manifest for ops. Repo-side (land via this PR): - Δ3 RuleMemoCardFileNamePrefix: CSV fr Mémo→"Argumentum - Règle" (DB canonical), re-derived 7 langs (brand-translated policy: Argumentum verbatim + suffix localized). - Δ4 RuleContent: wire <h2>@Resources.RuleContent</h2> at view :47 (orphan heading resource now referenced) + add CSV row Contenu + 7 langs. DB-side (manifest only, gated jsboige/ops — NO DB write from repo): - Δ1 RuleMaterial: DB Materiel→Matériel (FR typo fix, eid=10340). - Δ2 RuleMemoCard: DB Carte Mémo→Carte mémo (sentence case, eid=10340). Byte-exact CSV mutation (CRLF + no-BOM preserved, QUOTE_MINIMAL); diff backup-vs-result confirms only the 4 targeted cells + 1 new row changed. View change = 1 line added (Razor template, DNN runtime — not compiled by .NET pipeline). Gate: 0 prod write (repo data/template only). QA verdict = ai-01. Relates: #490, #458, #681, #682, #669, dispatch 70iit0. Co-Authored-By: Claude-Code <noreply@anthropic.com>
This was referenced Jul 11, 2026
jsboige
added a commit
that referenced
this pull request
Jul 11, 2026
…v21 correction (#777) Dispatch bzkvnh (ai-01) — primaire #682 + secondaire spec staleness fix. Base master 7406bb8. Theme: "2sxc v21 ground truth" (now that live export #774 is committed, docs can lean on real data). 1. NEW docs/dnn-localization/682-path-a-provisioning-manifest.md — the concrete ops-gated artifact: the 49 lang-suffixed attributes (7 translatable String fields x 7 non-FR langs) to provision on AttributeSet 377 (Game Rule, app=60) so PR #674 Loc() cascade resolves per request culture. Ground truth sourced from live export 11-game-rule-schema.json. 2 apply paths (2sxc admin UI preferred / Method B SQL draft skeleton). HARD gate: zero DB write from repo. 2. 2sxc-export-spec.md — correct 15.02 staleness vs live v21 (#774): - SUPERSEDED banner (objectives P0/P1 accomplished: res.* FR VERIFIED via #772, HOLD #490 lifted, export delivered #774). - S2 scope table: + Statut column reflecting export findings (Glossary3/Faq4 NOT FOUND; Game Rule = 5 entities not 24-30). - S3 Method A UI: app=31 -> app=60, Rules -> Game Rule (id 377), res.* on App-Resource eid=10340. - S4 Method B SQL: ToSIC_SexyContent_* -> ToSIC_EAV_* (v21 family), FR dimensionless (DimensionID IS NULL) not v.Language='fr-FR', eid=10340. - S7: version 15.02 -> v21. No DB write. No Cards/ CSV. No runtime change. Doc-only. 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.
What
jsboige arbitrated the 4
res.Rule*reconciliation deltas in interactive session (2026-07-11, consigned #458, dispatch70iit0). This PR ships the 2 repo-side deltas + stages the 2 DB-side deltas as a provisioning manifest for ops.Repo-side (land via this PR)
Δ3 —
res.RuleMemoCardFileNamePrefix(CSV fix)Mémo→Argumentum - Règle(matches DB canonical, the real brand prefix consumed at view:67).Argumentum= brand, kept verbatim in Latin script; the descriptor "Règle" localized per culture):Argumentum - Rule/Argumentum - Правило/Argumentum - Regra/Argumentum - Regla/Argumentum - قاعدة/Argumentum - قانون/Argumentum - 规则Memo/Памятка/Memorando/…) translated the bare word "memo" and were stale once FR is corrected to the brand compound.Δ4 —
res.RuleContent(view wire + CSV row)_RulesExplorer_RuleDetail.cshtml:47: add<h2>@Resources.RuleContent</h2>before@Html.Raw(ruleEntity.Content)— the Content section was the only one of 7 rendering its body without a heading (orphan resource). Now matches the sibling pattern (RuleSummary/RuleMaterial/RuleInstallation/RuleVariants).res.RuleContent=Contenu(FR canonical, matches DB eid=10340) + 7 langs (Content/Содержание/Conteúdo/Contenido/المحتوى/محتوا/内容).DB-side (manifest only — NO DB write from this repo)
Staged in
docs/dnn-localization/490-res-rule-provisioning-manifest.mdfor gated ops apply (jsboige / ops on the live DNN instance):RuleMaterial: DB FRMateriel→Matériel(typo fix, eid=10340). CSV already correct — no repo change.RuleMemoCard: DB FRCarte Mémo→Carte mémo(sentence case, eid=10340). CSV keepsCarte mémocanonical.Both DB writes fix the FR dimensionless default only; the 7 non-FR translations remain valid (translated from correct FR / case-insensitive equivalents). Two apply paths documented (2sxc admin UI / Method B write script with draft SQL to verify against live schema).
Byte-exactness (CSV)
"stay unquoted).What is NOT here
Cards/CSV mutation (game-content is po-2024's lane).Verification
Relates: #490, #458, #681, #682, #669, dispatch
70iit0.🤖 Generated with Claude Code