Fix feature id mismatches in the PSA and RMM matrices - #4
Open
kspooner13 wants to merge 1 commit into
Open
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The PSA vendor files were written against an older vocabulary than
psa/features.mddefines, so 72 of 270 vendor entries (27%) were silently discarded and most of the PSA matrix rendered as "not supported".Changes
Six were naming drift —
features.mdalready defined the same feature under a different id, so these are renamed in the vendor files rather than added as duplicate rows:ticket_mgmtticketingsla_trackingslaauto_routingauto_dispatchproject_mgmtproject_managementcustom_reportscustom_reportinginvoicinginvoice_creationEach 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## Othersection whose only row re-declaredmobile_apprmm/features.md— a verbatim duplicatemulti_tenantrow (both definitions were byte-identical)RMM integrations declared:
accelo,computicate,harmony,n-able_msp_managerwere referenced by vendor files but missing from the integration list alongsidesyncro/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) andconsultant(change_management). Unlike the ones above, those pairs have genuinely different meanings — e.g. consultant's twochange_managementrows 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