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

23 lines
3.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[
{ "id": "F001", "description": "Define the unified Designer AST node shape: { id, type, props, children } and workspace root container contract.", "implemented": true },
{ "id": "F002", "description": "Define a canonical store state: { rootId, nodesById } plus UI state (selection, hover, canvas settings, history).", "implemented": true },
{ "id": "F003", "description": "Implement generic immutable patch operations: setNodeProp(path), unsetNodeProp(path), insertChild, removeChild, moveNode, deleteNode(subtree).", "implemented": true },
{ "id": "F004", "description": "Refactor undo/redo history to snapshot or replay unified-tree patches deterministically with bounded history length.", "implemented": true },
{ "id": "F005", "description": "Introduce component schema definitions as the single source of truth for: label, description, category, defaults, editable props schema, and hierarchy rules.", "implemented": true },
{ "id": "F006", "description": "Move nesting allowlists (allowed parents/children) out of state/hierarchy.ts into the component schema module.", "implemented": true },
{ "id": "F007", "description": "Update palette insertion to create nodes using schema defaults and attach them via insertChild (no bespoke per-type defaults in the store).", "implemented": true },
{ "id": "F008", "description": "Refactor outline view and breadcrumbs to traverse children using nodesById/rootId (no reliance on parentId persistence).", "implemented": true },
{ "id": "F009", "description": "Refactor selection and hover logic to use nodesById (including derived parent lookup when needed).", "implemented": true },
{ "id": "F010", "description": "Refactor canvas rendering to consume unified nodes (resolve props.style/props.layout/props.metadata) without referencing legacy typed fields.", "implemented": true },
{ "id": "F011", "description": "Refactor drag-drop reorder and reparent actions to call moveNode/insertChild/removeChild on the unified tree only.", "implemented": true },
{ "id": "F012", "description": "Refactor resizing to write sizing-related values via setNodeProp (for example style.width/style.height/flexBasis) and remove updateNodeSize API.", "implemented": true },
{ "id": "F013", "description": "Implement a schema-driven Inspector that renders editable controls by reading the selected nodes component schema.", "implemented": true },
{ "id": "F014", "description": "Implement Inspector field types and normalizers: string, number, boolean, enum, css-length, css-color; support grouped panels and conditional visibility.", "implemented": true },
{ "id": "F015", "description": "Add schema widgets for complex metadata editing (table columns, dynamic-table, totals rows) replacing hardcoded inspectors where present.", "implemented": true },
{ "id": "F016", "description": "Update workspace import/export (designer <-> invoice-template AST) to map to/from unified props while preserving deterministic roundtrips.", "implemented": true },
{ "id": "F017", "description": "Remove legacy typed node fields from the persisted workspace format (position/size/allowedChildren/parentId/etc.) where no longer needed.", "implemented": true },
{ "id": "F018", "description": "Delete packages/billing/src/components/invoice-designer/state/hierarchy.ts and migrate all call sites to schema-based hierarchy rules.", "implemented": true },
{ "id": "F019", "description": "Delete unused per-property store helpers/actions and update all tests to target unified tree patch semantics.", "implemented": true },
{ "id": "F020", "description": "Add developer docs in SCRATCHPAD.md: schema format, patch semantics, and conventions for adding new properties/components.", "implemented": true }
]