fix: runtime refresh and qoder hook output format - #40
Merged
zheng-weihao merged 1 commit intoAug 15, 2026
Merged
Conversation
- install_cli: always refresh the installed runtime on plain install (drop the existence skip); copy atomically via mktemp + mv - qoder hooks: route SessionStart through hooks/qoder/session-*.sh wrappers that emit hookSpecificOutput.additionalContext JSON (hookEventName included), per Qoder's stdout contract; hooks.json repointed - shared session scripts read only CLAUDE_PROJECT_DIR; QODER_PROJECT_DIR is mapped onto it by the qoder wrapper (host-native env stays in host wrappers) - tests: runtime refresh, qoder wrapper JSON shape/escaping/no-op/env mapping, anchor contract rework, hooks.json wiring resolution - docs: spec-hooks (per-host output contract + routing), CONSTRAINTS, CHANGELOG; Makefile lint covers hooks subdirectories Signed-off-by: Zheng Weihao <zheng-weihao@outlook.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.
What changed
install_cli: a plain install now always refreshes the installed runtime (the existence skip is dropped); the copy is atomic (mktemp + mv).hooks/qoder/session-*.shwrappers that re-encode the shared scripts' stdout ashookSpecificOutput.additionalContextJSON (with the requiredhookEventName), per Qoder's hook output contract;hooks/qoder/hooks.jsonrepointed. One registration serves both Qoder entry points (CLI and IDE).hooks/session-*.shnow read onlyCLAUDE_PROJECT_DIR;QODER_PROJECT_DIRis mapped onto it by the qoder wrapper — host-native env knowledge stays in host wrappers.Checklist
shellcheck orbit.sh install.shpasses (make lintcovers all hook scripts)bats tests/passes (396/396)