You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the refusal-token table gains the four it was missing
c-env-unrealisable, c-env-verification-mismatch and platform-dependency have
been emitted since 2026.9.18.1 and were never listed, so a program classifying
an outcome read them as `other` --- the token the table itself describes as "a
refusal whose branch has not been given a token yet".
interface-not-provided joins them, together with the note that it is the one
token `mcpp build` also prints in its own message.
Co-authored-by: Claude Code <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/50-machine-output.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -412,8 +412,21 @@ a program classifying the outcome reads `reason`:
412
412
|`package-cycle`| the dependency graph contains a cycle of packages; the message names its edges *(2026.9.16.1+)*|
413
413
|`program-cxx-runtime-split`| a program or test that states a self-contained C++ runtime loads a C++ shared library of the build that couples to a shared one *(2026.9.16.1+)*|
414
414
|`static-package-in-two-images`| a static package several images of the build reach, on a target where an image cannot use another image's copy *(2026.9.16.1+)*|
415
+
|`c-env-unrealisable`| the resolved C library's `[c-abi]` declaration has no known realisation for this target, or the resolved compiler cannot carry one out *(2026.9.18.1+)*|
416
+
|`c-env-verification-mismatch`| the probe compiled with the realised `[c-abi]` configuration disagrees with what was declared *(2026.9.18.1+)*|
417
+
|`platform-dependency`|`[build] platform-dependencies = "refuse"` and a package in the graph brings a platform SDK *(2026.9.18.1+)*|
418
+
|`interface-not-provided`| a package's `[kernel-abi] requires-interfaces` names an interface the resolved implementation does not provide *(2026.9.20.1+)*|
415
419
|`other`| a refusal whose branch has not been given a token yet |
416
420
421
+
**One token is also printed by `mcpp build` itself.**
422
+
`interface-not-provided` appears in the refusal's own message, in brackets, the
423
+
way `E0006` does. A refusal that only a person can recognise forces every
424
+
machine consumer to match prose, and prose a package's own compile error could
425
+
coincidentally contain; the mcpp-index compatibility measurement tells "this
426
+
graph does not supply what the member asked for" from "the member did not
427
+
build" on exactly this token, and that distinction decides whether a member
428
+
counts against a compatibility figure.
429
+
417
430
**Exit 0 whenever the question was answered, including "refused".** "Would
418
431
this build, and if not why" is answered successfully by "no, because the row's
419
432
pin is a capability". A non-zero exit means the query itself could not run.
0 commit comments