Skip to content

docs(dnn): #131 Step 1 sandbox upgrade runbook (9.11.1.19 -> 10.1.2) - #522

Merged
jsboige merged 1 commit into
masterfrom
docs/131-dnn-step1-sandbox-runbook
Jun 17, 2026
Merged

docs(dnn): #131 Step 1 sandbox upgrade runbook (9.11.1.19 -> 10.1.2)#522
jsboige merged 1 commit into
masterfrom
docs/131-dnn-step1-sandbox-runbook

Conversation

@jsboige

@jsboige jsboige commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

What

Step 1 sandbox upgrade runbook — the prep/runbook that closes the #131 pre-execution arc (plan → Step 0 → CVE/target → procedure). Extends #511 (plan v2) + #514 (Step 0) + #520 (CVE refinement).

Execution stays GATED on jsboige's target decision: 10.1.2 (both CVEs, no 2sxc work — recommended) vs 10.3.2 (needs 2sxc ≥21 + template audit).

Repo-grounded content

  • Sandbox baseline: 9.11.1.19 (DotNetNuke.dll), .NET Framework 4.8 (web.config), 2sxc 15.02, 4 bespoke .cshtml (Argumentum/), Glossary3 14.09.00, IIS Express :8090.
  • Argumentum-specific risk register — the 2sxc API-removal cliff at 10.2.0+ (issue #6902) is the key finding: it activates only if target = 10.3.2 (forces 2sxc ≥21 + bespoke-template audit); the 10.1.2 path stays on 2sxc 15.02 → templates untouched. This is why 10.1.2 is recommended.
  • Version ladder (NuGet-verified): 9.13.x tops at 9.13.9 (closes 0 CVEs — ruled out); 10.1.2 = first release closing both CVEs (64095 patched 10.1.1; 52488 patched 10.0.1) and before the 2sxc cliff.
  • Per-stage go/no-go + mandatory rollback readiness before declaring Step 1 done.
  • Pre-flight (§3) is gate-safe and non-destructive — can be done now regardless of target choice.

Honesty boundary (not greenwashed)

The generic DNN upgrade-wizard mechanics (§4) were NOT verified against the official DNN upgrade guide this session — the doc-fetch tooling was unavailable (500s). §4 is flagged "confirm against the official guide before execution", not presented as verified procedure. Everything in §3 (pre-flight) and §5 (risk register) is repo-grounded and stands on its own.

Gate boundaries

  • ❌ No execution (gated on jsboige target decision). ❌ No prod deploy. ❌ No CSV/taxonomy/dnn-ui-strings.csv/OWL/cards/mindmaps touch.
  • Visual verdict = ai-01 (worker signals, does not declare PASS).

For jsboige

The only open decision remains: 10.1.2 (recommended — both CVEs, minimal disruption, no 2sxc/template work) vs 10.3.2 (latest — requires 2sxc upgrade + bespoke-template audit). On your go, Step 1 execution proceeds on the sandbox only.

🤖 Generated with Claude Code

Prep/runbook only — execution GATED on jsboige target decision (10.1.2 vs
10.3.2, #520). Extends plan v2 (#511) + Step 0 (#514) + CVE refinement (#520).

Repo-grounded: sandbox baseline (9.11.1.19, net48, 2sxc 15.02, 4 bespoke
.cshtml, Glossary3 14.09.00, IIS :8090), Argumentum-specific risk register
(2sxc cliff @10.2.0+ = issue #6902), per-stage go/no-go, rollback readiness.

Honesty boundary flagged: generic DNN upgrade-wizard mechanics (§4) NOT
verified vs official guide this session (tooling outage) — must confirm before
execution. No prod deploy, no CSV/taxonomy/dnn-ui-strings touch. Visual
verdict = ai-01 (worker signals).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@clusterManager-Myia

Copy link
Copy Markdown
Collaborator

[NanoClaw]

Solid runbook for the DNN 9.11.1.19 → 10.1.2 sandbox upgrade. Well-structured: pre-flight (backup + baseline capture), generic DNN upgrade flow (properly flagged as unverified due to tooling outage), and an Argumentum-specific risk register grounded in repo facts (4 bespoke .cshtml templates, 2sxc 15.02, Glossary3 at 14.09.00). Key point: target 10.1.2 stays before the 2sxc cliff (10.2.0) so no 2sxc upgrade needed — the risk register correctly gates the template audit to the 10.3.2 path only. Go/no-go per stage with hard sandbox-only gate. GATED on jsboige's target decision as expected. LGTM.

@jsboige
jsboige merged commit 2708224 into master Jun 17, 2026
3 checks passed
@jsboige
jsboige deleted the docs/131-dnn-step1-sandbox-runbook branch June 17, 2026 14:09
jsboige added a commit that referenced this pull request Jun 18, 2026
…e) (#527)

Procedure for the production go-live, closing #132 (which had only a
validation dossier, no runbook). Follows jsboige's 6-step migration
strategy (backup → staging restore → schema analysis → migration plan →
sandbox test → go-live) with per-phase go/no-go gates and a rollback
contract.

Grounded in repo facts: SQL Server backend (web.config System.Data.
SqlClient), .NET 4.8, 2sxc 15.02 (26 apps, only Argumentum custom),
NBrightBuy/OpenStore + OS_Stripe + Stripe.net in bin.

Key insight (§4): for target 10.1.2 no 2sxc entity migration is required
— 15.02 survives because 10.1.2 sits before the 10.2.0 cliff. Full 2sxc
migration enters scope only if jsboige targets 10.3.2 (documented §9).

Honesty boundary: sections needing the real prod DB export (schema, 2sxc
row counts, dev↔prod delta) are flagged "à confirmer contre l'export DB
réel" — not invented. The procedure, rollback strategy, topology, and
the 2sxc no-op insight hold on their own.

Doc-only, non-gated. Execution (backup/restore/upgrade/go-live) stays
GATED jsboige. No prod mutation, no DB/RDP.

Refs #132 #131 #520 #522 #525.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jun 18, 2026
#520 (#528)

The merged #511 sandbox plan-v2 states (§2 table, §1 title, §7 Step 1)
that 9.13.x closes CVE-2025-64095 and is a "security palier" closing
1 of 2 critical CVEs. The follow-up corrigendum #520 (merged) corrected
this — grounded in NVD + official DNN GitHub Security Advisories:

  - CVE-2025-64095 first patched in 10.1.1 (not 9.13.x)
  - CVE-2025-52488 first patched in 10.0.1
  - the 9.13.x line closes NEITHER (0 of 2), target = 10.1.2

#520 documents the error but #511 itself was never updated, so a reader
hitting #511 §2 still sees the dangerously wrong "9.13.x closes 64095"
claim (could lead to believing a 9.13.x hop is a security step).

Minimal history-faithful fix: add an ERRATA banner at the top of #511
pointing to #520 as source of truth + #527 for the go-live procedure,
explicitly retracting §2 + the "1 of 2" framing while retaining the
still-valid runtime finding (§3: DNN 10 = .NET Framework 4.8) and 2sxc
compatibility matrix (§5-6).

Doc-only hygiene (idle-light coherence pass on the DNN doc arc). No
content rewrite of merged history, no target change, no prod mutation.

Refs #131 #520 #522 #527.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jun 18, 2026
…5→≥21 (jsboige decision #2) (#531)

jsboige interactive decision #2 (issue #458, 2026-06-18): "Je suis pour
l'upgrade complète, même si c'est plus lourde" → target = 10.3.2-latest +
2sxc 15→≥21 + template audit. Supersedes the 10.1.2 target of #520/#522/
#527/#528. #445 Stripe Native unblocked (OpenStore blocker dissolved).

Net-new decision-spec (131-target-revision-10.3.2-full-upgrade.md, +141):
- The 6-phase go-live procedure (#527) + rollback contract + .NET 4.8
  runtime finding remain valid; only target + 2sxc scope change.
- 2sxc upgrade path: 15.02 → 21.07 LTS on DNN 9.11.1 (2sxc-first), then
  DNN → 10.3.2. Adds new Phase 1.5 + expanded Phase 3/4 (content migration
  is now real, unlike the 10.1.2 no-op).
- KEY GROUNDED FINDING (§3): the template audit is largely ALREADY DONE.
  All 4 Argumentum custom templates already use @inherits
  Custom.Hybrid.Razor14 (verified, not asserted) — the legacy RazorComponent
  migration #131 flagged is complete. APIs in use (App.Query, AsList,
  CmsContext, Link.To, Edit.TagToolbar) all maintained in 2sxc 21. Residual
  risk is the 25 stock apps' v20 infra changes (staging-test item, not
  repo-audit).

Superseded banners added to the 4 target-bearing runbooks pointing to the
new decision-spec as source of truth (#520, #522, #527 §4 "no 2sxc
migration" explicitly invalidated, #511 errata redirected). No merged
history rewritten.

Doc-only, non-gated. Execution (deploy/upgrade/2sxc) stays GATED jsboige.
No prod mutation, no DB/RDP, no template edit.

Refs #131 #458 #445 #514 #520 #522 #527 #528.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jun 18, 2026
…et) (#533)

Pulls the post-upgrade smoke items scattered across the runbook arc
(#522 §5, #527 Phase 4/5, #531 revision §4) into one tickable go/no-go
gate, and adds the two cliff-specific checks that the 10.1.2-era
scenarios did not need now that the target is decided = 10.3.2:

- §3 DnnJsInclude IIS worker-process crash check (issue #6902 cliff,
  mandatory because 10.3.2 crosses 10.2.0; 2sxc >=21.07 workaround gate)
- §4 25 stock 2sxc apps load (v20 Moment-of-Truth infra risk; staging-
  test item not repo-audit per #525)

Encodes the grounded §5 finding (all 4 Argumentum templates already
@inherits Custom.Hybrid.Razor14, PR #531 §3) so the checker knows the
expected result: Argumentum app is verify-still-binds, not migrate.

Doc only, non-gated. Visual PASS verdict = ai-01 + jsboige.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jun 19, 2026
…548)

The DNN-side counterpart to the 2sxc migration plan (#543 Phase 1.5).
Expands the one-line "Phase 2 — staging restore + schema analysis"
named in #531 §4 into the DNN platform upgrade execution sequence +
a 10.3.2-specific rollback runbook.

- §1: preconditions — Phase 1.5 (2sxc) must be green first
- §2: DNN execution sequence — single-jump 9.11→10.3.2 (per #531 §2.1,
  wizard handles schema directly), 4 steps (2.0 snapshot → 2.1 stage
  upgrade package → 2.2 apply files → 2.3 run wizard → 2.4 restart +
  smoke)
- §3: intermediate validation gates — C (wizard completion, post-2.3)
  + D (smoke green, post-2.4, the #533 gate)
- §4: 10.3.2-specific rollback runbook — two-anchor model (Step 1.5.0
  = pre-everything, Step 2.0 = post-2sxc-21 pre-DNN), DB+webroot
  restore procedure, go/no-go criteria, stepping-stone fallback
- §5: updated 10.3.2 phase map showing where Phase 2 slots in

Complements #543 (2sxc), #522 §4 (generic wizard mechanics, 10.1.2-
superseded), #527 §6 (generic DNN rollback) — references, not
duplicates.

Doc-only, non-gated. Execution GATED jsboige; visual PASS verdict =
ai-01 + jsboige. No production system touched.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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