1.7 KiB
1.7 KiB
Tasks — foundation-fix-gap-2-tenant-chain
- Add
slug: stringREQUIRED + optionalmetadatatoTenantRecordinterface andtenantRecordSchema. - Update
tenant-record.test.tsto assert slug presence/required/empty rejection and metadata round-trip. - Update
runTenantProviderConformanceharness'srecord()helper to includeslug. - Update
api-tenant-provider/src/provider/provider.test.tsliteral records to include slug. - Update
api-tenant-provider-memory/src/provider/provider.test.tsrecord()helper + INVALID_RECORD fixtures to include slug. - Add
src/chain/{chain.ts,chain.md,chain.test.ts,index.ts}exportingtenantResolverChainFromProvider+recordToContext+ supporting types. - Wire
./chainsubpath export inapi-tenant-provider/package.json. - Re-export
recordToContextandtenantResolverChainFromProviderfromapi-tenant-provider/src/index.ts. - Update
e2e/foundation-stack/src/server.tsto drop the hand-rolled chain and use the new factory; add slugs to in-line fixtures. - Add
@suaveplan/api-tenant-providerdependency toe2e/foundation-stack/package.json. - Verify gate:
bunx turbo lint typecheck test build --filter=@suaveplan/api-tenant-provider --filter=@suaveplan/api-tenant-provider-memory --filter=@suaveplan/api-tenant-resolver-jwt. - Verify coverage: 100% across statements/branches/functions/lines on both packages.
- E2E manual smoke: header-driven chain returns correct
TenantContext.id. - Fold deltas into canonical
openspec/specs/api-tenant-provider/spec.mdandopenspec/specs/api-tenant-provider-memory/spec.md; move folder toopenspec/archive/2026-05-26-foundation-fix-gap-2-tenant-chain/.