diff --git a/docs/plans/2026-08-05-inter-app-comms-implementation.md b/docs/plans/2026-08-05-inter-app-comms-implementation.md
index 6f12901c..921deeb0 100644
--- a/docs/plans/2026-08-05-inter-app-comms-implementation.md
+++ b/docs/plans/2026-08-05-inter-app-comms-implementation.md
@@ -561,7 +561,14 @@ export class ProcedureBuilder {
}
input>(schema: S): ProcedureBuilder, Output> {
- return new ProcedureBuilder, Output>({ ...this.def, input: schema });
+ // The cast is required for the same reason .output() needs one: the
+ // phantom __input/__output markers make ProcedureDef invariant, so
+ // spreading a ProcedureDef into a ProcedureDef,
+ // Output> is not assignable without it. No runtime effect.
+ return new ProcedureBuilder, Output>({
+ ...this.def,
+ input: schema,
+ } as ProcedureDef, Output>);
}
output(): ProcedureBuilder {