Skip to content

docs: state the operatorHandle hook-ordering contract - #110

Merged
vvillait88 merged 1 commit into
mainfrom
operator-handle-ordering-docs
Aug 18, 2026
Merged

docs: state the operatorHandle hook-ordering contract#110
vvillait88 merged 1 commit into
mainfrom
operator-handle-ordering-docs

Conversation

@vvillait88

Copy link
Copy Markdown
Contributor

Summary

The gate that populates ctx.operatorHandle runs AFTER preValidate, so the field is readable from computePricing onward and always undefined inside preValidate. A preValidate read compiles, passes every keyless-dev test, and zero-settles every production request whose flow keys on it; a live store shipped exactly that (caught by its first real settle, fixed store-side). The contract now lives on the field's JSDoc, where the mistake gets made, plus the CLAUDE.md operator-handle section. Worked with Varun.

Type of change

  • Bug fix (no breaking change)
  • New feature (no breaking change)
  • Breaking change (existing callers must update)
  • Docs, tests, or internal maintenance only

Public API

None; comment/doc text only.

Test plan

Docs-only; bun run typecheck and lint pass locally. No behavior to test.

Checklist

  • Tests cover the new behavior, and the suite passes locally
  • Lint, format, and type checks pass
  • Docs and README examples updated if the public surface changed
  • No secrets, credentials, or personal data in the diff or the tests

The gate that populates ctx.operatorHandle runs AFTER preValidate, so
the field is readable from computePricing onward and always undefined
inside preValidate. A preValidate read compiles, passes every
keyless-dev test, and zero-settles every production request whose flow
keys on it; a live store shipped exactly that, so the contract now
lives on the field's JSDoc where the mistake gets made.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vvillait88
vvillait88 merged commit e8078bb into main Aug 18, 2026
6 checks passed
@vvillait88
vvillait88 deleted the operator-handle-ordering-docs branch August 18, 2026 21:21
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.

1 participant