main · last commit
13 days ago ·
7g0stsfu
ah-xuc.11 e2e: Stage 2 flows — webhook poke, Triage bounce, skills, publish, watchdog, Telegram
Past Stand
bd reopen ah-xuc.11
| Created by | Eugene Blikh |
| Owner | bigbes@gmail.com |
| Created | 2026-07-13T05:16:24Z |
| Started | 2026-07-13T07:53:57Z |
| Updated | 2026-07-13T08:38:17Z |
| Closed | 2026-07-13T08:38:17Z |
Extend the e2e harness (build tag e2e, fake vikunja plus stub pi/zellij, stub-honesty rules from commit b3ee57d). Fake vikunja gains labels on tasks and the nine-bucket board. - webhook poke: long poll_interval, POST a correctly signed payload to /webhooks/vikunja, assert the claim happens promptly (poke, not poll); a bad signature does nothing. - Triage bounce: a Ready task with broken frontmatter lands in Triage with the diagnostic comment and no record or run row. - skills: a task whose spec names skills (fixture SKILL.md dirs under a temp skills_dir) — the stub pi records argv; assert the --skill absolute paths and the retained --no-skills. - publish: repo review_remote points at a local bare repository; after a successful run the In Review comment carries the review link and the bare repo has the agent/task-N ref at the expected commit. - watchdog: stub pi hangs without touching events.jsonl; with a short stall_timeout the run is killed and the card lands in Failed with a stalled comment. - telegram: telegram.api_base points at a fake httptest Bot API; assert sendMessage calls for the in_review and stalled paths, and that the token appears only in the request path, never in daemon logs.
go test -tags e2e ./e2e/... green and hermetic (loopback only); each flow asserted through externally observable surfaces — board moves, comments, bare repo refs, fake TG requests — not daemon internals
Nothing depends on this issue.
ah-xuc.10
— cmd/agenthubd: wire webhook secret and Telegram notifier
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.11 |
| content_hash | b6a041aecb730cbf5ad794b8bba2833ccb247eeb242441fa1b256c4a6130e930 |
| title | e2e: Stage 2 flows — webhook poke, Triage bounce, skills, publish, watchdog, Telegram |
| description | Extend the e2e harness (build tag e2e, fake vikunja plus stub pi/zellij, stub-honesty rules from commit b3ee57d). Fake vikunja gains labels on tasks and the nine-bucket board. - webhook poke: long poll_interval, POST a correctly signed payload to /webhooks/vikunja, assert the claim happens promptly (poke, not poll); a bad signature does nothing. - Triage bounce: a Ready task with broken frontmatter lands in Triage with the diagnostic comment and no record or run row. - skills: a task whose spec names skills (fixture SKILL.md dirs under a temp skills_dir) — the stub pi records argv; assert the --skill absolute paths and the retained --no-skills. - publish: repo review_remote points at a local bare repository; after a successful run the In Review comment carries the review link and the bare repo has the agent/task-N ref at the expected commit. - watchdog: stub pi hangs without touching events.jsonl; with a short stall_timeout the run is killed and the card lands in Failed with a stalled comment. - telegram: telegram.api_base points at a fake httptest Bot API; assert sendMessage calls for the in_review and stalled paths, and that the token appears only in the request path, never in daemon logs. |
| design | |
| acceptance_criteria | go test -tags e2e ./e2e/... green and hermetic (loopback only); each flow asserted through externally observable surfaces — board moves, comments, bare repo refs, fake TG requests — not daemon internals |
| notes | |
| status | closed |
| priority | 2 |
| issue_type | task |
| assignee | Eugene Blikh |
| estimated_minutes | NULL |
| created_at | 2026-07-13T05:16:24Z |
| created_by | Eugene Blikh |
| owner | bigbes@gmail.com |
| updated_at | 2026-07-13T08:38:17Z |
| closed_at | 2026-07-13T08:38:17Z |
| 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 | 8e29554; reviewer merge-ready with zero findings — stub honesty, hermeticity, timing discipline, full-argv equality all verified; 3-run flake probe: all six Stage 2 flows green in all runs (the one flake found is pre-existing Stage 1, filed as ah-wka) |
| 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:53:57Z |
| is_blocked | 0 |
| 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 | c444dec4-d3cd-580b-a8b6-a8d8ebc2d660 |
| issue_id | ah-xuc.11 |
| type | parent-child |
| created_at | 2026-07-13T08:16:24Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | ah-xuc |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 019f59e7-b0fa-7b42-87c0-1df483fca5c1 |
| issue_id | ah-xuc.11 |
| event_type | created |
| actor | Eugene Blikh |
| old_value | |
| new_value | |
| comment | NULL |
| created_at | 2026-07-13T08:16:24Z |
| id | 019f5a77-ec60-723a-8ec1-0e38dce8d631 |
| issue_id | ah-xuc.11 |
| event_type | claimed |
| actor | Eugene Blikh |
| old_value | {"id":"ah-xuc.11","title":"e2e: Stage 2 flows — webhook poke, Triage bounce, skills, publish, watchdog, Telegram","description":"Extend the e2e harness (build tag e2e, fake vikunja plus stub pi/zellij, stub-honesty rules from commit b3ee57d). Fake vikunja gains labels on tasks and the nine-bucket board.\n\n- webhook poke: long poll_interval, POST a correctly signed payload to /webhooks/vikunja, assert the claim happens promptly (poke, not poll); a bad signature does nothing.\n- Triage bounce: a Ready task with broken frontmatter lands in Triage with the diagnostic comment and no record or run row.\n- skills: a task whose spec names skills (fixture SKILL.md dirs under a temp skills_dir) — the stub pi records argv; assert the --skill absolute paths and the retained --no-skills.\n- publish: repo review_remote points at a local bare repository; after a successful run the In Review comment carries the review link and the bare repo has the agent/task-N ref at the expected commit.\n- watchdog: stub pi hangs without touching events.jsonl; with a short stall_timeout the run is killed and the card lands in Failed with a stalled comment.\n- telegram: telegram.api_base points at a fake httptest Bot API; assert sendMessage calls for the in_review and stalled paths, and that the token appears only in the request path, never in daemon logs.","acceptance_criteria":"go test -tags e2e ./e2e/... green and hermetic (loopback only); each flow asserted through externally observable surfaces — board moves, comments, bare repo refs, fake TG requests — not daemon internals","status":"open","priority":2,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-13T05:16:24Z","created_by":"Eugene Blikh","updated_at":"2026-07-13T05:16:24Z"} |
| new_value | {"assignee":"Eugene Blikh","status":"in_progress"} |
| comment | NULL |
| created_at | 2026-07-13T10:53:56Z |
| id | 019f5aa0-82d6-775e-bb66-67329b52a4be |
| issue_id | ah-xuc.11 |
| event_type | closed |
| actor | Eugene Blikh |
| old_value | |
| new_value | 8e29554; reviewer merge-ready with zero findings — stub honesty, hermeticity, timing discipline, full-argv equality all verified; 3-run flake probe: all six Stage 2 flows green in all runs (the one flake found is pre-existing Stage 1, filed as ah-wka) |
| comment | NULL |
| created_at | 2026-07-13T11:38:16Z |
| id | 019f7cda-934f-7075-b5ce-aec34ce319ff |
| issue_id | ah-xuc.11 |
| 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-0e27-7510-8b69-9846f7cd7598 |
| issue_id | ah-xuc.11 |
| 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:24Z |
No comments.
Close reason