Skip to content

Hook-based agent status detection: precise working/waiting/done for all 8 hook-capable agents (Claude, Gemini, Cursor, Copilot, Antigravity, Codex, Hermes, Opencode) + Dynamic Island (UI design only) - #7

Merged
gsvprharsha merged 2 commits into
mainfrom
development
Jul 25, 2026

Conversation

@gsvprharsha

Copy link
Copy Markdown
Collaborator

No description provided.

gsvprharsha and others added 2 commits July 25, 2026 15:33
Agent status hooks (Orca-grade, written from scratch, not forked):
- Rust loopback hook server (tiny_http): token-auth, bounded body, forwards
  raw agent payloads as `agent-hook` events; publishes port/token to
  ~/.tempest/hooks/endpoint.{env,cmd} for restart resilience. Atomic writes.
- Session attribution via TEMPEST_SESSION injected into the existing spawn env
  map (no PTY-infra changes).
- Install engine + Claude Code adapter: merges managed hooks into the agent's
  own config, preserves user hooks, idempotent, rolling .bak; retires the
  fragile CLAUDE_PERMISSION_RE fingerprint.
- Receiver layers hooks over the PTY scraper (hook-authoritative stand-down);
  scraper stays the fallback for hookless agents. Settings toggle (default on).
- Self-check covers merge safety, idempotency, removal, Claude event->state.

Also bundles current WIP: dynamic island toolbar (quota display), worktree
setup/teardown hooks, and quota lib.

See claude-docs/project-status.md for details and remaining phases.

Co-authored-by: Tempest <tempestai.dev@gmail.com>
Replicates Orca's lifecycle-hook detection for every hook-capable agent,
on top of the phase-1 core. Own code, not forked.

- Engine generalized to N scripts + N config-edits (raw-text in/out) so JSON
  merges and Codex's TOML byte-editing share one engine; shared wrappers.ts /
  script.ts / paths.ts; X-Tempest-Event header for event-via-env agents.
- coversWaiting authority flag: agents with no permission hook (Gemini, Cursor,
  Antigravity) keep the PTY attention path while hooks drive working/done.
- Adapters: Gemini, Cursor, Copilot, Antigravity, Codex, Hermes, Opencode.
  Codex reproduces its trusted_hash (pure SHA-256 in codexTrust.ts, verified
  against known vectors) + config.toml trust blocks; degrades to PTY if the hash
  drifts. Hermes generates a Python plugin + enables it in config.yaml. Opencode
  generates an ESM plugin. Event->state maps taken from Orca's normalizers.

tsc + cargo check + node self-check all green. Not yet run against live agents;
per-agent smoke tests listed in claude-docs/project-status.md.

Co-authored-by: Tempest <tempestai.dev@gmail.com>
@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tempest Ready Ready Preview, Comment Jul 25, 2026 10:52am

Request Review

@gsvprharsha
gsvprharsha merged commit f7d6373 into main Jul 25, 2026
4 checks passed
gsvprharsha added a commit that referenced this pull request Aug 9, 2026
…annel

Closes the "how sure are you" and "where FTS can't reach" trust gaps from
atlas-extension-plan.md notes #4, #7, #8.

- Edge confidence tier (EXTRACTED / INFERRED / AMBIGUOUS) persisted on each
  edge (migration v8); populated per resolution strategy — >1 candidate →
  AMBIGUOUS, callback synth / conformance walk → INFERRED, else EXTRACTED.
  Surfaced in atlas_explore blast-radius and atlas_node trail.
- Per-hit SearchResult.channels + Subgraph.nodeChannels — every seed carries
  which channel(s) surfaced it (keyword+vector+grep), shown as [via: …] tags.
- Third seed channel: ripgrep, fused via RRF for literal-token targets FTS
  can't index (JSX text, className, string literals). Gated to avoid noise:
  identifier-heavy queries skip rg; the FTS-confidence gate blocks rg when
  FTS already corroborates; multi-term co-occurrence filters single-word
  noise; node-based divergence check prevents same-node re-shuffles.
  Session-level LRU cache + code-file type filter keep the median-path cost
  net negative (-2.5% total time in A/B).

Co-authored-by: Tempest <tempestai.dev@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant