Skip to main content

neo-immutability-and-versioning

Explains NeoHaskell's DEPLOYED-CODE IMMUTABILITY model and how to change a frozen domain file: the .locked-files manifest, how neo lock and the neo build pre-build gate freeze every file under Commands/ Events/ Queries/, and the exact V-BUMP rule (change Foo.hs by creating a byte-new sibling FooV2.hs whose type is FooV2, leaving the original untouched), plus add-only entity evolution (entities are never locked/versioned). Use whenever you need to change, fix, rename, or delete a command, event payload, or query; when neo build or a git commit fails with a lock violation ('Build refused: N locked file(s) violate the lock'); or when tempted to edit a file under Commands/Events/Queries — even without the words 'lock' or 'versioning'. Do NOT use to write the V2 file's decide/wire it (implement- command / wire-feature), to add a field to an entity record (expand-entity), or for the neo lock SUBCOMMAND flag reference (neo-cli).

Jump to install

Source facts

Repository
neohaskell/skills
Last source activity
July 1, 2026 at 22:02
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.