Repository navigation
Releases: romiluz13/mifal
Release list
Mifal 0.2.2
A small release: when an agent's rules file is a symbolic link, the installer now says so and says how to go on.
- If a rules file such as
~/.codex/AGENTS.mdis a symbolic link, for example in a dotfiles setup,./install.shandmifal updatestill stop and write nothing, as before. The message used to say "is not a file" and suggest--overwrite-edits, which refuses the same way. It now names the link and where it points, and gives the two ways out: replace the link with a regular file, or wire only the other agents with--harness(the install prints the exact names). A folder in that place is called a folder.--overwrite-editsis suggested only for the conflicts it can fix. docs/INSTALL.mdhas a line on symbolic-link rules files.- Also in this release: README and docs/INSTALL.md say exactly what the installer does about Herdr, and that the skill names Mifal ships are reserved; a content test keeps paid-service names out of everything Mifal ships.
Behaviour is unchanged: nothing is written through a link or into a folder.
Upgrading from 0.2.1: mifal update finds v0.2.2 and shows you the incoming commits before it installs.
Not signed. macOS only. Alpha.
Mifal 0.2.1
A small release: the doctor stops failing on your own skills, the release check runs on every pull request, and the agent install page ships.
mifal doctorno longer fails an install because you keep skills of your own in~/.agents/skills. It warns that Claude Code cannot see the ones that are not linked into~/.claude/skills, and prints the link command; a Mifal skill that is unlinked is still a failure.- The
releasecheck runs on every pull request, finishing in seconds unlessVERSIONchanged, so it can be required onmain. WhenVERSIONdoes change it still runs the full suite and the upgrade rehearsal. AGENTS.mdandCLAUDE.md: give a coding agent this repository's link and it checks the machine, installs the newest release, shows you the dry run and waits for your yes, then runsmifal doctor.MAINTAINING.mdgains the routine for changes and releases. The 0.2.0 notes described this page, but thev0.2.0tag does not contain it; it first appears here.maint/rehearse-upgrade.shnow rehearses the revision you hand it, tagged as the release it would be, instead of the repository's localmain, which can be stale. Without this a release candidate could not be rehearsed from a tag-following release.
Upgrading from 0.2.0: mifal update finds v0.2.1 and shows you the incoming commits before it installs. From 0.1.x, your first update still lands on the tip of main.
Tested: full suite under Python 3.9 and 3.13 (188 + 348 + 9 + 18 + 369 tests); the upgrade rehearsal from v0.2.0 and from v0.1.2; a real mifal update from the public v0.2.0 clone to 0.2.1 in a disposable home folder, followed by mifal doctor with 0 failures.
Not signed. macOS only. Alpha.
Mifal 0.2.0
mifal update now follows release tags. Merging to main no longer reaches people who have updated to this version; only a pushed vX.Y.Z tag does.
- A tag counts only if it is
vX.Y.Z, sits on the branch the clone tracks, and itsVERSIONfile is the tag. Mistyped, off-branch, local or foreign tags are ignored. - Update is judged against the installed revision. A fork that keeps its own commits can follow its branch with
mifal update --branch. maint/rehearse-upgrade.shand areleaseworkflow: the full suite and an upgrade rehearsal from the previous release run wheneverVERSIONchanges, and a pushed tag is checked to equalVERSIONand sit onmain.
Upgrading from 0.1.x: your first mifal update runs the old code and lands on the tip of main; from then on updates follow release tags.
Setting Mifal up with a coding agent: give it this repository's link; AGENTS.md tells it to check the machine, install the newest release, show you a dry run and wait for your yes, then run mifal doctor.
Tested: full suite under Python 3.9 and 3.13 (186 + 348 + 9 + 18 + 369 tests); a clean-home upgrade from 0.1.2 through the real GitHub remote; a fresh agent following the install page in a disposable home folder.
Not signed. macOS only. Alpha.
Mifal 0.1.2
The first public release of Mifal: one engineering workflow for Claude Code, Codex, Droid, Pi and OpenCode, with a validator that refuses a brief, a receipt or a phase record that lacks its evidence.
Alpha. macOS only, Python 3.9 or later, MIT.
git clone https://github.com/romiluz13/mifal.git
cd mifal
./install.sh --dry-run
./install.sh
mifal doctorWhat's in it
- One Guide in each agent's rules file, and the same 39 skills: Matt Pocock's engineering skills run as ordered phases, plus DDD, review and team leading.
validate_contracts.py, which the Guide has the agent run at each gate: a record without its evidence is refused, and the refusal prints the fix.- An installer that previews every write, adds one Marked block to your rules files and leaves the rest as you wrote it, and journals each install so an interrupted one is rolled back the next time you run
mifalor the installer.mifal updateinstalls exactly the revision it showed you;mifal uninstallremoves what Mifal wrote and keeps any file you edited. mifal doctor, a read-only check of the wiring.- The team lead skill and an experimental Herdr adapter, for a team of agents in Herdr panes.
Since 0.1.1
- The Herdr adapter reports a deadline that expires inside a read as the request deadline on Python 3.9 too; before, it surfaced as a bare "timed out". Found by the full test suite on GitHub Actions.
- The README makes only the claims its evidence supports, and the long sections moved to docs/INSTALL.md and docs/TRUST.md.
- A website at romiluz13.github.io/mifal, with an interactive replay of how Mifal 0.1 was built.
- SECURITY.md, CONTRIBUTING.md and a problem-report template.
Known limits
- No agent has a recorded live check yet; the support matrix in the README says so.
- Linux and Windows are not supported.
- What a program checks, and what relies on the agent following the Guide, is in docs/TRUST.md.