Per-Task Interfaces Block (Consumes/Produces)
Declare each task's consumed and produced interfaces before separate execution.
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
- obra/superpowers · Interfaces:
File at this version8ca22dba9a94 - affaan-m/ECC · The Boundary Artifact
File at this versionef648e01899b - affaan-m/ECC · Compatible optional additions versus meaning/type changes requiring a new version
File at this versionef648e01899b - affaan-m/ECC · Required pre-edit discovery
File at this versionef648e01899b - obra/superpowers · Interfaces
File at this version8ca22dba9a94 - obra/superpowers · Preflight table
File at this version8ca22dba9a94