Skip to content

Everyone means every entry of asked-of, and a case runs on its own clock - #31

Merged
dittops merged 1 commit into
masterfrom
a-case-runs-on-its-own-clock
Nov 14, 2026
Merged

dittops merged 1 commit into
masterfrom
a-case-runs-on-its-own-clock

Conversation

@dittops

@dittops dittops commented Nov 13, 2026

Copy link
Copy Markdown
Member

What this is

A correction. Two shared cases for a stage that waits for people, merged in #28, were wrong, and so was PACT's reference workflow runtime. The schema says of answered-by:: "how many of asked-of: must answer". The reference took one answer whatever that line said, and the second case delivered one answer "from" two people, which no runtime could check. Bud Agent Flow, whose engine asks each listed person, refused to build to the cases and was right.

What a runtime must match now

  • Each entry of asked-of: is one answerer: a person, or a team or channel one of whose members answers for it.
  • With everyone (or enough-of-them), all are asked at once and each answers separately. One no is a no at once.
  • An answer that does not count is refused and recorded, changes nothing, and the wait stays open: a second, different answer from somebody who has answered, or one answer naming several people (refused in a workflow case's expect).
  • The same answer handed in again is a resend. It counts once and nothing is refused.
  • The stage's fields are those of the answer that settled the wait: the first no, or the answer that made it enough.
  • steps.<stage>.answered-by lists who answered, in the order their answers arrived.
  • In a case, shown has one entry for each entry of asked-of: that was asked.

Five cases replace the two: 31 workflow cases, 55 cases of replayed runs.

Also

The replay kit ran a case's first leg on the wall clock and its resumes on the case's own clock. It starts at 0 now. No expected result changed.

How it was tested

  • scripts/test-all.sh on this commit: 4,978 tests, 0 failures.
  • mkdocs build --strict: clean.
  • Pinned digests regenerated for the one tree that changed (triaged-defects); the other nine are as they were.

🤖 Generated with Claude Code

@dittops
dittops force-pushed the a-case-runs-on-its-own-clock branch 2 times, most recently from 48d1d99 to 5e708cc Compare November 14, 2026 07:23
Two cases for a waiting stage merged in #28 were wrong, and so was the
reference. `answered-by:` counts the entries of `asked-of:` ("how many of
`asked-of:` must answer"). The reference took one answer whatever it said,
and the second case delivered one answer "from" two people, which nothing
could check. Bud Agent Flow, whose engine asks each entry, refused to build
to them.

- Each entry of asked-of is one answerer: a person, or a team or channel
  one of whose members answers for it. All are asked at once and each
  answers separately; one no is a no at once.
- An answer that does not count is refused and recorded, changes nothing,
  and the wait stays open: a second, different answer from somebody who has
  answered, or one answer naming several people. `refused` in a workflow
  case's expect. The same answer handed in again is a resend: it counts
  once and nothing is refused.
- The stage's fields are those of the answer that settled the wait: the
  first no, or the answer that made it enough.
- `shown` in a case has one entry for each entry of asked-of that was asked.
- Five cases replace the two (31 workflow cases, 55 in all), on two
  workflows, sign-off and sign-off-by-the-team.
- The replay kit ran a case's first leg on the wall clock and its resumes
  on the case's own. It starts at 0 now; no expected result changed.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@dittops
dittops force-pushed the a-case-runs-on-its-own-clock branch from 5e708cc to 4b0ee6b Compare November 14, 2026 09:08
@dittops
dittops merged commit 2234608 into master Nov 14, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants