netresearch/jujutsu-workflow
v0.3.2(MIT AND CC-BY-SA-4.0)
Agent-safe version control with Jujutsu (jj): jj as the local change layer, Git as the canonical remote/PR/CI/audit interface
Changelog
All notable changes to this project are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Entries for 0.1.0 through 0.3.0 were reconstructed from git history when this file was introduced in 0.3.1; the GitHub Releases for those tags remain the original record.
Unreleased
Added
Changed
Fixed
0.3.2 - 2026-08-12
Changed
- Credit the reporter of the 0.3.0 worktree issue (#18) in the 0.3.1 notes
0.3.1 - 2026-08-08
Follows on from the worktree fix in 0.3.0 (#18): it was verified against jj 0.43.0 while the skill still declared 0.42.0, and this release closes that mismatch.
Added
tests/verify_jj_version.sh— a compatibility probe that re-checks every documented command, flag and revset against the installed jj, so a new jj release is one command to verify instead of a manual pass. Exits 1 on drift.pr-handoff.md:jj git pushrejects the push when any commit in the pushed range has no description, ancestors included — not just the bookmark target. Documented with the range check that catches it before pushing.agent-safety.md§6: settinguser.name/user.emailapplies to future commits only; the existing working-copy commit keeps the old author untiljj metaedit --update-author. An agent that configures identity after making changes otherwise pushes commits that fail DCO.- This
CHANGELOG.md.
Changed
compatibilitynow reads "Verified against jj 0.42.0 and 0.43.0". The full command surface — 53 commands, flags and revsets, including the five editor/TUI formsagent-safety.mdforbids — was re-verified hands-on against jj 0.43.0 with no drift.verify_handoff.shandtests/superiority_evals.shreformatted withshfmt(formatting only; both suites re-run to confirm behaviour is unchanged). Every shell file in the repo now passesshellcheckandshfmt.
0.3.0 - 2026-08-08
Reported by @plttn in #18 — including the discard_changes: true trap, which is
what makes the state destructive rather than merely confusing.
Added
worktree-shadoweddetection: a harness-created git worktree (Claude Code'sEnterWorktree,--worktree,isolation: "worktree", background sessions) has no.jj/of its own, so jj walks up and answers for the parent repo. Reads report a clean tree over real edits, and writes commit the parent checkout's uncommitted work.detect_jj_state.shnow reports the mode and exits 3;git-interop.md,agent-safety.mdandrecovery-playbook.mdcover the state, thediscard_changes: truetrap, and what is not recoverable.- Portable Agent Plugins 1.0.0 manifest (
plugin.json).
Changed
- Adopted the shared Netresearch skill-repo template;
validate.ymldropped in favour of the template'slint.yml. - CI: secret and workflow scanning in
security.yml; jj evals run via the shared script-check reusable.
Fixed
detect_jj_state.sh --jsonemitted string fields unescaped, so a repo path containing a double quote produced unparseable output.- Corrected a data-destroying recipe in
git-interop.md:jj git init --git-repo=…checks the parent commit out over a dirty working copy, silently reverting modified files and deleting untracked ones.
0.2.0 - 2026-07-13
Added
evals/evals.jsonwith structural evals for the skill, plus aneval-validateCI caller so they are checked on every change.pr-handoff.md: DCO sign-off and SSH signing guidance for jj.
Changed
why-jj-for-agents.mdtrimmed from an advocacy essay to a decision list.
0.1.0 - 2026-06-24
Added
- Initial
jujutsu-workflowskill: agent-safe jj workflows with Git kept as the canonical remote, PR, CI and audit interface. - Reference set —
command-map.md,agent-safety.md,git-interop.md,recovery-playbook.md,pr-handoff.md,parallel-agents.md,why-jj-for-agents.md. detect_jj_state.shandverify_handoff.sh, both covered bytests/smoke_test.shagainst a real jj repo and Git remote.tests/superiority_evals.sh— reproducible scenarios where jj beats plain git.- Netresearch governance ruleset: security and PR-quality workflows,
ARCHITECTURE.md, split MIT + CC-BY-SA-4.0 licensing.