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
159 lines
6.0 KiB
JSON
159 lines
6.0 KiB
JSON
[
|
|
{
|
|
"id": "F001",
|
|
"description": "Add `contact` to the Alga PSA node resource selector.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "UX / UI Notes"]
|
|
},
|
|
{
|
|
"id": "F002",
|
|
"description": "Add a `contactOperation` selector with `create`, `get`, `list`, `update`, and `delete` values.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "UX / UI Notes"]
|
|
},
|
|
{
|
|
"id": "F003",
|
|
"description": "Update the node subtitle/description logic so contact operations render consistently with existing resource operations.",
|
|
"implemented": true,
|
|
"prdRefs": ["UX / UI Notes"]
|
|
},
|
|
{
|
|
"id": "F004",
|
|
"description": "Add `Contact -> Create` required field handling for `full_name`.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "UX / UI Notes"]
|
|
},
|
|
{
|
|
"id": "F005",
|
|
"description": "Add `Contact -> Create` optional fields for `email`, `client_id`, `role`, `notes`, `is_inactive`, and `phone_numbers`.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations"]
|
|
},
|
|
{
|
|
"id": "F006",
|
|
"description": "Add `Contact -> Update` optional fields for `full_name`, `email`, `client_id`, `role`, `notes`, `is_inactive`, and `phone_numbers`.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations"]
|
|
},
|
|
{
|
|
"id": "F007",
|
|
"description": "Add `contactId` input handling for `Contact -> Get`, `Update`, and `Delete`.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "UX / UI Notes"]
|
|
},
|
|
{
|
|
"id": "F008",
|
|
"description": "Add `Contact -> List` pagination and filter inputs for `page`, `limit`, `client_id`, `search_term`, and `is_inactive`.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "UX / UI Notes"]
|
|
},
|
|
{
|
|
"id": "F009",
|
|
"description": "Reuse client lookup resourceLocator behavior with manual UUID fallback for contact `client_id` fields.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "UX / UI Notes"]
|
|
},
|
|
{
|
|
"id": "F010",
|
|
"description": "Add a contact create payload builder that maps the agreed core fields to the `/api/v1/contacts` API contract.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations"]
|
|
},
|
|
{
|
|
"id": "F011",
|
|
"description": "Add a contact update payload builder that sends only provided contact fields and omits empty values.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations"]
|
|
},
|
|
{
|
|
"id": "F012",
|
|
"description": "Add a contact list query builder for pagination and core filters.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations"]
|
|
},
|
|
{
|
|
"id": "F013",
|
|
"description": "Add `phone_numbers` parsing and validation helpers aligned with the contact API schema.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations", "Security / Permissions"]
|
|
},
|
|
{
|
|
"id": "F014",
|
|
"description": "Implement `Contact -> Create` execution using `POST /api/v1/contacts`.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations"]
|
|
},
|
|
{
|
|
"id": "F015",
|
|
"description": "Implement `Contact -> Get` execution using `GET /api/v1/contacts/{id}`.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations"]
|
|
},
|
|
{
|
|
"id": "F016",
|
|
"description": "Implement `Contact -> List` execution using `GET /api/v1/contacts` and preserve pagination metadata in output.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations"]
|
|
},
|
|
{
|
|
"id": "F017",
|
|
"description": "Implement `Contact -> Update` execution using `PUT /api/v1/contacts/{id}`.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Data / API / Integrations"]
|
|
},
|
|
{
|
|
"id": "F018",
|
|
"description": "Implement `Contact -> Delete` execution using `DELETE /api/v1/contacts/{id}` and normalized delete success output.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements"]
|
|
},
|
|
{
|
|
"id": "F019",
|
|
"description": "Validate `contactId` as non-empty UUID before sending get, update, or delete requests.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Security / Permissions"]
|
|
},
|
|
{
|
|
"id": "F020",
|
|
"description": "Preserve existing success normalization behavior for contact CRUD responses and list outputs.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements"]
|
|
},
|
|
{
|
|
"id": "F021",
|
|
"description": "Preserve existing continue-on-fail behavior for contact CRUD operations with item-level error objects.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Non-functional Requirements"]
|
|
},
|
|
{
|
|
"id": "F022",
|
|
"description": "Extend node description/load-option tests to cover the contact resource and client lookup behavior.",
|
|
"implemented": true,
|
|
"prdRefs": ["Non-functional Requirements", "Acceptance Criteria (Definition of Done)"]
|
|
},
|
|
{
|
|
"id": "F023",
|
|
"description": "Extend execute and helper tests to cover contact payloads, list behavior, ID validation, and `phone_numbers` validation.",
|
|
"implemented": true,
|
|
"prdRefs": ["Non-functional Requirements", "Acceptance Criteria (Definition of Done)"]
|
|
},
|
|
{
|
|
"id": "F024",
|
|
"description": "Update package README to include contact operations, field expectations, and output behavior.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Acceptance Criteria (Definition of Done)"]
|
|
},
|
|
{
|
|
"id": "F025",
|
|
"description": "Add at least one example workflow that demonstrates the new contact resource.",
|
|
"implemented": true,
|
|
"prdRefs": ["Acceptance Criteria (Definition of Done)"]
|
|
},
|
|
{
|
|
"id": "F026",
|
|
"description": "Update package release notes and docs synchronization tests for the contact CRUD expansion.",
|
|
"implemented": true,
|
|
"prdRefs": ["Functional Requirements", "Acceptance Criteria (Definition of Done)"]
|
|
}
|
|
]
|