Skip to content

fix: runtime refresh and qoder hook output format - #40

Merged
zheng-weihao merged 1 commit into
orbcli:mainfrom
zheng-weihao:fix/runtime-refresh-and-qoder-hooks
Aug 15, 2026
Merged

fix: runtime refresh and qoder hook output format#40
zheng-weihao merged 1 commit into
orbcli:mainfrom
zheng-weihao:fix/runtime-refresh-and-qoder-hooks

Conversation

@zheng-weihao

Copy link
Copy Markdown
Member

What changed

  • install_cli: a plain install now always refreshes the installed runtime (the existence skip is dropped); the copy is atomic (mktemp + mv).
  • qoder SessionStart hooks route through new hooks/qoder/session-*.sh wrappers that re-encode the shared scripts' stdout as hookSpecificOutput.additionalContext JSON (with the required hookEventName), per Qoder's hook output contract; hooks/qoder/hooks.json repointed. One registration serves both Qoder entry points (CLI and IDE).
  • The shared hooks/session-*.sh now read only CLAUDE_PROJECT_DIR; QODER_PROJECT_DIR is mapped onto it by the qoder wrapper — host-native env knowledge stays in host wrappers.
  • Tests: runtime refresh case; qoder wrapper JSON shape / escaping / silent no-op / env mapping (28); hooks.json wiring resolution for every agent (29); anchor contract rework (26); install_cli chain updates (23).
  • Docs: spec-hooks (per-host stdout contract, routing + file tables), skills/CONSTRAINTS.md, CHANGELOG; Makefile lint now covers hooks subdirectories.

Checklist

  • shellcheck orbit.sh install.sh passes (make lint covers all hook scripts)
  • bats tests/ passes (396/396)
  • New features include tests
  • Documentation updated (if user-facing behavior changed)

- 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>
@zheng-weihao
zheng-weihao merged commit 4fa8dfc into orbcli:main Aug 15, 2026
2 checks passed
@zheng-weihao
zheng-weihao deleted the fix/runtime-refresh-and-qoder-hooks branch August 24, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant