Merged
Conversation
Legacy cron job rows may store next_run_at without timezone info. _ensure_aware() previously stamped the Hermes-configured tz directly via replace(tzinfo=...), which shifts absolute time when system-local tz differs from Hermes tz — causing overdue jobs to appear not due. Now: naive datetimes are interpreted as system-local wall time first, then converted to Hermes tz. Aware datetimes are normalized to Hermes tz for consistency. Cherry-picked from PR #807, rebased onto current main. Fixes #806 Co-authored-by: 0xNyk <0xNyk@users.noreply.github.com>
Three new tests for the naive timestamp fix (PR #807): - test_ensure_aware_naive_preserves_absolute_time: verifies UTC equivalent is preserved when interpreting naive datetimes as system-local time - test_ensure_aware_normalizes_aware_to_hermes_tz: verifies already-aware datetimes are normalized to Hermes tz without shifting the instant - test_ensure_aware_due_job_not_skipped_when_system_ahead: end-to-end regression test for the original bug scenario
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two features in one PR
1. fix(cron): handle naive legacy timestamps in due-job checks
Cherry-picked from PR #807 by @0xNyk with 3 additional regression tests.
2. feat: ACP (Agent Client Protocol) server for editor integration
Based on PR #837 by @teknium1, with complete implementation of the prompt flow.
ACP Implementation (~1200 lines)
Adds full ACP support, enabling hermes-agent to work as a coding agent inside VS Code, Zed, JetBrains IDEs, and any ACP-compatible editor.
User Flow
Architecture (
acp_adapter/)server.pysession.pyevents.pytools.pypermissions.pyauth.pyentry.pyKey Features
Also includes
jupyter-live-kernelskill for data science workflowsacp_registry/with agent.json for editor auto-discoverydocs/acp-setup.mdsetup guide (VS Code, Zed, JetBrains)hermes acpCLI subcommandWhat was fixed from the original PR #837
Tests
Fixes #806
Closes #807
Closes #837
Co-authored-by: 0xNyk 0xNyk@users.noreply.github.com