Repository navigation
Release 0.2.0: turn-policy, prompt bridge, foreground-default rescue contract - #1
Conversation
- Setup reports workspace, Node, soft Kimi compat, and nextSteps for frontend handoff - Standardized [kimi-plugin] errors with Fix lists; media paths resolve against workspace - Happy-path docs and stronger frontend/video triggers for /kimi:rescue - Bump to 0.1.2; add errors/workspace unit tests
…ct, foreground-default rescue Bridge core alignment with kimi-plugin-codex 0.2.0: - lib/turn-policy.mjs: Mode A empty retry + Mode B incomplete continue (shared) - lib/prompt.mjs + KIMI_BRIDGE_HANDOFF: optional bridge notes (default off) - lib/acceptance.mjs: outcome classification helpers - lib/render.mjs: phase/progress/resume-hint + empty+continue notes - lib/acp-client.mjs: Mode A 2x fresh retry + 1x same-session recovery; Mode B continue - lib/workspace.mjs: export HOST_CWD_ENV (fixes workspace test env drift) - kimi-companion.mjs: PHASE/progress/bridge flags; setupNextSteps host-specific Rescue contract (aligns with openai/codex-plugin-cc PR #214): - Foreground is the default for ALL UI (inner task call must always run foreground) - --background demoted to explicit-user-detach only; parent owns polling - Host-timeout contract: ~14s kill / Exit 124 / empty stdout != Mode A - Re-dispatch: timeout_ms:86400000 tool field, never --background as workaround Entry parity: plan/goal/task/sessions commands (explicit-only where applicable) Tests: turn-policy, prompt, host-free-attack, workspace (62/62 pass)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e60c15a735
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const local = path.join(LIB, "turn-policy.mjs"); | ||
| const sibling = path.join(SIBLING_LIB, "turn-policy.mjs"); | ||
| assert.ok(fs.existsSync(local), "local turn-policy"); | ||
| assert.ok(fs.existsSync(sibling), "sibling turn-policy (monorepo layout)"); |
There was a problem hiding this comment.
Avoid requiring a sibling repo in npm test
In a standalone checkout of this repo, these new attack tests make the committed npm test fail because /workspace/kimi-plugin-codex is not present; I ran npm test and the three “attack (b)” cases fail on the sibling existence/read assertions. Since this package is a public standalone repo and the release instructions require npm test after a bump, the test suite should either skip/soft-gate the isomorphism check when the sibling repo is absent or move it out of the default test script.
AGENTS.md reference: AGENTS.md:L32-L32
Useful? React with 👍 / 👎.
…ecked out The (b) attack tests sha256-compare lib files against the sibling kimi-plugin-codex checkout (monorepo layout). In CI's single-repo checkout the sibling is absent, causing 3 failures. Guard with HAS_SIBLING -> test skip with reason instead of hard fail.
Summary
0.2.0 release. Bridge core alignment with
kimi-plugin-codex0.2.0, plus a rescue contract fix based on theopenai/codex-plugin-ccprecedent (PR #214 + #325).Changes
Bridge core (shared with kimi-plugin-codex)
lib/turn-policy.mjs(new): Mode A empty retry + Mode B incomplete continuelib/prompt.mjs(new): optionalKIMI_BRIDGE_HANDOFFbridge notes (default off)lib/acceptance.mjs(new): outcome classification helperslib/render.mjs: phase/progress/resume-hint + empty+continue noteslib/acp-client.mjs: Mode A 2× fresh retry + 1× same-session recovery; Mode B continuelib/workspace.mjs: exportHOST_CWD_ENV(fixes workspace test env-key drift)kimi-companion.mjs: PHASE/progress/bridge flags; setupNextSteps host-specificRescue contract (foreground-default)
Aligns with
openai/codex-plugin-ccPR #214: inner task call must always run in foreground.--backgrounddemoted to explicit-user-detach only; parent owns pollingtimeout_ms: 86400000tool field, never--backgroundas workaroundEntry parity
plan/goal/task/sessionscommands (explicit-only where applicable)Tests
turn-policy,prompt,host-free-attackworkspace(env-key drift via sharedHOST_CWD_ENV)Test plan
node --test tests/*.test.mjs→ 62/62node scripts/validate-plugin.mjs→ claude --strict + grok validate OK🤖 Generated with ZCode