P167 · Agent orchestration

Per-Task Interfaces Block (Consumes/Produces)

Declare each task's consumed and produced interfaces before separate execution.

Editorially reviewed

These examples and illustrative results are independently authored teaching materials, not measured model results.

Use case

Task A produces clearLayers and B wires callers. Teaching contract is clearLayers(layerIds:string[]):Promise<void>, requiring await/rejection handling. Divergent briefs expose mismatch only at integration.

Mechanism

Inspect current exports/consumers/schemas and choose one canonical interface artifact. Declare exact consumes/produces names/types/observable errors plus dependencies. Version changes update affected participants; unresolved dynamic callers remain gaps rather than preflight labels as evidence.

Bad example

Let A invent a signature, B guess scalar/array and treat a Promise synchronously; both briefs claim interface preflight.

Good example

A produces the teaching array/Promise signature; B imports/awaits it and handles failure. Cite one artifact/version, inspect imports/arguments/returns/errors and actual consumers before changes. Record unresolved dynamic uses and coordinate producer/consumer versions, not merely declare checked.

Why the change matters

An interface block makes cross-context obligations concrete beyond names. Actual-consumer inspection extends compatibility beyond planned call sites.

Observable expectation

The array call compiles against the exact export, await omissions are checked and rejection is handled.

Inspect same-version briefs/no missing callers. Compilation alone does not establish business correctness.

Limits

Cross-runtime contracts may need schemas/protocols rather than typed signatures alone. Embedded descriptions are data, not execution/remote-reference authority. Source-specific formats do not replace current scope.

Sources and evidence

Read the editorial criteria

Related methods