~bigbes/agents-dev · parade

main · last commit 13 days ago · 7g0stsfu

← Back to the parade

ah-efe.3 SPEC sections 1/4/11: external-services table, repo layout tree, HTTP surface sweep Past Stand

status: closed P4 chore milestone:v0.1.0milestone:v0.2.0
bd reopen ah-efe.3
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-07-19T23:38:15Z
Started2026-08-04T23:39:08Z
Updated2026-08-04T23:50:04Z
Closed2026-08-04T23:50:04Z
Description
Low-priority staleness bundle: section 1 services table omits ntfy/Prism and Yonote; section 4 layout tree omits internal/mem0, ctxpack, yonote, deps; section 11 (and the httpapi package doc-comment) lists only healthz/run-exit/status/webhook, missing the three Stage-4 /api/tool/* routes. One sweep commit. SPEC-gap audit 2026-07-20.
Notes
Concrete §11 defects found during the §12 refresh (ah-efe.2), to fold into this bead's work:
- The §11 heading says 'Stages 1-2' but internal/httpapi now also serves the Stage 4 tools surface.
- The endpoint list omits POST /api/tool/task-create, POST /api/tool/ask-user and GET /api/tool/answer entirely. Document that they are BEARER-authenticated (unlike /api/v1/status, which stays unauthenticated and loopback-trusted) and that they are registered only when Deps.Tools is wired — i.e. only when tools_api is on.
Nothing contradicting §12 was found in §5/§6 (ah-efe.1); §5 principle 5 ('Agent-facing tools are CLI-over-HTTP (Stage 4)') is consistent with the delivered surface. §9 and §14 defects were split into ah-efe.5.

Depends on

  • ah-efe — Docs: SPEC refresh to Stage 3-4 + Yonote reality parent-child closed

Depended on by

Nothing depends on this issue.

No comments.

Close reason

Done in 119b84d. §1's services table omitted the ntfy/Prism gateway and Yonote, and described AgentsView's auth as 'pg push from client side' without saying the daemon never calls it. The table now has eight rows ordered by stage, distinguishes Telegram's token-in-URL from ntfy's token-in-header (the §15 redaction distinction), marks Yonote as a BOT token at 1.47.1, and a new paragraph states that only Vikunja is mandatory, that telegram/ntfy are the mutually exclusive notifier options, and that AgentsView receives NOTHING from agenthubd — the daemon only renders <base_url>/sessions/<machine>~pi:<id> links. §4's tree was missing internal/mem0, internal/ctxpack, internal/yonote and internal/deps, still showed cmd/ahub/main.go alone, and omitted skills/; all added, with a new paragraph explaining that mem0/ctxpack/yonote are deliberately NOT ports (pure renderer; optional single-consumer clients consumed via local interfaces in reconcile), and the dependency note corrected to include go.bigb.es/auxilia and testify while confirming Stages 2-4 added no new external dependency. §11's heading claimed 'Stages 1-2' and its list stopped at four routes; it now covers all seven, documents POST /api/tool/task-create, POST /api/tool/ask-user and GET /api/tool/answer with their real bodies and status codes, states that all three are BEARER-authenticated with the per-task token (constant-time compare, uniform 401 that echoes nothing) while GET /api/v1/status stays unauthenticated and loopback-trusted, and that they register only when Deps.Tools is wired — i.e. only when tools_api is on, the same gate shape as webhook_secret. The endpoint list was swept against the real mux.HandleFunc registrations; no other route exists. Also fixed §3's binaries table, which still described ahub tool as a future subcommand, and folded in ah-1qq's new status version field. UNVERIFIED, left alone: §1 lists sourcehut as git@git.srht.bigb.es while §12's example review_remote is git@srht.bigb.es:~bigbes/demo-repo — one of the two is wrong and it needs an operator to say which.
  • Eugene Blikh added under epic ah-efe · 2026-07-20T02:38:14Z
  • Eugene Blikh created the issue · 2026-07-20T02:38:14Z
  • Eugene Blikh added label milestone:spec-refresh · 2026-07-20T03:08:20Z
  • Eugene Blikh removed label milestone:spec-refresh · 2026-07-20T03:10:18Z
  • Eugene Blikh added label milestone:v0.1.0 · 2026-07-20T03:11:24Z
  • Eugene Blikh removed label milestone:v0.1.0 · 2026-07-20T03:13:48Z
  • Eugene Blikh added label milestone:v0.2.0 · 2026-07-20T03:13:48Z
  • Eugene Blikh updated notes to Concrete §11 defects found during the §12 refresh (ah-efe.2), to fold into this bead's work: - The §11 heading says 'Stages 1-2' but internal/httpapi now also serves the Stage 4 tools surface. - The endpoint list omits POST /api/tool/task-create, POST /api/tool/ask-user and GET /api/tool/answer entirely. Document that they are BEARER-authenticated (unlike /api/v1/status, which stays unauthenticated and loopback-trusted) and that they are registered only when Deps.Tools is wired — i.e. only when tools_api is on. Nothing contradicting §12 was found in §5/§6 (ah-efe.1); §5 principle 5 ('Agent-facing tools are CLI-over-HTTP (Stage 4)') is consistent with the delivered surface. §9 and §14 defects were split into ah-efe.5. · 2026-08-05T02:38:32Z
  • Eugene Blikh changed status to in_progress · 2026-08-05T02:39:08Z
  • Eugene Blikh closed the issue · 2026-08-05T02:50:03Z
    Done in 119b84d. §1's services table omitted the ntfy/Prism gateway and Yonote, and described AgentsView's auth as 'pg push from client side' without saying the daemon never calls it. The table now has eight rows ordered by stage, distinguishes Telegram's token-in-URL from ntfy's token-in-header (the §15 redaction distinction), marks Yonote as a BOT token at 1.47.1, and a new paragraph states that only Vikunja is mandatory, that telegram/ntfy are the mutually exclusive notifier options, and that AgentsView receives NOTHING from agenthubd — the daemon only renders <base_url>/sessions/<machine>~pi:<id> links. §4's tree was missing internal/mem0, internal/ctxpack, internal/yonote and internal/deps, still showed cmd/ahub/main.go alone, and omitted skills/; all added, with a new paragraph explaining that mem0/ctxpack/yonote are deliberately NOT ports (pure renderer; optional single-consumer clients consumed via local interfaces in reconcile), and the dependency note corrected to include go.bigb.es/auxilia and testify while confirming Stages 2-4 added no new external dependency. §11's heading claimed 'Stages 1-2' and its list stopped at four routes; it now covers all seven, documents POST /api/tool/task-create, POST /api/tool/ask-user and GET /api/tool/answer with their real bodies and status codes, states that all three are BEARER-authenticated with the per-task token (constant-time compare, uniform 401 that echoes nothing) while GET /api/v1/status stays unauthenticated and loopback-trusted, and that they register only when Deps.Tools is wired — i.e. only when tools_api is on, the same gate shape as webhook_secret. The endpoint list was swept against the real mux.HandleFunc registrations; no other route exists. Also fixed §3's binaries table, which still described ahub tool as a future subcommand, and folded in ah-1qq's new status version field. UNVERIFIED, left alone: §1 lists sourcehut as git@git.srht.bigb.es while §12's example review_remote is git@srht.bigb.es:~bigbes/demo-repo — one of the two is wrong and it needs an operator to say which.
  • Eugene Blikh added label milestone:v0.1.0 · 2026-08-05T03:10:41Z
Stored rows — what this pane was built from, as read
issues 1 row
id ah-efe.3
content_hash 63b0d2b6e60ab09dddf7f4c58bb8e06ab9fd1fd7f80ce807c8f484e29595c40f
title SPEC sections 1/4/11: external-services table, repo layout tree, HTTP surface sweep
description Low-priority staleness bundle: section 1 services table omits ntfy/Prism and Yonote; section 4 layout tree omits internal/mem0, ctxpack, yonote, deps; section 11 (and the httpapi package doc-comment) lists only healthz/run-exit/status/webhook, missing the three Stage-4 /api/tool/* routes. One sweep commit. SPEC-gap audit 2026-07-20.
design
acceptance_criteria
notes Concrete §11 defects found during the §12 refresh (ah-efe.2), to fold into this bead's work: - The §11 heading says 'Stages 1-2' but internal/httpapi now also serves the Stage 4 tools surface. - The endpoint list omits POST /api/tool/task-create, POST /api/tool/ask-user and GET /api/tool/answer entirely. Document that they are BEARER-authenticated (unlike /api/v1/status, which stays unauthenticated and loopback-trusted) and that they are registered only when Deps.Tools is wired — i.e. only when tools_api is on. Nothing contradicting §12 was found in §5/§6 (ah-efe.1); §5 principle 5 ('Agent-facing tools are CLI-over-HTTP (Stage 4)') is consistent with the delivered surface. §9 and §14 defects were split into ah-efe.5.
status closed
priority 4
issue_type chore
assignee NULL
estimated_minutes NULL
created_at 2026-07-19T23:38:15Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-04T23:50:04Z
closed_at 2026-08-04T23:50:04Z
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 Done in 119b84d. §1's services table omitted the ntfy/Prism gateway and Yonote, and described AgentsView's auth as 'pg push from client side' without saying the daemon never calls it. The table now has eight rows ordered by stage, distinguishes Telegram's token-in-URL from ntfy's token-in-header (the §15 redaction distinction), marks Yonote as a BOT token at 1.47.1, and a new paragraph states that only Vikunja is mandatory, that telegram/ntfy are the mutually exclusive notifier options, and that AgentsView receives NOTHING from agenthubd — the daemon only renders <base_url>/sessions/<machine>~pi:<id> links. §4's tree was missing internal/mem0, internal/ctxpack, internal/yonote and internal/deps, still showed cmd/ahub/main.go alone, and omitted skills/; all added, with a new paragraph explaining that mem0/ctxpack/yonote are deliberately NOT ports (pure renderer; optional single-consumer clients consumed via local interfaces in reconcile), and the dependency note corrected to include go.bigb.es/auxilia and testify while confirming Stages 2-4 added no new external dependency. §11's heading claimed 'Stages 1-2' and its list stopped at four routes; it now covers all seven, documents POST /api/tool/task-create, POST /api/tool/ask-user and GET /api/tool/answer with their real bodies and status codes, states that all three are BEARER-authenticated with the per-task token (constant-time compare, uniform 401 that echoes nothing) while GET /api/v1/status stays unauthenticated and loopback-trusted, and that they register only when Deps.Tools is wired — i.e. only when tools_api is on, the same gate shape as webhook_secret. The endpoint list was swept against the real mux.HandleFunc registrations; no other route exists. Also fixed §3's binaries table, which still described ahub tool as a future subcommand, and folded in ah-1qq's new status version field. UNVERIFIED, left alone: §1 lists sourcehut as git@git.srht.bigb.es while §12's example review_remote is git@srht.bigb.es:~bigbes/demo-repo — one of the two is wrong and it needs an operator to say which.
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-08-04T23:39:08Z
is_blocked 0
labels 2 rows
issue_id ah-efe.3
label milestone:v0.1.0
issue_id ah-efe.3
label milestone:v0.2.0
dependencies 1 row
id ffe3b485-0ade-5a4f-9faa-7f3a3ed015c5
issue_id ah-efe.3
type parent-child
created_at 2026-07-20T02:38:14Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id ah-efe
depends_on_wisp_id NULL
depends_on_external NULL
events 10 rows
id 019f7cbe-9d66-7cd5-94ab-739eb7335c50
issue_id ah-efe.3
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-07-20T02:38:14Z
id 019f7cda-2c42-7455-8022-7fdf15105a54
issue_id ah-efe.3
event_type label_added
actor Eugene Blikh
old_value NULL
new_value NULL
comment Added label: milestone:spec-refresh
created_at 2026-07-20T03:08:20Z
id 019f7cdb-f72c-7975-ad61-9d184af6382d
issue_id ah-efe.3
event_type label_removed
actor Eugene Blikh
old_value NULL
new_value NULL
comment Removed label: milestone:spec-refresh
created_at 2026-07-20T03:10:18Z
id 019f7cdc-faee-7ee4-8cb8-461e756117f5
issue_id ah-efe.3
event_type label_added
actor Eugene Blikh
old_value NULL
new_value NULL
comment Added label: milestone:v0.1.0
created_at 2026-07-20T03:11:24Z
id 019f7cdf-2a61-759d-8e5f-c3da502f569f
issue_id ah-efe.3
event_type label_removed
actor Eugene Blikh
old_value NULL
new_value NULL
comment Removed label: milestone:v0.1.0
created_at 2026-07-20T03:13:48Z
id 019f7cdf-2b64-79fe-a6ad-150fda769b7c
issue_id ah-efe.3
event_type label_added
actor Eugene Blikh
old_value NULL
new_value NULL
comment Added label: milestone:v0.2.0
created_at 2026-07-20T03:13:48Z
id 019fcf24-a127-7991-9b28-c95c292977ed
issue_id ah-efe.3
event_type updated
actor Eugene Blikh
old_value {"id":"ah-efe.3","title":"SPEC sections 1/4/11: external-services table, repo layout tree, HTTP surface sweep","description":"Low-priority staleness bundle: section 1 services table omits ntfy/Prism and Yonote; section 4 layout tree omits internal/mem0, ctxpack, yonote, deps; section 11 (and the httpapi package doc-comment) lists only healthz/run-exit/status/webhook, missing the three Stage-4 /api/tool/* routes. One sweep commit. SPEC-gap audit 2026-07-20.","status":"open","priority":4,"issue_type":"chore","owner":"bigbes@gmail.com","created_at":"2026-07-19T23:38:15Z","created_by":"Eugene Blikh","updated_at":"2026-07-19T23:38:15Z","labels":["milestone:v0.2.0"]}
new_value {"notes":"Concrete §11 defects found during the §12 refresh (ah-efe.2), to fold into this bead's work:\n- The §11 heading says 'Stages 1-2' but internal/httpapi now also serves the Stage 4 tools surface.\n- The endpoint list omits POST /api/tool/task-create, POST /api/tool/ask-user and GET /api/tool/answer entirely. Document that they are BEARER-authenticated (unlike /api/v1/status, which stays unauthenticated and loopback-trusted) and that they are registered only when Deps.Tools is wired — i.e. only when tools_api is on.\nNothing contradicting §12 was found in §5/§6 (ah-efe.1); §5 principle 5 ('Agent-facing tools are CLI-over-HTTP (Stage 4)') is consistent with the delivered surface. §9 and §14 defects were split into ah-efe.5."}
comment NULL
created_at 2026-08-05T02:38:32Z
id 019fcf25-2dff-7da8-8087-d57e47b09629
issue_id ah-efe.3
event_type status_changed
actor Eugene Blikh
old_value {"id":"ah-efe.3","title":"SPEC sections 1/4/11: external-services table, repo layout tree, HTTP surface sweep","description":"Low-priority staleness bundle: section 1 services table omits ntfy/Prism and Yonote; section 4 layout tree omits internal/mem0, ctxpack, yonote, deps; section 11 (and the httpapi package doc-comment) lists only healthz/run-exit/status/webhook, missing the three Stage-4 /api/tool/* routes. One sweep commit. SPEC-gap audit 2026-07-20.","notes":"Concrete §11 defects found during the §12 refresh (ah-efe.2), to fold into this bead's work:\n- The §11 heading says 'Stages 1-2' but internal/httpapi now also serves the Stage 4 tools surface.\n- The endpoint list omits POST /api/tool/task-create, POST /api/tool/ask-user and GET /api/tool/answer entirely. Document that they are BEARER-authenticated (unlike /api/v1/status, which stays unauthenticated and loopback-trusted) and that they are registered only when Deps.Tools is wired — i.e. only when tools_api is on.\nNothing contradicting §12 was found in §5/§6 (ah-efe.1); §5 principle 5 ('Agent-facing tools are CLI-over-HTTP (Stage 4)') is consistent with the delivered surface. §9 and §14 defects were split into ah-efe.5.","status":"open","priority":4,"issue_type":"chore","owner":"bigbes@gmail.com","created_at":"2026-07-19T23:38:15Z","created_by":"Eugene Blikh","updated_at":"2026-08-04T23:38:32Z","labels":["milestone:v0.2.0"]}
new_value {"status":"in_progress"}
comment NULL
created_at 2026-08-05T02:39:08Z
id 019fcf2f-2e24-7599-9d36-9454c1236a47
issue_id ah-efe.3
event_type closed
actor Eugene Blikh
old_value
new_value Done in 119b84d. §1's services table omitted the ntfy/Prism gateway and Yonote, and described AgentsView's auth as 'pg push from client side' without saying the daemon never calls it. The table now has eight rows ordered by stage, distinguishes Telegram's token-in-URL from ntfy's token-in-header (the §15 redaction distinction), marks Yonote as a BOT token at 1.47.1, and a new paragraph states that only Vikunja is mandatory, that telegram/ntfy are the mutually exclusive notifier options, and that AgentsView receives NOTHING from agenthubd — the daemon only renders <base_url>/sessions/<machine>~pi:<id> links. §4's tree was missing internal/mem0, internal/ctxpack, internal/yonote and internal/deps, still showed cmd/ahub/main.go alone, and omitted skills/; all added, with a new paragraph explaining that mem0/ctxpack/yonote are deliberately NOT ports (pure renderer; optional single-consumer clients consumed via local interfaces in reconcile), and the dependency note corrected to include go.bigb.es/auxilia and testify while confirming Stages 2-4 added no new external dependency. §11's heading claimed 'Stages 1-2' and its list stopped at four routes; it now covers all seven, documents POST /api/tool/task-create, POST /api/tool/ask-user and GET /api/tool/answer with their real bodies and status codes, states that all three are BEARER-authenticated with the per-task token (constant-time compare, uniform 401 that echoes nothing) while GET /api/v1/status stays unauthenticated and loopback-trusted, and that they register only when Deps.Tools is wired — i.e. only when tools_api is on, the same gate shape as webhook_secret. The endpoint list was swept against the real mux.HandleFunc registrations; no other route exists. Also fixed §3's binaries table, which still described ahub tool as a future subcommand, and folded in ah-1qq's new status version field. UNVERIFIED, left alone: §1 lists sourcehut as git@git.srht.bigb.es while §12's example review_remote is git@srht.bigb.es:~bigbes/demo-repo — one of the two is wrong and it needs an operator to say which.
comment NULL
created_at 2026-08-05T02:50:03Z
id 019fcf42-13a6-7d23-9744-35c798d71011
issue_id ah-efe.3
event_type label_added
actor Eugene Blikh
old_value NULL
new_value NULL
comment Added label: milestone:v0.1.0
created_at 2026-08-05T03:10:41Z