[Rosetta-3] OS-lang-port-loader support tiers Tier 1, 2, 3

Open
#867 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Active

Research direction

Start by reading the existing README.md, the docs landing page, and the CI configuration around each OPTION_BUILD_LOADERS_* and OPTION_BUILD_PORTS_* setting. Compare the proposed policy with the Rust target-tier policy, then define the matrix, promotion rules, release treatment, CI links, and owners. Done means the policy page is merged, the full matrix is filled, and Tier 1 and 2 rows have named owners.

Written by the indexing model from the issue text.

Description

documentation
Goal

Define Rust-like tiers for MetaCall matrix. Stop guessing support state.

Proposed tiers

Adapt Rust policy at doc.rust-lang.org/rustc/target-tier-policy.html:

  • Tier 1: full release, full tests on each commit, green CI blocks merge, ships binaries, complete docs, 2 plus maintainers.
  • Tier 2: builds in CI, subset tests, ships best-effort, 1 plus maintainer, red triaged but not blocking.
  • Tier 3: community, source only, no CI guarantee, needs sponsor to promote.

Axes: OS x arch x loader runtime x port.

Draft seed:

  • Tier 1 candidate: Linux x86-64 plus py, node, c, rs loaders plus py_port, node_port.
  • Tier 2 candidate: macOS ARM64, Windows MSVC plus rb, java, wasm, cs, lua loaders plus go_port, rs_port, cxx_port.
  • Tier 3 candidate: cob, cr, dart, jl, jsm, llvm, deno, kind, nim, scala, zig, php, pl, r, plus cpp future full C++ loader, plus exotic arch.
  • Note: c_loader stays Tier 1 for C. C++ via c_loader is partial only: extern "C" free functions plus .hpp headers via load_from_package. Full cpp_loader with classes, methods, overloads, templates stays Tier 3 future work, not Tier 1 or 2 in this epic.

Include runtime version in key, example py-3.12-linux-x64 Tier 1 vs py-3.9 EOL Tier 3.

Tasks
  • Agree tier rules and maintainer counts.
  • Publish matrix table: rows loaders and ports, columns OS and arch, cells Tier plus CI link.
  • Map each OPTION_BUILD_LOADERS_* and OPTION_BUILD_PORTS_* to tier.
  • Define promotion and demotion: issue plus maintainer sign-off, auto demote on repeated red CI.
  • Tie release artifacts to tiers: Tier 1 ships, Tier 2 best-effort, Tier 3 source only.
  • Link matrix from README.md and docs landing.
Acceptance
  • Tier policy page merged.
  • Full matrix filled with CI links.
  • Each Tier 1 and 2 row has named owner.
Dominant language
C
Stars
1.8k
Forks
266
Avg merge
2d 16h
Merged PRs (30d)
14

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from metacall/core

All issues in metacall/core

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.