Skip to content

fix: reject stale mncs-language toolchains in the mncs-experiments Forge check - #15

Merged
epi13 merged 1 commit into
mainfrom
chore/mncs-check-stale-guard
Aug 24, 2026
Merged

fix: reject stale mncs-language toolchains in the mncs-experiments Forge check#15
epi13 merged 1 commit into
mainfrom
chore/mncs-check-stale-guard

Conversation

@epi13

@epi13 epi13 commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Auto-discovery could accept an outdated sibling mncs binary, failing every module with confusing MNP133 cascades. Discovery now probes candidates with a Profile 0.5 bare-name-match fixture and skips pre-fix toolchains; MNCS_LANGUAGE_ROOT remains the explicit override.

Discovery now probes a candidate binary with a Profile 0.5 bare-name
match fixture and skips toolchains that predate the upstream parser fix
instead of failing every module with confusing MNP133 cascades. Explicit
MNCS_LANGUAGE_ROOT remains the primary override.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 32b6bc41e3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tools/ravel_mncs_check.py
Comment on lines +62 to +63
document = json.loads(result.stdout or "{}")
return not document.get("diagnostics")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Require a successful probe process

When a candidate exits nonzero without stdout—for example, because this older binary lacks source-study or cannot start—result.stdout or "{}" turns that failure into an empty document, and the missing diagnostics field makes the probe return true. Discovery therefore accepts exactly the stale or wrong toolchain this check is meant to reject and proceeds to misleading experiment failures; require a zero return code and recognizable successful output before accepting it.

Useful? React with 👍 / 👎.

Comment thread tools/ravel_mncs_check.py
Comment on lines +83 to +84
# Stale or wrong toolchain: keep searching rather than fail.
continue

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Rebuild a rejected artifact before skipping the checkout

When the sibling checkout's source has been updated past the parser fix but target/debug/mncs was built before that update, the probe rejects the old artifact and this continue bypasses the cargo build path immediately below. The Forge check consequently reports BLOCKED even though the checkout contains compatible source that _mncs_cli() promises to build; attempt the build after a failed probe and then probe the rebuilt binary.

Useful? React with 👍 / 👎.

@epi13
epi13 merged commit 28daa6e into main Aug 24, 2026
5 checks passed
@epi13
epi13 deleted the chore/mncs-check-stale-guard branch August 24, 2026 15:15
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.

1 participant