Álvaro Tejero Cantero 6e05b7342d
Merge branch 'develop' into alvorithm-issue-12665
Develop moved the per-save validation of files_update.clj into
`validate-file`, which `apply-changes` runs on every attempt, and moved
the soft and hard checks out of `process-changes-and-validate`. A save
whose changes carry commit ids now keeps its valid prefix and rejects
the rest instead of raising.

- `soft-validate-file-schema!` takes this branch's `cfg` and develop's
  `changes`, since develop checks the schema of the touched pages only.
- `process-changes-and-validate` is develop's. Its new `validate-file`
  passes `cfg` to both soft checks, so the soft-failure counter and the
  revn context of their logs keep working.
- The `refusal-stage` docstring now names `apply-changes` and
  `validate-file` as the timing sources. A failing version check left
  the timed change step in develop and now reports `pre-changes`. The
  retries of `apply-commits` run without metrics and timings, so they
  neither count soft failures twice nor move the stage.

files_update_refusal_test.clj passes develop's new `commits` argument
to `process-changes-and-validate`. Its soft schema tests touch the
broken page with a no-op `:mod-obj`, because develop's schema check no
longer reads pages that a save leaves alone. Its direct calls bind
`pmap/*tracked*`, as develop's own tests do, because develop's
`process-changes-and-validate` dereferences it to roll back the
pointers of a rejected commit.

AI-assisted-by: claude-opus-5-5
Signed-off-by: Álvaro Tejero Cantero <alvorithm@teje.ro>
2026-11-11 18:02:08 +01:00
..