main · last commit
13 days ago ·
7g0stsfu
ah-xuc.10 cmd/agenthubd: wire webhook secret and Telegram notifier
Past Stand
bd reopen ah-xuc.10
| Created by | Eugene Blikh |
| Owner | bigbes@gmail.com |
| Created | 2026-07-13T05:16:18Z |
| Started | 2026-07-13T07:35:21Z |
| Updated | 2026-07-13T07:53:56Z |
| Closed | 2026-07-13T07:53:56Z |
Wiring only. agenthubd run(): construct internal/telegram when the config block is present, otherwise keep the existing slog no-op notifier; pass the notifier into reconcile.Deps; pass the webhook secret and a hook invoking Reconciler.Poke into httpapi.Deps. internal/deps updated if that is the wiring point. Startup board preflight: with nine required buckets the existing adapter title lookup already fails fatal with the found-titles list when the Triage/Blocked/Question columns are missing on the board — verify that failure stays readable at startup. ahub needs no changes (validate-config picks up the new keys through the config package).
go build ./cmd/... green; go test ./cmd/... green including a run() smoke asserting the webhook route responds when the secret is set and is absent when unset, and that the telegram notifier is selected when configured; go vet clean
Coordinator refinement: also wire the runner as ports.Publisher into reconcile.Deps.
ah-xuc
— Stage 2: webhooks, Task Spec, full buckets, Telegram, srht push, watchdog
parent-child
closed
ah-xuc.6
— telegram: ports.Notifier implementation (Bot API through HTTPS_PROXY)
blocks
closed
ah-xuc.9
— reconcile: publish review branch, watchdog on stale events, Telegram notifications
blocks
closed
ah-xuc.7
— httpapi: Vikunja webhook receiver with HMAC verification
blocks
closed
ah-xuc
— Stage 2: webhooks, Task Spec, full buckets, Telegram, srht push, watchdog
parent-child
closed
ah-xuc.6
— telegram: ports.Notifier implementation (Bot API through HTTPS_PROXY)
blocks
closed
ah-xuc.1
— Stage 2 foundation: domain buckets/outcome, ports contracts, config surface
blocks
closed
ah-xuc.9
— reconcile: publish review branch, watchdog on stale events, Telegram notifications
blocks
closed
ah-xuc.8
— reconcile: spec-driven claim, Triage bounce, parked buckets, per-run timeout
blocks
closed
ah-xuc.2
— internal/spec: Task Spec frontmatter parse, type-label defaults, validation
blocks
closed
ah-xuc.3
— vikunja: fetch task labels into BoardTask.Labels
blocks
closed
ah-xuc.4
— store: migration v2 — per-run timeout column
blocks
closed
ah-xuc.7
— httpapi: Vikunja webhook receiver with HMAC verification
blocks
closed
| id | ah-xuc.10 |
| content_hash | 93e494bccda4f59baacc19a0e3b326af7c363fd21532a445b37b51577c6c63e9 |
| title | cmd/agenthubd: wire webhook secret and Telegram notifier |
| description | Wiring only. agenthubd run(): construct internal/telegram when the config block is present, otherwise keep the existing slog no-op notifier; pass the notifier into reconcile.Deps; pass the webhook secret and a hook invoking Reconciler.Poke into httpapi.Deps. internal/deps updated if that is the wiring point. Startup board preflight: with nine required buckets the existing adapter title lookup already fails fatal with the found-titles list when the Triage/Blocked/Question columns are missing on the board — verify that failure stays readable at startup. ahub needs no changes (validate-config picks up the new keys through the config package). |
| design | |
| acceptance_criteria | go build ./cmd/... green; go test ./cmd/... green including a run() smoke asserting the webhook route responds when the secret is set and is absent when unset, and that the telegram notifier is selected when configured; go vet clean |
| notes | Coordinator refinement: also wire the runner as ports.Publisher into reconcile.Deps. |
| status | closed |
| priority | 2 |
| issue_type | task |
| assignee | Eugene Blikh |
| estimated_minutes | NULL |
| created_at | 2026-07-13T05:16:18Z |
| created_by | Eugene Blikh |
| owner | bigbes@gmail.com |
| updated_at | 2026-07-13T07:53:56Z |
| closed_at | 2026-07-13T07:53:56Z |
| closed_by_session | |
| external_ref | NULL |
| spec_id | |
| compaction_level | 0 |
| compacted_at | NULL |
| compacted_at_commit | NULL |
| original_size | NULL |
| sender | |
| ephemeral | 0 |
| wisp_type | |
| pinned | 0 |
| is_template | 0 |
| mol_type | |
| work_type | |
| source_system | |
| metadata | �{} |
| source_repo | |
| close_reason | 95560cc; reviewer merge-ready (single wiring path, nil-safe, pointer-identity tested); validator all-pass incl. first live daemon runs — readable fatal preflight, telegram deferred past preflight with no I/O |
| event_kind | |
| actor | |
| target | |
| payload | |
| await_type | |
| await_id | |
| timeout_ns | 0 |
| waiters | |
| hook_bead | |
| role_bead | |
| agent_state | |
| last_activity | NULL |
| role_type | |
| rig | |
| due_at | NULL |
| defer_until | NULL |
| no_history | 0 |
| started_at | 2026-07-13T07:35:21Z |
| is_blocked | 0 |
| id | 12e9e9c8-2748-58a3-ba44-9ca7ef884ac7 |
| issue_id | ah-xuc.10 |
| type | parent-child |
| created_at | 2026-07-13T08:16:17Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-xuc |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 477dacab-3262-5023-97b2-38698acf27c5 |
| issue_id | ah-xuc.11 |
| type | blocks |
| created_at | 2026-07-13T08:16:54Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-xuc.10 |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | b2da041d-2b3a-5954-b4be-65e7440fcdb1 |
| issue_id | ah-xuc.10 |
| type | blocks |
| created_at | 2026-07-13T08:16:53Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-xuc.6 |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | bfe7a6ef-2ee8-5c89-8083-819af5d086ff |
| issue_id | ah-xuc.12 |
| type | blocks |
| created_at | 2026-07-13T08:16:55Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-xuc.10 |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | dc36e825-0149-5e11-aac4-d2d8f03dd64c |
| issue_id | ah-xuc.10 |
| type | blocks |
| created_at | 2026-07-13T08:16:53Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-xuc.9 |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | f115477d-4fe6-54ee-a5a1-fee946cd310f |
| issue_id | ah-xuc.10 |
| type | blocks |
| created_at | 2026-07-13T08:16:54Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-xuc.7 |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 019f59e7-9843-7a48-9f86-42ee8b5ebbed |
| issue_id | ah-xuc.10 |
| event_type | created |
| actor | Eugene Blikh |
| old_value | |
| new_value | |
| comment | NULL |
| created_at | 2026-07-13T08:16:17Z |
| id | 019f59ea-4279-72e2-a7a4-20b39d8f862b |
| issue_id | ah-xuc.10 |
| event_type | updated |
| actor | Eugene Blikh |
| old_value | {"id":"ah-xuc.10","title":"cmd/agenthubd: wire webhook secret and Telegram notifier","description":"Wiring only. agenthubd run(): construct internal/telegram when the config block is present, otherwise keep the existing slog no-op notifier; pass the notifier into reconcile.Deps; pass the webhook secret and a hook invoking Reconciler.Poke into httpapi.Deps. internal/deps updated if that is the wiring point. Startup board preflight: with nine required buckets the existing adapter title lookup already fails fatal with the found-titles list when the Triage/Blocked/Question columns are missing on the board — verify that failure stays readable at startup. ahub needs no changes (validate-config picks up the new keys through the config package).","acceptance_criteria":"go build ./cmd/... green; go test ./cmd/... green including a run() smoke asserting the webhook route responds when the secret is set and is absent when unset, and that the telegram notifier is selected when configured; go vet clean","status":"open","priority":2,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-13T05:16:18Z","created_by":"Eugene Blikh","updated_at":"2026-07-13T05:16:18Z"} |
| new_value | {"notes":"Coordinator refinement: also wire the runner as ports.Publisher into reconcile.Deps."} |
| comment | NULL |
| created_at | 2026-07-13T08:19:12Z |
| id | 019f5a66-e579-77c8-8ab7-2ad404997ef9 |
| issue_id | ah-xuc.10 |
| event_type | claimed |
| actor | Eugene Blikh |
| old_value | {"id":"ah-xuc.10","title":"cmd/agenthubd: wire webhook secret and Telegram notifier","description":"Wiring only. agenthubd run(): construct internal/telegram when the config block is present, otherwise keep the existing slog no-op notifier; pass the notifier into reconcile.Deps; pass the webhook secret and a hook invoking Reconciler.Poke into httpapi.Deps. internal/deps updated if that is the wiring point. Startup board preflight: with nine required buckets the existing adapter title lookup already fails fatal with the found-titles list when the Triage/Blocked/Question columns are missing on the board — verify that failure stays readable at startup. ahub needs no changes (validate-config picks up the new keys through the config package).","acceptance_criteria":"go build ./cmd/... green; go test ./cmd/... green including a run() smoke asserting the webhook route responds when the secret is set and is absent when unset, and that the telegram notifier is selected when configured; go vet clean","notes":"Coordinator refinement: also wire the runner as ports.Publisher into reconcile.Deps.","status":"open","priority":2,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-13T05:16:18Z","created_by":"Eugene Blikh","updated_at":"2026-07-13T05:19:13Z"} |
| new_value | {"assignee":"Eugene Blikh","status":"in_progress"} |
| comment | NULL |
| created_at | 2026-07-13T10:35:20Z |
| id | 019f5a77-ea50-7f13-a0b5-e3448f3c3739 |
| issue_id | ah-xuc.10 |
| event_type | closed |
| actor | Eugene Blikh |
| old_value | |
| new_value | 95560cc; reviewer merge-ready (single wiring path, nil-safe, pointer-identity tested); validator all-pass incl. first live daemon runs — readable fatal preflight, telegram deferred past preflight with no I/O |
| comment | NULL |
| created_at | 2026-07-13T10:53:56Z |
| id | 019f7cda-934f-7883-a914-0cb25dd93793 |
| issue_id | ah-xuc.10 |
| event_type | label_added |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Added label: milestone:stage-2 |
| created_at | 2026-07-20T03:08:47Z |
| id | 019f7cdc-0d28-7478-894a-e54db2120e51 |
| issue_id | ah-xuc.10 |
| event_type | label_removed |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Removed label: milestone:stage-2 |
| created_at | 2026-07-20T03:10:23Z |
No comments.
Close reason