Skip to content

Fix feature id mismatches in the PSA and RMM matrices - #4

Open
kspooner13 wants to merge 1 commit into
mainfrom
fix/psa-rmm-feature-ids
Open

Fix feature id mismatches in the PSA and RMM matrices#4
kspooner13 wants to merge 1 commit into
mainfrom
fix/psa-rmm-feature-ids

Conversation

@kspooner13

Copy link
Copy Markdown
Member

Problem

The PSA vendor files were written against an older vocabulary than psa/features.md defines, so 72 of 270 vendor entries (27%) were silently discarded and most of the PSA matrix rendered as "not supported".

Changes

Six were naming driftfeatures.md already defined the same feature under a different id, so these are renamed in the vendor files rather than added as duplicate rows:

vendor files used features.md defines
ticket_mgmt ticketing
sla_tracking sla
auto_routing auto_dispatch
project_mgmt project_management
custom_reports custom_reporting
invoicing invoice_creation

Each rename was checked to ensure the target id wasn't already present in that file, so no file ends up with a duplicate key.

Six were genuinely undefined and are now declared next to their logical neighbours: timesheet_approval, recurring_billing, expense_tracking, standard_reports, accounting_integration, email_integration.

Duplicate ids removed:

  • psa/features.md — a stray ## Other section whose only row re-declared mobile_app
  • rmm/features.md — a verbatim duplicate multi_tenant row (both definitions were byte-identical)

RMM integrations declared: accelo, computicate, harmony, n-able_msp_manager were referenced by vendor files but missing from the integration list alongside syncro/tigerpaw/atera/servicenow.

Result

All 270 PSA vendor entries now resolve (0 ignored, was 72). Both matrices load without warnings.

Not addressed here

Duplicate ids remain in docs (password_policies), emailsec (compliance_reporting, policy_management) and consultant (change_management). Unlike the ones above, those pairs have genuinely different meanings — e.g. consultant's two change_management rows are "Managing organizational change" (Business Support) vs "Managing scope changes during projects" (Service Delivery). Splitting them means deciding which one each vendor's existing value refers to, so they're left for a maintainer decision.

🤖 Generated with Claude Code

The PSA vendor files were written against an older vocabulary than
psa/features.md defines, so 72 of 270 vendor entries (27%) were silently
discarded and most of the PSA matrix rendered as "not supported".

Six were naming drift, where features.md already defined the same feature
under a different id. Renamed in the vendor files rather than adding
duplicate rows:

  ticket_mgmt    -> ticketing            project_mgmt   -> project_management
  sla_tracking   -> sla                  custom_reports -> custom_reporting
  auto_routing   -> auto_dispatch        invoicing      -> invoice_creation

Six were genuinely undefined and are now declared next to their logical
neighbours: timesheet_approval, recurring_billing, expense_tracking,
standard_reports, accounting_integration, email_integration.

Also removes a stray "## Other" section in psa/features.md whose only row
re-declared mobile_app, and in rmm/features.md removes a verbatim duplicate
multi_tenant row and declares four PSA integrations that vendor files already
referenced (accelo, computicate, harmony, n-able_msp_manager).

All 270 PSA vendor entries now resolve; both matrices load without warnings.

Not addressed here: duplicate ids in docs (password_policies), emailsec
(compliance_reporting, policy_management) and consultant (change_management).
Unlike the ones above, those pairs have genuinely different meanings and need
a decision about which vendors meant which before they can be split.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant