Skip to content

feat(taskflow): expose step ID and version on task views; document steps (8/8) - #244

Draft
lokewate wants to merge 3 commits into
feat/taskflow-guarded-writes-6-completionfrom
feat/taskflow-guarded-writes-7-view-and-docs
Draft

lokewate wants to merge 3 commits into
feat/taskflow-guarded-writes-6-completionfrom
feat/taskflow-guarded-writes-7-view-and-docs

Conversation

@lokewate

@lokewate lokewate commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Top of the stack: exposes step ID/version on task views, documents the new Step/Seq/guarded-write model end to end, and adds a real-Temporal e2e test. Merging through here is what actually ships the fix.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Other (please describe):

Changes Made

  • TaskView/ZoneView gain read-only StepID and Version (= Seq) fields for callers that want to display or poll on the current step.
  • New real-Temporal end-to-end test driving a task through two full steps.
  • Rewrite of taskflow/docs/architecture.md, integration-guide.md, frontend-guide.md, taskflow/README.md, root README.md, plugin-author-guide.md, template-reference.md for the Step/Seq/guarded-write model, including a note on why the engine calls this identity ActivationID while TaskManager calls it a Step (see refactor(workflow,taskflow)!: rename TaskDone to CompleteStep, TaskType to PluginType, and SubTask* to Step* (1/8) #237). workflow/README.md is untouched — it never described this mechanism.
  • Shortens the ErrStaleStep comment for clarity.

Testing

  • I have tested this change locally
  • I have added tests that prove my fix is effective or that my feature works
  • I have tested edge cases
  • All existing tests pass

Full go test -race ./... across the whole chain; e2e test gated behind TEMPORAL_TEST_ADDRESS like PR5's.

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have checked that there are no merge conflicts

Related Issues

N/A

Screenshots/Demo

N/A

Additional Notes

Step 8 of 8 (final) in the taskflow-guarded-writes stack — see #237 for why this stack exists. Base: feat/taskflow-guarded-writes-6-completion.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Sep 28, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lokewate lokewate changed the title feat(taskflow): expose step ID and version on task views; document steps feat(taskflow): expose step ID and version on task views; document steps (8/8) Sep 28, 2026
@lokewate
lokewate added this pull request to stack #245 September 28, 2026 07:05
@lokewate
lokewate force-pushed the feat/taskflow-guarded-writes-7-view-and-docs branch from 2b5e596 to 0c7c9ac Compare September 28, 2026 08:15
@lokewate
lokewate force-pushed the feat/taskflow-guarded-writes-7-view-and-docs branch from 0c7c9ac to 7043442 Compare September 28, 2026 08:33
@lokewate
lokewate force-pushed the feat/taskflow-guarded-writes-7-view-and-docs branch from 7043442 to 469fcf1 Compare September 28, 2026 08:35
@lokewate
lokewate force-pushed the feat/taskflow-guarded-writes-7-view-and-docs branch from 469fcf1 to 543a4b4 Compare September 28, 2026 09:01
@lokewate
lokewate force-pushed the feat/taskflow-guarded-writes-7-view-and-docs branch from 543a4b4 to 384990e Compare September 28, 2026 09:28
The task view and the list now carry step_id, the step the task is on,
and version, the row's seq. A client sends step_id back when it acts, so
an action on a view the task has since moved past is rejected as stale,
and uses version to keep the newest of several views it fetched. version
is read-only and never accepted as input. A view has no actions while the
task is ADVANCING.

Rewrite the architecture, integration and frontend docs and the README
for the model the previous PRs introduced: steps and seq, the four
guarded writes and their 0-rows contract, the step-addressed wake-up, the
callback token, the completion order, the ADVANCING state, and the schema
columns a host table needs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Opt-in via TEMPORAL_TEST_ADDRESS. Runs the TaskManager against a real
task workflow with two user-input steps and checks that a submission for
an unknown or earlier step is rejected without touching the row, that
each step advances the seq, and that the end of the workflow marks the
task completed at the next seq and wakes the parent exactly once with
the parent's step ID.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@lokewate
lokewate force-pushed the feat/taskflow-guarded-writes-7-view-and-docs branch from 384990e to 83508db Compare September 28, 2026 09:37

@ginaxu1 ginaxu1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine

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