Skip to content

Rework 0.5.0: harden runtime and contracts - #2

Merged
Endogen merged 2 commits into
mainfrom
codex/rework-0.5.0
Sep 21, 2026
Merged

Endogen merged 2 commits into
mainfrom
codex/rework-0.5.0

Conversation

@Endogen

@Endogen Endogen commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Summary

Web2API 0.5.0 hardening rework (originally codex/rework-0.5.0), plus a CI fix.

Runtime hardening

  • Centralized outbound-network SSRF guard (network_security.py) for both browser (Playwright route interception) and httpx requests, with WEB2API_ALLOW_PRIVATE_NETWORK escape hatch.
  • BaseScraper.requires_browser so pure-HTTP/CLI scrapers skip the browser pool.
  • Typed endpoint parameters (type/enum/minimum/maximum/pattern/min_length/max_length) with validation + coercion.
  • Separate admin token (WEB2API_ADMIN_TOKEN) and 403 gate for recipe-management endpoints.
  • MCP server DNS-rebinding protection (configurable hosts/origins).

Reliability & ops

  • Atomic, 0600-permissioned manifest writes and atomic recipe install with rollback.
  • Upload limits (WEB2API_MAX_UPLOAD_FILES/WEB2API_MAX_UPLOAD_BYTES, streamed), accepts_files gating, q max length.
  • Trust now fails closed (entry_is_trusted).
  • Docker image de-bloated (drop nodejs/npm/bird, migrate to uv), added .dockerignore.
  • Version bump to 0.5.0.

CI

  • Fix uv sync to install the dev extra (--extra dev), so ruff/pytest are available.

Depends on companion recipes PR for the 0.5.0 recipe contracts.

@Endogen
Endogen merged commit 0880845 into main Sep 21, 2026
4 checks passed
@Endogen
Endogen deleted the codex/rework-0.5.0 branch September 21, 2026 22:43
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