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

44 lines
7.3 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 and document billing period semantics as [start, end) (end exclusive) across billing engine, invoice generation, and validations", "implemented": true, "prdRefs": ["Requirements", "Acceptance Criteria"] },
{ "id": "F002", "description": "Inventory current end-date semantics and identify all inclusive vs exclusive usages (billing engine, proration, overlap checks, UI previews)", "implemented": true, "prdRefs": ["Problem", "Functional Requirements"] },
{ "id": "F003", "description": "Update billing docs to explicitly describe [start, end) semantics and how billing cycles map to invoice periods", "implemented": true, "prdRefs": ["UX / UI Notes", "Rollout / Migration"] },
{ "id": "F010", "description": "Add per-client billing cycle anchor fields to client billing settings schema (migration)", "implemented": true, "prdRefs": ["Data / API / Integrations", "Rollout / Migration"] },
{ "id": "F011", "description": "Define anchor configuration rules per BillingCycleType (weekly/bi-weekly/monthly/quarterly/semi-annually/annually)", "implemented": true, "prdRefs": ["UX / UI Notes", "Functional Requirements"] },
{ "id": "F012", "description": "Implement server actions to read a client's billing anchor configuration", "implemented": true, "prdRefs": ["Data / API / Integrations"] },
{ "id": "F013", "description": "Implement server actions to update a client's billing anchor configuration with validation and permissions", "implemented": true, "prdRefs": ["Security / Permissions", "Functional Requirements"] },
{ "id": "F014", "description": "Backfill defaults for new anchor fields for existing clients (do not modify existing client_billing_cycles rows)", "implemented": true, "prdRefs": ["Rollout / Migration"] },
{ "id": "F020", "description": "Update Client → Billing UI to display and edit anchor settings for the selected billing cycle type (cycle-type-aware editor + preview)", "implemented": true, "prdRefs": ["UX / UI Notes", "Users and Primary Flows"] },
{ "id": "F021", "description": "Monthly anchor UI: allow selecting day-of-month (default 1; V1 optionally limited to 128)", "implemented": true, "prdRefs": ["UX / UI Notes", "Open Questions"] },
{ "id": "F022", "description": "Weekly anchor UI: allow selecting weekday (MonSun) with preview of next cycle boundary", "implemented": true, "prdRefs": ["UX / UI Notes"] },
{ "id": "F023", "description": "Bi-weekly anchor UI: allow selecting a concrete first cycle start date (UTC date) to establish stable parity", "implemented": true, "prdRefs": ["UX / UI Notes"] },
{ "id": "F024", "description": "Quarterly/semi-annual/annual anchor UI: allow selecting start month and day-of-month (128), with preview", "implemented": true, "prdRefs": ["UX / UI Notes"] },
{ "id": "F025", "description": "UI copy/tooltips: clarify that period end is exclusive and represents the start of the next period", "implemented": true, "prdRefs": ["UX / UI Notes"] },
{ "id": "F026", "description": "Change Billing → Billing Cycles tab to summary-only (no schedule editing); provide links into Client → Billing for edits", "implemented": true, "prdRefs": ["UX / UI Notes", "Users and Primary Flows"] },
{ "id": "F027", "description": "Move manual “Create Next Cycle” UX to Client → Billing (remove from billing dashboard)", "implemented": true, "prdRefs": ["Users and Primary Flows", "Functional Requirements"] },
{ "id": "F030", "description": "Refactor billing cycle generation to compute the current cycle start from anchor settings rather than fixed calendar starts", "implemented": true, "prdRefs": ["Functional Requirements", "Rollout / Migration"] },
{ "id": "F031", "description": "Implement anchor-based cycle generation for monthly cycles (e.g., bill on the 10th)", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F032", "description": "Implement anchor-based cycle generation for weekly cycles", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F033", "description": "Implement anchor-based cycle generation for bi-weekly cycles with stable parity", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F034", "description": "Implement anchor-based cycle generation for quarterly cycles", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F035", "description": "Implement anchor-based cycle generation for semi-annual cycles", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F036", "description": "Implement anchor-based cycle generation for annual cycles", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F037", "description": "Ensure scheduled job createClientContractLineCycles uses the new anchor-based generation for all tenants/clients", "implemented": true, "prdRefs": ["Rollout / Migration"] },
{ "id": "F040", "description": "Fix createNextBillingCycle server action to honor passed effectiveDate / anchor semantics (remove ignored param behavior)", "implemented": true, "prdRefs": ["Functional Requirements", "Acceptance Criteria"] },
{ "id": "F041", "description": "Add validation to prevent creating cycles that overlap existing cycles under [start, end) semantics", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F042", "description": "Implement anchor change cutover after last invoiced cycle: create transition period(s) to reach the next anchor boundary without gaps/overlaps", "implemented": true, "prdRefs": ["Functional Requirements", "Acceptance Criteria"] },
{ "id": "F043", "description": "Implement fixed recurring charge proration for transition periods based on actual period length vs canonical cycle length", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F044", "description": "Apply the same cutover behavior when billing cycle type changes (after last invoiced; deactivate future non-invoiced cycles so regeneration uses the new schedule)", "implemented": true, "prdRefs": ["Functional Requirements", "Acceptance Criteria"] },
{ "id": "F045", "description": "Add a unified server action to update a clients billing schedule (cycle type + anchor) in one transaction with cutover semantics", "implemented": true, "prdRefs": ["Data / API / Integrations", "Functional Requirements"] },
{ "id": "F050", "description": "Update billing engine proration calculations to use exclusive end dates consistently", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F051", "description": "Update overlap validation in client contract assignment/update flows to use [start, end) semantics", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F052", "description": "Update any invoice/billing queries that depend on end-date boundaries to use exclusive end semantics consistently", "implemented": true, "prdRefs": ["Functional Requirements"] },
{ "id": "F060", "description": "Add a preview helper (server-side or shared util) that computes next N billing periods from a cycle type + anchor settings for UI display", "implemented": true, "prdRefs": ["UX / UI Notes"] },
{ "id": "F061", "description": "Update error messaging surfaces to provide actionable feedback when anchors are invalid or conflict with existing invoiced periods", "implemented": true, "prdRefs": ["Functional Requirements"] }
]