feat(run): the repository under review is the freeze record's, not the working directory's
A directory can review repositories other than itself: a workbench whose config, env file and records serve several, freezing each with --repo and --out. The run took the working directory for the repository under review: the prompt named it, the calibration was kept under it, and --trees fell back to it. The run now reads the repository from the artifact's freeze.json - the prompt names it and the calibration is kept under it - and --trees defaults to what the record says: the worktree, else the repository when it is not the working directory, else `.`, the same rule that builds the printed run line. The working directory keeps its roles: the config, the env file, the slots, the lens processes' cwd and every logged path. A damaged record stops the run at preflight.
This commit is contained in:
parent
ea4d362a10
commit
4fc15fe1c2
9 changed files with 133 additions and 14 deletions
|
|
@ -175,7 +175,14 @@ export namespace Crafter::Review::Run {
|
|||
// {lens file: environment}, in the config's lens order: the dump, the
|
||||
// resume file and the scratch dir's marker write it in that order.
|
||||
Json environments = Json::object();
|
||||
// The working directory: the config, the env file and the slots are
|
||||
// its, the lens processes run in it, and every path logged is relative
|
||||
// to it.
|
||||
std::filesystem::path repo;
|
||||
// The repository under review, from the artifact's freeze record (the
|
||||
// working directory when it has none): the prompt names it, and the
|
||||
// calibration is kept under it.
|
||||
std::filesystem::path reviewed;
|
||||
std::vector<std::string> logs;
|
||||
double t0 = 0;
|
||||
std::optional<std::filesystem::path> logFile;
|
||||
|
|
|
|||
Loading…
Reference in a new issue