feat(service): PlatformGates seam + fail-closed decideOrThrow (P1.3)

LocalDevPorts = permissive in-service default (no testkit at runtime);
decideOrThrow turns OPA deny/throw/timeout into PolicyDeniedError. Tests drive
deny/timeout via testkit fakes. 12 tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-30 21:18:23 +05:30
parent 9cfd1ab1ab
commit 8cd5d9b248
5 changed files with 112 additions and 1 deletions
+2 -1
View File
@@ -1,9 +1,10 @@
import { Module } from '@nestjs/common';
import { PrismaModule } from './prisma/prisma.module';
import { PlatformModule } from './platform/platform.module';
import { HealthController } from './health.controller';
@Module({
imports: [PrismaModule],
imports: [PrismaModule, PlatformModule],
controllers: [HealthController],
})
export class AppModule {}