From 2547519be410b4d6134f8dd8ab6308571beb2038 Mon Sep 17 00:00:00 2001 From: Derek Ables Date: Fri, 24 Jul 2026 14:54:01 -0700 Subject: [PATCH 1/2] feat: add policy decision adapter skeleton --- packages/decision-pipeline/src/policy-adapter.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 packages/decision-pipeline/src/policy-adapter.ts diff --git a/packages/decision-pipeline/src/policy-adapter.ts b/packages/decision-pipeline/src/policy-adapter.ts new file mode 100644 index 0000000..916ca97 --- /dev/null +++ b/packages/decision-pipeline/src/policy-adapter.ts @@ -0,0 +1,11 @@ +import type { Decision } from './decision'; + +/** + * Boundary adapter between policy evaluation and decision output. + * + * This layer translates policy results into pipeline decisions. + * It does not own policy rules or execute actions. + */ +export interface PolicyDecisionAdapter { + adapt(policyResult: unknown): Promise; +} From 8f84b39b342360c5bc151c7bbd80ff3107599fd6 Mon Sep 17 00:00:00 2001 From: Derek Ables Date: Fri, 24 Jul 2026 14:54:06 -0700 Subject: [PATCH 2/2] docs: document policy decision adapter boundary --- .../decision-pipeline/src/policy-adapter.md | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 packages/decision-pipeline/src/policy-adapter.md diff --git a/packages/decision-pipeline/src/policy-adapter.md b/packages/decision-pipeline/src/policy-adapter.md new file mode 100644 index 0000000..d1debca --- /dev/null +++ b/packages/decision-pipeline/src/policy-adapter.md @@ -0,0 +1,32 @@ +# Policy Decision Adapter + +## Purpose + +The policy decision adapter creates the translation boundary between policy evaluation and the decision pipeline. + +## Responsibility + +The adapter converts policy output into a standardized Decision contract. + +``` +Policy Result + | + v +Policy Decision Adapter + | + v +Decision +``` + +## Non-Responsibilities + +The adapter does not: + +- Define policy rules +- Evaluate domain events +- Execute actions +- Communicate with external systems + +## Design Goal + +Policies should remain independent from the pipeline while decisions remain consistent across future implementations.