← Back to list
01Issue
FeatureShippedSwamp CLIPublic
Assigneeshammz
Relationships
#3078 Remove followUpActions: no model or extension can produce them
Opened by hammz · 10/6/2026· Shipped 10/6/2026
Description
Found while triaging swamp-club#2929. followUpActions (a method result asking the executor to call another method on the same definition, with delayMs, maxRetries and continueCondition) has had no producer since February 2026, and no extension can reach it. Remove the feature rather than keep maintaining it.
Why it is unreachable
- Its only producer, the built-in
AWS::EC2::InstanceCloudControl model, was deleted in c07cd86a (2026-02-12). No built-in model returns follow-ups today. - Extension models cannot return them:
wrapUserExecuteinsrc/domain/extensions/model_kind_adapter.tsreturns only{ dataHandles }, at both places a user method is converted (new model and extension of an existing model). This has been the case since 7e79e070 (2026-02-10). - Those are the only two ways a model definition is registered (
model_kind_adapter.tsand the built-in registration inmodel.ts), and a worker executes the same wrapped methods, so the remote path cannot produce them either. - Confirmed with the installed binary: an extension method returning
followUpActionswithdelayMs: 2000, maxRetries: 8completed in 17 ms and the follow-up method never ran. - It is not documented for extension authors. The only mentions are in
design/enablers/remote-execution.md.
Cost of keeping it
- The retry loop ignores the run's abort signal (swamp-club#2929) and is exercised only by its own unit tests.
- The remote-execution work carried the plumbing across the worker boundary, with a documented known divergence (
continueConditionis dropped on the wire).
What to remove
FollowUpActionandMethodResult.followUpActionsinsrc/domain/models/model.tsprocessFollowUpActions,delay,DEFAULT_MAX_FOLLOW_UP_DEPTHand the call site insrc/domain/models/method_execution_service.ts, plus their unit tests- The pass-through in
src/domain/models/in_process_executor.tsandsrc/domain/models/execution_envelope.ts - The remote plumbing:
src/domain/remote/protocol.ts,src/domain/remote/remote_dispatch.ts,src/serve/dispatch_service.ts, andserializeFollowUpActionsinsrc/worker/exec_dispatch.ts - The two
followUpActionspassages indesign/enablers/remote-execution.md
To check during triage
- Wire compatibility:
followUpActionsis an optional field on the dispatch result schema, so an orchestrator and worker on different versions must still interoperate once it is gone. - Whether any published extension returns
followUpActionsexpecting it to work. It would already be silently ignored, so removal changes nothing for it at runtime.
02Bog Flow
Shipped
Click a lifecycle step above to view its details.
03Sludge Pulse
Sign in to post a ripple.