AI Agents SDE Task Viewer
      • Pr description
  1. Home
  2. AgentSDE
  3. agent-core
  4. gh-353
  5. changes
  6. pr_description.md
pr_description.md(1.5 KB)· Apr 8, 2026· 1 min read
  • Title
  • Problem
  • Task / Link
  • Changes
  • Notes
  • Testing

Title#

feat: extract hardcoded org and label constants to TenantConfigService (#353)

Problem#

Several services (ArtefactsService, PhaseHooksService, GitHubAdapter) used hardcoded string constants for the GitHub org (GH_ORG) and label names ('in-refinement', 'refined', 'in-review', 'agent-blocked'). This made org and label names non-configurable per tenant.

Task / Link#

Closes #353

Changes#

  • Removed GH_ORG export from src/config/constants.ts; ARTEFACTS_REPO now uses an inline string
  • ArtefactsService: injected TenantConfigService; replaced all GH_ORG usages with tenantConfig.getConfig().org
  • PhaseHooksService: injected TenantConfigService; replaced 5 hardcoded label strings with tenantConfig.getConfig().labels.*
  • GitHubAdapter: injected TenantConfigService; replaced 3 'in-refinement' comparisons with tenantConfig.getConfig().labels.inRefinement
  • Module files (ArtefactsModule, PhaseHooksModule, WebhookModule) updated to import TenantModule
  • Unit tests updated with TenantConfigService mock in all affected spec files and integration test utils

Notes#

  • Depends on #348 (TenantConfigService implementation) — merged first
  • ARTEFACTS_REPO remains a hardcoded infrastructure constant (not tenant-specific)
  • 6 pre-existing watchdog test failures on master are unrelated to this change

Testing#

  • npm run lint — passed
  • npm run test — 750 tests pass; 6 pre-existing watchdog failures unchanged
PrdAgent-runner