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
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
259 lines
7.2 KiB
JSON
259 lines
7.2 KiB
JSON
[
|
|
{
|
|
"id": "F001",
|
|
"description": "Register transform.regex_match as a pure Transform action with explicit input and output schemas.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 1",
|
|
"Functional Requirements 18",
|
|
"Functional Requirements 19"
|
|
]
|
|
},
|
|
{
|
|
"id": "F002",
|
|
"description": "Implement regex_match inputs for text, pattern, optional flags, and optional requireMatch.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 2"
|
|
]
|
|
},
|
|
{
|
|
"id": "F003",
|
|
"description": "Implement regex_match output shape with matched, match, index, groups, and namedGroups.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 3"
|
|
]
|
|
},
|
|
{
|
|
"id": "F004",
|
|
"description": "Register transform.regex_extract as a pure Transform action with explicit input and output schemas.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 4",
|
|
"Functional Requirements 18",
|
|
"Functional Requirements 19"
|
|
]
|
|
},
|
|
{
|
|
"id": "F005",
|
|
"description": "Implement regex_extract inputs for text, pattern, optional flags, optional maxMatches, and optional requireMatch.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 5"
|
|
]
|
|
},
|
|
{
|
|
"id": "F006",
|
|
"description": "Implement regex_extract output shape with matched, count, first, and matches.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 6"
|
|
]
|
|
},
|
|
{
|
|
"id": "F007",
|
|
"description": "Support numbered capture groups in regex_match and regex_extract outputs.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 7"
|
|
]
|
|
},
|
|
{
|
|
"id": "F008",
|
|
"description": "Support JavaScript named capture groups in regex_match and regex_extract outputs where available.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 8"
|
|
]
|
|
},
|
|
{
|
|
"id": "F009",
|
|
"description": "Register transform.regex_replace as a pure Transform action with explicit input and output schemas.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 9",
|
|
"Functional Requirements 18",
|
|
"Functional Requirements 19"
|
|
]
|
|
},
|
|
{
|
|
"id": "F010",
|
|
"description": "Implement regex_replace inputs for text, pattern, optional flags, replacement, and optional replaceAll.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 10"
|
|
]
|
|
},
|
|
{
|
|
"id": "F011",
|
|
"description": "Implement regex_replace output shape with text and replacementCount.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 11"
|
|
]
|
|
},
|
|
{
|
|
"id": "F012",
|
|
"description": "Support or explicitly document JavaScript replacement tokens such as $1, $2, $<name>, and $$.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 12"
|
|
]
|
|
},
|
|
{
|
|
"id": "F013",
|
|
"description": "Add shared regex compilation helper that validates pattern syntax and returns actionable invalid-pattern errors.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 13",
|
|
"Non-functional Requirements"
|
|
]
|
|
},
|
|
{
|
|
"id": "F014",
|
|
"description": "Validate supported regex flags and reject unsupported or duplicate flags with actionable errors.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 14"
|
|
]
|
|
},
|
|
{
|
|
"id": "F015",
|
|
"description": "Enforce guardrails for maximum source text length, maximum pattern length, and maximum match count.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 15",
|
|
"Security / Permissions"
|
|
]
|
|
},
|
|
{
|
|
"id": "F016",
|
|
"description": "Handle zero-width global matches safely so extract and replace loops cannot hang.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 16"
|
|
]
|
|
},
|
|
{
|
|
"id": "F017",
|
|
"description": "Implement deterministic no-match behavior and requireMatch failure behavior.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 17"
|
|
]
|
|
},
|
|
{
|
|
"id": "F018",
|
|
"description": "Ensure regex actions are sideEffectful false and use engine-provided idempotency.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 18"
|
|
]
|
|
},
|
|
{
|
|
"id": "F019",
|
|
"description": "Expose regex action input and output fields through the workflow designer catalog.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 19",
|
|
"UX / UI Notes"
|
|
]
|
|
},
|
|
{
|
|
"id": "F020",
|
|
"description": "Ensure regex transform outputs save through existing action.call saveAs behavior with no new assignment semantics.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 20"
|
|
]
|
|
},
|
|
{
|
|
"id": "F021",
|
|
"description": "Teach workflowDataContext/downstream reference building to expose stable regex output fields.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 21",
|
|
"UX / UI Notes"
|
|
]
|
|
},
|
|
{
|
|
"id": "F022",
|
|
"description": "Optionally infer useful output fields from named capture groups when feasible without weakening runtime safety.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"UX / UI Notes",
|
|
"Open Questions"
|
|
]
|
|
},
|
|
{
|
|
"id": "F023",
|
|
"description": "Render regex pattern, flags, replacement, maxMatches, and requireMatch inputs cleanly in the workflow designer.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"UX / UI Notes"
|
|
]
|
|
},
|
|
{
|
|
"id": "F024",
|
|
"description": "Preserve and validate scoped saveAs paths such as payload.*, vars.*, and meta.* for regex outputs.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"UX / UI Notes",
|
|
"Functional Requirements 20"
|
|
]
|
|
},
|
|
{
|
|
"id": "F025",
|
|
"description": "Improve Run Studio error display so regex action-level errors appear before generic wrapper errors.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 22",
|
|
"Data / API / Integrations"
|
|
]
|
|
},
|
|
{
|
|
"id": "F026",
|
|
"description": "Add Quick Ask guidance for regex action names, JavaScript regex syntax, flags, captures, replacements, saveAs, guardrails, and deterministic runtime behavior.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 23"
|
|
]
|
|
},
|
|
{
|
|
"id": "F027",
|
|
"description": "Preserve existing Quick Ask and AI Assistant entitlement gating while keeping regex actions available without AI entitlement.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Functional Requirements 24",
|
|
"Security / Permissions"
|
|
]
|
|
},
|
|
{
|
|
"id": "F028",
|
|
"description": "Document guidance that saved regex captures may persist sensitive or secret-derived content into workflow state.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Security / Permissions"
|
|
]
|
|
},
|
|
{
|
|
"id": "F029",
|
|
"description": "Keep existing workflows and current transform actions backward-compatible.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Rollout / Migration",
|
|
"Non-functional Requirements"
|
|
]
|
|
},
|
|
{
|
|
"id": "F030",
|
|
"description": "Add examples for common MSP parsing patterns such as incident IDs, hostnames, serial numbers, asset tags, and whitespace normalization.",
|
|
"implemented": true,
|
|
"prdRefs": [
|
|
"Users and Primary Flows",
|
|
"Functional Requirements 23"
|
|
]
|
|
}
|
|
]
|