Subchapter 25.49
references/phases/workshop/workshop-sheet.mdMarkdown4 KBView on GitHub
Fragment unit. See
workshop.mdfor how it is composed into the sidebar.
Presents the current assumptions as an editable sheet and collects the user’s changes. It writes no artifact of its own — the scenario snapshot is the refresh fragment’s job, and the index is the assembler’s — which is why it declares no .
_contributesKnobs: region, HA posture, compute target, cost-optimization appetite, CPU architecture. Each row shows the current value and where it came from (a Clarify answer, a detected fact, or a skill default), so the user can see what they are overriding.
From $MIGRATION_DIR/preferences.json:
| Knob | Path | Allowed values |
|---|---|---|
| Target region | global.target_region.value | Valid AWS region code |
| HA posture | data.availability.value | single-az, multi-az, multi-az-ha, multi-region |
| Compute target | design_constraints.compute_target.value | elastic_beanstalk, ecs-fargate, eks — omit row if key absent |
| Cost optimization | design_constraints.cost_optimization.value | conservative, balanced, aggressive |
| CPU architecture | design_constraints.cpu_architecture.value | x86_64, graviton — omit row if key absent |
When patching wrapper objects, preserve chosen_by, prompt, and
design_consequence (set chosen_by to "user" on edit). Prefer the catalog
prompts from schema-preferences.md / the canonical question files under
references/vendored/clarify/ when present on the wrappers — do not invent
placeholder prompts.
This skill defaults cpu_architecture to x86_64, not Graviton (see SKILL.md §
Philosophy) — Azure fleets carry Windows and .NET routinely, and Graviton
compatibility is the exception here rather than the rule. When presenting the
CPU architecture row:
design_constraints.cpu_architecture.forced_by is set (a Windows VM or
App Service Plan forced x86_64), show that row as not editable — name
the forcing resource and do not offer Graviton as an option for it. Forced
rows do not participate in the what-if sheet the way PROPOSED rows do.graviton_profile[]
risk-signal tiers.Lead with:
What-if workshop — discovery is frozen. Edit assumptions to reprice. Generate/Terraform will be marked stale if you continue after Generate already ran.
Show knob → current value. Invite confirm-or-change per row.
Region / pricing honesty:
Region repricing uses the us-east-1 pricing cache; regional deltas are noted qualitatively.
Actions (exactly one):
cpu_architecture row (forced_by set) cannot be overridden to
Graviton through the sheet — reject the edit and re-show the row with its
forcing reason, the same way Clarify itself would.On failure: re-present the sheet — do not run Design.