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
Conversation
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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.