[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-add-dataverse":3,"mdc-3mb0xb-key":40,"related-org-microsoft-add-dataverse":14688,"related-repo-microsoft-add-dataverse":14885},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":35,"sourceUrl":38,"mdContent":39},"add-dataverse","add Dataverse tables to Power Apps","Use when the user wants to add Dataverse tables (existing or new) to a Power Apps mobile app, extend an existing Dataverse table with new columns, or apply an approved data model plan.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,14,17,20],{"name":9,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"Data Modeling","data-modeling",{"name":18,"slug":19,"type":13},"Power Apps","power-apps",{"name":21,"slug":22,"type":13},"Dataverse","dataverse",564,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills","2026-07-31T05:54:46.078014",null,114,[29,30,31,32,19,33,34],"claude-code-plugin","claude-code-skills","code-apps","github-copilot-plugin","power-pages","power-platform",{"repoUrl":24,"stars":23,"forks":27,"topics":36,"description":37},[29,30,31,32,19,33,34],"A plugin marketplace for Claude Code\u002FGitHub Copilot that provides Power Platform development plugins, including reusable skills, agents, and commands for building and deploying solutions.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Ftree\u002FHEAD\u002Fplugins\u002Fmobile-apps\u002Fskills\u002Fadd-dataverse","---\nname: add-dataverse\ndescription: Use when the user wants to add Dataverse tables (existing or new) to a Power Apps mobile app, extend an existing Dataverse table with new columns, or apply an approved data model plan.\nuser-invocable: true\nallowed-tools: Read, Edit, Write, Grep, Glob, Bash, AskUserQuestion, EnterPlanMode, ExitPlanMode, Task\nmodel: opus\n---\n\n**📋 Shared instructions: [shared-instructions.md](${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fshared\u002Fshared-instructions.md)** — read first.\n\n# Add Dataverse\n\nTwo paths:\n\n- **Existing tables only** — skip to Step 5 (just runs `npx power-apps add-data-source` per table)\n- **New \u002F extended tables** — full workflow with Web API mutations in dependency order\n\n## Workflow\n\n1. Verify project & auth → 2. Resolve plan → 3. Setup Dataverse Web API auth → 4. Review existing tables → 5. Create \u002F extend tables → 5d. Create alternate keys → 6. Add data sources → 6b. Publish customizations → 6c. Verify tables → 6d. Write manifest → 7. Inspect generated files → 8. Type-check → 8.5. Offline profile reconciliation → 9. Summary\n\n---\n\n### Step 1 — Verify project & auth\n\nConfirm Power Apps mobile app:\n\n```bash\ntest -f power.config.json && test -f app.config.js\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fresolve-environment.js\" \"$(node -e \\\"console.log(require('.\u002Fpower.config.json').environmentId)\\\")\"\n```\n\nCapture the **environment URL** (`https:\u002F\u002ForgXXX.crm.dynamics.com`), **environment ID**, and **tenant ID** from `resolve-environment.js` — needed for Step 3. If only the environment URL is available, pass that URL instead of the ID.\n\n### Step 2 — Resolve plan\n\nLook for `native-app-plan.md` in the project root:\n\n```bash\ntest -f native-app-plan.md\n```\n\n**If present:** read the `## Data Model` section. Extract:\n- The reuse \u002F extend \u002F create table\n- The Mermaid ER diagram (informational)\n- The \"Creation Order\" tier list\n\n**If absent:** check `$ARGUMENTS` for diagram hints (`*.png`, `*.jpg`, `*.jpeg` filename, `erDiagram` keyword, `||--o{` cardinality syntax). \n\n- **Diagram hint present** → Path A (Step 2.5).\n- **No hint AND `$ARGUMENTS` describes what the app does** (the typical case) → silently take Path B (Step 2.6 — spawn architect). No prompt.\n- **No hint AND `$ARGUMENTS` is empty \u002F non-descriptive** → only then prompt with `AskUserQuestion`:\n\n  > \"How would you like to define the data model?\n  > (a) I have an existing ER diagram to upload (PNG\u002FJPG path, Mermaid syntax, or text description)\n  > (b) Let the data-model-architect agent analyze and propose one (default)\n  > (c) Cancel — I'll plan it elsewhere first\"\n\n  Default the answer to (b) so empty\u002Fcancel input auto-proceeds. The 99% case (user gave a description but no diagram) skips this prompt entirely.\n\n### Step 2.5 — Path A: Parse user-provided diagram\n\nUsed when the user has an existing diagram from another tool (Visio, dbdiagram.io, screenshot, hand-drawn).\n\nAccept three input formats:\n\n| Format | How |\n|---|---|\n| **Image path** (`*.png` \u002F `*.jpg` \u002F `*.jpeg`) | Use `Read` on the file path. The vision-capable model extracts entities, columns, relationships. |\n| **Mermaid syntax** | User pastes a `erDiagram` block in chat. Parse the entities, columns, and `\\|\\|--o{` cardinalities directly. |\n| **Text description** | User types a structured description (\"Account has many ServiceVisits; each ServiceVisit has many WorkItems and Photos\"). Spawn `data-model-architect` agent in `parse-only` mode with the text as input. |\n\nWhichever format, normalize into the same structure used by the planner agent:\n\n```yaml\npublisherPrefix: \u003Cfrom detected publisher prefix or user>\ntables:\n  - logicalName: contoso_servicevisit\n    displayName: Service Visit\n    status: new   # new | extend | reuse\n    columns: [...]\n    relationships: [...]\n```\n\nThen:\n1. Query existing Dataverse (Step 4 logic) to mark each table as `new`, `modified`, or `reused`.\n2. Generate a Mermaid ER diagram from the parsed structure for visual confirmation.\n3. Present back to the user via `EnterPlanMode` for approval.\n4. On `ExitPlanMode`, write the approved data model into `native-app-plan.md` `## Data Model` section (creating the file if it doesn't exist).\n5. Continue to Step 3.\n\n### Step 2.6 — Path B: Spawn architect agent\n\nIf the user picked Path B (or the user-provided diagram parse failed), spawn the `mobile-app:data-model-architect` agent via `Task` (the `mobile-app:` plugin-name prefix is required) with the user's high-level requirements as input. The agent returns `_dm_section.md`. Embed it in `native-app-plan.md`, present via `EnterPlanMode` for approval, then continue to Step 3.\n\nIf they need new tables and refuse both paths, recommend they run `\u002Fsetup-datamodel` (alias of this skill) explicitly, or `native-app-planner` for a full app-level plan. STOP if neither.\n\n### Step 3 — Setup Dataverse Web API auth\n\nRequired only if creating or extending tables. Skip to Step 5 for read-only `add-data-source`.\n\n#### Step 3a — Environment consistency check\n\n`npx power-apps` and `az` authenticate independently — they can point to different accounts. Verify `power.config.json` resolves and `az` can token for the target tenant before making any Dataverse API calls:\n\n```bash\nENV_JSON=$(node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fresolve-environment.js\" \"$(node -e \\\"console.log(require('.\u002Fpower.config.json').environmentId)\\\")\")\necho \"$ENV_JSON\"\naz account show --query \"{user: user.name, tenant: tenantId}\" -o json\n```\n\nCompare the resolved environment URL with `\u003CenvUrl>` captured in Step 1. If they differ, **STOP** and warn:\n\n> \"⚠️ Environment mismatch detected:\n> - resolver reports: `\u003Cresolved_env_url>`\n> - This project targets: `\u003CenvUrl>`\n>\n> The Dataverse API token comes from `az`, which must target the same tenant as the selected environment. Run:\n> ```bash\n> az login --tenant \u003Ctenant-id>      # switch az to the right tenant\n> ```\n> Then re-run `\u002Fadd-dataverse`.\"\n\n**Do NOT proceed with table creation if environments don't match** — you'll create tables in the wrong org.\n\n#### Step 3b — Acquire token\n\n```bash\naz account show --query \"user.name\" -o tsv\n```\n\nIf empty, instruct `az login` and stop.\n\n**Script invocation contract — read this once, all subsequent calls in this skill follow it:**\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> \u003CMETHOD> \u003CapiPath> [--body '\u003Cjson>'] [--include-headers]\n```\n\n- Three positional args, in order: `\u003CenvUrl>`, `\u003CMETHOD>` (GET \u002F POST \u002F PATCH \u002F DELETE), `\u003CapiPath>` (everything after `\u002Fapi\u002Fdata\u002Fv9.2\u002F`).\n- **Body is a flag, not positional.** `--body '\u003Cjson>'` — required for POST\u002FPATCH, never for GET\u002FDELETE. Forgetting `--body` and passing the JSON as a 4th positional arg returns a usage error.\n- `--include-headers` adds response headers (needed for `OData-EntityId` after a record create).\n- Output is JSON: `{ \"status\": \u003Ccode>, \"data\": \u003Cbody> }`. Token refresh on 401 and back-off on 429 are automatic — never wrap with manual retry.\n\nAcquire a Dataverse access token and verify connectivity:\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET WhoAmI\n```\n\n`WhoAmI` is the Dataverse identity endpoint — capital W\u002FA\u002FI (case-sensitive). The response gives `UserId`, `BusinessUnitId`, `OrganizationId` but **does NOT include the publisher prefix**. To get the publisher prefix, query the solution's publisher (defaults to `Default`; pass a different solution name if the env uses a custom solution):\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdetect-publisher-prefix.js\" \u003CenvUrl> [solutionName]\n# solutionName defaults to \"Default\" if omitted\n```\n\nThis runs the OData query:\n`\u002Fapi\u002Fdata\u002Fv9.2\u002Fsolutions?$select=uniquename&$expand=publisherid($select=customizationprefix)&$filter=uniquename eq '\u003CsolutionName>'`\n\nCapture `customizationprefix` from the solution's publisher (typical value: `cr123` → schema names like `cr123_jobsite`). Also capture the solution `uniquename` — needed for the `--solution` flag on every Step 5 \u002F 5b POST so artifacts land in our solution rather than landing wherever Dataverse defaults. Write both to `memory-bank.md` Power Platform context block.\n\nRequires the user to hold **System Administrator** or **System Customizer** in this environment.\n\n### Step 4 — Review existing tables\n\n**Print before starting:**\n> \"→ Querying existing custom tables in the environment…\"\n\nAlways query before creating:\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions?\\$filter=IsCustomEntity eq true&\\$select=SchemaName,LogicalName,DisplayName\"\n```\n\nFor each plan entry classified `Reuse` or `Extend`, fetch the table's columns to confirm the match:\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')\u002FAttributes?\\$select=LogicalName,AttributeType,RequiredLevel\"\n```\n\nSchema divergence handling is in Step 5b's per-column pre-flight (not a Step 4 prompt). The pre-flight auto-skips columns that already exist with the same type, and STOPs only on incompatible type drift — no separate confirmation needed here.\n\n### Step 5 — Create \u002F extend tables\n\n**Print before starting:**\n> \"→ Creating\u002Fextending \u003CN> tables in tier order (sequential — Dataverse serializes metadata writes). For each: pre-flight check, then 'Creating \u003Ctable>…' before the POST and '✓ \u003Ctable>' on 2xx response.\"\n\n> **⚠️ Concurrency rule — do not violate.** All Dataverse metadata operations in Steps 5, 6, and 6b are **strictly sequential**: issue one HTTP request, wait for a 2xx response, then issue the next. Do NOT batch, parallelize, or fire concurrent requests. Dataverse serializes metadata writes via an exclusive lock; parallel calls return `429 TooManyRequests`, `MetadataLockHeldException`, or `404 EntityNotFound` for lookups whose parent hasn't committed yet.\n>\n> Specifically:\n> - **Within a tier:** create tables one at a time.\n> - **Across tiers:** Tier 0 fully done (all tables + all columns committed) before any Tier 1 POST.\n> - **Lookups:** POST to `\u002FRelationshipDefinitions` only **after** both endpoint tables exist and have returned 2xx.\n> - **Extensions:** column POSTs to an existing table are also serial — same lock applies.\n\n#### Step 5a — Pre-flight collision check (per table, before each POST)\n\nStep 4 listed *known* custom tables you intend to reuse. Step 5a probes for *unknown* problems on a per-create basis: name-prefix collisions from stale solutions, soft-deleted tombstones, and reserved system names. Skipping this check costs ~1 minute per failed POST (Dataverse takes its time returning the conflict error) and can leave Tier 0 partially created when a Tier 1 lookup fails on a phantom parent.\n\n**For every `Create` entry, before its POST, probe the target logical name:**\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions(LogicalName='\u003Cprefix>_\u003Ctable>')?\\$select=MetadataId,LogicalName,IsCustomEntity\"\n```\n\nBranch on the response:\n\n| Status \u002F body | Meaning | Action |\n|---|---|---|\n| **404 NotFound** | Name is free | Proceed with POST. |\n| **200 OK** + `IsCustomEntity: true` + `MetadataId` matches memory-bank | We created this earlier — idempotent re-run | Skip the POST, mark as created, continue. |\n| **200 OK** + `IsCustomEntity: true` + `MetadataId` *not* in memory-bank | Foreign collision | Auto-recover (see below) — do NOT prompt. |\n| **200 OK** + `IsCustomEntity: false` | Reserved system table name | Auto-recover via rename (see below). |\n| **5xx** with `0x80060890` or message `\"object with same name exists in solution\"` | Tombstone (soft-deleted, ~30 min purge TTL) | Auto-recover via rename (see below). |\n| **400** with `0x80044363`, `\"schema name ... is not unique\"`, or `\"same name already exists\"` | Hidden Dataverse collision \u002F recent-delete tombstone not visible to `EntityDefinitions` GET | Auto-recover via rename (see below), then retry the POST once. |\n\n**Important:** Step 5a is a best-effort preflight, not the final authority. Dataverse can return 404 for a recently deleted table and still reject the create POST minutes later because the schema name remains reserved internally. Treat that POST-time 400 as a recoverable name collision, not a data-model failure.\n\n#### Auto-recovery — reuse\u002Fextend first, rename as last resort\n\n**Priority order when Step 5a hits a name collision:**\n\n1. **Adopt as Extend (preferred)** — if the existing table's `Attributes` overlap with the planned columns by ≥50%, or the existing table is the same conceptual entity: add only the missing columns via per-column POST (Step 5b Extend path). No prompt needed — extend automatically and log `→ Extending existing \u003Coriginal> with \u003CN> missing columns.`\n2. **Adopt as Reuse** — if the existing table's schema already covers all planned columns: skip Step 5b for this entry, keep it in Step 6 for service generation. No prompt. Log `→ Reusing existing \u003Coriginal> (all required columns present).`\n3. **Rename and Create (last resort)** — only when the existing table is a fundamentally different entity (e.g., planned table is an inspection log but existing `\u003Coriginal>` is a payroll record — incompatible concept, incompatible columns). Prompt the user before proceeding.\n\n**When to auto-decide vs. prompt:**\n\n| Situation | Action |\n|---|---|\n| Foreign collision + schema overlap ≥50% | Auto-Extend (no prompt) |\n| Foreign collision + all planned columns present | Auto-Reuse (no prompt) |\n| Foreign collision + incompatible concept | Prompt (see below) |\n| Reserved system name | Auto-rename (no prompt) |\n| Tombstone (0x80060890 \u002F same-name-exists) | Auto-rename (no prompt) |\n\n**For the incompatible-concept case only** — prompt via `AskUserQuestion`:\n\n```\n| Option | What it means |\n|---|---|\n| Extend existing (default) | Add required columns to \u003Coriginal>. Safer — avoids duplicate tables. |\n| Rename and Create | Auto-renamed to \u003Cnew>. Existing table left untouched. |\n```\n\nDefault to \"Extend existing\" so an empty answer auto-proceeds. Rename-and-Create is the opt-in exception, not the default.\n\nMaintain a run-level logical-name alias map for every auto-rename. Example:\n\n```json\n{ \"cr3e9_aircraft\": \"cr3e9_aircraftv2\" }\n```\n\nBefore building any later table, column, lookup relationship, sample-data payload, service-reference text, or screen data spec, resolve logical names through this map. A rename that only changes the table POST but leaves relationships\u002Fscreens\u002Fsample data pointing at the old name is a bug.\n\n**Auto-rename probe sequence** (cap at 4 probes — only used for reserved\u002Ftombstone cases):\n\n```\n\u003Coriginal>v2  →  \u003Coriginal>v3  →  \u003Coriginal>2  →  \u003Coriginal>copy\n```\n\nFor each candidate in order, GET `EntityDefinitions(LogicalName='\u003Ccandidate>')?$select=MetadataId,IsCustomEntity`:\n- 404 → free, **take it**, stop probing.\n- 200 or 5xx (collision) → next candidate.\n\nIf all 4 probes collide, surface a `BLOCKED: cannot find a free alternative for \u003Coriginal>` and stop.\n\n**On a successful auto-rename, do these in order BEFORE the POST:**\n\n1. **Update `native-app-plan.md`** — `Edit` with `replace_all: true` to swap the old logical name for the new one across the entire `## Data Model` section (Mermaid ER, Reuse\u002FExtend\u002FCreate table, Creation Order, Notes). This catches downstream relationship POSTs in this same Step 5 too.\n2. **Update `## Screens` per-screen specs** — same `replace_all` sweep for any service \u002F data-source references using the old name.\n3. **Append to `memory-bank.md` Collision history** — `\u003Coriginal> → \u003Cnew>` with reason (foreign \u002F reserved \u002F tombstone) and timestamp.\n4. **Update the run-level alias map** — every later metadata payload and plan edit resolves `\u003Coriginal>` to `\u003Cnew>` before use.\n5. **Inform the user — single line, no prompt:**\n   > `→ Collision on \u003Coriginal> (\u003Cforeign|reserved|tombstone>). Renamed to \u003Cnew> and updated plan + memory-bank. Continuing.`\n\nThen proceed with the POST using `\u003Cnew>`.\n\n#### Post-create collision rescue — hidden tombstone \u002F recent delete\n\nIf the Step 5b table POST fails after a 404 preflight with any Dataverse name-collision signature, **do not fail the run**:\n\n- HTTP `400` with code `0x80044363`\n- message contains `schema name` and `not unique`\n- message contains `same name already exists`\n- message contains `object with same name exists in solution`\n\nFirst attempt auto-Extend: re-GET the existing table's attributes and compare with the plan. If ≥50% overlap, switch to Extend path (add missing columns). Otherwise, run the auto-rename probe sequence, update `native-app-plan.md`, `## Screens`, `memory-bank.md`, and the run-level alias map, then retry the table POST exactly once with the resolved name. Print:\n\n> `→ Dataverse still has \u003Coriginal> reserved from a recent delete\u002Fhidden collision. Using \u003Cnew> and continuing.`\n\nIf the retry also returns a collision signature, continue probing the remaining candidates. If all candidates collide, return `BLOCKED: cannot find a free alternative for \u003Coriginal>`.\n\n**On successful POST**, immediately re-GET to capture the server-assigned `MetadataId` and write it to memory-bank (Step 6d updates `.datamodel-manifest.json`; you also append to `memory-bank.md` under \"Created tables\" with the GUID and solution name). This lets future `\u002Fadd-dataverse` runs distinguish \"we own this\" from \"name collision.\"\n\n#### Step 5b — Create \u002F extend\n\nFor each `Create` decision, in **tier order** (Tier 0 → Tier 1 → Tier 2 → …), POST a new EntityDefinition. Skip if Step 5a returned a known-self match (idempotent).\n\n> **⚠️ Inline ALL planned columns into the Create POST body — do NOT POST columns individually.**\n>\n> Dataverse processes the `Attributes: [...]` array atomically with the table create. Inline form: 1 round trip, ~3-8s. Per-column form: N+1 round trips, each ~3-8s. For a 5-column table that's 24s saved per table on the lock-serialized metadata path.\n>\n> **Wrong** (N round trips):\n> ```json\n> { \"SchemaName\": \"...\", \"Attributes\": [{ \u002F* primary only *\u002F }] }\n> \u002F\u002F then 4× POST \u002FAttributes for the rest\n> ```\n>\n> **Right** (1 round trip):\n> ```json\n> {\n>   \"SchemaName\": \"...\",\n>   \"Attributes\": [\n>     { \u002F* primary name *\u002F },\n>     { \u002F* column 2 *\u002F },\n>     { \u002F* column 3 *\u002F },\n>     { \u002F* column 4 *\u002F },\n>     { \u002F* column 5 *\u002F }\n>   ]\n> }\n> ```\n>\n> The per-column POST path remains valid for two cases only: (1) Extend on an existing table, (2) retry-after-partial-failure when Step 5a's pre-flight shows the table exists but some columns don't.\n\n**Solution targeting (HARD):** every Step 5 \u002F 5b POST MUST pass `--solution \u003Cuniquename>` so Dataverse routes the new artifact into our solution rather than the unmanaged default. Read the solution name from `memory-bank.md` Power Platform context (captured in Step 3b). Without this flag, multi-project environments end up with cross-solution leakage and the foreign-collision class of bug returns. The script translates `--solution` to the `MSCRM.SolutionUniqueName` HTTP header.\n\n**Scratch files:** When writing request body JSON to disk (e.g. table definitions, column metadata, relationship payloads), always write to `\u003Cworking_dir>\u002F.tmp\u002F`, never to `\u002Ftmp\u002F`. Keeping request bodies project-local prevents cross-project writes and makes cleanup deterministic. Create the folder if it doesn't exist: `mkdir -p \u003Cworking_dir>\u002F.tmp`.\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST EntityDefinitions \\\n  --body '\u003Cjson-body-with-all-columns-inline>' \\\n  --solution '\u003Csolution-uniquename-from-memory-bank>'\n```\n\nBody skeleton — **all planned columns inline in `Attributes: [...]`** (this example shows primary + 3 additional; expand the array to fit every column from the plan):\n\n> **⚠️ `IsAvailableOffline` + `ChangeTrackingEnabled` MUST be set to `true` at create time** for any table the app intends to make available offline. Without these two flags the table cannot be added to a `mobileofflineprofile`, and `\u002Fsetup-offline-profile` will have to fix them via a separate metadata PUT (the `\u002Fenable-tables-offline` skill handles that, but it doubles the metadata-lock-serialized round trips). Empirically verified 2026-05-18 in the chanel-rm demo: 7 custom tables created without these flags caused 7 prereq-revert drift entries; fixed by post-hoc enablement. Default these to `true` for all UserOwned tables created by `\u002Fadd-dataverse` unless the user has explicitly opted out of offline support. The flags are no-ops at runtime for apps that don't use offline profiles.\n\n```json\n{\n  \"@odata.type\": \"Microsoft.Dynamics.CRM.EntityMetadata\",\n  \"SchemaName\": \"cr123_jobsite\",\n  \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Job Site\", \"LanguageCode\": 1033 }] },\n  \"DisplayCollectionName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Job Sites\", \"LanguageCode\": 1033 }] },\n  \"OwnershipType\": \"UserOwned\",\n  \"HasActivities\": false,\n  \"HasNotes\": false,\n  \"IsAvailableOffline\": true,\n  \"ChangeTrackingEnabled\": true,\n  \"PrimaryNameAttribute\": \"cr123_sitename\",\n  \"Attributes\": [\n    {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.StringAttributeMetadata\",\n      \"SchemaName\": \"cr123_sitename\",\n      \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Site Name\", \"LanguageCode\": 1033 }] },\n      \"MaxLength\": 200,\n      \"FormatName\": { \"Value\": \"Text\" },\n      \"RequiredLevel\": { \"Value\": \"ApplicationRequired\" },\n      \"IsPrimaryName\": true\n    },\n    {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.StringAttributeMetadata\",\n      \"SchemaName\": \"cr123_address\",\n      \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Address\", \"LanguageCode\": 1033 }] },\n      \"MaxLength\": 500,\n      \"FormatName\": { \"Value\": \"Text\" },\n      \"RequiredLevel\": { \"Value\": \"None\" }\n    },\n    {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.IntegerAttributeMetadata\",\n      \"SchemaName\": \"cr123_squarefeet\",\n      \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Square Feet\", \"LanguageCode\": 1033 }] },\n      \"RequiredLevel\": { \"Value\": \"None\" },\n      \"MinValue\": 0,\n      \"MaxValue\": 2147483647,\n      \"Format\": \"None\"\n    },\n    {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.BooleanAttributeMetadata\",\n      \"SchemaName\": \"cr123_active\",\n      \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Active\", \"LanguageCode\": 1033 }] },\n      \"RequiredLevel\": { \"Value\": \"None\" },\n      \"DefaultValue\": true,\n      \"OptionSet\": {\n        \"@odata.type\": \"Microsoft.Dynamics.CRM.BooleanOptionSetMetadata\",\n        \"TrueOption\": { \"Value\": 1, \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Yes\", \"LanguageCode\": 1033 }] } },\n        \"FalseOption\": { \"Value\": 0, \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"No\", \"LanguageCode\": 1033 }] } }\n      }\n    }\n  ]\n}\n```\n\nFor each `Extend` decision, POST a new column to the existing table.\n\n> **⚠️ Per-column pre-flight (HARD — required for idempotent re-runs).** Before each column POST, probe whether the column already exists. This catches:\n> - Partial failures from a prior `EntityDefinitions` POST that created the table + some columns but not all (the body is non-atomic — server commits each Attribute one at a time).\n> - User re-runs after fixing a typo in one column's metadata.\n> - Re-applying a plan after a network drop mid-Step-5b.\n>\n> Without this check, the second POST returns `400: attribute already exists` (`0x80044153`) and the run aborts mid-tier.\n>\n> ```bash\n> node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n>   \"EntityDefinitions(LogicalName='\u003Ctable>')\u002FAttributes(LogicalName='\u003Ccolumn>')?\\$select=LogicalName,AttributeType\"\n> ```\n>\n> | Status | Meaning | Action |\n> |---|---|---|\n> | **404** | Column doesn't exist | Proceed with POST. |\n> | **200** + `AttributeType` matches the spec | Already created (idempotent re-run) | Skip the POST, log `↻ \u003Ccolumn> (already exists, skipped)`, continue. |\n> | **200** + `AttributeType` differs from the spec | Schema drift — column type was changed manually OR plan changed since last run | **STOP** and surface to user: \"Column `\u003Ccolumn>` exists but is `\u003CexistingType>`, plan expected `\u003CplannedType>`. Dataverse does NOT allow column-type changes via API — you must delete the column manually and re-run.\" Do NOT silently overwrite. |\n\nAfter pre-flight returns 404, POST the column (always pass `--solution`):\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')\u002FAttributes\" \\\n  --body '\u003Ccolumn-json>' \\\n  --solution '\u003Csolution-uniquename-from-memory-bank>'\n```\n\n**The same pre-flight applies inside Create POSTs that include initial Attributes.** If a Create POST partially failed earlier (table + some columns committed), the retry path is to do **per-column** pre-flight + POST instead of re-POSTing the whole `EntityDefinitions` body — re-POSTing returns `0x80060888 entity already exists`. After Step 5a says \"table exists with our MetadataId\" (idempotent re-run match), iterate the planned `Attributes` and pre-flight each one against `\u002FAttributes(LogicalName='\u003Ccolumn>')`, then POST only the missing ones.\n\nColumn shapes that have non-obvious gotchas (handle carefully):\n- **Lookup** — POST to `\u002FRelationshipDefinitions`, not `\u002FAttributes`.\n\n  > **⚠️ Do NOT improvise the body. Copy the skeleton below verbatim and replace only the placeholders in `\u003C>` brackets.**\n  >\n  > Fields that cause silent failure if added:\n  > - **Do NOT include `ReferencingAttribute`.** Dataverse auto-creates the foreign-key column from `Lookup.SchemaName`. Including it causes `404: Could not find an attribute with specified name` because the column doesn't exist yet at POST time.\n  > - **Do NOT include `Lookup.LogicalName`.** It's read-only metadata; including it returns `400 Bad Request`.\n  > - **Do NOT include `ReferencedAttribute`.** Dataverse resolves the primary key of the referenced entity automatically. The reference is optional and omitting it is the correct default.\n  >\n  > Required fields: `SchemaName`, `ReferencedEntity`, `ReferencingEntity`, `Lookup.{@odata.type, SchemaName, DisplayName, RequiredLevel}`, `AssociatedMenuConfiguration`, `CascadeConfiguration` (including `RollupView`). Anything else is invented — drop it.\n\n  ```json\n  {\n    \"@odata.type\": \"Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata\",\n    \"SchemaName\": \"\u003Cprefix>_\u003CParent>_\u003CChild>\",\n    \"ReferencedEntity\": \"\u003Cparent_table_logical_name>\",\n    \"ReferencingEntity\": \"\u003Cchild_table_logical_name>\",\n    \"Lookup\": {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.LookupAttributeMetadata\",\n      \"SchemaName\": \"\u003CPrefix>_\u003CParent>Id\",\n      \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"\u003CParent Display Name>\", \"LanguageCode\": 1033 }] },\n      \"RequiredLevel\": { \"Value\": \"None\" }\n    },\n    \"AssociatedMenuConfiguration\": { \"Behavior\": \"UseCollectionName\", \"Group\": \"Details\", \"Order\": 10000 },\n    \"CascadeConfiguration\": {\n      \"Assign\": \"NoCascade\",\n      \"Delete\": \"RemoveLink\",\n      \"Merge\": \"NoCascade\",\n      \"Reparent\": \"NoCascade\",\n      \"Share\": \"NoCascade\",\n      \"Unshare\": \"NoCascade\",\n      \"RollupView\": \"NoCascade\"\n    }\n  }\n  ```\n\n  Invocation (apiPath is `RelationshipDefinitions`, body via `--body`, always pass `--solution`):\n\n  ```bash\n  node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST \\\n    RelationshipDefinitions \\\n    --body '\u003Cjson-body-from-skeleton-above>' \\\n    --solution '\u003Csolution-uniquename-from-memory-bank>'\n  ```\n\n- **Many-to-Many (M:N)** — also POST to `\u002FRelationshipDefinitions`, but with `ManyToManyRelationshipMetadata`. Dataverse creates an auto-named intersect table.\n\n  > **⚠️ Do NOT improvise the body.** Required fields: `SchemaName`, `Entity1LogicalName`, `Entity2LogicalName`, `IntersectEntityName`, and the two `AssociatedMenuConfiguration` blocks. Do not include lookup or cascade fields — those are 1:N concepts.\n\n  ```json\n  {\n    \"@odata.type\": \"Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata\",\n    \"SchemaName\": \"\u003Cprefix>_\u003Ctable1>_\u003Ctable2>\",\n    \"Entity1LogicalName\": \"\u003Ctable1_logical_name>\",\n    \"Entity2LogicalName\": \"\u003Ctable2_logical_name>\",\n    \"IntersectEntityName\": \"\u003Cprefix>_\u003Ctable1>_\u003Ctable2>\",\n    \"Entity1AssociatedMenuConfiguration\": {\n      \"Behavior\": \"UseLabel\",\n      \"Group\": \"Details\",\n      \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"\u003CTable2 Plural>\", \"LanguageCode\": 1033 }] },\n      \"Order\": 10000\n    },\n    \"Entity2AssociatedMenuConfiguration\": {\n      \"Behavior\": \"UseLabel\",\n      \"Group\": \"Details\",\n      \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"\u003CTable1 Plural>\", \"LanguageCode\": 1033 }] },\n      \"Order\": 10000\n    }\n  }\n  ```\n\n  **Pre-flight M:N:** GET `RelationshipDefinitions(SchemaName='\u003Cprefix>_\u003Ctable1>_\u003Ctable2>')?$select=SchemaName` — 404 → proceed; 200 → skip (already exists).\n\n  **In the generated service:** M:N relationships are queried via the intersect entity name (e.g., `cr123_tag_inspection`) — the SDK does not expose a direct M:N navigation helper; the screen-builder must query the intersect table directly or via a calculated column approach. Flag this in the Step 7 summary if any M:N relationships are created.\n\n- **Column `@odata.type` and required fields — reference table (verified against Dataverse OData API):**\n\n  | Dataverse type | `@odata.type` | Required extra fields |\n  |---|---|---|\n  | Single-line text | `Microsoft.Dynamics.CRM.StringAttributeMetadata` | `MaxLength` (200), `FormatName: { \"Value\": \"Text\" }` — values: `Text`, `Email`, `Url`, `Phone`, `TextArea` |\n  | Multi-line text | `Microsoft.Dynamics.CRM.MemoAttributeMetadata` | `MaxLength` (10000), `Format: \"TextArea\"` |\n  | Whole number | `Microsoft.Dynamics.CRM.IntegerAttributeMetadata` | `MinValue`, `MaxValue`, `Format: \"None\"` |\n  | Decimal | `Microsoft.Dynamics.CRM.DecimalAttributeMetadata` | `MinValue`, `MaxValue`, `Precision` (2) |\n  | Currency (Money) | `Microsoft.Dynamics.CRM.MoneyAttributeMetadata` | `MinValue`, `MaxValue`, `Precision` (2), `PrecisionSource` (2) |\n  | Date\u002FTime | `Microsoft.Dynamics.CRM.DateTimeAttributeMetadata` | `Format: \"DateAndTime\"` or `\"DateOnly\"`, `DateTimeBehavior: { \"Value\": \"UserLocal\" }` |\n  | Boolean | `Microsoft.Dynamics.CRM.BooleanAttributeMetadata` | `DefaultValue`, `OptionSet` with `TrueOption`\u002F`FalseOption` |\n  | Choice (picklist) | `Microsoft.Dynamics.CRM.PicklistAttributeMetadata` | `OptionSet` with `IsGlobal: false`, `OptionSetType: \"Picklist\"`, `Options[]` — **option integer values start at `100000000` and increment by 1** |\n  | Lookup | via `RelationshipDefinitions` — see 1:N skeleton above | — |\n  | Image | `Microsoft.Dynamics.CRM.ImageAttributeMetadata` | `MaxHeight`, `MaxWidth` |\n  | File | `Microsoft.Dynamics.CRM.FileAttributeMetadata` | `MaxSizeInKB` |\n\n  **Common mistake:** omitting `FormatName` on String columns and `DateTimeBehavior` on DateTime columns. Both are required — Dataverse rejects the POST without them.\n\n- **Choice (option set)** — set `OptionSet.IsGlobal: false` for local picklists. Full body (option values start at `100000000` and increment by 1):\n\n  ```json\n  {\n    \"@odata.type\": \"Microsoft.Dynamics.CRM.PicklistAttributeMetadata\",\n    \"SchemaName\": \"\u003CPrefix>_\u003CColumnName>\",\n    \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"\u003CDisplay Name>\", \"LanguageCode\": 1033 }] },\n    \"RequiredLevel\": { \"Value\": \"None\" },\n    \"OptionSet\": {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.OptionSetMetadata\",\n      \"IsGlobal\": false,\n      \"OptionSetType\": \"Picklist\",\n      \"Options\": [\n        { \"Value\": 100000000, \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"Option 1\", \"LanguageCode\": 1033 }] } },\n        { \"Value\": 100000001, \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"Option 2\", \"LanguageCode\": 1033 }] } }\n      ]\n    }\n  }\n  ```\n- **Image** — `@odata.type: Microsoft.Dynamics.CRM.ImageAttributeMetadata`, `MaxHeight`\u002F`MaxWidth` required\n- **File** — `@odata.type: Microsoft.Dynamics.CRM.FileAttributeMetadata`, `MaxSizeInKB` required\n\nIf the column type is not a simple string\u002Fint\u002Fboolean, surface a one-line confirmation to the user before posting.\n\nAfter all mutations, re-run the existing-tables query (Step 4) to confirm everything landed.\n\n### Step 5c — Create calculated columns from `### Cross-entity Reads`\n\n**Print before starting:**\n> \"→ Creating calculated columns from the plan's ### Cross-entity Reads subsection (one HTTP call per row). Skip if the subsection is absent.\"\n\n**Run condition:** the planner \u002F data-model-architect emits a `### Cross-entity Reads (auto-derived from screen plan)` subsection inside `## Data Model` of `native-app-plan.md` when the screen plan reads any field from a related entity. Parse that subsection. If absent or empty, **skip Step 5c entirely** — proceed to Step 6.\n\nThis step exists because of the runtime constraint documented at [`shared\u002Freferences\u002Fdata-performance.md` § Cross-entity Reads](${PLUGIN_ROOT}\u002Fshared\u002Freferences\u002Fdata-performance.md#cross-entity-reads): the SDK has no `$expand`, so cross-entity fields on hot paths (lists, dashboards, tab roots) MUST be denormalized via calculated columns at the data-model layer. The `### Chained-fetch fields (informational)` subsection (if present) is documentation only — the screen-builder handles those at scaffold time, no schema change.\n\n**Algorithm:**\n\n1. Parse the `### Cross-entity Reads` table. Each row has columns: `Calc column | On table | Type | Resolves | Driven by`.\n2. **Run AFTER all regular columns + relationships from Step 5b have been created** (the formula chain references real columns + lookups; creating the calc column before its dependencies returns HTTP 400 from Dataverse).\n3. **Per row**, invoke the helper:\n\n   ```bash\n   node \"${PLUGIN_ROOT}\u002Fscripts\u002Fcreate-calculated-column.js\" \u003CenvUrl> \\\n     --table \u003Con-table> \\\n     --column \u003Ccalc-column-logical-name> \\\n     --type \u003CType column verbatim: string|datetime|decimal|integer|boolean> \\\n     --formula \"\u003Cdotted path from Resolves column, e.g. cr3e9_flightid.cr3e9_gateid.cr3e9_gatename>\" \\\n     --display \"\u003Chuman-friendly label inferred from the column name minus _calc suffix>\" \\\n     --solution '\u003Csolution-uniquename-from-memory-bank>'\n   ```\n\n4. **One at a time, sequentially.** Calc-column creation is metadata mutation — same concurrency rule as table creation. Print `✓ \u003Ccalc-column>` after each success.\n5. **On failure** — the helper script prints the OData error inline. Common cases:\n   - `400 — formula references unknown attribute` → the relationship or column the formula needs has not been created yet. Verify Step 5b finished cleanly before retrying.\n   - `400 — calculated formula not allowed on this navigation` → the dotted path tries to traverse 1:many or M:N. The architect should have caught this at Step 6a; flag in summary, skip the row, continue.\n   - Surface non-recoverable errors to the user with the offending row, then proceed to the next row. Do NOT abort the whole step on one bad row.\n\n6. After all rows are processed, the publish step (Step 6b) below picks up calc columns automatically — no extra publish call needed.\n\n### Step 5d — Create alternate keys for unique business identifiers\n\n**Print before starting:**\n> \"→ Creating alternate keys for columns marked unique in the data model (one HTTP call per key). Skip if no unique columns are planned.\"\n\n**Run condition:** the `## Data Model` section marks a non-primary column as unique \u002F alternate key \u002F natural key. Common examples: QR Code Value, SKU, external ID, employee number, asset tag. Skip primary IDs and skip columns whose type Dataverse cannot index as an alternate key (file\u002Fimage, memo\u002Flong text, multi-select choice, calculated\u002Frollup, customer\u002Fowner lookups).\n\n**Ordering:** run after the target table and target columns exist, and before Step 6b publish. Alternate-key index activation is asynchronous; creation may return success while the key status is `Pending`.\n\n**Do NOT use the `CreateEntityKey` action route.** In practice it can return 404 depending on route shape \u002F environment. The reliable metadata route is POSTing to the table's `Keys` navigation collection:\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')\u002FKeys\" \\\n  --body '\u003Centity-key-json>' \\\n  --solution '\u003Csolution-uniquename-from-memory-bank>'\n```\n\nBody skeleton:\n\n```json\n{\n  \"@odata.type\": \"Microsoft.Dynamics.CRM.EntityKeyMetadata\",\n  \"SchemaName\": \"\u003Cprefix>_\u003Ctable>_\u003Ccolumn>_key\",\n  \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"\u003CColumn display> Key\", \"LanguageCode\": 1033 }] },\n  \"KeyAttributes\": [\"\u003Ccolumn_logical_name>\"]\n}\n```\n\n**Pre-flight each key before POST** so re-runs are idempotent:\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')?\\$select=LogicalName&\\$expand=Keys(\\$select=SchemaName,KeyAttributes,EntityKeyIndexStatus)\"\n```\n\n| Existing key state | Action |\n|---|---|\n| Same `SchemaName` or same `KeyAttributes` exists with `Active` \u002F `Pending` | Skip POST; record the key in `.datamodel-manifest.json`. |\n| Same `SchemaName` exists with `Failed` | Surface the failure and stop; Dataverse requires deleting\u002Frecreating the key manually or changing the planned key name. |\n| No matching key | POST to `EntityDefinitions(LogicalName='\u003Ctable>')\u002FKeys`. |\n\n**After POST:** a `204` response is success. Re-query the `Keys` expand above and capture `EntityKeyIndexStatus`. If it is `Pending`, continue the scaffold but add a memory-bank follow-up: `alternate key \u003Cschema> pending index activation`. Do not rely on duplicate enforcement in manual tests until the status reaches `Active`.\n\nAdd alternate keys to `.datamodel-manifest.json` for the table:\n\n```json\n\"alternateKeys\": [\n  { \"schemaName\": \"cr123_item_code_key\", \"keyAttributes\": [\"cr123_code\"], \"indexStatus\": \"Pending\" }\n]\n```\n\n### Step 6 — Add data sources\n\n**Print before starting:**\n> \"→ Generating TypeScript services for \u003CN> tables via `npx power-apps add-data-source` (sequential). Print '✓ \u003Ctable>Service.ts' after each.\"\n\nFor each table the app will use (regardless of reuse\u002Fextend\u002Fcreate), generate the TS layer from the app root. The CLI reads the environment ID from `power.config.json`; pass the environment URL resolved earlier in the skill:\n\n```bash\nnpx power-apps add-data-source --api-id dataverse --org-url \u003CenvUrl> --resource-name \u003Ctable-logical-name>\n```\n\nRun **one at a time — sequentially**, not in parallel. The Power Apps CLI writes `src\u002Fgenerated\u002FconnectorSchemas.ts` and other generated files non-atomically; concurrent invocations corrupt them.\n\n### Step 6b — Publish customizations\n\n**Print before starting:**\n> \"→ Publishing customizations (PublishXml) so new tables\u002Fcolumns become queryable. ~5–20 seconds.\"\n\nOnly after **every** Step 5 metadata POST and **every** Step 6 `npx power-apps add-data-source` has returned successfully, publish so the new tables and columns are available to the runtime. `PublishXml` takes the same exclusive metadata lock as the create\u002Fextend calls — do not run it concurrently with anything from Steps 5 or 6.\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST \\\n  \"PublishXml\" \\\n  --body \"{\\\"ParameterXml\\\":\\\"\u003Cimportexportxml>\u003Centities>\u003Centity>cr123_table1\u003C\u002Fentity>\u003Centity>cr123_table2\u003C\u002Fentity>\u003C\u002Fentities>\u003C\u002Fimportexportxml>\\\"}\"\n```\n\nBuild the entity list from all tables that were **created or extended** in Steps 4–5. Skip reused-as-is tables — they don't need republishing.\n\nIf the publish call returns a non-2xx status, report the error and stop — do not proceed. The user must resolve before the tables are usable.\n\n### Step 6c — Verify tables exist\n\nFor each created or extended table, confirm it is queryable after publish:\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')?\\\\$select=LogicalName,DisplayName\"\n```\n\n- **200** → confirmed.\n- **404** → table missing after publish — report and stop.\n\n### Step 6d — Write `.datamodel-manifest.json`\n\nAfter all tables are verified, write the manifest to the project root using the `Write` tool:\n\n```json\n{\n  \"environmentUrl\": \"\u003CenvUrl>\",\n  \"generatedAt\": \"\u003CISO timestamp>\",\n  \"tables\": [\n    {\n      \"logicalName\": \"cr123_jobsite\",\n      \"displayName\": \"Job Site\",\n      \"status\": \"new\",\n      \"metadataId\": \"\u003Cserver-assigned GUID from Step 5a re-GET>\",\n      \"solution\": \"\u003Csolution unique name, e.g. PowerAppsDefault>\",\n      \"columns\": [\n        { \"logicalName\": \"cr123_sitename\", \"type\": \"String\" },\n        { \"logicalName\": \"cr123_address\",  \"type\": \"String\" }\n      ]\n    }\n  ]\n}\n```\n\n`metadataId` and `solution` are required for `status: \"new\"` or `\"extended\"` entries — they're how Step 5a distinguishes \"we own this on a re-run\" from \"name collision.\" Reused tables can omit both.\n\nInclude only tables confirmed in Step 6c. Do NOT include tables reused with no schema changes.\n\n### Step 7 — Inspect generated files\n\n```text\nGlob: src\u002Fgenerated\u002Fservices\u002F*Service.ts\nGlob: src\u002Fgenerated\u002Fmodels\u002F*Model.ts\n```\n\nFor each table, check the generated service exposes the expected methods:\n\n```text\nGrep pattern=\"async (create|getAll|getById|update|delete|upload|downloadFile|downloadImage)\" path=\"src\u002Fgenerated\u002Fservices\u002F\u003CTable>Service.ts\"\n```\n\nIf the table has file or image columns, confirm the service includes `upload`, `downloadFile`, `downloadImage`, `deleteFileOrImage` — and the model exposes `\u003CTable>FileColumnName` \u002F `\u003CTable>ImageColumnName` union types.\n\n**File\u002Fimage column UI controls:** When a generated table has File or Image columns, note this in the summary so screen-builders apply the host controls from `@microsoft\u002Fpower-apps-native-host`:\n- **File columns** → `\u003CFilePicker>`; upload bytes separately via the generated service's upload method after the main create\u002Fupdate.\n- **Image columns** → `\u003CImagePicker>`; capture `PickedImageInfo` via `onImageChange` and persist through generated `upload(...)` after the main create\u002Fupdate.\n- **Read\u002Fview flows** → use generated `downloadFile(...)` \u002F `downloadImage(...)` helpers for existing attachments\u002Fpreviews.\n\nFull usage pattern and the native-wrapper boundary live in [`\u002Fadd-native`](..\u002Fadd-native\u002FSKILL.md#fileimage-picker-ownership); screen-builder keeps only the concise JSX enforcement rule.\n\n**PDF\u002Fsignature artifact schema guidance:** If the approved plan mentions generated PDFs, PDF evidence packets, approvals, signatures, sign-off, ink, or drawings, preserve the storage decision in the Dataverse model instead of defaulting to text fields.\n\n| User need | Dataverse shape | Write pattern |\n|---|---|---|\n| Generated PDF report that must be retained | File column on the parent record, or child Evidence\u002FAttachment table with a File column | Create\u002Fupdate parent row first, then call generated `Service.upload(parentId, '\u003CfileColumn>', file)` |\n| Generated PDF report that is only transient | No Dataverse column required | Generate locally with `expo-print` only when present; share with `expo-sharing` only when present; do not route local URI to native PDF viewer |\n| Captured signature\u002Fsign-off image | Image column when the latest signature belongs on the parent row | Strip `data:image\u002Fpng;base64,` if the generated service expects raw base64, then include image payload in the update body |\n| Multiple signatures, sketches, evidence images, or audit attachments | Child Evidence\u002FAttachment table with Image\u002FFile columns and lookup to parent | Create child row first, then include Image payload or upload File bytes through generated service helpers |\n\nSignature image normalization example:\n\n```ts\nconst signatureBase64 = signatureDataUri.replace(\u002F^data:image\\\u002Fpng;base64,\u002F, '');\nconst result = await Cr123_approvalService.update(approvalId, {\n  cr123_signatureimage: signatureBase64,\n  cr123_signedat: new Date().toISOString(),\n});\n\nif (!result.success) {\n  throw new Error(result.error?.message ?? 'Signature image was not saved.');\n}\n```\n\nFile upload after parent row exists example:\n\n```ts\nconst save = await Cr123_inspectionService.update(inspectionId, {\n  cr123_reportgeneratedat: new Date().toISOString(),\n});\n\nif (!save.success) {\n  throw new Error(save.error?.message ?? 'Inspection was not saved.');\n}\n\nconst upload = await Cr123_inspectionService.upload(inspectionId, 'cr123_reportfile', reportFile);\n\nif (!upload.success) {\n  throw new Error(upload.error?.message ?? 'Inspection report was not uploaded.');\n}\n```\n\n### Step 8 — Type-check\n\n**Print before starting:**\n> \"→ Regenerating connector schemas + running tsc to verify generated services compile (~15–30 seconds).\"\n\n`npx power-apps add-data-source` (Step 5) wrote new files into `.power\u002Fschemas\u002F\u003Cconnector>\u002F`. The `connectorSchemas.ts` consumed by `app\u002F_layout.tsx` is now stale — regenerate it before type-checking, otherwise the new tables won't be wired into the runtime schema map and `tsc` will pass against an out-of-date snapshot:\n\n```bash\nnpm run generate-schemas\nnpx tsc --noEmit\n```\n\nFix any errors. Common: missing peer dependencies — `npx expo install \u003Cpackage>`.\n\n### Step 8.5 — Offline profile reconciliation\n\nA schema change here (new table or new column) can leave an existing Mobile Offline Profile behind — new tables never sync to devices and new columns come down blank. Reconcile the profile with what you just created.\n\n**Skip this step entirely when `$ARGUMENTS` contains `--skip-planning`** (the orchestrator-invoked path). `\u002Fcreate-mobile-app`, `\u002Fsetup-datamodel`, and `\u002Fedit-app` own offline reconciliation in their own flow, so running it here too would double-prompt.\n\nOtherwise (manual `\u002Fadd-dataverse`), run the local, no-network delta check:\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Foffline-profile-delta.js\"\n```\n\nBranch on the JSON `status` per [offline-profile-reconciliation.md](${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fshared\u002Freferences\u002Foffline-profile-reconciliation.md):\n\n| `status` | Action |\n|---|---|\n| `no-manifest` \u002F `no-profile` \u002F `in-sync` | Continue to Step 9 silently. For `no-profile` (no offline profile exists) do not nag — the app may not use offline. |\n| `error` | `offline-profile.json` is unreadable — the script prints `status: error` and **exits non-zero**. Do NOT treat this as an `\u002Fadd-dataverse` failure (the tables are already created): surface the `error` string, **skip reconciliation** (never drive the update workflows against a corrupt file), and finish with `DONE_WITH_CONCERNS` telling the user to fix `offline-profile.json`. |\n| `delta` | Prompt the user (one `AskUserQuestion`, default = update now) to add the missing tables \u002F new columns. For `missingTables[]`, read and execute `${CLAUDE_SKILL_DIR}\u002F..\u002Fadd-table-to-offline-profile\u002FSKILL.md`; for `tablesWithNewColumns[]`, read and execute `${CLAUDE_SKILL_DIR}\u002F..\u002Fedit-offline-profile\u002FSKILL.md` with `--table \u003Ct> --columns add:\u003CnewColumns>`. Re-run the delta check; it should read `in-sync`. Follow the exact prompt + ordering in the reconciliation reference. |\n\n### Step 9 — Summary\n\n```\n✅ Dataverse added\n─────────────────────────────────────────────\nEnvironment   : \u003CenvUrl>\nTables reused : \u003Clist>\nTables extended: \u003Clist (columns added)>\nTables created : \u003Clist (in tier order)>\n\nGenerated services:\n  src\u002Fgenerated\u002Fservices\u002F\u003CTable>Service.ts × N\nGenerated models:\n  src\u002Fgenerated\u002Fmodels\u002F\u003CTable>Model.ts × N\n\nType-check: PASS\n\nSample usage:\n\n  import { Cr123_jobsiteService } from '..\u002F..\u002Fsrc\u002Fgenerated\u002Fservices\u002FCr123_jobsiteService';\n\n  const result = await Cr123_jobsiteService.getAll({\n    select: ['cr123_sitename', 'cr123_address'],\n    filter: 'statecode eq 0',\n    orderBy: ['cr123_sitename asc'],\n    top: 50,\n  });\n  const sites = result.data ?? [];\n\n⚠️  First call triggers Dataverse OAuth consent via the native player's\n    `\u003Cscheme>:\u002F\u002Foauth-callback` deep link.\n\nNext:\n  \u002Fadd-sample-data        # Seed each new table with 5-10 realistic rows so the\n                          # app's home screen shows real-looking data on first launch.\n─────────────────────────────────────────────\n```\n\nAfter printing the summary, **offer one-click sample-data seeding** — but only when invoked manually (not from `\u002Fcreate-mobile-app`, which handles this in its own Step 8.5).\n\n- **If `$ARGUMENTS` contains `--skip-planning`** (the orchestrator-invoked path): skip the prompt. The orchestrator invokes `\u002Fadd-sample-data` separately.\n- **Otherwise (manual invocation)**, if the manifest contains any tables, ask:\n\n  > \"Seed \u003CN> tables with sample records so the app shows real-looking data on first launch? (yes \u002F no — default: yes)\"\n\n  Default to \"yes\" so empty input auto-proceeds. On \"yes\", invoke `\u002Fadd-sample-data`. On \"no\", print \"→ Skipped sample data. Run `\u002Fadd-sample-data` later to populate.\" and stop.\n\n## Key Rules\n\n- **Always** use generated services (e.g., `Cr123_jobsiteService.getAll()`) — never `fetch` \u002F `axios` directly.\n- Result data lives at `result.data`, not `result` itself.\n- Don't edit files under `src\u002Fgenerated\u002F` — they are regenerated on every `npx power-apps add-data-source`.\n- Picklist (Choice) fields, virtual fields, lookups, and file\u002Fimage columns each have non-obvious gotchas. Keep `references\u002Fdataverse-reference.md` aligned with this skill.\n- **When a Dataverse Web API behavior is uncertain (lookup write syntax, `$expand` nav property names, choice column shape, batch semantics, error format), query the `microsoft-learn` MCP server before guessing.** See [shared\u002Fshared-instructions.md → Microsoft Learn MCP](..\u002F..\u002Fshared\u002Fshared-instructions.md#microsoft-learn-mcp-authoritative-microsoft-docs). Guessed Dataverse syntax silently 400s.\n\n## Reference\n\n- [`scripts\u002Fdataverse-request.js`](..\u002F..\u002Fscripts\u002Fdataverse-request.js) — bundled in this plugin\n- [shared\u002Freferences\u002Foffline-profile-reconciliation.md](..\u002F..\u002Fshared\u002Freferences\u002Foffline-profile-reconciliation.md) — Step 8.5 offline delta check + reconciliation flow\n",{"data":41,"body":45},{"name":4,"description":6,"user-invocable":42,"allowed-tools":43,"model":44},true,"Read, Edit, Write, Grep, Glob, Bash, AskUserQuestion, EnterPlanMode, ExitPlanMode, Task","opus",{"type":46,"children":47},"root",[48,69,75,80,114,121,130,134,141,146,297,339,345,358,381,399,417,474,543,549,554,559,693,698,857,862,943,949,1000,1021,1027,1039,1046,1080,1248,1268,1374,1384,1390,1438,1451,1459,1577,1672,1677,1737,1785,1849,1860,1913,1932,1938,1946,1954,1959,2054,2074,2157,2162,2168,2175,14682],{"type":49,"tag":50,"props":51,"children":52},"element","p",{},[53,67],{"type":49,"tag":54,"props":55,"children":56},"strong",{},[57,60],{"type":58,"value":59},"text","📋 Shared instructions: ",{"type":49,"tag":61,"props":62,"children":64},"a",{"href":63},"$%7BCLAUDE_SKILL_DIR%7D\u002F..\u002F..\u002Fshared\u002Fshared-instructions.md",[65],{"type":58,"value":66},"shared-instructions.md",{"type":58,"value":68}," — read first.",{"type":49,"tag":70,"props":71,"children":72},"h1",{"id":4},[73],{"type":58,"value":74},"Add Dataverse",{"type":49,"tag":50,"props":76,"children":77},{},[78],{"type":58,"value":79},"Two paths:",{"type":49,"tag":81,"props":82,"children":83},"ul",{},[84,104],{"type":49,"tag":85,"props":86,"children":87},"li",{},[88,93,95,102],{"type":49,"tag":54,"props":89,"children":90},{},[91],{"type":58,"value":92},"Existing tables only",{"type":58,"value":94}," — skip to Step 5 (just runs ",{"type":49,"tag":96,"props":97,"children":99},"code",{"className":98},[],[100],{"type":58,"value":101},"npx power-apps add-data-source",{"type":58,"value":103}," per table)",{"type":49,"tag":85,"props":105,"children":106},{},[107,112],{"type":49,"tag":54,"props":108,"children":109},{},[110],{"type":58,"value":111},"New \u002F extended tables",{"type":58,"value":113}," — full workflow with Web API mutations in dependency order",{"type":49,"tag":115,"props":116,"children":118},"h2",{"id":117},"workflow",[119],{"type":58,"value":120},"Workflow",{"type":49,"tag":122,"props":123,"children":124},"ol",{},[125],{"type":49,"tag":85,"props":126,"children":127},{},[128],{"type":58,"value":129},"Verify project & auth → 2. Resolve plan → 3. Setup Dataverse Web API auth → 4. Review existing tables → 5. Create \u002F extend tables → 5d. Create alternate keys → 6. Add data sources → 6b. Publish customizations → 6c. Verify tables → 6d. Write manifest → 7. Inspect generated files → 8. Type-check → 8.5. Offline profile reconciliation → 9. Summary",{"type":49,"tag":131,"props":132,"children":133},"hr",{},[],{"type":49,"tag":135,"props":136,"children":138},"h3",{"id":137},"step-1-verify-project-auth",[139],{"type":58,"value":140},"Step 1 — Verify project & auth",{"type":49,"tag":50,"props":142,"children":143},{},[144],{"type":58,"value":145},"Confirm Power Apps mobile app:",{"type":49,"tag":147,"props":148,"children":153},"pre",{"className":149,"code":150,"language":151,"meta":152,"style":152},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","test -f power.config.json && test -f app.config.js\nnode \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fresolve-environment.js\" \"$(node -e \\\"console.log(require('.\u002Fpower.config.json').environmentId)\\\")\"\n","bash","",[154],{"type":49,"tag":96,"props":155,"children":156},{"__ignoreMap":152},[157,200],{"type":49,"tag":158,"props":159,"children":162},"span",{"class":160,"line":161},"line",1,[163,169,175,180,186,191,195],{"type":49,"tag":158,"props":164,"children":166},{"style":165},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[167],{"type":58,"value":168},"test",{"type":49,"tag":158,"props":170,"children":172},{"style":171},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[173],{"type":58,"value":174}," -f",{"type":49,"tag":158,"props":176,"children":177},{"style":171},[178],{"type":58,"value":179}," power.config.json",{"type":49,"tag":158,"props":181,"children":183},{"style":182},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[184],{"type":58,"value":185}," &&",{"type":49,"tag":158,"props":187,"children":188},{"style":165},[189],{"type":58,"value":190}," test",{"type":49,"tag":158,"props":192,"children":193},{"style":171},[194],{"type":58,"value":174},{"type":49,"tag":158,"props":196,"children":197},{"style":171},[198],{"type":58,"value":199}," app.config.js\n",{"type":49,"tag":158,"props":201,"children":203},{"class":160,"line":202},2,[204,210,215,221,226,231,236,241,245,250,255,260,265,270,275,280,284,288,292],{"type":49,"tag":158,"props":205,"children":207},{"style":206},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[208],{"type":58,"value":209},"node",{"type":49,"tag":158,"props":211,"children":212},{"style":182},[213],{"type":58,"value":214}," \"${",{"type":49,"tag":158,"props":216,"children":218},{"style":217},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[219],{"type":58,"value":220},"CLAUDE_SKILL_DIR",{"type":49,"tag":158,"props":222,"children":223},{"style":182},[224],{"type":58,"value":225},"}",{"type":49,"tag":158,"props":227,"children":228},{"style":171},[229],{"type":58,"value":230},"\u002F..\u002F..\u002Fscripts\u002Fresolve-environment.js",{"type":49,"tag":158,"props":232,"children":233},{"style":182},[234],{"type":58,"value":235},"\"",{"type":49,"tag":158,"props":237,"children":238},{"style":182},[239],{"type":58,"value":240}," \"$(",{"type":49,"tag":158,"props":242,"children":243},{"style":206},[244],{"type":58,"value":209},{"type":49,"tag":158,"props":246,"children":247},{"style":171},[248],{"type":58,"value":249}," -e ",{"type":49,"tag":158,"props":251,"children":252},{"style":217},[253],{"type":58,"value":254},"\\\"",{"type":49,"tag":158,"props":256,"children":257},{"style":171},[258],{"type":58,"value":259},"console.log",{"type":49,"tag":158,"props":261,"children":262},{"style":182},[263],{"type":58,"value":264},"(",{"type":49,"tag":158,"props":266,"children":267},{"style":206},[268],{"type":58,"value":269},"require('.\u002Fpower.config.json'",{"type":49,"tag":158,"props":271,"children":272},{"style":182},[273],{"type":58,"value":274},")",{"type":49,"tag":158,"props":276,"children":277},{"style":171},[278],{"type":58,"value":279},".environmentId",{"type":49,"tag":158,"props":281,"children":282},{"style":182},[283],{"type":58,"value":274},{"type":49,"tag":158,"props":285,"children":286},{"style":217},[287],{"type":58,"value":254},{"type":49,"tag":158,"props":289,"children":290},{"style":171},[291],{"type":58,"value":274},{"type":49,"tag":158,"props":293,"children":294},{"style":182},[295],{"type":58,"value":296},"\"\n",{"type":49,"tag":50,"props":298,"children":299},{},[300,302,307,309,315,317,322,324,329,331,337],{"type":58,"value":301},"Capture the ",{"type":49,"tag":54,"props":303,"children":304},{},[305],{"type":58,"value":306},"environment URL",{"type":58,"value":308}," (",{"type":49,"tag":96,"props":310,"children":312},{"className":311},[],[313],{"type":58,"value":314},"https:\u002F\u002ForgXXX.crm.dynamics.com",{"type":58,"value":316},"), ",{"type":49,"tag":54,"props":318,"children":319},{},[320],{"type":58,"value":321},"environment ID",{"type":58,"value":323},", and ",{"type":49,"tag":54,"props":325,"children":326},{},[327],{"type":58,"value":328},"tenant ID",{"type":58,"value":330}," from ",{"type":49,"tag":96,"props":332,"children":334},{"className":333},[],[335],{"type":58,"value":336},"resolve-environment.js",{"type":58,"value":338}," — needed for Step 3. If only the environment URL is available, pass that URL instead of the ID.",{"type":49,"tag":135,"props":340,"children":342},{"id":341},"step-2-resolve-plan",[343],{"type":58,"value":344},"Step 2 — Resolve plan",{"type":49,"tag":50,"props":346,"children":347},{},[348,350,356],{"type":58,"value":349},"Look for ",{"type":49,"tag":96,"props":351,"children":353},{"className":352},[],[354],{"type":58,"value":355},"native-app-plan.md",{"type":58,"value":357}," in the project root:",{"type":49,"tag":147,"props":359,"children":361},{"className":149,"code":360,"language":151,"meta":152,"style":152},"test -f native-app-plan.md\n",[362],{"type":49,"tag":96,"props":363,"children":364},{"__ignoreMap":152},[365],{"type":49,"tag":158,"props":366,"children":367},{"class":160,"line":161},[368,372,376],{"type":49,"tag":158,"props":369,"children":370},{"style":165},[371],{"type":58,"value":168},{"type":49,"tag":158,"props":373,"children":374},{"style":171},[375],{"type":58,"value":174},{"type":49,"tag":158,"props":377,"children":378},{"style":171},[379],{"type":58,"value":380}," native-app-plan.md\n",{"type":49,"tag":50,"props":382,"children":383},{},[384,389,391,397],{"type":49,"tag":54,"props":385,"children":386},{},[387],{"type":58,"value":388},"If present:",{"type":58,"value":390}," read the ",{"type":49,"tag":96,"props":392,"children":394},{"className":393},[],[395],{"type":58,"value":396},"## Data Model",{"type":58,"value":398}," section. Extract:",{"type":49,"tag":81,"props":400,"children":401},{},[402,407,412],{"type":49,"tag":85,"props":403,"children":404},{},[405],{"type":58,"value":406},"The reuse \u002F extend \u002F create table",{"type":49,"tag":85,"props":408,"children":409},{},[410],{"type":58,"value":411},"The Mermaid ER diagram (informational)",{"type":49,"tag":85,"props":413,"children":414},{},[415],{"type":58,"value":416},"The \"Creation Order\" tier list",{"type":49,"tag":50,"props":418,"children":419},{},[420,425,427,433,435,441,443,449,450,456,458,464,466,472],{"type":49,"tag":54,"props":421,"children":422},{},[423],{"type":58,"value":424},"If absent:",{"type":58,"value":426}," check ",{"type":49,"tag":96,"props":428,"children":430},{"className":429},[],[431],{"type":58,"value":432},"$ARGUMENTS",{"type":58,"value":434}," for diagram hints (",{"type":49,"tag":96,"props":436,"children":438},{"className":437},[],[439],{"type":58,"value":440},"*.png",{"type":58,"value":442},", ",{"type":49,"tag":96,"props":444,"children":446},{"className":445},[],[447],{"type":58,"value":448},"*.jpg",{"type":58,"value":442},{"type":49,"tag":96,"props":451,"children":453},{"className":452},[],[454],{"type":58,"value":455},"*.jpeg",{"type":58,"value":457}," filename, ",{"type":49,"tag":96,"props":459,"children":461},{"className":460},[],[462],{"type":58,"value":463},"erDiagram",{"type":58,"value":465}," keyword, ",{"type":49,"tag":96,"props":467,"children":469},{"className":468},[],[470],{"type":58,"value":471},"||--o{",{"type":58,"value":473}," cardinality syntax).",{"type":49,"tag":81,"props":475,"children":476},{},[477,487,504],{"type":49,"tag":85,"props":478,"children":479},{},[480,485],{"type":49,"tag":54,"props":481,"children":482},{},[483],{"type":58,"value":484},"Diagram hint present",{"type":58,"value":486}," → Path A (Step 2.5).",{"type":49,"tag":85,"props":488,"children":489},{},[490,502],{"type":49,"tag":54,"props":491,"children":492},{},[493,495,500],{"type":58,"value":494},"No hint AND ",{"type":49,"tag":96,"props":496,"children":498},{"className":497},[],[499],{"type":58,"value":432},{"type":58,"value":501}," describes what the app does",{"type":58,"value":503}," (the typical case) → silently take Path B (Step 2.6 — spawn architect). No prompt.",{"type":49,"tag":85,"props":505,"children":506},{},[507,518,520,526,528,537,541],{"type":49,"tag":54,"props":508,"children":509},{},[510,511,516],{"type":58,"value":494},{"type":49,"tag":96,"props":512,"children":514},{"className":513},[],[515],{"type":58,"value":432},{"type":58,"value":517}," is empty \u002F non-descriptive",{"type":58,"value":519}," → only then prompt with ",{"type":49,"tag":96,"props":521,"children":523},{"className":522},[],[524],{"type":58,"value":525},"AskUserQuestion",{"type":58,"value":527},":",{"type":49,"tag":529,"props":530,"children":531},"blockquote",{},[532],{"type":49,"tag":50,"props":533,"children":534},{},[535],{"type":58,"value":536},"\"How would you like to define the data model?\n(a) I have an existing ER diagram to upload (PNG\u002FJPG path, Mermaid syntax, or text description)\n(b) Let the data-model-architect agent analyze and propose one (default)\n(c) Cancel — I'll plan it elsewhere first\"",{"type":49,"tag":538,"props":539,"children":540},"br",{},[],{"type":58,"value":542},"Default the answer to (b) so empty\u002Fcancel input auto-proceeds. The 99% case (user gave a description but no diagram) skips this prompt entirely.",{"type":49,"tag":135,"props":544,"children":546},{"id":545},"step-25-path-a-parse-user-provided-diagram",[547],{"type":58,"value":548},"Step 2.5 — Path A: Parse user-provided diagram",{"type":49,"tag":50,"props":550,"children":551},{},[552],{"type":58,"value":553},"Used when the user has an existing diagram from another tool (Visio, dbdiagram.io, screenshot, hand-drawn).",{"type":49,"tag":50,"props":555,"children":556},{},[557],{"type":58,"value":558},"Accept three input formats:",{"type":49,"tag":560,"props":561,"children":562},"table",{},[563,582],{"type":49,"tag":564,"props":565,"children":566},"thead",{},[567],{"type":49,"tag":568,"props":569,"children":570},"tr",{},[571,577],{"type":49,"tag":572,"props":573,"children":574},"th",{},[575],{"type":58,"value":576},"Format",{"type":49,"tag":572,"props":578,"children":579},{},[580],{"type":58,"value":581},"How",{"type":49,"tag":583,"props":584,"children":585},"tbody",{},[586,631,661],{"type":49,"tag":568,"props":587,"children":588},{},[589,618],{"type":49,"tag":590,"props":591,"children":592},"td",{},[593,598,599,604,606,611,612,617],{"type":49,"tag":54,"props":594,"children":595},{},[596],{"type":58,"value":597},"Image path",{"type":58,"value":308},{"type":49,"tag":96,"props":600,"children":602},{"className":601},[],[603],{"type":58,"value":440},{"type":58,"value":605}," \u002F ",{"type":49,"tag":96,"props":607,"children":609},{"className":608},[],[610],{"type":58,"value":448},{"type":58,"value":605},{"type":49,"tag":96,"props":613,"children":615},{"className":614},[],[616],{"type":58,"value":455},{"type":58,"value":274},{"type":49,"tag":590,"props":619,"children":620},{},[621,623,629],{"type":58,"value":622},"Use ",{"type":49,"tag":96,"props":624,"children":626},{"className":625},[],[627],{"type":58,"value":628},"Read",{"type":58,"value":630}," on the file path. The vision-capable model extracts entities, columns, relationships.",{"type":49,"tag":568,"props":632,"children":633},{},[634,642],{"type":49,"tag":590,"props":635,"children":636},{},[637],{"type":49,"tag":54,"props":638,"children":639},{},[640],{"type":58,"value":641},"Mermaid syntax",{"type":49,"tag":590,"props":643,"children":644},{},[645,647,652,654,659],{"type":58,"value":646},"User pastes a ",{"type":49,"tag":96,"props":648,"children":650},{"className":649},[],[651],{"type":58,"value":463},{"type":58,"value":653}," block in chat. Parse the entities, columns, and ",{"type":49,"tag":96,"props":655,"children":657},{"className":656},[],[658],{"type":58,"value":471},{"type":58,"value":660}," cardinalities directly.",{"type":49,"tag":568,"props":662,"children":663},{},[664,672],{"type":49,"tag":590,"props":665,"children":666},{},[667],{"type":49,"tag":54,"props":668,"children":669},{},[670],{"type":58,"value":671},"Text description",{"type":49,"tag":590,"props":673,"children":674},{},[675,677,683,685,691],{"type":58,"value":676},"User types a structured description (\"Account has many ServiceVisits; each ServiceVisit has many WorkItems and Photos\"). Spawn ",{"type":49,"tag":96,"props":678,"children":680},{"className":679},[],[681],{"type":58,"value":682},"data-model-architect",{"type":58,"value":684}," agent in ",{"type":49,"tag":96,"props":686,"children":688},{"className":687},[],[689],{"type":58,"value":690},"parse-only",{"type":58,"value":692}," mode with the text as input.",{"type":49,"tag":50,"props":694,"children":695},{},[696],{"type":58,"value":697},"Whichever format, normalize into the same structure used by the planner agent:",{"type":49,"tag":147,"props":699,"children":703},{"className":700,"code":701,"language":702,"meta":152,"style":152},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","publisherPrefix: \u003Cfrom detected publisher prefix or user>\ntables:\n  - logicalName: contoso_servicevisit\n    displayName: Service Visit\n    status: new   # new | extend | reuse\n    columns: [...]\n    relationships: [...]\n","yaml",[704],{"type":49,"tag":96,"props":705,"children":706},{"__ignoreMap":152},[707,725,738,761,779,803,832],{"type":49,"tag":158,"props":708,"children":709},{"class":160,"line":161},[710,716,720],{"type":49,"tag":158,"props":711,"children":713},{"style":712},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[714],{"type":58,"value":715},"publisherPrefix",{"type":49,"tag":158,"props":717,"children":718},{"style":182},[719],{"type":58,"value":527},{"type":49,"tag":158,"props":721,"children":722},{"style":171},[723],{"type":58,"value":724}," \u003Cfrom detected publisher prefix or user>\n",{"type":49,"tag":158,"props":726,"children":727},{"class":160,"line":202},[728,733],{"type":49,"tag":158,"props":729,"children":730},{"style":712},[731],{"type":58,"value":732},"tables",{"type":49,"tag":158,"props":734,"children":735},{"style":182},[736],{"type":58,"value":737},":\n",{"type":49,"tag":158,"props":739,"children":741},{"class":160,"line":740},3,[742,747,752,756],{"type":49,"tag":158,"props":743,"children":744},{"style":182},[745],{"type":58,"value":746},"  -",{"type":49,"tag":158,"props":748,"children":749},{"style":712},[750],{"type":58,"value":751}," logicalName",{"type":49,"tag":158,"props":753,"children":754},{"style":182},[755],{"type":58,"value":527},{"type":49,"tag":158,"props":757,"children":758},{"style":171},[759],{"type":58,"value":760}," contoso_servicevisit\n",{"type":49,"tag":158,"props":762,"children":764},{"class":160,"line":763},4,[765,770,774],{"type":49,"tag":158,"props":766,"children":767},{"style":712},[768],{"type":58,"value":769},"    displayName",{"type":49,"tag":158,"props":771,"children":772},{"style":182},[773],{"type":58,"value":527},{"type":49,"tag":158,"props":775,"children":776},{"style":171},[777],{"type":58,"value":778}," Service Visit\n",{"type":49,"tag":158,"props":780,"children":782},{"class":160,"line":781},5,[783,788,792,797],{"type":49,"tag":158,"props":784,"children":785},{"style":712},[786],{"type":58,"value":787},"    status",{"type":49,"tag":158,"props":789,"children":790},{"style":182},[791],{"type":58,"value":527},{"type":49,"tag":158,"props":793,"children":794},{"style":171},[795],{"type":58,"value":796}," new",{"type":49,"tag":158,"props":798,"children":800},{"style":799},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[801],{"type":58,"value":802},"   # new | extend | reuse\n",{"type":49,"tag":158,"props":804,"children":806},{"class":160,"line":805},6,[807,812,816,821,827],{"type":49,"tag":158,"props":808,"children":809},{"style":712},[810],{"type":58,"value":811},"    columns",{"type":49,"tag":158,"props":813,"children":814},{"style":182},[815],{"type":58,"value":527},{"type":49,"tag":158,"props":817,"children":818},{"style":182},[819],{"type":58,"value":820}," [",{"type":49,"tag":158,"props":822,"children":824},{"style":823},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[825],{"type":58,"value":826},"...",{"type":49,"tag":158,"props":828,"children":829},{"style":182},[830],{"type":58,"value":831},"]\n",{"type":49,"tag":158,"props":833,"children":835},{"class":160,"line":834},7,[836,841,845,849,853],{"type":49,"tag":158,"props":837,"children":838},{"style":712},[839],{"type":58,"value":840},"    relationships",{"type":49,"tag":158,"props":842,"children":843},{"style":182},[844],{"type":58,"value":527},{"type":49,"tag":158,"props":846,"children":847},{"style":182},[848],{"type":58,"value":820},{"type":49,"tag":158,"props":850,"children":851},{"style":823},[852],{"type":58,"value":826},{"type":49,"tag":158,"props":854,"children":855},{"style":182},[856],{"type":58,"value":831},{"type":49,"tag":50,"props":858,"children":859},{},[860],{"type":58,"value":861},"Then:",{"type":49,"tag":122,"props":863,"children":864},{},[865,893,898,911,938],{"type":49,"tag":85,"props":866,"children":867},{},[868,870,876,877,883,885,891],{"type":58,"value":869},"Query existing Dataverse (Step 4 logic) to mark each table as ",{"type":49,"tag":96,"props":871,"children":873},{"className":872},[],[874],{"type":58,"value":875},"new",{"type":58,"value":442},{"type":49,"tag":96,"props":878,"children":880},{"className":879},[],[881],{"type":58,"value":882},"modified",{"type":58,"value":884},", or ",{"type":49,"tag":96,"props":886,"children":888},{"className":887},[],[889],{"type":58,"value":890},"reused",{"type":58,"value":892},".",{"type":49,"tag":85,"props":894,"children":895},{},[896],{"type":58,"value":897},"Generate a Mermaid ER diagram from the parsed structure for visual confirmation.",{"type":49,"tag":85,"props":899,"children":900},{},[901,903,909],{"type":58,"value":902},"Present back to the user via ",{"type":49,"tag":96,"props":904,"children":906},{"className":905},[],[907],{"type":58,"value":908},"EnterPlanMode",{"type":58,"value":910}," for approval.",{"type":49,"tag":85,"props":912,"children":913},{},[914,916,922,924,929,931,936],{"type":58,"value":915},"On ",{"type":49,"tag":96,"props":917,"children":919},{"className":918},[],[920],{"type":58,"value":921},"ExitPlanMode",{"type":58,"value":923},", write the approved data model into ",{"type":49,"tag":96,"props":925,"children":927},{"className":926},[],[928],{"type":58,"value":355},{"type":58,"value":930}," ",{"type":49,"tag":96,"props":932,"children":934},{"className":933},[],[935],{"type":58,"value":396},{"type":58,"value":937}," section (creating the file if it doesn't exist).",{"type":49,"tag":85,"props":939,"children":940},{},[941],{"type":58,"value":942},"Continue to Step 3.",{"type":49,"tag":135,"props":944,"children":946},{"id":945},"step-26-path-b-spawn-architect-agent",[947],{"type":58,"value":948},"Step 2.6 — Path B: Spawn architect agent",{"type":49,"tag":50,"props":950,"children":951},{},[952,954,960,962,968,970,976,978,984,986,991,993,998],{"type":58,"value":953},"If the user picked Path B (or the user-provided diagram parse failed), spawn the ",{"type":49,"tag":96,"props":955,"children":957},{"className":956},[],[958],{"type":58,"value":959},"mobile-app:data-model-architect",{"type":58,"value":961}," agent via ",{"type":49,"tag":96,"props":963,"children":965},{"className":964},[],[966],{"type":58,"value":967},"Task",{"type":58,"value":969}," (the ",{"type":49,"tag":96,"props":971,"children":973},{"className":972},[],[974],{"type":58,"value":975},"mobile-app:",{"type":58,"value":977}," plugin-name prefix is required) with the user's high-level requirements as input. The agent returns ",{"type":49,"tag":96,"props":979,"children":981},{"className":980},[],[982],{"type":58,"value":983},"_dm_section.md",{"type":58,"value":985},". Embed it in ",{"type":49,"tag":96,"props":987,"children":989},{"className":988},[],[990],{"type":58,"value":355},{"type":58,"value":992},", present via ",{"type":49,"tag":96,"props":994,"children":996},{"className":995},[],[997],{"type":58,"value":908},{"type":58,"value":999}," for approval, then continue to Step 3.",{"type":49,"tag":50,"props":1001,"children":1002},{},[1003,1005,1011,1013,1019],{"type":58,"value":1004},"If they need new tables and refuse both paths, recommend they run ",{"type":49,"tag":96,"props":1006,"children":1008},{"className":1007},[],[1009],{"type":58,"value":1010},"\u002Fsetup-datamodel",{"type":58,"value":1012}," (alias of this skill) explicitly, or ",{"type":49,"tag":96,"props":1014,"children":1016},{"className":1015},[],[1017],{"type":58,"value":1018},"native-app-planner",{"type":58,"value":1020}," for a full app-level plan. STOP if neither.",{"type":49,"tag":135,"props":1022,"children":1024},{"id":1023},"step-3-setup-dataverse-web-api-auth",[1025],{"type":58,"value":1026},"Step 3 — Setup Dataverse Web API auth",{"type":49,"tag":50,"props":1028,"children":1029},{},[1030,1032,1038],{"type":58,"value":1031},"Required only if creating or extending tables. Skip to Step 5 for read-only ",{"type":49,"tag":96,"props":1033,"children":1035},{"className":1034},[],[1036],{"type":58,"value":1037},"add-data-source",{"type":58,"value":892},{"type":49,"tag":1040,"props":1041,"children":1043},"h4",{"id":1042},"step-3a-environment-consistency-check",[1044],{"type":58,"value":1045},"Step 3a — Environment consistency check",{"type":49,"tag":50,"props":1047,"children":1048},{},[1049,1055,1057,1063,1065,1071,1073,1078],{"type":49,"tag":96,"props":1050,"children":1052},{"className":1051},[],[1053],{"type":58,"value":1054},"npx power-apps",{"type":58,"value":1056}," and ",{"type":49,"tag":96,"props":1058,"children":1060},{"className":1059},[],[1061],{"type":58,"value":1062},"az",{"type":58,"value":1064}," authenticate independently — they can point to different accounts. Verify ",{"type":49,"tag":96,"props":1066,"children":1068},{"className":1067},[],[1069],{"type":58,"value":1070},"power.config.json",{"type":58,"value":1072}," resolves and ",{"type":49,"tag":96,"props":1074,"children":1076},{"className":1075},[],[1077],{"type":58,"value":1062},{"type":58,"value":1079}," can token for the target tenant before making any Dataverse API calls:",{"type":49,"tag":147,"props":1081,"children":1083},{"className":149,"code":1082,"language":151,"meta":152,"style":152},"ENV_JSON=$(node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fresolve-environment.js\" \"$(node -e \\\"console.log(require('.\u002Fpower.config.json').environmentId)\\\")\")\necho \"$ENV_JSON\"\naz account show --query \"{user: user.name, tenant: tenantId}\" -o json\n",[1084],{"type":49,"tag":96,"props":1085,"children":1086},{"__ignoreMap":152},[1087,1181,1203],{"type":49,"tag":158,"props":1088,"children":1089},{"class":160,"line":161},[1090,1095,1100,1104,1108,1112,1116,1120,1124,1128,1132,1136,1140,1144,1148,1152,1156,1160,1164,1168,1172,1176],{"type":49,"tag":158,"props":1091,"children":1092},{"style":217},[1093],{"type":58,"value":1094},"ENV_JSON",{"type":49,"tag":158,"props":1096,"children":1097},{"style":182},[1098],{"type":58,"value":1099},"=$(",{"type":49,"tag":158,"props":1101,"children":1102},{"style":206},[1103],{"type":58,"value":209},{"type":49,"tag":158,"props":1105,"children":1106},{"style":182},[1107],{"type":58,"value":214},{"type":49,"tag":158,"props":1109,"children":1110},{"style":217},[1111],{"type":58,"value":220},{"type":49,"tag":158,"props":1113,"children":1114},{"style":182},[1115],{"type":58,"value":225},{"type":49,"tag":158,"props":1117,"children":1118},{"style":171},[1119],{"type":58,"value":230},{"type":49,"tag":158,"props":1121,"children":1122},{"style":182},[1123],{"type":58,"value":235},{"type":49,"tag":158,"props":1125,"children":1126},{"style":182},[1127],{"type":58,"value":240},{"type":49,"tag":158,"props":1129,"children":1130},{"style":206},[1131],{"type":58,"value":209},{"type":49,"tag":158,"props":1133,"children":1134},{"style":171},[1135],{"type":58,"value":249},{"type":49,"tag":158,"props":1137,"children":1138},{"style":217},[1139],{"type":58,"value":254},{"type":49,"tag":158,"props":1141,"children":1142},{"style":171},[1143],{"type":58,"value":259},{"type":49,"tag":158,"props":1145,"children":1146},{"style":182},[1147],{"type":58,"value":264},{"type":49,"tag":158,"props":1149,"children":1150},{"style":206},[1151],{"type":58,"value":269},{"type":49,"tag":158,"props":1153,"children":1154},{"style":182},[1155],{"type":58,"value":274},{"type":49,"tag":158,"props":1157,"children":1158},{"style":171},[1159],{"type":58,"value":279},{"type":49,"tag":158,"props":1161,"children":1162},{"style":182},[1163],{"type":58,"value":274},{"type":49,"tag":158,"props":1165,"children":1166},{"style":217},[1167],{"type":58,"value":254},{"type":49,"tag":158,"props":1169,"children":1170},{"style":171},[1171],{"type":58,"value":274},{"type":49,"tag":158,"props":1173,"children":1174},{"style":182},[1175],{"type":58,"value":235},{"type":49,"tag":158,"props":1177,"children":1178},{"style":182},[1179],{"type":58,"value":1180},")\n",{"type":49,"tag":158,"props":1182,"children":1183},{"class":160,"line":202},[1184,1189,1194,1199],{"type":49,"tag":158,"props":1185,"children":1186},{"style":165},[1187],{"type":58,"value":1188},"echo",{"type":49,"tag":158,"props":1190,"children":1191},{"style":182},[1192],{"type":58,"value":1193}," \"",{"type":49,"tag":158,"props":1195,"children":1196},{"style":217},[1197],{"type":58,"value":1198},"$ENV_JSON",{"type":49,"tag":158,"props":1200,"children":1201},{"style":182},[1202],{"type":58,"value":296},{"type":49,"tag":158,"props":1204,"children":1205},{"class":160,"line":740},[1206,1210,1215,1220,1225,1229,1234,1238,1243],{"type":49,"tag":158,"props":1207,"children":1208},{"style":206},[1209],{"type":58,"value":1062},{"type":49,"tag":158,"props":1211,"children":1212},{"style":171},[1213],{"type":58,"value":1214}," account",{"type":49,"tag":158,"props":1216,"children":1217},{"style":171},[1218],{"type":58,"value":1219}," show",{"type":49,"tag":158,"props":1221,"children":1222},{"style":171},[1223],{"type":58,"value":1224}," --query",{"type":49,"tag":158,"props":1226,"children":1227},{"style":182},[1228],{"type":58,"value":1193},{"type":49,"tag":158,"props":1230,"children":1231},{"style":171},[1232],{"type":58,"value":1233},"{user: user.name, tenant: tenantId}",{"type":49,"tag":158,"props":1235,"children":1236},{"style":182},[1237],{"type":58,"value":235},{"type":49,"tag":158,"props":1239,"children":1240},{"style":171},[1241],{"type":58,"value":1242}," -o",{"type":49,"tag":158,"props":1244,"children":1245},{"style":171},[1246],{"type":58,"value":1247}," json\n",{"type":49,"tag":50,"props":1249,"children":1250},{},[1251,1253,1259,1261,1266],{"type":58,"value":1252},"Compare the resolved environment URL with ",{"type":49,"tag":96,"props":1254,"children":1256},{"className":1255},[],[1257],{"type":58,"value":1258},"\u003CenvUrl>",{"type":58,"value":1260}," captured in Step 1. If they differ, ",{"type":49,"tag":54,"props":1262,"children":1263},{},[1264],{"type":58,"value":1265},"STOP",{"type":58,"value":1267}," and warn:",{"type":49,"tag":529,"props":1269,"children":1270},{},[1271,1276,1300,1312,1361],{"type":49,"tag":50,"props":1272,"children":1273},{},[1274],{"type":58,"value":1275},"\"⚠️ Environment mismatch detected:",{"type":49,"tag":81,"props":1277,"children":1278},{},[1279,1290],{"type":49,"tag":85,"props":1280,"children":1281},{},[1282,1284],{"type":58,"value":1283},"resolver reports: ",{"type":49,"tag":96,"props":1285,"children":1287},{"className":1286},[],[1288],{"type":58,"value":1289},"\u003Cresolved_env_url>",{"type":49,"tag":85,"props":1291,"children":1292},{},[1293,1295],{"type":58,"value":1294},"This project targets: ",{"type":49,"tag":96,"props":1296,"children":1298},{"className":1297},[],[1299],{"type":58,"value":1258},{"type":49,"tag":50,"props":1301,"children":1302},{},[1303,1305,1310],{"type":58,"value":1304},"The Dataverse API token comes from ",{"type":49,"tag":96,"props":1306,"children":1308},{"className":1307},[],[1309],{"type":58,"value":1062},{"type":58,"value":1311},", which must target the same tenant as the selected environment. Run:",{"type":49,"tag":147,"props":1313,"children":1315},{"className":149,"code":1314,"language":151,"meta":152,"style":152},"az login --tenant \u003Ctenant-id>      # switch az to the right tenant\n",[1316],{"type":49,"tag":96,"props":1317,"children":1318},{"__ignoreMap":152},[1319],{"type":49,"tag":158,"props":1320,"children":1321},{"class":160,"line":161},[1322,1326,1331,1336,1341,1346,1351,1356],{"type":49,"tag":158,"props":1323,"children":1324},{"style":206},[1325],{"type":58,"value":1062},{"type":49,"tag":158,"props":1327,"children":1328},{"style":171},[1329],{"type":58,"value":1330}," login",{"type":49,"tag":158,"props":1332,"children":1333},{"style":171},[1334],{"type":58,"value":1335}," --tenant",{"type":49,"tag":158,"props":1337,"children":1338},{"style":182},[1339],{"type":58,"value":1340}," \u003C",{"type":49,"tag":158,"props":1342,"children":1343},{"style":171},[1344],{"type":58,"value":1345},"tenant-i",{"type":49,"tag":158,"props":1347,"children":1348},{"style":217},[1349],{"type":58,"value":1350},"d",{"type":49,"tag":158,"props":1352,"children":1353},{"style":182},[1354],{"type":58,"value":1355},">",{"type":49,"tag":158,"props":1357,"children":1358},{"style":799},[1359],{"type":58,"value":1360},"      # switch az to the right tenant\n",{"type":49,"tag":50,"props":1362,"children":1363},{},[1364,1366,1372],{"type":58,"value":1365},"Then re-run ",{"type":49,"tag":96,"props":1367,"children":1369},{"className":1368},[],[1370],{"type":58,"value":1371},"\u002Fadd-dataverse",{"type":58,"value":1373},".\"",{"type":49,"tag":50,"props":1375,"children":1376},{},[1377,1382],{"type":49,"tag":54,"props":1378,"children":1379},{},[1380],{"type":58,"value":1381},"Do NOT proceed with table creation if environments don't match",{"type":58,"value":1383}," — you'll create tables in the wrong org.",{"type":49,"tag":1040,"props":1385,"children":1387},{"id":1386},"step-3b-acquire-token",[1388],{"type":58,"value":1389},"Step 3b — Acquire token",{"type":49,"tag":147,"props":1391,"children":1393},{"className":149,"code":1392,"language":151,"meta":152,"style":152},"az account show --query \"user.name\" -o tsv\n",[1394],{"type":49,"tag":96,"props":1395,"children":1396},{"__ignoreMap":152},[1397],{"type":49,"tag":158,"props":1398,"children":1399},{"class":160,"line":161},[1400,1404,1408,1412,1416,1420,1425,1429,1433],{"type":49,"tag":158,"props":1401,"children":1402},{"style":206},[1403],{"type":58,"value":1062},{"type":49,"tag":158,"props":1405,"children":1406},{"style":171},[1407],{"type":58,"value":1214},{"type":49,"tag":158,"props":1409,"children":1410},{"style":171},[1411],{"type":58,"value":1219},{"type":49,"tag":158,"props":1413,"children":1414},{"style":171},[1415],{"type":58,"value":1224},{"type":49,"tag":158,"props":1417,"children":1418},{"style":182},[1419],{"type":58,"value":1193},{"type":49,"tag":158,"props":1421,"children":1422},{"style":171},[1423],{"type":58,"value":1424},"user.name",{"type":49,"tag":158,"props":1426,"children":1427},{"style":182},[1428],{"type":58,"value":235},{"type":49,"tag":158,"props":1430,"children":1431},{"style":171},[1432],{"type":58,"value":1242},{"type":49,"tag":158,"props":1434,"children":1435},{"style":171},[1436],{"type":58,"value":1437}," tsv\n",{"type":49,"tag":50,"props":1439,"children":1440},{},[1441,1443,1449],{"type":58,"value":1442},"If empty, instruct ",{"type":49,"tag":96,"props":1444,"children":1446},{"className":1445},[],[1447],{"type":58,"value":1448},"az login",{"type":58,"value":1450}," and stop.",{"type":49,"tag":50,"props":1452,"children":1453},{},[1454],{"type":49,"tag":54,"props":1455,"children":1456},{},[1457],{"type":58,"value":1458},"Script invocation contract — read this once, all subsequent calls in this skill follow it:",{"type":49,"tag":147,"props":1460,"children":1462},{"className":149,"code":1461,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> \u003CMETHOD> \u003CapiPath> [--body '\u003Cjson>'] [--include-headers]\n",[1463],{"type":49,"tag":96,"props":1464,"children":1465},{"__ignoreMap":152},[1466],{"type":49,"tag":158,"props":1467,"children":1468},{"class":160,"line":161},[1469,1473,1477,1481,1485,1490,1494,1498,1503,1508,1512,1516,1521,1526,1530,1534,1539,1544,1548,1553,1558,1563,1567,1572],{"type":49,"tag":158,"props":1470,"children":1471},{"style":206},[1472],{"type":58,"value":209},{"type":49,"tag":158,"props":1474,"children":1475},{"style":182},[1476],{"type":58,"value":214},{"type":49,"tag":158,"props":1478,"children":1479},{"style":217},[1480],{"type":58,"value":220},{"type":49,"tag":158,"props":1482,"children":1483},{"style":182},[1484],{"type":58,"value":225},{"type":49,"tag":158,"props":1486,"children":1487},{"style":171},[1488],{"type":58,"value":1489},"\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js",{"type":49,"tag":158,"props":1491,"children":1492},{"style":182},[1493],{"type":58,"value":235},{"type":49,"tag":158,"props":1495,"children":1496},{"style":182},[1497],{"type":58,"value":1340},{"type":49,"tag":158,"props":1499,"children":1500},{"style":171},[1501],{"type":58,"value":1502},"envUr",{"type":49,"tag":158,"props":1504,"children":1505},{"style":217},[1506],{"type":58,"value":1507},"l",{"type":49,"tag":158,"props":1509,"children":1510},{"style":182},[1511],{"type":58,"value":1355},{"type":49,"tag":158,"props":1513,"children":1514},{"style":182},[1515],{"type":58,"value":1340},{"type":49,"tag":158,"props":1517,"children":1518},{"style":171},[1519],{"type":58,"value":1520},"METHO",{"type":49,"tag":158,"props":1522,"children":1523},{"style":217},[1524],{"type":58,"value":1525},"D",{"type":49,"tag":158,"props":1527,"children":1528},{"style":182},[1529],{"type":58,"value":1355},{"type":49,"tag":158,"props":1531,"children":1532},{"style":182},[1533],{"type":58,"value":1340},{"type":49,"tag":158,"props":1535,"children":1536},{"style":171},[1537],{"type":58,"value":1538},"apiPat",{"type":49,"tag":158,"props":1540,"children":1541},{"style":217},[1542],{"type":58,"value":1543},"h",{"type":49,"tag":158,"props":1545,"children":1546},{"style":182},[1547],{"type":58,"value":1355},{"type":49,"tag":158,"props":1549,"children":1550},{"style":217},[1551],{"type":58,"value":1552}," [--body ",{"type":49,"tag":158,"props":1554,"children":1555},{"style":182},[1556],{"type":58,"value":1557},"'",{"type":49,"tag":158,"props":1559,"children":1560},{"style":171},[1561],{"type":58,"value":1562},"\u003Cjson>",{"type":49,"tag":158,"props":1564,"children":1565},{"style":182},[1566],{"type":58,"value":1557},{"type":49,"tag":158,"props":1568,"children":1569},{"style":171},[1570],{"type":58,"value":1571},"]",{"type":49,"tag":158,"props":1573,"children":1574},{"style":217},[1575],{"type":58,"value":1576}," [--include-headers]\n",{"type":49,"tag":81,"props":1578,"children":1579},{},[1580,1615,1640,1659],{"type":49,"tag":85,"props":1581,"children":1582},{},[1583,1585,1590,1591,1597,1599,1605,1607,1613],{"type":58,"value":1584},"Three positional args, in order: ",{"type":49,"tag":96,"props":1586,"children":1588},{"className":1587},[],[1589],{"type":58,"value":1258},{"type":58,"value":442},{"type":49,"tag":96,"props":1592,"children":1594},{"className":1593},[],[1595],{"type":58,"value":1596},"\u003CMETHOD>",{"type":58,"value":1598}," (GET \u002F POST \u002F PATCH \u002F DELETE), ",{"type":49,"tag":96,"props":1600,"children":1602},{"className":1601},[],[1603],{"type":58,"value":1604},"\u003CapiPath>",{"type":58,"value":1606}," (everything after ",{"type":49,"tag":96,"props":1608,"children":1610},{"className":1609},[],[1611],{"type":58,"value":1612},"\u002Fapi\u002Fdata\u002Fv9.2\u002F",{"type":58,"value":1614},").",{"type":49,"tag":85,"props":1616,"children":1617},{},[1618,1623,1624,1630,1632,1638],{"type":49,"tag":54,"props":1619,"children":1620},{},[1621],{"type":58,"value":1622},"Body is a flag, not positional.",{"type":58,"value":930},{"type":49,"tag":96,"props":1625,"children":1627},{"className":1626},[],[1628],{"type":58,"value":1629},"--body '\u003Cjson>'",{"type":58,"value":1631}," — required for POST\u002FPATCH, never for GET\u002FDELETE. Forgetting ",{"type":49,"tag":96,"props":1633,"children":1635},{"className":1634},[],[1636],{"type":58,"value":1637},"--body",{"type":58,"value":1639}," and passing the JSON as a 4th positional arg returns a usage error.",{"type":49,"tag":85,"props":1641,"children":1642},{},[1643,1649,1651,1657],{"type":49,"tag":96,"props":1644,"children":1646},{"className":1645},[],[1647],{"type":58,"value":1648},"--include-headers",{"type":58,"value":1650}," adds response headers (needed for ",{"type":49,"tag":96,"props":1652,"children":1654},{"className":1653},[],[1655],{"type":58,"value":1656},"OData-EntityId",{"type":58,"value":1658}," after a record create).",{"type":49,"tag":85,"props":1660,"children":1661},{},[1662,1664,1670],{"type":58,"value":1663},"Output is JSON: ",{"type":49,"tag":96,"props":1665,"children":1667},{"className":1666},[],[1668],{"type":58,"value":1669},"{ \"status\": \u003Ccode>, \"data\": \u003Cbody> }",{"type":58,"value":1671},". Token refresh on 401 and back-off on 429 are automatic — never wrap with manual retry.",{"type":49,"tag":50,"props":1673,"children":1674},{},[1675],{"type":58,"value":1676},"Acquire a Dataverse access token and verify connectivity:",{"type":49,"tag":147,"props":1678,"children":1680},{"className":149,"code":1679,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET WhoAmI\n",[1681],{"type":49,"tag":96,"props":1682,"children":1683},{"__ignoreMap":152},[1684],{"type":49,"tag":158,"props":1685,"children":1686},{"class":160,"line":161},[1687,1691,1695,1699,1703,1707,1711,1715,1719,1723,1727,1732],{"type":49,"tag":158,"props":1688,"children":1689},{"style":206},[1690],{"type":58,"value":209},{"type":49,"tag":158,"props":1692,"children":1693},{"style":182},[1694],{"type":58,"value":214},{"type":49,"tag":158,"props":1696,"children":1697},{"style":217},[1698],{"type":58,"value":220},{"type":49,"tag":158,"props":1700,"children":1701},{"style":182},[1702],{"type":58,"value":225},{"type":49,"tag":158,"props":1704,"children":1705},{"style":171},[1706],{"type":58,"value":1489},{"type":49,"tag":158,"props":1708,"children":1709},{"style":182},[1710],{"type":58,"value":235},{"type":49,"tag":158,"props":1712,"children":1713},{"style":182},[1714],{"type":58,"value":1340},{"type":49,"tag":158,"props":1716,"children":1717},{"style":171},[1718],{"type":58,"value":1502},{"type":49,"tag":158,"props":1720,"children":1721},{"style":217},[1722],{"type":58,"value":1507},{"type":49,"tag":158,"props":1724,"children":1725},{"style":182},[1726],{"type":58,"value":1355},{"type":49,"tag":158,"props":1728,"children":1729},{"style":171},[1730],{"type":58,"value":1731}," GET",{"type":49,"tag":158,"props":1733,"children":1734},{"style":171},[1735],{"type":58,"value":1736}," WhoAmI\n",{"type":49,"tag":50,"props":1738,"children":1739},{},[1740,1746,1748,1754,1755,1761,1762,1768,1770,1775,1777,1783],{"type":49,"tag":96,"props":1741,"children":1743},{"className":1742},[],[1744],{"type":58,"value":1745},"WhoAmI",{"type":58,"value":1747}," is the Dataverse identity endpoint — capital W\u002FA\u002FI (case-sensitive). The response gives ",{"type":49,"tag":96,"props":1749,"children":1751},{"className":1750},[],[1752],{"type":58,"value":1753},"UserId",{"type":58,"value":442},{"type":49,"tag":96,"props":1756,"children":1758},{"className":1757},[],[1759],{"type":58,"value":1760},"BusinessUnitId",{"type":58,"value":442},{"type":49,"tag":96,"props":1763,"children":1765},{"className":1764},[],[1766],{"type":58,"value":1767},"OrganizationId",{"type":58,"value":1769}," but ",{"type":49,"tag":54,"props":1771,"children":1772},{},[1773],{"type":58,"value":1774},"does NOT include the publisher prefix",{"type":58,"value":1776},". To get the publisher prefix, query the solution's publisher (defaults to ",{"type":49,"tag":96,"props":1778,"children":1780},{"className":1779},[],[1781],{"type":58,"value":1782},"Default",{"type":58,"value":1784},"; pass a different solution name if the env uses a custom solution):",{"type":49,"tag":147,"props":1786,"children":1788},{"className":149,"code":1787,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdetect-publisher-prefix.js\" \u003CenvUrl> [solutionName]\n# solutionName defaults to \"Default\" if omitted\n",[1789],{"type":49,"tag":96,"props":1790,"children":1791},{"__ignoreMap":152},[1792,1841],{"type":49,"tag":158,"props":1793,"children":1794},{"class":160,"line":161},[1795,1799,1803,1807,1811,1816,1820,1824,1828,1832,1836],{"type":49,"tag":158,"props":1796,"children":1797},{"style":206},[1798],{"type":58,"value":209},{"type":49,"tag":158,"props":1800,"children":1801},{"style":182},[1802],{"type":58,"value":214},{"type":49,"tag":158,"props":1804,"children":1805},{"style":217},[1806],{"type":58,"value":220},{"type":49,"tag":158,"props":1808,"children":1809},{"style":182},[1810],{"type":58,"value":225},{"type":49,"tag":158,"props":1812,"children":1813},{"style":171},[1814],{"type":58,"value":1815},"\u002F..\u002F..\u002Fscripts\u002Fdetect-publisher-prefix.js",{"type":49,"tag":158,"props":1817,"children":1818},{"style":182},[1819],{"type":58,"value":235},{"type":49,"tag":158,"props":1821,"children":1822},{"style":182},[1823],{"type":58,"value":1340},{"type":49,"tag":158,"props":1825,"children":1826},{"style":171},[1827],{"type":58,"value":1502},{"type":49,"tag":158,"props":1829,"children":1830},{"style":217},[1831],{"type":58,"value":1507},{"type":49,"tag":158,"props":1833,"children":1834},{"style":182},[1835],{"type":58,"value":1355},{"type":49,"tag":158,"props":1837,"children":1838},{"style":217},[1839],{"type":58,"value":1840}," [solutionName]\n",{"type":49,"tag":158,"props":1842,"children":1843},{"class":160,"line":202},[1844],{"type":49,"tag":158,"props":1845,"children":1846},{"style":799},[1847],{"type":58,"value":1848},"# solutionName defaults to \"Default\" if omitted\n",{"type":49,"tag":50,"props":1850,"children":1851},{},[1852,1854],{"type":58,"value":1853},"This runs the OData query:\n",{"type":49,"tag":96,"props":1855,"children":1857},{"className":1856},[],[1858],{"type":58,"value":1859},"\u002Fapi\u002Fdata\u002Fv9.2\u002Fsolutions?$select=uniquename&$expand=publisherid($select=customizationprefix)&$filter=uniquename eq '\u003CsolutionName>'",{"type":49,"tag":50,"props":1861,"children":1862},{},[1863,1865,1871,1873,1879,1881,1887,1889,1895,1897,1903,1905,1911],{"type":58,"value":1864},"Capture ",{"type":49,"tag":96,"props":1866,"children":1868},{"className":1867},[],[1869],{"type":58,"value":1870},"customizationprefix",{"type":58,"value":1872}," from the solution's publisher (typical value: ",{"type":49,"tag":96,"props":1874,"children":1876},{"className":1875},[],[1877],{"type":58,"value":1878},"cr123",{"type":58,"value":1880}," → schema names like ",{"type":49,"tag":96,"props":1882,"children":1884},{"className":1883},[],[1885],{"type":58,"value":1886},"cr123_jobsite",{"type":58,"value":1888},"). Also capture the solution ",{"type":49,"tag":96,"props":1890,"children":1892},{"className":1891},[],[1893],{"type":58,"value":1894},"uniquename",{"type":58,"value":1896}," — needed for the ",{"type":49,"tag":96,"props":1898,"children":1900},{"className":1899},[],[1901],{"type":58,"value":1902},"--solution",{"type":58,"value":1904}," flag on every Step 5 \u002F 5b POST so artifacts land in our solution rather than landing wherever Dataverse defaults. Write both to ",{"type":49,"tag":96,"props":1906,"children":1908},{"className":1907},[],[1909],{"type":58,"value":1910},"memory-bank.md",{"type":58,"value":1912}," Power Platform context block.",{"type":49,"tag":50,"props":1914,"children":1915},{},[1916,1918,1923,1925,1930],{"type":58,"value":1917},"Requires the user to hold ",{"type":49,"tag":54,"props":1919,"children":1920},{},[1921],{"type":58,"value":1922},"System Administrator",{"type":58,"value":1924}," or ",{"type":49,"tag":54,"props":1926,"children":1927},{},[1928],{"type":58,"value":1929},"System Customizer",{"type":58,"value":1931}," in this environment.",{"type":49,"tag":135,"props":1933,"children":1935},{"id":1934},"step-4-review-existing-tables",[1936],{"type":58,"value":1937},"Step 4 — Review existing tables",{"type":49,"tag":50,"props":1939,"children":1940},{},[1941],{"type":49,"tag":54,"props":1942,"children":1943},{},[1944],{"type":58,"value":1945},"Print before starting:",{"type":49,"tag":529,"props":1947,"children":1948},{},[1949],{"type":49,"tag":50,"props":1950,"children":1951},{},[1952],{"type":58,"value":1953},"\"→ Querying existing custom tables in the environment…\"",{"type":49,"tag":50,"props":1955,"children":1956},{},[1957],{"type":58,"value":1958},"Always query before creating:",{"type":49,"tag":147,"props":1960,"children":1962},{"className":149,"code":1961,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions?\\$filter=IsCustomEntity eq true&\\$select=SchemaName,LogicalName,DisplayName\"\n",[1963],{"type":49,"tag":96,"props":1964,"children":1965},{"__ignoreMap":152},[1966,2018],{"type":49,"tag":158,"props":1967,"children":1968},{"class":160,"line":161},[1969,1973,1977,1981,1985,1989,1993,1997,2001,2005,2009,2013],{"type":49,"tag":158,"props":1970,"children":1971},{"style":206},[1972],{"type":58,"value":209},{"type":49,"tag":158,"props":1974,"children":1975},{"style":182},[1976],{"type":58,"value":214},{"type":49,"tag":158,"props":1978,"children":1979},{"style":217},[1980],{"type":58,"value":220},{"type":49,"tag":158,"props":1982,"children":1983},{"style":182},[1984],{"type":58,"value":225},{"type":49,"tag":158,"props":1986,"children":1987},{"style":171},[1988],{"type":58,"value":1489},{"type":49,"tag":158,"props":1990,"children":1991},{"style":182},[1992],{"type":58,"value":235},{"type":49,"tag":158,"props":1994,"children":1995},{"style":182},[1996],{"type":58,"value":1340},{"type":49,"tag":158,"props":1998,"children":1999},{"style":171},[2000],{"type":58,"value":1502},{"type":49,"tag":158,"props":2002,"children":2003},{"style":217},[2004],{"type":58,"value":1507},{"type":49,"tag":158,"props":2006,"children":2007},{"style":182},[2008],{"type":58,"value":1355},{"type":49,"tag":158,"props":2010,"children":2011},{"style":171},[2012],{"type":58,"value":1731},{"type":49,"tag":158,"props":2014,"children":2015},{"style":217},[2016],{"type":58,"value":2017}," \\\n",{"type":49,"tag":158,"props":2019,"children":2020},{"class":160,"line":202},[2021,2026,2031,2036,2041,2045,2050],{"type":49,"tag":158,"props":2022,"children":2023},{"style":182},[2024],{"type":58,"value":2025},"  \"",{"type":49,"tag":158,"props":2027,"children":2028},{"style":171},[2029],{"type":58,"value":2030},"EntityDefinitions?",{"type":49,"tag":158,"props":2032,"children":2033},{"style":217},[2034],{"type":58,"value":2035},"\\$",{"type":49,"tag":158,"props":2037,"children":2038},{"style":171},[2039],{"type":58,"value":2040},"filter=IsCustomEntity eq true&",{"type":49,"tag":158,"props":2042,"children":2043},{"style":217},[2044],{"type":58,"value":2035},{"type":49,"tag":158,"props":2046,"children":2047},{"style":171},[2048],{"type":58,"value":2049},"select=SchemaName,LogicalName,DisplayName",{"type":49,"tag":158,"props":2051,"children":2052},{"style":182},[2053],{"type":58,"value":296},{"type":49,"tag":50,"props":2055,"children":2056},{},[2057,2059,2065,2066,2072],{"type":58,"value":2058},"For each plan entry classified ",{"type":49,"tag":96,"props":2060,"children":2062},{"className":2061},[],[2063],{"type":58,"value":2064},"Reuse",{"type":58,"value":1924},{"type":49,"tag":96,"props":2067,"children":2069},{"className":2068},[],[2070],{"type":58,"value":2071},"Extend",{"type":58,"value":2073},", fetch the table's columns to confirm the match:",{"type":49,"tag":147,"props":2075,"children":2077},{"className":149,"code":2076,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')\u002FAttributes?\\$select=LogicalName,AttributeType,RequiredLevel\"\n",[2078],{"type":49,"tag":96,"props":2079,"children":2080},{"__ignoreMap":152},[2081,2132],{"type":49,"tag":158,"props":2082,"children":2083},{"class":160,"line":161},[2084,2088,2092,2096,2100,2104,2108,2112,2116,2120,2124,2128],{"type":49,"tag":158,"props":2085,"children":2086},{"style":206},[2087],{"type":58,"value":209},{"type":49,"tag":158,"props":2089,"children":2090},{"style":182},[2091],{"type":58,"value":214},{"type":49,"tag":158,"props":2093,"children":2094},{"style":217},[2095],{"type":58,"value":220},{"type":49,"tag":158,"props":2097,"children":2098},{"style":182},[2099],{"type":58,"value":225},{"type":49,"tag":158,"props":2101,"children":2102},{"style":171},[2103],{"type":58,"value":1489},{"type":49,"tag":158,"props":2105,"children":2106},{"style":182},[2107],{"type":58,"value":235},{"type":49,"tag":158,"props":2109,"children":2110},{"style":182},[2111],{"type":58,"value":1340},{"type":49,"tag":158,"props":2113,"children":2114},{"style":171},[2115],{"type":58,"value":1502},{"type":49,"tag":158,"props":2117,"children":2118},{"style":217},[2119],{"type":58,"value":1507},{"type":49,"tag":158,"props":2121,"children":2122},{"style":182},[2123],{"type":58,"value":1355},{"type":49,"tag":158,"props":2125,"children":2126},{"style":171},[2127],{"type":58,"value":1731},{"type":49,"tag":158,"props":2129,"children":2130},{"style":217},[2131],{"type":58,"value":2017},{"type":49,"tag":158,"props":2133,"children":2134},{"class":160,"line":202},[2135,2139,2144,2148,2153],{"type":49,"tag":158,"props":2136,"children":2137},{"style":182},[2138],{"type":58,"value":2025},{"type":49,"tag":158,"props":2140,"children":2141},{"style":171},[2142],{"type":58,"value":2143},"EntityDefinitions(LogicalName='\u003Ctable>')\u002FAttributes?",{"type":49,"tag":158,"props":2145,"children":2146},{"style":217},[2147],{"type":58,"value":2035},{"type":49,"tag":158,"props":2149,"children":2150},{"style":171},[2151],{"type":58,"value":2152},"select=LogicalName,AttributeType,RequiredLevel",{"type":49,"tag":158,"props":2154,"children":2155},{"style":182},[2156],{"type":58,"value":296},{"type":49,"tag":50,"props":2158,"children":2159},{},[2160],{"type":58,"value":2161},"Schema divergence handling is in Step 5b's per-column pre-flight (not a Step 4 prompt). The pre-flight auto-skips columns that already exist with the same type, and STOPs only on incompatible type drift — no separate confirmation needed here.",{"type":49,"tag":135,"props":2163,"children":2165},{"id":2164},"step-5-create-extend-tables",[2166],{"type":58,"value":2167},"Step 5 — Create \u002F extend tables",{"type":49,"tag":50,"props":2169,"children":2170},{},[2171],{"type":49,"tag":54,"props":2172,"children":2173},{},[2174],{"type":58,"value":1945},{"type":49,"tag":529,"props":2176,"children":2177},{},[2178,2189,2191,2194,2196,2301,2307,2327,2343,2426,2431,2434,2672,2682,2688,2696,2757,2765,2850,2866,2876,2881,2886,2939,2944,2954,2963,2975,2995,3007,3015,3149,3160,3166,3177,3235,3259,3271,3282,3321,3327,3346,3662,3702,3735,3847,3864,3937,6416,6427,6707,6719,6840,6887,6892,10467,10472,10477,10489,10496,10504,10543,10578,10586,10949,10955,10962,10970,10986,11003,11029,11150,11155,11425,11435,11536,11644,11698,11710,11864,11870,11877],{"type":49,"tag":50,"props":2179,"children":2180},{},[2181,2183],{"type":58,"value":2182},"\"→ Creating\u002Fextending ",{"type":49,"tag":2184,"props":2185,"children":2186},"n",{},[2187],{"type":58,"value":2188}," tables in tier order (sequential — Dataverse serializes metadata writes). For each: pre-flight check, then 'Creating ",{"type":58,"value":2190},"…' before the POST and '✓ ",{"type":49,"tag":560,"props":2192,"children":2193},{},[],{"type":58,"value":2195},"' on 2xx response.\"",{"type":49,"tag":529,"props":2197,"children":2198},{},[2199,2238,2243],{"type":49,"tag":50,"props":2200,"children":2201},{},[2202,2207,2209,2214,2216,2222,2223,2229,2230,2236],{"type":49,"tag":54,"props":2203,"children":2204},{},[2205],{"type":58,"value":2206},"⚠️ Concurrency rule — do not violate.",{"type":58,"value":2208}," All Dataverse metadata operations in Steps 5, 6, and 6b are ",{"type":49,"tag":54,"props":2210,"children":2211},{},[2212],{"type":58,"value":2213},"strictly sequential",{"type":58,"value":2215},": issue one HTTP request, wait for a 2xx response, then issue the next. Do NOT batch, parallelize, or fire concurrent requests. Dataverse serializes metadata writes via an exclusive lock; parallel calls return ",{"type":49,"tag":96,"props":2217,"children":2219},{"className":2218},[],[2220],{"type":58,"value":2221},"429 TooManyRequests",{"type":58,"value":442},{"type":49,"tag":96,"props":2224,"children":2226},{"className":2225},[],[2227],{"type":58,"value":2228},"MetadataLockHeldException",{"type":58,"value":884},{"type":49,"tag":96,"props":2231,"children":2233},{"className":2232},[],[2234],{"type":58,"value":2235},"404 EntityNotFound",{"type":58,"value":2237}," for lookups whose parent hasn't committed yet.",{"type":49,"tag":50,"props":2239,"children":2240},{},[2241],{"type":58,"value":2242},"Specifically:",{"type":49,"tag":81,"props":2244,"children":2245},{},[2246,2256,2266,2291],{"type":49,"tag":85,"props":2247,"children":2248},{},[2249,2254],{"type":49,"tag":54,"props":2250,"children":2251},{},[2252],{"type":58,"value":2253},"Within a tier:",{"type":58,"value":2255}," create tables one at a time.",{"type":49,"tag":85,"props":2257,"children":2258},{},[2259,2264],{"type":49,"tag":54,"props":2260,"children":2261},{},[2262],{"type":58,"value":2263},"Across tiers:",{"type":58,"value":2265}," Tier 0 fully done (all tables + all columns committed) before any Tier 1 POST.",{"type":49,"tag":85,"props":2267,"children":2268},{},[2269,2274,2276,2282,2284,2289],{"type":49,"tag":54,"props":2270,"children":2271},{},[2272],{"type":58,"value":2273},"Lookups:",{"type":58,"value":2275}," POST to ",{"type":49,"tag":96,"props":2277,"children":2279},{"className":2278},[],[2280],{"type":58,"value":2281},"\u002FRelationshipDefinitions",{"type":58,"value":2283}," only ",{"type":49,"tag":54,"props":2285,"children":2286},{},[2287],{"type":58,"value":2288},"after",{"type":58,"value":2290}," both endpoint tables exist and have returned 2xx.",{"type":49,"tag":85,"props":2292,"children":2293},{},[2294,2299],{"type":49,"tag":54,"props":2295,"children":2296},{},[2297],{"type":58,"value":2298},"Extensions:",{"type":58,"value":2300}," column POSTs to an existing table are also serial — same lock applies.",{"type":49,"tag":1040,"props":2302,"children":2304},{"id":2303},"step-5a-pre-flight-collision-check-per-table-before-each-post",[2305],{"type":58,"value":2306},"Step 5a — Pre-flight collision check (per table, before each POST)",{"type":49,"tag":50,"props":2308,"children":2309},{},[2310,2312,2318,2320,2325],{"type":58,"value":2311},"Step 4 listed ",{"type":49,"tag":2313,"props":2314,"children":2315},"em",{},[2316],{"type":58,"value":2317},"known",{"type":58,"value":2319}," custom tables you intend to reuse. Step 5a probes for ",{"type":49,"tag":2313,"props":2321,"children":2322},{},[2323],{"type":58,"value":2324},"unknown",{"type":58,"value":2326}," problems on a per-create basis: name-prefix collisions from stale solutions, soft-deleted tombstones, and reserved system names. Skipping this check costs ~1 minute per failed POST (Dataverse takes its time returning the conflict error) and can leave Tier 0 partially created when a Tier 1 lookup fails on a phantom parent.",{"type":49,"tag":50,"props":2328,"children":2329},{},[2330],{"type":49,"tag":54,"props":2331,"children":2332},{},[2333,2335,2341],{"type":58,"value":2334},"For every ",{"type":49,"tag":96,"props":2336,"children":2338},{"className":2337},[],[2339],{"type":58,"value":2340},"Create",{"type":58,"value":2342}," entry, before its POST, probe the target logical name:",{"type":49,"tag":147,"props":2344,"children":2346},{"className":149,"code":2345,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions(LogicalName='\u003Cprefix>_\u003Ctable>')?\\$select=MetadataId,LogicalName,IsCustomEntity\"\n",[2347],{"type":49,"tag":96,"props":2348,"children":2349},{"__ignoreMap":152},[2350,2401],{"type":49,"tag":158,"props":2351,"children":2352},{"class":160,"line":161},[2353,2357,2361,2365,2369,2373,2377,2381,2385,2389,2393,2397],{"type":49,"tag":158,"props":2354,"children":2355},{"style":206},[2356],{"type":58,"value":209},{"type":49,"tag":158,"props":2358,"children":2359},{"style":182},[2360],{"type":58,"value":214},{"type":49,"tag":158,"props":2362,"children":2363},{"style":217},[2364],{"type":58,"value":220},{"type":49,"tag":158,"props":2366,"children":2367},{"style":182},[2368],{"type":58,"value":225},{"type":49,"tag":158,"props":2370,"children":2371},{"style":171},[2372],{"type":58,"value":1489},{"type":49,"tag":158,"props":2374,"children":2375},{"style":182},[2376],{"type":58,"value":235},{"type":49,"tag":158,"props":2378,"children":2379},{"style":182},[2380],{"type":58,"value":1340},{"type":49,"tag":158,"props":2382,"children":2383},{"style":171},[2384],{"type":58,"value":1502},{"type":49,"tag":158,"props":2386,"children":2387},{"style":217},[2388],{"type":58,"value":1507},{"type":49,"tag":158,"props":2390,"children":2391},{"style":182},[2392],{"type":58,"value":1355},{"type":49,"tag":158,"props":2394,"children":2395},{"style":171},[2396],{"type":58,"value":1731},{"type":49,"tag":158,"props":2398,"children":2399},{"style":217},[2400],{"type":58,"value":2017},{"type":49,"tag":158,"props":2402,"children":2403},{"class":160,"line":202},[2404,2408,2413,2417,2422],{"type":49,"tag":158,"props":2405,"children":2406},{"style":182},[2407],{"type":58,"value":2025},{"type":49,"tag":158,"props":2409,"children":2410},{"style":171},[2411],{"type":58,"value":2412},"EntityDefinitions(LogicalName='\u003Cprefix>_\u003Ctable>')?",{"type":49,"tag":158,"props":2414,"children":2415},{"style":217},[2416],{"type":58,"value":2035},{"type":49,"tag":158,"props":2418,"children":2419},{"style":171},[2420],{"type":58,"value":2421},"select=MetadataId,LogicalName,IsCustomEntity",{"type":49,"tag":158,"props":2423,"children":2424},{"style":182},[2425],{"type":58,"value":296},{"type":49,"tag":50,"props":2427,"children":2428},{},[2429],{"type":58,"value":2430},"Branch on the response:",{"type":49,"tag":560,"props":2432,"children":2433},{},[],{"type":49,"tag":560,"props":2435,"children":2436},{},[2437,2458],{"type":49,"tag":564,"props":2438,"children":2439},{},[2440],{"type":49,"tag":568,"props":2441,"children":2442},{},[2443,2448,2453],{"type":49,"tag":572,"props":2444,"children":2445},{},[2446],{"type":58,"value":2447},"Status \u002F body",{"type":49,"tag":572,"props":2449,"children":2450},{},[2451],{"type":58,"value":2452},"Meaning",{"type":49,"tag":572,"props":2454,"children":2455},{},[2456],{"type":58,"value":2457},"Action",{"type":49,"tag":583,"props":2459,"children":2460},{},[2461,2482,2520,2560,2587,2623],{"type":49,"tag":568,"props":2462,"children":2463},{},[2464,2472,2477],{"type":49,"tag":590,"props":2465,"children":2466},{},[2467],{"type":49,"tag":54,"props":2468,"children":2469},{},[2470],{"type":58,"value":2471},"404 NotFound",{"type":49,"tag":590,"props":2473,"children":2474},{},[2475],{"type":58,"value":2476},"Name is free",{"type":49,"tag":590,"props":2478,"children":2479},{},[2480],{"type":58,"value":2481},"Proceed with POST.",{"type":49,"tag":568,"props":2483,"children":2484},{},[2485,2510,2515],{"type":49,"tag":590,"props":2486,"children":2487},{},[2488,2493,2495,2501,2502,2508],{"type":49,"tag":54,"props":2489,"children":2490},{},[2491],{"type":58,"value":2492},"200 OK",{"type":58,"value":2494}," + ",{"type":49,"tag":96,"props":2496,"children":2498},{"className":2497},[],[2499],{"type":58,"value":2500},"IsCustomEntity: true",{"type":58,"value":2494},{"type":49,"tag":96,"props":2503,"children":2505},{"className":2504},[],[2506],{"type":58,"value":2507},"MetadataId",{"type":58,"value":2509}," matches memory-bank",{"type":49,"tag":590,"props":2511,"children":2512},{},[2513],{"type":58,"value":2514},"We created this earlier — idempotent re-run",{"type":49,"tag":590,"props":2516,"children":2517},{},[2518],{"type":58,"value":2519},"Skip the POST, mark as created, continue.",{"type":49,"tag":568,"props":2521,"children":2522},{},[2523,2550,2555],{"type":49,"tag":590,"props":2524,"children":2525},{},[2526,2530,2531,2536,2537,2542,2543,2548],{"type":49,"tag":54,"props":2527,"children":2528},{},[2529],{"type":58,"value":2492},{"type":58,"value":2494},{"type":49,"tag":96,"props":2532,"children":2534},{"className":2533},[],[2535],{"type":58,"value":2500},{"type":58,"value":2494},{"type":49,"tag":96,"props":2538,"children":2540},{"className":2539},[],[2541],{"type":58,"value":2507},{"type":58,"value":930},{"type":49,"tag":2313,"props":2544,"children":2545},{},[2546],{"type":58,"value":2547},"not",{"type":58,"value":2549}," in memory-bank",{"type":49,"tag":590,"props":2551,"children":2552},{},[2553],{"type":58,"value":2554},"Foreign collision",{"type":49,"tag":590,"props":2556,"children":2557},{},[2558],{"type":58,"value":2559},"Auto-recover (see below) — do NOT prompt.",{"type":49,"tag":568,"props":2561,"children":2562},{},[2563,2577,2582],{"type":49,"tag":590,"props":2564,"children":2565},{},[2566,2570,2571],{"type":49,"tag":54,"props":2567,"children":2568},{},[2569],{"type":58,"value":2492},{"type":58,"value":2494},{"type":49,"tag":96,"props":2572,"children":2574},{"className":2573},[],[2575],{"type":58,"value":2576},"IsCustomEntity: false",{"type":49,"tag":590,"props":2578,"children":2579},{},[2580],{"type":58,"value":2581},"Reserved system table name",{"type":49,"tag":590,"props":2583,"children":2584},{},[2585],{"type":58,"value":2586},"Auto-recover via rename (see below).",{"type":49,"tag":568,"props":2588,"children":2589},{},[2590,2614,2619],{"type":49,"tag":590,"props":2591,"children":2592},{},[2593,2598,2600,2606,2608],{"type":49,"tag":54,"props":2594,"children":2595},{},[2596],{"type":58,"value":2597},"5xx",{"type":58,"value":2599}," with ",{"type":49,"tag":96,"props":2601,"children":2603},{"className":2602},[],[2604],{"type":58,"value":2605},"0x80060890",{"type":58,"value":2607}," or message ",{"type":49,"tag":96,"props":2609,"children":2611},{"className":2610},[],[2612],{"type":58,"value":2613},"\"object with same name exists in solution\"",{"type":49,"tag":590,"props":2615,"children":2616},{},[2617],{"type":58,"value":2618},"Tombstone (soft-deleted, ~30 min purge TTL)",{"type":49,"tag":590,"props":2620,"children":2621},{},[2622],{"type":58,"value":2586},{"type":49,"tag":568,"props":2624,"children":2625},{},[2626,2655,2667],{"type":49,"tag":590,"props":2627,"children":2628},{},[2629,2634,2635,2641,2642,2648,2649],{"type":49,"tag":54,"props":2630,"children":2631},{},[2632],{"type":58,"value":2633},"400",{"type":58,"value":2599},{"type":49,"tag":96,"props":2636,"children":2638},{"className":2637},[],[2639],{"type":58,"value":2640},"0x80044363",{"type":58,"value":442},{"type":49,"tag":96,"props":2643,"children":2645},{"className":2644},[],[2646],{"type":58,"value":2647},"\"schema name ... is not unique\"",{"type":58,"value":884},{"type":49,"tag":96,"props":2650,"children":2652},{"className":2651},[],[2653],{"type":58,"value":2654},"\"same name already exists\"",{"type":49,"tag":590,"props":2656,"children":2657},{},[2658,2660,2666],{"type":58,"value":2659},"Hidden Dataverse collision \u002F recent-delete tombstone not visible to ",{"type":49,"tag":96,"props":2661,"children":2663},{"className":2662},[],[2664],{"type":58,"value":2665},"EntityDefinitions",{"type":58,"value":1731},{"type":49,"tag":590,"props":2668,"children":2669},{},[2670],{"type":58,"value":2671},"Auto-recover via rename (see below), then retry the POST once.",{"type":49,"tag":50,"props":2673,"children":2674},{},[2675,2680],{"type":49,"tag":54,"props":2676,"children":2677},{},[2678],{"type":58,"value":2679},"Important:",{"type":58,"value":2681}," Step 5a is a best-effort preflight, not the final authority. Dataverse can return 404 for a recently deleted table and still reject the create POST minutes later because the schema name remains reserved internally. Treat that POST-time 400 as a recoverable name collision, not a data-model failure.",{"type":49,"tag":1040,"props":2683,"children":2685},{"id":2684},"auto-recovery-reuseextend-first-rename-as-last-resort",[2686],{"type":58,"value":2687},"Auto-recovery — reuse\u002Fextend first, rename as last resort",{"type":49,"tag":50,"props":2689,"children":2690},{},[2691],{"type":49,"tag":54,"props":2692,"children":2693},{},[2694],{"type":58,"value":2695},"Priority order when Step 5a hits a name collision:",{"type":49,"tag":122,"props":2697,"children":2698},{},[2699,2723,2739],{"type":49,"tag":85,"props":2700,"children":2701},{},[2702,2707,2709,2715,2717],{"type":49,"tag":54,"props":2703,"children":2704},{},[2705],{"type":58,"value":2706},"Adopt as Extend (preferred)",{"type":58,"value":2708}," — if the existing table's ",{"type":49,"tag":96,"props":2710,"children":2712},{"className":2711},[],[2713],{"type":58,"value":2714},"Attributes",{"type":58,"value":2716}," overlap with the planned columns by ≥50%, or the existing table is the same conceptual entity: add only the missing columns via per-column POST (Step 5b Extend path). No prompt needed — extend automatically and log ",{"type":49,"tag":96,"props":2718,"children":2720},{"className":2719},[],[2721],{"type":58,"value":2722},"→ Extending existing \u003Coriginal> with \u003CN> missing columns.",{"type":49,"tag":85,"props":2724,"children":2725},{},[2726,2731,2733],{"type":49,"tag":54,"props":2727,"children":2728},{},[2729],{"type":58,"value":2730},"Adopt as Reuse",{"type":58,"value":2732}," — if the existing table's schema already covers all planned columns: skip Step 5b for this entry, keep it in Step 6 for service generation. No prompt. Log ",{"type":49,"tag":96,"props":2734,"children":2736},{"className":2735},[],[2737],{"type":58,"value":2738},"→ Reusing existing \u003Coriginal> (all required columns present).",{"type":49,"tag":85,"props":2740,"children":2741},{},[2742,2747,2749,2755],{"type":49,"tag":54,"props":2743,"children":2744},{},[2745],{"type":58,"value":2746},"Rename and Create (last resort)",{"type":58,"value":2748}," — only when the existing table is a fundamentally different entity (e.g., planned table is an inspection log but existing ",{"type":49,"tag":96,"props":2750,"children":2752},{"className":2751},[],[2753],{"type":58,"value":2754},"\u003Coriginal>",{"type":58,"value":2756}," is a payroll record — incompatible concept, incompatible columns). Prompt the user before proceeding.",{"type":49,"tag":50,"props":2758,"children":2759},{},[2760],{"type":49,"tag":54,"props":2761,"children":2762},{},[2763],{"type":58,"value":2764},"When to auto-decide vs. prompt:",{"type":49,"tag":560,"props":2766,"children":2767},{},[2768,2783],{"type":49,"tag":564,"props":2769,"children":2770},{},[2771],{"type":49,"tag":568,"props":2772,"children":2773},{},[2774,2779],{"type":49,"tag":572,"props":2775,"children":2776},{},[2777],{"type":58,"value":2778},"Situation",{"type":49,"tag":572,"props":2780,"children":2781},{},[2782],{"type":58,"value":2457},{"type":49,"tag":583,"props":2784,"children":2785},{},[2786,2799,2812,2825,2838],{"type":49,"tag":568,"props":2787,"children":2788},{},[2789,2794],{"type":49,"tag":590,"props":2790,"children":2791},{},[2792],{"type":58,"value":2793},"Foreign collision + schema overlap ≥50%",{"type":49,"tag":590,"props":2795,"children":2796},{},[2797],{"type":58,"value":2798},"Auto-Extend (no prompt)",{"type":49,"tag":568,"props":2800,"children":2801},{},[2802,2807],{"type":49,"tag":590,"props":2803,"children":2804},{},[2805],{"type":58,"value":2806},"Foreign collision + all planned columns present",{"type":49,"tag":590,"props":2808,"children":2809},{},[2810],{"type":58,"value":2811},"Auto-Reuse (no prompt)",{"type":49,"tag":568,"props":2813,"children":2814},{},[2815,2820],{"type":49,"tag":590,"props":2816,"children":2817},{},[2818],{"type":58,"value":2819},"Foreign collision + incompatible concept",{"type":49,"tag":590,"props":2821,"children":2822},{},[2823],{"type":58,"value":2824},"Prompt (see below)",{"type":49,"tag":568,"props":2826,"children":2827},{},[2828,2833],{"type":49,"tag":590,"props":2829,"children":2830},{},[2831],{"type":58,"value":2832},"Reserved system name",{"type":49,"tag":590,"props":2834,"children":2835},{},[2836],{"type":58,"value":2837},"Auto-rename (no prompt)",{"type":49,"tag":568,"props":2839,"children":2840},{},[2841,2846],{"type":49,"tag":590,"props":2842,"children":2843},{},[2844],{"type":58,"value":2845},"Tombstone (0x80060890 \u002F same-name-exists)",{"type":49,"tag":590,"props":2847,"children":2848},{},[2849],{"type":58,"value":2837},{"type":49,"tag":50,"props":2851,"children":2852},{},[2853,2858,2860,2865],{"type":49,"tag":54,"props":2854,"children":2855},{},[2856],{"type":58,"value":2857},"For the incompatible-concept case only",{"type":58,"value":2859}," — prompt via ",{"type":49,"tag":96,"props":2861,"children":2863},{"className":2862},[],[2864],{"type":58,"value":525},{"type":58,"value":527},{"type":49,"tag":147,"props":2867,"children":2871},{"className":2868,"code":2870,"language":58},[2869],"language-text","| Option | What it means |\n|---|---|\n| Extend existing (default) | Add required columns to \u003Coriginal>. Safer — avoids duplicate tables. |\n| Rename and Create | Auto-renamed to \u003Cnew>. Existing table left untouched. |\n",[2872],{"type":49,"tag":96,"props":2873,"children":2874},{"__ignoreMap":152},[2875],{"type":58,"value":2870},{"type":49,"tag":50,"props":2877,"children":2878},{},[2879],{"type":58,"value":2880},"Default to \"Extend existing\" so an empty answer auto-proceeds. Rename-and-Create is the opt-in exception, not the default.",{"type":49,"tag":50,"props":2882,"children":2883},{},[2884],{"type":58,"value":2885},"Maintain a run-level logical-name alias map for every auto-rename. Example:",{"type":49,"tag":147,"props":2887,"children":2891},{"className":2888,"code":2889,"language":2890,"meta":152,"style":152},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ \"cr3e9_aircraft\": \"cr3e9_aircraftv2\" }\n","json",[2892],{"type":49,"tag":96,"props":2893,"children":2894},{"__ignoreMap":152},[2895],{"type":49,"tag":158,"props":2896,"children":2897},{"class":160,"line":161},[2898,2903,2907,2913,2917,2921,2925,2930,2934],{"type":49,"tag":158,"props":2899,"children":2900},{"style":182},[2901],{"type":58,"value":2902},"{",{"type":49,"tag":158,"props":2904,"children":2905},{"style":182},[2906],{"type":58,"value":1193},{"type":49,"tag":158,"props":2908,"children":2910},{"style":2909},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[2911],{"type":58,"value":2912},"cr3e9_aircraft",{"type":49,"tag":158,"props":2914,"children":2915},{"style":182},[2916],{"type":58,"value":235},{"type":49,"tag":158,"props":2918,"children":2919},{"style":182},[2920],{"type":58,"value":527},{"type":49,"tag":158,"props":2922,"children":2923},{"style":182},[2924],{"type":58,"value":1193},{"type":49,"tag":158,"props":2926,"children":2927},{"style":171},[2928],{"type":58,"value":2929},"cr3e9_aircraftv2",{"type":49,"tag":158,"props":2931,"children":2932},{"style":182},[2933],{"type":58,"value":235},{"type":49,"tag":158,"props":2935,"children":2936},{"style":182},[2937],{"type":58,"value":2938}," }\n",{"type":49,"tag":50,"props":2940,"children":2941},{},[2942],{"type":58,"value":2943},"Before building any later table, column, lookup relationship, sample-data payload, service-reference text, or screen data spec, resolve logical names through this map. A rename that only changes the table POST but leaves relationships\u002Fscreens\u002Fsample data pointing at the old name is a bug.",{"type":49,"tag":50,"props":2945,"children":2946},{},[2947,2952],{"type":49,"tag":54,"props":2948,"children":2949},{},[2950],{"type":58,"value":2951},"Auto-rename probe sequence",{"type":58,"value":2953}," (cap at 4 probes — only used for reserved\u002Ftombstone cases):",{"type":49,"tag":147,"props":2955,"children":2958},{"className":2956,"code":2957,"language":58},[2869],"\u003Coriginal>v2  →  \u003Coriginal>v3  →  \u003Coriginal>2  →  \u003Coriginal>copy\n",[2959],{"type":49,"tag":96,"props":2960,"children":2961},{"__ignoreMap":152},[2962],{"type":58,"value":2957},{"type":49,"tag":50,"props":2964,"children":2965},{},[2966,2968,2974],{"type":58,"value":2967},"For each candidate in order, GET ",{"type":49,"tag":96,"props":2969,"children":2971},{"className":2970},[],[2972],{"type":58,"value":2973},"EntityDefinitions(LogicalName='\u003Ccandidate>')?$select=MetadataId,IsCustomEntity",{"type":58,"value":527},{"type":49,"tag":81,"props":2976,"children":2977},{},[2978,2990],{"type":49,"tag":85,"props":2979,"children":2980},{},[2981,2983,2988],{"type":58,"value":2982},"404 → free, ",{"type":49,"tag":54,"props":2984,"children":2985},{},[2986],{"type":58,"value":2987},"take it",{"type":58,"value":2989},", stop probing.",{"type":49,"tag":85,"props":2991,"children":2992},{},[2993],{"type":58,"value":2994},"200 or 5xx (collision) → next candidate.",{"type":49,"tag":50,"props":2996,"children":2997},{},[2998,3000,3006],{"type":58,"value":2999},"If all 4 probes collide, surface a ",{"type":49,"tag":96,"props":3001,"children":3003},{"className":3002},[],[3004],{"type":58,"value":3005},"BLOCKED: cannot find a free alternative for \u003Coriginal>",{"type":58,"value":1450},{"type":49,"tag":50,"props":3008,"children":3009},{},[3010],{"type":49,"tag":54,"props":3011,"children":3012},{},[3013],{"type":58,"value":3014},"On a successful auto-rename, do these in order BEFORE the POST:",{"type":49,"tag":122,"props":3016,"children":3017},{},[3018,3055,3080,3104,3129],{"type":49,"tag":85,"props":3019,"children":3020},{},[3021,3031,3033,3039,3040,3046,3048,3053],{"type":49,"tag":54,"props":3022,"children":3023},{},[3024,3026],{"type":58,"value":3025},"Update ",{"type":49,"tag":96,"props":3027,"children":3029},{"className":3028},[],[3030],{"type":58,"value":355},{"type":58,"value":3032}," — ",{"type":49,"tag":96,"props":3034,"children":3036},{"className":3035},[],[3037],{"type":58,"value":3038},"Edit",{"type":58,"value":2599},{"type":49,"tag":96,"props":3041,"children":3043},{"className":3042},[],[3044],{"type":58,"value":3045},"replace_all: true",{"type":58,"value":3047}," to swap the old logical name for the new one across the entire ",{"type":49,"tag":96,"props":3049,"children":3051},{"className":3050},[],[3052],{"type":58,"value":396},{"type":58,"value":3054}," section (Mermaid ER, Reuse\u002FExtend\u002FCreate table, Creation Order, Notes). This catches downstream relationship POSTs in this same Step 5 too.",{"type":49,"tag":85,"props":3056,"children":3057},{},[3058,3070,3072,3078],{"type":49,"tag":54,"props":3059,"children":3060},{},[3061,3062,3068],{"type":58,"value":3025},{"type":49,"tag":96,"props":3063,"children":3065},{"className":3064},[],[3066],{"type":58,"value":3067},"## Screens",{"type":58,"value":3069}," per-screen specs",{"type":58,"value":3071}," — same ",{"type":49,"tag":96,"props":3073,"children":3075},{"className":3074},[],[3076],{"type":58,"value":3077},"replace_all",{"type":58,"value":3079}," sweep for any service \u002F data-source references using the old name.",{"type":49,"tag":85,"props":3081,"children":3082},{},[3083,3095,3096,3102],{"type":49,"tag":54,"props":3084,"children":3085},{},[3086,3088,3093],{"type":58,"value":3087},"Append to ",{"type":49,"tag":96,"props":3089,"children":3091},{"className":3090},[],[3092],{"type":58,"value":1910},{"type":58,"value":3094}," Collision history",{"type":58,"value":3032},{"type":49,"tag":96,"props":3097,"children":3099},{"className":3098},[],[3100],{"type":58,"value":3101},"\u003Coriginal> → \u003Cnew>",{"type":58,"value":3103}," with reason (foreign \u002F reserved \u002F tombstone) and timestamp.",{"type":49,"tag":85,"props":3105,"children":3106},{},[3107,3112,3114,3119,3121,3127],{"type":49,"tag":54,"props":3108,"children":3109},{},[3110],{"type":58,"value":3111},"Update the run-level alias map",{"type":58,"value":3113}," — every later metadata payload and plan edit resolves ",{"type":49,"tag":96,"props":3115,"children":3117},{"className":3116},[],[3118],{"type":58,"value":2754},{"type":58,"value":3120}," to ",{"type":49,"tag":96,"props":3122,"children":3124},{"className":3123},[],[3125],{"type":58,"value":3126},"\u003Cnew>",{"type":58,"value":3128}," before use.",{"type":49,"tag":85,"props":3130,"children":3131},{},[3132,3137],{"type":49,"tag":54,"props":3133,"children":3134},{},[3135],{"type":58,"value":3136},"Inform the user — single line, no prompt:",{"type":49,"tag":529,"props":3138,"children":3139},{},[3140],{"type":49,"tag":50,"props":3141,"children":3142},{},[3143],{"type":49,"tag":96,"props":3144,"children":3146},{"className":3145},[],[3147],{"type":58,"value":3148},"→ Collision on \u003Coriginal> (\u003Cforeign|reserved|tombstone>). Renamed to \u003Cnew> and updated plan + memory-bank. Continuing.",{"type":49,"tag":50,"props":3150,"children":3151},{},[3152,3154,3159],{"type":58,"value":3153},"Then proceed with the POST using ",{"type":49,"tag":96,"props":3155,"children":3157},{"className":3156},[],[3158],{"type":58,"value":3126},{"type":58,"value":892},{"type":49,"tag":1040,"props":3161,"children":3163},{"id":3162},"post-create-collision-rescue-hidden-tombstone-recent-delete",[3164],{"type":58,"value":3165},"Post-create collision rescue — hidden tombstone \u002F recent delete",{"type":49,"tag":50,"props":3167,"children":3168},{},[3169,3171,3176],{"type":58,"value":3170},"If the Step 5b table POST fails after a 404 preflight with any Dataverse name-collision signature, ",{"type":49,"tag":54,"props":3172,"children":3173},{},[3174],{"type":58,"value":3175},"do not fail the run",{"type":58,"value":527},{"type":49,"tag":81,"props":3178,"children":3179},{},[3180,3197,3215,3225],{"type":49,"tag":85,"props":3181,"children":3182},{},[3183,3185,3190,3192],{"type":58,"value":3184},"HTTP ",{"type":49,"tag":96,"props":3186,"children":3188},{"className":3187},[],[3189],{"type":58,"value":2633},{"type":58,"value":3191}," with code ",{"type":49,"tag":96,"props":3193,"children":3195},{"className":3194},[],[3196],{"type":58,"value":2640},{"type":49,"tag":85,"props":3198,"children":3199},{},[3200,3202,3208,3209],{"type":58,"value":3201},"message contains ",{"type":49,"tag":96,"props":3203,"children":3205},{"className":3204},[],[3206],{"type":58,"value":3207},"schema name",{"type":58,"value":1056},{"type":49,"tag":96,"props":3210,"children":3212},{"className":3211},[],[3213],{"type":58,"value":3214},"not unique",{"type":49,"tag":85,"props":3216,"children":3217},{},[3218,3219],{"type":58,"value":3201},{"type":49,"tag":96,"props":3220,"children":3222},{"className":3221},[],[3223],{"type":58,"value":3224},"same name already exists",{"type":49,"tag":85,"props":3226,"children":3227},{},[3228,3229],{"type":58,"value":3201},{"type":49,"tag":96,"props":3230,"children":3232},{"className":3231},[],[3233],{"type":58,"value":3234},"object with same name exists in solution",{"type":49,"tag":50,"props":3236,"children":3237},{},[3238,3240,3245,3246,3251,3252,3257],{"type":58,"value":3239},"First attempt auto-Extend: re-GET the existing table's attributes and compare with the plan. If ≥50% overlap, switch to Extend path (add missing columns). Otherwise, run the auto-rename probe sequence, update ",{"type":49,"tag":96,"props":3241,"children":3243},{"className":3242},[],[3244],{"type":58,"value":355},{"type":58,"value":442},{"type":49,"tag":96,"props":3247,"children":3249},{"className":3248},[],[3250],{"type":58,"value":3067},{"type":58,"value":442},{"type":49,"tag":96,"props":3253,"children":3255},{"className":3254},[],[3256],{"type":58,"value":1910},{"type":58,"value":3258},", and the run-level alias map, then retry the table POST exactly once with the resolved name. Print:",{"type":49,"tag":529,"props":3260,"children":3261},{},[3262],{"type":49,"tag":50,"props":3263,"children":3264},{},[3265],{"type":49,"tag":96,"props":3266,"children":3268},{"className":3267},[],[3269],{"type":58,"value":3270},"→ Dataverse still has \u003Coriginal> reserved from a recent delete\u002Fhidden collision. Using \u003Cnew> and continuing.",{"type":49,"tag":50,"props":3272,"children":3273},{},[3274,3276,3281],{"type":58,"value":3275},"If the retry also returns a collision signature, continue probing the remaining candidates. If all candidates collide, return ",{"type":49,"tag":96,"props":3277,"children":3279},{"className":3278},[],[3280],{"type":58,"value":3005},{"type":58,"value":892},{"type":49,"tag":50,"props":3283,"children":3284},{},[3285,3290,3292,3297,3299,3305,3307,3312,3314,3319],{"type":49,"tag":54,"props":3286,"children":3287},{},[3288],{"type":58,"value":3289},"On successful POST",{"type":58,"value":3291},", immediately re-GET to capture the server-assigned ",{"type":49,"tag":96,"props":3293,"children":3295},{"className":3294},[],[3296],{"type":58,"value":2507},{"type":58,"value":3298}," and write it to memory-bank (Step 6d updates ",{"type":49,"tag":96,"props":3300,"children":3302},{"className":3301},[],[3303],{"type":58,"value":3304},".datamodel-manifest.json",{"type":58,"value":3306},"; you also append to ",{"type":49,"tag":96,"props":3308,"children":3310},{"className":3309},[],[3311],{"type":58,"value":1910},{"type":58,"value":3313}," under \"Created tables\" with the GUID and solution name). This lets future ",{"type":49,"tag":96,"props":3315,"children":3317},{"className":3316},[],[3318],{"type":58,"value":1371},{"type":58,"value":3320}," runs distinguish \"we own this\" from \"name collision.\"",{"type":49,"tag":1040,"props":3322,"children":3324},{"id":3323},"step-5b-create-extend",[3325],{"type":58,"value":3326},"Step 5b — Create \u002F extend",{"type":49,"tag":50,"props":3328,"children":3329},{},[3330,3332,3337,3339,3344],{"type":58,"value":3331},"For each ",{"type":49,"tag":96,"props":3333,"children":3335},{"className":3334},[],[3336],{"type":58,"value":2340},{"type":58,"value":3338}," decision, in ",{"type":49,"tag":54,"props":3340,"children":3341},{},[3342],{"type":58,"value":3343},"tier order",{"type":58,"value":3345}," (Tier 0 → Tier 1 → Tier 2 → …), POST a new EntityDefinition. Skip if Step 5a returned a known-self match (idempotent).",{"type":49,"tag":529,"props":3347,"children":3348},{},[3349,3357,3370,3380,3471,3481,3657],{"type":49,"tag":50,"props":3350,"children":3351},{},[3352],{"type":49,"tag":54,"props":3353,"children":3354},{},[3355],{"type":58,"value":3356},"⚠️ Inline ALL planned columns into the Create POST body — do NOT POST columns individually.",{"type":49,"tag":50,"props":3358,"children":3359},{},[3360,3362,3368],{"type":58,"value":3361},"Dataverse processes the ",{"type":49,"tag":96,"props":3363,"children":3365},{"className":3364},[],[3366],{"type":58,"value":3367},"Attributes: [...]",{"type":58,"value":3369}," array atomically with the table create. Inline form: 1 round trip, ~3-8s. Per-column form: N+1 round trips, each ~3-8s. For a 5-column table that's 24s saved per table on the lock-serialized metadata path.",{"type":49,"tag":50,"props":3371,"children":3372},{},[3373,3378],{"type":49,"tag":54,"props":3374,"children":3375},{},[3376],{"type":58,"value":3377},"Wrong",{"type":58,"value":3379}," (N round trips):",{"type":49,"tag":147,"props":3381,"children":3383},{"className":2888,"code":3382,"language":2890,"meta":152,"style":152},"{ \"SchemaName\": \"...\", \"Attributes\": [{ \u002F* primary only *\u002F }] }\n\u002F\u002F then 4× POST \u002FAttributes for the rest\n",[3384],{"type":49,"tag":96,"props":3385,"children":3386},{"__ignoreMap":152},[3387,3463],{"type":49,"tag":158,"props":3388,"children":3389},{"class":160,"line":161},[3390,3394,3398,3403,3407,3411,3415,3419,3423,3428,3432,3436,3440,3444,3449,3454,3459],{"type":49,"tag":158,"props":3391,"children":3392},{"style":182},[3393],{"type":58,"value":2902},{"type":49,"tag":158,"props":3395,"children":3396},{"style":182},[3397],{"type":58,"value":1193},{"type":49,"tag":158,"props":3399,"children":3400},{"style":2909},[3401],{"type":58,"value":3402},"SchemaName",{"type":49,"tag":158,"props":3404,"children":3405},{"style":182},[3406],{"type":58,"value":235},{"type":49,"tag":158,"props":3408,"children":3409},{"style":182},[3410],{"type":58,"value":527},{"type":49,"tag":158,"props":3412,"children":3413},{"style":182},[3414],{"type":58,"value":1193},{"type":49,"tag":158,"props":3416,"children":3417},{"style":171},[3418],{"type":58,"value":826},{"type":49,"tag":158,"props":3420,"children":3421},{"style":182},[3422],{"type":58,"value":235},{"type":49,"tag":158,"props":3424,"children":3425},{"style":182},[3426],{"type":58,"value":3427},",",{"type":49,"tag":158,"props":3429,"children":3430},{"style":182},[3431],{"type":58,"value":1193},{"type":49,"tag":158,"props":3433,"children":3434},{"style":2909},[3435],{"type":58,"value":2714},{"type":49,"tag":158,"props":3437,"children":3438},{"style":182},[3439],{"type":58,"value":235},{"type":49,"tag":158,"props":3441,"children":3442},{"style":182},[3443],{"type":58,"value":527},{"type":49,"tag":158,"props":3445,"children":3446},{"style":182},[3447],{"type":58,"value":3448}," [{",{"type":49,"tag":158,"props":3450,"children":3451},{"style":799},[3452],{"type":58,"value":3453}," \u002F* primary only *\u002F",{"type":49,"tag":158,"props":3455,"children":3456},{"style":182},[3457],{"type":58,"value":3458}," }]",{"type":49,"tag":158,"props":3460,"children":3461},{"style":182},[3462],{"type":58,"value":2938},{"type":49,"tag":158,"props":3464,"children":3465},{"class":160,"line":202},[3466],{"type":49,"tag":158,"props":3467,"children":3468},{"style":799},[3469],{"type":58,"value":3470},"\u002F\u002F then 4× POST \u002FAttributes for the rest\n",{"type":49,"tag":50,"props":3472,"children":3473},{},[3474,3479],{"type":49,"tag":54,"props":3475,"children":3476},{},[3477],{"type":58,"value":3478},"Right",{"type":58,"value":3480}," (1 round trip):",{"type":49,"tag":147,"props":3482,"children":3484},{"className":2888,"code":3483,"language":2890,"meta":152,"style":152},"{\n  \"SchemaName\": \"...\",\n  \"Attributes\": [\n    { \u002F* primary name *\u002F },\n    { \u002F* column 2 *\u002F },\n    { \u002F* column 3 *\u002F },\n    { \u002F* column 4 *\u002F },\n    { \u002F* column 5 *\u002F }\n  ]\n}\n",[3485],{"type":49,"tag":96,"props":3486,"children":3487},{"__ignoreMap":152},[3488,3496,3532,3556,3574,3590,3606,3622,3639,3648],{"type":49,"tag":158,"props":3489,"children":3490},{"class":160,"line":161},[3491],{"type":49,"tag":158,"props":3492,"children":3493},{"style":182},[3494],{"type":58,"value":3495},"{\n",{"type":49,"tag":158,"props":3497,"children":3498},{"class":160,"line":202},[3499,3503,3507,3511,3515,3519,3523,3527],{"type":49,"tag":158,"props":3500,"children":3501},{"style":182},[3502],{"type":58,"value":2025},{"type":49,"tag":158,"props":3504,"children":3505},{"style":2909},[3506],{"type":58,"value":3402},{"type":49,"tag":158,"props":3508,"children":3509},{"style":182},[3510],{"type":58,"value":235},{"type":49,"tag":158,"props":3512,"children":3513},{"style":182},[3514],{"type":58,"value":527},{"type":49,"tag":158,"props":3516,"children":3517},{"style":182},[3518],{"type":58,"value":1193},{"type":49,"tag":158,"props":3520,"children":3521},{"style":171},[3522],{"type":58,"value":826},{"type":49,"tag":158,"props":3524,"children":3525},{"style":182},[3526],{"type":58,"value":235},{"type":49,"tag":158,"props":3528,"children":3529},{"style":182},[3530],{"type":58,"value":3531},",\n",{"type":49,"tag":158,"props":3533,"children":3534},{"class":160,"line":740},[3535,3539,3543,3547,3551],{"type":49,"tag":158,"props":3536,"children":3537},{"style":182},[3538],{"type":58,"value":2025},{"type":49,"tag":158,"props":3540,"children":3541},{"style":2909},[3542],{"type":58,"value":2714},{"type":49,"tag":158,"props":3544,"children":3545},{"style":182},[3546],{"type":58,"value":235},{"type":49,"tag":158,"props":3548,"children":3549},{"style":182},[3550],{"type":58,"value":527},{"type":49,"tag":158,"props":3552,"children":3553},{"style":182},[3554],{"type":58,"value":3555}," [\n",{"type":49,"tag":158,"props":3557,"children":3558},{"class":160,"line":763},[3559,3564,3569],{"type":49,"tag":158,"props":3560,"children":3561},{"style":182},[3562],{"type":58,"value":3563},"    {",{"type":49,"tag":158,"props":3565,"children":3566},{"style":799},[3567],{"type":58,"value":3568}," \u002F* primary name *\u002F",{"type":49,"tag":158,"props":3570,"children":3571},{"style":182},[3572],{"type":58,"value":3573}," },\n",{"type":49,"tag":158,"props":3575,"children":3576},{"class":160,"line":781},[3577,3581,3586],{"type":49,"tag":158,"props":3578,"children":3579},{"style":182},[3580],{"type":58,"value":3563},{"type":49,"tag":158,"props":3582,"children":3583},{"style":799},[3584],{"type":58,"value":3585}," \u002F* column 2 *\u002F",{"type":49,"tag":158,"props":3587,"children":3588},{"style":182},[3589],{"type":58,"value":3573},{"type":49,"tag":158,"props":3591,"children":3592},{"class":160,"line":805},[3593,3597,3602],{"type":49,"tag":158,"props":3594,"children":3595},{"style":182},[3596],{"type":58,"value":3563},{"type":49,"tag":158,"props":3598,"children":3599},{"style":799},[3600],{"type":58,"value":3601}," \u002F* column 3 *\u002F",{"type":49,"tag":158,"props":3603,"children":3604},{"style":182},[3605],{"type":58,"value":3573},{"type":49,"tag":158,"props":3607,"children":3608},{"class":160,"line":834},[3609,3613,3618],{"type":49,"tag":158,"props":3610,"children":3611},{"style":182},[3612],{"type":58,"value":3563},{"type":49,"tag":158,"props":3614,"children":3615},{"style":799},[3616],{"type":58,"value":3617}," \u002F* column 4 *\u002F",{"type":49,"tag":158,"props":3619,"children":3620},{"style":182},[3621],{"type":58,"value":3573},{"type":49,"tag":158,"props":3623,"children":3625},{"class":160,"line":3624},8,[3626,3630,3635],{"type":49,"tag":158,"props":3627,"children":3628},{"style":182},[3629],{"type":58,"value":3563},{"type":49,"tag":158,"props":3631,"children":3632},{"style":799},[3633],{"type":58,"value":3634}," \u002F* column 5 *\u002F",{"type":49,"tag":158,"props":3636,"children":3637},{"style":182},[3638],{"type":58,"value":2938},{"type":49,"tag":158,"props":3640,"children":3642},{"class":160,"line":3641},9,[3643],{"type":49,"tag":158,"props":3644,"children":3645},{"style":182},[3646],{"type":58,"value":3647},"  ]\n",{"type":49,"tag":158,"props":3649,"children":3651},{"class":160,"line":3650},10,[3652],{"type":49,"tag":158,"props":3653,"children":3654},{"style":182},[3655],{"type":58,"value":3656},"}\n",{"type":49,"tag":50,"props":3658,"children":3659},{},[3660],{"type":58,"value":3661},"The per-column POST path remains valid for two cases only: (1) Extend on an existing table, (2) retry-after-partial-failure when Step 5a's pre-flight shows the table exists but some columns don't.",{"type":49,"tag":50,"props":3663,"children":3664},{},[3665,3670,3672,3678,3680,3685,3687,3692,3694,3700],{"type":49,"tag":54,"props":3666,"children":3667},{},[3668],{"type":58,"value":3669},"Solution targeting (HARD):",{"type":58,"value":3671}," every Step 5 \u002F 5b POST MUST pass ",{"type":49,"tag":96,"props":3673,"children":3675},{"className":3674},[],[3676],{"type":58,"value":3677},"--solution \u003Cuniquename>",{"type":58,"value":3679}," so Dataverse routes the new artifact into our solution rather than the unmanaged default. Read the solution name from ",{"type":49,"tag":96,"props":3681,"children":3683},{"className":3682},[],[3684],{"type":58,"value":1910},{"type":58,"value":3686}," Power Platform context (captured in Step 3b). Without this flag, multi-project environments end up with cross-solution leakage and the foreign-collision class of bug returns. The script translates ",{"type":49,"tag":96,"props":3688,"children":3690},{"className":3689},[],[3691],{"type":58,"value":1902},{"type":58,"value":3693}," to the ",{"type":49,"tag":96,"props":3695,"children":3697},{"className":3696},[],[3698],{"type":58,"value":3699},"MSCRM.SolutionUniqueName",{"type":58,"value":3701}," HTTP header.",{"type":49,"tag":50,"props":3703,"children":3704},{},[3705,3710,3712,3718,3720,3726,3728,3734],{"type":49,"tag":54,"props":3706,"children":3707},{},[3708],{"type":58,"value":3709},"Scratch files:",{"type":58,"value":3711}," When writing request body JSON to disk (e.g. table definitions, column metadata, relationship payloads), always write to ",{"type":49,"tag":96,"props":3713,"children":3715},{"className":3714},[],[3716],{"type":58,"value":3717},"\u003Cworking_dir>\u002F.tmp\u002F",{"type":58,"value":3719},", never to ",{"type":49,"tag":96,"props":3721,"children":3723},{"className":3722},[],[3724],{"type":58,"value":3725},"\u002Ftmp\u002F",{"type":58,"value":3727},". Keeping request bodies project-local prevents cross-project writes and makes cleanup deterministic. Create the folder if it doesn't exist: ",{"type":49,"tag":96,"props":3729,"children":3731},{"className":3730},[],[3732],{"type":58,"value":3733},"mkdir -p \u003Cworking_dir>\u002F.tmp",{"type":58,"value":892},{"type":49,"tag":147,"props":3736,"children":3738},{"className":149,"code":3737,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST EntityDefinitions \\\n  --body '\u003Cjson-body-with-all-columns-inline>' \\\n  --solution '\u003Csolution-uniquename-from-memory-bank>'\n",[3739],{"type":49,"tag":96,"props":3740,"children":3741},{"__ignoreMap":152},[3742,3799,3825],{"type":49,"tag":158,"props":3743,"children":3744},{"class":160,"line":161},[3745,3749,3753,3757,3761,3765,3769,3773,3777,3781,3785,3790,3795],{"type":49,"tag":158,"props":3746,"children":3747},{"style":206},[3748],{"type":58,"value":209},{"type":49,"tag":158,"props":3750,"children":3751},{"style":182},[3752],{"type":58,"value":214},{"type":49,"tag":158,"props":3754,"children":3755},{"style":217},[3756],{"type":58,"value":220},{"type":49,"tag":158,"props":3758,"children":3759},{"style":182},[3760],{"type":58,"value":225},{"type":49,"tag":158,"props":3762,"children":3763},{"style":171},[3764],{"type":58,"value":1489},{"type":49,"tag":158,"props":3766,"children":3767},{"style":182},[3768],{"type":58,"value":235},{"type":49,"tag":158,"props":3770,"children":3771},{"style":182},[3772],{"type":58,"value":1340},{"type":49,"tag":158,"props":3774,"children":3775},{"style":171},[3776],{"type":58,"value":1502},{"type":49,"tag":158,"props":3778,"children":3779},{"style":217},[3780],{"type":58,"value":1507},{"type":49,"tag":158,"props":3782,"children":3783},{"style":182},[3784],{"type":58,"value":1355},{"type":49,"tag":158,"props":3786,"children":3787},{"style":171},[3788],{"type":58,"value":3789}," POST",{"type":49,"tag":158,"props":3791,"children":3792},{"style":171},[3793],{"type":58,"value":3794}," EntityDefinitions",{"type":49,"tag":158,"props":3796,"children":3797},{"style":217},[3798],{"type":58,"value":2017},{"type":49,"tag":158,"props":3800,"children":3801},{"class":160,"line":202},[3802,3807,3812,3817,3821],{"type":49,"tag":158,"props":3803,"children":3804},{"style":171},[3805],{"type":58,"value":3806},"  --body",{"type":49,"tag":158,"props":3808,"children":3809},{"style":182},[3810],{"type":58,"value":3811}," '",{"type":49,"tag":158,"props":3813,"children":3814},{"style":171},[3815],{"type":58,"value":3816},"\u003Cjson-body-with-all-columns-inline>",{"type":49,"tag":158,"props":3818,"children":3819},{"style":182},[3820],{"type":58,"value":1557},{"type":49,"tag":158,"props":3822,"children":3823},{"style":217},[3824],{"type":58,"value":2017},{"type":49,"tag":158,"props":3826,"children":3827},{"class":160,"line":740},[3828,3833,3837,3842],{"type":49,"tag":158,"props":3829,"children":3830},{"style":171},[3831],{"type":58,"value":3832},"  --solution",{"type":49,"tag":158,"props":3834,"children":3835},{"style":182},[3836],{"type":58,"value":3811},{"type":49,"tag":158,"props":3838,"children":3839},{"style":171},[3840],{"type":58,"value":3841},"\u003Csolution-uniquename-from-memory-bank>",{"type":49,"tag":158,"props":3843,"children":3844},{"style":182},[3845],{"type":58,"value":3846},"'\n",{"type":49,"tag":50,"props":3848,"children":3849},{},[3850,3852,3862],{"type":58,"value":3851},"Body skeleton — ",{"type":49,"tag":54,"props":3853,"children":3854},{},[3855,3857],{"type":58,"value":3856},"all planned columns inline in ",{"type":49,"tag":96,"props":3858,"children":3860},{"className":3859},[],[3861],{"type":58,"value":3367},{"type":58,"value":3863}," (this example shows primary + 3 additional; expand the array to fit every column from the plan):",{"type":49,"tag":529,"props":3865,"children":3866},{},[3867],{"type":49,"tag":50,"props":3868,"children":3869},{},[3870,3898,3900,3906,3907,3913,3915,3921,3923,3928,3930,3935],{"type":49,"tag":54,"props":3871,"children":3872},{},[3873,3875,3881,3882,3888,3890,3896],{"type":58,"value":3874},"⚠️ ",{"type":49,"tag":96,"props":3876,"children":3878},{"className":3877},[],[3879],{"type":58,"value":3880},"IsAvailableOffline",{"type":58,"value":2494},{"type":49,"tag":96,"props":3883,"children":3885},{"className":3884},[],[3886],{"type":58,"value":3887},"ChangeTrackingEnabled",{"type":58,"value":3889}," MUST be set to ",{"type":49,"tag":96,"props":3891,"children":3893},{"className":3892},[],[3894],{"type":58,"value":3895},"true",{"type":58,"value":3897}," at create time",{"type":58,"value":3899}," for any table the app intends to make available offline. Without these two flags the table cannot be added to a ",{"type":49,"tag":96,"props":3901,"children":3903},{"className":3902},[],[3904],{"type":58,"value":3905},"mobileofflineprofile",{"type":58,"value":323},{"type":49,"tag":96,"props":3908,"children":3910},{"className":3909},[],[3911],{"type":58,"value":3912},"\u002Fsetup-offline-profile",{"type":58,"value":3914}," will have to fix them via a separate metadata PUT (the ",{"type":49,"tag":96,"props":3916,"children":3918},{"className":3917},[],[3919],{"type":58,"value":3920},"\u002Fenable-tables-offline",{"type":58,"value":3922}," skill handles that, but it doubles the metadata-lock-serialized round trips). Empirically verified 2026-05-18 in the chanel-rm demo: 7 custom tables created without these flags caused 7 prereq-revert drift entries; fixed by post-hoc enablement. Default these to ",{"type":49,"tag":96,"props":3924,"children":3926},{"className":3925},[],[3927],{"type":58,"value":3895},{"type":58,"value":3929}," for all UserOwned tables created by ",{"type":49,"tag":96,"props":3931,"children":3933},{"className":3932},[],[3934],{"type":58,"value":1371},{"type":58,"value":3936}," unless the user has explicitly opted out of offline support. The flags are no-ops at runtime for apps that don't use offline profiles.",{"type":49,"tag":147,"props":3938,"children":3940},{"className":2888,"code":3939,"language":2890,"meta":152,"style":152},"{\n  \"@odata.type\": \"Microsoft.Dynamics.CRM.EntityMetadata\",\n  \"SchemaName\": \"cr123_jobsite\",\n  \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Job Site\", \"LanguageCode\": 1033 }] },\n  \"DisplayCollectionName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Job Sites\", \"LanguageCode\": 1033 }] },\n  \"OwnershipType\": \"UserOwned\",\n  \"HasActivities\": false,\n  \"HasNotes\": false,\n  \"IsAvailableOffline\": true,\n  \"ChangeTrackingEnabled\": true,\n  \"PrimaryNameAttribute\": \"cr123_sitename\",\n  \"Attributes\": [\n    {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.StringAttributeMetadata\",\n      \"SchemaName\": \"cr123_sitename\",\n      \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Site Name\", \"LanguageCode\": 1033 }] },\n      \"MaxLength\": 200,\n      \"FormatName\": { \"Value\": \"Text\" },\n      \"RequiredLevel\": { \"Value\": \"ApplicationRequired\" },\n      \"IsPrimaryName\": true\n    },\n    {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.StringAttributeMetadata\",\n      \"SchemaName\": \"cr123_address\",\n      \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Address\", \"LanguageCode\": 1033 }] },\n      \"MaxLength\": 500,\n      \"FormatName\": { \"Value\": \"Text\" },\n      \"RequiredLevel\": { \"Value\": \"None\" }\n    },\n    {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.IntegerAttributeMetadata\",\n      \"SchemaName\": \"cr123_squarefeet\",\n      \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Square Feet\", \"LanguageCode\": 1033 }] },\n      \"RequiredLevel\": { \"Value\": \"None\" },\n      \"MinValue\": 0,\n      \"MaxValue\": 2147483647,\n      \"Format\": \"None\"\n    },\n    {\n      \"@odata.type\": \"Microsoft.Dynamics.CRM.BooleanAttributeMetadata\",\n      \"SchemaName\": \"cr123_active\",\n      \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Active\", \"LanguageCode\": 1033 }] },\n      \"RequiredLevel\": { \"Value\": \"None\" },\n      \"DefaultValue\": true,\n      \"OptionSet\": {\n        \"@odata.type\": \"Microsoft.Dynamics.CRM.BooleanOptionSetMetadata\",\n        \"TrueOption\": { \"Value\": 1, \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"Yes\", \"LanguageCode\": 1033 }] } },\n        \"FalseOption\": { \"Value\": 0, \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"No\", \"LanguageCode\": 1033 }] } }\n      }\n    }\n  ]\n}\n",[3941],{"type":49,"tag":96,"props":3942,"children":3943},{"__ignoreMap":152},[3944,3951,3988,4023,4166,4303,4340,4365,4389,4413,4436,4474,4498,4507,4545,4581,4718,4748,4807,4865,4891,4900,4908,4944,4981,5118,5147,5203,5260,5268,5276,5313,5350,5487,5543,5573,5603,5635,5643,5651,5688,5725,5862,5918,5943,5969,6007,6196,6382,6391,6400,6408],{"type":49,"tag":158,"props":3945,"children":3946},{"class":160,"line":161},[3947],{"type":49,"tag":158,"props":3948,"children":3949},{"style":182},[3950],{"type":58,"value":3495},{"type":49,"tag":158,"props":3952,"children":3953},{"class":160,"line":202},[3954,3958,3963,3967,3971,3975,3980,3984],{"type":49,"tag":158,"props":3955,"children":3956},{"style":182},[3957],{"type":58,"value":2025},{"type":49,"tag":158,"props":3959,"children":3960},{"style":2909},[3961],{"type":58,"value":3962},"@odata.type",{"type":49,"tag":158,"props":3964,"children":3965},{"style":182},[3966],{"type":58,"value":235},{"type":49,"tag":158,"props":3968,"children":3969},{"style":182},[3970],{"type":58,"value":527},{"type":49,"tag":158,"props":3972,"children":3973},{"style":182},[3974],{"type":58,"value":1193},{"type":49,"tag":158,"props":3976,"children":3977},{"style":171},[3978],{"type":58,"value":3979},"Microsoft.Dynamics.CRM.EntityMetadata",{"type":49,"tag":158,"props":3981,"children":3982},{"style":182},[3983],{"type":58,"value":235},{"type":49,"tag":158,"props":3985,"children":3986},{"style":182},[3987],{"type":58,"value":3531},{"type":49,"tag":158,"props":3989,"children":3990},{"class":160,"line":740},[3991,3995,3999,4003,4007,4011,4015,4019],{"type":49,"tag":158,"props":3992,"children":3993},{"style":182},[3994],{"type":58,"value":2025},{"type":49,"tag":158,"props":3996,"children":3997},{"style":2909},[3998],{"type":58,"value":3402},{"type":49,"tag":158,"props":4000,"children":4001},{"style":182},[4002],{"type":58,"value":235},{"type":49,"tag":158,"props":4004,"children":4005},{"style":182},[4006],{"type":58,"value":527},{"type":49,"tag":158,"props":4008,"children":4009},{"style":182},[4010],{"type":58,"value":1193},{"type":49,"tag":158,"props":4012,"children":4013},{"style":171},[4014],{"type":58,"value":1886},{"type":49,"tag":158,"props":4016,"children":4017},{"style":182},[4018],{"type":58,"value":235},{"type":49,"tag":158,"props":4020,"children":4021},{"style":182},[4022],{"type":58,"value":3531},{"type":49,"tag":158,"props":4024,"children":4025},{"class":160,"line":763},[4026,4030,4035,4039,4043,4048,4052,4056,4060,4064,4068,4073,4077,4081,4085,4090,4094,4098,4102,4106,4111,4115,4119,4123,4128,4132,4136,4140,4145,4149,4153,4158,4162],{"type":49,"tag":158,"props":4027,"children":4028},{"style":182},[4029],{"type":58,"value":2025},{"type":49,"tag":158,"props":4031,"children":4032},{"style":2909},[4033],{"type":58,"value":4034},"DisplayName",{"type":49,"tag":158,"props":4036,"children":4037},{"style":182},[4038],{"type":58,"value":235},{"type":49,"tag":158,"props":4040,"children":4041},{"style":182},[4042],{"type":58,"value":527},{"type":49,"tag":158,"props":4044,"children":4045},{"style":182},[4046],{"type":58,"value":4047}," {",{"type":49,"tag":158,"props":4049,"children":4050},{"style":182},[4051],{"type":58,"value":1193},{"type":49,"tag":158,"props":4053,"children":4054},{"style":206},[4055],{"type":58,"value":3962},{"type":49,"tag":158,"props":4057,"children":4058},{"style":182},[4059],{"type":58,"value":235},{"type":49,"tag":158,"props":4061,"children":4062},{"style":182},[4063],{"type":58,"value":527},{"type":49,"tag":158,"props":4065,"children":4066},{"style":182},[4067],{"type":58,"value":1193},{"type":49,"tag":158,"props":4069,"children":4070},{"style":171},[4071],{"type":58,"value":4072},"Microsoft.Dynamics.CRM.Label",{"type":49,"tag":158,"props":4074,"children":4075},{"style":182},[4076],{"type":58,"value":235},{"type":49,"tag":158,"props":4078,"children":4079},{"style":182},[4080],{"type":58,"value":3427},{"type":49,"tag":158,"props":4082,"children":4083},{"style":182},[4084],{"type":58,"value":1193},{"type":49,"tag":158,"props":4086,"children":4087},{"style":206},[4088],{"type":58,"value":4089},"LocalizedLabels",{"type":49,"tag":158,"props":4091,"children":4092},{"style":182},[4093],{"type":58,"value":235},{"type":49,"tag":158,"props":4095,"children":4096},{"style":182},[4097],{"type":58,"value":527},{"type":49,"tag":158,"props":4099,"children":4100},{"style":182},[4101],{"type":58,"value":3448},{"type":49,"tag":158,"props":4103,"children":4104},{"style":182},[4105],{"type":58,"value":1193},{"type":49,"tag":158,"props":4107,"children":4108},{"style":823},[4109],{"type":58,"value":4110},"Label",{"type":49,"tag":158,"props":4112,"children":4113},{"style":182},[4114],{"type":58,"value":235},{"type":49,"tag":158,"props":4116,"children":4117},{"style":182},[4118],{"type":58,"value":527},{"type":49,"tag":158,"props":4120,"children":4121},{"style":182},[4122],{"type":58,"value":1193},{"type":49,"tag":158,"props":4124,"children":4125},{"style":171},[4126],{"type":58,"value":4127},"Job Site",{"type":49,"tag":158,"props":4129,"children":4130},{"style":182},[4131],{"type":58,"value":235},{"type":49,"tag":158,"props":4133,"children":4134},{"style":182},[4135],{"type":58,"value":3427},{"type":49,"tag":158,"props":4137,"children":4138},{"style":182},[4139],{"type":58,"value":1193},{"type":49,"tag":158,"props":4141,"children":4142},{"style":823},[4143],{"type":58,"value":4144},"LanguageCode",{"type":49,"tag":158,"props":4146,"children":4147},{"style":182},[4148],{"type":58,"value":235},{"type":49,"tag":158,"props":4150,"children":4151},{"style":182},[4152],{"type":58,"value":527},{"type":49,"tag":158,"props":4154,"children":4155},{"style":823},[4156],{"type":58,"value":4157}," 1033",{"type":49,"tag":158,"props":4159,"children":4160},{"style":182},[4161],{"type":58,"value":3458},{"type":49,"tag":158,"props":4163,"children":4164},{"style":182},[4165],{"type":58,"value":3573},{"type":49,"tag":158,"props":4167,"children":4168},{"class":160,"line":781},[4169,4173,4178,4182,4186,4190,4194,4198,4202,4206,4210,4214,4218,4222,4226,4230,4234,4238,4242,4246,4250,4254,4258,4262,4267,4271,4275,4279,4283,4287,4291,4295,4299],{"type":49,"tag":158,"props":4170,"children":4171},{"style":182},[4172],{"type":58,"value":2025},{"type":49,"tag":158,"props":4174,"children":4175},{"style":2909},[4176],{"type":58,"value":4177},"DisplayCollectionName",{"type":49,"tag":158,"props":4179,"children":4180},{"style":182},[4181],{"type":58,"value":235},{"type":49,"tag":158,"props":4183,"children":4184},{"style":182},[4185],{"type":58,"value":527},{"type":49,"tag":158,"props":4187,"children":4188},{"style":182},[4189],{"type":58,"value":4047},{"type":49,"tag":158,"props":4191,"children":4192},{"style":182},[4193],{"type":58,"value":1193},{"type":49,"tag":158,"props":4195,"children":4196},{"style":206},[4197],{"type":58,"value":3962},{"type":49,"tag":158,"props":4199,"children":4200},{"style":182},[4201],{"type":58,"value":235},{"type":49,"tag":158,"props":4203,"children":4204},{"style":182},[4205],{"type":58,"value":527},{"type":49,"tag":158,"props":4207,"children":4208},{"style":182},[4209],{"type":58,"value":1193},{"type":49,"tag":158,"props":4211,"children":4212},{"style":171},[4213],{"type":58,"value":4072},{"type":49,"tag":158,"props":4215,"children":4216},{"style":182},[4217],{"type":58,"value":235},{"type":49,"tag":158,"props":4219,"children":4220},{"style":182},[4221],{"type":58,"value":3427},{"type":49,"tag":158,"props":4223,"children":4224},{"style":182},[4225],{"type":58,"value":1193},{"type":49,"tag":158,"props":4227,"children":4228},{"style":206},[4229],{"type":58,"value":4089},{"type":49,"tag":158,"props":4231,"children":4232},{"style":182},[4233],{"type":58,"value":235},{"type":49,"tag":158,"props":4235,"children":4236},{"style":182},[4237],{"type":58,"value":527},{"type":49,"tag":158,"props":4239,"children":4240},{"style":182},[4241],{"type":58,"value":3448},{"type":49,"tag":158,"props":4243,"children":4244},{"style":182},[4245],{"type":58,"value":1193},{"type":49,"tag":158,"props":4247,"children":4248},{"style":823},[4249],{"type":58,"value":4110},{"type":49,"tag":158,"props":4251,"children":4252},{"style":182},[4253],{"type":58,"value":235},{"type":49,"tag":158,"props":4255,"children":4256},{"style":182},[4257],{"type":58,"value":527},{"type":49,"tag":158,"props":4259,"children":4260},{"style":182},[4261],{"type":58,"value":1193},{"type":49,"tag":158,"props":4263,"children":4264},{"style":171},[4265],{"type":58,"value":4266},"Job Sites",{"type":49,"tag":158,"props":4268,"children":4269},{"style":182},[4270],{"type":58,"value":235},{"type":49,"tag":158,"props":4272,"children":4273},{"style":182},[4274],{"type":58,"value":3427},{"type":49,"tag":158,"props":4276,"children":4277},{"style":182},[4278],{"type":58,"value":1193},{"type":49,"tag":158,"props":4280,"children":4281},{"style":823},[4282],{"type":58,"value":4144},{"type":49,"tag":158,"props":4284,"children":4285},{"style":182},[4286],{"type":58,"value":235},{"type":49,"tag":158,"props":4288,"children":4289},{"style":182},[4290],{"type":58,"value":527},{"type":49,"tag":158,"props":4292,"children":4293},{"style":823},[4294],{"type":58,"value":4157},{"type":49,"tag":158,"props":4296,"children":4297},{"style":182},[4298],{"type":58,"value":3458},{"type":49,"tag":158,"props":4300,"children":4301},{"style":182},[4302],{"type":58,"value":3573},{"type":49,"tag":158,"props":4304,"children":4305},{"class":160,"line":805},[4306,4310,4315,4319,4323,4327,4332,4336],{"type":49,"tag":158,"props":4307,"children":4308},{"style":182},[4309],{"type":58,"value":2025},{"type":49,"tag":158,"props":4311,"children":4312},{"style":2909},[4313],{"type":58,"value":4314},"OwnershipType",{"type":49,"tag":158,"props":4316,"children":4317},{"style":182},[4318],{"type":58,"value":235},{"type":49,"tag":158,"props":4320,"children":4321},{"style":182},[4322],{"type":58,"value":527},{"type":49,"tag":158,"props":4324,"children":4325},{"style":182},[4326],{"type":58,"value":1193},{"type":49,"tag":158,"props":4328,"children":4329},{"style":171},[4330],{"type":58,"value":4331},"UserOwned",{"type":49,"tag":158,"props":4333,"children":4334},{"style":182},[4335],{"type":58,"value":235},{"type":49,"tag":158,"props":4337,"children":4338},{"style":182},[4339],{"type":58,"value":3531},{"type":49,"tag":158,"props":4341,"children":4342},{"class":160,"line":834},[4343,4347,4352,4356,4360],{"type":49,"tag":158,"props":4344,"children":4345},{"style":182},[4346],{"type":58,"value":2025},{"type":49,"tag":158,"props":4348,"children":4349},{"style":2909},[4350],{"type":58,"value":4351},"HasActivities",{"type":49,"tag":158,"props":4353,"children":4354},{"style":182},[4355],{"type":58,"value":235},{"type":49,"tag":158,"props":4357,"children":4358},{"style":182},[4359],{"type":58,"value":527},{"type":49,"tag":158,"props":4361,"children":4362},{"style":182},[4363],{"type":58,"value":4364}," false,\n",{"type":49,"tag":158,"props":4366,"children":4367},{"class":160,"line":3624},[4368,4372,4377,4381,4385],{"type":49,"tag":158,"props":4369,"children":4370},{"style":182},[4371],{"type":58,"value":2025},{"type":49,"tag":158,"props":4373,"children":4374},{"style":2909},[4375],{"type":58,"value":4376},"HasNotes",{"type":49,"tag":158,"props":4378,"children":4379},{"style":182},[4380],{"type":58,"value":235},{"type":49,"tag":158,"props":4382,"children":4383},{"style":182},[4384],{"type":58,"value":527},{"type":49,"tag":158,"props":4386,"children":4387},{"style":182},[4388],{"type":58,"value":4364},{"type":49,"tag":158,"props":4390,"children":4391},{"class":160,"line":3641},[4392,4396,4400,4404,4408],{"type":49,"tag":158,"props":4393,"children":4394},{"style":182},[4395],{"type":58,"value":2025},{"type":49,"tag":158,"props":4397,"children":4398},{"style":2909},[4399],{"type":58,"value":3880},{"type":49,"tag":158,"props":4401,"children":4402},{"style":182},[4403],{"type":58,"value":235},{"type":49,"tag":158,"props":4405,"children":4406},{"style":182},[4407],{"type":58,"value":527},{"type":49,"tag":158,"props":4409,"children":4410},{"style":182},[4411],{"type":58,"value":4412}," true,\n",{"type":49,"tag":158,"props":4414,"children":4415},{"class":160,"line":3650},[4416,4420,4424,4428,4432],{"type":49,"tag":158,"props":4417,"children":4418},{"style":182},[4419],{"type":58,"value":2025},{"type":49,"tag":158,"props":4421,"children":4422},{"style":2909},[4423],{"type":58,"value":3887},{"type":49,"tag":158,"props":4425,"children":4426},{"style":182},[4427],{"type":58,"value":235},{"type":49,"tag":158,"props":4429,"children":4430},{"style":182},[4431],{"type":58,"value":527},{"type":49,"tag":158,"props":4433,"children":4434},{"style":182},[4435],{"type":58,"value":4412},{"type":49,"tag":158,"props":4437,"children":4439},{"class":160,"line":4438},11,[4440,4444,4449,4453,4457,4461,4466,4470],{"type":49,"tag":158,"props":4441,"children":4442},{"style":182},[4443],{"type":58,"value":2025},{"type":49,"tag":158,"props":4445,"children":4446},{"style":2909},[4447],{"type":58,"value":4448},"PrimaryNameAttribute",{"type":49,"tag":158,"props":4450,"children":4451},{"style":182},[4452],{"type":58,"value":235},{"type":49,"tag":158,"props":4454,"children":4455},{"style":182},[4456],{"type":58,"value":527},{"type":49,"tag":158,"props":4458,"children":4459},{"style":182},[4460],{"type":58,"value":1193},{"type":49,"tag":158,"props":4462,"children":4463},{"style":171},[4464],{"type":58,"value":4465},"cr123_sitename",{"type":49,"tag":158,"props":4467,"children":4468},{"style":182},[4469],{"type":58,"value":235},{"type":49,"tag":158,"props":4471,"children":4472},{"style":182},[4473],{"type":58,"value":3531},{"type":49,"tag":158,"props":4475,"children":4477},{"class":160,"line":4476},12,[4478,4482,4486,4490,4494],{"type":49,"tag":158,"props":4479,"children":4480},{"style":182},[4481],{"type":58,"value":2025},{"type":49,"tag":158,"props":4483,"children":4484},{"style":2909},[4485],{"type":58,"value":2714},{"type":49,"tag":158,"props":4487,"children":4488},{"style":182},[4489],{"type":58,"value":235},{"type":49,"tag":158,"props":4491,"children":4492},{"style":182},[4493],{"type":58,"value":527},{"type":49,"tag":158,"props":4495,"children":4496},{"style":182},[4497],{"type":58,"value":3555},{"type":49,"tag":158,"props":4499,"children":4501},{"class":160,"line":4500},13,[4502],{"type":49,"tag":158,"props":4503,"children":4504},{"style":182},[4505],{"type":58,"value":4506},"    {\n",{"type":49,"tag":158,"props":4508,"children":4510},{"class":160,"line":4509},14,[4511,4516,4520,4524,4528,4532,4537,4541],{"type":49,"tag":158,"props":4512,"children":4513},{"style":182},[4514],{"type":58,"value":4515},"      \"",{"type":49,"tag":158,"props":4517,"children":4518},{"style":206},[4519],{"type":58,"value":3962},{"type":49,"tag":158,"props":4521,"children":4522},{"style":182},[4523],{"type":58,"value":235},{"type":49,"tag":158,"props":4525,"children":4526},{"style":182},[4527],{"type":58,"value":527},{"type":49,"tag":158,"props":4529,"children":4530},{"style":182},[4531],{"type":58,"value":1193},{"type":49,"tag":158,"props":4533,"children":4534},{"style":171},[4535],{"type":58,"value":4536},"Microsoft.Dynamics.CRM.StringAttributeMetadata",{"type":49,"tag":158,"props":4538,"children":4539},{"style":182},[4540],{"type":58,"value":235},{"type":49,"tag":158,"props":4542,"children":4543},{"style":182},[4544],{"type":58,"value":3531},{"type":49,"tag":158,"props":4546,"children":4548},{"class":160,"line":4547},15,[4549,4553,4557,4561,4565,4569,4573,4577],{"type":49,"tag":158,"props":4550,"children":4551},{"style":182},[4552],{"type":58,"value":4515},{"type":49,"tag":158,"props":4554,"children":4555},{"style":206},[4556],{"type":58,"value":3402},{"type":49,"tag":158,"props":4558,"children":4559},{"style":182},[4560],{"type":58,"value":235},{"type":49,"tag":158,"props":4562,"children":4563},{"style":182},[4564],{"type":58,"value":527},{"type":49,"tag":158,"props":4566,"children":4567},{"style":182},[4568],{"type":58,"value":1193},{"type":49,"tag":158,"props":4570,"children":4571},{"style":171},[4572],{"type":58,"value":4465},{"type":49,"tag":158,"props":4574,"children":4575},{"style":182},[4576],{"type":58,"value":235},{"type":49,"tag":158,"props":4578,"children":4579},{"style":182},[4580],{"type":58,"value":3531},{"type":49,"tag":158,"props":4582,"children":4584},{"class":160,"line":4583},16,[4585,4589,4593,4597,4601,4605,4609,4613,4617,4621,4625,4629,4633,4637,4641,4645,4649,4653,4657,4661,4665,4669,4673,4677,4682,4686,4690,4694,4698,4702,4706,4710,4714],{"type":49,"tag":158,"props":4586,"children":4587},{"style":182},[4588],{"type":58,"value":4515},{"type":49,"tag":158,"props":4590,"children":4591},{"style":206},[4592],{"type":58,"value":4034},{"type":49,"tag":158,"props":4594,"children":4595},{"style":182},[4596],{"type":58,"value":235},{"type":49,"tag":158,"props":4598,"children":4599},{"style":182},[4600],{"type":58,"value":527},{"type":49,"tag":158,"props":4602,"children":4603},{"style":182},[4604],{"type":58,"value":4047},{"type":49,"tag":158,"props":4606,"children":4607},{"style":182},[4608],{"type":58,"value":1193},{"type":49,"tag":158,"props":4610,"children":4611},{"style":823},[4612],{"type":58,"value":3962},{"type":49,"tag":158,"props":4614,"children":4615},{"style":182},[4616],{"type":58,"value":235},{"type":49,"tag":158,"props":4618,"children":4619},{"style":182},[4620],{"type":58,"value":527},{"type":49,"tag":158,"props":4622,"children":4623},{"style":182},[4624],{"type":58,"value":1193},{"type":49,"tag":158,"props":4626,"children":4627},{"style":171},[4628],{"type":58,"value":4072},{"type":49,"tag":158,"props":4630,"children":4631},{"style":182},[4632],{"type":58,"value":235},{"type":49,"tag":158,"props":4634,"children":4635},{"style":182},[4636],{"type":58,"value":3427},{"type":49,"tag":158,"props":4638,"children":4639},{"style":182},[4640],{"type":58,"value":1193},{"type":49,"tag":158,"props":4642,"children":4643},{"style":823},[4644],{"type":58,"value":4089},{"type":49,"tag":158,"props":4646,"children":4647},{"style":182},[4648],{"type":58,"value":235},{"type":49,"tag":158,"props":4650,"children":4651},{"style":182},[4652],{"type":58,"value":527},{"type":49,"tag":158,"props":4654,"children":4655},{"style":182},[4656],{"type":58,"value":3448},{"type":49,"tag":158,"props":4658,"children":4659},{"style":182},[4660],{"type":58,"value":1193},{"type":49,"tag":158,"props":4662,"children":4663},{"style":712},[4664],{"type":58,"value":4110},{"type":49,"tag":158,"props":4666,"children":4667},{"style":182},[4668],{"type":58,"value":235},{"type":49,"tag":158,"props":4670,"children":4671},{"style":182},[4672],{"type":58,"value":527},{"type":49,"tag":158,"props":4674,"children":4675},{"style":182},[4676],{"type":58,"value":1193},{"type":49,"tag":158,"props":4678,"children":4679},{"style":171},[4680],{"type":58,"value":4681},"Site Name",{"type":49,"tag":158,"props":4683,"children":4684},{"style":182},[4685],{"type":58,"value":235},{"type":49,"tag":158,"props":4687,"children":4688},{"style":182},[4689],{"type":58,"value":3427},{"type":49,"tag":158,"props":4691,"children":4692},{"style":182},[4693],{"type":58,"value":1193},{"type":49,"tag":158,"props":4695,"children":4696},{"style":712},[4697],{"type":58,"value":4144},{"type":49,"tag":158,"props":4699,"children":4700},{"style":182},[4701],{"type":58,"value":235},{"type":49,"tag":158,"props":4703,"children":4704},{"style":182},[4705],{"type":58,"value":527},{"type":49,"tag":158,"props":4707,"children":4708},{"style":823},[4709],{"type":58,"value":4157},{"type":49,"tag":158,"props":4711,"children":4712},{"style":182},[4713],{"type":58,"value":3458},{"type":49,"tag":158,"props":4715,"children":4716},{"style":182},[4717],{"type":58,"value":3573},{"type":49,"tag":158,"props":4719,"children":4721},{"class":160,"line":4720},17,[4722,4726,4731,4735,4739,4744],{"type":49,"tag":158,"props":4723,"children":4724},{"style":182},[4725],{"type":58,"value":4515},{"type":49,"tag":158,"props":4727,"children":4728},{"style":206},[4729],{"type":58,"value":4730},"MaxLength",{"type":49,"tag":158,"props":4732,"children":4733},{"style":182},[4734],{"type":58,"value":235},{"type":49,"tag":158,"props":4736,"children":4737},{"style":182},[4738],{"type":58,"value":527},{"type":49,"tag":158,"props":4740,"children":4741},{"style":823},[4742],{"type":58,"value":4743}," 200",{"type":49,"tag":158,"props":4745,"children":4746},{"style":182},[4747],{"type":58,"value":3531},{"type":49,"tag":158,"props":4749,"children":4751},{"class":160,"line":4750},18,[4752,4756,4761,4765,4769,4773,4777,4782,4786,4790,4794,4799,4803],{"type":49,"tag":158,"props":4753,"children":4754},{"style":182},[4755],{"type":58,"value":4515},{"type":49,"tag":158,"props":4757,"children":4758},{"style":206},[4759],{"type":58,"value":4760},"FormatName",{"type":49,"tag":158,"props":4762,"children":4763},{"style":182},[4764],{"type":58,"value":235},{"type":49,"tag":158,"props":4766,"children":4767},{"style":182},[4768],{"type":58,"value":527},{"type":49,"tag":158,"props":4770,"children":4771},{"style":182},[4772],{"type":58,"value":4047},{"type":49,"tag":158,"props":4774,"children":4775},{"style":182},[4776],{"type":58,"value":1193},{"type":49,"tag":158,"props":4778,"children":4779},{"style":823},[4780],{"type":58,"value":4781},"Value",{"type":49,"tag":158,"props":4783,"children":4784},{"style":182},[4785],{"type":58,"value":235},{"type":49,"tag":158,"props":4787,"children":4788},{"style":182},[4789],{"type":58,"value":527},{"type":49,"tag":158,"props":4791,"children":4792},{"style":182},[4793],{"type":58,"value":1193},{"type":49,"tag":158,"props":4795,"children":4796},{"style":171},[4797],{"type":58,"value":4798},"Text",{"type":49,"tag":158,"props":4800,"children":4801},{"style":182},[4802],{"type":58,"value":235},{"type":49,"tag":158,"props":4804,"children":4805},{"style":182},[4806],{"type":58,"value":3573},{"type":49,"tag":158,"props":4808,"children":4810},{"class":160,"line":4809},19,[4811,4815,4820,4824,4828,4832,4836,4840,4844,4848,4852,4857,4861],{"type":49,"tag":158,"props":4812,"children":4813},{"style":182},[4814],{"type":58,"value":4515},{"type":49,"tag":158,"props":4816,"children":4817},{"style":206},[4818],{"type":58,"value":4819},"RequiredLevel",{"type":49,"tag":158,"props":4821,"children":4822},{"style":182},[4823],{"type":58,"value":235},{"type":49,"tag":158,"props":4825,"children":4826},{"style":182},[4827],{"type":58,"value":527},{"type":49,"tag":158,"props":4829,"children":4830},{"style":182},[4831],{"type":58,"value":4047},{"type":49,"tag":158,"props":4833,"children":4834},{"style":182},[4835],{"type":58,"value":1193},{"type":49,"tag":158,"props":4837,"children":4838},{"style":823},[4839],{"type":58,"value":4781},{"type":49,"tag":158,"props":4841,"children":4842},{"style":182},[4843],{"type":58,"value":235},{"type":49,"tag":158,"props":4845,"children":4846},{"style":182},[4847],{"type":58,"value":527},{"type":49,"tag":158,"props":4849,"children":4850},{"style":182},[4851],{"type":58,"value":1193},{"type":49,"tag":158,"props":4853,"children":4854},{"style":171},[4855],{"type":58,"value":4856},"ApplicationRequired",{"type":49,"tag":158,"props":4858,"children":4859},{"style":182},[4860],{"type":58,"value":235},{"type":49,"tag":158,"props":4862,"children":4863},{"style":182},[4864],{"type":58,"value":3573},{"type":49,"tag":158,"props":4866,"children":4868},{"class":160,"line":4867},20,[4869,4873,4878,4882,4886],{"type":49,"tag":158,"props":4870,"children":4871},{"style":182},[4872],{"type":58,"value":4515},{"type":49,"tag":158,"props":4874,"children":4875},{"style":206},[4876],{"type":58,"value":4877},"IsPrimaryName",{"type":49,"tag":158,"props":4879,"children":4880},{"style":182},[4881],{"type":58,"value":235},{"type":49,"tag":158,"props":4883,"children":4884},{"style":182},[4885],{"type":58,"value":527},{"type":49,"tag":158,"props":4887,"children":4888},{"style":182},[4889],{"type":58,"value":4890}," true\n",{"type":49,"tag":158,"props":4892,"children":4894},{"class":160,"line":4893},21,[4895],{"type":49,"tag":158,"props":4896,"children":4897},{"style":182},[4898],{"type":58,"value":4899},"    },\n",{"type":49,"tag":158,"props":4901,"children":4903},{"class":160,"line":4902},22,[4904],{"type":49,"tag":158,"props":4905,"children":4906},{"style":182},[4907],{"type":58,"value":4506},{"type":49,"tag":158,"props":4909,"children":4911},{"class":160,"line":4910},23,[4912,4916,4920,4924,4928,4932,4936,4940],{"type":49,"tag":158,"props":4913,"children":4914},{"style":182},[4915],{"type":58,"value":4515},{"type":49,"tag":158,"props":4917,"children":4918},{"style":206},[4919],{"type":58,"value":3962},{"type":49,"tag":158,"props":4921,"children":4922},{"style":182},[4923],{"type":58,"value":235},{"type":49,"tag":158,"props":4925,"children":4926},{"style":182},[4927],{"type":58,"value":527},{"type":49,"tag":158,"props":4929,"children":4930},{"style":182},[4931],{"type":58,"value":1193},{"type":49,"tag":158,"props":4933,"children":4934},{"style":171},[4935],{"type":58,"value":4536},{"type":49,"tag":158,"props":4937,"children":4938},{"style":182},[4939],{"type":58,"value":235},{"type":49,"tag":158,"props":4941,"children":4942},{"style":182},[4943],{"type":58,"value":3531},{"type":49,"tag":158,"props":4945,"children":4947},{"class":160,"line":4946},24,[4948,4952,4956,4960,4964,4968,4973,4977],{"type":49,"tag":158,"props":4949,"children":4950},{"style":182},[4951],{"type":58,"value":4515},{"type":49,"tag":158,"props":4953,"children":4954},{"style":206},[4955],{"type":58,"value":3402},{"type":49,"tag":158,"props":4957,"children":4958},{"style":182},[4959],{"type":58,"value":235},{"type":49,"tag":158,"props":4961,"children":4962},{"style":182},[4963],{"type":58,"value":527},{"type":49,"tag":158,"props":4965,"children":4966},{"style":182},[4967],{"type":58,"value":1193},{"type":49,"tag":158,"props":4969,"children":4970},{"style":171},[4971],{"type":58,"value":4972},"cr123_address",{"type":49,"tag":158,"props":4974,"children":4975},{"style":182},[4976],{"type":58,"value":235},{"type":49,"tag":158,"props":4978,"children":4979},{"style":182},[4980],{"type":58,"value":3531},{"type":49,"tag":158,"props":4982,"children":4984},{"class":160,"line":4983},25,[4985,4989,4993,4997,5001,5005,5009,5013,5017,5021,5025,5029,5033,5037,5041,5045,5049,5053,5057,5061,5065,5069,5073,5077,5082,5086,5090,5094,5098,5102,5106,5110,5114],{"type":49,"tag":158,"props":4986,"children":4987},{"style":182},[4988],{"type":58,"value":4515},{"type":49,"tag":158,"props":4990,"children":4991},{"style":206},[4992],{"type":58,"value":4034},{"type":49,"tag":158,"props":4994,"children":4995},{"style":182},[4996],{"type":58,"value":235},{"type":49,"tag":158,"props":4998,"children":4999},{"style":182},[5000],{"type":58,"value":527},{"type":49,"tag":158,"props":5002,"children":5003},{"style":182},[5004],{"type":58,"value":4047},{"type":49,"tag":158,"props":5006,"children":5007},{"style":182},[5008],{"type":58,"value":1193},{"type":49,"tag":158,"props":5010,"children":5011},{"style":823},[5012],{"type":58,"value":3962},{"type":49,"tag":158,"props":5014,"children":5015},{"style":182},[5016],{"type":58,"value":235},{"type":49,"tag":158,"props":5018,"children":5019},{"style":182},[5020],{"type":58,"value":527},{"type":49,"tag":158,"props":5022,"children":5023},{"style":182},[5024],{"type":58,"value":1193},{"type":49,"tag":158,"props":5026,"children":5027},{"style":171},[5028],{"type":58,"value":4072},{"type":49,"tag":158,"props":5030,"children":5031},{"style":182},[5032],{"type":58,"value":235},{"type":49,"tag":158,"props":5034,"children":5035},{"style":182},[5036],{"type":58,"value":3427},{"type":49,"tag":158,"props":5038,"children":5039},{"style":182},[5040],{"type":58,"value":1193},{"type":49,"tag":158,"props":5042,"children":5043},{"style":823},[5044],{"type":58,"value":4089},{"type":49,"tag":158,"props":5046,"children":5047},{"style":182},[5048],{"type":58,"value":235},{"type":49,"tag":158,"props":5050,"children":5051},{"style":182},[5052],{"type":58,"value":527},{"type":49,"tag":158,"props":5054,"children":5055},{"style":182},[5056],{"type":58,"value":3448},{"type":49,"tag":158,"props":5058,"children":5059},{"style":182},[5060],{"type":58,"value":1193},{"type":49,"tag":158,"props":5062,"children":5063},{"style":712},[5064],{"type":58,"value":4110},{"type":49,"tag":158,"props":5066,"children":5067},{"style":182},[5068],{"type":58,"value":235},{"type":49,"tag":158,"props":5070,"children":5071},{"style":182},[5072],{"type":58,"value":527},{"type":49,"tag":158,"props":5074,"children":5075},{"style":182},[5076],{"type":58,"value":1193},{"type":49,"tag":158,"props":5078,"children":5079},{"style":171},[5080],{"type":58,"value":5081},"Address",{"type":49,"tag":158,"props":5083,"children":5084},{"style":182},[5085],{"type":58,"value":235},{"type":49,"tag":158,"props":5087,"children":5088},{"style":182},[5089],{"type":58,"value":3427},{"type":49,"tag":158,"props":5091,"children":5092},{"style":182},[5093],{"type":58,"value":1193},{"type":49,"tag":158,"props":5095,"children":5096},{"style":712},[5097],{"type":58,"value":4144},{"type":49,"tag":158,"props":5099,"children":5100},{"style":182},[5101],{"type":58,"value":235},{"type":49,"tag":158,"props":5103,"children":5104},{"style":182},[5105],{"type":58,"value":527},{"type":49,"tag":158,"props":5107,"children":5108},{"style":823},[5109],{"type":58,"value":4157},{"type":49,"tag":158,"props":5111,"children":5112},{"style":182},[5113],{"type":58,"value":3458},{"type":49,"tag":158,"props":5115,"children":5116},{"style":182},[5117],{"type":58,"value":3573},{"type":49,"tag":158,"props":5119,"children":5121},{"class":160,"line":5120},26,[5122,5126,5130,5134,5138,5143],{"type":49,"tag":158,"props":5123,"children":5124},{"style":182},[5125],{"type":58,"value":4515},{"type":49,"tag":158,"props":5127,"children":5128},{"style":206},[5129],{"type":58,"value":4730},{"type":49,"tag":158,"props":5131,"children":5132},{"style":182},[5133],{"type":58,"value":235},{"type":49,"tag":158,"props":5135,"children":5136},{"style":182},[5137],{"type":58,"value":527},{"type":49,"tag":158,"props":5139,"children":5140},{"style":823},[5141],{"type":58,"value":5142}," 500",{"type":49,"tag":158,"props":5144,"children":5145},{"style":182},[5146],{"type":58,"value":3531},{"type":49,"tag":158,"props":5148,"children":5150},{"class":160,"line":5149},27,[5151,5155,5159,5163,5167,5171,5175,5179,5183,5187,5191,5195,5199],{"type":49,"tag":158,"props":5152,"children":5153},{"style":182},[5154],{"type":58,"value":4515},{"type":49,"tag":158,"props":5156,"children":5157},{"style":206},[5158],{"type":58,"value":4760},{"type":49,"tag":158,"props":5160,"children":5161},{"style":182},[5162],{"type":58,"value":235},{"type":49,"tag":158,"props":5164,"children":5165},{"style":182},[5166],{"type":58,"value":527},{"type":49,"tag":158,"props":5168,"children":5169},{"style":182},[5170],{"type":58,"value":4047},{"type":49,"tag":158,"props":5172,"children":5173},{"style":182},[5174],{"type":58,"value":1193},{"type":49,"tag":158,"props":5176,"children":5177},{"style":823},[5178],{"type":58,"value":4781},{"type":49,"tag":158,"props":5180,"children":5181},{"style":182},[5182],{"type":58,"value":235},{"type":49,"tag":158,"props":5184,"children":5185},{"style":182},[5186],{"type":58,"value":527},{"type":49,"tag":158,"props":5188,"children":5189},{"style":182},[5190],{"type":58,"value":1193},{"type":49,"tag":158,"props":5192,"children":5193},{"style":171},[5194],{"type":58,"value":4798},{"type":49,"tag":158,"props":5196,"children":5197},{"style":182},[5198],{"type":58,"value":235},{"type":49,"tag":158,"props":5200,"children":5201},{"style":182},[5202],{"type":58,"value":3573},{"type":49,"tag":158,"props":5204,"children":5206},{"class":160,"line":5205},28,[5207,5211,5215,5219,5223,5227,5231,5235,5239,5243,5247,5252,5256],{"type":49,"tag":158,"props":5208,"children":5209},{"style":182},[5210],{"type":58,"value":4515},{"type":49,"tag":158,"props":5212,"children":5213},{"style":206},[5214],{"type":58,"value":4819},{"type":49,"tag":158,"props":5216,"children":5217},{"style":182},[5218],{"type":58,"value":235},{"type":49,"tag":158,"props":5220,"children":5221},{"style":182},[5222],{"type":58,"value":527},{"type":49,"tag":158,"props":5224,"children":5225},{"style":182},[5226],{"type":58,"value":4047},{"type":49,"tag":158,"props":5228,"children":5229},{"style":182},[5230],{"type":58,"value":1193},{"type":49,"tag":158,"props":5232,"children":5233},{"style":823},[5234],{"type":58,"value":4781},{"type":49,"tag":158,"props":5236,"children":5237},{"style":182},[5238],{"type":58,"value":235},{"type":49,"tag":158,"props":5240,"children":5241},{"style":182},[5242],{"type":58,"value":527},{"type":49,"tag":158,"props":5244,"children":5245},{"style":182},[5246],{"type":58,"value":1193},{"type":49,"tag":158,"props":5248,"children":5249},{"style":171},[5250],{"type":58,"value":5251},"None",{"type":49,"tag":158,"props":5253,"children":5254},{"style":182},[5255],{"type":58,"value":235},{"type":49,"tag":158,"props":5257,"children":5258},{"style":182},[5259],{"type":58,"value":2938},{"type":49,"tag":158,"props":5261,"children":5263},{"class":160,"line":5262},29,[5264],{"type":49,"tag":158,"props":5265,"children":5266},{"style":182},[5267],{"type":58,"value":4899},{"type":49,"tag":158,"props":5269,"children":5271},{"class":160,"line":5270},30,[5272],{"type":49,"tag":158,"props":5273,"children":5274},{"style":182},[5275],{"type":58,"value":4506},{"type":49,"tag":158,"props":5277,"children":5279},{"class":160,"line":5278},31,[5280,5284,5288,5292,5296,5300,5305,5309],{"type":49,"tag":158,"props":5281,"children":5282},{"style":182},[5283],{"type":58,"value":4515},{"type":49,"tag":158,"props":5285,"children":5286},{"style":206},[5287],{"type":58,"value":3962},{"type":49,"tag":158,"props":5289,"children":5290},{"style":182},[5291],{"type":58,"value":235},{"type":49,"tag":158,"props":5293,"children":5294},{"style":182},[5295],{"type":58,"value":527},{"type":49,"tag":158,"props":5297,"children":5298},{"style":182},[5299],{"type":58,"value":1193},{"type":49,"tag":158,"props":5301,"children":5302},{"style":171},[5303],{"type":58,"value":5304},"Microsoft.Dynamics.CRM.IntegerAttributeMetadata",{"type":49,"tag":158,"props":5306,"children":5307},{"style":182},[5308],{"type":58,"value":235},{"type":49,"tag":158,"props":5310,"children":5311},{"style":182},[5312],{"type":58,"value":3531},{"type":49,"tag":158,"props":5314,"children":5316},{"class":160,"line":5315},32,[5317,5321,5325,5329,5333,5337,5342,5346],{"type":49,"tag":158,"props":5318,"children":5319},{"style":182},[5320],{"type":58,"value":4515},{"type":49,"tag":158,"props":5322,"children":5323},{"style":206},[5324],{"type":58,"value":3402},{"type":49,"tag":158,"props":5326,"children":5327},{"style":182},[5328],{"type":58,"value":235},{"type":49,"tag":158,"props":5330,"children":5331},{"style":182},[5332],{"type":58,"value":527},{"type":49,"tag":158,"props":5334,"children":5335},{"style":182},[5336],{"type":58,"value":1193},{"type":49,"tag":158,"props":5338,"children":5339},{"style":171},[5340],{"type":58,"value":5341},"cr123_squarefeet",{"type":49,"tag":158,"props":5343,"children":5344},{"style":182},[5345],{"type":58,"value":235},{"type":49,"tag":158,"props":5347,"children":5348},{"style":182},[5349],{"type":58,"value":3531},{"type":49,"tag":158,"props":5351,"children":5353},{"class":160,"line":5352},33,[5354,5358,5362,5366,5370,5374,5378,5382,5386,5390,5394,5398,5402,5406,5410,5414,5418,5422,5426,5430,5434,5438,5442,5446,5451,5455,5459,5463,5467,5471,5475,5479,5483],{"type":49,"tag":158,"props":5355,"children":5356},{"style":182},[5357],{"type":58,"value":4515},{"type":49,"tag":158,"props":5359,"children":5360},{"style":206},[5361],{"type":58,"value":4034},{"type":49,"tag":158,"props":5363,"children":5364},{"style":182},[5365],{"type":58,"value":235},{"type":49,"tag":158,"props":5367,"children":5368},{"style":182},[5369],{"type":58,"value":527},{"type":49,"tag":158,"props":5371,"children":5372},{"style":182},[5373],{"type":58,"value":4047},{"type":49,"tag":158,"props":5375,"children":5376},{"style":182},[5377],{"type":58,"value":1193},{"type":49,"tag":158,"props":5379,"children":5380},{"style":823},[5381],{"type":58,"value":3962},{"type":49,"tag":158,"props":5383,"children":5384},{"style":182},[5385],{"type":58,"value":235},{"type":49,"tag":158,"props":5387,"children":5388},{"style":182},[5389],{"type":58,"value":527},{"type":49,"tag":158,"props":5391,"children":5392},{"style":182},[5393],{"type":58,"value":1193},{"type":49,"tag":158,"props":5395,"children":5396},{"style":171},[5397],{"type":58,"value":4072},{"type":49,"tag":158,"props":5399,"children":5400},{"style":182},[5401],{"type":58,"value":235},{"type":49,"tag":158,"props":5403,"children":5404},{"style":182},[5405],{"type":58,"value":3427},{"type":49,"tag":158,"props":5407,"children":5408},{"style":182},[5409],{"type":58,"value":1193},{"type":49,"tag":158,"props":5411,"children":5412},{"style":823},[5413],{"type":58,"value":4089},{"type":49,"tag":158,"props":5415,"children":5416},{"style":182},[5417],{"type":58,"value":235},{"type":49,"tag":158,"props":5419,"children":5420},{"style":182},[5421],{"type":58,"value":527},{"type":49,"tag":158,"props":5423,"children":5424},{"style":182},[5425],{"type":58,"value":3448},{"type":49,"tag":158,"props":5427,"children":5428},{"style":182},[5429],{"type":58,"value":1193},{"type":49,"tag":158,"props":5431,"children":5432},{"style":712},[5433],{"type":58,"value":4110},{"type":49,"tag":158,"props":5435,"children":5436},{"style":182},[5437],{"type":58,"value":235},{"type":49,"tag":158,"props":5439,"children":5440},{"style":182},[5441],{"type":58,"value":527},{"type":49,"tag":158,"props":5443,"children":5444},{"style":182},[5445],{"type":58,"value":1193},{"type":49,"tag":158,"props":5447,"children":5448},{"style":171},[5449],{"type":58,"value":5450},"Square Feet",{"type":49,"tag":158,"props":5452,"children":5453},{"style":182},[5454],{"type":58,"value":235},{"type":49,"tag":158,"props":5456,"children":5457},{"style":182},[5458],{"type":58,"value":3427},{"type":49,"tag":158,"props":5460,"children":5461},{"style":182},[5462],{"type":58,"value":1193},{"type":49,"tag":158,"props":5464,"children":5465},{"style":712},[5466],{"type":58,"value":4144},{"type":49,"tag":158,"props":5468,"children":5469},{"style":182},[5470],{"type":58,"value":235},{"type":49,"tag":158,"props":5472,"children":5473},{"style":182},[5474],{"type":58,"value":527},{"type":49,"tag":158,"props":5476,"children":5477},{"style":823},[5478],{"type":58,"value":4157},{"type":49,"tag":158,"props":5480,"children":5481},{"style":182},[5482],{"type":58,"value":3458},{"type":49,"tag":158,"props":5484,"children":5485},{"style":182},[5486],{"type":58,"value":3573},{"type":49,"tag":158,"props":5488,"children":5490},{"class":160,"line":5489},34,[5491,5495,5499,5503,5507,5511,5515,5519,5523,5527,5531,5535,5539],{"type":49,"tag":158,"props":5492,"children":5493},{"style":182},[5494],{"type":58,"value":4515},{"type":49,"tag":158,"props":5496,"children":5497},{"style":206},[5498],{"type":58,"value":4819},{"type":49,"tag":158,"props":5500,"children":5501},{"style":182},[5502],{"type":58,"value":235},{"type":49,"tag":158,"props":5504,"children":5505},{"style":182},[5506],{"type":58,"value":527},{"type":49,"tag":158,"props":5508,"children":5509},{"style":182},[5510],{"type":58,"value":4047},{"type":49,"tag":158,"props":5512,"children":5513},{"style":182},[5514],{"type":58,"value":1193},{"type":49,"tag":158,"props":5516,"children":5517},{"style":823},[5518],{"type":58,"value":4781},{"type":49,"tag":158,"props":5520,"children":5521},{"style":182},[5522],{"type":58,"value":235},{"type":49,"tag":158,"props":5524,"children":5525},{"style":182},[5526],{"type":58,"value":527},{"type":49,"tag":158,"props":5528,"children":5529},{"style":182},[5530],{"type":58,"value":1193},{"type":49,"tag":158,"props":5532,"children":5533},{"style":171},[5534],{"type":58,"value":5251},{"type":49,"tag":158,"props":5536,"children":5537},{"style":182},[5538],{"type":58,"value":235},{"type":49,"tag":158,"props":5540,"children":5541},{"style":182},[5542],{"type":58,"value":3573},{"type":49,"tag":158,"props":5544,"children":5546},{"class":160,"line":5545},35,[5547,5551,5556,5560,5564,5569],{"type":49,"tag":158,"props":5548,"children":5549},{"style":182},[5550],{"type":58,"value":4515},{"type":49,"tag":158,"props":5552,"children":5553},{"style":206},[5554],{"type":58,"value":5555},"MinValue",{"type":49,"tag":158,"props":5557,"children":5558},{"style":182},[5559],{"type":58,"value":235},{"type":49,"tag":158,"props":5561,"children":5562},{"style":182},[5563],{"type":58,"value":527},{"type":49,"tag":158,"props":5565,"children":5566},{"style":823},[5567],{"type":58,"value":5568}," 0",{"type":49,"tag":158,"props":5570,"children":5571},{"style":182},[5572],{"type":58,"value":3531},{"type":49,"tag":158,"props":5574,"children":5576},{"class":160,"line":5575},36,[5577,5581,5586,5590,5594,5599],{"type":49,"tag":158,"props":5578,"children":5579},{"style":182},[5580],{"type":58,"value":4515},{"type":49,"tag":158,"props":5582,"children":5583},{"style":206},[5584],{"type":58,"value":5585},"MaxValue",{"type":49,"tag":158,"props":5587,"children":5588},{"style":182},[5589],{"type":58,"value":235},{"type":49,"tag":158,"props":5591,"children":5592},{"style":182},[5593],{"type":58,"value":527},{"type":49,"tag":158,"props":5595,"children":5596},{"style":823},[5597],{"type":58,"value":5598}," 2147483647",{"type":49,"tag":158,"props":5600,"children":5601},{"style":182},[5602],{"type":58,"value":3531},{"type":49,"tag":158,"props":5604,"children":5606},{"class":160,"line":5605},37,[5607,5611,5615,5619,5623,5627,5631],{"type":49,"tag":158,"props":5608,"children":5609},{"style":182},[5610],{"type":58,"value":4515},{"type":49,"tag":158,"props":5612,"children":5613},{"style":206},[5614],{"type":58,"value":576},{"type":49,"tag":158,"props":5616,"children":5617},{"style":182},[5618],{"type":58,"value":235},{"type":49,"tag":158,"props":5620,"children":5621},{"style":182},[5622],{"type":58,"value":527},{"type":49,"tag":158,"props":5624,"children":5625},{"style":182},[5626],{"type":58,"value":1193},{"type":49,"tag":158,"props":5628,"children":5629},{"style":171},[5630],{"type":58,"value":5251},{"type":49,"tag":158,"props":5632,"children":5633},{"style":182},[5634],{"type":58,"value":296},{"type":49,"tag":158,"props":5636,"children":5638},{"class":160,"line":5637},38,[5639],{"type":49,"tag":158,"props":5640,"children":5641},{"style":182},[5642],{"type":58,"value":4899},{"type":49,"tag":158,"props":5644,"children":5646},{"class":160,"line":5645},39,[5647],{"type":49,"tag":158,"props":5648,"children":5649},{"style":182},[5650],{"type":58,"value":4506},{"type":49,"tag":158,"props":5652,"children":5654},{"class":160,"line":5653},40,[5655,5659,5663,5667,5671,5675,5680,5684],{"type":49,"tag":158,"props":5656,"children":5657},{"style":182},[5658],{"type":58,"value":4515},{"type":49,"tag":158,"props":5660,"children":5661},{"style":206},[5662],{"type":58,"value":3962},{"type":49,"tag":158,"props":5664,"children":5665},{"style":182},[5666],{"type":58,"value":235},{"type":49,"tag":158,"props":5668,"children":5669},{"style":182},[5670],{"type":58,"value":527},{"type":49,"tag":158,"props":5672,"children":5673},{"style":182},[5674],{"type":58,"value":1193},{"type":49,"tag":158,"props":5676,"children":5677},{"style":171},[5678],{"type":58,"value":5679},"Microsoft.Dynamics.CRM.BooleanAttributeMetadata",{"type":49,"tag":158,"props":5681,"children":5682},{"style":182},[5683],{"type":58,"value":235},{"type":49,"tag":158,"props":5685,"children":5686},{"style":182},[5687],{"type":58,"value":3531},{"type":49,"tag":158,"props":5689,"children":5691},{"class":160,"line":5690},41,[5692,5696,5700,5704,5708,5712,5717,5721],{"type":49,"tag":158,"props":5693,"children":5694},{"style":182},[5695],{"type":58,"value":4515},{"type":49,"tag":158,"props":5697,"children":5698},{"style":206},[5699],{"type":58,"value":3402},{"type":49,"tag":158,"props":5701,"children":5702},{"style":182},[5703],{"type":58,"value":235},{"type":49,"tag":158,"props":5705,"children":5706},{"style":182},[5707],{"type":58,"value":527},{"type":49,"tag":158,"props":5709,"children":5710},{"style":182},[5711],{"type":58,"value":1193},{"type":49,"tag":158,"props":5713,"children":5714},{"style":171},[5715],{"type":58,"value":5716},"cr123_active",{"type":49,"tag":158,"props":5718,"children":5719},{"style":182},[5720],{"type":58,"value":235},{"type":49,"tag":158,"props":5722,"children":5723},{"style":182},[5724],{"type":58,"value":3531},{"type":49,"tag":158,"props":5726,"children":5728},{"class":160,"line":5727},42,[5729,5733,5737,5741,5745,5749,5753,5757,5761,5765,5769,5773,5777,5781,5785,5789,5793,5797,5801,5805,5809,5813,5817,5821,5826,5830,5834,5838,5842,5846,5850,5854,5858],{"type":49,"tag":158,"props":5730,"children":5731},{"style":182},[5732],{"type":58,"value":4515},{"type":49,"tag":158,"props":5734,"children":5735},{"style":206},[5736],{"type":58,"value":4034},{"type":49,"tag":158,"props":5738,"children":5739},{"style":182},[5740],{"type":58,"value":235},{"type":49,"tag":158,"props":5742,"children":5743},{"style":182},[5744],{"type":58,"value":527},{"type":49,"tag":158,"props":5746,"children":5747},{"style":182},[5748],{"type":58,"value":4047},{"type":49,"tag":158,"props":5750,"children":5751},{"style":182},[5752],{"type":58,"value":1193},{"type":49,"tag":158,"props":5754,"children":5755},{"style":823},[5756],{"type":58,"value":3962},{"type":49,"tag":158,"props":5758,"children":5759},{"style":182},[5760],{"type":58,"value":235},{"type":49,"tag":158,"props":5762,"children":5763},{"style":182},[5764],{"type":58,"value":527},{"type":49,"tag":158,"props":5766,"children":5767},{"style":182},[5768],{"type":58,"value":1193},{"type":49,"tag":158,"props":5770,"children":5771},{"style":171},[5772],{"type":58,"value":4072},{"type":49,"tag":158,"props":5774,"children":5775},{"style":182},[5776],{"type":58,"value":235},{"type":49,"tag":158,"props":5778,"children":5779},{"style":182},[5780],{"type":58,"value":3427},{"type":49,"tag":158,"props":5782,"children":5783},{"style":182},[5784],{"type":58,"value":1193},{"type":49,"tag":158,"props":5786,"children":5787},{"style":823},[5788],{"type":58,"value":4089},{"type":49,"tag":158,"props":5790,"children":5791},{"style":182},[5792],{"type":58,"value":235},{"type":49,"tag":158,"props":5794,"children":5795},{"style":182},[5796],{"type":58,"value":527},{"type":49,"tag":158,"props":5798,"children":5799},{"style":182},[5800],{"type":58,"value":3448},{"type":49,"tag":158,"props":5802,"children":5803},{"style":182},[5804],{"type":58,"value":1193},{"type":49,"tag":158,"props":5806,"children":5807},{"style":712},[5808],{"type":58,"value":4110},{"type":49,"tag":158,"props":5810,"children":5811},{"style":182},[5812],{"type":58,"value":235},{"type":49,"tag":158,"props":5814,"children":5815},{"style":182},[5816],{"type":58,"value":527},{"type":49,"tag":158,"props":5818,"children":5819},{"style":182},[5820],{"type":58,"value":1193},{"type":49,"tag":158,"props":5822,"children":5823},{"style":171},[5824],{"type":58,"value":5825},"Active",{"type":49,"tag":158,"props":5827,"children":5828},{"style":182},[5829],{"type":58,"value":235},{"type":49,"tag":158,"props":5831,"children":5832},{"style":182},[5833],{"type":58,"value":3427},{"type":49,"tag":158,"props":5835,"children":5836},{"style":182},[5837],{"type":58,"value":1193},{"type":49,"tag":158,"props":5839,"children":5840},{"style":712},[5841],{"type":58,"value":4144},{"type":49,"tag":158,"props":5843,"children":5844},{"style":182},[5845],{"type":58,"value":235},{"type":49,"tag":158,"props":5847,"children":5848},{"style":182},[5849],{"type":58,"value":527},{"type":49,"tag":158,"props":5851,"children":5852},{"style":823},[5853],{"type":58,"value":4157},{"type":49,"tag":158,"props":5855,"children":5856},{"style":182},[5857],{"type":58,"value":3458},{"type":49,"tag":158,"props":5859,"children":5860},{"style":182},[5861],{"type":58,"value":3573},{"type":49,"tag":158,"props":5863,"children":5865},{"class":160,"line":5864},43,[5866,5870,5874,5878,5882,5886,5890,5894,5898,5902,5906,5910,5914],{"type":49,"tag":158,"props":5867,"children":5868},{"style":182},[5869],{"type":58,"value":4515},{"type":49,"tag":158,"props":5871,"children":5872},{"style":206},[5873],{"type":58,"value":4819},{"type":49,"tag":158,"props":5875,"children":5876},{"style":182},[5877],{"type":58,"value":235},{"type":49,"tag":158,"props":5879,"children":5880},{"style":182},[5881],{"type":58,"value":527},{"type":49,"tag":158,"props":5883,"children":5884},{"style":182},[5885],{"type":58,"value":4047},{"type":49,"tag":158,"props":5887,"children":5888},{"style":182},[5889],{"type":58,"value":1193},{"type":49,"tag":158,"props":5891,"children":5892},{"style":823},[5893],{"type":58,"value":4781},{"type":49,"tag":158,"props":5895,"children":5896},{"style":182},[5897],{"type":58,"value":235},{"type":49,"tag":158,"props":5899,"children":5900},{"style":182},[5901],{"type":58,"value":527},{"type":49,"tag":158,"props":5903,"children":5904},{"style":182},[5905],{"type":58,"value":1193},{"type":49,"tag":158,"props":5907,"children":5908},{"style":171},[5909],{"type":58,"value":5251},{"type":49,"tag":158,"props":5911,"children":5912},{"style":182},[5913],{"type":58,"value":235},{"type":49,"tag":158,"props":5915,"children":5916},{"style":182},[5917],{"type":58,"value":3573},{"type":49,"tag":158,"props":5919,"children":5921},{"class":160,"line":5920},44,[5922,5926,5931,5935,5939],{"type":49,"tag":158,"props":5923,"children":5924},{"style":182},[5925],{"type":58,"value":4515},{"type":49,"tag":158,"props":5927,"children":5928},{"style":206},[5929],{"type":58,"value":5930},"DefaultValue",{"type":49,"tag":158,"props":5932,"children":5933},{"style":182},[5934],{"type":58,"value":235},{"type":49,"tag":158,"props":5936,"children":5937},{"style":182},[5938],{"type":58,"value":527},{"type":49,"tag":158,"props":5940,"children":5941},{"style":182},[5942],{"type":58,"value":4412},{"type":49,"tag":158,"props":5944,"children":5946},{"class":160,"line":5945},45,[5947,5951,5956,5960,5964],{"type":49,"tag":158,"props":5948,"children":5949},{"style":182},[5950],{"type":58,"value":4515},{"type":49,"tag":158,"props":5952,"children":5953},{"style":206},[5954],{"type":58,"value":5955},"OptionSet",{"type":49,"tag":158,"props":5957,"children":5958},{"style":182},[5959],{"type":58,"value":235},{"type":49,"tag":158,"props":5961,"children":5962},{"style":182},[5963],{"type":58,"value":527},{"type":49,"tag":158,"props":5965,"children":5966},{"style":182},[5967],{"type":58,"value":5968}," {\n",{"type":49,"tag":158,"props":5970,"children":5972},{"class":160,"line":5971},46,[5973,5978,5982,5986,5990,5994,5999,6003],{"type":49,"tag":158,"props":5974,"children":5975},{"style":182},[5976],{"type":58,"value":5977},"        \"",{"type":49,"tag":158,"props":5979,"children":5980},{"style":823},[5981],{"type":58,"value":3962},{"type":49,"tag":158,"props":5983,"children":5984},{"style":182},[5985],{"type":58,"value":235},{"type":49,"tag":158,"props":5987,"children":5988},{"style":182},[5989],{"type":58,"value":527},{"type":49,"tag":158,"props":5991,"children":5992},{"style":182},[5993],{"type":58,"value":1193},{"type":49,"tag":158,"props":5995,"children":5996},{"style":171},[5997],{"type":58,"value":5998},"Microsoft.Dynamics.CRM.BooleanOptionSetMetadata",{"type":49,"tag":158,"props":6000,"children":6001},{"style":182},[6002],{"type":58,"value":235},{"type":49,"tag":158,"props":6004,"children":6005},{"style":182},[6006],{"type":58,"value":3531},{"type":49,"tag":158,"props":6008,"children":6010},{"class":160,"line":6009},47,[6011,6015,6020,6024,6028,6032,6036,6040,6044,6048,6053,6057,6061,6065,6069,6073,6077,6081,6086,6090,6094,6098,6102,6106,6110,6114,6118,6122,6126,6130,6134,6138,6142,6146,6150,6155,6159,6163,6167,6171,6175,6179,6183,6187,6192],{"type":49,"tag":158,"props":6012,"children":6013},{"style":182},[6014],{"type":58,"value":5977},{"type":49,"tag":158,"props":6016,"children":6017},{"style":823},[6018],{"type":58,"value":6019},"TrueOption",{"type":49,"tag":158,"props":6021,"children":6022},{"style":182},[6023],{"type":58,"value":235},{"type":49,"tag":158,"props":6025,"children":6026},{"style":182},[6027],{"type":58,"value":527},{"type":49,"tag":158,"props":6029,"children":6030},{"style":182},[6031],{"type":58,"value":4047},{"type":49,"tag":158,"props":6033,"children":6034},{"style":182},[6035],{"type":58,"value":1193},{"type":49,"tag":158,"props":6037,"children":6038},{"style":712},[6039],{"type":58,"value":4781},{"type":49,"tag":158,"props":6041,"children":6042},{"style":182},[6043],{"type":58,"value":235},{"type":49,"tag":158,"props":6045,"children":6046},{"style":182},[6047],{"type":58,"value":527},{"type":49,"tag":158,"props":6049,"children":6050},{"style":823},[6051],{"type":58,"value":6052}," 1",{"type":49,"tag":158,"props":6054,"children":6055},{"style":182},[6056],{"type":58,"value":3427},{"type":49,"tag":158,"props":6058,"children":6059},{"style":182},[6060],{"type":58,"value":1193},{"type":49,"tag":158,"props":6062,"children":6063},{"style":712},[6064],{"type":58,"value":4110},{"type":49,"tag":158,"props":6066,"children":6067},{"style":182},[6068],{"type":58,"value":235},{"type":49,"tag":158,"props":6070,"children":6071},{"style":182},[6072],{"type":58,"value":527},{"type":49,"tag":158,"props":6074,"children":6075},{"style":182},[6076],{"type":58,"value":4047},{"type":49,"tag":158,"props":6078,"children":6079},{"style":182},[6080],{"type":58,"value":1193},{"type":49,"tag":158,"props":6082,"children":6084},{"style":6083},"--shiki-light:#916B53;--shiki-default:#916B53;--shiki-dark:#916B53",[6085],{"type":58,"value":3962},{"type":49,"tag":158,"props":6087,"children":6088},{"style":182},[6089],{"type":58,"value":235},{"type":49,"tag":158,"props":6091,"children":6092},{"style":182},[6093],{"type":58,"value":527},{"type":49,"tag":158,"props":6095,"children":6096},{"style":182},[6097],{"type":58,"value":1193},{"type":49,"tag":158,"props":6099,"children":6100},{"style":171},[6101],{"type":58,"value":4072},{"type":49,"tag":158,"props":6103,"children":6104},{"style":182},[6105],{"type":58,"value":235},{"type":49,"tag":158,"props":6107,"children":6108},{"style":182},[6109],{"type":58,"value":3427},{"type":49,"tag":158,"props":6111,"children":6112},{"style":182},[6113],{"type":58,"value":1193},{"type":49,"tag":158,"props":6115,"children":6116},{"style":6083},[6117],{"type":58,"value":4089},{"type":49,"tag":158,"props":6119,"children":6120},{"style":182},[6121],{"type":58,"value":235},{"type":49,"tag":158,"props":6123,"children":6124},{"style":182},[6125],{"type":58,"value":527},{"type":49,"tag":158,"props":6127,"children":6128},{"style":182},[6129],{"type":58,"value":3448},{"type":49,"tag":158,"props":6131,"children":6132},{"style":182},[6133],{"type":58,"value":1193},{"type":49,"tag":158,"props":6135,"children":6136},{"style":165},[6137],{"type":58,"value":4110},{"type":49,"tag":158,"props":6139,"children":6140},{"style":182},[6141],{"type":58,"value":235},{"type":49,"tag":158,"props":6143,"children":6144},{"style":182},[6145],{"type":58,"value":527},{"type":49,"tag":158,"props":6147,"children":6148},{"style":182},[6149],{"type":58,"value":1193},{"type":49,"tag":158,"props":6151,"children":6152},{"style":171},[6153],{"type":58,"value":6154},"Yes",{"type":49,"tag":158,"props":6156,"children":6157},{"style":182},[6158],{"type":58,"value":235},{"type":49,"tag":158,"props":6160,"children":6161},{"style":182},[6162],{"type":58,"value":3427},{"type":49,"tag":158,"props":6164,"children":6165},{"style":182},[6166],{"type":58,"value":1193},{"type":49,"tag":158,"props":6168,"children":6169},{"style":165},[6170],{"type":58,"value":4144},{"type":49,"tag":158,"props":6172,"children":6173},{"style":182},[6174],{"type":58,"value":235},{"type":49,"tag":158,"props":6176,"children":6177},{"style":182},[6178],{"type":58,"value":527},{"type":49,"tag":158,"props":6180,"children":6181},{"style":823},[6182],{"type":58,"value":4157},{"type":49,"tag":158,"props":6184,"children":6185},{"style":182},[6186],{"type":58,"value":3458},{"type":49,"tag":158,"props":6188,"children":6189},{"style":182},[6190],{"type":58,"value":6191}," }",{"type":49,"tag":158,"props":6193,"children":6194},{"style":182},[6195],{"type":58,"value":3573},{"type":49,"tag":158,"props":6197,"children":6199},{"class":160,"line":6198},48,[6200,6204,6209,6213,6217,6221,6225,6229,6233,6237,6241,6245,6249,6253,6257,6261,6265,6269,6273,6277,6281,6285,6289,6293,6297,6301,6305,6309,6313,6317,6321,6325,6329,6333,6337,6342,6346,6350,6354,6358,6362,6366,6370,6374,6378],{"type":49,"tag":158,"props":6201,"children":6202},{"style":182},[6203],{"type":58,"value":5977},{"type":49,"tag":158,"props":6205,"children":6206},{"style":823},[6207],{"type":58,"value":6208},"FalseOption",{"type":49,"tag":158,"props":6210,"children":6211},{"style":182},[6212],{"type":58,"value":235},{"type":49,"tag":158,"props":6214,"children":6215},{"style":182},[6216],{"type":58,"value":527},{"type":49,"tag":158,"props":6218,"children":6219},{"style":182},[6220],{"type":58,"value":4047},{"type":49,"tag":158,"props":6222,"children":6223},{"style":182},[6224],{"type":58,"value":1193},{"type":49,"tag":158,"props":6226,"children":6227},{"style":712},[6228],{"type":58,"value":4781},{"type":49,"tag":158,"props":6230,"children":6231},{"style":182},[6232],{"type":58,"value":235},{"type":49,"tag":158,"props":6234,"children":6235},{"style":182},[6236],{"type":58,"value":527},{"type":49,"tag":158,"props":6238,"children":6239},{"style":823},[6240],{"type":58,"value":5568},{"type":49,"tag":158,"props":6242,"children":6243},{"style":182},[6244],{"type":58,"value":3427},{"type":49,"tag":158,"props":6246,"children":6247},{"style":182},[6248],{"type":58,"value":1193},{"type":49,"tag":158,"props":6250,"children":6251},{"style":712},[6252],{"type":58,"value":4110},{"type":49,"tag":158,"props":6254,"children":6255},{"style":182},[6256],{"type":58,"value":235},{"type":49,"tag":158,"props":6258,"children":6259},{"style":182},[6260],{"type":58,"value":527},{"type":49,"tag":158,"props":6262,"children":6263},{"style":182},[6264],{"type":58,"value":4047},{"type":49,"tag":158,"props":6266,"children":6267},{"style":182},[6268],{"type":58,"value":1193},{"type":49,"tag":158,"props":6270,"children":6271},{"style":6083},[6272],{"type":58,"value":3962},{"type":49,"tag":158,"props":6274,"children":6275},{"style":182},[6276],{"type":58,"value":235},{"type":49,"tag":158,"props":6278,"children":6279},{"style":182},[6280],{"type":58,"value":527},{"type":49,"tag":158,"props":6282,"children":6283},{"style":182},[6284],{"type":58,"value":1193},{"type":49,"tag":158,"props":6286,"children":6287},{"style":171},[6288],{"type":58,"value":4072},{"type":49,"tag":158,"props":6290,"children":6291},{"style":182},[6292],{"type":58,"value":235},{"type":49,"tag":158,"props":6294,"children":6295},{"style":182},[6296],{"type":58,"value":3427},{"type":49,"tag":158,"props":6298,"children":6299},{"style":182},[6300],{"type":58,"value":1193},{"type":49,"tag":158,"props":6302,"children":6303},{"style":6083},[6304],{"type":58,"value":4089},{"type":49,"tag":158,"props":6306,"children":6307},{"style":182},[6308],{"type":58,"value":235},{"type":49,"tag":158,"props":6310,"children":6311},{"style":182},[6312],{"type":58,"value":527},{"type":49,"tag":158,"props":6314,"children":6315},{"style":182},[6316],{"type":58,"value":3448},{"type":49,"tag":158,"props":6318,"children":6319},{"style":182},[6320],{"type":58,"value":1193},{"type":49,"tag":158,"props":6322,"children":6323},{"style":165},[6324],{"type":58,"value":4110},{"type":49,"tag":158,"props":6326,"children":6327},{"style":182},[6328],{"type":58,"value":235},{"type":49,"tag":158,"props":6330,"children":6331},{"style":182},[6332],{"type":58,"value":527},{"type":49,"tag":158,"props":6334,"children":6335},{"style":182},[6336],{"type":58,"value":1193},{"type":49,"tag":158,"props":6338,"children":6339},{"style":171},[6340],{"type":58,"value":6341},"No",{"type":49,"tag":158,"props":6343,"children":6344},{"style":182},[6345],{"type":58,"value":235},{"type":49,"tag":158,"props":6347,"children":6348},{"style":182},[6349],{"type":58,"value":3427},{"type":49,"tag":158,"props":6351,"children":6352},{"style":182},[6353],{"type":58,"value":1193},{"type":49,"tag":158,"props":6355,"children":6356},{"style":165},[6357],{"type":58,"value":4144},{"type":49,"tag":158,"props":6359,"children":6360},{"style":182},[6361],{"type":58,"value":235},{"type":49,"tag":158,"props":6363,"children":6364},{"style":182},[6365],{"type":58,"value":527},{"type":49,"tag":158,"props":6367,"children":6368},{"style":823},[6369],{"type":58,"value":4157},{"type":49,"tag":158,"props":6371,"children":6372},{"style":182},[6373],{"type":58,"value":3458},{"type":49,"tag":158,"props":6375,"children":6376},{"style":182},[6377],{"type":58,"value":6191},{"type":49,"tag":158,"props":6379,"children":6380},{"style":182},[6381],{"type":58,"value":2938},{"type":49,"tag":158,"props":6383,"children":6385},{"class":160,"line":6384},49,[6386],{"type":49,"tag":158,"props":6387,"children":6388},{"style":182},[6389],{"type":58,"value":6390},"      }\n",{"type":49,"tag":158,"props":6392,"children":6394},{"class":160,"line":6393},50,[6395],{"type":49,"tag":158,"props":6396,"children":6397},{"style":182},[6398],{"type":58,"value":6399},"    }\n",{"type":49,"tag":158,"props":6401,"children":6403},{"class":160,"line":6402},51,[6404],{"type":49,"tag":158,"props":6405,"children":6406},{"style":182},[6407],{"type":58,"value":3647},{"type":49,"tag":158,"props":6409,"children":6411},{"class":160,"line":6410},52,[6412],{"type":49,"tag":158,"props":6413,"children":6414},{"style":182},[6415],{"type":58,"value":3656},{"type":49,"tag":50,"props":6417,"children":6418},{},[6419,6420,6425],{"type":58,"value":3331},{"type":49,"tag":96,"props":6421,"children":6423},{"className":6422},[],[6424],{"type":58,"value":2071},{"type":58,"value":6426}," decision, POST a new column to the existing table.",{"type":49,"tag":529,"props":6428,"children":6429},{},[6430,6440,6465,6485,6568],{"type":49,"tag":50,"props":6431,"children":6432},{},[6433,6438],{"type":49,"tag":54,"props":6434,"children":6435},{},[6436],{"type":58,"value":6437},"⚠️ Per-column pre-flight (HARD — required for idempotent re-runs).",{"type":58,"value":6439}," Before each column POST, probe whether the column already exists. This catches:",{"type":49,"tag":81,"props":6441,"children":6442},{},[6443,6455,6460],{"type":49,"tag":85,"props":6444,"children":6445},{},[6446,6448,6453],{"type":58,"value":6447},"Partial failures from a prior ",{"type":49,"tag":96,"props":6449,"children":6451},{"className":6450},[],[6452],{"type":58,"value":2665},{"type":58,"value":6454}," POST that created the table + some columns but not all (the body is non-atomic — server commits each Attribute one at a time).",{"type":49,"tag":85,"props":6456,"children":6457},{},[6458],{"type":58,"value":6459},"User re-runs after fixing a typo in one column's metadata.",{"type":49,"tag":85,"props":6461,"children":6462},{},[6463],{"type":58,"value":6464},"Re-applying a plan after a network drop mid-Step-5b.",{"type":49,"tag":50,"props":6466,"children":6467},{},[6468,6470,6476,6477,6483],{"type":58,"value":6469},"Without this check, the second POST returns ",{"type":49,"tag":96,"props":6471,"children":6473},{"className":6472},[],[6474],{"type":58,"value":6475},"400: attribute already exists",{"type":58,"value":308},{"type":49,"tag":96,"props":6478,"children":6480},{"className":6479},[],[6481],{"type":58,"value":6482},"0x80044153",{"type":58,"value":6484},") and the run aborts mid-tier.",{"type":49,"tag":147,"props":6486,"children":6488},{"className":149,"code":6487,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')\u002FAttributes(LogicalName='\u003Ccolumn>')?\\$select=LogicalName,AttributeType\"\n",[6489],{"type":49,"tag":96,"props":6490,"children":6491},{"__ignoreMap":152},[6492,6543],{"type":49,"tag":158,"props":6493,"children":6494},{"class":160,"line":161},[6495,6499,6503,6507,6511,6515,6519,6523,6527,6531,6535,6539],{"type":49,"tag":158,"props":6496,"children":6497},{"style":206},[6498],{"type":58,"value":209},{"type":49,"tag":158,"props":6500,"children":6501},{"style":182},[6502],{"type":58,"value":214},{"type":49,"tag":158,"props":6504,"children":6505},{"style":217},[6506],{"type":58,"value":220},{"type":49,"tag":158,"props":6508,"children":6509},{"style":182},[6510],{"type":58,"value":225},{"type":49,"tag":158,"props":6512,"children":6513},{"style":171},[6514],{"type":58,"value":1489},{"type":49,"tag":158,"props":6516,"children":6517},{"style":182},[6518],{"type":58,"value":235},{"type":49,"tag":158,"props":6520,"children":6521},{"style":182},[6522],{"type":58,"value":1340},{"type":49,"tag":158,"props":6524,"children":6525},{"style":171},[6526],{"type":58,"value":1502},{"type":49,"tag":158,"props":6528,"children":6529},{"style":217},[6530],{"type":58,"value":1507},{"type":49,"tag":158,"props":6532,"children":6533},{"style":182},[6534],{"type":58,"value":1355},{"type":49,"tag":158,"props":6536,"children":6537},{"style":171},[6538],{"type":58,"value":1731},{"type":49,"tag":158,"props":6540,"children":6541},{"style":217},[6542],{"type":58,"value":2017},{"type":49,"tag":158,"props":6544,"children":6545},{"class":160,"line":202},[6546,6550,6555,6559,6564],{"type":49,"tag":158,"props":6547,"children":6548},{"style":182},[6549],{"type":58,"value":2025},{"type":49,"tag":158,"props":6551,"children":6552},{"style":171},[6553],{"type":58,"value":6554},"EntityDefinitions(LogicalName='\u003Ctable>')\u002FAttributes(LogicalName='\u003Ccolumn>')?",{"type":49,"tag":158,"props":6556,"children":6557},{"style":217},[6558],{"type":58,"value":2035},{"type":49,"tag":158,"props":6560,"children":6561},{"style":171},[6562],{"type":58,"value":6563},"select=LogicalName,AttributeType",{"type":49,"tag":158,"props":6565,"children":6566},{"style":182},[6567],{"type":58,"value":296},{"type":49,"tag":560,"props":6569,"children":6570},{},[6571,6590],{"type":49,"tag":564,"props":6572,"children":6573},{},[6574],{"type":49,"tag":568,"props":6575,"children":6576},{},[6577,6582,6586],{"type":49,"tag":572,"props":6578,"children":6579},{},[6580],{"type":58,"value":6581},"Status",{"type":49,"tag":572,"props":6583,"children":6584},{},[6585],{"type":58,"value":2452},{"type":49,"tag":572,"props":6587,"children":6588},{},[6589],{"type":58,"value":2457},{"type":49,"tag":583,"props":6591,"children":6592},{},[6593,6613,6651],{"type":49,"tag":568,"props":6594,"children":6595},{},[6596,6604,6609],{"type":49,"tag":590,"props":6597,"children":6598},{},[6599],{"type":49,"tag":54,"props":6600,"children":6601},{},[6602],{"type":58,"value":6603},"404",{"type":49,"tag":590,"props":6605,"children":6606},{},[6607],{"type":58,"value":6608},"Column doesn't exist",{"type":49,"tag":590,"props":6610,"children":6611},{},[6612],{"type":58,"value":2481},{"type":49,"tag":568,"props":6614,"children":6615},{},[6616,6633,6638],{"type":49,"tag":590,"props":6617,"children":6618},{},[6619,6624,6625,6631],{"type":49,"tag":54,"props":6620,"children":6621},{},[6622],{"type":58,"value":6623},"200",{"type":58,"value":2494},{"type":49,"tag":96,"props":6626,"children":6628},{"className":6627},[],[6629],{"type":58,"value":6630},"AttributeType",{"type":58,"value":6632}," matches the spec",{"type":49,"tag":590,"props":6634,"children":6635},{},[6636],{"type":58,"value":6637},"Already created (idempotent re-run)",{"type":49,"tag":590,"props":6639,"children":6640},{},[6641,6643,6649],{"type":58,"value":6642},"Skip the POST, log ",{"type":49,"tag":96,"props":6644,"children":6646},{"className":6645},[],[6647],{"type":58,"value":6648},"↻ \u003Ccolumn> (already exists, skipped)",{"type":58,"value":6650},", continue.",{"type":49,"tag":568,"props":6652,"children":6653},{},[6654,6669,6674],{"type":49,"tag":590,"props":6655,"children":6656},{},[6657,6661,6662,6667],{"type":49,"tag":54,"props":6658,"children":6659},{},[6660],{"type":58,"value":6623},{"type":58,"value":2494},{"type":49,"tag":96,"props":6663,"children":6665},{"className":6664},[],[6666],{"type":58,"value":6630},{"type":58,"value":6668}," differs from the spec",{"type":49,"tag":590,"props":6670,"children":6671},{},[6672],{"type":58,"value":6673},"Schema drift — column type was changed manually OR plan changed since last run",{"type":49,"tag":590,"props":6675,"children":6676},{},[6677,6681,6683,6689,6691,6697,6699,6705],{"type":49,"tag":54,"props":6678,"children":6679},{},[6680],{"type":58,"value":1265},{"type":58,"value":6682}," and surface to user: \"Column ",{"type":49,"tag":96,"props":6684,"children":6686},{"className":6685},[],[6687],{"type":58,"value":6688},"\u003Ccolumn>",{"type":58,"value":6690}," exists but is ",{"type":49,"tag":96,"props":6692,"children":6694},{"className":6693},[],[6695],{"type":58,"value":6696},"\u003CexistingType>",{"type":58,"value":6698},", plan expected ",{"type":49,"tag":96,"props":6700,"children":6702},{"className":6701},[],[6703],{"type":58,"value":6704},"\u003CplannedType>",{"type":58,"value":6706},". Dataverse does NOT allow column-type changes via API — you must delete the column manually and re-run.\" Do NOT silently overwrite.",{"type":49,"tag":50,"props":6708,"children":6709},{},[6710,6712,6717],{"type":58,"value":6711},"After pre-flight returns 404, POST the column (always pass ",{"type":49,"tag":96,"props":6713,"children":6715},{"className":6714},[],[6716],{"type":58,"value":1902},{"type":58,"value":6718},"):",{"type":49,"tag":147,"props":6720,"children":6722},{"className":149,"code":6721,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')\u002FAttributes\" \\\n  --body '\u003Ccolumn-json>' \\\n  --solution '\u003Csolution-uniquename-from-memory-bank>'\n",[6723],{"type":49,"tag":96,"props":6724,"children":6725},{"__ignoreMap":152},[6726,6777,6797,6821],{"type":49,"tag":158,"props":6727,"children":6728},{"class":160,"line":161},[6729,6733,6737,6741,6745,6749,6753,6757,6761,6765,6769,6773],{"type":49,"tag":158,"props":6730,"children":6731},{"style":206},[6732],{"type":58,"value":209},{"type":49,"tag":158,"props":6734,"children":6735},{"style":182},[6736],{"type":58,"value":214},{"type":49,"tag":158,"props":6738,"children":6739},{"style":217},[6740],{"type":58,"value":220},{"type":49,"tag":158,"props":6742,"children":6743},{"style":182},[6744],{"type":58,"value":225},{"type":49,"tag":158,"props":6746,"children":6747},{"style":171},[6748],{"type":58,"value":1489},{"type":49,"tag":158,"props":6750,"children":6751},{"style":182},[6752],{"type":58,"value":235},{"type":49,"tag":158,"props":6754,"children":6755},{"style":182},[6756],{"type":58,"value":1340},{"type":49,"tag":158,"props":6758,"children":6759},{"style":171},[6760],{"type":58,"value":1502},{"type":49,"tag":158,"props":6762,"children":6763},{"style":217},[6764],{"type":58,"value":1507},{"type":49,"tag":158,"props":6766,"children":6767},{"style":182},[6768],{"type":58,"value":1355},{"type":49,"tag":158,"props":6770,"children":6771},{"style":171},[6772],{"type":58,"value":3789},{"type":49,"tag":158,"props":6774,"children":6775},{"style":217},[6776],{"type":58,"value":2017},{"type":49,"tag":158,"props":6778,"children":6779},{"class":160,"line":202},[6780,6784,6789,6793],{"type":49,"tag":158,"props":6781,"children":6782},{"style":182},[6783],{"type":58,"value":2025},{"type":49,"tag":158,"props":6785,"children":6786},{"style":171},[6787],{"type":58,"value":6788},"EntityDefinitions(LogicalName='\u003Ctable>')\u002FAttributes",{"type":49,"tag":158,"props":6790,"children":6791},{"style":182},[6792],{"type":58,"value":235},{"type":49,"tag":158,"props":6794,"children":6795},{"style":217},[6796],{"type":58,"value":2017},{"type":49,"tag":158,"props":6798,"children":6799},{"class":160,"line":740},[6800,6804,6808,6813,6817],{"type":49,"tag":158,"props":6801,"children":6802},{"style":171},[6803],{"type":58,"value":3806},{"type":49,"tag":158,"props":6805,"children":6806},{"style":182},[6807],{"type":58,"value":3811},{"type":49,"tag":158,"props":6809,"children":6810},{"style":171},[6811],{"type":58,"value":6812},"\u003Ccolumn-json>",{"type":49,"tag":158,"props":6814,"children":6815},{"style":182},[6816],{"type":58,"value":1557},{"type":49,"tag":158,"props":6818,"children":6819},{"style":217},[6820],{"type":58,"value":2017},{"type":49,"tag":158,"props":6822,"children":6823},{"class":160,"line":763},[6824,6828,6832,6836],{"type":49,"tag":158,"props":6825,"children":6826},{"style":171},[6827],{"type":58,"value":3832},{"type":49,"tag":158,"props":6829,"children":6830},{"style":182},[6831],{"type":58,"value":3811},{"type":49,"tag":158,"props":6833,"children":6834},{"style":171},[6835],{"type":58,"value":3841},{"type":49,"tag":158,"props":6837,"children":6838},{"style":182},[6839],{"type":58,"value":3846},{"type":49,"tag":50,"props":6841,"children":6842},{},[6843,6848,6850,6855,6857,6862,6864,6870,6872,6877,6879,6885],{"type":49,"tag":54,"props":6844,"children":6845},{},[6846],{"type":58,"value":6847},"The same pre-flight applies inside Create POSTs that include initial Attributes.",{"type":58,"value":6849}," If a Create POST partially failed earlier (table + some columns committed), the retry path is to do ",{"type":49,"tag":54,"props":6851,"children":6852},{},[6853],{"type":58,"value":6854},"per-column",{"type":58,"value":6856}," pre-flight + POST instead of re-POSTing the whole ",{"type":49,"tag":96,"props":6858,"children":6860},{"className":6859},[],[6861],{"type":58,"value":2665},{"type":58,"value":6863}," body — re-POSTing returns ",{"type":49,"tag":96,"props":6865,"children":6867},{"className":6866},[],[6868],{"type":58,"value":6869},"0x80060888 entity already exists",{"type":58,"value":6871},". After Step 5a says \"table exists with our MetadataId\" (idempotent re-run match), iterate the planned ",{"type":49,"tag":96,"props":6873,"children":6875},{"className":6874},[],[6876],{"type":58,"value":2714},{"type":58,"value":6878}," and pre-flight each one against ",{"type":49,"tag":96,"props":6880,"children":6882},{"className":6881},[],[6883],{"type":58,"value":6884},"\u002FAttributes(LogicalName='\u003Ccolumn>')",{"type":58,"value":6886},", then POST only the missing ones.",{"type":49,"tag":50,"props":6888,"children":6889},{},[6890],{"type":58,"value":6891},"Column shapes that have non-obvious gotchas (handle carefully):",{"type":49,"tag":81,"props":6893,"children":6894},{},[6895,8102,8997,9516,10418,10446],{"type":49,"tag":85,"props":6896,"children":6897},{},[6898,6903,6905,6910,6912,6918,6919,7073,7963,7966,7968,7974,7976,7981,7983,7988,7989],{"type":49,"tag":54,"props":6899,"children":6900},{},[6901],{"type":58,"value":6902},"Lookup",{"type":58,"value":6904}," — POST to ",{"type":49,"tag":96,"props":6906,"children":6908},{"className":6907},[],[6909],{"type":58,"value":2281},{"type":58,"value":6911},", not ",{"type":49,"tag":96,"props":6913,"children":6915},{"className":6914},[],[6916],{"type":58,"value":6917},"\u002FAttributes",{"type":58,"value":892},{"type":49,"tag":529,"props":6920,"children":6921},{},[6922,6938,6943,7018],{"type":49,"tag":50,"props":6923,"children":6924},{},[6925],{"type":49,"tag":54,"props":6926,"children":6927},{},[6928,6930,6936],{"type":58,"value":6929},"⚠️ Do NOT improvise the body. Copy the skeleton below verbatim and replace only the placeholders in ",{"type":49,"tag":96,"props":6931,"children":6933},{"className":6932},[],[6934],{"type":58,"value":6935},"\u003C>",{"type":58,"value":6937}," brackets.",{"type":49,"tag":50,"props":6939,"children":6940},{},[6941],{"type":58,"value":6942},"Fields that cause silent failure if added:",{"type":49,"tag":81,"props":6944,"children":6945},{},[6946,6979,7002],{"type":49,"tag":85,"props":6947,"children":6948},{},[6949,6961,6963,6969,6971,6977],{"type":49,"tag":54,"props":6950,"children":6951},{},[6952,6954,6960],{"type":58,"value":6953},"Do NOT include ",{"type":49,"tag":96,"props":6955,"children":6957},{"className":6956},[],[6958],{"type":58,"value":6959},"ReferencingAttribute",{"type":58,"value":892},{"type":58,"value":6962}," Dataverse auto-creates the foreign-key column from ",{"type":49,"tag":96,"props":6964,"children":6966},{"className":6965},[],[6967],{"type":58,"value":6968},"Lookup.SchemaName",{"type":58,"value":6970},". Including it causes ",{"type":49,"tag":96,"props":6972,"children":6974},{"className":6973},[],[6975],{"type":58,"value":6976},"404: Could not find an attribute with specified name",{"type":58,"value":6978}," because the column doesn't exist yet at POST time.",{"type":49,"tag":85,"props":6980,"children":6981},{},[6982,6993,6995,7001],{"type":49,"tag":54,"props":6983,"children":6984},{},[6985,6986,6992],{"type":58,"value":6953},{"type":49,"tag":96,"props":6987,"children":6989},{"className":6988},[],[6990],{"type":58,"value":6991},"Lookup.LogicalName",{"type":58,"value":892},{"type":58,"value":6994}," It's read-only metadata; including it returns ",{"type":49,"tag":96,"props":6996,"children":6998},{"className":6997},[],[6999],{"type":58,"value":7000},"400 Bad Request",{"type":58,"value":892},{"type":49,"tag":85,"props":7003,"children":7004},{},[7005,7016],{"type":49,"tag":54,"props":7006,"children":7007},{},[7008,7009,7015],{"type":58,"value":6953},{"type":49,"tag":96,"props":7010,"children":7012},{"className":7011},[],[7013],{"type":58,"value":7014},"ReferencedAttribute",{"type":58,"value":892},{"type":58,"value":7017}," Dataverse resolves the primary key of the referenced entity automatically. The reference is optional and omitting it is the correct default.",{"type":49,"tag":50,"props":7019,"children":7020},{},[7021,7023,7028,7029,7035,7036,7042,7043,7049,7050,7056,7057,7063,7065,7071],{"type":58,"value":7022},"Required fields: ",{"type":49,"tag":96,"props":7024,"children":7026},{"className":7025},[],[7027],{"type":58,"value":3402},{"type":58,"value":442},{"type":49,"tag":96,"props":7030,"children":7032},{"className":7031},[],[7033],{"type":58,"value":7034},"ReferencedEntity",{"type":58,"value":442},{"type":49,"tag":96,"props":7037,"children":7039},{"className":7038},[],[7040],{"type":58,"value":7041},"ReferencingEntity",{"type":58,"value":442},{"type":49,"tag":96,"props":7044,"children":7046},{"className":7045},[],[7047],{"type":58,"value":7048},"Lookup.{@odata.type, SchemaName, DisplayName, RequiredLevel}",{"type":58,"value":442},{"type":49,"tag":96,"props":7051,"children":7053},{"className":7052},[],[7054],{"type":58,"value":7055},"AssociatedMenuConfiguration",{"type":58,"value":442},{"type":49,"tag":96,"props":7058,"children":7060},{"className":7059},[],[7061],{"type":58,"value":7062},"CascadeConfiguration",{"type":58,"value":7064}," (including ",{"type":49,"tag":96,"props":7066,"children":7068},{"className":7067},[],[7069],{"type":58,"value":7070},"RollupView",{"type":58,"value":7072},"). Anything else is invented — drop it.",{"type":49,"tag":147,"props":7074,"children":7076},{"className":2888,"code":7075,"language":2890,"meta":152,"style":152},"{\n  \"@odata.type\": \"Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata\",\n  \"SchemaName\": \"\u003Cprefix>_\u003CParent>_\u003CChild>\",\n  \"ReferencedEntity\": \"\u003Cparent_table_logical_name>\",\n  \"ReferencingEntity\": \"\u003Cchild_table_logical_name>\",\n  \"Lookup\": {\n    \"@odata.type\": \"Microsoft.Dynamics.CRM.LookupAttributeMetadata\",\n    \"SchemaName\": \"\u003CPrefix>_\u003CParent>Id\",\n    \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"\u003CParent Display Name>\", \"LanguageCode\": 1033 }] },\n    \"RequiredLevel\": { \"Value\": \"None\" }\n  },\n  \"AssociatedMenuConfiguration\": { \"Behavior\": \"UseCollectionName\", \"Group\": \"Details\", \"Order\": 10000 },\n  \"CascadeConfiguration\": {\n    \"Assign\": \"NoCascade\",\n    \"Delete\": \"RemoveLink\",\n    \"Merge\": \"NoCascade\",\n    \"Reparent\": \"NoCascade\",\n    \"Share\": \"NoCascade\",\n    \"Unshare\": \"NoCascade\",\n    \"RollupView\": \"NoCascade\"\n  }\n}\n",[7077],{"type":49,"tag":96,"props":7078,"children":7079},{"__ignoreMap":152},[7080,7087,7123,7159,7195,7231,7254,7291,7327,7496,7551,7559,7676,7699,7736,7773,7809,7845,7881,7917,7948,7956],{"type":49,"tag":158,"props":7081,"children":7082},{"class":160,"line":161},[7083],{"type":49,"tag":158,"props":7084,"children":7085},{"style":182},[7086],{"type":58,"value":3495},{"type":49,"tag":158,"props":7088,"children":7089},{"class":160,"line":202},[7090,7094,7098,7102,7106,7110,7115,7119],{"type":49,"tag":158,"props":7091,"children":7092},{"style":182},[7093],{"type":58,"value":2025},{"type":49,"tag":158,"props":7095,"children":7096},{"style":2909},[7097],{"type":58,"value":3962},{"type":49,"tag":158,"props":7099,"children":7100},{"style":182},[7101],{"type":58,"value":235},{"type":49,"tag":158,"props":7103,"children":7104},{"style":182},[7105],{"type":58,"value":527},{"type":49,"tag":158,"props":7107,"children":7108},{"style":182},[7109],{"type":58,"value":1193},{"type":49,"tag":158,"props":7111,"children":7112},{"style":171},[7113],{"type":58,"value":7114},"Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata",{"type":49,"tag":158,"props":7116,"children":7117},{"style":182},[7118],{"type":58,"value":235},{"type":49,"tag":158,"props":7120,"children":7121},{"style":182},[7122],{"type":58,"value":3531},{"type":49,"tag":158,"props":7124,"children":7125},{"class":160,"line":740},[7126,7130,7134,7138,7142,7146,7151,7155],{"type":49,"tag":158,"props":7127,"children":7128},{"style":182},[7129],{"type":58,"value":2025},{"type":49,"tag":158,"props":7131,"children":7132},{"style":2909},[7133],{"type":58,"value":3402},{"type":49,"tag":158,"props":7135,"children":7136},{"style":182},[7137],{"type":58,"value":235},{"type":49,"tag":158,"props":7139,"children":7140},{"style":182},[7141],{"type":58,"value":527},{"type":49,"tag":158,"props":7143,"children":7144},{"style":182},[7145],{"type":58,"value":1193},{"type":49,"tag":158,"props":7147,"children":7148},{"style":171},[7149],{"type":58,"value":7150},"\u003Cprefix>_\u003CParent>_\u003CChild>",{"type":49,"tag":158,"props":7152,"children":7153},{"style":182},[7154],{"type":58,"value":235},{"type":49,"tag":158,"props":7156,"children":7157},{"style":182},[7158],{"type":58,"value":3531},{"type":49,"tag":158,"props":7160,"children":7161},{"class":160,"line":763},[7162,7166,7170,7174,7178,7182,7187,7191],{"type":49,"tag":158,"props":7163,"children":7164},{"style":182},[7165],{"type":58,"value":2025},{"type":49,"tag":158,"props":7167,"children":7168},{"style":2909},[7169],{"type":58,"value":7034},{"type":49,"tag":158,"props":7171,"children":7172},{"style":182},[7173],{"type":58,"value":235},{"type":49,"tag":158,"props":7175,"children":7176},{"style":182},[7177],{"type":58,"value":527},{"type":49,"tag":158,"props":7179,"children":7180},{"style":182},[7181],{"type":58,"value":1193},{"type":49,"tag":158,"props":7183,"children":7184},{"style":171},[7185],{"type":58,"value":7186},"\u003Cparent_table_logical_name>",{"type":49,"tag":158,"props":7188,"children":7189},{"style":182},[7190],{"type":58,"value":235},{"type":49,"tag":158,"props":7192,"children":7193},{"style":182},[7194],{"type":58,"value":3531},{"type":49,"tag":158,"props":7196,"children":7197},{"class":160,"line":781},[7198,7202,7206,7210,7214,7218,7223,7227],{"type":49,"tag":158,"props":7199,"children":7200},{"style":182},[7201],{"type":58,"value":2025},{"type":49,"tag":158,"props":7203,"children":7204},{"style":2909},[7205],{"type":58,"value":7041},{"type":49,"tag":158,"props":7207,"children":7208},{"style":182},[7209],{"type":58,"value":235},{"type":49,"tag":158,"props":7211,"children":7212},{"style":182},[7213],{"type":58,"value":527},{"type":49,"tag":158,"props":7215,"children":7216},{"style":182},[7217],{"type":58,"value":1193},{"type":49,"tag":158,"props":7219,"children":7220},{"style":171},[7221],{"type":58,"value":7222},"\u003Cchild_table_logical_name>",{"type":49,"tag":158,"props":7224,"children":7225},{"style":182},[7226],{"type":58,"value":235},{"type":49,"tag":158,"props":7228,"children":7229},{"style":182},[7230],{"type":58,"value":3531},{"type":49,"tag":158,"props":7232,"children":7233},{"class":160,"line":805},[7234,7238,7242,7246,7250],{"type":49,"tag":158,"props":7235,"children":7236},{"style":182},[7237],{"type":58,"value":2025},{"type":49,"tag":158,"props":7239,"children":7240},{"style":2909},[7241],{"type":58,"value":6902},{"type":49,"tag":158,"props":7243,"children":7244},{"style":182},[7245],{"type":58,"value":235},{"type":49,"tag":158,"props":7247,"children":7248},{"style":182},[7249],{"type":58,"value":527},{"type":49,"tag":158,"props":7251,"children":7252},{"style":182},[7253],{"type":58,"value":5968},{"type":49,"tag":158,"props":7255,"children":7256},{"class":160,"line":834},[7257,7262,7266,7270,7274,7278,7283,7287],{"type":49,"tag":158,"props":7258,"children":7259},{"style":182},[7260],{"type":58,"value":7261},"    \"",{"type":49,"tag":158,"props":7263,"children":7264},{"style":206},[7265],{"type":58,"value":3962},{"type":49,"tag":158,"props":7267,"children":7268},{"style":182},[7269],{"type":58,"value":235},{"type":49,"tag":158,"props":7271,"children":7272},{"style":182},[7273],{"type":58,"value":527},{"type":49,"tag":158,"props":7275,"children":7276},{"style":182},[7277],{"type":58,"value":1193},{"type":49,"tag":158,"props":7279,"children":7280},{"style":171},[7281],{"type":58,"value":7282},"Microsoft.Dynamics.CRM.LookupAttributeMetadata",{"type":49,"tag":158,"props":7284,"children":7285},{"style":182},[7286],{"type":58,"value":235},{"type":49,"tag":158,"props":7288,"children":7289},{"style":182},[7290],{"type":58,"value":3531},{"type":49,"tag":158,"props":7292,"children":7293},{"class":160,"line":3624},[7294,7298,7302,7306,7310,7314,7319,7323],{"type":49,"tag":158,"props":7295,"children":7296},{"style":182},[7297],{"type":58,"value":7261},{"type":49,"tag":158,"props":7299,"children":7300},{"style":206},[7301],{"type":58,"value":3402},{"type":49,"tag":158,"props":7303,"children":7304},{"style":182},[7305],{"type":58,"value":235},{"type":49,"tag":158,"props":7307,"children":7308},{"style":182},[7309],{"type":58,"value":527},{"type":49,"tag":158,"props":7311,"children":7312},{"style":182},[7313],{"type":58,"value":1193},{"type":49,"tag":158,"props":7315,"children":7316},{"style":171},[7317],{"type":58,"value":7318},"\u003CPrefix>_\u003CParent>Id",{"type":49,"tag":158,"props":7320,"children":7321},{"style":182},[7322],{"type":58,"value":235},{"type":49,"tag":158,"props":7324,"children":7325},{"style":182},[7326],{"type":58,"value":3531},{"type":49,"tag":158,"props":7328,"children":7329},{"class":160,"line":3641},[7330,7334,7338,7342,7346,7350,7354,7358,7362,7366,7370,7374,7378,7382,7386,7390,7394,7398,7402,7406,7410,7414,7418,7422,7427,7431,7435,7439,7443,7447,7451,7455,7460,7464,7468,7472,7476,7480,7484,7488,7492],{"type":49,"tag":158,"props":7331,"children":7332},{"style":182},[7333],{"type":58,"value":7261},{"type":49,"tag":158,"props":7335,"children":7336},{"style":206},[7337],{"type":58,"value":4034},{"type":49,"tag":158,"props":7339,"children":7340},{"style":182},[7341],{"type":58,"value":235},{"type":49,"tag":158,"props":7343,"children":7344},{"style":182},[7345],{"type":58,"value":527},{"type":49,"tag":158,"props":7347,"children":7348},{"style":182},[7349],{"type":58,"value":4047},{"type":49,"tag":158,"props":7351,"children":7352},{"style":182},[7353],{"type":58,"value":1193},{"type":49,"tag":158,"props":7355,"children":7356},{"style":823},[7357],{"type":58,"value":3962},{"type":49,"tag":158,"props":7359,"children":7360},{"style":182},[7361],{"type":58,"value":235},{"type":49,"tag":158,"props":7363,"children":7364},{"style":182},[7365],{"type":58,"value":527},{"type":49,"tag":158,"props":7367,"children":7368},{"style":182},[7369],{"type":58,"value":1193},{"type":49,"tag":158,"props":7371,"children":7372},{"style":171},[7373],{"type":58,"value":4072},{"type":49,"tag":158,"props":7375,"children":7376},{"style":182},[7377],{"type":58,"value":235},{"type":49,"tag":158,"props":7379,"children":7380},{"style":182},[7381],{"type":58,"value":3427},{"type":49,"tag":158,"props":7383,"children":7384},{"style":182},[7385],{"type":58,"value":1193},{"type":49,"tag":158,"props":7387,"children":7388},{"style":823},[7389],{"type":58,"value":4089},{"type":49,"tag":158,"props":7391,"children":7392},{"style":182},[7393],{"type":58,"value":235},{"type":49,"tag":158,"props":7395,"children":7396},{"style":182},[7397],{"type":58,"value":527},{"type":49,"tag":158,"props":7399,"children":7400},{"style":182},[7401],{"type":58,"value":3448},{"type":49,"tag":158,"props":7403,"children":7404},{"style":182},[7405],{"type":58,"value":1193},{"type":49,"tag":158,"props":7407,"children":7408},{"style":712},[7409],{"type":58,"value":3962},{"type":49,"tag":158,"props":7411,"children":7412},{"style":182},[7413],{"type":58,"value":235},{"type":49,"tag":158,"props":7415,"children":7416},{"style":182},[7417],{"type":58,"value":527},{"type":49,"tag":158,"props":7419,"children":7420},{"style":182},[7421],{"type":58,"value":1193},{"type":49,"tag":158,"props":7423,"children":7424},{"style":171},[7425],{"type":58,"value":7426},"Microsoft.Dynamics.CRM.LocalizedLabel",{"type":49,"tag":158,"props":7428,"children":7429},{"style":182},[7430],{"type":58,"value":235},{"type":49,"tag":158,"props":7432,"children":7433},{"style":182},[7434],{"type":58,"value":3427},{"type":49,"tag":158,"props":7436,"children":7437},{"style":182},[7438],{"type":58,"value":1193},{"type":49,"tag":158,"props":7440,"children":7441},{"style":712},[7442],{"type":58,"value":4110},{"type":49,"tag":158,"props":7444,"children":7445},{"style":182},[7446],{"type":58,"value":235},{"type":49,"tag":158,"props":7448,"children":7449},{"style":182},[7450],{"type":58,"value":527},{"type":49,"tag":158,"props":7452,"children":7453},{"style":182},[7454],{"type":58,"value":1193},{"type":49,"tag":158,"props":7456,"children":7457},{"style":171},[7458],{"type":58,"value":7459},"\u003CParent Display Name>",{"type":49,"tag":158,"props":7461,"children":7462},{"style":182},[7463],{"type":58,"value":235},{"type":49,"tag":158,"props":7465,"children":7466},{"style":182},[7467],{"type":58,"value":3427},{"type":49,"tag":158,"props":7469,"children":7470},{"style":182},[7471],{"type":58,"value":1193},{"type":49,"tag":158,"props":7473,"children":7474},{"style":712},[7475],{"type":58,"value":4144},{"type":49,"tag":158,"props":7477,"children":7478},{"style":182},[7479],{"type":58,"value":235},{"type":49,"tag":158,"props":7481,"children":7482},{"style":182},[7483],{"type":58,"value":527},{"type":49,"tag":158,"props":7485,"children":7486},{"style":823},[7487],{"type":58,"value":4157},{"type":49,"tag":158,"props":7489,"children":7490},{"style":182},[7491],{"type":58,"value":3458},{"type":49,"tag":158,"props":7493,"children":7494},{"style":182},[7495],{"type":58,"value":3573},{"type":49,"tag":158,"props":7497,"children":7498},{"class":160,"line":3650},[7499,7503,7507,7511,7515,7519,7523,7527,7531,7535,7539,7543,7547],{"type":49,"tag":158,"props":7500,"children":7501},{"style":182},[7502],{"type":58,"value":7261},{"type":49,"tag":158,"props":7504,"children":7505},{"style":206},[7506],{"type":58,"value":4819},{"type":49,"tag":158,"props":7508,"children":7509},{"style":182},[7510],{"type":58,"value":235},{"type":49,"tag":158,"props":7512,"children":7513},{"style":182},[7514],{"type":58,"value":527},{"type":49,"tag":158,"props":7516,"children":7517},{"style":182},[7518],{"type":58,"value":4047},{"type":49,"tag":158,"props":7520,"children":7521},{"style":182},[7522],{"type":58,"value":1193},{"type":49,"tag":158,"props":7524,"children":7525},{"style":823},[7526],{"type":58,"value":4781},{"type":49,"tag":158,"props":7528,"children":7529},{"style":182},[7530],{"type":58,"value":235},{"type":49,"tag":158,"props":7532,"children":7533},{"style":182},[7534],{"type":58,"value":527},{"type":49,"tag":158,"props":7536,"children":7537},{"style":182},[7538],{"type":58,"value":1193},{"type":49,"tag":158,"props":7540,"children":7541},{"style":171},[7542],{"type":58,"value":5251},{"type":49,"tag":158,"props":7544,"children":7545},{"style":182},[7546],{"type":58,"value":235},{"type":49,"tag":158,"props":7548,"children":7549},{"style":182},[7550],{"type":58,"value":2938},{"type":49,"tag":158,"props":7552,"children":7553},{"class":160,"line":4438},[7554],{"type":49,"tag":158,"props":7555,"children":7556},{"style":182},[7557],{"type":58,"value":7558},"  },\n",{"type":49,"tag":158,"props":7560,"children":7561},{"class":160,"line":4476},[7562,7566,7570,7574,7578,7582,7586,7591,7595,7599,7603,7608,7612,7616,7620,7625,7629,7633,7637,7642,7646,7650,7654,7659,7663,7667,7672],{"type":49,"tag":158,"props":7563,"children":7564},{"style":182},[7565],{"type":58,"value":2025},{"type":49,"tag":158,"props":7567,"children":7568},{"style":2909},[7569],{"type":58,"value":7055},{"type":49,"tag":158,"props":7571,"children":7572},{"style":182},[7573],{"type":58,"value":235},{"type":49,"tag":158,"props":7575,"children":7576},{"style":182},[7577],{"type":58,"value":527},{"type":49,"tag":158,"props":7579,"children":7580},{"style":182},[7581],{"type":58,"value":4047},{"type":49,"tag":158,"props":7583,"children":7584},{"style":182},[7585],{"type":58,"value":1193},{"type":49,"tag":158,"props":7587,"children":7588},{"style":206},[7589],{"type":58,"value":7590},"Behavior",{"type":49,"tag":158,"props":7592,"children":7593},{"style":182},[7594],{"type":58,"value":235},{"type":49,"tag":158,"props":7596,"children":7597},{"style":182},[7598],{"type":58,"value":527},{"type":49,"tag":158,"props":7600,"children":7601},{"style":182},[7602],{"type":58,"value":1193},{"type":49,"tag":158,"props":7604,"children":7605},{"style":171},[7606],{"type":58,"value":7607},"UseCollectionName",{"type":49,"tag":158,"props":7609,"children":7610},{"style":182},[7611],{"type":58,"value":235},{"type":49,"tag":158,"props":7613,"children":7614},{"style":182},[7615],{"type":58,"value":3427},{"type":49,"tag":158,"props":7617,"children":7618},{"style":182},[7619],{"type":58,"value":1193},{"type":49,"tag":158,"props":7621,"children":7622},{"style":206},[7623],{"type":58,"value":7624},"Group",{"type":49,"tag":158,"props":7626,"children":7627},{"style":182},[7628],{"type":58,"value":235},{"type":49,"tag":158,"props":7630,"children":7631},{"style":182},[7632],{"type":58,"value":527},{"type":49,"tag":158,"props":7634,"children":7635},{"style":182},[7636],{"type":58,"value":1193},{"type":49,"tag":158,"props":7638,"children":7639},{"style":171},[7640],{"type":58,"value":7641},"Details",{"type":49,"tag":158,"props":7643,"children":7644},{"style":182},[7645],{"type":58,"value":235},{"type":49,"tag":158,"props":7647,"children":7648},{"style":182},[7649],{"type":58,"value":3427},{"type":49,"tag":158,"props":7651,"children":7652},{"style":182},[7653],{"type":58,"value":1193},{"type":49,"tag":158,"props":7655,"children":7656},{"style":206},[7657],{"type":58,"value":7658},"Order",{"type":49,"tag":158,"props":7660,"children":7661},{"style":182},[7662],{"type":58,"value":235},{"type":49,"tag":158,"props":7664,"children":7665},{"style":182},[7666],{"type":58,"value":527},{"type":49,"tag":158,"props":7668,"children":7669},{"style":823},[7670],{"type":58,"value":7671}," 10000",{"type":49,"tag":158,"props":7673,"children":7674},{"style":182},[7675],{"type":58,"value":3573},{"type":49,"tag":158,"props":7677,"children":7678},{"class":160,"line":4500},[7679,7683,7687,7691,7695],{"type":49,"tag":158,"props":7680,"children":7681},{"style":182},[7682],{"type":58,"value":2025},{"type":49,"tag":158,"props":7684,"children":7685},{"style":2909},[7686],{"type":58,"value":7062},{"type":49,"tag":158,"props":7688,"children":7689},{"style":182},[7690],{"type":58,"value":235},{"type":49,"tag":158,"props":7692,"children":7693},{"style":182},[7694],{"type":58,"value":527},{"type":49,"tag":158,"props":7696,"children":7697},{"style":182},[7698],{"type":58,"value":5968},{"type":49,"tag":158,"props":7700,"children":7701},{"class":160,"line":4509},[7702,7706,7711,7715,7719,7723,7728,7732],{"type":49,"tag":158,"props":7703,"children":7704},{"style":182},[7705],{"type":58,"value":7261},{"type":49,"tag":158,"props":7707,"children":7708},{"style":206},[7709],{"type":58,"value":7710},"Assign",{"type":49,"tag":158,"props":7712,"children":7713},{"style":182},[7714],{"type":58,"value":235},{"type":49,"tag":158,"props":7716,"children":7717},{"style":182},[7718],{"type":58,"value":527},{"type":49,"tag":158,"props":7720,"children":7721},{"style":182},[7722],{"type":58,"value":1193},{"type":49,"tag":158,"props":7724,"children":7725},{"style":171},[7726],{"type":58,"value":7727},"NoCascade",{"type":49,"tag":158,"props":7729,"children":7730},{"style":182},[7731],{"type":58,"value":235},{"type":49,"tag":158,"props":7733,"children":7734},{"style":182},[7735],{"type":58,"value":3531},{"type":49,"tag":158,"props":7737,"children":7738},{"class":160,"line":4547},[7739,7743,7748,7752,7756,7760,7765,7769],{"type":49,"tag":158,"props":7740,"children":7741},{"style":182},[7742],{"type":58,"value":7261},{"type":49,"tag":158,"props":7744,"children":7745},{"style":206},[7746],{"type":58,"value":7747},"Delete",{"type":49,"tag":158,"props":7749,"children":7750},{"style":182},[7751],{"type":58,"value":235},{"type":49,"tag":158,"props":7753,"children":7754},{"style":182},[7755],{"type":58,"value":527},{"type":49,"tag":158,"props":7757,"children":7758},{"style":182},[7759],{"type":58,"value":1193},{"type":49,"tag":158,"props":7761,"children":7762},{"style":171},[7763],{"type":58,"value":7764},"RemoveLink",{"type":49,"tag":158,"props":7766,"children":7767},{"style":182},[7768],{"type":58,"value":235},{"type":49,"tag":158,"props":7770,"children":7771},{"style":182},[7772],{"type":58,"value":3531},{"type":49,"tag":158,"props":7774,"children":7775},{"class":160,"line":4583},[7776,7780,7785,7789,7793,7797,7801,7805],{"type":49,"tag":158,"props":7777,"children":7778},{"style":182},[7779],{"type":58,"value":7261},{"type":49,"tag":158,"props":7781,"children":7782},{"style":206},[7783],{"type":58,"value":7784},"Merge",{"type":49,"tag":158,"props":7786,"children":7787},{"style":182},[7788],{"type":58,"value":235},{"type":49,"tag":158,"props":7790,"children":7791},{"style":182},[7792],{"type":58,"value":527},{"type":49,"tag":158,"props":7794,"children":7795},{"style":182},[7796],{"type":58,"value":1193},{"type":49,"tag":158,"props":7798,"children":7799},{"style":171},[7800],{"type":58,"value":7727},{"type":49,"tag":158,"props":7802,"children":7803},{"style":182},[7804],{"type":58,"value":235},{"type":49,"tag":158,"props":7806,"children":7807},{"style":182},[7808],{"type":58,"value":3531},{"type":49,"tag":158,"props":7810,"children":7811},{"class":160,"line":4720},[7812,7816,7821,7825,7829,7833,7837,7841],{"type":49,"tag":158,"props":7813,"children":7814},{"style":182},[7815],{"type":58,"value":7261},{"type":49,"tag":158,"props":7817,"children":7818},{"style":206},[7819],{"type":58,"value":7820},"Reparent",{"type":49,"tag":158,"props":7822,"children":7823},{"style":182},[7824],{"type":58,"value":235},{"type":49,"tag":158,"props":7826,"children":7827},{"style":182},[7828],{"type":58,"value":527},{"type":49,"tag":158,"props":7830,"children":7831},{"style":182},[7832],{"type":58,"value":1193},{"type":49,"tag":158,"props":7834,"children":7835},{"style":171},[7836],{"type":58,"value":7727},{"type":49,"tag":158,"props":7838,"children":7839},{"style":182},[7840],{"type":58,"value":235},{"type":49,"tag":158,"props":7842,"children":7843},{"style":182},[7844],{"type":58,"value":3531},{"type":49,"tag":158,"props":7846,"children":7847},{"class":160,"line":4750},[7848,7852,7857,7861,7865,7869,7873,7877],{"type":49,"tag":158,"props":7849,"children":7850},{"style":182},[7851],{"type":58,"value":7261},{"type":49,"tag":158,"props":7853,"children":7854},{"style":206},[7855],{"type":58,"value":7856},"Share",{"type":49,"tag":158,"props":7858,"children":7859},{"style":182},[7860],{"type":58,"value":235},{"type":49,"tag":158,"props":7862,"children":7863},{"style":182},[7864],{"type":58,"value":527},{"type":49,"tag":158,"props":7866,"children":7867},{"style":182},[7868],{"type":58,"value":1193},{"type":49,"tag":158,"props":7870,"children":7871},{"style":171},[7872],{"type":58,"value":7727},{"type":49,"tag":158,"props":7874,"children":7875},{"style":182},[7876],{"type":58,"value":235},{"type":49,"tag":158,"props":7878,"children":7879},{"style":182},[7880],{"type":58,"value":3531},{"type":49,"tag":158,"props":7882,"children":7883},{"class":160,"line":4809},[7884,7888,7893,7897,7901,7905,7909,7913],{"type":49,"tag":158,"props":7885,"children":7886},{"style":182},[7887],{"type":58,"value":7261},{"type":49,"tag":158,"props":7889,"children":7890},{"style":206},[7891],{"type":58,"value":7892},"Unshare",{"type":49,"tag":158,"props":7894,"children":7895},{"style":182},[7896],{"type":58,"value":235},{"type":49,"tag":158,"props":7898,"children":7899},{"style":182},[7900],{"type":58,"value":527},{"type":49,"tag":158,"props":7902,"children":7903},{"style":182},[7904],{"type":58,"value":1193},{"type":49,"tag":158,"props":7906,"children":7907},{"style":171},[7908],{"type":58,"value":7727},{"type":49,"tag":158,"props":7910,"children":7911},{"style":182},[7912],{"type":58,"value":235},{"type":49,"tag":158,"props":7914,"children":7915},{"style":182},[7916],{"type":58,"value":3531},{"type":49,"tag":158,"props":7918,"children":7919},{"class":160,"line":4867},[7920,7924,7928,7932,7936,7940,7944],{"type":49,"tag":158,"props":7921,"children":7922},{"style":182},[7923],{"type":58,"value":7261},{"type":49,"tag":158,"props":7925,"children":7926},{"style":206},[7927],{"type":58,"value":7070},{"type":49,"tag":158,"props":7929,"children":7930},{"style":182},[7931],{"type":58,"value":235},{"type":49,"tag":158,"props":7933,"children":7934},{"style":182},[7935],{"type":58,"value":527},{"type":49,"tag":158,"props":7937,"children":7938},{"style":182},[7939],{"type":58,"value":1193},{"type":49,"tag":158,"props":7941,"children":7942},{"style":171},[7943],{"type":58,"value":7727},{"type":49,"tag":158,"props":7945,"children":7946},{"style":182},[7947],{"type":58,"value":296},{"type":49,"tag":158,"props":7949,"children":7950},{"class":160,"line":4893},[7951],{"type":49,"tag":158,"props":7952,"children":7953},{"style":182},[7954],{"type":58,"value":7955},"  }\n",{"type":49,"tag":158,"props":7957,"children":7958},{"class":160,"line":4902},[7959],{"type":49,"tag":158,"props":7960,"children":7961},{"style":182},[7962],{"type":58,"value":3656},{"type":49,"tag":538,"props":7964,"children":7965},{},[],{"type":58,"value":7967},"Invocation (apiPath is ",{"type":49,"tag":96,"props":7969,"children":7971},{"className":7970},[],[7972],{"type":58,"value":7973},"RelationshipDefinitions",{"type":58,"value":7975},", body via ",{"type":49,"tag":96,"props":7977,"children":7979},{"className":7978},[],[7980],{"type":58,"value":1637},{"type":58,"value":7982},", always pass ",{"type":49,"tag":96,"props":7984,"children":7986},{"className":7985},[],[7987],{"type":58,"value":1902},{"type":58,"value":6718},{"type":49,"tag":147,"props":7990,"children":7992},{"className":149,"code":7991,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST \\\n  RelationshipDefinitions \\\n  --body '\u003Cjson-body-from-skeleton-above>' \\\n  --solution '\u003Csolution-uniquename-from-memory-bank>'\n",[7993],{"type":49,"tag":96,"props":7994,"children":7995},{"__ignoreMap":152},[7996,8047,8059,8083],{"type":49,"tag":158,"props":7997,"children":7998},{"class":160,"line":161},[7999,8003,8007,8011,8015,8019,8023,8027,8031,8035,8039,8043],{"type":49,"tag":158,"props":8000,"children":8001},{"style":206},[8002],{"type":58,"value":209},{"type":49,"tag":158,"props":8004,"children":8005},{"style":182},[8006],{"type":58,"value":214},{"type":49,"tag":158,"props":8008,"children":8009},{"style":217},[8010],{"type":58,"value":220},{"type":49,"tag":158,"props":8012,"children":8013},{"style":182},[8014],{"type":58,"value":225},{"type":49,"tag":158,"props":8016,"children":8017},{"style":171},[8018],{"type":58,"value":1489},{"type":49,"tag":158,"props":8020,"children":8021},{"style":182},[8022],{"type":58,"value":235},{"type":49,"tag":158,"props":8024,"children":8025},{"style":182},[8026],{"type":58,"value":1340},{"type":49,"tag":158,"props":8028,"children":8029},{"style":171},[8030],{"type":58,"value":1502},{"type":49,"tag":158,"props":8032,"children":8033},{"style":217},[8034],{"type":58,"value":1507},{"type":49,"tag":158,"props":8036,"children":8037},{"style":182},[8038],{"type":58,"value":1355},{"type":49,"tag":158,"props":8040,"children":8041},{"style":171},[8042],{"type":58,"value":3789},{"type":49,"tag":158,"props":8044,"children":8045},{"style":217},[8046],{"type":58,"value":2017},{"type":49,"tag":158,"props":8048,"children":8049},{"class":160,"line":202},[8050,8055],{"type":49,"tag":158,"props":8051,"children":8052},{"style":171},[8053],{"type":58,"value":8054},"  RelationshipDefinitions",{"type":49,"tag":158,"props":8056,"children":8057},{"style":217},[8058],{"type":58,"value":2017},{"type":49,"tag":158,"props":8060,"children":8061},{"class":160,"line":740},[8062,8066,8070,8075,8079],{"type":49,"tag":158,"props":8063,"children":8064},{"style":171},[8065],{"type":58,"value":3806},{"type":49,"tag":158,"props":8067,"children":8068},{"style":182},[8069],{"type":58,"value":3811},{"type":49,"tag":158,"props":8071,"children":8072},{"style":171},[8073],{"type":58,"value":8074},"\u003Cjson-body-from-skeleton-above>",{"type":49,"tag":158,"props":8076,"children":8077},{"style":182},[8078],{"type":58,"value":1557},{"type":49,"tag":158,"props":8080,"children":8081},{"style":217},[8082],{"type":58,"value":2017},{"type":49,"tag":158,"props":8084,"children":8085},{"class":160,"line":763},[8086,8090,8094,8098],{"type":49,"tag":158,"props":8087,"children":8088},{"style":171},[8089],{"type":58,"value":3832},{"type":49,"tag":158,"props":8091,"children":8092},{"style":182},[8093],{"type":58,"value":3811},{"type":49,"tag":158,"props":8095,"children":8096},{"style":171},[8097],{"type":58,"value":3841},{"type":49,"tag":158,"props":8099,"children":8100},{"style":182},[8101],{"type":58,"value":3846},{"type":49,"tag":85,"props":8103,"children":8104},{},[8105,8110,8112,8117,8119,8125,8127,8175,8961,8964,8969,8971,8977,8979,8982,8987,8989,8995],{"type":49,"tag":54,"props":8106,"children":8107},{},[8108],{"type":58,"value":8109},"Many-to-Many (M:N)",{"type":58,"value":8111}," — also POST to ",{"type":49,"tag":96,"props":8113,"children":8115},{"className":8114},[],[8116],{"type":58,"value":2281},{"type":58,"value":8118},", but with ",{"type":49,"tag":96,"props":8120,"children":8122},{"className":8121},[],[8123],{"type":58,"value":8124},"ManyToManyRelationshipMetadata",{"type":58,"value":8126},". Dataverse creates an auto-named intersect table.",{"type":49,"tag":529,"props":8128,"children":8129},{},[8130],{"type":49,"tag":50,"props":8131,"children":8132},{},[8133,8138,8140,8145,8146,8152,8153,8159,8160,8166,8168,8173],{"type":49,"tag":54,"props":8134,"children":8135},{},[8136],{"type":58,"value":8137},"⚠️ Do NOT improvise the body.",{"type":58,"value":8139}," Required fields: ",{"type":49,"tag":96,"props":8141,"children":8143},{"className":8142},[],[8144],{"type":58,"value":3402},{"type":58,"value":442},{"type":49,"tag":96,"props":8147,"children":8149},{"className":8148},[],[8150],{"type":58,"value":8151},"Entity1LogicalName",{"type":58,"value":442},{"type":49,"tag":96,"props":8154,"children":8156},{"className":8155},[],[8157],{"type":58,"value":8158},"Entity2LogicalName",{"type":58,"value":442},{"type":49,"tag":96,"props":8161,"children":8163},{"className":8162},[],[8164],{"type":58,"value":8165},"IntersectEntityName",{"type":58,"value":8167},", and the two ",{"type":49,"tag":96,"props":8169,"children":8171},{"className":8170},[],[8172],{"type":58,"value":7055},{"type":58,"value":8174}," blocks. Do not include lookup or cascade fields — those are 1:N concepts.",{"type":49,"tag":147,"props":8176,"children":8178},{"className":2888,"code":8177,"language":2890,"meta":152,"style":152},"{\n  \"@odata.type\": \"Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata\",\n  \"SchemaName\": \"\u003Cprefix>_\u003Ctable1>_\u003Ctable2>\",\n  \"Entity1LogicalName\": \"\u003Ctable1_logical_name>\",\n  \"Entity2LogicalName\": \"\u003Ctable2_logical_name>\",\n  \"IntersectEntityName\": \"\u003Cprefix>_\u003Ctable1>_\u003Ctable2>\",\n  \"Entity1AssociatedMenuConfiguration\": {\n    \"Behavior\": \"UseLabel\",\n    \"Group\": \"Details\",\n    \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"\u003CTable2 Plural>\", \"LanguageCode\": 1033 }] },\n    \"Order\": 10000\n  },\n  \"Entity2AssociatedMenuConfiguration\": {\n    \"Behavior\": \"UseLabel\",\n    \"Group\": \"Details\",\n    \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"\u003CTable1 Plural>\", \"LanguageCode\": 1033 }] },\n    \"Order\": 10000\n  }\n}\n",[8179],{"type":49,"tag":96,"props":8180,"children":8181},{"__ignoreMap":152},[8182,8189,8225,8261,8297,8333,8368,8392,8428,8463,8631,8655,8662,8686,8721,8756,8924,8947,8954],{"type":49,"tag":158,"props":8183,"children":8184},{"class":160,"line":161},[8185],{"type":49,"tag":158,"props":8186,"children":8187},{"style":182},[8188],{"type":58,"value":3495},{"type":49,"tag":158,"props":8190,"children":8191},{"class":160,"line":202},[8192,8196,8200,8204,8208,8212,8217,8221],{"type":49,"tag":158,"props":8193,"children":8194},{"style":182},[8195],{"type":58,"value":2025},{"type":49,"tag":158,"props":8197,"children":8198},{"style":2909},[8199],{"type":58,"value":3962},{"type":49,"tag":158,"props":8201,"children":8202},{"style":182},[8203],{"type":58,"value":235},{"type":49,"tag":158,"props":8205,"children":8206},{"style":182},[8207],{"type":58,"value":527},{"type":49,"tag":158,"props":8209,"children":8210},{"style":182},[8211],{"type":58,"value":1193},{"type":49,"tag":158,"props":8213,"children":8214},{"style":171},[8215],{"type":58,"value":8216},"Microsoft.Dynamics.CRM.ManyToManyRelationshipMetadata",{"type":49,"tag":158,"props":8218,"children":8219},{"style":182},[8220],{"type":58,"value":235},{"type":49,"tag":158,"props":8222,"children":8223},{"style":182},[8224],{"type":58,"value":3531},{"type":49,"tag":158,"props":8226,"children":8227},{"class":160,"line":740},[8228,8232,8236,8240,8244,8248,8253,8257],{"type":49,"tag":158,"props":8229,"children":8230},{"style":182},[8231],{"type":58,"value":2025},{"type":49,"tag":158,"props":8233,"children":8234},{"style":2909},[8235],{"type":58,"value":3402},{"type":49,"tag":158,"props":8237,"children":8238},{"style":182},[8239],{"type":58,"value":235},{"type":49,"tag":158,"props":8241,"children":8242},{"style":182},[8243],{"type":58,"value":527},{"type":49,"tag":158,"props":8245,"children":8246},{"style":182},[8247],{"type":58,"value":1193},{"type":49,"tag":158,"props":8249,"children":8250},{"style":171},[8251],{"type":58,"value":8252},"\u003Cprefix>_\u003Ctable1>_\u003Ctable2>",{"type":49,"tag":158,"props":8254,"children":8255},{"style":182},[8256],{"type":58,"value":235},{"type":49,"tag":158,"props":8258,"children":8259},{"style":182},[8260],{"type":58,"value":3531},{"type":49,"tag":158,"props":8262,"children":8263},{"class":160,"line":763},[8264,8268,8272,8276,8280,8284,8289,8293],{"type":49,"tag":158,"props":8265,"children":8266},{"style":182},[8267],{"type":58,"value":2025},{"type":49,"tag":158,"props":8269,"children":8270},{"style":2909},[8271],{"type":58,"value":8151},{"type":49,"tag":158,"props":8273,"children":8274},{"style":182},[8275],{"type":58,"value":235},{"type":49,"tag":158,"props":8277,"children":8278},{"style":182},[8279],{"type":58,"value":527},{"type":49,"tag":158,"props":8281,"children":8282},{"style":182},[8283],{"type":58,"value":1193},{"type":49,"tag":158,"props":8285,"children":8286},{"style":171},[8287],{"type":58,"value":8288},"\u003Ctable1_logical_name>",{"type":49,"tag":158,"props":8290,"children":8291},{"style":182},[8292],{"type":58,"value":235},{"type":49,"tag":158,"props":8294,"children":8295},{"style":182},[8296],{"type":58,"value":3531},{"type":49,"tag":158,"props":8298,"children":8299},{"class":160,"line":781},[8300,8304,8308,8312,8316,8320,8325,8329],{"type":49,"tag":158,"props":8301,"children":8302},{"style":182},[8303],{"type":58,"value":2025},{"type":49,"tag":158,"props":8305,"children":8306},{"style":2909},[8307],{"type":58,"value":8158},{"type":49,"tag":158,"props":8309,"children":8310},{"style":182},[8311],{"type":58,"value":235},{"type":49,"tag":158,"props":8313,"children":8314},{"style":182},[8315],{"type":58,"value":527},{"type":49,"tag":158,"props":8317,"children":8318},{"style":182},[8319],{"type":58,"value":1193},{"type":49,"tag":158,"props":8321,"children":8322},{"style":171},[8323],{"type":58,"value":8324},"\u003Ctable2_logical_name>",{"type":49,"tag":158,"props":8326,"children":8327},{"style":182},[8328],{"type":58,"value":235},{"type":49,"tag":158,"props":8330,"children":8331},{"style":182},[8332],{"type":58,"value":3531},{"type":49,"tag":158,"props":8334,"children":8335},{"class":160,"line":805},[8336,8340,8344,8348,8352,8356,8360,8364],{"type":49,"tag":158,"props":8337,"children":8338},{"style":182},[8339],{"type":58,"value":2025},{"type":49,"tag":158,"props":8341,"children":8342},{"style":2909},[8343],{"type":58,"value":8165},{"type":49,"tag":158,"props":8345,"children":8346},{"style":182},[8347],{"type":58,"value":235},{"type":49,"tag":158,"props":8349,"children":8350},{"style":182},[8351],{"type":58,"value":527},{"type":49,"tag":158,"props":8353,"children":8354},{"style":182},[8355],{"type":58,"value":1193},{"type":49,"tag":158,"props":8357,"children":8358},{"style":171},[8359],{"type":58,"value":8252},{"type":49,"tag":158,"props":8361,"children":8362},{"style":182},[8363],{"type":58,"value":235},{"type":49,"tag":158,"props":8365,"children":8366},{"style":182},[8367],{"type":58,"value":3531},{"type":49,"tag":158,"props":8369,"children":8370},{"class":160,"line":834},[8371,8375,8380,8384,8388],{"type":49,"tag":158,"props":8372,"children":8373},{"style":182},[8374],{"type":58,"value":2025},{"type":49,"tag":158,"props":8376,"children":8377},{"style":2909},[8378],{"type":58,"value":8379},"Entity1AssociatedMenuConfiguration",{"type":49,"tag":158,"props":8381,"children":8382},{"style":182},[8383],{"type":58,"value":235},{"type":49,"tag":158,"props":8385,"children":8386},{"style":182},[8387],{"type":58,"value":527},{"type":49,"tag":158,"props":8389,"children":8390},{"style":182},[8391],{"type":58,"value":5968},{"type":49,"tag":158,"props":8393,"children":8394},{"class":160,"line":3624},[8395,8399,8403,8407,8411,8415,8420,8424],{"type":49,"tag":158,"props":8396,"children":8397},{"style":182},[8398],{"type":58,"value":7261},{"type":49,"tag":158,"props":8400,"children":8401},{"style":206},[8402],{"type":58,"value":7590},{"type":49,"tag":158,"props":8404,"children":8405},{"style":182},[8406],{"type":58,"value":235},{"type":49,"tag":158,"props":8408,"children":8409},{"style":182},[8410],{"type":58,"value":527},{"type":49,"tag":158,"props":8412,"children":8413},{"style":182},[8414],{"type":58,"value":1193},{"type":49,"tag":158,"props":8416,"children":8417},{"style":171},[8418],{"type":58,"value":8419},"UseLabel",{"type":49,"tag":158,"props":8421,"children":8422},{"style":182},[8423],{"type":58,"value":235},{"type":49,"tag":158,"props":8425,"children":8426},{"style":182},[8427],{"type":58,"value":3531},{"type":49,"tag":158,"props":8429,"children":8430},{"class":160,"line":3641},[8431,8435,8439,8443,8447,8451,8455,8459],{"type":49,"tag":158,"props":8432,"children":8433},{"style":182},[8434],{"type":58,"value":7261},{"type":49,"tag":158,"props":8436,"children":8437},{"style":206},[8438],{"type":58,"value":7624},{"type":49,"tag":158,"props":8440,"children":8441},{"style":182},[8442],{"type":58,"value":235},{"type":49,"tag":158,"props":8444,"children":8445},{"style":182},[8446],{"type":58,"value":527},{"type":49,"tag":158,"props":8448,"children":8449},{"style":182},[8450],{"type":58,"value":1193},{"type":49,"tag":158,"props":8452,"children":8453},{"style":171},[8454],{"type":58,"value":7641},{"type":49,"tag":158,"props":8456,"children":8457},{"style":182},[8458],{"type":58,"value":235},{"type":49,"tag":158,"props":8460,"children":8461},{"style":182},[8462],{"type":58,"value":3531},{"type":49,"tag":158,"props":8464,"children":8465},{"class":160,"line":3650},[8466,8470,8474,8478,8482,8486,8490,8494,8498,8502,8506,8510,8514,8518,8522,8526,8530,8534,8538,8542,8546,8550,8554,8558,8562,8566,8570,8574,8578,8582,8586,8590,8595,8599,8603,8607,8611,8615,8619,8623,8627],{"type":49,"tag":158,"props":8467,"children":8468},{"style":182},[8469],{"type":58,"value":7261},{"type":49,"tag":158,"props":8471,"children":8472},{"style":206},[8473],{"type":58,"value":4110},{"type":49,"tag":158,"props":8475,"children":8476},{"style":182},[8477],{"type":58,"value":235},{"type":49,"tag":158,"props":8479,"children":8480},{"style":182},[8481],{"type":58,"value":527},{"type":49,"tag":158,"props":8483,"children":8484},{"style":182},[8485],{"type":58,"value":4047},{"type":49,"tag":158,"props":8487,"children":8488},{"style":182},[8489],{"type":58,"value":1193},{"type":49,"tag":158,"props":8491,"children":8492},{"style":823},[8493],{"type":58,"value":3962},{"type":49,"tag":158,"props":8495,"children":8496},{"style":182},[8497],{"type":58,"value":235},{"type":49,"tag":158,"props":8499,"children":8500},{"style":182},[8501],{"type":58,"value":527},{"type":49,"tag":158,"props":8503,"children":8504},{"style":182},[8505],{"type":58,"value":1193},{"type":49,"tag":158,"props":8507,"children":8508},{"style":171},[8509],{"type":58,"value":4072},{"type":49,"tag":158,"props":8511,"children":8512},{"style":182},[8513],{"type":58,"value":235},{"type":49,"tag":158,"props":8515,"children":8516},{"style":182},[8517],{"type":58,"value":3427},{"type":49,"tag":158,"props":8519,"children":8520},{"style":182},[8521],{"type":58,"value":1193},{"type":49,"tag":158,"props":8523,"children":8524},{"style":823},[8525],{"type":58,"value":4089},{"type":49,"tag":158,"props":8527,"children":8528},{"style":182},[8529],{"type":58,"value":235},{"type":49,"tag":158,"props":8531,"children":8532},{"style":182},[8533],{"type":58,"value":527},{"type":49,"tag":158,"props":8535,"children":8536},{"style":182},[8537],{"type":58,"value":3448},{"type":49,"tag":158,"props":8539,"children":8540},{"style":182},[8541],{"type":58,"value":1193},{"type":49,"tag":158,"props":8543,"children":8544},{"style":712},[8545],{"type":58,"value":3962},{"type":49,"tag":158,"props":8547,"children":8548},{"style":182},[8549],{"type":58,"value":235},{"type":49,"tag":158,"props":8551,"children":8552},{"style":182},[8553],{"type":58,"value":527},{"type":49,"tag":158,"props":8555,"children":8556},{"style":182},[8557],{"type":58,"value":1193},{"type":49,"tag":158,"props":8559,"children":8560},{"style":171},[8561],{"type":58,"value":7426},{"type":49,"tag":158,"props":8563,"children":8564},{"style":182},[8565],{"type":58,"value":235},{"type":49,"tag":158,"props":8567,"children":8568},{"style":182},[8569],{"type":58,"value":3427},{"type":49,"tag":158,"props":8571,"children":8572},{"style":182},[8573],{"type":58,"value":1193},{"type":49,"tag":158,"props":8575,"children":8576},{"style":712},[8577],{"type":58,"value":4110},{"type":49,"tag":158,"props":8579,"children":8580},{"style":182},[8581],{"type":58,"value":235},{"type":49,"tag":158,"props":8583,"children":8584},{"style":182},[8585],{"type":58,"value":527},{"type":49,"tag":158,"props":8587,"children":8588},{"style":182},[8589],{"type":58,"value":1193},{"type":49,"tag":158,"props":8591,"children":8592},{"style":171},[8593],{"type":58,"value":8594},"\u003CTable2 Plural>",{"type":49,"tag":158,"props":8596,"children":8597},{"style":182},[8598],{"type":58,"value":235},{"type":49,"tag":158,"props":8600,"children":8601},{"style":182},[8602],{"type":58,"value":3427},{"type":49,"tag":158,"props":8604,"children":8605},{"style":182},[8606],{"type":58,"value":1193},{"type":49,"tag":158,"props":8608,"children":8609},{"style":712},[8610],{"type":58,"value":4144},{"type":49,"tag":158,"props":8612,"children":8613},{"style":182},[8614],{"type":58,"value":235},{"type":49,"tag":158,"props":8616,"children":8617},{"style":182},[8618],{"type":58,"value":527},{"type":49,"tag":158,"props":8620,"children":8621},{"style":823},[8622],{"type":58,"value":4157},{"type":49,"tag":158,"props":8624,"children":8625},{"style":182},[8626],{"type":58,"value":3458},{"type":49,"tag":158,"props":8628,"children":8629},{"style":182},[8630],{"type":58,"value":3573},{"type":49,"tag":158,"props":8632,"children":8633},{"class":160,"line":4438},[8634,8638,8642,8646,8650],{"type":49,"tag":158,"props":8635,"children":8636},{"style":182},[8637],{"type":58,"value":7261},{"type":49,"tag":158,"props":8639,"children":8640},{"style":206},[8641],{"type":58,"value":7658},{"type":49,"tag":158,"props":8643,"children":8644},{"style":182},[8645],{"type":58,"value":235},{"type":49,"tag":158,"props":8647,"children":8648},{"style":182},[8649],{"type":58,"value":527},{"type":49,"tag":158,"props":8651,"children":8652},{"style":823},[8653],{"type":58,"value":8654}," 10000\n",{"type":49,"tag":158,"props":8656,"children":8657},{"class":160,"line":4476},[8658],{"type":49,"tag":158,"props":8659,"children":8660},{"style":182},[8661],{"type":58,"value":7558},{"type":49,"tag":158,"props":8663,"children":8664},{"class":160,"line":4500},[8665,8669,8674,8678,8682],{"type":49,"tag":158,"props":8666,"children":8667},{"style":182},[8668],{"type":58,"value":2025},{"type":49,"tag":158,"props":8670,"children":8671},{"style":2909},[8672],{"type":58,"value":8673},"Entity2AssociatedMenuConfiguration",{"type":49,"tag":158,"props":8675,"children":8676},{"style":182},[8677],{"type":58,"value":235},{"type":49,"tag":158,"props":8679,"children":8680},{"style":182},[8681],{"type":58,"value":527},{"type":49,"tag":158,"props":8683,"children":8684},{"style":182},[8685],{"type":58,"value":5968},{"type":49,"tag":158,"props":8687,"children":8688},{"class":160,"line":4509},[8689,8693,8697,8701,8705,8709,8713,8717],{"type":49,"tag":158,"props":8690,"children":8691},{"style":182},[8692],{"type":58,"value":7261},{"type":49,"tag":158,"props":8694,"children":8695},{"style":206},[8696],{"type":58,"value":7590},{"type":49,"tag":158,"props":8698,"children":8699},{"style":182},[8700],{"type":58,"value":235},{"type":49,"tag":158,"props":8702,"children":8703},{"style":182},[8704],{"type":58,"value":527},{"type":49,"tag":158,"props":8706,"children":8707},{"style":182},[8708],{"type":58,"value":1193},{"type":49,"tag":158,"props":8710,"children":8711},{"style":171},[8712],{"type":58,"value":8419},{"type":49,"tag":158,"props":8714,"children":8715},{"style":182},[8716],{"type":58,"value":235},{"type":49,"tag":158,"props":8718,"children":8719},{"style":182},[8720],{"type":58,"value":3531},{"type":49,"tag":158,"props":8722,"children":8723},{"class":160,"line":4547},[8724,8728,8732,8736,8740,8744,8748,8752],{"type":49,"tag":158,"props":8725,"children":8726},{"style":182},[8727],{"type":58,"value":7261},{"type":49,"tag":158,"props":8729,"children":8730},{"style":206},[8731],{"type":58,"value":7624},{"type":49,"tag":158,"props":8733,"children":8734},{"style":182},[8735],{"type":58,"value":235},{"type":49,"tag":158,"props":8737,"children":8738},{"style":182},[8739],{"type":58,"value":527},{"type":49,"tag":158,"props":8741,"children":8742},{"style":182},[8743],{"type":58,"value":1193},{"type":49,"tag":158,"props":8745,"children":8746},{"style":171},[8747],{"type":58,"value":7641},{"type":49,"tag":158,"props":8749,"children":8750},{"style":182},[8751],{"type":58,"value":235},{"type":49,"tag":158,"props":8753,"children":8754},{"style":182},[8755],{"type":58,"value":3531},{"type":49,"tag":158,"props":8757,"children":8758},{"class":160,"line":4583},[8759,8763,8767,8771,8775,8779,8783,8787,8791,8795,8799,8803,8807,8811,8815,8819,8823,8827,8831,8835,8839,8843,8847,8851,8855,8859,8863,8867,8871,8875,8879,8883,8888,8892,8896,8900,8904,8908,8912,8916,8920],{"type":49,"tag":158,"props":8760,"children":8761},{"style":182},[8762],{"type":58,"value":7261},{"type":49,"tag":158,"props":8764,"children":8765},{"style":206},[8766],{"type":58,"value":4110},{"type":49,"tag":158,"props":8768,"children":8769},{"style":182},[8770],{"type":58,"value":235},{"type":49,"tag":158,"props":8772,"children":8773},{"style":182},[8774],{"type":58,"value":527},{"type":49,"tag":158,"props":8776,"children":8777},{"style":182},[8778],{"type":58,"value":4047},{"type":49,"tag":158,"props":8780,"children":8781},{"style":182},[8782],{"type":58,"value":1193},{"type":49,"tag":158,"props":8784,"children":8785},{"style":823},[8786],{"type":58,"value":3962},{"type":49,"tag":158,"props":8788,"children":8789},{"style":182},[8790],{"type":58,"value":235},{"type":49,"tag":158,"props":8792,"children":8793},{"style":182},[8794],{"type":58,"value":527},{"type":49,"tag":158,"props":8796,"children":8797},{"style":182},[8798],{"type":58,"value":1193},{"type":49,"tag":158,"props":8800,"children":8801},{"style":171},[8802],{"type":58,"value":4072},{"type":49,"tag":158,"props":8804,"children":8805},{"style":182},[8806],{"type":58,"value":235},{"type":49,"tag":158,"props":8808,"children":8809},{"style":182},[8810],{"type":58,"value":3427},{"type":49,"tag":158,"props":8812,"children":8813},{"style":182},[8814],{"type":58,"value":1193},{"type":49,"tag":158,"props":8816,"children":8817},{"style":823},[8818],{"type":58,"value":4089},{"type":49,"tag":158,"props":8820,"children":8821},{"style":182},[8822],{"type":58,"value":235},{"type":49,"tag":158,"props":8824,"children":8825},{"style":182},[8826],{"type":58,"value":527},{"type":49,"tag":158,"props":8828,"children":8829},{"style":182},[8830],{"type":58,"value":3448},{"type":49,"tag":158,"props":8832,"children":8833},{"style":182},[8834],{"type":58,"value":1193},{"type":49,"tag":158,"props":8836,"children":8837},{"style":712},[8838],{"type":58,"value":3962},{"type":49,"tag":158,"props":8840,"children":8841},{"style":182},[8842],{"type":58,"value":235},{"type":49,"tag":158,"props":8844,"children":8845},{"style":182},[8846],{"type":58,"value":527},{"type":49,"tag":158,"props":8848,"children":8849},{"style":182},[8850],{"type":58,"value":1193},{"type":49,"tag":158,"props":8852,"children":8853},{"style":171},[8854],{"type":58,"value":7426},{"type":49,"tag":158,"props":8856,"children":8857},{"style":182},[8858],{"type":58,"value":235},{"type":49,"tag":158,"props":8860,"children":8861},{"style":182},[8862],{"type":58,"value":3427},{"type":49,"tag":158,"props":8864,"children":8865},{"style":182},[8866],{"type":58,"value":1193},{"type":49,"tag":158,"props":8868,"children":8869},{"style":712},[8870],{"type":58,"value":4110},{"type":49,"tag":158,"props":8872,"children":8873},{"style":182},[8874],{"type":58,"value":235},{"type":49,"tag":158,"props":8876,"children":8877},{"style":182},[8878],{"type":58,"value":527},{"type":49,"tag":158,"props":8880,"children":8881},{"style":182},[8882],{"type":58,"value":1193},{"type":49,"tag":158,"props":8884,"children":8885},{"style":171},[8886],{"type":58,"value":8887},"\u003CTable1 Plural>",{"type":49,"tag":158,"props":8889,"children":8890},{"style":182},[8891],{"type":58,"value":235},{"type":49,"tag":158,"props":8893,"children":8894},{"style":182},[8895],{"type":58,"value":3427},{"type":49,"tag":158,"props":8897,"children":8898},{"style":182},[8899],{"type":58,"value":1193},{"type":49,"tag":158,"props":8901,"children":8902},{"style":712},[8903],{"type":58,"value":4144},{"type":49,"tag":158,"props":8905,"children":8906},{"style":182},[8907],{"type":58,"value":235},{"type":49,"tag":158,"props":8909,"children":8910},{"style":182},[8911],{"type":58,"value":527},{"type":49,"tag":158,"props":8913,"children":8914},{"style":823},[8915],{"type":58,"value":4157},{"type":49,"tag":158,"props":8917,"children":8918},{"style":182},[8919],{"type":58,"value":3458},{"type":49,"tag":158,"props":8921,"children":8922},{"style":182},[8923],{"type":58,"value":3573},{"type":49,"tag":158,"props":8925,"children":8926},{"class":160,"line":4720},[8927,8931,8935,8939,8943],{"type":49,"tag":158,"props":8928,"children":8929},{"style":182},[8930],{"type":58,"value":7261},{"type":49,"tag":158,"props":8932,"children":8933},{"style":206},[8934],{"type":58,"value":7658},{"type":49,"tag":158,"props":8936,"children":8937},{"style":182},[8938],{"type":58,"value":235},{"type":49,"tag":158,"props":8940,"children":8941},{"style":182},[8942],{"type":58,"value":527},{"type":49,"tag":158,"props":8944,"children":8945},{"style":823},[8946],{"type":58,"value":8654},{"type":49,"tag":158,"props":8948,"children":8949},{"class":160,"line":4750},[8950],{"type":49,"tag":158,"props":8951,"children":8952},{"style":182},[8953],{"type":58,"value":7955},{"type":49,"tag":158,"props":8955,"children":8956},{"class":160,"line":4809},[8957],{"type":49,"tag":158,"props":8958,"children":8959},{"style":182},[8960],{"type":58,"value":3656},{"type":49,"tag":538,"props":8962,"children":8963},{},[],{"type":49,"tag":54,"props":8965,"children":8966},{},[8967],{"type":58,"value":8968},"Pre-flight M:N:",{"type":58,"value":8970}," GET ",{"type":49,"tag":96,"props":8972,"children":8974},{"className":8973},[],[8975],{"type":58,"value":8976},"RelationshipDefinitions(SchemaName='\u003Cprefix>_\u003Ctable1>_\u003Ctable2>')?$select=SchemaName",{"type":58,"value":8978}," — 404 → proceed; 200 → skip (already exists).",{"type":49,"tag":538,"props":8980,"children":8981},{},[],{"type":49,"tag":54,"props":8983,"children":8984},{},[8985],{"type":58,"value":8986},"In the generated service:",{"type":58,"value":8988}," M:N relationships are queried via the intersect entity name (e.g., ",{"type":49,"tag":96,"props":8990,"children":8992},{"className":8991},[],[8993],{"type":58,"value":8994},"cr123_tag_inspection",{"type":58,"value":8996},") — the SDK does not expose a direct M:N navigation helper; the screen-builder must query the intersect table directly or via a calculated column approach. Flag this in the Step 7 summary if any M:N relationships are created.",{"type":49,"tag":85,"props":8998,"children":8999},{},[9000,9012,9491,9494,9499,9501,9506,9508,9514],{"type":49,"tag":54,"props":9001,"children":9002},{},[9003,9005,9010],{"type":58,"value":9004},"Column ",{"type":49,"tag":96,"props":9006,"children":9008},{"className":9007},[],[9009],{"type":58,"value":3962},{"type":58,"value":9011}," and required fields — reference table (verified against Dataverse OData API):",{"type":49,"tag":560,"props":9013,"children":9014},{},[9015,9039],{"type":49,"tag":564,"props":9016,"children":9017},{},[9018],{"type":49,"tag":568,"props":9019,"children":9020},{},[9021,9026,9034],{"type":49,"tag":572,"props":9022,"children":9023},{},[9024],{"type":58,"value":9025},"Dataverse type",{"type":49,"tag":572,"props":9027,"children":9028},{},[9029],{"type":49,"tag":96,"props":9030,"children":9032},{"className":9031},[],[9033],{"type":58,"value":3962},{"type":49,"tag":572,"props":9035,"children":9036},{},[9037],{"type":58,"value":9038},"Required extra fields",{"type":49,"tag":583,"props":9040,"children":9041},{},[9042,9109,9142,9179,9219,9265,9305,9348,9408,9432,9465],{"type":49,"tag":568,"props":9043,"children":9044},{},[9045,9050,9058],{"type":49,"tag":590,"props":9046,"children":9047},{},[9048],{"type":58,"value":9049},"Single-line text",{"type":49,"tag":590,"props":9051,"children":9052},{},[9053],{"type":49,"tag":96,"props":9054,"children":9056},{"className":9055},[],[9057],{"type":58,"value":4536},{"type":49,"tag":590,"props":9059,"children":9060},{},[9061,9066,9068,9074,9076,9081,9082,9088,9089,9095,9096,9102,9103],{"type":49,"tag":96,"props":9062,"children":9064},{"className":9063},[],[9065],{"type":58,"value":4730},{"type":58,"value":9067}," (200), ",{"type":49,"tag":96,"props":9069,"children":9071},{"className":9070},[],[9072],{"type":58,"value":9073},"FormatName: { \"Value\": \"Text\" }",{"type":58,"value":9075}," — values: ",{"type":49,"tag":96,"props":9077,"children":9079},{"className":9078},[],[9080],{"type":58,"value":4798},{"type":58,"value":442},{"type":49,"tag":96,"props":9083,"children":9085},{"className":9084},[],[9086],{"type":58,"value":9087},"Email",{"type":58,"value":442},{"type":49,"tag":96,"props":9090,"children":9092},{"className":9091},[],[9093],{"type":58,"value":9094},"Url",{"type":58,"value":442},{"type":49,"tag":96,"props":9097,"children":9099},{"className":9098},[],[9100],{"type":58,"value":9101},"Phone",{"type":58,"value":442},{"type":49,"tag":96,"props":9104,"children":9106},{"className":9105},[],[9107],{"type":58,"value":9108},"TextArea",{"type":49,"tag":568,"props":9110,"children":9111},{},[9112,9117,9126],{"type":49,"tag":590,"props":9113,"children":9114},{},[9115],{"type":58,"value":9116},"Multi-line text",{"type":49,"tag":590,"props":9118,"children":9119},{},[9120],{"type":49,"tag":96,"props":9121,"children":9123},{"className":9122},[],[9124],{"type":58,"value":9125},"Microsoft.Dynamics.CRM.MemoAttributeMetadata",{"type":49,"tag":590,"props":9127,"children":9128},{},[9129,9134,9136],{"type":49,"tag":96,"props":9130,"children":9132},{"className":9131},[],[9133],{"type":58,"value":4730},{"type":58,"value":9135}," (10000), ",{"type":49,"tag":96,"props":9137,"children":9139},{"className":9138},[],[9140],{"type":58,"value":9141},"Format: \"TextArea\"",{"type":49,"tag":568,"props":9143,"children":9144},{},[9145,9150,9158],{"type":49,"tag":590,"props":9146,"children":9147},{},[9148],{"type":58,"value":9149},"Whole number",{"type":49,"tag":590,"props":9151,"children":9152},{},[9153],{"type":49,"tag":96,"props":9154,"children":9156},{"className":9155},[],[9157],{"type":58,"value":5304},{"type":49,"tag":590,"props":9159,"children":9160},{},[9161,9166,9167,9172,9173],{"type":49,"tag":96,"props":9162,"children":9164},{"className":9163},[],[9165],{"type":58,"value":5555},{"type":58,"value":442},{"type":49,"tag":96,"props":9168,"children":9170},{"className":9169},[],[9171],{"type":58,"value":5585},{"type":58,"value":442},{"type":49,"tag":96,"props":9174,"children":9176},{"className":9175},[],[9177],{"type":58,"value":9178},"Format: \"None\"",{"type":49,"tag":568,"props":9180,"children":9181},{},[9182,9187,9196],{"type":49,"tag":590,"props":9183,"children":9184},{},[9185],{"type":58,"value":9186},"Decimal",{"type":49,"tag":590,"props":9188,"children":9189},{},[9190],{"type":49,"tag":96,"props":9191,"children":9193},{"className":9192},[],[9194],{"type":58,"value":9195},"Microsoft.Dynamics.CRM.DecimalAttributeMetadata",{"type":49,"tag":590,"props":9197,"children":9198},{},[9199,9204,9205,9210,9211,9217],{"type":49,"tag":96,"props":9200,"children":9202},{"className":9201},[],[9203],{"type":58,"value":5555},{"type":58,"value":442},{"type":49,"tag":96,"props":9206,"children":9208},{"className":9207},[],[9209],{"type":58,"value":5585},{"type":58,"value":442},{"type":49,"tag":96,"props":9212,"children":9214},{"className":9213},[],[9215],{"type":58,"value":9216},"Precision",{"type":58,"value":9218}," (2)",{"type":49,"tag":568,"props":9220,"children":9221},{},[9222,9227,9236],{"type":49,"tag":590,"props":9223,"children":9224},{},[9225],{"type":58,"value":9226},"Currency (Money)",{"type":49,"tag":590,"props":9228,"children":9229},{},[9230],{"type":49,"tag":96,"props":9231,"children":9233},{"className":9232},[],[9234],{"type":58,"value":9235},"Microsoft.Dynamics.CRM.MoneyAttributeMetadata",{"type":49,"tag":590,"props":9237,"children":9238},{},[9239,9244,9245,9250,9251,9256,9258,9264],{"type":49,"tag":96,"props":9240,"children":9242},{"className":9241},[],[9243],{"type":58,"value":5555},{"type":58,"value":442},{"type":49,"tag":96,"props":9246,"children":9248},{"className":9247},[],[9249],{"type":58,"value":5585},{"type":58,"value":442},{"type":49,"tag":96,"props":9252,"children":9254},{"className":9253},[],[9255],{"type":58,"value":9216},{"type":58,"value":9257}," (2), ",{"type":49,"tag":96,"props":9259,"children":9261},{"className":9260},[],[9262],{"type":58,"value":9263},"PrecisionSource",{"type":58,"value":9218},{"type":49,"tag":568,"props":9266,"children":9267},{},[9268,9273,9282],{"type":49,"tag":590,"props":9269,"children":9270},{},[9271],{"type":58,"value":9272},"Date\u002FTime",{"type":49,"tag":590,"props":9274,"children":9275},{},[9276],{"type":49,"tag":96,"props":9277,"children":9279},{"className":9278},[],[9280],{"type":58,"value":9281},"Microsoft.Dynamics.CRM.DateTimeAttributeMetadata",{"type":49,"tag":590,"props":9283,"children":9284},{},[9285,9291,9292,9298,9299],{"type":49,"tag":96,"props":9286,"children":9288},{"className":9287},[],[9289],{"type":58,"value":9290},"Format: \"DateAndTime\"",{"type":58,"value":1924},{"type":49,"tag":96,"props":9293,"children":9295},{"className":9294},[],[9296],{"type":58,"value":9297},"\"DateOnly\"",{"type":58,"value":442},{"type":49,"tag":96,"props":9300,"children":9302},{"className":9301},[],[9303],{"type":58,"value":9304},"DateTimeBehavior: { \"Value\": \"UserLocal\" }",{"type":49,"tag":568,"props":9306,"children":9307},{},[9308,9313,9321],{"type":49,"tag":590,"props":9309,"children":9310},{},[9311],{"type":58,"value":9312},"Boolean",{"type":49,"tag":590,"props":9314,"children":9315},{},[9316],{"type":49,"tag":96,"props":9317,"children":9319},{"className":9318},[],[9320],{"type":58,"value":5679},{"type":49,"tag":590,"props":9322,"children":9323},{},[9324,9329,9330,9335,9336,9341,9343],{"type":49,"tag":96,"props":9325,"children":9327},{"className":9326},[],[9328],{"type":58,"value":5930},{"type":58,"value":442},{"type":49,"tag":96,"props":9331,"children":9333},{"className":9332},[],[9334],{"type":58,"value":5955},{"type":58,"value":2599},{"type":49,"tag":96,"props":9337,"children":9339},{"className":9338},[],[9340],{"type":58,"value":6019},{"type":58,"value":9342},"\u002F",{"type":49,"tag":96,"props":9344,"children":9346},{"className":9345},[],[9347],{"type":58,"value":6208},{"type":49,"tag":568,"props":9349,"children":9350},{},[9351,9356,9365],{"type":49,"tag":590,"props":9352,"children":9353},{},[9354],{"type":58,"value":9355},"Choice (picklist)",{"type":49,"tag":590,"props":9357,"children":9358},{},[9359],{"type":49,"tag":96,"props":9360,"children":9362},{"className":9361},[],[9363],{"type":58,"value":9364},"Microsoft.Dynamics.CRM.PicklistAttributeMetadata",{"type":49,"tag":590,"props":9366,"children":9367},{},[9368,9373,9374,9380,9381,9387,9388,9394,9395],{"type":49,"tag":96,"props":9369,"children":9371},{"className":9370},[],[9372],{"type":58,"value":5955},{"type":58,"value":2599},{"type":49,"tag":96,"props":9375,"children":9377},{"className":9376},[],[9378],{"type":58,"value":9379},"IsGlobal: false",{"type":58,"value":442},{"type":49,"tag":96,"props":9382,"children":9384},{"className":9383},[],[9385],{"type":58,"value":9386},"OptionSetType: \"Picklist\"",{"type":58,"value":442},{"type":49,"tag":96,"props":9389,"children":9391},{"className":9390},[],[9392],{"type":58,"value":9393},"Options[]",{"type":58,"value":3032},{"type":49,"tag":54,"props":9396,"children":9397},{},[9398,9400,9406],{"type":58,"value":9399},"option integer values start at ",{"type":49,"tag":96,"props":9401,"children":9403},{"className":9402},[],[9404],{"type":58,"value":9405},"100000000",{"type":58,"value":9407}," and increment by 1",{"type":49,"tag":568,"props":9409,"children":9410},{},[9411,9415,9427],{"type":49,"tag":590,"props":9412,"children":9413},{},[9414],{"type":58,"value":6902},{"type":49,"tag":590,"props":9416,"children":9417},{},[9418,9420,9425],{"type":58,"value":9419},"via ",{"type":49,"tag":96,"props":9421,"children":9423},{"className":9422},[],[9424],{"type":58,"value":7973},{"type":58,"value":9426}," — see 1:N skeleton above",{"type":49,"tag":590,"props":9428,"children":9429},{},[9430],{"type":58,"value":9431},"—",{"type":49,"tag":568,"props":9433,"children":9434},{},[9435,9440,9449],{"type":49,"tag":590,"props":9436,"children":9437},{},[9438],{"type":58,"value":9439},"Image",{"type":49,"tag":590,"props":9441,"children":9442},{},[9443],{"type":49,"tag":96,"props":9444,"children":9446},{"className":9445},[],[9447],{"type":58,"value":9448},"Microsoft.Dynamics.CRM.ImageAttributeMetadata",{"type":49,"tag":590,"props":9450,"children":9451},{},[9452,9458,9459],{"type":49,"tag":96,"props":9453,"children":9455},{"className":9454},[],[9456],{"type":58,"value":9457},"MaxHeight",{"type":58,"value":442},{"type":49,"tag":96,"props":9460,"children":9462},{"className":9461},[],[9463],{"type":58,"value":9464},"MaxWidth",{"type":49,"tag":568,"props":9466,"children":9467},{},[9468,9473,9482],{"type":49,"tag":590,"props":9469,"children":9470},{},[9471],{"type":58,"value":9472},"File",{"type":49,"tag":590,"props":9474,"children":9475},{},[9476],{"type":49,"tag":96,"props":9477,"children":9479},{"className":9478},[],[9480],{"type":58,"value":9481},"Microsoft.Dynamics.CRM.FileAttributeMetadata",{"type":49,"tag":590,"props":9483,"children":9484},{},[9485],{"type":49,"tag":96,"props":9486,"children":9488},{"className":9487},[],[9489],{"type":58,"value":9490},"MaxSizeInKB",{"type":49,"tag":538,"props":9492,"children":9493},{},[],{"type":49,"tag":54,"props":9495,"children":9496},{},[9497],{"type":58,"value":9498},"Common mistake:",{"type":58,"value":9500}," omitting ",{"type":49,"tag":96,"props":9502,"children":9504},{"className":9503},[],[9505],{"type":58,"value":4760},{"type":58,"value":9507}," on String columns and ",{"type":49,"tag":96,"props":9509,"children":9511},{"className":9510},[],[9512],{"type":58,"value":9513},"DateTimeBehavior",{"type":58,"value":9515}," on DateTime columns. Both are required — Dataverse rejects the POST without them.",{"type":49,"tag":85,"props":9517,"children":9518},{},[9519,9524,9526,9532,9534,9539,9541],{"type":49,"tag":54,"props":9520,"children":9521},{},[9522],{"type":58,"value":9523},"Choice (option set)",{"type":58,"value":9525}," — set ",{"type":49,"tag":96,"props":9527,"children":9529},{"className":9528},[],[9530],{"type":58,"value":9531},"OptionSet.IsGlobal: false",{"type":58,"value":9533}," for local picklists. Full body (option values start at ",{"type":49,"tag":96,"props":9535,"children":9537},{"className":9536},[],[9538],{"type":58,"value":9405},{"type":58,"value":9540}," and increment by 1):",{"type":49,"tag":147,"props":9542,"children":9544},{"className":2888,"code":9543,"language":2890,"meta":152,"style":152},"{\n  \"@odata.type\": \"Microsoft.Dynamics.CRM.PicklistAttributeMetadata\",\n  \"SchemaName\": \"\u003CPrefix>_\u003CColumnName>\",\n  \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"\u003CDisplay Name>\", \"LanguageCode\": 1033 }] },\n  \"RequiredLevel\": { \"Value\": \"None\" },\n  \"OptionSet\": {\n    \"@odata.type\": \"Microsoft.Dynamics.CRM.OptionSetMetadata\",\n    \"IsGlobal\": false,\n    \"OptionSetType\": \"Picklist\",\n    \"Options\": [\n      { \"Value\": 100000000, \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"Option 1\", \"LanguageCode\": 1033 }] } },\n      { \"Value\": 100000001, \"Label\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"@odata.type\": \"Microsoft.Dynamics.CRM.LocalizedLabel\", \"Label\": \"Option 2\", \"LanguageCode\": 1033 }] } }\n    ]\n  }\n}\n",[9545],{"type":49,"tag":96,"props":9546,"children":9547},{"__ignoreMap":152},[9548,9555,9590,9626,9794,9849,9872,9908,9932,9969,9993,10195,10396,10404,10411],{"type":49,"tag":158,"props":9549,"children":9550},{"class":160,"line":161},[9551],{"type":49,"tag":158,"props":9552,"children":9553},{"style":182},[9554],{"type":58,"value":3495},{"type":49,"tag":158,"props":9556,"children":9557},{"class":160,"line":202},[9558,9562,9566,9570,9574,9578,9582,9586],{"type":49,"tag":158,"props":9559,"children":9560},{"style":182},[9561],{"type":58,"value":2025},{"type":49,"tag":158,"props":9563,"children":9564},{"style":2909},[9565],{"type":58,"value":3962},{"type":49,"tag":158,"props":9567,"children":9568},{"style":182},[9569],{"type":58,"value":235},{"type":49,"tag":158,"props":9571,"children":9572},{"style":182},[9573],{"type":58,"value":527},{"type":49,"tag":158,"props":9575,"children":9576},{"style":182},[9577],{"type":58,"value":1193},{"type":49,"tag":158,"props":9579,"children":9580},{"style":171},[9581],{"type":58,"value":9364},{"type":49,"tag":158,"props":9583,"children":9584},{"style":182},[9585],{"type":58,"value":235},{"type":49,"tag":158,"props":9587,"children":9588},{"style":182},[9589],{"type":58,"value":3531},{"type":49,"tag":158,"props":9591,"children":9592},{"class":160,"line":740},[9593,9597,9601,9605,9609,9613,9618,9622],{"type":49,"tag":158,"props":9594,"children":9595},{"style":182},[9596],{"type":58,"value":2025},{"type":49,"tag":158,"props":9598,"children":9599},{"style":2909},[9600],{"type":58,"value":3402},{"type":49,"tag":158,"props":9602,"children":9603},{"style":182},[9604],{"type":58,"value":235},{"type":49,"tag":158,"props":9606,"children":9607},{"style":182},[9608],{"type":58,"value":527},{"type":49,"tag":158,"props":9610,"children":9611},{"style":182},[9612],{"type":58,"value":1193},{"type":49,"tag":158,"props":9614,"children":9615},{"style":171},[9616],{"type":58,"value":9617},"\u003CPrefix>_\u003CColumnName>",{"type":49,"tag":158,"props":9619,"children":9620},{"style":182},[9621],{"type":58,"value":235},{"type":49,"tag":158,"props":9623,"children":9624},{"style":182},[9625],{"type":58,"value":3531},{"type":49,"tag":158,"props":9627,"children":9628},{"class":160,"line":763},[9629,9633,9637,9641,9645,9649,9653,9657,9661,9665,9669,9673,9677,9681,9685,9689,9693,9697,9701,9705,9709,9713,9717,9721,9725,9729,9733,9737,9741,9745,9749,9753,9758,9762,9766,9770,9774,9778,9782,9786,9790],{"type":49,"tag":158,"props":9630,"children":9631},{"style":182},[9632],{"type":58,"value":2025},{"type":49,"tag":158,"props":9634,"children":9635},{"style":2909},[9636],{"type":58,"value":4034},{"type":49,"tag":158,"props":9638,"children":9639},{"style":182},[9640],{"type":58,"value":235},{"type":49,"tag":158,"props":9642,"children":9643},{"style":182},[9644],{"type":58,"value":527},{"type":49,"tag":158,"props":9646,"children":9647},{"style":182},[9648],{"type":58,"value":4047},{"type":49,"tag":158,"props":9650,"children":9651},{"style":182},[9652],{"type":58,"value":1193},{"type":49,"tag":158,"props":9654,"children":9655},{"style":206},[9656],{"type":58,"value":3962},{"type":49,"tag":158,"props":9658,"children":9659},{"style":182},[9660],{"type":58,"value":235},{"type":49,"tag":158,"props":9662,"children":9663},{"style":182},[9664],{"type":58,"value":527},{"type":49,"tag":158,"props":9666,"children":9667},{"style":182},[9668],{"type":58,"value":1193},{"type":49,"tag":158,"props":9670,"children":9671},{"style":171},[9672],{"type":58,"value":4072},{"type":49,"tag":158,"props":9674,"children":9675},{"style":182},[9676],{"type":58,"value":235},{"type":49,"tag":158,"props":9678,"children":9679},{"style":182},[9680],{"type":58,"value":3427},{"type":49,"tag":158,"props":9682,"children":9683},{"style":182},[9684],{"type":58,"value":1193},{"type":49,"tag":158,"props":9686,"children":9687},{"style":206},[9688],{"type":58,"value":4089},{"type":49,"tag":158,"props":9690,"children":9691},{"style":182},[9692],{"type":58,"value":235},{"type":49,"tag":158,"props":9694,"children":9695},{"style":182},[9696],{"type":58,"value":527},{"type":49,"tag":158,"props":9698,"children":9699},{"style":182},[9700],{"type":58,"value":3448},{"type":49,"tag":158,"props":9702,"children":9703},{"style":182},[9704],{"type":58,"value":1193},{"type":49,"tag":158,"props":9706,"children":9707},{"style":823},[9708],{"type":58,"value":3962},{"type":49,"tag":158,"props":9710,"children":9711},{"style":182},[9712],{"type":58,"value":235},{"type":49,"tag":158,"props":9714,"children":9715},{"style":182},[9716],{"type":58,"value":527},{"type":49,"tag":158,"props":9718,"children":9719},{"style":182},[9720],{"type":58,"value":1193},{"type":49,"tag":158,"props":9722,"children":9723},{"style":171},[9724],{"type":58,"value":7426},{"type":49,"tag":158,"props":9726,"children":9727},{"style":182},[9728],{"type":58,"value":235},{"type":49,"tag":158,"props":9730,"children":9731},{"style":182},[9732],{"type":58,"value":3427},{"type":49,"tag":158,"props":9734,"children":9735},{"style":182},[9736],{"type":58,"value":1193},{"type":49,"tag":158,"props":9738,"children":9739},{"style":823},[9740],{"type":58,"value":4110},{"type":49,"tag":158,"props":9742,"children":9743},{"style":182},[9744],{"type":58,"value":235},{"type":49,"tag":158,"props":9746,"children":9747},{"style":182},[9748],{"type":58,"value":527},{"type":49,"tag":158,"props":9750,"children":9751},{"style":182},[9752],{"type":58,"value":1193},{"type":49,"tag":158,"props":9754,"children":9755},{"style":171},[9756],{"type":58,"value":9757},"\u003CDisplay Name>",{"type":49,"tag":158,"props":9759,"children":9760},{"style":182},[9761],{"type":58,"value":235},{"type":49,"tag":158,"props":9763,"children":9764},{"style":182},[9765],{"type":58,"value":3427},{"type":49,"tag":158,"props":9767,"children":9768},{"style":182},[9769],{"type":58,"value":1193},{"type":49,"tag":158,"props":9771,"children":9772},{"style":823},[9773],{"type":58,"value":4144},{"type":49,"tag":158,"props":9775,"children":9776},{"style":182},[9777],{"type":58,"value":235},{"type":49,"tag":158,"props":9779,"children":9780},{"style":182},[9781],{"type":58,"value":527},{"type":49,"tag":158,"props":9783,"children":9784},{"style":823},[9785],{"type":58,"value":4157},{"type":49,"tag":158,"props":9787,"children":9788},{"style":182},[9789],{"type":58,"value":3458},{"type":49,"tag":158,"props":9791,"children":9792},{"style":182},[9793],{"type":58,"value":3573},{"type":49,"tag":158,"props":9795,"children":9796},{"class":160,"line":781},[9797,9801,9805,9809,9813,9817,9821,9825,9829,9833,9837,9841,9845],{"type":49,"tag":158,"props":9798,"children":9799},{"style":182},[9800],{"type":58,"value":2025},{"type":49,"tag":158,"props":9802,"children":9803},{"style":2909},[9804],{"type":58,"value":4819},{"type":49,"tag":158,"props":9806,"children":9807},{"style":182},[9808],{"type":58,"value":235},{"type":49,"tag":158,"props":9810,"children":9811},{"style":182},[9812],{"type":58,"value":527},{"type":49,"tag":158,"props":9814,"children":9815},{"style":182},[9816],{"type":58,"value":4047},{"type":49,"tag":158,"props":9818,"children":9819},{"style":182},[9820],{"type":58,"value":1193},{"type":49,"tag":158,"props":9822,"children":9823},{"style":206},[9824],{"type":58,"value":4781},{"type":49,"tag":158,"props":9826,"children":9827},{"style":182},[9828],{"type":58,"value":235},{"type":49,"tag":158,"props":9830,"children":9831},{"style":182},[9832],{"type":58,"value":527},{"type":49,"tag":158,"props":9834,"children":9835},{"style":182},[9836],{"type":58,"value":1193},{"type":49,"tag":158,"props":9838,"children":9839},{"style":171},[9840],{"type":58,"value":5251},{"type":49,"tag":158,"props":9842,"children":9843},{"style":182},[9844],{"type":58,"value":235},{"type":49,"tag":158,"props":9846,"children":9847},{"style":182},[9848],{"type":58,"value":3573},{"type":49,"tag":158,"props":9850,"children":9851},{"class":160,"line":805},[9852,9856,9860,9864,9868],{"type":49,"tag":158,"props":9853,"children":9854},{"style":182},[9855],{"type":58,"value":2025},{"type":49,"tag":158,"props":9857,"children":9858},{"style":2909},[9859],{"type":58,"value":5955},{"type":49,"tag":158,"props":9861,"children":9862},{"style":182},[9863],{"type":58,"value":235},{"type":49,"tag":158,"props":9865,"children":9866},{"style":182},[9867],{"type":58,"value":527},{"type":49,"tag":158,"props":9869,"children":9870},{"style":182},[9871],{"type":58,"value":5968},{"type":49,"tag":158,"props":9873,"children":9874},{"class":160,"line":834},[9875,9879,9883,9887,9891,9895,9900,9904],{"type":49,"tag":158,"props":9876,"children":9877},{"style":182},[9878],{"type":58,"value":7261},{"type":49,"tag":158,"props":9880,"children":9881},{"style":206},[9882],{"type":58,"value":3962},{"type":49,"tag":158,"props":9884,"children":9885},{"style":182},[9886],{"type":58,"value":235},{"type":49,"tag":158,"props":9888,"children":9889},{"style":182},[9890],{"type":58,"value":527},{"type":49,"tag":158,"props":9892,"children":9893},{"style":182},[9894],{"type":58,"value":1193},{"type":49,"tag":158,"props":9896,"children":9897},{"style":171},[9898],{"type":58,"value":9899},"Microsoft.Dynamics.CRM.OptionSetMetadata",{"type":49,"tag":158,"props":9901,"children":9902},{"style":182},[9903],{"type":58,"value":235},{"type":49,"tag":158,"props":9905,"children":9906},{"style":182},[9907],{"type":58,"value":3531},{"type":49,"tag":158,"props":9909,"children":9910},{"class":160,"line":3624},[9911,9915,9920,9924,9928],{"type":49,"tag":158,"props":9912,"children":9913},{"style":182},[9914],{"type":58,"value":7261},{"type":49,"tag":158,"props":9916,"children":9917},{"style":206},[9918],{"type":58,"value":9919},"IsGlobal",{"type":49,"tag":158,"props":9921,"children":9922},{"style":182},[9923],{"type":58,"value":235},{"type":49,"tag":158,"props":9925,"children":9926},{"style":182},[9927],{"type":58,"value":527},{"type":49,"tag":158,"props":9929,"children":9930},{"style":182},[9931],{"type":58,"value":4364},{"type":49,"tag":158,"props":9933,"children":9934},{"class":160,"line":3641},[9935,9939,9944,9948,9952,9956,9961,9965],{"type":49,"tag":158,"props":9936,"children":9937},{"style":182},[9938],{"type":58,"value":7261},{"type":49,"tag":158,"props":9940,"children":9941},{"style":206},[9942],{"type":58,"value":9943},"OptionSetType",{"type":49,"tag":158,"props":9945,"children":9946},{"style":182},[9947],{"type":58,"value":235},{"type":49,"tag":158,"props":9949,"children":9950},{"style":182},[9951],{"type":58,"value":527},{"type":49,"tag":158,"props":9953,"children":9954},{"style":182},[9955],{"type":58,"value":1193},{"type":49,"tag":158,"props":9957,"children":9958},{"style":171},[9959],{"type":58,"value":9960},"Picklist",{"type":49,"tag":158,"props":9962,"children":9963},{"style":182},[9964],{"type":58,"value":235},{"type":49,"tag":158,"props":9966,"children":9967},{"style":182},[9968],{"type":58,"value":3531},{"type":49,"tag":158,"props":9970,"children":9971},{"class":160,"line":3650},[9972,9976,9981,9985,9989],{"type":49,"tag":158,"props":9973,"children":9974},{"style":182},[9975],{"type":58,"value":7261},{"type":49,"tag":158,"props":9977,"children":9978},{"style":206},[9979],{"type":58,"value":9980},"Options",{"type":49,"tag":158,"props":9982,"children":9983},{"style":182},[9984],{"type":58,"value":235},{"type":49,"tag":158,"props":9986,"children":9987},{"style":182},[9988],{"type":58,"value":527},{"type":49,"tag":158,"props":9990,"children":9991},{"style":182},[9992],{"type":58,"value":3555},{"type":49,"tag":158,"props":9994,"children":9995},{"class":160,"line":4438},[9996,10001,10005,10009,10013,10017,10022,10026,10030,10034,10038,10042,10046,10050,10054,10058,10062,10066,10070,10074,10078,10082,10086,10090,10094,10098,10102,10106,10110,10114,10118,10122,10126,10130,10134,10138,10142,10146,10150,10155,10159,10163,10167,10171,10175,10179,10183,10187,10191],{"type":49,"tag":158,"props":9997,"children":9998},{"style":182},[9999],{"type":58,"value":10000},"      {",{"type":49,"tag":158,"props":10002,"children":10003},{"style":182},[10004],{"type":58,"value":1193},{"type":49,"tag":158,"props":10006,"children":10007},{"style":823},[10008],{"type":58,"value":4781},{"type":49,"tag":158,"props":10010,"children":10011},{"style":182},[10012],{"type":58,"value":235},{"type":49,"tag":158,"props":10014,"children":10015},{"style":182},[10016],{"type":58,"value":527},{"type":49,"tag":158,"props":10018,"children":10019},{"style":823},[10020],{"type":58,"value":10021}," 100000000",{"type":49,"tag":158,"props":10023,"children":10024},{"style":182},[10025],{"type":58,"value":3427},{"type":49,"tag":158,"props":10027,"children":10028},{"style":182},[10029],{"type":58,"value":1193},{"type":49,"tag":158,"props":10031,"children":10032},{"style":823},[10033],{"type":58,"value":4110},{"type":49,"tag":158,"props":10035,"children":10036},{"style":182},[10037],{"type":58,"value":235},{"type":49,"tag":158,"props":10039,"children":10040},{"style":182},[10041],{"type":58,"value":527},{"type":49,"tag":158,"props":10043,"children":10044},{"style":182},[10045],{"type":58,"value":4047},{"type":49,"tag":158,"props":10047,"children":10048},{"style":182},[10049],{"type":58,"value":1193},{"type":49,"tag":158,"props":10051,"children":10052},{"style":712},[10053],{"type":58,"value":3962},{"type":49,"tag":158,"props":10055,"children":10056},{"style":182},[10057],{"type":58,"value":235},{"type":49,"tag":158,"props":10059,"children":10060},{"style":182},[10061],{"type":58,"value":527},{"type":49,"tag":158,"props":10063,"children":10064},{"style":182},[10065],{"type":58,"value":1193},{"type":49,"tag":158,"props":10067,"children":10068},{"style":171},[10069],{"type":58,"value":4072},{"type":49,"tag":158,"props":10071,"children":10072},{"style":182},[10073],{"type":58,"value":235},{"type":49,"tag":158,"props":10075,"children":10076},{"style":182},[10077],{"type":58,"value":3427},{"type":49,"tag":158,"props":10079,"children":10080},{"style":182},[10081],{"type":58,"value":1193},{"type":49,"tag":158,"props":10083,"children":10084},{"style":712},[10085],{"type":58,"value":4089},{"type":49,"tag":158,"props":10087,"children":10088},{"style":182},[10089],{"type":58,"value":235},{"type":49,"tag":158,"props":10091,"children":10092},{"style":182},[10093],{"type":58,"value":527},{"type":49,"tag":158,"props":10095,"children":10096},{"style":182},[10097],{"type":58,"value":3448},{"type":49,"tag":158,"props":10099,"children":10100},{"style":182},[10101],{"type":58,"value":1193},{"type":49,"tag":158,"props":10103,"children":10104},{"style":6083},[10105],{"type":58,"value":3962},{"type":49,"tag":158,"props":10107,"children":10108},{"style":182},[10109],{"type":58,"value":235},{"type":49,"tag":158,"props":10111,"children":10112},{"style":182},[10113],{"type":58,"value":527},{"type":49,"tag":158,"props":10115,"children":10116},{"style":182},[10117],{"type":58,"value":1193},{"type":49,"tag":158,"props":10119,"children":10120},{"style":171},[10121],{"type":58,"value":7426},{"type":49,"tag":158,"props":10123,"children":10124},{"style":182},[10125],{"type":58,"value":235},{"type":49,"tag":158,"props":10127,"children":10128},{"style":182},[10129],{"type":58,"value":3427},{"type":49,"tag":158,"props":10131,"children":10132},{"style":182},[10133],{"type":58,"value":1193},{"type":49,"tag":158,"props":10135,"children":10136},{"style":6083},[10137],{"type":58,"value":4110},{"type":49,"tag":158,"props":10139,"children":10140},{"style":182},[10141],{"type":58,"value":235},{"type":49,"tag":158,"props":10143,"children":10144},{"style":182},[10145],{"type":58,"value":527},{"type":49,"tag":158,"props":10147,"children":10148},{"style":182},[10149],{"type":58,"value":1193},{"type":49,"tag":158,"props":10151,"children":10152},{"style":171},[10153],{"type":58,"value":10154},"Option 1",{"type":49,"tag":158,"props":10156,"children":10157},{"style":182},[10158],{"type":58,"value":235},{"type":49,"tag":158,"props":10160,"children":10161},{"style":182},[10162],{"type":58,"value":3427},{"type":49,"tag":158,"props":10164,"children":10165},{"style":182},[10166],{"type":58,"value":1193},{"type":49,"tag":158,"props":10168,"children":10169},{"style":6083},[10170],{"type":58,"value":4144},{"type":49,"tag":158,"props":10172,"children":10173},{"style":182},[10174],{"type":58,"value":235},{"type":49,"tag":158,"props":10176,"children":10177},{"style":182},[10178],{"type":58,"value":527},{"type":49,"tag":158,"props":10180,"children":10181},{"style":823},[10182],{"type":58,"value":4157},{"type":49,"tag":158,"props":10184,"children":10185},{"style":182},[10186],{"type":58,"value":3458},{"type":49,"tag":158,"props":10188,"children":10189},{"style":182},[10190],{"type":58,"value":6191},{"type":49,"tag":158,"props":10192,"children":10193},{"style":182},[10194],{"type":58,"value":3573},{"type":49,"tag":158,"props":10196,"children":10197},{"class":160,"line":4476},[10198,10202,10206,10210,10214,10218,10223,10227,10231,10235,10239,10243,10247,10251,10255,10259,10263,10267,10271,10275,10279,10283,10287,10291,10295,10299,10303,10307,10311,10315,10319,10323,10327,10331,10335,10339,10343,10347,10351,10356,10360,10364,10368,10372,10376,10380,10384,10388,10392],{"type":49,"tag":158,"props":10199,"children":10200},{"style":182},[10201],{"type":58,"value":10000},{"type":49,"tag":158,"props":10203,"children":10204},{"style":182},[10205],{"type":58,"value":1193},{"type":49,"tag":158,"props":10207,"children":10208},{"style":823},[10209],{"type":58,"value":4781},{"type":49,"tag":158,"props":10211,"children":10212},{"style":182},[10213],{"type":58,"value":235},{"type":49,"tag":158,"props":10215,"children":10216},{"style":182},[10217],{"type":58,"value":527},{"type":49,"tag":158,"props":10219,"children":10220},{"style":823},[10221],{"type":58,"value":10222}," 100000001",{"type":49,"tag":158,"props":10224,"children":10225},{"style":182},[10226],{"type":58,"value":3427},{"type":49,"tag":158,"props":10228,"children":10229},{"style":182},[10230],{"type":58,"value":1193},{"type":49,"tag":158,"props":10232,"children":10233},{"style":823},[10234],{"type":58,"value":4110},{"type":49,"tag":158,"props":10236,"children":10237},{"style":182},[10238],{"type":58,"value":235},{"type":49,"tag":158,"props":10240,"children":10241},{"style":182},[10242],{"type":58,"value":527},{"type":49,"tag":158,"props":10244,"children":10245},{"style":182},[10246],{"type":58,"value":4047},{"type":49,"tag":158,"props":10248,"children":10249},{"style":182},[10250],{"type":58,"value":1193},{"type":49,"tag":158,"props":10252,"children":10253},{"style":712},[10254],{"type":58,"value":3962},{"type":49,"tag":158,"props":10256,"children":10257},{"style":182},[10258],{"type":58,"value":235},{"type":49,"tag":158,"props":10260,"children":10261},{"style":182},[10262],{"type":58,"value":527},{"type":49,"tag":158,"props":10264,"children":10265},{"style":182},[10266],{"type":58,"value":1193},{"type":49,"tag":158,"props":10268,"children":10269},{"style":171},[10270],{"type":58,"value":4072},{"type":49,"tag":158,"props":10272,"children":10273},{"style":182},[10274],{"type":58,"value":235},{"type":49,"tag":158,"props":10276,"children":10277},{"style":182},[10278],{"type":58,"value":3427},{"type":49,"tag":158,"props":10280,"children":10281},{"style":182},[10282],{"type":58,"value":1193},{"type":49,"tag":158,"props":10284,"children":10285},{"style":712},[10286],{"type":58,"value":4089},{"type":49,"tag":158,"props":10288,"children":10289},{"style":182},[10290],{"type":58,"value":235},{"type":49,"tag":158,"props":10292,"children":10293},{"style":182},[10294],{"type":58,"value":527},{"type":49,"tag":158,"props":10296,"children":10297},{"style":182},[10298],{"type":58,"value":3448},{"type":49,"tag":158,"props":10300,"children":10301},{"style":182},[10302],{"type":58,"value":1193},{"type":49,"tag":158,"props":10304,"children":10305},{"style":6083},[10306],{"type":58,"value":3962},{"type":49,"tag":158,"props":10308,"children":10309},{"style":182},[10310],{"type":58,"value":235},{"type":49,"tag":158,"props":10312,"children":10313},{"style":182},[10314],{"type":58,"value":527},{"type":49,"tag":158,"props":10316,"children":10317},{"style":182},[10318],{"type":58,"value":1193},{"type":49,"tag":158,"props":10320,"children":10321},{"style":171},[10322],{"type":58,"value":7426},{"type":49,"tag":158,"props":10324,"children":10325},{"style":182},[10326],{"type":58,"value":235},{"type":49,"tag":158,"props":10328,"children":10329},{"style":182},[10330],{"type":58,"value":3427},{"type":49,"tag":158,"props":10332,"children":10333},{"style":182},[10334],{"type":58,"value":1193},{"type":49,"tag":158,"props":10336,"children":10337},{"style":6083},[10338],{"type":58,"value":4110},{"type":49,"tag":158,"props":10340,"children":10341},{"style":182},[10342],{"type":58,"value":235},{"type":49,"tag":158,"props":10344,"children":10345},{"style":182},[10346],{"type":58,"value":527},{"type":49,"tag":158,"props":10348,"children":10349},{"style":182},[10350],{"type":58,"value":1193},{"type":49,"tag":158,"props":10352,"children":10353},{"style":171},[10354],{"type":58,"value":10355},"Option 2",{"type":49,"tag":158,"props":10357,"children":10358},{"style":182},[10359],{"type":58,"value":235},{"type":49,"tag":158,"props":10361,"children":10362},{"style":182},[10363],{"type":58,"value":3427},{"type":49,"tag":158,"props":10365,"children":10366},{"style":182},[10367],{"type":58,"value":1193},{"type":49,"tag":158,"props":10369,"children":10370},{"style":6083},[10371],{"type":58,"value":4144},{"type":49,"tag":158,"props":10373,"children":10374},{"style":182},[10375],{"type":58,"value":235},{"type":49,"tag":158,"props":10377,"children":10378},{"style":182},[10379],{"type":58,"value":527},{"type":49,"tag":158,"props":10381,"children":10382},{"style":823},[10383],{"type":58,"value":4157},{"type":49,"tag":158,"props":10385,"children":10386},{"style":182},[10387],{"type":58,"value":3458},{"type":49,"tag":158,"props":10389,"children":10390},{"style":182},[10391],{"type":58,"value":6191},{"type":49,"tag":158,"props":10393,"children":10394},{"style":182},[10395],{"type":58,"value":2938},{"type":49,"tag":158,"props":10397,"children":10398},{"class":160,"line":4500},[10399],{"type":49,"tag":158,"props":10400,"children":10401},{"style":182},[10402],{"type":58,"value":10403},"    ]\n",{"type":49,"tag":158,"props":10405,"children":10406},{"class":160,"line":4509},[10407],{"type":49,"tag":158,"props":10408,"children":10409},{"style":182},[10410],{"type":58,"value":7955},{"type":49,"tag":158,"props":10412,"children":10413},{"class":160,"line":4547},[10414],{"type":49,"tag":158,"props":10415,"children":10416},{"style":182},[10417],{"type":58,"value":3656},{"type":49,"tag":85,"props":10419,"children":10420},{},[10421,10425,10426,10432,10433,10438,10439,10444],{"type":49,"tag":54,"props":10422,"children":10423},{},[10424],{"type":58,"value":9439},{"type":58,"value":3032},{"type":49,"tag":96,"props":10427,"children":10429},{"className":10428},[],[10430],{"type":58,"value":10431},"@odata.type: Microsoft.Dynamics.CRM.ImageAttributeMetadata",{"type":58,"value":442},{"type":49,"tag":96,"props":10434,"children":10436},{"className":10435},[],[10437],{"type":58,"value":9457},{"type":58,"value":9342},{"type":49,"tag":96,"props":10440,"children":10442},{"className":10441},[],[10443],{"type":58,"value":9464},{"type":58,"value":10445}," required",{"type":49,"tag":85,"props":10447,"children":10448},{},[10449,10453,10454,10460,10461,10466],{"type":49,"tag":54,"props":10450,"children":10451},{},[10452],{"type":58,"value":9472},{"type":58,"value":3032},{"type":49,"tag":96,"props":10455,"children":10457},{"className":10456},[],[10458],{"type":58,"value":10459},"@odata.type: Microsoft.Dynamics.CRM.FileAttributeMetadata",{"type":58,"value":442},{"type":49,"tag":96,"props":10462,"children":10464},{"className":10463},[],[10465],{"type":58,"value":9490},{"type":58,"value":10445},{"type":49,"tag":50,"props":10468,"children":10469},{},[10470],{"type":58,"value":10471},"If the column type is not a simple string\u002Fint\u002Fboolean, surface a one-line confirmation to the user before posting.",{"type":49,"tag":50,"props":10473,"children":10474},{},[10475],{"type":58,"value":10476},"After all mutations, re-run the existing-tables query (Step 4) to confirm everything landed.",{"type":49,"tag":135,"props":10478,"children":10480},{"id":10479},"step-5c-create-calculated-columns-from-cross-entity-reads",[10481,10483],{"type":58,"value":10482},"Step 5c — Create calculated columns from ",{"type":49,"tag":96,"props":10484,"children":10486},{"className":10485},[],[10487],{"type":58,"value":10488},"### Cross-entity Reads",{"type":49,"tag":50,"props":10490,"children":10491},{},[10492],{"type":49,"tag":54,"props":10493,"children":10494},{},[10495],{"type":58,"value":1945},{"type":49,"tag":529,"props":10497,"children":10498},{},[10499],{"type":49,"tag":50,"props":10500,"children":10501},{},[10502],{"type":58,"value":10503},"\"→ Creating calculated columns from the plan's ### Cross-entity Reads subsection (one HTTP call per row). Skip if the subsection is absent.\"",{"type":49,"tag":50,"props":10505,"children":10506},{},[10507,10512,10514,10520,10522,10527,10529,10534,10536,10541],{"type":49,"tag":54,"props":10508,"children":10509},{},[10510],{"type":58,"value":10511},"Run condition:",{"type":58,"value":10513}," the planner \u002F data-model-architect emits a ",{"type":49,"tag":96,"props":10515,"children":10517},{"className":10516},[],[10518],{"type":58,"value":10519},"### Cross-entity Reads (auto-derived from screen plan)",{"type":58,"value":10521}," subsection inside ",{"type":49,"tag":96,"props":10523,"children":10525},{"className":10524},[],[10526],{"type":58,"value":396},{"type":58,"value":10528}," of ",{"type":49,"tag":96,"props":10530,"children":10532},{"className":10531},[],[10533],{"type":58,"value":355},{"type":58,"value":10535}," when the screen plan reads any field from a related entity. Parse that subsection. If absent or empty, ",{"type":49,"tag":54,"props":10537,"children":10538},{},[10539],{"type":58,"value":10540},"skip Step 5c entirely",{"type":58,"value":10542}," — proceed to Step 6.",{"type":49,"tag":50,"props":10544,"children":10545},{},[10546,10548,10560,10562,10568,10570,10576],{"type":58,"value":10547},"This step exists because of the runtime constraint documented at ",{"type":49,"tag":61,"props":10549,"children":10551},{"href":10550},"$%7BPLUGIN_ROOT%7D\u002Fshared\u002Freferences\u002Fdata-performance.md#cross-entity-reads",[10552,10558],{"type":49,"tag":96,"props":10553,"children":10555},{"className":10554},[],[10556],{"type":58,"value":10557},"shared\u002Freferences\u002Fdata-performance.md",{"type":58,"value":10559}," § Cross-entity Reads",{"type":58,"value":10561},": the SDK has no ",{"type":49,"tag":96,"props":10563,"children":10565},{"className":10564},[],[10566],{"type":58,"value":10567},"$expand",{"type":58,"value":10569},", so cross-entity fields on hot paths (lists, dashboards, tab roots) MUST be denormalized via calculated columns at the data-model layer. The ",{"type":49,"tag":96,"props":10571,"children":10573},{"className":10572},[],[10574],{"type":58,"value":10575},"### Chained-fetch fields (informational)",{"type":58,"value":10577}," subsection (if present) is documentation only — the screen-builder handles those at scaffold time, no schema change.",{"type":49,"tag":50,"props":10579,"children":10580},{},[10581],{"type":49,"tag":54,"props":10582,"children":10583},{},[10584],{"type":58,"value":10585},"Algorithm:",{"type":49,"tag":122,"props":10587,"children":10588},{},[10589,10608,10618,10886,10904,10944],{"type":49,"tag":85,"props":10590,"children":10591},{},[10592,10594,10599,10601,10607],{"type":58,"value":10593},"Parse the ",{"type":49,"tag":96,"props":10595,"children":10597},{"className":10596},[],[10598],{"type":58,"value":10488},{"type":58,"value":10600}," table. Each row has columns: ",{"type":49,"tag":96,"props":10602,"children":10604},{"className":10603},[],[10605],{"type":58,"value":10606},"Calc column | On table | Type | Resolves | Driven by",{"type":58,"value":892},{"type":49,"tag":85,"props":10609,"children":10610},{},[10611,10616],{"type":49,"tag":54,"props":10612,"children":10613},{},[10614],{"type":58,"value":10615},"Run AFTER all regular columns + relationships from Step 5b have been created",{"type":58,"value":10617}," (the formula chain references real columns + lookups; creating the calc column before its dependencies returns HTTP 400 from Dataverse).",{"type":49,"tag":85,"props":10619,"children":10620},{},[10621,10626,10628],{"type":49,"tag":54,"props":10622,"children":10623},{},[10624],{"type":58,"value":10625},"Per row",{"type":58,"value":10627},", invoke the helper:",{"type":49,"tag":147,"props":10629,"children":10631},{"className":149,"code":10630,"language":151,"meta":152,"style":152},"node \"${PLUGIN_ROOT}\u002Fscripts\u002Fcreate-calculated-column.js\" \u003CenvUrl> \\\n  --table \u003Con-table> \\\n  --column \u003Ccalc-column-logical-name> \\\n  --type \u003CType column verbatim: string|datetime|decimal|integer|boolean> \\\n  --formula \"\u003Cdotted path from Resolves column, e.g. cr3e9_flightid.cr3e9_gateid.cr3e9_gatename>\" \\\n  --display \"\u003Chuman-friendly label inferred from the column name minus _calc suffix>\" \\\n  --solution '\u003Csolution-uniquename-from-memory-bank>'\n",[10632],{"type":49,"tag":96,"props":10633,"children":10634},{"__ignoreMap":152},[10635,10684,10714,10743,10817,10842,10867],{"type":49,"tag":158,"props":10636,"children":10637},{"class":160,"line":161},[10638,10642,10646,10651,10655,10660,10664,10668,10672,10676,10680],{"type":49,"tag":158,"props":10639,"children":10640},{"style":206},[10641],{"type":58,"value":209},{"type":49,"tag":158,"props":10643,"children":10644},{"style":182},[10645],{"type":58,"value":214},{"type":49,"tag":158,"props":10647,"children":10648},{"style":217},[10649],{"type":58,"value":10650},"PLUGIN_ROOT",{"type":49,"tag":158,"props":10652,"children":10653},{"style":182},[10654],{"type":58,"value":225},{"type":49,"tag":158,"props":10656,"children":10657},{"style":171},[10658],{"type":58,"value":10659},"\u002Fscripts\u002Fcreate-calculated-column.js",{"type":49,"tag":158,"props":10661,"children":10662},{"style":182},[10663],{"type":58,"value":235},{"type":49,"tag":158,"props":10665,"children":10666},{"style":182},[10667],{"type":58,"value":1340},{"type":49,"tag":158,"props":10669,"children":10670},{"style":171},[10671],{"type":58,"value":1502},{"type":49,"tag":158,"props":10673,"children":10674},{"style":217},[10675],{"type":58,"value":1507},{"type":49,"tag":158,"props":10677,"children":10678},{"style":182},[10679],{"type":58,"value":1355},{"type":49,"tag":158,"props":10681,"children":10682},{"style":217},[10683],{"type":58,"value":2017},{"type":49,"tag":158,"props":10685,"children":10686},{"class":160,"line":202},[10687,10692,10696,10701,10706,10710],{"type":49,"tag":158,"props":10688,"children":10689},{"style":171},[10690],{"type":58,"value":10691},"  --table",{"type":49,"tag":158,"props":10693,"children":10694},{"style":182},[10695],{"type":58,"value":1340},{"type":49,"tag":158,"props":10697,"children":10698},{"style":171},[10699],{"type":58,"value":10700},"on-tabl",{"type":49,"tag":158,"props":10702,"children":10703},{"style":217},[10704],{"type":58,"value":10705},"e",{"type":49,"tag":158,"props":10707,"children":10708},{"style":182},[10709],{"type":58,"value":1355},{"type":49,"tag":158,"props":10711,"children":10712},{"style":217},[10713],{"type":58,"value":2017},{"type":49,"tag":158,"props":10715,"children":10716},{"class":160,"line":740},[10717,10722,10726,10731,10735,10739],{"type":49,"tag":158,"props":10718,"children":10719},{"style":171},[10720],{"type":58,"value":10721},"  --column",{"type":49,"tag":158,"props":10723,"children":10724},{"style":182},[10725],{"type":58,"value":1340},{"type":49,"tag":158,"props":10727,"children":10728},{"style":171},[10729],{"type":58,"value":10730},"calc-column-logical-nam",{"type":49,"tag":158,"props":10732,"children":10733},{"style":217},[10734],{"type":58,"value":10705},{"type":49,"tag":158,"props":10736,"children":10737},{"style":182},[10738],{"type":58,"value":1355},{"type":49,"tag":158,"props":10740,"children":10741},{"style":217},[10742],{"type":58,"value":2017},{"type":49,"tag":158,"props":10744,"children":10745},{"class":160,"line":763},[10746,10751,10755,10760,10765,10770,10775,10780,10785,10789,10794,10798,10803,10807,10812],{"type":49,"tag":158,"props":10747,"children":10748},{"style":171},[10749],{"type":58,"value":10750},"  --type",{"type":49,"tag":158,"props":10752,"children":10753},{"style":182},[10754],{"type":58,"value":1340},{"type":49,"tag":158,"props":10756,"children":10757},{"style":171},[10758],{"type":58,"value":10759},"Type",{"type":49,"tag":158,"props":10761,"children":10762},{"style":171},[10763],{"type":58,"value":10764}," column",{"type":49,"tag":158,"props":10766,"children":10767},{"style":171},[10768],{"type":58,"value":10769}," verbatim:",{"type":49,"tag":158,"props":10771,"children":10772},{"style":171},[10773],{"type":58,"value":10774}," string",{"type":49,"tag":158,"props":10776,"children":10777},{"style":182},[10778],{"type":58,"value":10779},"|",{"type":49,"tag":158,"props":10781,"children":10782},{"style":206},[10783],{"type":58,"value":10784},"datetime",{"type":49,"tag":158,"props":10786,"children":10787},{"style":182},[10788],{"type":58,"value":10779},{"type":49,"tag":158,"props":10790,"children":10791},{"style":206},[10792],{"type":58,"value":10793},"decimal",{"type":49,"tag":158,"props":10795,"children":10796},{"style":182},[10797],{"type":58,"value":10779},{"type":49,"tag":158,"props":10799,"children":10800},{"style":206},[10801],{"type":58,"value":10802},"integer",{"type":49,"tag":158,"props":10804,"children":10805},{"style":182},[10806],{"type":58,"value":10779},{"type":49,"tag":158,"props":10808,"children":10809},{"style":206},[10810],{"type":58,"value":10811},"boolean",{"type":49,"tag":158,"props":10813,"children":10814},{"style":217},[10815],{"type":58,"value":10816},"> \\\n",{"type":49,"tag":158,"props":10818,"children":10819},{"class":160,"line":781},[10820,10825,10829,10834,10838],{"type":49,"tag":158,"props":10821,"children":10822},{"style":171},[10823],{"type":58,"value":10824},"  --formula",{"type":49,"tag":158,"props":10826,"children":10827},{"style":182},[10828],{"type":58,"value":1193},{"type":49,"tag":158,"props":10830,"children":10831},{"style":171},[10832],{"type":58,"value":10833},"\u003Cdotted path from Resolves column, e.g. cr3e9_flightid.cr3e9_gateid.cr3e9_gatename>",{"type":49,"tag":158,"props":10835,"children":10836},{"style":182},[10837],{"type":58,"value":235},{"type":49,"tag":158,"props":10839,"children":10840},{"style":217},[10841],{"type":58,"value":2017},{"type":49,"tag":158,"props":10843,"children":10844},{"class":160,"line":805},[10845,10850,10854,10859,10863],{"type":49,"tag":158,"props":10846,"children":10847},{"style":171},[10848],{"type":58,"value":10849},"  --display",{"type":49,"tag":158,"props":10851,"children":10852},{"style":182},[10853],{"type":58,"value":1193},{"type":49,"tag":158,"props":10855,"children":10856},{"style":171},[10857],{"type":58,"value":10858},"\u003Chuman-friendly label inferred from the column name minus _calc suffix>",{"type":49,"tag":158,"props":10860,"children":10861},{"style":182},[10862],{"type":58,"value":235},{"type":49,"tag":158,"props":10864,"children":10865},{"style":217},[10866],{"type":58,"value":2017},{"type":49,"tag":158,"props":10868,"children":10869},{"class":160,"line":834},[10870,10874,10878,10882],{"type":49,"tag":158,"props":10871,"children":10872},{"style":171},[10873],{"type":58,"value":3832},{"type":49,"tag":158,"props":10875,"children":10876},{"style":182},[10877],{"type":58,"value":3811},{"type":49,"tag":158,"props":10879,"children":10880},{"style":171},[10881],{"type":58,"value":3841},{"type":49,"tag":158,"props":10883,"children":10884},{"style":182},[10885],{"type":58,"value":3846},{"type":49,"tag":85,"props":10887,"children":10888},{},[10889,10894,10896,10902],{"type":49,"tag":54,"props":10890,"children":10891},{},[10892],{"type":58,"value":10893},"One at a time, sequentially.",{"type":58,"value":10895}," Calc-column creation is metadata mutation — same concurrency rule as table creation. Print ",{"type":49,"tag":96,"props":10897,"children":10899},{"className":10898},[],[10900],{"type":58,"value":10901},"✓ \u003Ccalc-column>",{"type":58,"value":10903}," after each success.",{"type":49,"tag":85,"props":10905,"children":10906},{},[10907,10912,10914],{"type":49,"tag":54,"props":10908,"children":10909},{},[10910],{"type":58,"value":10911},"On failure",{"type":58,"value":10913}," — the helper script prints the OData error inline. Common cases:",{"type":49,"tag":81,"props":10915,"children":10916},{},[10917,10928,10939],{"type":49,"tag":85,"props":10918,"children":10919},{},[10920,10926],{"type":49,"tag":96,"props":10921,"children":10923},{"className":10922},[],[10924],{"type":58,"value":10925},"400 — formula references unknown attribute",{"type":58,"value":10927}," → the relationship or column the formula needs has not been created yet. Verify Step 5b finished cleanly before retrying.",{"type":49,"tag":85,"props":10929,"children":10930},{},[10931,10937],{"type":49,"tag":96,"props":10932,"children":10934},{"className":10933},[],[10935],{"type":58,"value":10936},"400 — calculated formula not allowed on this navigation",{"type":58,"value":10938}," → the dotted path tries to traverse 1:many or M:N. The architect should have caught this at Step 6a; flag in summary, skip the row, continue.",{"type":49,"tag":85,"props":10940,"children":10941},{},[10942],{"type":58,"value":10943},"Surface non-recoverable errors to the user with the offending row, then proceed to the next row. Do NOT abort the whole step on one bad row.",{"type":49,"tag":85,"props":10945,"children":10946},{},[10947],{"type":58,"value":10948},"After all rows are processed, the publish step (Step 6b) below picks up calc columns automatically — no extra publish call needed.",{"type":49,"tag":135,"props":10950,"children":10952},{"id":10951},"step-5d-create-alternate-keys-for-unique-business-identifiers",[10953],{"type":58,"value":10954},"Step 5d — Create alternate keys for unique business identifiers",{"type":49,"tag":50,"props":10956,"children":10957},{},[10958],{"type":49,"tag":54,"props":10959,"children":10960},{},[10961],{"type":58,"value":1945},{"type":49,"tag":529,"props":10963,"children":10964},{},[10965],{"type":49,"tag":50,"props":10966,"children":10967},{},[10968],{"type":58,"value":10969},"\"→ Creating alternate keys for columns marked unique in the data model (one HTTP call per key). Skip if no unique columns are planned.\"",{"type":49,"tag":50,"props":10971,"children":10972},{},[10973,10977,10979,10984],{"type":49,"tag":54,"props":10974,"children":10975},{},[10976],{"type":58,"value":10511},{"type":58,"value":10978}," the ",{"type":49,"tag":96,"props":10980,"children":10982},{"className":10981},[],[10983],{"type":58,"value":396},{"type":58,"value":10985}," section marks a non-primary column as unique \u002F alternate key \u002F natural key. Common examples: QR Code Value, SKU, external ID, employee number, asset tag. Skip primary IDs and skip columns whose type Dataverse cannot index as an alternate key (file\u002Fimage, memo\u002Flong text, multi-select choice, calculated\u002Frollup, customer\u002Fowner lookups).",{"type":49,"tag":50,"props":10987,"children":10988},{},[10989,10994,10996,11002],{"type":49,"tag":54,"props":10990,"children":10991},{},[10992],{"type":58,"value":10993},"Ordering:",{"type":58,"value":10995}," run after the target table and target columns exist, and before Step 6b publish. Alternate-key index activation is asynchronous; creation may return success while the key status is ",{"type":49,"tag":96,"props":10997,"children":10999},{"className":10998},[],[11000],{"type":58,"value":11001},"Pending",{"type":58,"value":892},{"type":49,"tag":50,"props":11004,"children":11005},{},[11006,11019,11021,11027],{"type":49,"tag":54,"props":11007,"children":11008},{},[11009,11011,11017],{"type":58,"value":11010},"Do NOT use the ",{"type":49,"tag":96,"props":11012,"children":11014},{"className":11013},[],[11015],{"type":58,"value":11016},"CreateEntityKey",{"type":58,"value":11018}," action route.",{"type":58,"value":11020}," In practice it can return 404 depending on route shape \u002F environment. The reliable metadata route is POSTing to the table's ",{"type":49,"tag":96,"props":11022,"children":11024},{"className":11023},[],[11025],{"type":58,"value":11026},"Keys",{"type":58,"value":11028}," navigation collection:",{"type":49,"tag":147,"props":11030,"children":11032},{"className":149,"code":11031,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')\u002FKeys\" \\\n  --body '\u003Centity-key-json>' \\\n  --solution '\u003Csolution-uniquename-from-memory-bank>'\n",[11033],{"type":49,"tag":96,"props":11034,"children":11035},{"__ignoreMap":152},[11036,11087,11107,11131],{"type":49,"tag":158,"props":11037,"children":11038},{"class":160,"line":161},[11039,11043,11047,11051,11055,11059,11063,11067,11071,11075,11079,11083],{"type":49,"tag":158,"props":11040,"children":11041},{"style":206},[11042],{"type":58,"value":209},{"type":49,"tag":158,"props":11044,"children":11045},{"style":182},[11046],{"type":58,"value":214},{"type":49,"tag":158,"props":11048,"children":11049},{"style":217},[11050],{"type":58,"value":220},{"type":49,"tag":158,"props":11052,"children":11053},{"style":182},[11054],{"type":58,"value":225},{"type":49,"tag":158,"props":11056,"children":11057},{"style":171},[11058],{"type":58,"value":1489},{"type":49,"tag":158,"props":11060,"children":11061},{"style":182},[11062],{"type":58,"value":235},{"type":49,"tag":158,"props":11064,"children":11065},{"style":182},[11066],{"type":58,"value":1340},{"type":49,"tag":158,"props":11068,"children":11069},{"style":171},[11070],{"type":58,"value":1502},{"type":49,"tag":158,"props":11072,"children":11073},{"style":217},[11074],{"type":58,"value":1507},{"type":49,"tag":158,"props":11076,"children":11077},{"style":182},[11078],{"type":58,"value":1355},{"type":49,"tag":158,"props":11080,"children":11081},{"style":171},[11082],{"type":58,"value":3789},{"type":49,"tag":158,"props":11084,"children":11085},{"style":217},[11086],{"type":58,"value":2017},{"type":49,"tag":158,"props":11088,"children":11089},{"class":160,"line":202},[11090,11094,11099,11103],{"type":49,"tag":158,"props":11091,"children":11092},{"style":182},[11093],{"type":58,"value":2025},{"type":49,"tag":158,"props":11095,"children":11096},{"style":171},[11097],{"type":58,"value":11098},"EntityDefinitions(LogicalName='\u003Ctable>')\u002FKeys",{"type":49,"tag":158,"props":11100,"children":11101},{"style":182},[11102],{"type":58,"value":235},{"type":49,"tag":158,"props":11104,"children":11105},{"style":217},[11106],{"type":58,"value":2017},{"type":49,"tag":158,"props":11108,"children":11109},{"class":160,"line":740},[11110,11114,11118,11123,11127],{"type":49,"tag":158,"props":11111,"children":11112},{"style":171},[11113],{"type":58,"value":3806},{"type":49,"tag":158,"props":11115,"children":11116},{"style":182},[11117],{"type":58,"value":3811},{"type":49,"tag":158,"props":11119,"children":11120},{"style":171},[11121],{"type":58,"value":11122},"\u003Centity-key-json>",{"type":49,"tag":158,"props":11124,"children":11125},{"style":182},[11126],{"type":58,"value":1557},{"type":49,"tag":158,"props":11128,"children":11129},{"style":217},[11130],{"type":58,"value":2017},{"type":49,"tag":158,"props":11132,"children":11133},{"class":160,"line":763},[11134,11138,11142,11146],{"type":49,"tag":158,"props":11135,"children":11136},{"style":171},[11137],{"type":58,"value":3832},{"type":49,"tag":158,"props":11139,"children":11140},{"style":182},[11141],{"type":58,"value":3811},{"type":49,"tag":158,"props":11143,"children":11144},{"style":171},[11145],{"type":58,"value":3841},{"type":49,"tag":158,"props":11147,"children":11148},{"style":182},[11149],{"type":58,"value":3846},{"type":49,"tag":50,"props":11151,"children":11152},{},[11153],{"type":58,"value":11154},"Body skeleton:",{"type":49,"tag":147,"props":11156,"children":11158},{"className":2888,"code":11157,"language":2890,"meta":152,"style":152},"{\n  \"@odata.type\": \"Microsoft.Dynamics.CRM.EntityKeyMetadata\",\n  \"SchemaName\": \"\u003Cprefix>_\u003Ctable>_\u003Ccolumn>_key\",\n  \"DisplayName\": { \"@odata.type\": \"Microsoft.Dynamics.CRM.Label\", \"LocalizedLabels\": [{ \"Label\": \"\u003CColumn display> Key\", \"LanguageCode\": 1033 }] },\n  \"KeyAttributes\": [\"\u003Ccolumn_logical_name>\"]\n}\n",[11159],{"type":49,"tag":96,"props":11160,"children":11161},{"__ignoreMap":152},[11162,11169,11205,11241,11377,11418],{"type":49,"tag":158,"props":11163,"children":11164},{"class":160,"line":161},[11165],{"type":49,"tag":158,"props":11166,"children":11167},{"style":182},[11168],{"type":58,"value":3495},{"type":49,"tag":158,"props":11170,"children":11171},{"class":160,"line":202},[11172,11176,11180,11184,11188,11192,11197,11201],{"type":49,"tag":158,"props":11173,"children":11174},{"style":182},[11175],{"type":58,"value":2025},{"type":49,"tag":158,"props":11177,"children":11178},{"style":2909},[11179],{"type":58,"value":3962},{"type":49,"tag":158,"props":11181,"children":11182},{"style":182},[11183],{"type":58,"value":235},{"type":49,"tag":158,"props":11185,"children":11186},{"style":182},[11187],{"type":58,"value":527},{"type":49,"tag":158,"props":11189,"children":11190},{"style":182},[11191],{"type":58,"value":1193},{"type":49,"tag":158,"props":11193,"children":11194},{"style":171},[11195],{"type":58,"value":11196},"Microsoft.Dynamics.CRM.EntityKeyMetadata",{"type":49,"tag":158,"props":11198,"children":11199},{"style":182},[11200],{"type":58,"value":235},{"type":49,"tag":158,"props":11202,"children":11203},{"style":182},[11204],{"type":58,"value":3531},{"type":49,"tag":158,"props":11206,"children":11207},{"class":160,"line":740},[11208,11212,11216,11220,11224,11228,11233,11237],{"type":49,"tag":158,"props":11209,"children":11210},{"style":182},[11211],{"type":58,"value":2025},{"type":49,"tag":158,"props":11213,"children":11214},{"style":2909},[11215],{"type":58,"value":3402},{"type":49,"tag":158,"props":11217,"children":11218},{"style":182},[11219],{"type":58,"value":235},{"type":49,"tag":158,"props":11221,"children":11222},{"style":182},[11223],{"type":58,"value":527},{"type":49,"tag":158,"props":11225,"children":11226},{"style":182},[11227],{"type":58,"value":1193},{"type":49,"tag":158,"props":11229,"children":11230},{"style":171},[11231],{"type":58,"value":11232},"\u003Cprefix>_\u003Ctable>_\u003Ccolumn>_key",{"type":49,"tag":158,"props":11234,"children":11235},{"style":182},[11236],{"type":58,"value":235},{"type":49,"tag":158,"props":11238,"children":11239},{"style":182},[11240],{"type":58,"value":3531},{"type":49,"tag":158,"props":11242,"children":11243},{"class":160,"line":763},[11244,11248,11252,11256,11260,11264,11268,11272,11276,11280,11284,11288,11292,11296,11300,11304,11308,11312,11316,11320,11324,11328,11332,11336,11341,11345,11349,11353,11357,11361,11365,11369,11373],{"type":49,"tag":158,"props":11245,"children":11246},{"style":182},[11247],{"type":58,"value":2025},{"type":49,"tag":158,"props":11249,"children":11250},{"style":2909},[11251],{"type":58,"value":4034},{"type":49,"tag":158,"props":11253,"children":11254},{"style":182},[11255],{"type":58,"value":235},{"type":49,"tag":158,"props":11257,"children":11258},{"style":182},[11259],{"type":58,"value":527},{"type":49,"tag":158,"props":11261,"children":11262},{"style":182},[11263],{"type":58,"value":4047},{"type":49,"tag":158,"props":11265,"children":11266},{"style":182},[11267],{"type":58,"value":1193},{"type":49,"tag":158,"props":11269,"children":11270},{"style":206},[11271],{"type":58,"value":3962},{"type":49,"tag":158,"props":11273,"children":11274},{"style":182},[11275],{"type":58,"value":235},{"type":49,"tag":158,"props":11277,"children":11278},{"style":182},[11279],{"type":58,"value":527},{"type":49,"tag":158,"props":11281,"children":11282},{"style":182},[11283],{"type":58,"value":1193},{"type":49,"tag":158,"props":11285,"children":11286},{"style":171},[11287],{"type":58,"value":4072},{"type":49,"tag":158,"props":11289,"children":11290},{"style":182},[11291],{"type":58,"value":235},{"type":49,"tag":158,"props":11293,"children":11294},{"style":182},[11295],{"type":58,"value":3427},{"type":49,"tag":158,"props":11297,"children":11298},{"style":182},[11299],{"type":58,"value":1193},{"type":49,"tag":158,"props":11301,"children":11302},{"style":206},[11303],{"type":58,"value":4089},{"type":49,"tag":158,"props":11305,"children":11306},{"style":182},[11307],{"type":58,"value":235},{"type":49,"tag":158,"props":11309,"children":11310},{"style":182},[11311],{"type":58,"value":527},{"type":49,"tag":158,"props":11313,"children":11314},{"style":182},[11315],{"type":58,"value":3448},{"type":49,"tag":158,"props":11317,"children":11318},{"style":182},[11319],{"type":58,"value":1193},{"type":49,"tag":158,"props":11321,"children":11322},{"style":823},[11323],{"type":58,"value":4110},{"type":49,"tag":158,"props":11325,"children":11326},{"style":182},[11327],{"type":58,"value":235},{"type":49,"tag":158,"props":11329,"children":11330},{"style":182},[11331],{"type":58,"value":527},{"type":49,"tag":158,"props":11333,"children":11334},{"style":182},[11335],{"type":58,"value":1193},{"type":49,"tag":158,"props":11337,"children":11338},{"style":171},[11339],{"type":58,"value":11340},"\u003CColumn display> Key",{"type":49,"tag":158,"props":11342,"children":11343},{"style":182},[11344],{"type":58,"value":235},{"type":49,"tag":158,"props":11346,"children":11347},{"style":182},[11348],{"type":58,"value":3427},{"type":49,"tag":158,"props":11350,"children":11351},{"style":182},[11352],{"type":58,"value":1193},{"type":49,"tag":158,"props":11354,"children":11355},{"style":823},[11356],{"type":58,"value":4144},{"type":49,"tag":158,"props":11358,"children":11359},{"style":182},[11360],{"type":58,"value":235},{"type":49,"tag":158,"props":11362,"children":11363},{"style":182},[11364],{"type":58,"value":527},{"type":49,"tag":158,"props":11366,"children":11367},{"style":823},[11368],{"type":58,"value":4157},{"type":49,"tag":158,"props":11370,"children":11371},{"style":182},[11372],{"type":58,"value":3458},{"type":49,"tag":158,"props":11374,"children":11375},{"style":182},[11376],{"type":58,"value":3573},{"type":49,"tag":158,"props":11378,"children":11379},{"class":160,"line":781},[11380,11384,11389,11393,11397,11401,11405,11410,11414],{"type":49,"tag":158,"props":11381,"children":11382},{"style":182},[11383],{"type":58,"value":2025},{"type":49,"tag":158,"props":11385,"children":11386},{"style":2909},[11387],{"type":58,"value":11388},"KeyAttributes",{"type":49,"tag":158,"props":11390,"children":11391},{"style":182},[11392],{"type":58,"value":235},{"type":49,"tag":158,"props":11394,"children":11395},{"style":182},[11396],{"type":58,"value":527},{"type":49,"tag":158,"props":11398,"children":11399},{"style":182},[11400],{"type":58,"value":820},{"type":49,"tag":158,"props":11402,"children":11403},{"style":182},[11404],{"type":58,"value":235},{"type":49,"tag":158,"props":11406,"children":11407},{"style":171},[11408],{"type":58,"value":11409},"\u003Ccolumn_logical_name>",{"type":49,"tag":158,"props":11411,"children":11412},{"style":182},[11413],{"type":58,"value":235},{"type":49,"tag":158,"props":11415,"children":11416},{"style":182},[11417],{"type":58,"value":831},{"type":49,"tag":158,"props":11419,"children":11420},{"class":160,"line":805},[11421],{"type":49,"tag":158,"props":11422,"children":11423},{"style":182},[11424],{"type":58,"value":3656},{"type":49,"tag":50,"props":11426,"children":11427},{},[11428,11433],{"type":49,"tag":54,"props":11429,"children":11430},{},[11431],{"type":58,"value":11432},"Pre-flight each key before POST",{"type":58,"value":11434}," so re-runs are idempotent:",{"type":49,"tag":147,"props":11436,"children":11438},{"className":149,"code":11437,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')?\\$select=LogicalName&\\$expand=Keys(\\$select=SchemaName,KeyAttributes,EntityKeyIndexStatus)\"\n",[11439],{"type":49,"tag":96,"props":11440,"children":11441},{"__ignoreMap":152},[11442,11493],{"type":49,"tag":158,"props":11443,"children":11444},{"class":160,"line":161},[11445,11449,11453,11457,11461,11465,11469,11473,11477,11481,11485,11489],{"type":49,"tag":158,"props":11446,"children":11447},{"style":206},[11448],{"type":58,"value":209},{"type":49,"tag":158,"props":11450,"children":11451},{"style":182},[11452],{"type":58,"value":214},{"type":49,"tag":158,"props":11454,"children":11455},{"style":217},[11456],{"type":58,"value":220},{"type":49,"tag":158,"props":11458,"children":11459},{"style":182},[11460],{"type":58,"value":225},{"type":49,"tag":158,"props":11462,"children":11463},{"style":171},[11464],{"type":58,"value":1489},{"type":49,"tag":158,"props":11466,"children":11467},{"style":182},[11468],{"type":58,"value":235},{"type":49,"tag":158,"props":11470,"children":11471},{"style":182},[11472],{"type":58,"value":1340},{"type":49,"tag":158,"props":11474,"children":11475},{"style":171},[11476],{"type":58,"value":1502},{"type":49,"tag":158,"props":11478,"children":11479},{"style":217},[11480],{"type":58,"value":1507},{"type":49,"tag":158,"props":11482,"children":11483},{"style":182},[11484],{"type":58,"value":1355},{"type":49,"tag":158,"props":11486,"children":11487},{"style":171},[11488],{"type":58,"value":1731},{"type":49,"tag":158,"props":11490,"children":11491},{"style":217},[11492],{"type":58,"value":2017},{"type":49,"tag":158,"props":11494,"children":11495},{"class":160,"line":202},[11496,11500,11505,11509,11514,11518,11523,11527,11532],{"type":49,"tag":158,"props":11497,"children":11498},{"style":182},[11499],{"type":58,"value":2025},{"type":49,"tag":158,"props":11501,"children":11502},{"style":171},[11503],{"type":58,"value":11504},"EntityDefinitions(LogicalName='\u003Ctable>')?",{"type":49,"tag":158,"props":11506,"children":11507},{"style":217},[11508],{"type":58,"value":2035},{"type":49,"tag":158,"props":11510,"children":11511},{"style":171},[11512],{"type":58,"value":11513},"select=LogicalName&",{"type":49,"tag":158,"props":11515,"children":11516},{"style":217},[11517],{"type":58,"value":2035},{"type":49,"tag":158,"props":11519,"children":11520},{"style":171},[11521],{"type":58,"value":11522},"expand=Keys(",{"type":49,"tag":158,"props":11524,"children":11525},{"style":217},[11526],{"type":58,"value":2035},{"type":49,"tag":158,"props":11528,"children":11529},{"style":171},[11530],{"type":58,"value":11531},"select=SchemaName,KeyAttributes,EntityKeyIndexStatus)",{"type":49,"tag":158,"props":11533,"children":11534},{"style":182},[11535],{"type":58,"value":296},{"type":49,"tag":560,"props":11537,"children":11538},{},[11539,11554],{"type":49,"tag":564,"props":11540,"children":11541},{},[11542],{"type":49,"tag":568,"props":11543,"children":11544},{},[11545,11550],{"type":49,"tag":572,"props":11546,"children":11547},{},[11548],{"type":58,"value":11549},"Existing key state",{"type":49,"tag":572,"props":11551,"children":11552},{},[11553],{"type":58,"value":2457},{"type":49,"tag":583,"props":11555,"children":11556},{},[11557,11601,11625],{"type":49,"tag":568,"props":11558,"children":11559},{},[11560,11590],{"type":49,"tag":590,"props":11561,"children":11562},{},[11563,11565,11570,11572,11577,11579,11584,11585],{"type":58,"value":11564},"Same ",{"type":49,"tag":96,"props":11566,"children":11568},{"className":11567},[],[11569],{"type":58,"value":3402},{"type":58,"value":11571}," or same ",{"type":49,"tag":96,"props":11573,"children":11575},{"className":11574},[],[11576],{"type":58,"value":11388},{"type":58,"value":11578}," exists with ",{"type":49,"tag":96,"props":11580,"children":11582},{"className":11581},[],[11583],{"type":58,"value":5825},{"type":58,"value":605},{"type":49,"tag":96,"props":11586,"children":11588},{"className":11587},[],[11589],{"type":58,"value":11001},{"type":49,"tag":590,"props":11591,"children":11592},{},[11593,11595,11600],{"type":58,"value":11594},"Skip POST; record the key in ",{"type":49,"tag":96,"props":11596,"children":11598},{"className":11597},[],[11599],{"type":58,"value":3304},{"type":58,"value":892},{"type":49,"tag":568,"props":11602,"children":11603},{},[11604,11620],{"type":49,"tag":590,"props":11605,"children":11606},{},[11607,11608,11613,11614],{"type":58,"value":11564},{"type":49,"tag":96,"props":11609,"children":11611},{"className":11610},[],[11612],{"type":58,"value":3402},{"type":58,"value":11578},{"type":49,"tag":96,"props":11615,"children":11617},{"className":11616},[],[11618],{"type":58,"value":11619},"Failed",{"type":49,"tag":590,"props":11621,"children":11622},{},[11623],{"type":58,"value":11624},"Surface the failure and stop; Dataverse requires deleting\u002Frecreating the key manually or changing the planned key name.",{"type":49,"tag":568,"props":11626,"children":11627},{},[11628,11633],{"type":49,"tag":590,"props":11629,"children":11630},{},[11631],{"type":58,"value":11632},"No matching key",{"type":49,"tag":590,"props":11634,"children":11635},{},[11636,11638,11643],{"type":58,"value":11637},"POST to ",{"type":49,"tag":96,"props":11639,"children":11641},{"className":11640},[],[11642],{"type":58,"value":11098},{"type":58,"value":892},{"type":49,"tag":50,"props":11645,"children":11646},{},[11647,11652,11654,11660,11662,11667,11669,11675,11677,11682,11684,11690,11692,11697],{"type":49,"tag":54,"props":11648,"children":11649},{},[11650],{"type":58,"value":11651},"After POST:",{"type":58,"value":11653}," a ",{"type":49,"tag":96,"props":11655,"children":11657},{"className":11656},[],[11658],{"type":58,"value":11659},"204",{"type":58,"value":11661}," response is success. Re-query the ",{"type":49,"tag":96,"props":11663,"children":11665},{"className":11664},[],[11666],{"type":58,"value":11026},{"type":58,"value":11668}," expand above and capture ",{"type":49,"tag":96,"props":11670,"children":11672},{"className":11671},[],[11673],{"type":58,"value":11674},"EntityKeyIndexStatus",{"type":58,"value":11676},". If it is ",{"type":49,"tag":96,"props":11678,"children":11680},{"className":11679},[],[11681],{"type":58,"value":11001},{"type":58,"value":11683},", continue the scaffold but add a memory-bank follow-up: ",{"type":49,"tag":96,"props":11685,"children":11687},{"className":11686},[],[11688],{"type":58,"value":11689},"alternate key \u003Cschema> pending index activation",{"type":58,"value":11691},". Do not rely on duplicate enforcement in manual tests until the status reaches ",{"type":49,"tag":96,"props":11693,"children":11695},{"className":11694},[],[11696],{"type":58,"value":5825},{"type":58,"value":892},{"type":49,"tag":50,"props":11699,"children":11700},{},[11701,11703,11708],{"type":58,"value":11702},"Add alternate keys to ",{"type":49,"tag":96,"props":11704,"children":11706},{"className":11705},[],[11707],{"type":58,"value":3304},{"type":58,"value":11709}," for the table:",{"type":49,"tag":147,"props":11711,"children":11713},{"className":2888,"code":11712,"language":2890,"meta":152,"style":152},"\"alternateKeys\": [\n  { \"schemaName\": \"cr123_item_code_key\", \"keyAttributes\": [\"cr123_code\"], \"indexStatus\": \"Pending\" }\n]\n",[11714],{"type":49,"tag":96,"props":11715,"children":11716},{"__ignoreMap":152},[11717,11743,11857],{"type":49,"tag":158,"props":11718,"children":11719},{"class":160,"line":161},[11720,11724,11729,11733,11738],{"type":49,"tag":158,"props":11721,"children":11722},{"style":182},[11723],{"type":58,"value":235},{"type":49,"tag":158,"props":11725,"children":11726},{"style":171},[11727],{"type":58,"value":11728},"alternateKeys",{"type":49,"tag":158,"props":11730,"children":11731},{"style":182},[11732],{"type":58,"value":235},{"type":49,"tag":158,"props":11734,"children":11735},{"style":217},[11736],{"type":58,"value":11737},": ",{"type":49,"tag":158,"props":11739,"children":11740},{"style":182},[11741],{"type":58,"value":11742},"[\n",{"type":49,"tag":158,"props":11744,"children":11745},{"class":160,"line":202},[11746,11751,11755,11760,11764,11768,11772,11777,11781,11785,11789,11794,11798,11802,11806,11810,11815,11819,11824,11828,11833,11837,11841,11845,11849,11853],{"type":49,"tag":158,"props":11747,"children":11748},{"style":182},[11749],{"type":58,"value":11750},"  {",{"type":49,"tag":158,"props":11752,"children":11753},{"style":182},[11754],{"type":58,"value":1193},{"type":49,"tag":158,"props":11756,"children":11757},{"style":2909},[11758],{"type":58,"value":11759},"schemaName",{"type":49,"tag":158,"props":11761,"children":11762},{"style":182},[11763],{"type":58,"value":235},{"type":49,"tag":158,"props":11765,"children":11766},{"style":182},[11767],{"type":58,"value":527},{"type":49,"tag":158,"props":11769,"children":11770},{"style":182},[11771],{"type":58,"value":1193},{"type":49,"tag":158,"props":11773,"children":11774},{"style":171},[11775],{"type":58,"value":11776},"cr123_item_code_key",{"type":49,"tag":158,"props":11778,"children":11779},{"style":182},[11780],{"type":58,"value":235},{"type":49,"tag":158,"props":11782,"children":11783},{"style":182},[11784],{"type":58,"value":3427},{"type":49,"tag":158,"props":11786,"children":11787},{"style":182},[11788],{"type":58,"value":1193},{"type":49,"tag":158,"props":11790,"children":11791},{"style":2909},[11792],{"type":58,"value":11793},"keyAttributes",{"type":49,"tag":158,"props":11795,"children":11796},{"style":182},[11797],{"type":58,"value":235},{"type":49,"tag":158,"props":11799,"children":11800},{"style":182},[11801],{"type":58,"value":527},{"type":49,"tag":158,"props":11803,"children":11804},{"style":182},[11805],{"type":58,"value":820},{"type":49,"tag":158,"props":11807,"children":11808},{"style":182},[11809],{"type":58,"value":235},{"type":49,"tag":158,"props":11811,"children":11812},{"style":171},[11813],{"type":58,"value":11814},"cr123_code",{"type":49,"tag":158,"props":11816,"children":11817},{"style":182},[11818],{"type":58,"value":235},{"type":49,"tag":158,"props":11820,"children":11821},{"style":182},[11822],{"type":58,"value":11823},"],",{"type":49,"tag":158,"props":11825,"children":11826},{"style":182},[11827],{"type":58,"value":1193},{"type":49,"tag":158,"props":11829,"children":11830},{"style":2909},[11831],{"type":58,"value":11832},"indexStatus",{"type":49,"tag":158,"props":11834,"children":11835},{"style":182},[11836],{"type":58,"value":235},{"type":49,"tag":158,"props":11838,"children":11839},{"style":182},[11840],{"type":58,"value":527},{"type":49,"tag":158,"props":11842,"children":11843},{"style":182},[11844],{"type":58,"value":1193},{"type":49,"tag":158,"props":11846,"children":11847},{"style":171},[11848],{"type":58,"value":11001},{"type":49,"tag":158,"props":11850,"children":11851},{"style":182},[11852],{"type":58,"value":235},{"type":49,"tag":158,"props":11854,"children":11855},{"style":182},[11856],{"type":58,"value":2938},{"type":49,"tag":158,"props":11858,"children":11859},{"class":160,"line":740},[11860],{"type":49,"tag":158,"props":11861,"children":11862},{"style":182},[11863],{"type":58,"value":831},{"type":49,"tag":135,"props":11865,"children":11867},{"id":11866},"step-6-add-data-sources",[11868],{"type":58,"value":11869},"Step 6 — Add data sources",{"type":49,"tag":50,"props":11871,"children":11872},{},[11873],{"type":49,"tag":54,"props":11874,"children":11875},{},[11876],{"type":58,"value":1945},{"type":49,"tag":529,"props":11878,"children":11879},{},[11880,11897,11899,11911,11990,12010,12016,12023,12031,12064,12194,12206,12211,12217,12222,12305,12326,12337,12350,12847,12878,12883,12889,12898,12903,12912,12961,12978,13065,13082,13092,13095,13224,13229,13568,13573,13973,13979,13986,13994,14036,14078,14090,14096,14101,14145,14157,14192,14211,14413,14419,14428,14447,14521,14527,14647,14653],{"type":49,"tag":50,"props":11881,"children":11882},{},[11883,11885],{"type":58,"value":11884},"\"→ Generating TypeScript services for ",{"type":49,"tag":2184,"props":11886,"children":11887},{},[11888,11890,11895],{"type":58,"value":11889}," tables via ",{"type":49,"tag":96,"props":11891,"children":11893},{"className":11892},[],[11894],{"type":58,"value":101},{"type":58,"value":11896}," (sequential). Print '✓ ",{"type":58,"value":11898},"Service.ts' after each.\"",{"type":49,"tag":50,"props":11900,"children":11901},{},[11902,11904,11909],{"type":58,"value":11903},"For each table the app will use (regardless of reuse\u002Fextend\u002Fcreate), generate the TS layer from the app root. The CLI reads the environment ID from ",{"type":49,"tag":96,"props":11905,"children":11907},{"className":11906},[],[11908],{"type":58,"value":1070},{"type":58,"value":11910},"; pass the environment URL resolved earlier in the skill:",{"type":49,"tag":147,"props":11912,"children":11914},{"className":149,"code":11913,"language":151,"meta":152,"style":152},"npx power-apps add-data-source --api-id dataverse --org-url \u003CenvUrl> --resource-name \u003Ctable-logical-name>\n",[11915],{"type":49,"tag":96,"props":11916,"children":11917},{"__ignoreMap":152},[11918],{"type":49,"tag":158,"props":11919,"children":11920},{"class":160,"line":161},[11921,11926,11931,11936,11941,11946,11951,11955,11959,11963,11967,11972,11976,11981,11985],{"type":49,"tag":158,"props":11922,"children":11923},{"style":206},[11924],{"type":58,"value":11925},"npx",{"type":49,"tag":158,"props":11927,"children":11928},{"style":171},[11929],{"type":58,"value":11930}," power-apps",{"type":49,"tag":158,"props":11932,"children":11933},{"style":171},[11934],{"type":58,"value":11935}," add-data-source",{"type":49,"tag":158,"props":11937,"children":11938},{"style":171},[11939],{"type":58,"value":11940}," --api-id",{"type":49,"tag":158,"props":11942,"children":11943},{"style":171},[11944],{"type":58,"value":11945}," dataverse",{"type":49,"tag":158,"props":11947,"children":11948},{"style":171},[11949],{"type":58,"value":11950}," --org-url",{"type":49,"tag":158,"props":11952,"children":11953},{"style":182},[11954],{"type":58,"value":1340},{"type":49,"tag":158,"props":11956,"children":11957},{"style":171},[11958],{"type":58,"value":1502},{"type":49,"tag":158,"props":11960,"children":11961},{"style":217},[11962],{"type":58,"value":1507},{"type":49,"tag":158,"props":11964,"children":11965},{"style":182},[11966],{"type":58,"value":1355},{"type":49,"tag":158,"props":11968,"children":11969},{"style":171},[11970],{"type":58,"value":11971}," --resource-name",{"type":49,"tag":158,"props":11973,"children":11974},{"style":182},[11975],{"type":58,"value":1340},{"type":49,"tag":158,"props":11977,"children":11978},{"style":171},[11979],{"type":58,"value":11980},"table-logical-nam",{"type":49,"tag":158,"props":11982,"children":11983},{"style":217},[11984],{"type":58,"value":10705},{"type":49,"tag":158,"props":11986,"children":11987},{"style":182},[11988],{"type":58,"value":11989},">\n",{"type":49,"tag":50,"props":11991,"children":11992},{},[11993,11995,12000,12002,12008],{"type":58,"value":11994},"Run ",{"type":49,"tag":54,"props":11996,"children":11997},{},[11998],{"type":58,"value":11999},"one at a time — sequentially",{"type":58,"value":12001},", not in parallel. The Power Apps CLI writes ",{"type":49,"tag":96,"props":12003,"children":12005},{"className":12004},[],[12006],{"type":58,"value":12007},"src\u002Fgenerated\u002FconnectorSchemas.ts",{"type":58,"value":12009}," and other generated files non-atomically; concurrent invocations corrupt them.",{"type":49,"tag":135,"props":12011,"children":12013},{"id":12012},"step-6b-publish-customizations",[12014],{"type":58,"value":12015},"Step 6b — Publish customizations",{"type":49,"tag":50,"props":12017,"children":12018},{},[12019],{"type":49,"tag":54,"props":12020,"children":12021},{},[12022],{"type":58,"value":1945},{"type":49,"tag":529,"props":12024,"children":12025},{},[12026],{"type":49,"tag":50,"props":12027,"children":12028},{},[12029],{"type":58,"value":12030},"\"→ Publishing customizations (PublishXml) so new tables\u002Fcolumns become queryable. ~5–20 seconds.\"",{"type":49,"tag":50,"props":12032,"children":12033},{},[12034,12036,12041,12043,12047,12049,12054,12056,12062],{"type":58,"value":12035},"Only after ",{"type":49,"tag":54,"props":12037,"children":12038},{},[12039],{"type":58,"value":12040},"every",{"type":58,"value":12042}," Step 5 metadata POST and ",{"type":49,"tag":54,"props":12044,"children":12045},{},[12046],{"type":58,"value":12040},{"type":58,"value":12048}," Step 6 ",{"type":49,"tag":96,"props":12050,"children":12052},{"className":12051},[],[12053],{"type":58,"value":101},{"type":58,"value":12055}," has returned successfully, publish so the new tables and columns are available to the runtime. ",{"type":49,"tag":96,"props":12057,"children":12059},{"className":12058},[],[12060],{"type":58,"value":12061},"PublishXml",{"type":58,"value":12063}," takes the same exclusive metadata lock as the create\u002Fextend calls — do not run it concurrently with anything from Steps 5 or 6.",{"type":49,"tag":147,"props":12065,"children":12067},{"className":149,"code":12066,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> POST \\\n  \"PublishXml\" \\\n  --body \"{\\\"ParameterXml\\\":\\\"\u003Cimportexportxml>\u003Centities>\u003Centity>cr123_table1\u003C\u002Fentity>\u003Centity>cr123_table2\u003C\u002Fentity>\u003C\u002Fentities>\u003C\u002Fimportexportxml>\\\"}\"\n",[12068],{"type":49,"tag":96,"props":12069,"children":12070},{"__ignoreMap":152},[12071,12122,12141],{"type":49,"tag":158,"props":12072,"children":12073},{"class":160,"line":161},[12074,12078,12082,12086,12090,12094,12098,12102,12106,12110,12114,12118],{"type":49,"tag":158,"props":12075,"children":12076},{"style":206},[12077],{"type":58,"value":209},{"type":49,"tag":158,"props":12079,"children":12080},{"style":182},[12081],{"type":58,"value":214},{"type":49,"tag":158,"props":12083,"children":12084},{"style":217},[12085],{"type":58,"value":220},{"type":49,"tag":158,"props":12087,"children":12088},{"style":182},[12089],{"type":58,"value":225},{"type":49,"tag":158,"props":12091,"children":12092},{"style":171},[12093],{"type":58,"value":1489},{"type":49,"tag":158,"props":12095,"children":12096},{"style":182},[12097],{"type":58,"value":235},{"type":49,"tag":158,"props":12099,"children":12100},{"style":182},[12101],{"type":58,"value":1340},{"type":49,"tag":158,"props":12103,"children":12104},{"style":171},[12105],{"type":58,"value":1502},{"type":49,"tag":158,"props":12107,"children":12108},{"style":217},[12109],{"type":58,"value":1507},{"type":49,"tag":158,"props":12111,"children":12112},{"style":182},[12113],{"type":58,"value":1355},{"type":49,"tag":158,"props":12115,"children":12116},{"style":171},[12117],{"type":58,"value":3789},{"type":49,"tag":158,"props":12119,"children":12120},{"style":217},[12121],{"type":58,"value":2017},{"type":49,"tag":158,"props":12123,"children":12124},{"class":160,"line":202},[12125,12129,12133,12137],{"type":49,"tag":158,"props":12126,"children":12127},{"style":182},[12128],{"type":58,"value":2025},{"type":49,"tag":158,"props":12130,"children":12131},{"style":171},[12132],{"type":58,"value":12061},{"type":49,"tag":158,"props":12134,"children":12135},{"style":182},[12136],{"type":58,"value":235},{"type":49,"tag":158,"props":12138,"children":12139},{"style":217},[12140],{"type":58,"value":2017},{"type":49,"tag":158,"props":12142,"children":12143},{"class":160,"line":740},[12144,12148,12152,12156,12160,12165,12169,12173,12177,12182,12186,12190],{"type":49,"tag":158,"props":12145,"children":12146},{"style":171},[12147],{"type":58,"value":3806},{"type":49,"tag":158,"props":12149,"children":12150},{"style":182},[12151],{"type":58,"value":1193},{"type":49,"tag":158,"props":12153,"children":12154},{"style":171},[12155],{"type":58,"value":2902},{"type":49,"tag":158,"props":12157,"children":12158},{"style":217},[12159],{"type":58,"value":254},{"type":49,"tag":158,"props":12161,"children":12162},{"style":171},[12163],{"type":58,"value":12164},"ParameterXml",{"type":49,"tag":158,"props":12166,"children":12167},{"style":217},[12168],{"type":58,"value":254},{"type":49,"tag":158,"props":12170,"children":12171},{"style":171},[12172],{"type":58,"value":527},{"type":49,"tag":158,"props":12174,"children":12175},{"style":217},[12176],{"type":58,"value":254},{"type":49,"tag":158,"props":12178,"children":12179},{"style":171},[12180],{"type":58,"value":12181},"\u003Cimportexportxml>\u003Centities>\u003Centity>cr123_table1\u003C\u002Fentity>\u003Centity>cr123_table2\u003C\u002Fentity>\u003C\u002Fentities>\u003C\u002Fimportexportxml>",{"type":49,"tag":158,"props":12183,"children":12184},{"style":217},[12185],{"type":58,"value":254},{"type":49,"tag":158,"props":12187,"children":12188},{"style":171},[12189],{"type":58,"value":225},{"type":49,"tag":158,"props":12191,"children":12192},{"style":182},[12193],{"type":58,"value":296},{"type":49,"tag":50,"props":12195,"children":12196},{},[12197,12199,12204],{"type":58,"value":12198},"Build the entity list from all tables that were ",{"type":49,"tag":54,"props":12200,"children":12201},{},[12202],{"type":58,"value":12203},"created or extended",{"type":58,"value":12205}," in Steps 4–5. Skip reused-as-is tables — they don't need republishing.",{"type":49,"tag":50,"props":12207,"children":12208},{},[12209],{"type":58,"value":12210},"If the publish call returns a non-2xx status, report the error and stop — do not proceed. The user must resolve before the tables are usable.",{"type":49,"tag":135,"props":12212,"children":12214},{"id":12213},"step-6c-verify-tables-exist",[12215],{"type":58,"value":12216},"Step 6c — Verify tables exist",{"type":49,"tag":50,"props":12218,"children":12219},{},[12220],{"type":58,"value":12221},"For each created or extended table, confirm it is queryable after publish:",{"type":49,"tag":147,"props":12223,"children":12225},{"className":149,"code":12224,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fdataverse-request.js\" \u003CenvUrl> GET \\\n  \"EntityDefinitions(LogicalName='\u003Ctable>')?\\\\$select=LogicalName,DisplayName\"\n",[12226],{"type":49,"tag":96,"props":12227,"children":12228},{"__ignoreMap":152},[12229,12280],{"type":49,"tag":158,"props":12230,"children":12231},{"class":160,"line":161},[12232,12236,12240,12244,12248,12252,12256,12260,12264,12268,12272,12276],{"type":49,"tag":158,"props":12233,"children":12234},{"style":206},[12235],{"type":58,"value":209},{"type":49,"tag":158,"props":12237,"children":12238},{"style":182},[12239],{"type":58,"value":214},{"type":49,"tag":158,"props":12241,"children":12242},{"style":217},[12243],{"type":58,"value":220},{"type":49,"tag":158,"props":12245,"children":12246},{"style":182},[12247],{"type":58,"value":225},{"type":49,"tag":158,"props":12249,"children":12250},{"style":171},[12251],{"type":58,"value":1489},{"type":49,"tag":158,"props":12253,"children":12254},{"style":182},[12255],{"type":58,"value":235},{"type":49,"tag":158,"props":12257,"children":12258},{"style":182},[12259],{"type":58,"value":1340},{"type":49,"tag":158,"props":12261,"children":12262},{"style":171},[12263],{"type":58,"value":1502},{"type":49,"tag":158,"props":12265,"children":12266},{"style":217},[12267],{"type":58,"value":1507},{"type":49,"tag":158,"props":12269,"children":12270},{"style":182},[12271],{"type":58,"value":1355},{"type":49,"tag":158,"props":12273,"children":12274},{"style":171},[12275],{"type":58,"value":1731},{"type":49,"tag":158,"props":12277,"children":12278},{"style":217},[12279],{"type":58,"value":2017},{"type":49,"tag":158,"props":12281,"children":12282},{"class":160,"line":202},[12283,12287,12291,12296,12301],{"type":49,"tag":158,"props":12284,"children":12285},{"style":182},[12286],{"type":58,"value":2025},{"type":49,"tag":158,"props":12288,"children":12289},{"style":171},[12290],{"type":58,"value":11504},{"type":49,"tag":158,"props":12292,"children":12293},{"style":217},[12294],{"type":58,"value":12295},"\\\\$select",{"type":49,"tag":158,"props":12297,"children":12298},{"style":171},[12299],{"type":58,"value":12300},"=LogicalName,DisplayName",{"type":49,"tag":158,"props":12302,"children":12303},{"style":182},[12304],{"type":58,"value":296},{"type":49,"tag":81,"props":12306,"children":12307},{},[12308,12317],{"type":49,"tag":85,"props":12309,"children":12310},{},[12311,12315],{"type":49,"tag":54,"props":12312,"children":12313},{},[12314],{"type":58,"value":6623},{"type":58,"value":12316}," → confirmed.",{"type":49,"tag":85,"props":12318,"children":12319},{},[12320,12324],{"type":49,"tag":54,"props":12321,"children":12322},{},[12323],{"type":58,"value":6603},{"type":58,"value":12325}," → table missing after publish — report and stop.",{"type":49,"tag":135,"props":12327,"children":12329},{"id":12328},"step-6d-write-datamodel-manifestjson",[12330,12332],{"type":58,"value":12331},"Step 6d — Write ",{"type":49,"tag":96,"props":12333,"children":12335},{"className":12334},[],[12336],{"type":58,"value":3304},{"type":49,"tag":50,"props":12338,"children":12339},{},[12340,12342,12348],{"type":58,"value":12341},"After all tables are verified, write the manifest to the project root using the ",{"type":49,"tag":96,"props":12343,"children":12345},{"className":12344},[],[12346],{"type":58,"value":12347},"Write",{"type":58,"value":12349}," tool:",{"type":49,"tag":147,"props":12351,"children":12353},{"className":2888,"code":12352,"language":2890,"meta":152,"style":152},"{\n  \"environmentUrl\": \"\u003CenvUrl>\",\n  \"generatedAt\": \"\u003CISO timestamp>\",\n  \"tables\": [\n    {\n      \"logicalName\": \"cr123_jobsite\",\n      \"displayName\": \"Job Site\",\n      \"status\": \"new\",\n      \"metadataId\": \"\u003Cserver-assigned GUID from Step 5a re-GET>\",\n      \"solution\": \"\u003Csolution unique name, e.g. PowerAppsDefault>\",\n      \"columns\": [\n        { \"logicalName\": \"cr123_sitename\", \"type\": \"String\" },\n        { \"logicalName\": \"cr123_address\",  \"type\": \"String\" }\n      ]\n    }\n  ]\n}\n",[12354],{"type":49,"tag":96,"props":12355,"children":12356},{"__ignoreMap":152},[12357,12364,12400,12437,12460,12467,12503,12539,12575,12612,12649,12673,12747,12818,12826,12833,12840],{"type":49,"tag":158,"props":12358,"children":12359},{"class":160,"line":161},[12360],{"type":49,"tag":158,"props":12361,"children":12362},{"style":182},[12363],{"type":58,"value":3495},{"type":49,"tag":158,"props":12365,"children":12366},{"class":160,"line":202},[12367,12371,12376,12380,12384,12388,12392,12396],{"type":49,"tag":158,"props":12368,"children":12369},{"style":182},[12370],{"type":58,"value":2025},{"type":49,"tag":158,"props":12372,"children":12373},{"style":2909},[12374],{"type":58,"value":12375},"environmentUrl",{"type":49,"tag":158,"props":12377,"children":12378},{"style":182},[12379],{"type":58,"value":235},{"type":49,"tag":158,"props":12381,"children":12382},{"style":182},[12383],{"type":58,"value":527},{"type":49,"tag":158,"props":12385,"children":12386},{"style":182},[12387],{"type":58,"value":1193},{"type":49,"tag":158,"props":12389,"children":12390},{"style":171},[12391],{"type":58,"value":1258},{"type":49,"tag":158,"props":12393,"children":12394},{"style":182},[12395],{"type":58,"value":235},{"type":49,"tag":158,"props":12397,"children":12398},{"style":182},[12399],{"type":58,"value":3531},{"type":49,"tag":158,"props":12401,"children":12402},{"class":160,"line":740},[12403,12407,12412,12416,12420,12424,12429,12433],{"type":49,"tag":158,"props":12404,"children":12405},{"style":182},[12406],{"type":58,"value":2025},{"type":49,"tag":158,"props":12408,"children":12409},{"style":2909},[12410],{"type":58,"value":12411},"generatedAt",{"type":49,"tag":158,"props":12413,"children":12414},{"style":182},[12415],{"type":58,"value":235},{"type":49,"tag":158,"props":12417,"children":12418},{"style":182},[12419],{"type":58,"value":527},{"type":49,"tag":158,"props":12421,"children":12422},{"style":182},[12423],{"type":58,"value":1193},{"type":49,"tag":158,"props":12425,"children":12426},{"style":171},[12427],{"type":58,"value":12428},"\u003CISO timestamp>",{"type":49,"tag":158,"props":12430,"children":12431},{"style":182},[12432],{"type":58,"value":235},{"type":49,"tag":158,"props":12434,"children":12435},{"style":182},[12436],{"type":58,"value":3531},{"type":49,"tag":158,"props":12438,"children":12439},{"class":160,"line":763},[12440,12444,12448,12452,12456],{"type":49,"tag":158,"props":12441,"children":12442},{"style":182},[12443],{"type":58,"value":2025},{"type":49,"tag":158,"props":12445,"children":12446},{"style":2909},[12447],{"type":58,"value":732},{"type":49,"tag":158,"props":12449,"children":12450},{"style":182},[12451],{"type":58,"value":235},{"type":49,"tag":158,"props":12453,"children":12454},{"style":182},[12455],{"type":58,"value":527},{"type":49,"tag":158,"props":12457,"children":12458},{"style":182},[12459],{"type":58,"value":3555},{"type":49,"tag":158,"props":12461,"children":12462},{"class":160,"line":781},[12463],{"type":49,"tag":158,"props":12464,"children":12465},{"style":182},[12466],{"type":58,"value":4506},{"type":49,"tag":158,"props":12468,"children":12469},{"class":160,"line":805},[12470,12474,12479,12483,12487,12491,12495,12499],{"type":49,"tag":158,"props":12471,"children":12472},{"style":182},[12473],{"type":58,"value":4515},{"type":49,"tag":158,"props":12475,"children":12476},{"style":206},[12477],{"type":58,"value":12478},"logicalName",{"type":49,"tag":158,"props":12480,"children":12481},{"style":182},[12482],{"type":58,"value":235},{"type":49,"tag":158,"props":12484,"children":12485},{"style":182},[12486],{"type":58,"value":527},{"type":49,"tag":158,"props":12488,"children":12489},{"style":182},[12490],{"type":58,"value":1193},{"type":49,"tag":158,"props":12492,"children":12493},{"style":171},[12494],{"type":58,"value":1886},{"type":49,"tag":158,"props":12496,"children":12497},{"style":182},[12498],{"type":58,"value":235},{"type":49,"tag":158,"props":12500,"children":12501},{"style":182},[12502],{"type":58,"value":3531},{"type":49,"tag":158,"props":12504,"children":12505},{"class":160,"line":834},[12506,12510,12515,12519,12523,12527,12531,12535],{"type":49,"tag":158,"props":12507,"children":12508},{"style":182},[12509],{"type":58,"value":4515},{"type":49,"tag":158,"props":12511,"children":12512},{"style":206},[12513],{"type":58,"value":12514},"displayName",{"type":49,"tag":158,"props":12516,"children":12517},{"style":182},[12518],{"type":58,"value":235},{"type":49,"tag":158,"props":12520,"children":12521},{"style":182},[12522],{"type":58,"value":527},{"type":49,"tag":158,"props":12524,"children":12525},{"style":182},[12526],{"type":58,"value":1193},{"type":49,"tag":158,"props":12528,"children":12529},{"style":171},[12530],{"type":58,"value":4127},{"type":49,"tag":158,"props":12532,"children":12533},{"style":182},[12534],{"type":58,"value":235},{"type":49,"tag":158,"props":12536,"children":12537},{"style":182},[12538],{"type":58,"value":3531},{"type":49,"tag":158,"props":12540,"children":12541},{"class":160,"line":3624},[12542,12546,12551,12555,12559,12563,12567,12571],{"type":49,"tag":158,"props":12543,"children":12544},{"style":182},[12545],{"type":58,"value":4515},{"type":49,"tag":158,"props":12547,"children":12548},{"style":206},[12549],{"type":58,"value":12550},"status",{"type":49,"tag":158,"props":12552,"children":12553},{"style":182},[12554],{"type":58,"value":235},{"type":49,"tag":158,"props":12556,"children":12557},{"style":182},[12558],{"type":58,"value":527},{"type":49,"tag":158,"props":12560,"children":12561},{"style":182},[12562],{"type":58,"value":1193},{"type":49,"tag":158,"props":12564,"children":12565},{"style":171},[12566],{"type":58,"value":875},{"type":49,"tag":158,"props":12568,"children":12569},{"style":182},[12570],{"type":58,"value":235},{"type":49,"tag":158,"props":12572,"children":12573},{"style":182},[12574],{"type":58,"value":3531},{"type":49,"tag":158,"props":12576,"children":12577},{"class":160,"line":3641},[12578,12582,12587,12591,12595,12599,12604,12608],{"type":49,"tag":158,"props":12579,"children":12580},{"style":182},[12581],{"type":58,"value":4515},{"type":49,"tag":158,"props":12583,"children":12584},{"style":206},[12585],{"type":58,"value":12586},"metadataId",{"type":49,"tag":158,"props":12588,"children":12589},{"style":182},[12590],{"type":58,"value":235},{"type":49,"tag":158,"props":12592,"children":12593},{"style":182},[12594],{"type":58,"value":527},{"type":49,"tag":158,"props":12596,"children":12597},{"style":182},[12598],{"type":58,"value":1193},{"type":49,"tag":158,"props":12600,"children":12601},{"style":171},[12602],{"type":58,"value":12603},"\u003Cserver-assigned GUID from Step 5a re-GET>",{"type":49,"tag":158,"props":12605,"children":12606},{"style":182},[12607],{"type":58,"value":235},{"type":49,"tag":158,"props":12609,"children":12610},{"style":182},[12611],{"type":58,"value":3531},{"type":49,"tag":158,"props":12613,"children":12614},{"class":160,"line":3650},[12615,12619,12624,12628,12632,12636,12641,12645],{"type":49,"tag":158,"props":12616,"children":12617},{"style":182},[12618],{"type":58,"value":4515},{"type":49,"tag":158,"props":12620,"children":12621},{"style":206},[12622],{"type":58,"value":12623},"solution",{"type":49,"tag":158,"props":12625,"children":12626},{"style":182},[12627],{"type":58,"value":235},{"type":49,"tag":158,"props":12629,"children":12630},{"style":182},[12631],{"type":58,"value":527},{"type":49,"tag":158,"props":12633,"children":12634},{"style":182},[12635],{"type":58,"value":1193},{"type":49,"tag":158,"props":12637,"children":12638},{"style":171},[12639],{"type":58,"value":12640},"\u003Csolution unique name, e.g. PowerAppsDefault>",{"type":49,"tag":158,"props":12642,"children":12643},{"style":182},[12644],{"type":58,"value":235},{"type":49,"tag":158,"props":12646,"children":12647},{"style":182},[12648],{"type":58,"value":3531},{"type":49,"tag":158,"props":12650,"children":12651},{"class":160,"line":4438},[12652,12656,12661,12665,12669],{"type":49,"tag":158,"props":12653,"children":12654},{"style":182},[12655],{"type":58,"value":4515},{"type":49,"tag":158,"props":12657,"children":12658},{"style":206},[12659],{"type":58,"value":12660},"columns",{"type":49,"tag":158,"props":12662,"children":12663},{"style":182},[12664],{"type":58,"value":235},{"type":49,"tag":158,"props":12666,"children":12667},{"style":182},[12668],{"type":58,"value":527},{"type":49,"tag":158,"props":12670,"children":12671},{"style":182},[12672],{"type":58,"value":3555},{"type":49,"tag":158,"props":12674,"children":12675},{"class":160,"line":4476},[12676,12681,12685,12689,12693,12697,12701,12705,12709,12713,12717,12722,12726,12730,12734,12739,12743],{"type":49,"tag":158,"props":12677,"children":12678},{"style":182},[12679],{"type":58,"value":12680},"        {",{"type":49,"tag":158,"props":12682,"children":12683},{"style":182},[12684],{"type":58,"value":1193},{"type":49,"tag":158,"props":12686,"children":12687},{"style":823},[12688],{"type":58,"value":12478},{"type":49,"tag":158,"props":12690,"children":12691},{"style":182},[12692],{"type":58,"value":235},{"type":49,"tag":158,"props":12694,"children":12695},{"style":182},[12696],{"type":58,"value":527},{"type":49,"tag":158,"props":12698,"children":12699},{"style":182},[12700],{"type":58,"value":1193},{"type":49,"tag":158,"props":12702,"children":12703},{"style":171},[12704],{"type":58,"value":4465},{"type":49,"tag":158,"props":12706,"children":12707},{"style":182},[12708],{"type":58,"value":235},{"type":49,"tag":158,"props":12710,"children":12711},{"style":182},[12712],{"type":58,"value":3427},{"type":49,"tag":158,"props":12714,"children":12715},{"style":182},[12716],{"type":58,"value":1193},{"type":49,"tag":158,"props":12718,"children":12719},{"style":823},[12720],{"type":58,"value":12721},"type",{"type":49,"tag":158,"props":12723,"children":12724},{"style":182},[12725],{"type":58,"value":235},{"type":49,"tag":158,"props":12727,"children":12728},{"style":182},[12729],{"type":58,"value":527},{"type":49,"tag":158,"props":12731,"children":12732},{"style":182},[12733],{"type":58,"value":1193},{"type":49,"tag":158,"props":12735,"children":12736},{"style":171},[12737],{"type":58,"value":12738},"String",{"type":49,"tag":158,"props":12740,"children":12741},{"style":182},[12742],{"type":58,"value":235},{"type":49,"tag":158,"props":12744,"children":12745},{"style":182},[12746],{"type":58,"value":3573},{"type":49,"tag":158,"props":12748,"children":12749},{"class":160,"line":4500},[12750,12754,12758,12762,12766,12770,12774,12778,12782,12786,12790,12794,12798,12802,12806,12810,12814],{"type":49,"tag":158,"props":12751,"children":12752},{"style":182},[12753],{"type":58,"value":12680},{"type":49,"tag":158,"props":12755,"children":12756},{"style":182},[12757],{"type":58,"value":1193},{"type":49,"tag":158,"props":12759,"children":12760},{"style":823},[12761],{"type":58,"value":12478},{"type":49,"tag":158,"props":12763,"children":12764},{"style":182},[12765],{"type":58,"value":235},{"type":49,"tag":158,"props":12767,"children":12768},{"style":182},[12769],{"type":58,"value":527},{"type":49,"tag":158,"props":12771,"children":12772},{"style":182},[12773],{"type":58,"value":1193},{"type":49,"tag":158,"props":12775,"children":12776},{"style":171},[12777],{"type":58,"value":4972},{"type":49,"tag":158,"props":12779,"children":12780},{"style":182},[12781],{"type":58,"value":235},{"type":49,"tag":158,"props":12783,"children":12784},{"style":182},[12785],{"type":58,"value":3427},{"type":49,"tag":158,"props":12787,"children":12788},{"style":182},[12789],{"type":58,"value":2025},{"type":49,"tag":158,"props":12791,"children":12792},{"style":823},[12793],{"type":58,"value":12721},{"type":49,"tag":158,"props":12795,"children":12796},{"style":182},[12797],{"type":58,"value":235},{"type":49,"tag":158,"props":12799,"children":12800},{"style":182},[12801],{"type":58,"value":527},{"type":49,"tag":158,"props":12803,"children":12804},{"style":182},[12805],{"type":58,"value":1193},{"type":49,"tag":158,"props":12807,"children":12808},{"style":171},[12809],{"type":58,"value":12738},{"type":49,"tag":158,"props":12811,"children":12812},{"style":182},[12813],{"type":58,"value":235},{"type":49,"tag":158,"props":12815,"children":12816},{"style":182},[12817],{"type":58,"value":2938},{"type":49,"tag":158,"props":12819,"children":12820},{"class":160,"line":4509},[12821],{"type":49,"tag":158,"props":12822,"children":12823},{"style":182},[12824],{"type":58,"value":12825},"      ]\n",{"type":49,"tag":158,"props":12827,"children":12828},{"class":160,"line":4547},[12829],{"type":49,"tag":158,"props":12830,"children":12831},{"style":182},[12832],{"type":58,"value":6399},{"type":49,"tag":158,"props":12834,"children":12835},{"class":160,"line":4583},[12836],{"type":49,"tag":158,"props":12837,"children":12838},{"style":182},[12839],{"type":58,"value":3647},{"type":49,"tag":158,"props":12841,"children":12842},{"class":160,"line":4720},[12843],{"type":49,"tag":158,"props":12844,"children":12845},{"style":182},[12846],{"type":58,"value":3656},{"type":49,"tag":50,"props":12848,"children":12849},{},[12850,12855,12856,12861,12863,12869,12870,12876],{"type":49,"tag":96,"props":12851,"children":12853},{"className":12852},[],[12854],{"type":58,"value":12586},{"type":58,"value":1056},{"type":49,"tag":96,"props":12857,"children":12859},{"className":12858},[],[12860],{"type":58,"value":12623},{"type":58,"value":12862}," are required for ",{"type":49,"tag":96,"props":12864,"children":12866},{"className":12865},[],[12867],{"type":58,"value":12868},"status: \"new\"",{"type":58,"value":1924},{"type":49,"tag":96,"props":12871,"children":12873},{"className":12872},[],[12874],{"type":58,"value":12875},"\"extended\"",{"type":58,"value":12877}," entries — they're how Step 5a distinguishes \"we own this on a re-run\" from \"name collision.\" Reused tables can omit both.",{"type":49,"tag":50,"props":12879,"children":12880},{},[12881],{"type":58,"value":12882},"Include only tables confirmed in Step 6c. Do NOT include tables reused with no schema changes.",{"type":49,"tag":135,"props":12884,"children":12886},{"id":12885},"step-7-inspect-generated-files",[12887],{"type":58,"value":12888},"Step 7 — Inspect generated files",{"type":49,"tag":147,"props":12890,"children":12893},{"className":12891,"code":12892,"language":58,"meta":152},[2869],"Glob: src\u002Fgenerated\u002Fservices\u002F*Service.ts\nGlob: src\u002Fgenerated\u002Fmodels\u002F*Model.ts\n",[12894],{"type":49,"tag":96,"props":12895,"children":12896},{"__ignoreMap":152},[12897],{"type":58,"value":12892},{"type":49,"tag":50,"props":12899,"children":12900},{},[12901],{"type":58,"value":12902},"For each table, check the generated service exposes the expected methods:",{"type":49,"tag":147,"props":12904,"children":12907},{"className":12905,"code":12906,"language":58,"meta":152},[2869],"Grep pattern=\"async (create|getAll|getById|update|delete|upload|downloadFile|downloadImage)\" path=\"src\u002Fgenerated\u002Fservices\u002F\u003CTable>Service.ts\"\n",[12908],{"type":49,"tag":96,"props":12909,"children":12910},{"__ignoreMap":152},[12911],{"type":58,"value":12906},{"type":49,"tag":50,"props":12913,"children":12914},{},[12915,12917,12923,12924,12930,12931,12937,12938,12944,12946,12952,12953,12959],{"type":58,"value":12916},"If the table has file or image columns, confirm the service includes ",{"type":49,"tag":96,"props":12918,"children":12920},{"className":12919},[],[12921],{"type":58,"value":12922},"upload",{"type":58,"value":442},{"type":49,"tag":96,"props":12925,"children":12927},{"className":12926},[],[12928],{"type":58,"value":12929},"downloadFile",{"type":58,"value":442},{"type":49,"tag":96,"props":12932,"children":12934},{"className":12933},[],[12935],{"type":58,"value":12936},"downloadImage",{"type":58,"value":442},{"type":49,"tag":96,"props":12939,"children":12941},{"className":12940},[],[12942],{"type":58,"value":12943},"deleteFileOrImage",{"type":58,"value":12945}," — and the model exposes ",{"type":49,"tag":96,"props":12947,"children":12949},{"className":12948},[],[12950],{"type":58,"value":12951},"\u003CTable>FileColumnName",{"type":58,"value":605},{"type":49,"tag":96,"props":12954,"children":12956},{"className":12955},[],[12957],{"type":58,"value":12958},"\u003CTable>ImageColumnName",{"type":58,"value":12960}," union types.",{"type":49,"tag":50,"props":12962,"children":12963},{},[12964,12969,12971,12977],{"type":49,"tag":54,"props":12965,"children":12966},{},[12967],{"type":58,"value":12968},"File\u002Fimage column UI controls:",{"type":58,"value":12970}," When a generated table has File or Image columns, note this in the summary so screen-builders apply the host controls from ",{"type":49,"tag":96,"props":12972,"children":12974},{"className":12973},[],[12975],{"type":58,"value":12976},"@microsoft\u002Fpower-apps-native-host",{"type":58,"value":527},{"type":49,"tag":81,"props":12979,"children":12980},{},[12981,12999,13040],{"type":49,"tag":85,"props":12982,"children":12983},{},[12984,12989,12991,12997],{"type":49,"tag":54,"props":12985,"children":12986},{},[12987],{"type":58,"value":12988},"File columns",{"type":58,"value":12990}," → ",{"type":49,"tag":96,"props":12992,"children":12994},{"className":12993},[],[12995],{"type":58,"value":12996},"\u003CFilePicker>",{"type":58,"value":12998},"; upload bytes separately via the generated service's upload method after the main create\u002Fupdate.",{"type":49,"tag":85,"props":13000,"children":13001},{},[13002,13007,13008,13014,13016,13022,13024,13030,13032,13038],{"type":49,"tag":54,"props":13003,"children":13004},{},[13005],{"type":58,"value":13006},"Image columns",{"type":58,"value":12990},{"type":49,"tag":96,"props":13009,"children":13011},{"className":13010},[],[13012],{"type":58,"value":13013},"\u003CImagePicker>",{"type":58,"value":13015},"; capture ",{"type":49,"tag":96,"props":13017,"children":13019},{"className":13018},[],[13020],{"type":58,"value":13021},"PickedImageInfo",{"type":58,"value":13023}," via ",{"type":49,"tag":96,"props":13025,"children":13027},{"className":13026},[],[13028],{"type":58,"value":13029},"onImageChange",{"type":58,"value":13031}," and persist through generated ",{"type":49,"tag":96,"props":13033,"children":13035},{"className":13034},[],[13036],{"type":58,"value":13037},"upload(...)",{"type":58,"value":13039}," after the main create\u002Fupdate.",{"type":49,"tag":85,"props":13041,"children":13042},{},[13043,13048,13050,13056,13057,13063],{"type":49,"tag":54,"props":13044,"children":13045},{},[13046],{"type":58,"value":13047},"Read\u002Fview flows",{"type":58,"value":13049}," → use generated ",{"type":49,"tag":96,"props":13051,"children":13053},{"className":13052},[],[13054],{"type":58,"value":13055},"downloadFile(...)",{"type":58,"value":605},{"type":49,"tag":96,"props":13058,"children":13060},{"className":13059},[],[13061],{"type":58,"value":13062},"downloadImage(...)",{"type":58,"value":13064}," helpers for existing attachments\u002Fpreviews.",{"type":49,"tag":50,"props":13066,"children":13067},{},[13068,13070,13080],{"type":58,"value":13069},"Full usage pattern and the native-wrapper boundary live in ",{"type":49,"tag":61,"props":13071,"children":13073},{"href":13072},"..\u002Fadd-native\u002FSKILL.md#fileimage-picker-ownership",[13074],{"type":49,"tag":96,"props":13075,"children":13077},{"className":13076},[],[13078],{"type":58,"value":13079},"\u002Fadd-native",{"type":58,"value":13081},"; screen-builder keeps only the concise JSX enforcement rule.",{"type":49,"tag":50,"props":13083,"children":13084},{},[13085,13090],{"type":49,"tag":54,"props":13086,"children":13087},{},[13088],{"type":58,"value":13089},"PDF\u002Fsignature artifact schema guidance:",{"type":58,"value":13091}," If the approved plan mentions generated PDFs, PDF evidence packets, approvals, signatures, sign-off, ink, or drawings, preserve the storage decision in the Dataverse model instead of defaulting to text fields.",{"type":49,"tag":560,"props":13093,"children":13094},{},[],{"type":49,"tag":560,"props":13096,"children":13097},{},[13098,13119],{"type":49,"tag":564,"props":13099,"children":13100},{},[13101],{"type":49,"tag":568,"props":13102,"children":13103},{},[13104,13109,13114],{"type":49,"tag":572,"props":13105,"children":13106},{},[13107],{"type":58,"value":13108},"User need",{"type":49,"tag":572,"props":13110,"children":13111},{},[13112],{"type":58,"value":13113},"Dataverse shape",{"type":49,"tag":572,"props":13115,"children":13116},{},[13117],{"type":58,"value":13118},"Write pattern",{"type":49,"tag":583,"props":13120,"children":13121},{},[13122,13146,13180,13206],{"type":49,"tag":568,"props":13123,"children":13124},{},[13125,13130,13135],{"type":49,"tag":590,"props":13126,"children":13127},{},[13128],{"type":58,"value":13129},"Generated PDF report that must be retained",{"type":49,"tag":590,"props":13131,"children":13132},{},[13133],{"type":58,"value":13134},"File column on the parent record, or child Evidence\u002FAttachment table with a File column",{"type":49,"tag":590,"props":13136,"children":13137},{},[13138,13140],{"type":58,"value":13139},"Create\u002Fupdate parent row first, then call generated ",{"type":49,"tag":96,"props":13141,"children":13143},{"className":13142},[],[13144],{"type":58,"value":13145},"Service.upload(parentId, '\u003CfileColumn>', file)",{"type":49,"tag":568,"props":13147,"children":13148},{},[13149,13154,13159],{"type":49,"tag":590,"props":13150,"children":13151},{},[13152],{"type":58,"value":13153},"Generated PDF report that is only transient",{"type":49,"tag":590,"props":13155,"children":13156},{},[13157],{"type":58,"value":13158},"No Dataverse column required",{"type":49,"tag":590,"props":13160,"children":13161},{},[13162,13164,13170,13172,13178],{"type":58,"value":13163},"Generate locally with ",{"type":49,"tag":96,"props":13165,"children":13167},{"className":13166},[],[13168],{"type":58,"value":13169},"expo-print",{"type":58,"value":13171}," only when present; share with ",{"type":49,"tag":96,"props":13173,"children":13175},{"className":13174},[],[13176],{"type":58,"value":13177},"expo-sharing",{"type":58,"value":13179}," only when present; do not route local URI to native PDF viewer",{"type":49,"tag":568,"props":13181,"children":13182},{},[13183,13188,13193],{"type":49,"tag":590,"props":13184,"children":13185},{},[13186],{"type":58,"value":13187},"Captured signature\u002Fsign-off image",{"type":49,"tag":590,"props":13189,"children":13190},{},[13191],{"type":58,"value":13192},"Image column when the latest signature belongs on the parent row",{"type":49,"tag":590,"props":13194,"children":13195},{},[13196,13198,13204],{"type":58,"value":13197},"Strip ",{"type":49,"tag":96,"props":13199,"children":13201},{"className":13200},[],[13202],{"type":58,"value":13203},"data:image\u002Fpng;base64,",{"type":58,"value":13205}," if the generated service expects raw base64, then include image payload in the update body",{"type":49,"tag":568,"props":13207,"children":13208},{},[13209,13214,13219],{"type":49,"tag":590,"props":13210,"children":13211},{},[13212],{"type":58,"value":13213},"Multiple signatures, sketches, evidence images, or audit attachments",{"type":49,"tag":590,"props":13215,"children":13216},{},[13217],{"type":58,"value":13218},"Child Evidence\u002FAttachment table with Image\u002FFile columns and lookup to parent",{"type":49,"tag":590,"props":13220,"children":13221},{},[13222],{"type":58,"value":13223},"Create child row first, then include Image payload or upload File bytes through generated service helpers",{"type":49,"tag":50,"props":13225,"children":13226},{},[13227],{"type":58,"value":13228},"Signature image normalization example:",{"type":49,"tag":147,"props":13230,"children":13234},{"className":13231,"code":13232,"language":13233,"meta":152,"style":152},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const signatureBase64 = signatureDataUri.replace(\u002F^data:image\\\u002Fpng;base64,\u002F, '');\nconst result = await Cr123_approvalService.update(approvalId, {\n  cr123_signatureimage: signatureBase64,\n  cr123_signedat: new Date().toISOString(),\n});\n\nif (!result.success) {\n  throw new Error(result.error?.message ?? 'Signature image was not saved.');\n}\n","ts",[13235],{"type":49,"tag":96,"props":13236,"children":13237},{"__ignoreMap":152},[13238,13321,13369,13390,13433,13448,13456,13491,13561],{"type":49,"tag":158,"props":13239,"children":13240},{"class":160,"line":161},[13241,13246,13251,13256,13261,13265,13270,13274,13278,13284,13289,13294,13299,13303,13307,13312,13316],{"type":49,"tag":158,"props":13242,"children":13243},{"style":2909},[13244],{"type":58,"value":13245},"const",{"type":49,"tag":158,"props":13247,"children":13248},{"style":217},[13249],{"type":58,"value":13250}," signatureBase64 ",{"type":49,"tag":158,"props":13252,"children":13253},{"style":182},[13254],{"type":58,"value":13255},"=",{"type":49,"tag":158,"props":13257,"children":13258},{"style":217},[13259],{"type":58,"value":13260}," signatureDataUri",{"type":49,"tag":158,"props":13262,"children":13263},{"style":182},[13264],{"type":58,"value":892},{"type":49,"tag":158,"props":13266,"children":13267},{"style":165},[13268],{"type":58,"value":13269},"replace",{"type":49,"tag":158,"props":13271,"children":13272},{"style":217},[13273],{"type":58,"value":264},{"type":49,"tag":158,"props":13275,"children":13276},{"style":182},[13277],{"type":58,"value":9342},{"type":49,"tag":158,"props":13279,"children":13281},{"style":13280},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[13282],{"type":58,"value":13283},"^",{"type":49,"tag":158,"props":13285,"children":13286},{"style":171},[13287],{"type":58,"value":13288},"data:image",{"type":49,"tag":158,"props":13290,"children":13291},{"style":217},[13292],{"type":58,"value":13293},"\\\u002F",{"type":49,"tag":158,"props":13295,"children":13296},{"style":171},[13297],{"type":58,"value":13298},"png;base64,",{"type":49,"tag":158,"props":13300,"children":13301},{"style":182},[13302],{"type":58,"value":9342},{"type":49,"tag":158,"props":13304,"children":13305},{"style":182},[13306],{"type":58,"value":3427},{"type":49,"tag":158,"props":13308,"children":13309},{"style":182},[13310],{"type":58,"value":13311}," ''",{"type":49,"tag":158,"props":13313,"children":13314},{"style":217},[13315],{"type":58,"value":274},{"type":49,"tag":158,"props":13317,"children":13318},{"style":182},[13319],{"type":58,"value":13320},";\n",{"type":49,"tag":158,"props":13322,"children":13323},{"class":160,"line":202},[13324,13328,13333,13337,13342,13347,13351,13356,13361,13365],{"type":49,"tag":158,"props":13325,"children":13326},{"style":2909},[13327],{"type":58,"value":13245},{"type":49,"tag":158,"props":13329,"children":13330},{"style":217},[13331],{"type":58,"value":13332}," result ",{"type":49,"tag":158,"props":13334,"children":13335},{"style":182},[13336],{"type":58,"value":13255},{"type":49,"tag":158,"props":13338,"children":13339},{"style":13280},[13340],{"type":58,"value":13341}," await",{"type":49,"tag":158,"props":13343,"children":13344},{"style":217},[13345],{"type":58,"value":13346}," Cr123_approvalService",{"type":49,"tag":158,"props":13348,"children":13349},{"style":182},[13350],{"type":58,"value":892},{"type":49,"tag":158,"props":13352,"children":13353},{"style":165},[13354],{"type":58,"value":13355},"update",{"type":49,"tag":158,"props":13357,"children":13358},{"style":217},[13359],{"type":58,"value":13360},"(approvalId",{"type":49,"tag":158,"props":13362,"children":13363},{"style":182},[13364],{"type":58,"value":3427},{"type":49,"tag":158,"props":13366,"children":13367},{"style":182},[13368],{"type":58,"value":5968},{"type":49,"tag":158,"props":13370,"children":13371},{"class":160,"line":740},[13372,13377,13381,13386],{"type":49,"tag":158,"props":13373,"children":13374},{"style":712},[13375],{"type":58,"value":13376},"  cr123_signatureimage",{"type":49,"tag":158,"props":13378,"children":13379},{"style":182},[13380],{"type":58,"value":527},{"type":49,"tag":158,"props":13382,"children":13383},{"style":217},[13384],{"type":58,"value":13385}," signatureBase64",{"type":49,"tag":158,"props":13387,"children":13388},{"style":182},[13389],{"type":58,"value":3531},{"type":49,"tag":158,"props":13391,"children":13392},{"class":160,"line":763},[13393,13398,13402,13406,13411,13416,13420,13425,13429],{"type":49,"tag":158,"props":13394,"children":13395},{"style":712},[13396],{"type":58,"value":13397},"  cr123_signedat",{"type":49,"tag":158,"props":13399,"children":13400},{"style":182},[13401],{"type":58,"value":527},{"type":49,"tag":158,"props":13403,"children":13404},{"style":182},[13405],{"type":58,"value":796},{"type":49,"tag":158,"props":13407,"children":13408},{"style":165},[13409],{"type":58,"value":13410}," Date",{"type":49,"tag":158,"props":13412,"children":13413},{"style":217},[13414],{"type":58,"value":13415},"()",{"type":49,"tag":158,"props":13417,"children":13418},{"style":182},[13419],{"type":58,"value":892},{"type":49,"tag":158,"props":13421,"children":13422},{"style":165},[13423],{"type":58,"value":13424},"toISOString",{"type":49,"tag":158,"props":13426,"children":13427},{"style":217},[13428],{"type":58,"value":13415},{"type":49,"tag":158,"props":13430,"children":13431},{"style":182},[13432],{"type":58,"value":3531},{"type":49,"tag":158,"props":13434,"children":13435},{"class":160,"line":781},[13436,13440,13444],{"type":49,"tag":158,"props":13437,"children":13438},{"style":182},[13439],{"type":58,"value":225},{"type":49,"tag":158,"props":13441,"children":13442},{"style":217},[13443],{"type":58,"value":274},{"type":49,"tag":158,"props":13445,"children":13446},{"style":182},[13447],{"type":58,"value":13320},{"type":49,"tag":158,"props":13449,"children":13450},{"class":160,"line":805},[13451],{"type":49,"tag":158,"props":13452,"children":13453},{"emptyLinePlaceholder":42},[13454],{"type":58,"value":13455},"\n",{"type":49,"tag":158,"props":13457,"children":13458},{"class":160,"line":834},[13459,13464,13468,13473,13478,13482,13487],{"type":49,"tag":158,"props":13460,"children":13461},{"style":13280},[13462],{"type":58,"value":13463},"if",{"type":49,"tag":158,"props":13465,"children":13466},{"style":217},[13467],{"type":58,"value":308},{"type":49,"tag":158,"props":13469,"children":13470},{"style":182},[13471],{"type":58,"value":13472},"!",{"type":49,"tag":158,"props":13474,"children":13475},{"style":217},[13476],{"type":58,"value":13477},"result",{"type":49,"tag":158,"props":13479,"children":13480},{"style":182},[13481],{"type":58,"value":892},{"type":49,"tag":158,"props":13483,"children":13484},{"style":217},[13485],{"type":58,"value":13486},"success) ",{"type":49,"tag":158,"props":13488,"children":13489},{"style":182},[13490],{"type":58,"value":3495},{"type":49,"tag":158,"props":13492,"children":13493},{"class":160,"line":3624},[13494,13499,13503,13508,13512,13516,13520,13525,13530,13535,13540,13544,13549,13553,13557],{"type":49,"tag":158,"props":13495,"children":13496},{"style":13280},[13497],{"type":58,"value":13498},"  throw",{"type":49,"tag":158,"props":13500,"children":13501},{"style":182},[13502],{"type":58,"value":796},{"type":49,"tag":158,"props":13504,"children":13505},{"style":165},[13506],{"type":58,"value":13507}," Error",{"type":49,"tag":158,"props":13509,"children":13510},{"style":712},[13511],{"type":58,"value":264},{"type":49,"tag":158,"props":13513,"children":13514},{"style":217},[13515],{"type":58,"value":13477},{"type":49,"tag":158,"props":13517,"children":13518},{"style":182},[13519],{"type":58,"value":892},{"type":49,"tag":158,"props":13521,"children":13522},{"style":217},[13523],{"type":58,"value":13524},"error",{"type":49,"tag":158,"props":13526,"children":13527},{"style":182},[13528],{"type":58,"value":13529},"?.",{"type":49,"tag":158,"props":13531,"children":13532},{"style":217},[13533],{"type":58,"value":13534},"message",{"type":49,"tag":158,"props":13536,"children":13537},{"style":182},[13538],{"type":58,"value":13539}," ??",{"type":49,"tag":158,"props":13541,"children":13542},{"style":182},[13543],{"type":58,"value":3811},{"type":49,"tag":158,"props":13545,"children":13546},{"style":171},[13547],{"type":58,"value":13548},"Signature image was not saved.",{"type":49,"tag":158,"props":13550,"children":13551},{"style":182},[13552],{"type":58,"value":1557},{"type":49,"tag":158,"props":13554,"children":13555},{"style":712},[13556],{"type":58,"value":274},{"type":49,"tag":158,"props":13558,"children":13559},{"style":182},[13560],{"type":58,"value":13320},{"type":49,"tag":158,"props":13562,"children":13563},{"class":160,"line":3641},[13564],{"type":49,"tag":158,"props":13565,"children":13566},{"style":182},[13567],{"type":58,"value":3656},{"type":49,"tag":50,"props":13569,"children":13570},{},[13571],{"type":58,"value":13572},"File upload after parent row exists example:",{"type":49,"tag":147,"props":13574,"children":13576},{"className":13231,"code":13575,"language":13233,"meta":152,"style":152},"const save = await Cr123_inspectionService.update(inspectionId, {\n  cr123_reportgeneratedat: new Date().toISOString(),\n});\n\nif (!save.success) {\n  throw new Error(save.error?.message ?? 'Inspection was not saved.');\n}\n\nconst upload = await Cr123_inspectionService.upload(inspectionId, 'cr123_reportfile', reportFile);\n\nif (!upload.success) {\n  throw new Error(upload.error?.message ?? 'Inspection report was not uploaded.');\n}\n",[13577],{"type":49,"tag":96,"props":13578,"children":13579},{"__ignoreMap":152},[13580,13626,13666,13681,13688,13720,13784,13791,13798,13864,13871,13902,13966],{"type":49,"tag":158,"props":13581,"children":13582},{"class":160,"line":161},[13583,13587,13592,13596,13600,13605,13609,13613,13618,13622],{"type":49,"tag":158,"props":13584,"children":13585},{"style":2909},[13586],{"type":58,"value":13245},{"type":49,"tag":158,"props":13588,"children":13589},{"style":217},[13590],{"type":58,"value":13591}," save ",{"type":49,"tag":158,"props":13593,"children":13594},{"style":182},[13595],{"type":58,"value":13255},{"type":49,"tag":158,"props":13597,"children":13598},{"style":13280},[13599],{"type":58,"value":13341},{"type":49,"tag":158,"props":13601,"children":13602},{"style":217},[13603],{"type":58,"value":13604}," Cr123_inspectionService",{"type":49,"tag":158,"props":13606,"children":13607},{"style":182},[13608],{"type":58,"value":892},{"type":49,"tag":158,"props":13610,"children":13611},{"style":165},[13612],{"type":58,"value":13355},{"type":49,"tag":158,"props":13614,"children":13615},{"style":217},[13616],{"type":58,"value":13617},"(inspectionId",{"type":49,"tag":158,"props":13619,"children":13620},{"style":182},[13621],{"type":58,"value":3427},{"type":49,"tag":158,"props":13623,"children":13624},{"style":182},[13625],{"type":58,"value":5968},{"type":49,"tag":158,"props":13627,"children":13628},{"class":160,"line":202},[13629,13634,13638,13642,13646,13650,13654,13658,13662],{"type":49,"tag":158,"props":13630,"children":13631},{"style":712},[13632],{"type":58,"value":13633},"  cr123_reportgeneratedat",{"type":49,"tag":158,"props":13635,"children":13636},{"style":182},[13637],{"type":58,"value":527},{"type":49,"tag":158,"props":13639,"children":13640},{"style":182},[13641],{"type":58,"value":796},{"type":49,"tag":158,"props":13643,"children":13644},{"style":165},[13645],{"type":58,"value":13410},{"type":49,"tag":158,"props":13647,"children":13648},{"style":217},[13649],{"type":58,"value":13415},{"type":49,"tag":158,"props":13651,"children":13652},{"style":182},[13653],{"type":58,"value":892},{"type":49,"tag":158,"props":13655,"children":13656},{"style":165},[13657],{"type":58,"value":13424},{"type":49,"tag":158,"props":13659,"children":13660},{"style":217},[13661],{"type":58,"value":13415},{"type":49,"tag":158,"props":13663,"children":13664},{"style":182},[13665],{"type":58,"value":3531},{"type":49,"tag":158,"props":13667,"children":13668},{"class":160,"line":740},[13669,13673,13677],{"type":49,"tag":158,"props":13670,"children":13671},{"style":182},[13672],{"type":58,"value":225},{"type":49,"tag":158,"props":13674,"children":13675},{"style":217},[13676],{"type":58,"value":274},{"type":49,"tag":158,"props":13678,"children":13679},{"style":182},[13680],{"type":58,"value":13320},{"type":49,"tag":158,"props":13682,"children":13683},{"class":160,"line":763},[13684],{"type":49,"tag":158,"props":13685,"children":13686},{"emptyLinePlaceholder":42},[13687],{"type":58,"value":13455},{"type":49,"tag":158,"props":13689,"children":13690},{"class":160,"line":781},[13691,13695,13699,13703,13708,13712,13716],{"type":49,"tag":158,"props":13692,"children":13693},{"style":13280},[13694],{"type":58,"value":13463},{"type":49,"tag":158,"props":13696,"children":13697},{"style":217},[13698],{"type":58,"value":308},{"type":49,"tag":158,"props":13700,"children":13701},{"style":182},[13702],{"type":58,"value":13472},{"type":49,"tag":158,"props":13704,"children":13705},{"style":217},[13706],{"type":58,"value":13707},"save",{"type":49,"tag":158,"props":13709,"children":13710},{"style":182},[13711],{"type":58,"value":892},{"type":49,"tag":158,"props":13713,"children":13714},{"style":217},[13715],{"type":58,"value":13486},{"type":49,"tag":158,"props":13717,"children":13718},{"style":182},[13719],{"type":58,"value":3495},{"type":49,"tag":158,"props":13721,"children":13722},{"class":160,"line":805},[13723,13727,13731,13735,13739,13743,13747,13751,13755,13759,13763,13767,13772,13776,13780],{"type":49,"tag":158,"props":13724,"children":13725},{"style":13280},[13726],{"type":58,"value":13498},{"type":49,"tag":158,"props":13728,"children":13729},{"style":182},[13730],{"type":58,"value":796},{"type":49,"tag":158,"props":13732,"children":13733},{"style":165},[13734],{"type":58,"value":13507},{"type":49,"tag":158,"props":13736,"children":13737},{"style":712},[13738],{"type":58,"value":264},{"type":49,"tag":158,"props":13740,"children":13741},{"style":217},[13742],{"type":58,"value":13707},{"type":49,"tag":158,"props":13744,"children":13745},{"style":182},[13746],{"type":58,"value":892},{"type":49,"tag":158,"props":13748,"children":13749},{"style":217},[13750],{"type":58,"value":13524},{"type":49,"tag":158,"props":13752,"children":13753},{"style":182},[13754],{"type":58,"value":13529},{"type":49,"tag":158,"props":13756,"children":13757},{"style":217},[13758],{"type":58,"value":13534},{"type":49,"tag":158,"props":13760,"children":13761},{"style":182},[13762],{"type":58,"value":13539},{"type":49,"tag":158,"props":13764,"children":13765},{"style":182},[13766],{"type":58,"value":3811},{"type":49,"tag":158,"props":13768,"children":13769},{"style":171},[13770],{"type":58,"value":13771},"Inspection was not saved.",{"type":49,"tag":158,"props":13773,"children":13774},{"style":182},[13775],{"type":58,"value":1557},{"type":49,"tag":158,"props":13777,"children":13778},{"style":712},[13779],{"type":58,"value":274},{"type":49,"tag":158,"props":13781,"children":13782},{"style":182},[13783],{"type":58,"value":13320},{"type":49,"tag":158,"props":13785,"children":13786},{"class":160,"line":834},[13787],{"type":49,"tag":158,"props":13788,"children":13789},{"style":182},[13790],{"type":58,"value":3656},{"type":49,"tag":158,"props":13792,"children":13793},{"class":160,"line":3624},[13794],{"type":49,"tag":158,"props":13795,"children":13796},{"emptyLinePlaceholder":42},[13797],{"type":58,"value":13455},{"type":49,"tag":158,"props":13799,"children":13800},{"class":160,"line":3641},[13801,13805,13810,13814,13818,13822,13826,13830,13834,13838,13842,13847,13851,13855,13860],{"type":49,"tag":158,"props":13802,"children":13803},{"style":2909},[13804],{"type":58,"value":13245},{"type":49,"tag":158,"props":13806,"children":13807},{"style":217},[13808],{"type":58,"value":13809}," upload ",{"type":49,"tag":158,"props":13811,"children":13812},{"style":182},[13813],{"type":58,"value":13255},{"type":49,"tag":158,"props":13815,"children":13816},{"style":13280},[13817],{"type":58,"value":13341},{"type":49,"tag":158,"props":13819,"children":13820},{"style":217},[13821],{"type":58,"value":13604},{"type":49,"tag":158,"props":13823,"children":13824},{"style":182},[13825],{"type":58,"value":892},{"type":49,"tag":158,"props":13827,"children":13828},{"style":165},[13829],{"type":58,"value":12922},{"type":49,"tag":158,"props":13831,"children":13832},{"style":217},[13833],{"type":58,"value":13617},{"type":49,"tag":158,"props":13835,"children":13836},{"style":182},[13837],{"type":58,"value":3427},{"type":49,"tag":158,"props":13839,"children":13840},{"style":182},[13841],{"type":58,"value":3811},{"type":49,"tag":158,"props":13843,"children":13844},{"style":171},[13845],{"type":58,"value":13846},"cr123_reportfile",{"type":49,"tag":158,"props":13848,"children":13849},{"style":182},[13850],{"type":58,"value":1557},{"type":49,"tag":158,"props":13852,"children":13853},{"style":182},[13854],{"type":58,"value":3427},{"type":49,"tag":158,"props":13856,"children":13857},{"style":217},[13858],{"type":58,"value":13859}," reportFile)",{"type":49,"tag":158,"props":13861,"children":13862},{"style":182},[13863],{"type":58,"value":13320},{"type":49,"tag":158,"props":13865,"children":13866},{"class":160,"line":3650},[13867],{"type":49,"tag":158,"props":13868,"children":13869},{"emptyLinePlaceholder":42},[13870],{"type":58,"value":13455},{"type":49,"tag":158,"props":13872,"children":13873},{"class":160,"line":4438},[13874,13878,13882,13886,13890,13894,13898],{"type":49,"tag":158,"props":13875,"children":13876},{"style":13280},[13877],{"type":58,"value":13463},{"type":49,"tag":158,"props":13879,"children":13880},{"style":217},[13881],{"type":58,"value":308},{"type":49,"tag":158,"props":13883,"children":13884},{"style":182},[13885],{"type":58,"value":13472},{"type":49,"tag":158,"props":13887,"children":13888},{"style":217},[13889],{"type":58,"value":12922},{"type":49,"tag":158,"props":13891,"children":13892},{"style":182},[13893],{"type":58,"value":892},{"type":49,"tag":158,"props":13895,"children":13896},{"style":217},[13897],{"type":58,"value":13486},{"type":49,"tag":158,"props":13899,"children":13900},{"style":182},[13901],{"type":58,"value":3495},{"type":49,"tag":158,"props":13903,"children":13904},{"class":160,"line":4476},[13905,13909,13913,13917,13921,13925,13929,13933,13937,13941,13945,13949,13954,13958,13962],{"type":49,"tag":158,"props":13906,"children":13907},{"style":13280},[13908],{"type":58,"value":13498},{"type":49,"tag":158,"props":13910,"children":13911},{"style":182},[13912],{"type":58,"value":796},{"type":49,"tag":158,"props":13914,"children":13915},{"style":165},[13916],{"type":58,"value":13507},{"type":49,"tag":158,"props":13918,"children":13919},{"style":712},[13920],{"type":58,"value":264},{"type":49,"tag":158,"props":13922,"children":13923},{"style":217},[13924],{"type":58,"value":12922},{"type":49,"tag":158,"props":13926,"children":13927},{"style":182},[13928],{"type":58,"value":892},{"type":49,"tag":158,"props":13930,"children":13931},{"style":217},[13932],{"type":58,"value":13524},{"type":49,"tag":158,"props":13934,"children":13935},{"style":182},[13936],{"type":58,"value":13529},{"type":49,"tag":158,"props":13938,"children":13939},{"style":217},[13940],{"type":58,"value":13534},{"type":49,"tag":158,"props":13942,"children":13943},{"style":182},[13944],{"type":58,"value":13539},{"type":49,"tag":158,"props":13946,"children":13947},{"style":182},[13948],{"type":58,"value":3811},{"type":49,"tag":158,"props":13950,"children":13951},{"style":171},[13952],{"type":58,"value":13953},"Inspection report was not uploaded.",{"type":49,"tag":158,"props":13955,"children":13956},{"style":182},[13957],{"type":58,"value":1557},{"type":49,"tag":158,"props":13959,"children":13960},{"style":712},[13961],{"type":58,"value":274},{"type":49,"tag":158,"props":13963,"children":13964},{"style":182},[13965],{"type":58,"value":13320},{"type":49,"tag":158,"props":13967,"children":13968},{"class":160,"line":4500},[13969],{"type":49,"tag":158,"props":13970,"children":13971},{"style":182},[13972],{"type":58,"value":3656},{"type":49,"tag":135,"props":13974,"children":13976},{"id":13975},"step-8-type-check",[13977],{"type":58,"value":13978},"Step 8 — Type-check",{"type":49,"tag":50,"props":13980,"children":13981},{},[13982],{"type":49,"tag":54,"props":13983,"children":13984},{},[13985],{"type":58,"value":1945},{"type":49,"tag":529,"props":13987,"children":13988},{},[13989],{"type":49,"tag":50,"props":13990,"children":13991},{},[13992],{"type":58,"value":13993},"\"→ Regenerating connector schemas + running tsc to verify generated services compile (~15–30 seconds).\"",{"type":49,"tag":50,"props":13995,"children":13996},{},[13997,14002,14004,14010,14012,14018,14020,14026,14028,14034],{"type":49,"tag":96,"props":13998,"children":14000},{"className":13999},[],[14001],{"type":58,"value":101},{"type":58,"value":14003}," (Step 5) wrote new files into ",{"type":49,"tag":96,"props":14005,"children":14007},{"className":14006},[],[14008],{"type":58,"value":14009},".power\u002Fschemas\u002F\u003Cconnector>\u002F",{"type":58,"value":14011},". The ",{"type":49,"tag":96,"props":14013,"children":14015},{"className":14014},[],[14016],{"type":58,"value":14017},"connectorSchemas.ts",{"type":58,"value":14019}," consumed by ",{"type":49,"tag":96,"props":14021,"children":14023},{"className":14022},[],[14024],{"type":58,"value":14025},"app\u002F_layout.tsx",{"type":58,"value":14027}," is now stale — regenerate it before type-checking, otherwise the new tables won't be wired into the runtime schema map and ",{"type":49,"tag":96,"props":14029,"children":14031},{"className":14030},[],[14032],{"type":58,"value":14033},"tsc",{"type":58,"value":14035}," will pass against an out-of-date snapshot:",{"type":49,"tag":147,"props":14037,"children":14039},{"className":149,"code":14038,"language":151,"meta":152,"style":152},"npm run generate-schemas\nnpx tsc --noEmit\n",[14040],{"type":49,"tag":96,"props":14041,"children":14042},{"__ignoreMap":152},[14043,14061],{"type":49,"tag":158,"props":14044,"children":14045},{"class":160,"line":161},[14046,14051,14056],{"type":49,"tag":158,"props":14047,"children":14048},{"style":206},[14049],{"type":58,"value":14050},"npm",{"type":49,"tag":158,"props":14052,"children":14053},{"style":171},[14054],{"type":58,"value":14055}," run",{"type":49,"tag":158,"props":14057,"children":14058},{"style":171},[14059],{"type":58,"value":14060}," generate-schemas\n",{"type":49,"tag":158,"props":14062,"children":14063},{"class":160,"line":202},[14064,14068,14073],{"type":49,"tag":158,"props":14065,"children":14066},{"style":206},[14067],{"type":58,"value":11925},{"type":49,"tag":158,"props":14069,"children":14070},{"style":171},[14071],{"type":58,"value":14072}," tsc",{"type":49,"tag":158,"props":14074,"children":14075},{"style":171},[14076],{"type":58,"value":14077}," --noEmit\n",{"type":49,"tag":50,"props":14079,"children":14080},{},[14081,14083,14089],{"type":58,"value":14082},"Fix any errors. Common: missing peer dependencies — ",{"type":49,"tag":96,"props":14084,"children":14086},{"className":14085},[],[14087],{"type":58,"value":14088},"npx expo install \u003Cpackage>",{"type":58,"value":892},{"type":49,"tag":135,"props":14091,"children":14093},{"id":14092},"step-85-offline-profile-reconciliation",[14094],{"type":58,"value":14095},"Step 8.5 — Offline profile reconciliation",{"type":49,"tag":50,"props":14097,"children":14098},{},[14099],{"type":58,"value":14100},"A schema change here (new table or new column) can leave an existing Mobile Offline Profile behind — new tables never sync to devices and new columns come down blank. Reconcile the profile with what you just created.",{"type":49,"tag":50,"props":14102,"children":14103},{},[14104,14122,14124,14130,14131,14136,14137,14143],{"type":49,"tag":54,"props":14105,"children":14106},{},[14107,14109,14114,14116],{"type":58,"value":14108},"Skip this step entirely when ",{"type":49,"tag":96,"props":14110,"children":14112},{"className":14111},[],[14113],{"type":58,"value":432},{"type":58,"value":14115}," contains ",{"type":49,"tag":96,"props":14117,"children":14119},{"className":14118},[],[14120],{"type":58,"value":14121},"--skip-planning",{"type":58,"value":14123}," (the orchestrator-invoked path). ",{"type":49,"tag":96,"props":14125,"children":14127},{"className":14126},[],[14128],{"type":58,"value":14129},"\u002Fcreate-mobile-app",{"type":58,"value":442},{"type":49,"tag":96,"props":14132,"children":14134},{"className":14133},[],[14135],{"type":58,"value":1010},{"type":58,"value":323},{"type":49,"tag":96,"props":14138,"children":14140},{"className":14139},[],[14141],{"type":58,"value":14142},"\u002Fedit-app",{"type":58,"value":14144}," own offline reconciliation in their own flow, so running it here too would double-prompt.",{"type":49,"tag":50,"props":14146,"children":14147},{},[14148,14150,14155],{"type":58,"value":14149},"Otherwise (manual ",{"type":49,"tag":96,"props":14151,"children":14153},{"className":14152},[],[14154],{"type":58,"value":1371},{"type":58,"value":14156},"), run the local, no-network delta check:",{"type":49,"tag":147,"props":14158,"children":14160},{"className":149,"code":14159,"language":151,"meta":152,"style":152},"node \"${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Foffline-profile-delta.js\"\n",[14161],{"type":49,"tag":96,"props":14162,"children":14163},{"__ignoreMap":152},[14164],{"type":49,"tag":158,"props":14165,"children":14166},{"class":160,"line":161},[14167,14171,14175,14179,14183,14188],{"type":49,"tag":158,"props":14168,"children":14169},{"style":206},[14170],{"type":58,"value":209},{"type":49,"tag":158,"props":14172,"children":14173},{"style":182},[14174],{"type":58,"value":214},{"type":49,"tag":158,"props":14176,"children":14177},{"style":217},[14178],{"type":58,"value":220},{"type":49,"tag":158,"props":14180,"children":14181},{"style":182},[14182],{"type":58,"value":225},{"type":49,"tag":158,"props":14184,"children":14185},{"style":171},[14186],{"type":58,"value":14187},"\u002F..\u002F..\u002Fscripts\u002Foffline-profile-delta.js",{"type":49,"tag":158,"props":14189,"children":14190},{"style":182},[14191],{"type":58,"value":296},{"type":49,"tag":50,"props":14193,"children":14194},{},[14195,14197,14202,14204,14210],{"type":58,"value":14196},"Branch on the JSON ",{"type":49,"tag":96,"props":14198,"children":14200},{"className":14199},[],[14201],{"type":58,"value":12550},{"type":58,"value":14203}," per ",{"type":49,"tag":61,"props":14205,"children":14207},{"href":14206},"$%7BCLAUDE_SKILL_DIR%7D\u002F..\u002F..\u002Fshared\u002Freferences\u002Foffline-profile-reconciliation.md",[14208],{"type":58,"value":14209},"offline-profile-reconciliation.md",{"type":58,"value":527},{"type":49,"tag":560,"props":14212,"children":14213},{},[14214,14232],{"type":49,"tag":564,"props":14215,"children":14216},{},[14217],{"type":49,"tag":568,"props":14218,"children":14219},{},[14220,14228],{"type":49,"tag":572,"props":14221,"children":14222},{},[14223],{"type":49,"tag":96,"props":14224,"children":14226},{"className":14225},[],[14227],{"type":58,"value":12550},{"type":49,"tag":572,"props":14229,"children":14230},{},[14231],{"type":58,"value":2457},{"type":49,"tag":583,"props":14233,"children":14234},{},[14235,14273,14344],{"type":49,"tag":568,"props":14236,"children":14237},{},[14238,14261],{"type":49,"tag":590,"props":14239,"children":14240},{},[14241,14247,14248,14254,14255],{"type":49,"tag":96,"props":14242,"children":14244},{"className":14243},[],[14245],{"type":58,"value":14246},"no-manifest",{"type":58,"value":605},{"type":49,"tag":96,"props":14249,"children":14251},{"className":14250},[],[14252],{"type":58,"value":14253},"no-profile",{"type":58,"value":605},{"type":49,"tag":96,"props":14256,"children":14258},{"className":14257},[],[14259],{"type":58,"value":14260},"in-sync",{"type":49,"tag":590,"props":14262,"children":14263},{},[14264,14266,14271],{"type":58,"value":14265},"Continue to Step 9 silently. For ",{"type":49,"tag":96,"props":14267,"children":14269},{"className":14268},[],[14270],{"type":58,"value":14253},{"type":58,"value":14272}," (no offline profile exists) do not nag — the app may not use offline.",{"type":49,"tag":568,"props":14274,"children":14275},{},[14276,14284],{"type":49,"tag":590,"props":14277,"children":14278},{},[14279],{"type":49,"tag":96,"props":14280,"children":14282},{"className":14281},[],[14283],{"type":58,"value":13524},{"type":49,"tag":590,"props":14285,"children":14286},{},[14287,14293,14295,14301,14302,14307,14309,14314,14316,14321,14323,14328,14330,14336,14338,14343],{"type":49,"tag":96,"props":14288,"children":14290},{"className":14289},[],[14291],{"type":58,"value":14292},"offline-profile.json",{"type":58,"value":14294}," is unreadable — the script prints ",{"type":49,"tag":96,"props":14296,"children":14298},{"className":14297},[],[14299],{"type":58,"value":14300},"status: error",{"type":58,"value":1056},{"type":49,"tag":54,"props":14303,"children":14304},{},[14305],{"type":58,"value":14306},"exits non-zero",{"type":58,"value":14308},". Do NOT treat this as an ",{"type":49,"tag":96,"props":14310,"children":14312},{"className":14311},[],[14313],{"type":58,"value":1371},{"type":58,"value":14315}," failure (the tables are already created): surface the ",{"type":49,"tag":96,"props":14317,"children":14319},{"className":14318},[],[14320],{"type":58,"value":13524},{"type":58,"value":14322}," string, ",{"type":49,"tag":54,"props":14324,"children":14325},{},[14326],{"type":58,"value":14327},"skip reconciliation",{"type":58,"value":14329}," (never drive the update workflows against a corrupt file), and finish with ",{"type":49,"tag":96,"props":14331,"children":14333},{"className":14332},[],[14334],{"type":58,"value":14335},"DONE_WITH_CONCERNS",{"type":58,"value":14337}," telling the user to fix ",{"type":49,"tag":96,"props":14339,"children":14341},{"className":14340},[],[14342],{"type":58,"value":14292},{"type":58,"value":892},{"type":49,"tag":568,"props":14345,"children":14346},{},[14347,14356],{"type":49,"tag":590,"props":14348,"children":14349},{},[14350],{"type":49,"tag":96,"props":14351,"children":14353},{"className":14352},[],[14354],{"type":58,"value":14355},"delta",{"type":49,"tag":590,"props":14357,"children":14358},{},[14359,14361,14366,14368,14374,14376,14382,14384,14390,14391,14397,14398,14404,14406,14411],{"type":58,"value":14360},"Prompt the user (one ",{"type":49,"tag":96,"props":14362,"children":14364},{"className":14363},[],[14365],{"type":58,"value":525},{"type":58,"value":14367},", default = update now) to add the missing tables \u002F new columns. For ",{"type":49,"tag":96,"props":14369,"children":14371},{"className":14370},[],[14372],{"type":58,"value":14373},"missingTables[]",{"type":58,"value":14375},", read and execute ",{"type":49,"tag":96,"props":14377,"children":14379},{"className":14378},[],[14380],{"type":58,"value":14381},"${CLAUDE_SKILL_DIR}\u002F..\u002Fadd-table-to-offline-profile\u002FSKILL.md",{"type":58,"value":14383},"; for ",{"type":49,"tag":96,"props":14385,"children":14387},{"className":14386},[],[14388],{"type":58,"value":14389},"tablesWithNewColumns[]",{"type":58,"value":14375},{"type":49,"tag":96,"props":14392,"children":14394},{"className":14393},[],[14395],{"type":58,"value":14396},"${CLAUDE_SKILL_DIR}\u002F..\u002Fedit-offline-profile\u002FSKILL.md",{"type":58,"value":2599},{"type":49,"tag":96,"props":14399,"children":14401},{"className":14400},[],[14402],{"type":58,"value":14403},"--table \u003Ct> --columns add:\u003CnewColumns>",{"type":58,"value":14405},". Re-run the delta check; it should read ",{"type":49,"tag":96,"props":14407,"children":14409},{"className":14408},[],[14410],{"type":58,"value":14260},{"type":58,"value":14412},". Follow the exact prompt + ordering in the reconciliation reference.",{"type":49,"tag":135,"props":14414,"children":14416},{"id":14415},"step-9-summary",[14417],{"type":58,"value":14418},"Step 9 — Summary",{"type":49,"tag":147,"props":14420,"children":14423},{"className":14421,"code":14422,"language":58},[2869],"✅ Dataverse added\n─────────────────────────────────────────────\nEnvironment   : \u003CenvUrl>\nTables reused : \u003Clist>\nTables extended: \u003Clist (columns added)>\nTables created : \u003Clist (in tier order)>\n\nGenerated services:\n  src\u002Fgenerated\u002Fservices\u002F\u003CTable>Service.ts × N\nGenerated models:\n  src\u002Fgenerated\u002Fmodels\u002F\u003CTable>Model.ts × N\n\nType-check: PASS\n\nSample usage:\n\n  import { Cr123_jobsiteService } from '..\u002F..\u002Fsrc\u002Fgenerated\u002Fservices\u002FCr123_jobsiteService';\n\n  const result = await Cr123_jobsiteService.getAll({\n    select: ['cr123_sitename', 'cr123_address'],\n    filter: 'statecode eq 0',\n    orderBy: ['cr123_sitename asc'],\n    top: 50,\n  });\n  const sites = result.data ?? [];\n\n⚠️  First call triggers Dataverse OAuth consent via the native player's\n    `\u003Cscheme>:\u002F\u002Foauth-callback` deep link.\n\nNext:\n  \u002Fadd-sample-data        # Seed each new table with 5-10 realistic rows so the\n                          # app's home screen shows real-looking data on first launch.\n─────────────────────────────────────────────\n",[14424],{"type":49,"tag":96,"props":14425,"children":14426},{"__ignoreMap":152},[14427],{"type":58,"value":14422},{"type":49,"tag":50,"props":14429,"children":14430},{},[14431,14433,14438,14440,14445],{"type":58,"value":14432},"After printing the summary, ",{"type":49,"tag":54,"props":14434,"children":14435},{},[14436],{"type":58,"value":14437},"offer one-click sample-data seeding",{"type":58,"value":14439}," — but only when invoked manually (not from ",{"type":49,"tag":96,"props":14441,"children":14443},{"className":14442},[],[14444],{"type":58,"value":14129},{"type":58,"value":14446},", which handles this in its own Step 8.5).",{"type":49,"tag":81,"props":14448,"children":14449},{},[14450,14479],{"type":49,"tag":85,"props":14451,"children":14452},{},[14453,14469,14471,14477],{"type":49,"tag":54,"props":14454,"children":14455},{},[14456,14458,14463,14464],{"type":58,"value":14457},"If ",{"type":49,"tag":96,"props":14459,"children":14461},{"className":14460},[],[14462],{"type":58,"value":432},{"type":58,"value":14115},{"type":49,"tag":96,"props":14465,"children":14467},{"className":14466},[],[14468],{"type":58,"value":14121},{"type":58,"value":14470}," (the orchestrator-invoked path): skip the prompt. The orchestrator invokes ",{"type":49,"tag":96,"props":14472,"children":14474},{"className":14473},[],[14475],{"type":58,"value":14476},"\u002Fadd-sample-data",{"type":58,"value":14478}," separately.",{"type":49,"tag":85,"props":14480,"children":14481},{},[14482,14487,14489,14502,14505,14507,14512,14514,14519],{"type":49,"tag":54,"props":14483,"children":14484},{},[14485],{"type":58,"value":14486},"Otherwise (manual invocation)",{"type":58,"value":14488},", if the manifest contains any tables, ask:",{"type":49,"tag":529,"props":14490,"children":14491},{},[14492],{"type":49,"tag":50,"props":14493,"children":14494},{},[14495,14497],{"type":58,"value":14496},"\"Seed ",{"type":49,"tag":2184,"props":14498,"children":14499},{},[14500],{"type":58,"value":14501}," tables with sample records so the app shows real-looking data on first launch? (yes \u002F no — default: yes)\"",{"type":49,"tag":538,"props":14503,"children":14504},{},[],{"type":58,"value":14506},"Default to \"yes\" so empty input auto-proceeds. On \"yes\", invoke ",{"type":49,"tag":96,"props":14508,"children":14510},{"className":14509},[],[14511],{"type":58,"value":14476},{"type":58,"value":14513},". On \"no\", print \"→ Skipped sample data. Run ",{"type":49,"tag":96,"props":14515,"children":14517},{"className":14516},[],[14518],{"type":58,"value":14476},{"type":58,"value":14520}," later to populate.\" and stop.",{"type":49,"tag":115,"props":14522,"children":14524},{"id":14523},"key-rules",[14525],{"type":58,"value":14526},"Key Rules",{"type":49,"tag":81,"props":14528,"children":14529},{},[14530,14563,14582,14601,14614],{"type":49,"tag":85,"props":14531,"children":14532},{},[14533,14538,14540,14546,14548,14554,14555,14561],{"type":49,"tag":54,"props":14534,"children":14535},{},[14536],{"type":58,"value":14537},"Always",{"type":58,"value":14539}," use generated services (e.g., ",{"type":49,"tag":96,"props":14541,"children":14543},{"className":14542},[],[14544],{"type":58,"value":14545},"Cr123_jobsiteService.getAll()",{"type":58,"value":14547},") — never ",{"type":49,"tag":96,"props":14549,"children":14551},{"className":14550},[],[14552],{"type":58,"value":14553},"fetch",{"type":58,"value":605},{"type":49,"tag":96,"props":14556,"children":14558},{"className":14557},[],[14559],{"type":58,"value":14560},"axios",{"type":58,"value":14562}," directly.",{"type":49,"tag":85,"props":14564,"children":14565},{},[14566,14568,14574,14575,14580],{"type":58,"value":14567},"Result data lives at ",{"type":49,"tag":96,"props":14569,"children":14571},{"className":14570},[],[14572],{"type":58,"value":14573},"result.data",{"type":58,"value":6911},{"type":49,"tag":96,"props":14576,"children":14578},{"className":14577},[],[14579],{"type":58,"value":13477},{"type":58,"value":14581}," itself.",{"type":49,"tag":85,"props":14583,"children":14584},{},[14585,14587,14593,14595,14600],{"type":58,"value":14586},"Don't edit files under ",{"type":49,"tag":96,"props":14588,"children":14590},{"className":14589},[],[14591],{"type":58,"value":14592},"src\u002Fgenerated\u002F",{"type":58,"value":14594}," — they are regenerated on every ",{"type":49,"tag":96,"props":14596,"children":14598},{"className":14597},[],[14599],{"type":58,"value":101},{"type":58,"value":892},{"type":49,"tag":85,"props":14602,"children":14603},{},[14604,14606,14612],{"type":58,"value":14605},"Picklist (Choice) fields, virtual fields, lookups, and file\u002Fimage columns each have non-obvious gotchas. Keep ",{"type":49,"tag":96,"props":14607,"children":14609},{"className":14608},[],[14610],{"type":58,"value":14611},"references\u002Fdataverse-reference.md",{"type":58,"value":14613}," aligned with this skill.",{"type":49,"tag":85,"props":14615,"children":14616},{},[14617,14637,14639,14645],{"type":49,"tag":54,"props":14618,"children":14619},{},[14620,14622,14627,14629,14635],{"type":58,"value":14621},"When a Dataverse Web API behavior is uncertain (lookup write syntax, ",{"type":49,"tag":96,"props":14623,"children":14625},{"className":14624},[],[14626],{"type":58,"value":10567},{"type":58,"value":14628}," nav property names, choice column shape, batch semantics, error format), query the ",{"type":49,"tag":96,"props":14630,"children":14632},{"className":14631},[],[14633],{"type":58,"value":14634},"microsoft-learn",{"type":58,"value":14636}," MCP server before guessing.",{"type":58,"value":14638}," See ",{"type":49,"tag":61,"props":14640,"children":14642},{"href":14641},"..\u002F..\u002Fshared\u002Fshared-instructions.md#microsoft-learn-mcp-authoritative-microsoft-docs",[14643],{"type":58,"value":14644},"shared\u002Fshared-instructions.md → Microsoft Learn MCP",{"type":58,"value":14646},". Guessed Dataverse syntax silently 400s.",{"type":49,"tag":115,"props":14648,"children":14650},{"id":14649},"reference",[14651],{"type":58,"value":14652},"Reference",{"type":49,"tag":81,"props":14654,"children":14655},{},[14656,14671],{"type":49,"tag":85,"props":14657,"children":14658},{},[14659,14669],{"type":49,"tag":61,"props":14660,"children":14662},{"href":14661},"..\u002F..\u002Fscripts\u002Fdataverse-request.js",[14663],{"type":49,"tag":96,"props":14664,"children":14666},{"className":14665},[],[14667],{"type":58,"value":14668},"scripts\u002Fdataverse-request.js",{"type":58,"value":14670}," — bundled in this plugin",{"type":49,"tag":85,"props":14672,"children":14673},{},[14674,14680],{"type":49,"tag":61,"props":14675,"children":14677},{"href":14676},"..\u002F..\u002Fshared\u002Freferences\u002Foffline-profile-reconciliation.md",[14678],{"type":58,"value":14679},"shared\u002Freferences\u002Foffline-profile-reconciliation.md",{"type":58,"value":14681}," — Step 8.5 offline delta check + reconciliation flow",{"type":49,"tag":14683,"props":14684,"children":14685},"style",{},[14686],{"type":58,"value":14687},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":14689,"total":14884},[14690,14712,14733,14754,14769,14786,14797,14810,14825,14840,14859,14872],{"slug":14691,"name":14691,"fn":14692,"description":14693,"org":14694,"tags":14695,"stars":14709,"repoUrl":14710,"updatedAt":14711},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14696,14699,14702,14703,14706],{"name":14697,"slug":14698,"type":13},"Engineering","engineering",{"name":14700,"slug":14701,"type":13},"Local Development","local-development",{"name":9,"slug":8,"type":13},{"name":14704,"slug":14705,"type":13},"Project Management","project-management",{"name":14707,"slug":14708,"type":13},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":14713,"name":14713,"fn":14714,"description":14715,"org":14716,"tags":14717,"stars":14730,"repoUrl":14731,"updatedAt":14732},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14718,14721,14724,14727],{"name":14719,"slug":14720,"type":13},".NET","net",{"name":14722,"slug":14723,"type":13},"Agents","agents",{"name":14725,"slug":14726,"type":13},"Azure","azure",{"name":14728,"slug":14729,"type":13},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":14734,"name":14734,"fn":14735,"description":14736,"org":14737,"tags":14738,"stars":14730,"repoUrl":14731,"updatedAt":14753},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14739,14742,14743,14746,14749,14750],{"name":14740,"slug":14741,"type":13},"Analytics","analytics",{"name":14725,"slug":14726,"type":13},{"name":14744,"slug":14745,"type":13},"Data Analysis","data-analysis",{"name":14747,"slug":14748,"type":13},"Java","java",{"name":9,"slug":8,"type":13},{"name":14751,"slug":14752,"type":13},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":14755,"name":14755,"fn":14756,"description":14757,"org":14758,"tags":14759,"stars":14730,"repoUrl":14731,"updatedAt":14768},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14760,14763,14764,14765],{"name":14761,"slug":14762,"type":13},"AI Infrastructure","ai-infrastructure",{"name":14725,"slug":14726,"type":13},{"name":14747,"slug":14748,"type":13},{"name":14766,"slug":14767,"type":13},"Security","security","2026-07-07T06:53:31.293235",{"slug":14770,"name":14770,"fn":14771,"description":14772,"org":14773,"tags":14774,"stars":14730,"repoUrl":14731,"updatedAt":14785},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14775,14776,14779,14780,14781,14784],{"name":14725,"slug":14726,"type":13},{"name":14777,"slug":14778,"type":13},"Compliance","compliance",{"name":14728,"slug":14729,"type":13},{"name":9,"slug":8,"type":13},{"name":14782,"slug":14783,"type":13},"Python","python",{"name":14766,"slug":14767,"type":13},"2026-07-18T05:14:23.017504",{"slug":14787,"name":14787,"fn":14788,"description":14789,"org":14790,"tags":14791,"stars":14730,"repoUrl":14731,"updatedAt":14796},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14792,14793,14794,14795],{"name":14740,"slug":14741,"type":13},{"name":14725,"slug":14726,"type":13},{"name":14728,"slug":14729,"type":13},{"name":14782,"slug":14783,"type":13},"2026-07-31T05:54:29.068751",{"slug":14798,"name":14798,"fn":14799,"description":14800,"org":14801,"tags":14802,"stars":14730,"repoUrl":14731,"updatedAt":14809},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14803,14806,14807,14808],{"name":14804,"slug":14805,"type":13},"API Development","api-development",{"name":14725,"slug":14726,"type":13},{"name":9,"slug":8,"type":13},{"name":14782,"slug":14783,"type":13},"2026-07-18T05:14:16.988376",{"slug":14811,"name":14811,"fn":14812,"description":14813,"org":14814,"tags":14815,"stars":14730,"repoUrl":14731,"updatedAt":14824},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14816,14817,14820,14823],{"name":14725,"slug":14726,"type":13},{"name":14818,"slug":14819,"type":13},"Computer Vision","computer-vision",{"name":14821,"slug":14822,"type":13},"Images","images",{"name":14782,"slug":14783,"type":13},"2026-07-18T05:14:18.007737",{"slug":14826,"name":14826,"fn":14827,"description":14828,"org":14829,"tags":14830,"stars":14730,"repoUrl":14731,"updatedAt":14839},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14831,14832,14835,14838],{"name":14725,"slug":14726,"type":13},{"name":14833,"slug":14834,"type":13},"Configuration","configuration",{"name":14836,"slug":14837,"type":13},"Feature Flags","feature-flags",{"name":14747,"slug":14748,"type":13},"2026-07-03T16:32:01.278468",{"slug":14841,"name":14841,"fn":14842,"description":14843,"org":14844,"tags":14845,"stars":14730,"repoUrl":14731,"updatedAt":14858},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14846,14849,14852,14855],{"name":14847,"slug":14848,"type":13},"Cosmos DB","cosmos-db",{"name":14850,"slug":14851,"type":13},"Database","database",{"name":14853,"slug":14854,"type":13},"NoSQL","nosql",{"name":14856,"slug":14857,"type":13},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":14860,"name":14860,"fn":14842,"description":14861,"org":14862,"tags":14863,"stars":14730,"repoUrl":14731,"updatedAt":14871},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14864,14865,14866,14867,14868],{"name":14847,"slug":14848,"type":13},{"name":14850,"slug":14851,"type":13},{"name":9,"slug":8,"type":13},{"name":14853,"slug":14854,"type":13},{"name":14869,"slug":14870,"type":13},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":14873,"name":14873,"fn":14874,"description":14875,"org":14876,"tags":14877,"stars":14730,"repoUrl":14731,"updatedAt":14883},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14878,14879,14880,14881,14882],{"name":14725,"slug":14726,"type":13},{"name":14847,"slug":14848,"type":13},{"name":14850,"slug":14851,"type":13},{"name":14747,"slug":14748,"type":13},{"name":14853,"slug":14854,"type":13},"2026-05-13T06:14:17.582229",267,{"items":14886,"total":5120},[14887,14900,14913,14923,14930,14943,14957],{"slug":14888,"name":14888,"fn":14889,"description":14890,"org":14891,"tags":14892,"stars":23,"repoUrl":24,"updatedAt":14899},"activate-site","provision and activate Power Pages sites","Activates and provisions a Power Pages website in a Power Platform environment via the Power Platform REST API. Use when the user wants to activate, provision, turn on, or enable a Power Pages website or portal.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14893,14896,14897],{"name":14894,"slug":14895,"type":13},"Deployment","deployment",{"name":9,"slug":8,"type":13},{"name":14898,"slug":33,"type":13},"Power Pages","2026-04-06T18:34:34.732549",{"slug":14901,"name":14901,"fn":14902,"description":14903,"org":14904,"tags":14905,"stars":23,"repoUrl":24,"updatedAt":14912},"add-connector","add Power Platform connectors to apps","Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14906,14909,14910],{"name":14907,"slug":14908,"type":13},"Integrations","integrations",{"name":18,"slug":19,"type":13},{"name":14911,"slug":34,"type":13},"Power Platform","2026-07-31T05:54:47.042251",{"slug":14914,"name":14914,"fn":14915,"description":14916,"org":14917,"tags":14918,"stars":23,"repoUrl":24,"updatedAt":14922},"add-datasource","add data sources to Power Apps","Adds a data source or connector to a Power Apps code app. Asks what the user wants to accomplish and routes to the appropriate specialized skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14919,14920,14921],{"name":14907,"slug":14908,"type":13},{"name":9,"slug":8,"type":13},{"name":18,"slug":19,"type":13},"2026-07-03T16:31:47.822186",{"slug":4,"name":4,"fn":5,"description":6,"org":14924,"tags":14925,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14926,14927,14928,14929],{"name":15,"slug":16,"type":13},{"name":21,"slug":22,"type":13},{"name":9,"slug":8,"type":13},{"name":18,"slug":19,"type":13},{"slug":14931,"name":14931,"fn":14932,"description":14933,"org":14934,"tags":14935,"stars":23,"repoUrl":24,"updatedAt":14942},"add-excel","integrate Excel Online into Power Apps","Adds Excel Online (Business) connector to a Power Apps code app. Use when reading or writing Excel workbook data from OneDrive or SharePoint.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14936,14939,14940,14941],{"name":14937,"slug":14938,"type":13},"Excel","excel",{"name":14907,"slug":14908,"type":13},{"name":9,"slug":8,"type":13},{"name":18,"slug":19,"type":13},"2026-07-31T05:54:44.030943",{"slug":14944,"name":14944,"fn":14945,"description":14946,"org":14947,"tags":14948,"stars":23,"repoUrl":24,"updatedAt":14956},"add-mcscopilot","add Copilot Studio connectors to Power Apps","Adds Microsoft Copilot Studio connector to a Power Apps code app. Use when invoking Copilot Studio agents, sending prompts to agents, or integrating agent responses.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14949,14950,14953,14954,14955],{"name":14722,"slug":14723,"type":13},{"name":14951,"slug":14952,"type":13},"Copilot Studio","copilot-studio",{"name":14907,"slug":14908,"type":13},{"name":9,"slug":8,"type":13},{"name":18,"slug":19,"type":13},"2026-07-31T05:54:39.025597",{"slug":14958,"name":14958,"fn":14959,"description":14960,"org":14961,"tags":14962,"stars":23,"repoUrl":24,"updatedAt":14970},"add-sample-data","populate Power Pages tables with sample data","Populates Dataverse tables with sample records for testing and demoing a Power Pages site. Use when the user wants to add sample data, seed data, generate test records, or insert demo data into their tables.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14963,14964,14965,14966,14967],{"name":14850,"slug":14851,"type":13},{"name":21,"slug":22,"type":13},{"name":9,"slug":8,"type":13},{"name":14898,"slug":33,"type":13},{"name":14968,"slug":14969,"type":13},"Testing","testing","2026-04-06T18:34:41.141155"]