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
/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.