Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

2559 lines
78 KiB
JSON

[
{
"id": "F001",
"description": "Provide a designer-facing action catalog abstraction separate from the runtime action registry",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F002",
"description": "Represent built-in grouped palette entries as stable core-object catalog records",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F003",
"description": "Represent the Transform grouping as a stable transform catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog",
"Requirements > Transform Actions"
]
},
{
"id": "F004",
"description": "Represent external grouped palette entries as stable app catalog records",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog",
"Requirements > Plugin/App Support"
]
},
{
"id": "F005",
"description": "Store a stable group key for each built-in catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F006",
"description": "Store a display label for each grouped catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F007",
"description": "Store a display icon token for each grouped catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F008",
"description": "Store tile kind metadata that differentiates core-object, transform, and app records",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F009",
"description": "Store the allowed actionId list for each grouped catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F010",
"description": "Allow a grouped catalog record to declare an optional default actionId",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog",
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F011",
"description": "Allow a grouped catalog record to declare an optional description shown in the palette tooltip",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F012",
"description": "Map built-in ticket actions into a Ticket catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F013",
"description": "Map built-in contact actions into a Contact catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F014",
"description": "Map built-in client actions into a Client catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F015",
"description": "Map built-in communication actions into a Communication catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F016",
"description": "Map built-in scheduling actions into a Scheduling catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F017",
"description": "Map built-in project actions into a Project catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F018",
"description": "Map built-in time actions into a Time catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F019",
"description": "Map built-in CRM actions into a CRM catalog record",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F020",
"description": "Expose the grouped catalog to the workflow designer through a server-side projection or API response",
"implemented": true,
"prdRefs": [
"Data / API / Integrations",
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F021",
"description": "Render grouped palette tiles instead of one tile per business action",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F022",
"description": "Keep control blocks rendered as dedicated non-grouped palette entries",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F023",
"description": "Render Ticket as a top-level core-object palette tile",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F024",
"description": "Render Contact as a top-level core-object palette tile",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F025",
"description": "Render Client as a top-level core-object palette tile",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F026",
"description": "Render Communication as a top-level core-object palette tile",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F027",
"description": "Render Scheduling as a top-level core-object palette tile",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F028",
"description": "Render Project as a top-level core-object palette tile",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F029",
"description": "Render Time as a top-level core-object palette tile",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F030",
"description": "Render CRM as a top-level core-object palette tile",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F031",
"description": "Render Transform as a top-level transform palette tile",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model",
"Requirements > Transform Actions"
]
},
{
"id": "F032",
"description": "Render app/plugin catalog records as top-level app palette tiles",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model",
"Requirements > Plugin/App Support"
]
},
{
"id": "F033",
"description": "Use grouped tile icons consistently in drag and click insertion flows",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F034",
"description": "Use grouped tile labels consistently in drag and click insertion flows",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F035",
"description": "Display grouped tile descriptions in hover or tooltip content",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F036",
"description": "Keep grouped palette tiles draggable onto any valid workflow pipe target",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F037",
"description": "Keep grouped palette tiles clickable for insert-at-selected-pipe behavior",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F038",
"description": "Preserve the existing floating palette container while swapping its contents to grouped tiles",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F039",
"description": "Preserve grouped palette usability when the action registry is temporarily unavailable",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model",
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F040",
"description": "Preserve grouped palette usability in read-only designer sessions",
"implemented": true,
"prdRefs": [
"Security / Permissions",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F041",
"description": "Match grouped tiles by contained action label during palette search",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model",
"Requirements > Grouped Palette and Designer Action Catalog"
]
},
{
"id": "F042",
"description": "Match grouped tiles by contained actionId during palette search",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F043",
"description": "Match grouped tiles by contained input field names during palette search",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F044",
"description": "Match grouped tiles by contained output field names during palette search",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F045",
"description": "Match grouped tiles by the group label itself during palette search",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F046",
"description": "Match grouped tiles by the group description itself during palette search",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F047",
"description": "Search for create-ticket terms should resolve to the Ticket tile rather than a hidden action tile",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F048",
"description": "Search for find-contact terms should resolve to the Contact tile rather than a hidden action tile",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F049",
"description": "Search for truncate-text terms should resolve to the Transform tile rather than a hidden action tile",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"Requirements > Transform Actions"
]
},
{
"id": "F050",
"description": "Search results should continue to include control blocks when they match the query",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F051",
"description": "Empty search state should show the full grouped palette in stable category order",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F052",
"description": "Search results should preserve stable grouped ordering instead of falling back to arbitrary registry order",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F053",
"description": "Palette search should include app/plugin tile contents as well as built-in tile contents",
"implemented": true,
"prdRefs": [
"Requirements > Plugin/App Support",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F054",
"description": "Palette search should continue working while a grouped tile is being dragged from the palette",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F055",
"description": "Palette search should continue working after a grouped tile has been inserted into the workflow",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F056",
"description": "Palette search should continue working for legacy node entries that remain individually rendered",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F057",
"description": "Palette search should be able to match grouped tiles by singular or plural business object labels",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F058",
"description": "Palette search should be able to match grouped tiles by common verb-object phrases such as create ticket or assign ticket",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F059",
"description": "Palette search results should not duplicate a grouped tile once per contained action",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F060",
"description": "Palette search should clear back to the full grouped catalog without losing selection or drag state",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Palette Model"
]
},
{
"id": "F061",
"description": "Dropping a core-object tile should create an action.call step scoped to that group",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F062",
"description": "Dropping the Transform tile should create an action.call step scoped to the transform group",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Transform Actions"
]
},
{
"id": "F063",
"description": "Dropping an app tile should create an action.call step scoped to that app",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Plugin/App Support"
]
},
{
"id": "F064",
"description": "Clicking a core-object tile should create an action.call step scoped to that group",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F065",
"description": "Clicking the Transform tile should create an action.call step scoped to the transform group",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Transform Actions"
]
},
{
"id": "F066",
"description": "Clicking an app tile should create an action.call step scoped to that app",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Plugin/App Support"
]
},
{
"id": "F067",
"description": "A newly inserted grouped action step should initially preserve the current step selection behavior",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F068",
"description": "A newly inserted grouped action step should initially preserve the current pipe insertion behavior",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F069",
"description": "A grouped action step should keep step.type equal to action.call for runtime compatibility",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Rollout / Migration"
]
},
{
"id": "F070",
"description": "A grouped action step should keep actionId stored under config.actionId for runtime compatibility",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Rollout / Migration"
]
},
{
"id": "F071",
"description": "A grouped action step should keep action version stored under config.version for runtime compatibility",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Rollout / Migration"
]
},
{
"id": "F072",
"description": "A grouped action step should allow additive storage of group metadata for authoring convenience",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Rollout / Migration"
]
},
{
"id": "F073",
"description": "A grouped action step should allow additive storage of app metadata for authoring convenience",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Plugin/App Support"
]
},
{
"id": "F074",
"description": "Legacy action.call steps without additive group metadata should infer their group from actionId when hydrated in the designer",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Rollout / Migration"
]
},
{
"id": "F075",
"description": "Legacy action.call steps without additive app metadata should infer their app scope from actionId when hydrated in the designer",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Plugin/App Support"
]
},
{
"id": "F076",
"description": "A grouped action step should remain reorderable within the pipeline like existing action.call steps",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F077",
"description": "A grouped action step should remain movable across control-block branches like existing action.call steps",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F078",
"description": "A grouped action step should preserve delete behavior already used for existing steps",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F079",
"description": "A grouped action step should preserve the current absence of duplicate or copy behavior because existing workflow steps expose no duplicate affordance",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F080",
"description": "A grouped action step should preserve saveAs generation behavior already used for action.call steps",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F081",
"description": "The step properties panel should show the grouped tile label before an action is chosen",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Step Properties Model"
]
},
{
"id": "F082",
"description": "The step properties panel should show an action dropdown limited to the allowed actions for the selected group",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"UX / UI Notes > Step Properties Model"
]
},
{
"id": "F083",
"description": "The step properties panel should show an action dropdown limited to the allowed actions for the selected app tile",
"implemented": true,
"prdRefs": [
"Requirements > Plugin/App Support",
"UX / UI Notes > Step Properties Model"
]
},
{
"id": "F084",
"description": "A newly created grouped action step should allow no selected action until the user makes an explicit choice",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F085",
"description": "A grouped action step should optionally auto-select a default action when the catalog record declares one",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F086",
"description": "Choosing an action should update the displayed step label to match the chosen action",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"UX / UI Notes > Step Properties Model"
]
},
{
"id": "F087",
"description": "Choosing an action should update the displayed step description to match the chosen action",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F088",
"description": "Choosing an action should update the step input schema used by the properties panel",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F089",
"description": "Choosing an action should update the step output schema used by downstream data-context exposure",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Reference Source Model"
]
},
{
"id": "F090",
"description": "Choosing an action should update the step required-field completion count",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F091",
"description": "Choosing an action should update the step picker metadata set used by the field editor",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F092",
"description": "Choosing an action should update type-compatibility hints shown for mapped fields",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F093",
"description": "Changing from one chosen action to another should safely preserve any still-valid input mappings",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F094",
"description": "Changing from one chosen action to another should safely discard or isolate stale mappings that no longer match any field",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F095",
"description": "Changing from one chosen action to another should recalculate output schema exposure for downstream steps immediately",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Requirements > Reference Source Model"
]
},
{
"id": "F096",
"description": "Changing from one chosen action to another should recalculate saveAs suggestions when the step output name is auto-generated",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F097",
"description": "The step properties panel should surface an invalid state when no required action has been chosen yet",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F098",
"description": "The step properties panel should surface action-level schema references for the chosen action when available",
"implemented": true,
"prdRefs": [
"Requirements > Grouped Action Step Model",
"Data / API / Integrations"
]
},
{
"id": "F099",
"description": "The step properties panel should keep step name editing available regardless of whether an action has been chosen",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Step Properties Model"
]
},
{
"id": "F100",
"description": "The step properties panel should keep save-output controls available regardless of whether an action has been chosen",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"UX / UI Notes > Step Properties Model"
]
},
{
"id": "F101",
"description": "Render each chosen action input field as a visible inline field row or field group in the properties panel",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"UX / UI Notes > Field Authoring Model"
]
},
{
"id": "F102",
"description": "Render required-field indicators directly on inline field rows",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F103",
"description": "Render optional-field indicators directly on inline field rows where useful",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F104",
"description": "Render field descriptions directly in the inline field editor when schema descriptions exist",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F105",
"description": "Render the current required-field completion summary above the inline field editor",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F106",
"description": "Keep the inline field editor mounted in the right-side properties panel rather than behind a modal dialog",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Step Properties Model",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F107",
"description": "Render a source-mode selector on each editable field",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"UX / UI Notes > Field Authoring Model"
]
},
{
"id": "F108",
"description": "Support Reference as an explicit per-field source mode",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Requirements > Reference Source Model"
]
},
{
"id": "F109",
"description": "Support Fixed value as an explicit per-field source mode",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F110",
"description": "Support Advanced as an explicit per-field source mode",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Requirements > Advanced Expressions"
]
},
{
"id": "F111",
"description": "Default new editable fields to the structured source mode chosen by the field type and metadata",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F112",
"description": "Serialize Reference-mode values into the existing expression-backed inputMapping representation",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Rollout / Migration"
]
},
{
"id": "F113",
"description": "Serialize Fixed-mode values into the existing literal inputMapping representation",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Rollout / Migration"
]
},
{
"id": "F114",
"description": "Serialize Advanced expression values into the existing expression-backed inputMapping representation",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Requirements > Advanced Expressions"
]
},
{
"id": "F115",
"description": "Serialize Advanced secret values into the existing secret-backed inputMapping representation",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Requirements > Advanced Expressions"
]
},
{
"id": "F116",
"description": "Render validation messaging inline on individual field rows when values are missing or invalid",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F117",
"description": "Render type-compatibility messaging inline on individual field rows when references are coercible or incompatible",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Requirements > Reference Source Model"
]
},
{
"id": "F118",
"description": "Render unset required fields as visibly incomplete even before any value mode is chosen",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F119",
"description": "Render the chosen action's example or schema defaults where they improve field authoring clarity",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F120",
"description": "Keep the current step-level validation summary in sync with the inline field editor state",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F121",
"description": "Render nested object inputs as expandable inline field groups",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"UX / UI Notes > Field Authoring Model"
]
},
{
"id": "F122",
"description": "Render nested array inputs as expandable inline field groups when the item schema is object-like",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F123",
"description": "Render primitive array inputs with an inline fixed-value authoring affordance that does not require raw JSON entry by default",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F124",
"description": "Allow nested object fields to choose source modes independently from their parent object field",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F125",
"description": "Allow nested object groups to collapse without losing authored child values",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F126",
"description": "Allow nested array groups to collapse without losing authored child values",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F127",
"description": "Calculate required-field completion correctly for nested required object fields",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F128",
"description": "Calculate required-field completion correctly for nested required array item fields when item objects are authored inline",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F129",
"description": "Expose enum-backed fields as structured fixed-value controls rather than raw text inputs in fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F130",
"description": "Expose boolean-backed fields as structured fixed-value controls rather than raw text inputs in fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F131",
"description": "Expose number-backed fields as numeric fixed-value controls rather than raw text inputs in fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F132",
"description": "Expose string-backed fields as string fixed-value controls when no picker metadata or enum metadata exists",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F133",
"description": "Expose nullable fields in a way that allows the builder to intentionally set null where the schema allows it",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F134",
"description": "Preserve authored nested values when switching a field from Fixed mode to Advanced mode",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Requirements > Advanced Expressions"
]
},
{
"id": "F135",
"description": "Preserve authored nested values when switching a field from Reference mode to Advanced mode",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor",
"Requirements > Advanced Expressions"
]
},
{
"id": "F136",
"description": "Safely clear authored child values when a builder explicitly resets a nested field group",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F137",
"description": "Safely rehydrate nested authored values when reopening a saved workflow draft",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F138",
"description": "Expose field constraints such as format, minLength, maxLength, and pattern in inline field help",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F139",
"description": "Expose item-type hints for array fields in inline field help",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F140",
"description": "Expose default values from schema metadata where that helps builders understand unconfigured fields",
"implemented": true,
"prdRefs": [
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F141",
"description": "Reference mode should expose workflow payload fields as selectable sources",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model"
]
},
{
"id": "F142",
"description": "Reference mode should expose previous step outputs as selectable sources",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model"
]
},
{
"id": "F143",
"description": "Reference mode should expose workflow metadata fields as selectable sources",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model"
]
},
{
"id": "F144",
"description": "Reference mode should expose catch-block error fields as selectable sources when editing inside catch context",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model"
]
},
{
"id": "F145",
"description": "Reference mode should expose forEach item and index fields as selectable sources when editing inside loop context",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model"
]
},
{
"id": "F146",
"description": "Reference mode should expose previous step outputs grouped by producing step or saveAs name",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model",
"UX / UI Notes > Field Authoring Model"
]
},
{
"id": "F147",
"description": "Reference mode should allow direct selection of a step output root object where the target field accepts object-like input",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model"
]
},
{
"id": "F148",
"description": "Reference mode should allow direct selection of a nested property path where the target field accepts a primitive input",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model"
]
},
{
"id": "F149",
"description": "Reference mode should continue to feed the expression-editor autocomplete context from the selected workflow data sources",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model",
"Requirements > Advanced Expressions"
]
},
{
"id": "F150",
"description": "Reference mode should continue to feed type-compatibility hints from the selected workflow data sources",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F151",
"description": "Reference mode should generate a direct field-reference expression when a builder chooses a single source path",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model",
"Rollout / Migration"
]
},
{
"id": "F152",
"description": "Reference mode should rehydrate a previously saved direct field-reference expression back into the structured picker view when possible",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model",
"Rollout / Migration"
]
},
{
"id": "F153",
"description": "Reference mode should gracefully fall back to Advanced mode when a saved expression cannot be represented as a single structured reference",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model",
"Requirements > Advanced Expressions"
]
},
{
"id": "F154",
"description": "Reference mode should keep hidden or unavailable source fields out of the selectable list when no schema information exists for them",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model"
]
},
{
"id": "F155",
"description": "Reference mode should refresh step-output sources immediately when an upstream chosen action changes its output schema",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model",
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F156",
"description": "Reference mode should refresh step-output sources immediately when an upstream saveAs value changes",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"Requirements > Reference Source Model"
]
},
{
"id": "F157",
"description": "Reference mode should preserve current path selections when unrelated upstream steps change",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model"
]
},
{
"id": "F158",
"description": "Reference mode should show no previous-step output sources for the first action step in a workflow when none exist yet",
"implemented": true,
"prdRefs": [
"Users and Primary Flows",
"Requirements > Reference Source Model"
]
},
{
"id": "F159",
"description": "Reference mode should allow builders to inspect the root source group before drilling into nested fields",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Field Authoring Model",
"Requirements > Reference Source Model"
]
},
{
"id": "F160",
"description": "Reference mode should preserve the current catch and forEach contextual sources when grouped action steps are moved within the same block",
"implemented": true,
"prdRefs": [
"Requirements > Reference Source Model",
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F161",
"description": "Extend exported action-schema field metadata with an additive picker kind annotation",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"Data / API / Integrations"
]
},
{
"id": "F162",
"description": "Extend exported action-schema field metadata with an additive dependency annotation for scoped pickers",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"Data / API / Integrations"
]
},
{
"id": "F163",
"description": "Extend exported action-schema field metadata with an additive UI hint annotation for fixed-value editing",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"Data / API / Integrations"
]
},
{
"id": "F164",
"description": "Preserve additive picker annotations when converting runtime action schemas to designer JSON schema",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"Data / API / Integrations"
]
},
{
"id": "F165",
"description": "Extract picker annotations into the designer's ActionInputField representation",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F166",
"description": "Render picker-backed fields in Fixed mode using the annotated picker kind rather than the plain primitive type",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F167",
"description": "Allow picker-backed fields to switch back to Reference mode without losing the field's picker metadata",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F168",
"description": "Allow picker-backed fields to switch to Advanced mode without losing the field's picker metadata",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"Requirements > Advanced Expressions"
]
},
{
"id": "F169",
"description": "Support a board picker annotation on ticket board identifier fields",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F170",
"description": "Support a client picker annotation on ticket client identifier fields",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F171",
"description": "Support a contact picker annotation on ticket contact identifier fields",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F172",
"description": "Support a ticket status picker annotation on ticket status identifier fields",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F173",
"description": "Support a ticket priority picker annotation on ticket priority identifier fields",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F174",
"description": "Support a user-or-team picker annotation on ticket assignment fields",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F175",
"description": "Support a ticket category picker annotation on ticket category identifier fields",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F176",
"description": "Support a ticket subcategory picker annotation on ticket subcategory identifier fields",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F177",
"description": "Support a client-location picker annotation on ticket location identifier fields",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F178",
"description": "Allow picker annotations to declare that a field remains eligible for dynamic references as well as fixed values",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F179",
"description": "Allow picker annotations to declare the field dependencies required for fixed-value narrowing",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F180",
"description": "Surface picker metadata through the chosen action's field editor without changing the persisted inputMapping contract",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"Rollout / Migration"
]
},
{
"id": "F181",
"description": "Render board_id in ticket create/update actions as a fixed-value board picker in Fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F182",
"description": "Render client_id in ticket create/update actions as a fixed-value client picker in Fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F183",
"description": "Render contact_id in ticket create/update actions as a fixed-value contact picker in Fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F184",
"description": "Render status_id in ticket create/update actions as a fixed-value status picker in Fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F185",
"description": "Render priority_id in ticket create/update actions as a fixed-value priority picker in Fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F186",
"description": "Render assigned_to in ticket create/update actions as a fixed-value user picker in Fixed mode when appropriate",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F187",
"description": "Render assignee.id in ticket create/update actions as a fixed-value user-or-team picker in Fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F188",
"description": "Render category_id in ticket create/update actions as a fixed-value category picker in Fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F189",
"description": "Render subcategory_id in ticket create/update actions as a fixed-value subcategory picker in Fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F190",
"description": "Render location_id in ticket create/update actions as a fixed-value client-location picker in Fixed mode",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F191",
"description": "Allow board_id fields to fall back to Reference mode instead of forcing a fixed board selection",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F192",
"description": "Allow client_id fields to fall back to Reference mode instead of forcing a fixed client selection",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F193",
"description": "Allow contact_id fields to fall back to Reference mode instead of forcing a fixed contact selection",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F194",
"description": "Allow status_id fields to fall back to Reference mode instead of forcing a fixed status selection",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F195",
"description": "Allow priority_id fields to fall back to Reference mode instead of forcing a fixed priority selection",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F196",
"description": "Allow assignee fields to fall back to Reference mode instead of forcing a fixed assignee selection",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F197",
"description": "Allow category_id fields to fall back to Reference mode instead of forcing a fixed category selection",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F198",
"description": "Allow subcategory_id fields to fall back to Reference mode instead of forcing a fixed subcategory selection",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F199",
"description": "Allow location_id fields to fall back to Reference mode instead of forcing a fixed location selection",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F200",
"description": "Persist selected fixed ticket picker values as literal identifier values inside the existing inputMapping contract",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"Rollout / Migration"
]
},
{
"id": "F201",
"description": "Narrow fixed contact picker options by selected fixed client when both fields are authored in fixed mode",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F202",
"description": "Narrow fixed location picker options by selected fixed client when both fields are authored in fixed mode",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F203",
"description": "Narrow fixed category picker options by selected fixed board when both fields are authored in fixed mode",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F204",
"description": "Narrow fixed subcategory picker options by selected fixed category when both fields are authored in fixed mode",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F205",
"description": "Narrow fixed subcategory picker options by selected fixed board when board-scoped subcategories are required",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F206",
"description": "Show an explanatory disabled state for the fixed contact picker when no fixed client is selected and client scoping is required",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX"
]
},
{
"id": "F207",
"description": "Show an explanatory disabled state for the fixed location picker when no fixed client is selected and client scoping is required",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX"
]
},
{
"id": "F208",
"description": "Show an explanatory disabled state for the fixed category picker when no fixed board is selected and board scoping is required",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX"
]
},
{
"id": "F209",
"description": "Show an explanatory disabled state for the fixed subcategory picker when required upstream board or category selections are missing",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX"
]
},
{
"id": "F210",
"description": "Treat a dynamically referenced client_id as insufficient to unlock a fixed contact picker option list",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F211",
"description": "Treat a dynamically referenced client_id as insufficient to unlock a fixed location picker option list",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F212",
"description": "Treat a dynamically referenced board_id as insufficient to unlock a fixed category picker option list",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F213",
"description": "Treat a dynamically referenced category_id as insufficient to unlock a fixed subcategory picker option list",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F214",
"description": "Recalculate dependent picker option lists immediately when a fixed upstream picker value changes",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX"
]
},
{
"id": "F215",
"description": "Clear no-longer-valid fixed dependent picker selections when an upstream fixed picker value changes scope",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F216",
"description": "Preserve still-valid fixed dependent picker selections when an upstream fixed picker value changes but the selection remains in scope",
"implemented": true,
"prdRefs": [
"UX / UI Notes > Picker UX",
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F217",
"description": "Rehydrate dependent picker selections correctly when loading a saved workflow draft with valid fixed upstream values",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F218",
"description": "Rehydrate dependent picker disabled states correctly when loading a saved workflow draft with dynamic upstream references",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F219",
"description": "Allow dependent ticket picker fields to switch back to Reference mode when fixed-scope narrowing is not available",
"implemented": true,
"prdRefs": [
"Requirements > Picker Metadata and Fixed Value Authoring",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F220",
"description": "Keep dependent picker behavior limited to ticket-core identifiers in the first implementation pass",
"implemented": true,
"prdRefs": [
"Non-goals",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F221",
"description": "Expose Transform as a grouped tile that behaves like any other grouped action source in the designer",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"UX / UI Notes > Transform UX"
]
},
{
"id": "F222",
"description": "Allow Transform grouped steps to choose a specific transform action from a filtered action dropdown",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"UX / UI Notes > Transform UX"
]
},
{
"id": "F223",
"description": "Allow Transform grouped steps to expose schema-driven inputs through the same inline field editor used by business actions",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"UX / UI Notes > Transform UX"
]
},
{
"id": "F224",
"description": "Allow Transform grouped steps to expose schema-driven outputs through the same saveAs and downstream data-context model used by business actions",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F225",
"description": "Keep Transform grouped steps stored as action.call steps for runtime compatibility",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Rollout / Migration"
]
},
{
"id": "F226",
"description": "Register transform actions in the runtime action registry like other first-class actions",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Data / API / Integrations"
]
},
{
"id": "F227",
"description": "Give each transform action an explicit input schema that can drive the inline field editor",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F228",
"description": "Give each transform action an explicit output schema that can drive downstream reference selection",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F229",
"description": "Allow transform actions to participate in the same grouped-catalog search model as business actions",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"UX / UI Notes > Palette Model"
]
},
{
"id": "F230",
"description": "Allow transform actions to participate in the same validation model as business actions",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F231",
"description": "Allow transform actions to be named and saved for downstream reference like other grouped action steps",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Users and Primary Flows"
]
},
{
"id": "F232",
"description": "Allow transform actions to appear in prior-step source pickers using their output schema and saveAs name",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F233",
"description": "Preserve transform grouped-step hydration when loading legacy drafts after transform actions are introduced",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Rollout / Migration"
]
},
{
"id": "F234",
"description": "Keep transform grouped steps movable and reorderable like existing action.call steps",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F235",
"description": "Keep transform grouped steps available inside control blocks just like existing action.call steps",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F236",
"description": "Allow transform grouped steps to use the same Reference, Fixed, and Advanced source modes inside their own input fields",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F237",
"description": "Allow transform grouped steps to use the same type-compatibility hints inside their own input fields",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F238",
"description": "Allow transform grouped steps to use the same step-level validation summary inside the properties panel",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F239",
"description": "Allow transform grouped steps to show action descriptions that explain the resulting output shape",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"UX / UI Notes > Transform UX"
]
},
{
"id": "F240",
"description": "Keep transform grouped-step behavior consistent enough that new transform actions can be added without new one-off designer surfaces",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Non-functional Requirements"
]
},
{
"id": "F241",
"description": "Provide a truncate-text transform action that accepts a source string and truncation settings",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Users and Primary Flows"
]
},
{
"id": "F242",
"description": "Allow truncate-text to express truncation length through explicit schema-backed fields rather than raw expression syntax",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F243",
"description": "Allow truncate-text to express truncation direction or strategy through explicit schema-backed fields rather than raw expression syntax",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F244",
"description": "Provide a concat-text transform action that accepts multiple source values and a separator",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F245",
"description": "Provide a replace-text transform action that accepts a source string, search value, and replacement value",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F246",
"description": "Provide a split-text transform action that accepts a source string and delimiter",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F247",
"description": "Provide a join-text transform action that accepts an array of strings and delimiter",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F248",
"description": "Provide a lowercase-text transform action that accepts a source string",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F249",
"description": "Provide an uppercase-text transform action that accepts a source string",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F250",
"description": "Provide a trim-text transform action that accepts a source string",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F251",
"description": "Expose truncate-text output as a typed string field for downstream references",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F252",
"description": "Expose concat-text output as a typed string field for downstream references",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F253",
"description": "Expose replace-text output as a typed string field for downstream references",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F254",
"description": "Expose split-text output as a typed array field for downstream references",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F255",
"description": "Expose join-text output as a typed string field for downstream references",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F256",
"description": "Expose lowercase-text output as a typed string field for downstream references",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F257",
"description": "Expose uppercase-text output as a typed string field for downstream references",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F258",
"description": "Expose trim-text output as a typed string field for downstream references",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F259",
"description": "Let text transform actions use structured source references for their source string inputs",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F260",
"description": "Let text transform actions use fixed literal configuration for transform-specific parameters such as separator or maximum length",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F261",
"description": "Provide a coalesce-value transform action that accepts ordered candidate inputs and returns the first usable value",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F262",
"description": "Provide a build-object transform action that accepts named fields and returns an object",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Users and Primary Flows"
]
},
{
"id": "F263",
"description": "Allow build-object to assign user-chosen output field names without requiring expression syntax",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Users and Primary Flows"
]
},
{
"id": "F264",
"description": "Provide a pick-fields transform action that accepts an input object and a selected subset of fields",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F265",
"description": "Provide a rename-fields transform action that accepts an input object and an explicit field rename mapping",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Users and Primary Flows"
]
},
{
"id": "F266",
"description": "Provide an append-array transform action that accepts an input array and one or more values to append",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F267",
"description": "Provide a build-array transform action that accepts ordered item inputs and returns an array",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F268",
"description": "Expose coalesce-value output with a schema type compatible with downstream references",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F269",
"description": "Expose build-object output as an object schema that downstream references can browse",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F270",
"description": "Expose pick-fields output as an object schema that downstream references can browse",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F271",
"description": "Expose rename-fields output as an object schema that downstream references can browse using the renamed field names",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F272",
"description": "Expose append-array output as an array schema that downstream references can browse",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F273",
"description": "Expose build-array output as an array schema that downstream references can browse",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F274",
"description": "Allow object-building transform inputs to use structured references for each output field source",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F275",
"description": "Allow object-building transform inputs to use fixed literal values for each output field source",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F276",
"description": "Allow rename-fields transform inputs to express renamed field labels through explicit schema-backed fields rather than raw expression syntax",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F277",
"description": "Allow pick-fields transform inputs to choose a fixed list of output fields through explicit schema-backed fields rather than raw expression syntax",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F278",
"description": "Allow coalesce-value transform inputs to accept multiple structured references without requiring raw expression syntax",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F279",
"description": "Allow array-building transform inputs to accept multiple structured references without requiring raw expression syntax",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions"
]
},
{
"id": "F280",
"description": "Allow object/value transform outputs to participate in downstream picker and reference flows exactly like business-action outputs",
"implemented": true,
"prdRefs": [
"Requirements > Transform Actions",
"Requirements > Reference Source Model"
]
},
{
"id": "F281",
"description": "Keep Advanced mode available for fields whose saved value cannot be represented as a structured reference or fixed value",
"implemented": true,
"prdRefs": [
"Requirements > Advanced Expressions"
]
},
{
"id": "F282",
"description": "Keep Advanced mode available for fields that still need secret references",
"implemented": true,
"prdRefs": [
"Requirements > Advanced Expressions"
]
},
{
"id": "F283",
"description": "De-emphasize Advanced mode in the UI so structured references and transform actions are the primary authoring path",
"implemented": true,
"prdRefs": [
"Requirements > Advanced Expressions",
"UX / UI Notes > Field Authoring Model"
]
},
{
"id": "F284",
"description": "Preserve existing expression validation behavior for advanced field values after the editor refactor",
"implemented": true,
"prdRefs": [
"Requirements > Advanced Expressions",
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F285",
"description": "Preserve existing secret validation behavior for advanced field values after the editor refactor",
"implemented": true,
"prdRefs": [
"Requirements > Advanced Expressions",
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F286",
"description": "Preserve existing runtime mapping resolution behavior for advanced field values after the editor refactor",
"implemented": true,
"prdRefs": [
"Requirements > Advanced Expressions",
"Rollout / Migration"
]
},
{
"id": "F287",
"description": "Keep existing workflows with advanced expressions editable even when they no longer fit the structured field-authoring path",
"implemented": true,
"prdRefs": [
"Requirements > Advanced Expressions",
"Rollout / Migration"
]
},
{
"id": "F288",
"description": "Preserve current save, reload, and publish behavior for workflows that mix structured fields and advanced values",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F289",
"description": "Preserve current action output data-context generation when grouped steps are saved and reloaded",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation",
"Requirements > Reference Source Model"
]
},
{
"id": "F290",
"description": "Preserve current import and export compatibility for workflow definitions that only rely on the existing action.call runtime contract",
"implemented": true,
"prdRefs": [
"Rollout / Migration"
]
},
{
"id": "F291",
"description": "Expose app/plugin grouped tiles only for catalog records available to the current deployment and tenant context",
"implemented": true,
"prdRefs": [
"Requirements > Plugin/App Support",
"Security / Permissions"
]
},
{
"id": "F292",
"description": "Allow app/plugin grouped steps to use the same grouped-step hydration model as built-in grouped steps",
"implemented": true,
"prdRefs": [
"Requirements > Plugin/App Support",
"Requirements > Grouped Action Step Model"
]
},
{
"id": "F293",
"description": "Allow app/plugin grouped steps to use the same inline field editor model as built-in grouped steps when their schemas are compatible",
"implemented": true,
"prdRefs": [
"Requirements > Plugin/App Support",
"Requirements > Inline Field-Based Action Input Editor"
]
},
{
"id": "F294",
"description": "Allow app/plugin grouped steps to use the same picker-metadata model as built-in grouped steps when their schemas provide annotations",
"implemented": true,
"prdRefs": [
"Requirements > Plugin/App Support",
"Requirements > Picker Metadata and Fixed Value Authoring"
]
},
{
"id": "F295",
"description": "Prevent read-only workflow users from changing grouped tiles, selected actions, or inline field values",
"implemented": true,
"prdRefs": [
"Security / Permissions"
]
},
{
"id": "F296",
"description": "Allow read-only workflow users to inspect grouped tiles, selected actions, field values, and transform outputs",
"implemented": true,
"prdRefs": [
"Security / Permissions"
]
},
{
"id": "F297",
"description": "Restrict fixed picker option retrieval to business data the current workflow authoring user is already permitted to read",
"implemented": true,
"prdRefs": [
"Security / Permissions",
"UX / UI Notes > Picker UX"
]
},
{
"id": "F298",
"description": "Keep grouped-step validation errors visible in the properties panel after save and reload",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation"
]
},
{
"id": "F299",
"description": "Keep grouped-step publish validation consistent with the existing runtime contract after the designer refactor",
"implemented": true,
"prdRefs": [
"Requirements > Compatibility, Save/Load, and Validation",
"Rollout / Migration"
]
},
{
"id": "F300",
"description": "Keep this first implementation limited to grouped palette, inline action inputs, ticket-core pickers, and transform actions without expanding into unrelated workflow-authoring features",
"implemented": true,
"prdRefs": [
"Goals",
"Non-goals"
]
}
]