Skip to content

Clarify gateway and middleware timeout settings - #34

Merged
johnnygreco merged 5 commits into
mainfrom
johnny/timeout-settings-clarity
Aug 7, 2026
Merged

Clarify gateway and middleware timeout settings#34
johnnygreco merged 5 commits into
mainfrom
johnny/timeout-settings-clarity

Conversation

@johnnygreco

Copy link
Copy Markdown
Collaborator

Summary

  • rename the service-level setting to timeout_middleware_processing
  • represent the gateway registration limit as timeout_gateway_ceiling
  • replace --timeout-seconds with concise duration-based --timeout values such as 10s and 500ms
  • show the gateway ceiling in registration output and include the middleware timeout in startup logs
  • update examples, architecture, operations, limits documentation, and tests

Why

The previous naming made the gateway's maximum allowed timeout easy to confuse
with the middleware's actual processing timeout. This change makes the two
settings explicit while keeping the CLI concise:

effective timeout = min(timeout_gateway_ceiling, timeout_middleware_processing)

The registration command writes a 30s gateway ceiling, so any supported
serve --timeout value is effective unless an operator lowers the gateway
ceiling.

No protobuf or generated binding files are changed.

Validation

  • make check — 268 tests passed on the isolated commit
  • python3 tests/test_render_dev_notes.py
  • scripts/build-docs.sh

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Documentation preview

The preview has been removed.

@johnnygreco

Copy link
Copy Markdown
Collaborator Author

Panel review notes

Result: clean after two review rounds.

Reviewed target:

origin/main da6f31d1d89a7c2d0dfba8504c7132dadffd7e8b
  ...
johnny/timeout-settings-clarity 6fbcb36813b209dd30518fc9ed436f58ff3f7183

Reproduce with:

git diff da6f31d1d89a7c2d0dfba8504c7132dadffd7e8b...6fbcb36813b209dd30518fc9ed436f58ff3f7183 -- projects/egress-gate

Three independent reviewers covered:

  • runtime correctness, timeout ownership, API contracts, and integration behavior
  • maintainability and complexity discipline, with an explicit no-overengineering ceiling
  • CLI usability, documentation consistency, and test coverage

Accepted findings fixed:

  • Removing the CLI-managed registration now clears only its matching remembered state, so the documented add → remove → serve lifecycle works.
  • CLI-managed gateway timeouts must be greater than 10ms, guaranteeing room for a valid internal processing timeout.

Rejected low-severity suggestions:

  • Removing Pydantic duration validation would contradict the explicit shared-validation requirement.
  • Extra fractional-millisecond handling for extremely large durations was outside this research-tool scope.

Validation:

  • make check — 277 tests passed, plus formatting, lint, typing, build, import, and dependency audit checks
  • python3 tests/test_render_dev_notes.py — 11 tests passed
  • scripts/build-docs.sh — strict build and post-build tests passed
  • generated operations page returned HTTP 200
  • all GitHub checks passed

The second panel pass reported no remaining accepted findings.

@johnnygreco
johnnygreco marked this pull request as ready for review August 7, 2026 16:26
@johnnygreco
johnnygreco merged commit d3f6bbc into main Aug 7, 2026
9 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.

1 participant