You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Path confinement: morph_edit resolves requested paths against the OpenCode worktree/directory context and rejects out-of-root targets before file access.
No-network execute coverage: Production executeMorphEdit() is dependency-injected and directly tested for missing API key, readonly blocks, marker refusals, unsafe Morph output, and successful write/diff flow.
Secret-safe failure classification: Morph API failures return stable non-secret failure kinds and scrub API keys/Bearer tokens from returned error text.
Fixed
Import preservation guard: Declaration-level import comparison now covers TypeScript type-only imports, combined default+named imports, and CommonJS destructuring aliases as local bindings.
Bun lockfile policy: bun.lock is tracked, npm lockfile state is removed, and CI/release install steps use bun ci.
No-marker small-file guard gap: Marker-less edits on small files now run the truncation and marker-leakage guards before writing — catastrophic shrink and merged-in marker text are blocked instead of silently written. No-marker full replacements are validated against the provided code_edit rather than the original file.
Abort timeout classification: A request abort during response body parsing is now classified as api_timeout instead of api_parse_error.
Changed
README: Fixed stale version pin (v1.8.2 → v1.9.0) in installation examples.
README: Expanded Safety guards section to document dropped imports guard, path confinement, and secret scrubbing behavior.
README: Added Bun lockfile policy note to Contributing section.