Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

What Is Not Here Yet

This book describes heph as it is. The design it is built toward is larger, and some of its vocabulary leaks through: config keys that are accepted but unused, roles no tier is asked for, a socket command that only acknowledges. This page lists what those are waiting for, so you are not left looking.

Several conversations

/refs, /switch, /fork <initial prompt>, /new <initial prompt>, and /rename [name] are in place. Generated refs become active and run in the foreground. What remains is running several ref turns in one TUI, forking at an arbitrary earlier turn, archive, and /tree. Conversations are already stored as a parent-linked turn tree, so recorded work is ready for those slices.

Background turns. Running a turn on one conversation while you work on another, with budgets and limits for a turn no one is watching. The [notify] switches background_paused, background_review, background_done, and budget_warning, the paused state, and the bg figure the status bar has room for are all for this.

/search over every conversation, Ctrl-R over your prompts, and /recall. The full-text index is already built as messages are stored; the commands that query it are not.

Context management

A context-state inspector and regeneration command are not built. Pressure compression does fold older finished turns at turn boundaries, preserving the current/recent window and active skills; see Context. /summary shows a separate work cache, not that state document. If the protected window itself cannot fit, shorten the prompt, use /clear, or choose a larger context model. Mid-turn compression is intentionally not used to trade away the model's immediate working evidence.

Opt-in successful command output is built, including original-log recovery and choice-question chat fallback. Chunked clearance of oversized logs is not built: complete evidence must fit the selected decision budget, otherwise ordinary capped output is retained. Native cloud decision adapters and broader decision hooks remain pending.

--quick is meant to cap a turn at one round; today it only selects the quick tier.

Models

Switching models mid-turn (/model), automatic failover to a tier's second provider on a failed request, and the Vertex AI provider. A tier's second models entry is accepted and ignored. The research role has no work yet; summarize generates work summaries and pressure-triggered context state updates. Of the OpenAI-shaped endpoints, heph speaks the Responses API only: the Chat Completions API that most openai-compat providers stop at, Azure's own headers, and Bedrock's bedrock-mantle endpoint are not spoken.

Committing from a prompt

/commit is yours to type after a turn, and publishes to the conversation's own branch. The git_commit tool, which lets the model queue that commit during the turn so "add the feature and commit it" is one prompt, is not built, nor is heph exec --commit for committing without a terminal. Heph does not push: /push and the forge tools for pull requests, issues, and CI are not built, nor is /rebase for bringing a stale branch up to date from inside heph.

Gates

A gate can only fail and hand the failure to the model. The hint key, advice appended to that failure, and the fix key, a command heph runs itself once before asking the model, are designed and not built; a [[gates]] entry that sets either is rejected today.

Editing

The LSP tools (lsp_rename, lsp_references, lsp_symbols, and the rest) and the [review] lsp_edits key that governs them.

Images in the terminal

An attached image reaches the model, and shows in the conversation as a chip. Drawing it, and rendering Mermaid diagrams the model writes, by the Kitty or iTerm2 graphics protocol, is not done; the [ui] keys are read for when it is.

Selecting text with the mouse

Heph takes the mouse so the wheel can scroll the conversation, and that leaves dragging to heph too. Today a drag does nothing; hold Shift while you drag and the terminal selects as it does at the shell. What is coming is heph's own selection: drag to highlight, release to copy through the terminal to your clipboard, with the copy being the text as written rather than the screen's cells, so a command or a code block pastes cleanly. A [ui] clipboard_copy key for terminals that cannot take the copy arrives with it.

Background jobs in tmux

A background job runs as a child of heph, and its output is read through job_status. The design has it run in a tmux window of its own as well, where you can watch a dev server's log scroll; that window is not opened yet.

Security hardening

shell runs with no sandbox. Sensitive content detection, turn tainting, hooks ([[hooks]]), and user-defined tools (.heph/tools/) are the last phase. The permission engine and review are the whole defense today: every command asks, and every fetch to a host outside the allowlist asks. What tainting adds is asking again about a promoted or session-approved host once a turn has read a secret; until then those hosts fetch like any allowlisted one. web_search, which the model provider runs, is not offered; the [network] search_max_uses and search_domains keys parse and wait for it.