{
"issueNumber": 551,
"branchName": "rc/atlassian-integration",
"generatedAt": "2026-04-23T17:12:58Z",
"stories": [
{
"id": "S1",
"title": "Add PLATFORM_SERVICES token and getPlatformServices() on TenantConfigService",
"priority": 1,
"dependsOn": [],
"acceptanceCriteria": [
"PLATFORM_SERVICES token exported from src/tenant/platform-services.ts",
"getPlatformServices('github') returns {adapter, service, authProvider} triple",
"Unknown platform throws NotFoundException; missing/empty platform throws BadRequestException",
"TenantModule registers PLATFORM_SERVICES as {github: GitHubService} and exposes AdapterRegistry",
"Unit tests cover happy path, unknown platform, and missing platform cases"
],
"passes": false,
"completedAt": null
},
{
"id": "S2",
"title": "Refactor PhaseRouterService, PhaseHooksService, CompoundService to resolve service via tenant config",
"priority": 2,
"dependsOn": [
"S1"
],
"acceptanceCriteria": [
"No `from '../github/github.service'` or `from '../github'` imports remain in phase-router/ or hooks/ dispatch-path files",
"Each consumer injects TenantConfigService and calls getPlatformServices(platform).service",
"Existing GitHub method calls continue to work (typed via platform service map)",
"All three specs updated: inject TenantConfigService stub returning a triple; all tests pass",
"npm run lint passes with zero warnings; npm run test passes"
],
"passes": false,
"completedAt": null
}
]
}