AI Agents SDE Task Viewer
      • Context
      • Plan
      • Prd
  1. Home
  2. AgentSDE
  3. agent-core
  4. gh-356
  5. plan
  6. prd.json
prd.json(1.8 KB)ยท Apr 8, 2026
{
  "issueNumber": 356,
  "branchName": "rc/multi-tenant",
  "generatedAt": "2026-04-08T12:00:00Z",
  "stories": [
    {
      "id": "S1",
      "title": "Create TenantContext interface and TenantResolverService with resolveFromWebhook and resolveFromRepo methods",
      "priority": 1,
      "dependsOn": [],
      "acceptanceCriteria": [
        "TenantContext interface has tenant, repoConfig, platformProvider, llmProvider fields",
        "resolveFromWebhook(platform, headers, body) returns default single-tenant context",
        "resolveFromRepo(repo) returns default single-tenant context",
        "Both methods fall back to ENV-based defaults for unrecognized orgs/repos"
      ],
      "passes": false,
      "completedAt": null
    },
    {
      "id": "S2",
      "title": "Extend DispatchEvent with tenantContext, wire resolver into WebhookController and TenantModule",
      "priority": 2,
      "dependsOn": [
        "S1"
      ],
      "acceptanceCriteria": [
        "DispatchEvent and DispatchEventParams have optional tenantContext?: TenantContext field",
        "WebhookController resolves and attaches TenantContext after adapter normalization",
        "TenantModule exports TenantResolverService and imports PlatformModule, LLMModule, CredentialModule",
        "tsc --noEmit passes",
        "npm run lint passes"
      ],
      "passes": false,
      "completedAt": null
    },
    {
      "id": "S3",
      "title": "Create unit tests for TenantResolverService",
      "priority": 3,
      "dependsOn": [
        "S1"
      ],
      "acceptanceCriteria": [
        "Test: webhook payload resolves to correct tenant context",
        "Test: repo string resolves to correct tenant context",
        "Test: TenantContext carries correct provider instances",
        "npm run test passes"
      ],
      "passes": false,
      "completedAt": null
    }
  ]
}
PlanPr description