Skip to content

halvorai-ingest 0.2.0: validate before signing, env-aware endpoint, per-event results - #5

Merged
hedge-waleed merged 1 commit into
mainfrom
fix/e2e-2026-10-21
Oct 22, 2026
Merged

hedge-waleed merged 1 commit into
mainfrom
fix/e2e-2026-10-21

Conversation

@hedge-waleed

Copy link
Copy Markdown
Contributor

Requested by Waleed · project thread

Closes #1, closes #2, closes #3.

halvorai-ingest 0.2.0 (unreleased), built from the monorepo with pnpm ingest:publish:py (hedge-waleed/halvorai-app#30):

  • emit validates every event against APE v0.1 after redaction, like the Node.js SDK. An invalid event is dropped, counted in stats().dropped_invalid and reported through on_error with the problems found. It used to be signed and sent.
  • The default endpoint follows the key: hk_test_ keys go to the sandbox, hk_live_ to production (it was always production). endpoint is a base URL like the Node.js SDK; a full /v1/events URL still works. HALVOR_API_KEY, HALVOR_SOURCE_KEY and HALVOR_ENDPOINT are read from the environment.
  • Delivery counts each event by the status the API returned (accepted, duplicates, rejected) and reports each rejected event with its serverCode; events not sent for lack of a key count as dropped_disabled.
  • tests/test_client.py is strict-mypy clean.

Checked locally: uv run --extra dev pytest 27 passed, mypy --strict . clean, uv build builds the wheel and sdist.

Not merged and not published to PyPI (owner step).

🤖 Generated with Claude Code

…er-event results

Fixes #1, #2 and #3.

- emit validates every event against APE v0.1 (after redaction, as the
  Node.js SDK does); an invalid event is dropped, counted in
  stats().dropped_invalid and reported through on_error with the problems.
  It used to be signed and sent.
- The default endpoint follows the key: hk_test_ keys go to the sandbox,
  hk_live_ keys to production. endpoint is a base URL like the Node.js SDK
  (a full /v1/events URL still works); HALVOR_API_KEY, HALVOR_SOURCE_KEY
  and HALVOR_ENDPOINT are read from the environment.
- Delivery counts each event by its API status (accepted, duplicates,
  rejected) and reports each rejected event with its serverCode; events
  not sent for lack of a key count as dropped_disabled.

Built from the monorepo with publish:build; not yet published to PyPI.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@hedge-waleed hedge-waleed self-assigned this Oct 21, 2026
@hedge-waleed
hedge-waleed merged commit 0ab5c45 into main Oct 22, 2026
1 check passed
@hedge-waleed
hedge-waleed deleted the fix/e2e-2026-10-21 branch October 27, 2026 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant