Skip to content

Fold fresh-install and deserialize field gotchas (4.0.2)#44

Merged
Justinvolved merged 1 commit into
v2from
fold/fresh-install-and-deserialize-gotchas
Jul 3, 2026
Merged

Fold fresh-install and deserialize field gotchas (4.0.2)#44
Justinvolved merged 1 commit into
v2from
fold/fresh-install-and-deserialize-gotchas

Conversation

@Justinvolved

Copy link
Copy Markdown
Collaborator

Five field folds from a fresh-10.27.4 autonomous build

All five findings come from a live autonomous demo build on a fresh DW 10.27.4 host (Serializer engine 0.6.8-beta) following the skills verbatim — a partner-simulation run. Each was a real first-run failure a partner will hit. Patch bump 4.0.1 → 4.0.2.

Folds

  1. License step missing from the canonical flow — On a fresh install DW 10.27.x forces /admin/license immediately after the database step, before any admin-user setup. Added to dw-demo-base/references/scaffold.md §3 (Suite Trial for demos; ~30-day expiry belongs in the demo's CUSTOMISATIONS.md), with platform detail in foundational/setup-install.md §7.

  2. License gate can skip set-admin-password — leaves every seeded user inactive with an empty password and no usable admin login; the standard flow dead-ends. Documented the verified headless recovery in foundational/setup-install.md §7.2: a one-shot temporary Program.cs branch calling Dynamicweb.Security.UserManagement.UserServiceChangePassword(user, newPassword), user.Active = true, Save(user) (API resolved from the platform bin XML docs, not the docs site). Pointer from the scaffold flow.

  3. Serializer config path is version-sensitive — on DW 10.27.4 + engine 0.6.8-beta the engine reads Files/System/Serializer/Serializer.config.json, not the Files/ root. Corrected dw-demo-base/references/serializer-reference.md Step 3 (path + staging snippet + a version note that the engine's actual read location wins, confirmed by where SerializeRoot/ is created), and propagated the corrected path to the four mentions in dw-demo-swift/references/deserialize-flow.md.

  4. Deserialize mode parameter undocumented — a bare POST /Admin/Api/SerializerDeserialize runs the Deploy pass only; the Seed pass must be requested explicitly with ?mode=Seed. Documented the two-POST sequence (deploy then seed) at the POST snippet in deserialize-flow.md §4.

  5. excludeAreaColumns semantics — governs serialize-OUT (which Area columns are written to YAML), NOT deserialize-IN; it does not suppress "source column not present on target schema" drift for a baseline captured on an older platform. Recovery (strip the offending columns from the STAGED area.yml, never the downloaded original) documented in deserialize-flow.md §3 and the matching failure-pattern entry in serializer-reference.md.

Validation

  • python scripts/validate-skills.py0 errors, 0 warnings
  • node scripts/build-manifest.mjs --checkup to date (32 skills)
  • Diff scrubbed for customer/brand tokens, credentials, machine paths, internal codes — clean (ecosystem repo URLs justdynamics/Truvio.Commerce.* retained per policy)

Files: scaffold.md, foundational/setup-install.md, serializer-reference.md, deserialize-flow.md, CHANGELOG.md, .claude-plugin/marketplace.json.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BpTYGpMUm8MkKqYSpZVzd5

- Add the forced /admin/license step (DW 10.27.x) to the canonical
  first-run flow in scaffold.md, with the platform detail and headless
  admin-password recovery (UserService.ChangePassword + Active + Save)
  in foundational/setup-install.md
- Correct the version-sensitive Serializer config path to
  Files/System/Serializer/Serializer.config.json (10.27.4 + 0.6.8-beta)
- Document the two-POST deserialize (bare = Deploy, ?mode=Seed second)
- Clarify excludeAreaColumns is serialize-OUT only; recover via staged
  area.yml strip
- CHANGELOG + marketplace.json bump to 4.0.2
@Justinvolved Justinvolved merged commit d5112c5 into v2 Jul 3, 2026
1 check passed
@Justinvolved Justinvolved deleted the fold/fresh-install-and-deserialize-gotchas branch July 3, 2026 13:30
Justinvolved added a commit that referenced this pull request Jul 3, 2026
Second batch of live-verified findings from the autonomous partner-simulation
build (fresh DW 10.27.4, skills followed verbatim), now through brand re-content,
MCP catalog authoring, feature-pack install, and a headless storefront on a
second backend. Nine folds across four skills:

- Autonomous JSON-RPC MCP transport fallback (dw-demo-base mcp-setup.md)
- Root / binding via Area.AreaDomain+AreaFrontpage, no AreaDns on 10.27.x (dw-demo-swift)
- Area/style/item-type restart semantics + nav-label-is-data (cache-invalidation.md)
- Index-instance Warning benign (dw-demo-pim canonical-setup-order Step 16)
- Isolated pack-fragment staging (dw-demo-swift pack-activation.md)
- MCP recipe gotchas batch (pim-modelling, search-indexing, extend-mcp-tools, content-modelling)
- Product-completeness checklist (dw-demo-pim canonical-setup-order)
- Headless drift notes: version-dependent status, dual image keys, env-configurable
  repo/query names, empty area ecom bindings (dw-demo-headless)

Minor bump (substantial new guidance across 4 skills). Stacks on PR #44 (4.0.2).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BpTYGpMUm8MkKqYSpZVzd5
Justinvolved added a commit that referenced this pull request Jul 3, 2026
* Fold brand-build field gotchas into the demo corpus (4.1.0)

Second batch of live-verified findings from the autonomous partner-simulation
build (fresh DW 10.27.4, skills followed verbatim), now through brand re-content,
MCP catalog authoring, feature-pack install, and a headless storefront on a
second backend. Nine folds across four skills:

- Autonomous JSON-RPC MCP transport fallback (dw-demo-base mcp-setup.md)
- Root / binding via Area.AreaDomain+AreaFrontpage, no AreaDns on 10.27.x (dw-demo-swift)
- Area/style/item-type restart semantics + nav-label-is-data (cache-invalidation.md)
- Index-instance Warning benign (dw-demo-pim canonical-setup-order Step 16)
- Isolated pack-fragment staging (dw-demo-swift pack-activation.md)
- MCP recipe gotchas batch (pim-modelling, search-indexing, extend-mcp-tools, content-modelling)
- Product-completeness checklist (dw-demo-pim canonical-setup-order)
- Headless drift notes: version-dependent status, dual image keys, env-configurable
  repo/query names, empty area ecom bindings (dw-demo-headless)

Minor bump (substantial new guidance across 4 skills). Stacks on PR #44 (4.0.2).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BpTYGpMUm8MkKqYSpZVzd5

* Add next/image local-backend SSRF-guard gotcha to the headless frontend reference

* Record the next/image SSRF-guard gotcha in the 4.1.0 changelog entry

---------

Co-authored-by: Claude Fable 5 <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.

1 participant