chahinebrini f0c7be25f4 feat(agenthub): TSK-0118 — Ask primitive for autonomous decision-routing
- New Ask entity (ASK-####): schema + counter + paths(EntityType 'asks') +
  events(AgentHubEventType 'ask') + fsWatch(WATCHED + toEvent). Generic entities
  table, no migration.
- askService: createAsk routes to config.roles.architect.preferredAgent, NEVER
  the CEO (a to='ceo' is rerouted); answerAsk / escalateAsk (escalatedTo='ceo',
  single channel) / getAsk / listAsks. Authority-policy JSDoc.
- Asks kept OUT of FTS5: Index.upsert gains a { fts?: boolean } option; askService
  upserts with fts:false, so 'memory search' never returns asks.
- routes: POST/GET /asks, GET /asks/:id, POST /asks/:id/{answer,escalate}, each
  emitChange type:'ask'.
- CLI 'ask <q> --from [--task][--wait][--timeout]' (SSE reconnect wait until
  status!=pending) + ask list/answer/escalate; remoteClient ask methods.
- MCP agenthub_ask (wait via waitForTask, now woken by 'ask' events) +
  agenthub_ask_list/answer/escalate; agenthub_work architect branch surfaces
  pending asks ({reviews,asks,messages}).
- Unattended mode (invocation flag): work.ts ctx + CLI 'work --unattended' +
  agenthub_work schema + LOOP reminder ('call agenthub_ask instead of pausing').
- tests: +askService.test.ts (routing/answer/escalate/list/FTS-exclusion),
  +ask-wait.test.ts (routes roundtrip + SSE wait: answer resolves, no-answer
  times out cleanly)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 01:19:42 +02:00
2026-06-24 23:24:57 +02:00
2026-06-24 23:24:57 +02:00

AgentHub

Local coordination layer for AI coding agents.

Install

AgentHub is not yet published to npm. Clone the repository, build it, and link it globally:

git clone https://git.rebreak.org/chahine/agenthub.git
cd agenthub
pnpm install
pnpm build
npm link

After npm link, the agenthub command is available everywhere.

Quick Start

agenthub init
agenthub task create --title "Implement DNS cache" --role implementer
agenthub handoff create --fromRole architect --toRole implementer
agenthub status --update

Supported Agents

  • Claude Code
  • Codex CLI
  • Kimi Code CLI

Network Mode

AgentHub can expose a project to other machines on the same network. Discovery is automatic: as soon as the host broadcasts, a client can find it without knowing the IP address.

On the host machine (e.g. Mac):

cd my-project
agenthub init
agenthub server start --host 0.0.0.0 --port 3377

On another machine (e.g. Windows) run init and accept the discovered server:

cd my-project
agenthub init          # asks to connect to the LAN server it found
agenthub task create --title "Windows task" --role implementer
agenthub status

For non-interactive setup, let init discover the server automatically:

agenthub init --server auto

After init, every command automatically talks to the configured server. You can still override it per command with --server http://<ip>:3377 or via the AGENTHUB_SERVER environment variable.

The init --server step only stores the server URL locally; it does not create a second project. The host machine keeps the single source of truth.

License

MIT

Description
No description provided
Readme 1.7 MiB
Languages
TypeScript 99%
PowerShell 1%