feat(run): crafter-review run and slots, the driver of the gates
Run: gate 0 (the artifact, the trees, the inventory, the run lock, the scratch dir, dispositions, reuse state, resume, reads per round, seats, the board), the stack and migration preflights, the prompts, reuse of whole and block verdicts, salvage, a gate on the pool, checkpoints, the dump, the dry-run report and the unit-state store; slots_plan and app_ready beside it. The CLI parses run's 28 options, types and choices included. A full run takes its lifetime lock beside the board before it joins it. A signal - or the stop file `crafter-review stop` writes, looked at every 2 s - stops the run once gate 0 is through, and the stop stays in force for the gates after; before that it ends the process with its descendants. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
554a5ddd48
commit
0f803d90bd
9 changed files with 2639 additions and 13 deletions
|
|
@ -49,7 +49,7 @@ namespace {
|
|||
return Dyn::Replace(text, td.string(), "<td>");
|
||||
}
|
||||
|
||||
std::int32_t Run() {
|
||||
std::int32_t Checks() {
|
||||
std::println("opencode harness + OpenRouter seats: loader, environments, permissions, event parsing, the tool schema");
|
||||
Platform::SetMode(Platform::Mode::Native);
|
||||
// The directory modes below are the generator's, made under 022.
|
||||
|
|
@ -221,7 +221,7 @@ int main(int argc, char** argv) {
|
|||
const std::vector<std::string_view> args(argv, argv + argc);
|
||||
if (args.size() > 1 && args[1] == Process::SuperviseVerb) return Process::SuperviseMain(std::span(args).subspan(2));
|
||||
try {
|
||||
return Run();
|
||||
return Checks();
|
||||
} catch (const std::exception& error) {
|
||||
std::println(std::cerr, "opencode: {}", error.what());
|
||||
return 1;
|
||||
|
|
|
|||
Loading…
Reference in a new issue