Repository navigation
korvid v0.6.0
Why upgrade
- The Keybinding editor lets you inspect and remap app actions from the TUI.
Ctrl-Popens the Action Palette: search results show each action's
effective key, and explain when an action does not apply instead of hiding
it. - Namespace shortcuts provide configurable, single-key namespace switching.
- Deployment operation outcomes separate API acceptance from bounded
convergence observation. The Deployment operation result screen retains the
observed result.
These features complete the v0.6.0 work tracked by
milestone 8.
Breaking changes and migration
The configuration format is unchanged from v0.5.0, but keybinding validation
is stricter: global priority actions cannot use printable-key overrides
(for example, interrupt_agent: Z). At startup, korvid skips rejected
overrides, warns and restores the affected actions' default keys. Replace
affected overrides with an available Ctrl/Alt combination or function key.
Namespace settings continue to work. Review the
keybinding guide
before assigning a shortcut, and see the
namespace shortcut guide
for configuration examples and reserved-key behavior.
Keybinding reset and namespace-slot repack update independently persisted
state. Reset changes only keybinding overrides. Repack changes saved
per-cluster namespace slots only after explicit confirmation; neither operation
rewrites the other state.
Provider connection tests now refuse responses over 4,096 characters or
streams without an explicit provider completion signal. If a self-hosted
gateway or proxy makes the connection test fail, follow the
self-hosted endpoint troubleshooting guide.
Reliability and safety
- Keybinding conflicts and reserved keys are rejected before settings are
persisted. - Namespace shortcuts are validated against the active context. Help (
?)
and the namespace picker show the current slot mappings. - Deployment rollout monitoring reports success, failure, timeout,
cancellation, or a correlation error explicitly.
The safety perimeter is unchanged. Agent investigation remains read-only.
Agent writes remain structured tools with no shell. The resolved policy arms
only exact registry tool names, import-time metadata validates dispatch, and
ToolExecutor rejects an unknown tool. It performs typed argument validation
before every dispatch. Every write opens an approval dialog, requires a fresh
approval keystroke, and revalidates the exact target UID. Results still pass
through masking, and audit logging remains fail-closed.
Install or upgrade
Install with uv:
uv tool install 'korvid[all]==0.6.0'Reinstall the exact version with uv or pipx when upgrading:
uv tool install --force 'korvid[all]==0.6.0'
pipx install --force 'korvid[all]==0.6.0'Verify
After the maintainer publishes the
GitHub release,
download its artifacts, verify both attestations, and check the wheel against
the checksum manifest:
set -eu
gh release download v0.6.0 --dir dist/v0.6.0 --repo hellices/korvid
gh attestation verify dist/v0.6.0/korvid-0.6.0-py3-none-any.whl --repo hellices/korvid
gh attestation verify dist/v0.6.0/SHA256SUMS --repo hellices/korvid
(cd dist/v0.6.0 && shasum --algorithm 256 --check SHA256SUMS)
uvx --from 'korvid[all]==0.6.0' korvid --versionThe final command must report korvid 0.6.0.
Known limits
- Keybindings are app-action remaps; they do not add arbitrary command macros.
- Namespace shortcuts use the reserved digits
1through9; unavailable namespaces
retain their slots until a confirmed repack. - The outcome screen retains at most three results, and active observation is
bounded to roughly five minutes; missing required convergence evidence
cannot establish success. Partial Pod/ReplicaSet evidence does not prevent
authoritative Deployment status from proving convergence: a completed result
with a partial-evidence warning is possible. - The agent does not autonomously write. A user must choose and approve each
write through the existing approval dialog. - This source candidate does not itself publish PyPI, GitHub, or Homebrew
artifacts. Use the verification steps after the maintainer publishes the
release.