routertl.lock records the project state that a build is expected to use. It
is separate from ip.lock: the package lock records installed IP commits;
the project lock covers the wider project and toolchain state.
Create and inspect
rr lock rr lock status
Commit the lockfile when it represents the intended project state. In CI, check it without rewriting anything:
rr lock --check
If the project changed intentionally, regenerate the lock and review the diff. Do not silently refresh a lockfile as part of an unrelated build.
Result
rr lock --check either confirms the recorded state or identifies the drift
that must be reviewed. That makes a reproducibility failure visible before a
long simulation or hardware build starts.