Skip to content

v2.0.1

Choose a tag to compare

@mmilanez mmilanez released this 31 May 21:07
· 6 commits to main since this release
aa513c2

Lead Protocol v2.0.1 — Clean public scaffold

Lead Protocol v2.0.1 is the first clean public scaffold for the v2.0
protocol line. It packages the file-based operating protocol, state
schemas, validation helper, and v1-to-v2 migration helper.

No CLI or runtime service is required. A CLI and MCP server are planned,
but this release is intentionally simple: copy the scaffold into a project,
customize PROJECT_RULES.md, and validate the state files.

What's included

  • Three-layer state model: Framework, Project, and Actor x Agent.
  • Per-pair handoff state under .agents/local/<actor>/<agent>/.
  • Append-only decision log in .agents/decisions.jsonl.
  • Curated project history (JOURNAL.md) and queryable lessons (LESSONS.md).
  • JSON Schemas for state validation.
  • validate_state.py for local and CI validation.
  • migrate_to_v2.py for consumer repositories upgrading from v1.x.
  • GitHub issue templates, PR template, and state-validation workflow.

What's fixed in v2.0.1

  • migrate_to_v2.py --dry-run is now accepted. MIGRATION-v2.md
    documented this flag; the tool previously rejected it. Now it works as
    an explicit no-op alias for the default (no --apply) behavior. Passing
    --dry-run --apply together errors out cleanly.
  • First-ever migration no longer false-positives on pristine
    LESSONS.md.
    The previous rerun-safety heuristic detected the
    example heading inside the template scaffold's code block and refused
    the migration. Replaced with byte-for-byte comparison against the
    template scaffold.
  • MIGRATION-v2.md Step 3 now leads with an agent-driven example
    (--apply --yes) and a prominent callout explaining why. The previous
    structure buried the --yes requirement, causing automated agent
    sessions to hit the interactive confirmation prompt and hang.
  • MIGRATION-v2.md warns about the --agent slug. The slug you pass
    during migration seeds pair-local continuity (local/<actor>/<agent>/)
    permanently. Passing the wrong slug (e.g., --agent claude while
    running Codex) means the next session reads from the wrong pair.

What's unchanged

  • No kernel rule changes. PROTOCOL_RULES.md, CORE_RULES.md, and
    all module files are byte-identical to v2.0.0.
  • No state-file schema changes. Consumer repos already on v2.0.0 do
    not need to do anything.
  • No CLI yet. The lead-protocol CLI remains planned roadmap work.

Installing v2.0.1

git clone --branch v2.0.1 --depth 1 https://github.com/mmilanez/lead-protocol.git /tmp/lp
cp -R /tmp/lp/.agents   your-project/.agents
cp    /tmp/lp/CLAUDE.md  your-project/CLAUDE.md
cp    /tmp/lp/AGENTS.md  your-project/AGENTS.md
cd your-project
python .agents/scripts/validate_state.py

See README.md §Installing a specific version.

Upgrading from v2.0.0

Already on v2.0.0? Re-copy these two files from the v2.0.1 tag — that is
the full upgrade:

cp /tmp/lp/.agents/scripts/migrate_to_v2.py your-project/.agents/scripts/migrate_to_v2.py
cp /tmp/lp/docs/MIGRATION-v2.md             your-project/docs/MIGRATION-v2.md

No state migration needed; no config change.

Why this release exists

The first external-style consumer migration surfaced these issues in real
use. The consumer got through the migration, but several steps required
manual intervention that the documentation did not anticipate. v2.0.1
closes those gaps so the next consumer can follow the guide literally
without improvisation.

Full changelog: CHANGELOG.md