Skip to content

Commit 1290156

Browse files
claude[bot]os-project-managerclaude
authored
fix(devx): a multi-prerequisite gate's refusal names the closure, not just the first unmet one (#15911)
* fix(devx): a multi-prerequisite gate's refusal names the closure, not just the first unmet one `import-prerequisite` refused at the first unmet prerequisite, so a gate that declares several could only ever print a fix naming one of them: a dev who ran exactly that fix earned a second refusal and a second build round. The printed remedy was not wrong, it was incomplete. The refusal now reads the OTHER prerequisites out of the refusing gate's own source, probes each with the two on-disk facts `classifyImportFailure` already turns on, and prints one command that clears every unmet one. With nothing else unmet the text is byte for byte the one that shipped before. Message change only: when a gate refuses, whether it refuses, the exit code and the "Nothing was measured" clause are untouched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016vtdMao3dQS9EfQfpyWixd * docs(devx): state the measured multi-prerequisite population precisely The count in the header was the loose one (callers with more than one call site). The population that can actually print a fix and then refuse again is the one whose prerequisites have DIFFERENT remedies, and it is smaller: state both readings and say why the count is not the argument. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016vtdMao3dQS9EfQfpyWixd --------- Co-authored-by: os-dev <pm@objectstack.ai> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
1 parent 401e50a commit 1290156

1 file changed

Lines changed: 354 additions & 3 deletions

File tree

0 commit comments

Comments
 (0)