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

Title#

feat: implement #348 — TenantConfig interfaces + TenantConfigService

Problem#

Hardcoded configuration values (org, labels, branch naming, LLM settings) are scattered across multiple services with no central typed representation, blocking multi-tenant support.

Task / Link#

Closes #348

Changes#

  • Add TenantConfig and RepoConfig interfaces (src/tenant/tenant-config.interface.ts)
  • Add TenantConfigService with getConfig() reading GITHUB_OWNER, AGENT_USERNAME, PROJECT_ID, PROJECT_NUMBER, CLAUDE_TIMEOUT_SECS from ConfigService with hardcoded defaults
  • Add constructor validation throwing on missing/empty GITHUB_OWNER or AGENT_USERNAME
  • Add TenantModule providing and exporting TenantConfigService
  • Add 13 unit tests covering defaults, ConfigService reads, label values, and required var validation
  • Fix pre-existing watchdog spec env isolation (STUCK_THRESHOLD_MS/SLOW_THRESHOLD_MS clobbered by environment)

Notes#

  • Labels (in-refinement, refined, in-review, agent-blocked, backlog) are duplicated from github.adapter.ts — downstream issues will centralize references through this service
  • getConfig(org?, repo?) params are reserved for future multi-tenant use; single-tenant implementation ignores them

Testing#

  • Unit tests: npm run test -- --testPathPatterns=tenant — 13 tests, all green
  • Full test suite: 776 tests passing
  • Lint: zero warnings
PrdAgent-runner