Skip to content

fix(cli): re-emit --harness-file in generated commands, warn on descriptor drift - #299

Merged
slowdini merged 2 commits into
devfrom
issue-294-harness-file-selector
Sep 1, 2026
Merged

fix(cli): re-emit --harness-file in generated commands, warn on descriptor drift#299
slowdini merged 2 commits into
devfrom
issue-294-harness-file-selector

Conversation

@slowdini

@slowdini slowdini commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Closes #294

Every follow-up command a run generates (RUNBOOK.md, Next: lines) dropped the global --harness-file flag, so an operator following the runbook silently resolved a different harness descriptor than the iteration was prepared with — while plugin-shadow.json kept the prep-time isolation declaration, producing a recorded-as-isolated run whose comparison is invalid. The selector also invented a --skill-dir the invocation never used, which stages every sibling skill ambiently: a different experiment.

command_target_args now reproduces the invocation: --skill-dir only when the invocation supplied one (else --skill names the absolute skill subdir), an absolute --workspace-dir as before, and --harness-file when one was loaded (remembered at registry init, threaded through RunContext).

Backstop: run records the resolved descriptor digest and the --harness-file path in conditions.json; dispatch and ingest compare the digest they resolve against the prep-time one and warn loudly on drift, naming the file to re-run with.

…iptor drift (#294)

Every follow-up command a run generates (RUNBOOK.md, Next: lines) dropped
the global --harness-file flag, so an operator following the runbook
silently resolved a different harness descriptor than the iteration was
prepared with — while plugin-shadow.json kept the prep-time isolation
declaration, producing a recorded-as-isolated run whose comparison is
invalid. The selector also invented a --skill-dir the invocation never
used, which stages every sibling skill ambiently: a different experiment.

command_target_args now reproduces the invocation: --skill-dir only when
the invocation supplied one (else --skill names the absolute skill
subdir), an absolute --workspace-dir as before, and --harness-file when
one was loaded (remembered at registry init, threaded through RunContext).

Backstop: run records the resolved descriptor digest and the
--harness-file path in conditions.json; dispatch and ingest compare the
digest they resolve against the prep-time one and warn loudly on drift,
naming the file to re-run with.
Describe the mechanism — dispatch/ingest compare the resolved descriptor
against the digest run records in conditions.json and warn when they
differ — instead of the process label "warn loudly".
@slowdini
slowdini merged commit 8a34466 into dev Sep 1, 2026
7 checks passed
@slowdini
slowdini deleted the issue-294-harness-file-selector branch September 1, 2026 02:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

--harness-file is dropped from every generated next-step command, silently reverting isolation mid-run

1 participant