Skip to content
CAI
Software that uses CAICheck a score

phacility/phabricator

43.5

Weak · 29 July 2026

540.3k

lines of production code

PHP

with JavaScript

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

How this codebase got here

Score

  • CAI 43 → 44 (+0.5)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.08.18) — scores are not directly comparable.

Lenses

  • Code Health 56 → 56 (-0.1)
  • Architecture 98 → 100 (+1.6)
  • Maturity 40 → 43 (+2.8)
  • Readiness 38 → 38 (+0.0)
  • Security 40 → 40 (+0.0)

Resolved (169)

  • (anonymous) (cognitive 41) (webroot/rsrc/js/application/diffusion/behavior-commit-graph.js)
  • Change coupling: AlmanacBindingViewController.php ↔ AlmanacServiceViewController.php (src/applications/almanac/controller/AlmanacBindingViewController.php)
  • Change coupling: DiffChangesetList.js ↔ behavior-populate.js (webroot/rsrc/js/application/diff/DiffChangesetList.js)
  • Change coupling: DifferentialRevisionAcceptTransaction.php ↔ DifferentialRevisionRejectTransaction.php (src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php)
  • Change coupling: DifferentialRevisionAcceptTransaction.php ↔ DifferentialRevisionResignTransaction.php (src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php)
  • Change coupling: DifferentialRevisionRejectTransaction.php ↔ DifferentialRevisionResignTransaction.php (src/applications/differential/xaction/DifferentialRevisionRejectTransaction.php)
  • Change coupling: PhabricatorEditEngine.php ↔ PhabricatorEditEngineConfigurationEditor.php (src/applications/transactions/editengine/PhabricatorEditEngine.php)
  • Change coupling: PhabricatorEditEngineConfigurationViewController.php ↔ PhabricatorEditEngine.php (src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php)
  • Change coupling: PhabricatorEditField.php ↔ PhabricatorTokenizerEditField.php (src/applications/transactions/editfield/PhabricatorEditField.php)
  • Change coupling: WorkboardBoard.js ↔ WorkboardColumn.js (webroot/rsrc/js/application/projects/WorkboardBoard.js)
  • Duplicated block (10 lines × 2) (externals/phpmailer/class.phpmailer-lite.php)
  • Duplicated block (10 lines × 2) (externals/phpmailer/class.phpmailer-lite.php)
  • Duplicated block (10 lines × 2) (externals/phpmailer/class.phpmailer-lite.php)
  • Duplicated block (10 lines × 4) (src/applications/dashboard/controller/panel/PhabricatorDashboardPanelListController.php)
  • Duplicated block (10–11 lines × 2) (src/applications/auth/xaction/PhabricatorAuthFactorProviderNameTransaction.php)
  • Duplicated block (10–11 lines × 2) (src/applications/diffusion/controller/DiffusionRepositoryURIViewController.php)
  • Duplicated block (10–11 lines × 2) (src/applications/legalpad/controller/LegalpadDocumentSignController.php)
  • Duplicated block (10–11 lines × 2) (src/applications/legalpad/controller/LegalpadDocumentSignController.php)
  • Duplicated block (10–11 lines × 4) (src/applications/conpherence/xaction/ConpherenceThreadTitleTransaction.php)
  • Duplicated block (10–13 lines × 2) (src/applications/auth/query/PhabricatorAuthPasswordQuery.php)
  • …and 149 more

New (204)

  • (anonymous) (cognitive 39) (webroot/rsrc/js/application/diffusion/behavior-commit-graph.js)
  • Change coupling clique: PhabricatorProjectDetailsProfileMenuItem.php, PhabricatorProjectWorkboardProfileMenuItem.php, PhabricatorLinkProfileMenuItem.php (src/applications/project/menuitem/PhabricatorProjectDetailsProfileMenuItem.php)
  • Change coupling: DifferentialChangesetParser.php ↔ DifferentialChangesetTestRenderer.php (src/applications/differential/parser/DifferentialChangesetParser.php)
  • Change coupling: PHUIDiffInlineCommentView.php ↔ DiffInline.js (src/infrastructure/diff/view/PHUIDiffInlineCommentView.php)
  • Change coupling: PhabricatorInlineComment.php ↔ PHUIDiffInlineCommentEditView.php (src/infrastructure/diff/interface/PhabricatorInlineComment.php)
  • Duplicated block (10 lines × 2) (src/applications/auth/engine/PhabricatorAuthInviteEngine.php)
  • Duplicated block (10 lines × 2) (src/applications/auth/xaction/PhabricatorAuthFactorProviderNameTransaction.php)
  • Duplicated block (10 lines × 2) (src/applications/diffusion/controller/DiffusionRepositoryURIViewController.php)
  • Duplicated block (10 lines × 2) (src/applications/macro/query/PhabricatorMacroQuery.php)
  • Duplicated block (10 lines × 2) (src/applications/packages/editor/PhabricatorPackagesPackageEditEngine.php)
  • Duplicated block (10 lines × 3) (src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php)
  • Duplicated block (10 lines × 4) (src/applications/conpherence/xaction/ConpherenceThreadTitleTransaction.php)
  • Duplicated block (10 lines × 5) (src/applications/auth/query/PhabricatorAuthPasswordQuery.php)
  • Duplicated block (10 lines × 5) (src/applications/dashboard/controller/panel/PhabricatorDashboardPanelListController.php)
  • Duplicated block (11 lines × 2) (src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php)
  • Duplicated block (11 lines × 2) (src/applications/auth/controller/contact/PhabricatorAuthContactNumberViewController.php)
  • Duplicated block (11 lines × 2) (src/applications/auth/management/PhabricatorAuthManagementRecoverWorkflow.php)
  • Duplicated block (11 lines × 2) (src/applications/conpherence/conduit/ConpherenceQueryTransactionConduitAPIMethod.php)
  • Duplicated block (11 lines × 2) (src/applications/conpherence/xaction/ConpherenceThreadTitleTransaction.php)
  • Duplicated block (11 lines × 2) (src/applications/differential/controller/DifferentialChangesetViewController.php)
  • …and 184 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

phacility/phabricator was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 29 July 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 5720a38cfe95b00ca4be5016dd0d2f3195f4fa04 — the exact code this score is about.
  • Scored under rubric-2026.08.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer latest.