Derive heartbeat cadence from the shared coordination frame
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a13eab-1e6a-7b33-9c37-372e90ada3a2
This commit is contained in:
parent
db850aded5
commit
a786b061da
9 changed files with 98 additions and 27 deletions
|
|
@ -9,6 +9,7 @@ from typing import Any, Callable
|
|||
from urllib.error import HTTPError, URLError
|
||||
from urllib.request import Request, urlopen
|
||||
|
||||
from .coordination import FRAME_SECONDS
|
||||
from .store import Engine
|
||||
|
||||
|
||||
|
|
@ -91,7 +92,7 @@ class OutboxWorker:
|
|||
engine: Engine,
|
||||
sink: Callable[[dict[str, Any]], None],
|
||||
*,
|
||||
heartbeat_interval_seconds: int = 300,
|
||||
heartbeat_interval_seconds: int = FRAME_SECONDS,
|
||||
) -> None:
|
||||
self.engine = engine
|
||||
self.sink = sink
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ from wsgiref.simple_server import make_server
|
|||
|
||||
from .api import App
|
||||
from .audit import AuditCoreSink, OutboxWorker
|
||||
from .coordination import FRAME_SECONDS
|
||||
from .auth import Identity, JWTAuthenticator, StaticTokenAuthenticator
|
||||
from .store import Engine
|
||||
|
||||
|
|
@ -45,7 +46,7 @@ def _parser() -> argparse.ArgumentParser:
|
|||
serve.add_argument("--audit-url")
|
||||
serve.add_argument("--audit-token-file")
|
||||
serve.add_argument("--outbox-poll-seconds", type=float, default=5)
|
||||
serve.add_argument("--heartbeat-seconds", type=int, default=86400)
|
||||
serve.add_argument("--heartbeat-seconds", type=int, default=FRAME_SECONDS)
|
||||
migrate = sub.add_parser("migrate", help="apply repeatable schema migrations")
|
||||
_common_db(migrate)
|
||||
verify = sub.add_parser("verify", help="verify schema and SQLite integrity")
|
||||
|
|
|
|||
6
approval_engine/coordination.py
Normal file
6
approval_engine/coordination.py
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
"""Generated cadence timings; regenerate with NetKingdom coordination-frame tool."""
|
||||
# Source: coordination-engine/config/coordination-frame.json
|
||||
FRAME_CONFIG_SHA256 = "d15e092387f128ffdfd00b9815707a05ff77c5bb0ba4d9a428fbc37b8c440b67"
|
||||
FRAME_SECONDS = 3600
|
||||
RECEIVER_WAIT_SECONDS = 7200
|
||||
EFFECTIVE_DEADLINE_SECONDS = 10800
|
||||
Loading…
Add table
Add a link
Reference in a new issue