Files
mattgodbolt-molty bad220a3e9 Tighten release-track heuristic, drop now-unnecessary overrides
Simpler rules eliminate ~60 .properties overrides by reading the
existing isNightly + (empty) semver signal correctly:

- New rule: isNightly=true with an *empty* semver classifies as
  'nightly' (not 'experimental'). CE convention is that a parenthesised
  tag like "(contracts)" or "(modules)" names a *specific* feature
  fork, while no semver at all means "the canonical nightly build,
  nothing fancy". This catches wasm32clang, flangtrunk, lc3-trunk,
  cpp4oclclspv, every dotnettrunk* compiler, rustccggcc-master, and
  mrustc-master without a single per-compiler override.
- New sub-rule on Rule 1: a real semver with a prerelease segment
  (1.28.0-preview, 1.0.0-rc1) classifies as 'nightly' if isNightly is
  also set, else 'prerelease'. micropython-preview is the in-tree
  example: maintainer's explicit isNightly=true means "rolling preview
  branch", not "RC of an upcoming release". dxc 1.8.2306-preview (no
  isNightly) stays 'prerelease', as it should.

c++ feature-fork compilers (gcontracts-trunk, gcc-modules-trunk,
glambda-p2034-trunk, etc.) still hit Rule 6 → 'experimental' because
their semver is non-empty (a parenthesised feature name).

Reverts all releaseTrack=nightly overrides from commits 009048206
(Rust master compilers) and f2980f40c (the dotnet/wasm/lc3/clspv/flang
sweep) — the new heuristic handles every one of them. Audit script
confirms zero remaining misclassifications and zero overrides needed
across all etc/config/*.properties.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 17:32:44 -05:00
..
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00