Adds run_ms (nullable BIGINT, migration 2026-10-30-200000) to Enhance jobs: end event timestamp minus execution_start from ComfyUI /history (None if either is missing or the result is negative). The poller stores it on ready/failed and never overwrites an existing value with null. Every job endpoint returns "run_ms": <number|null>. CLAUDE.md job shape updated.
Tests: parser (success, error, missing start/end, negative), DAO null-no-overwrite, mock-ComfyUI poller storing it on ready, field in single and list job JSON.
Adds `run_ms` (nullable BIGINT, migration 2026-10-30-200000) to Enhance jobs: end event timestamp minus `execution_start` from ComfyUI `/history` (None if either is missing or the result is negative). The poller stores it on ready/failed and never overwrites an existing value with null. Every job endpoint returns `"run_ms": <number|null>`. CLAUDE.md job shape updated.
Tests: parser (success, error, missing start/end, negative), DAO null-no-overwrite, mock-ComfyUI poller storing it on ready, field in single and list job JSON.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Parse execution_start vs the end event from /history, store it when the
poller moves a job to ready/failed (never overwritten with null), and
return it as "run_ms" on every job endpoint.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cameron
merged commit 9191257fbb into master2026-10-30 23:09:34 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds
run_ms(nullable BIGINT, migration 2026-10-30-200000) to Enhance jobs: end event timestamp minusexecution_startfrom ComfyUI/history(None if either is missing or the result is negative). The poller stores it on ready/failed and never overwrites an existing value with null. Every job endpoint returns"run_ms": <number|null>. CLAUDE.md job shape updated.Tests: parser (success, error, missing start/end, negative), DAO null-no-overwrite, mock-ComfyUI poller storing it on ready, field in single and list job JSON.
🤖 Generated with Claude Code