Files
CyberStrikeAI/docs/en-US
Sycun b645914e1f fix: a rollback keeps a recreated role, and an owed build is finished first
Three ways the installation could still end up with its source, its binary and
the operator's content describing different things.

Rollback copied aside only *tracked* protected files, so a role upstream had
deleted and the operator had recreated at the same path was untracked - and
`git reset --hard` wrote the old commit's copy over it. The stash now also
covers untracked protected paths the target commit writes to, and names them in
keptContent like any other file it saved.

The pending-build marker said only "a compile is owed". An update that found
new commits therefore merged them and built the *new* tree, leaving `.prev`
holding a binary for a commit the state file no longer named - a rollback then
paired old source with the original binary. And a marker left behind after a
successful swap rebuilt and overwrote that same `.prev`. The marker now names
its target commit and the hashes on both sides of the swap, the state records
which commit the live binary came from, an owed build is finished before the
tree moves again, and a retry that finds the swap already done clears the
marker instead of repeating it. Rollback verifies that pairing before touching
anything and refuses (binary_changed) rather than reset the source beside a
binary it cannot account for; an update whose build failed never swapped one,
so its rollback moves the source only and no longer demands a `.prev`.

The version pair is recorded before the config is written, so a crash in
between still leaves a rollback that can put the old number back.
2026-10-08 22:46:17 +08:00
..
2026-07-07 14:04:18 +08:00
2026-07-17 17:17:10 +08:00
2026-07-23 20:17:17 +08:00
2026-07-07 14:04:18 +08:00
2026-07-20 16:54:50 +08:00
2026-07-07 14:04:18 +08:00
2026-07-07 14:04:18 +08:00
2026-07-11 11:30:50 +08:00
2026-07-07 14:04:18 +08:00
2026-07-07 14:04:18 +08:00
2026-07-07 14:04:18 +08:00
2026-07-07 14:04:18 +08:00
2026-07-08 14:21:10 +08:00
2026-07-21 21:04:53 +08:00
2026-07-07 14:04:18 +08:00
2026-07-10 21:35:49 +08:00
2026-07-11 11:30:50 +08:00
2026-07-11 11:30:50 +08:00
2026-07-07 14:04:18 +08:00
2026-07-07 14:04:18 +08:00
2026-07-07 14:04:18 +08:00
2026-07-24 16:43:01 +08:00
2026-07-23 19:14:09 +08:00
2026-07-07 14:04:18 +08:00
2026-07-31 21:06:22 +08:00