Planned breaking changes

September 10, 2026 ยท View on GitHub

Leftover fields and params that still work, and that a later change will remove. This is not a changelog and not a soak runbook. Architecture docs and code describe current behavior; this list is the tracker so agents do not treat these leftovers as identity.

When an item is safe to drop, follow cleanup after migrations: remove it in the same change, or open a Cleanup: issue if a gate remains.

kody_id / kody.id

Package identity is package.json name (@scope/leaf) or the saved-package UUID package_id โ€” one or the other, never both required. Prefer the scoped name when you know it. Use package_id only when the name is not known, or for a stable ref. The leaf after / is the URL slug.

kody_id (MCP / DB / URLs) and authored package.json#kody.id still work. Create and resolve accept a leaf or a matching @scope/leaf. They are leftover identity names. A future breaking change will remove the authored field, the public MCP param, and (separately) rename the saved_packages.kody_id column.

Prefer the scoped name in docs, capability blurbs, and new callers. Mention package_id only as the fallback. Do not teach kody_id / kody.id as first-class identity.

Ready when: agent transcripts and create/resolve traffic no longer need the leftover param (Sentry KODY-7M and similar scoped-name-as-kody_id collisions stay quiet), and a dedicated removal PR can drop the field without a fleet codemod.

Introduced as leftover by: the change that documents identity as scoped name or package_id while leaving the leftover param in the runtime contract.