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
44 lines
7.3 KiB
JSON
44 lines
7.3 KiB
JSON
[
|
||
{ "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 1–28)", "implemented": true, "prdRefs": ["UX / UI Notes", "Open Questions"] },
|
||
{ "id": "F022", "description": "Weekly anchor UI: allow selecting weekday (Mon–Sun) 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 (1–28), 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 client’s 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"] }
|
||
]
|