Problem
Iterative dynamic-access exploration commits accepted progress after each resolved or partially resolved class. If a later dynamic-access report refresh or native-test gate fails, the workflow can return failure and reset the feature branch all the way to the scaffold commit.
Failed-run preservation still keeps exploration information such as processed or exhausted classes. A resumed run can therefore treat earlier classes as already handled even though scaffold rollback removed the generated tests that justified that state. This loses useful work and leaves the resume checkpoint inconsistent with the preserved exploration information.
For example:
- Class A gains coverage and its tests are committed.
- Exploration moves to class B.
- The report refresh or native-test gate fails while processing class B.
- The workflow resets to scaffold, removing the class A commit.
- Failed-run continuation preserves class A as already processed, so resume may skip work whose generated tests no longer exist.
Expected behavior
After iterative exploration starts, failure recovery should reset to the latest committed class checkpoint. That commit is the last coherent point from which exploration can resume because it keeps accepted class progress and the corresponding exploration information aligned while discarding only later uncommitted work.
The scaffold commit remains the recovery point when no class has been committed. Bulk dynamic-access exploration keeps its existing scaffold-checkpoint behavior.
Problem
Iterative dynamic-access exploration commits accepted progress after each resolved or partially resolved class. If a later dynamic-access report refresh or native-test gate fails, the workflow can return failure and reset the feature branch all the way to the scaffold commit.
Failed-run preservation still keeps exploration information such as processed or exhausted classes. A resumed run can therefore treat earlier classes as already handled even though scaffold rollback removed the generated tests that justified that state. This loses useful work and leaves the resume checkpoint inconsistent with the preserved exploration information.
For example:
Expected behavior
After iterative exploration starts, failure recovery should reset to the latest committed class checkpoint. That commit is the last coherent point from which exploration can resume because it keeps accepted class progress and the corresponding exploration information aligned while discarding only later uncommitted work.
The scaffold commit remains the recovery point when no class has been committed. Bulk dynamic-access exploration keeps its existing scaffold-checkpoint behavior.