Record continuation turn-budget consumption decision

This commit is contained in:
2026-11-13 00:21:34 +00:00
parent bc95d1f9fd
commit ee810b8fbe

View File

@@ -175,9 +175,9 @@ interpret the purpose of that work.
questions without demonstrated shared answers across consumers. Applications questions without demonstrated shared answers across consumers. Applications
can build those workflows from the selected branch-level capabilities. can build those workflows from the selected branch-level capabilities.
**Details to settle:** exact request/stop and outcome types, and turn-budget **Implementation planning:** select exact request/stop and outcome types under
consumption belong to Decision 4. That decision records accepted response Decision 4's accepted response delivery, turn-budget consumption, zero-turn
delivery, zero-turn budgets, cancellation, and minimal error/result semantics. behavior, cancellation, and minimal error/result semantics.
Execution association and usage accounting belong to Decision 5. The sketches Execution association and usage accounting belong to Decision 5. The sketches
below illustrate the selected responsibility split; they do not settle the below illustrate the selected responsibility split; they do not settle the
remaining public contracts. remaining public contracts.
@@ -274,8 +274,7 @@ bookkeeping. Callback model-call association remains part of Decision 5.
### 4. How Are Application Next Actions And Execution Outcomes Represented? ### 4. How Are Application Next Actions And Execution Outcomes Represented?
**Status: response delivery, exhaustion, zero-turn budgets, cancellation, and **Status: accepted; exact public types remain for implementation planning.**
minimal error/result semantics accepted; turn-budget consumption remains open.**
The coordinator uses content-neutral next actions and distinguishes The coordinator uses content-neutral next actions and distinguishes
application-directed completion from exhaustion. application-directed completion from exhaustion.
@@ -315,6 +314,25 @@ The alternative of treating zero as an immediate no-op with no callback is not
selected: it would introduce special behavior and would not distinguish an selected: it would introduce special behavior and would not distinguish an
already-complete interaction from one requesting more work. already-complete interaction from one requesting more work.
**Accepted turn-budget consumption:** at most N additional continuation
executions may be started. The first operational error ends coordination.
Starting a continuation consumes one turn even if preparation or generation
subsequently fails. Callback invocations do not consume turns, and internal
transport retries and structural repairs remain within the same turn. The
starting exchange is outside the additional-turn budget. Requesting a turn
when none remain produces exhaustion without starting an execution.
For example, with a three-turn budget, a preparation failure in the second
continuation returns that error and ends coordination. It does not start a
third continuation or report exhaustion. The budget does not measure provider
calls, work performed inside application callbacks, or cost.
Counting only completed continuations was considered and not selected. Because
operational errors already stop coordination, that alternative would primarily
change bookkeeping. Use the straightforward executions-started interpretation
without introducing public counters, budget refunds, or recovery machinery for
this purpose.
**Accepted cancellation behavior:** check the caller's context immediately **Accepted cancellation behavior:** check the caller's context immediately
before callback invocation, including the initial callback. If cancellation is before callback invocation, including the initial callback. If cancellation is
already observed, do not invoke the callback; return the context error with its already observed, do not invoke the callback; return the context error with its
@@ -382,12 +400,11 @@ use ordinary Go errors. A broader structured termination report was also
considered and not selected: its additional metadata is unnecessary for the considered and not selected: its additional metadata is unnecessary for the
demonstrated minimal contract. demonstrated minimal contract.
**Details to settle:** what consumes an additional-turn budget when preparation **Implementation planning:** select exact types for next actions, outcomes, and
or generation fails. Keep that budget distinct from structural repair and the optional result under these accepted behaviors. Whether a completed run with
transport retry. Exact next-action, outcome, and optional-result types remain failed structural validation produces a reusable exchange remains a Decision 1
implementation planning details. Whether a completed run with failed structural question; the operational-error decision does not reclassify that validation
validation produces a reusable exchange remains a Decision 1 question; the result.
operational-error decision does not reclassify that validation result.
### 5. How Are Related Executions And Usage Accounted For? ### 5. How Are Related Executions And Usage Accounted For?