Skip to content

check_examples_run has no caller and fails open — and '-- --help' does not exit this workspace's examples #3261

Closed as not planned

Description

@noahgift

check_examples_run has no caller and fails open

crates/aprender-orchestrate/src/stack/releaser_preflight/checks.rs:376 runs every discovered
example with cargo run --example <name> -- --help. Two defects.

1. Its only callers are its own tests. grep -rn 'check_examples_run\b' finds it referenced
only from releaser_preflight/tests.rs. Nothing invokes it against the real workspace at release
time — a facility with a self-test and nothing behind it.

2. It fails open.

// Runtime exit with non-zero is OK for --help
succeeded += 1;

A non-zero runtime exit counts as a pass unless stderr contains error[E or could not compile.
So an example that crashes passes; only one that fails to compile is reported.

And -- --help does not do what it assumes here

Measured on a random sample of five examples, 60 s each:

HANG     aprender-core::grid_search_tuning
HANG     aprender-serve::imp_700_realworld_verification
exit101  aprender-serve::debug_q4k_gemv
ok       aprender-simulate::reproducibility
HANG     aprender-serve::bench_barrier_overhead

Three of five ran past 60 s. These are not CLIs — they are compute demos that ignore argv and
do the work. --help does not make them exit. (Five is a small sample; the ratio is not the claim,
the kind is.)

So the checker, if it were ever called on the real workspace, would sit for 980 × its own timeout.

What is owed

  1. Give it a caller, or delete it. A release preflight check that nothing runs is not a check.
  2. Fix the fail-open: a crash is a failure.
  3. Decide what "every cargo run --example" means for a workspace whose examples are demos —
    either "starts and does not crash within N seconds" with timeout treated as PASS (~2 h at
    N=10, so a nightly/full-surface job, not a fast lane), or a declared-runnable subset.

Context: found while building the T-1 deep lane (#3260). APR-RELEASE-001 §4 names
every cargo run --example as a T-1 clause, and #3260 implements the three clauses that are cheap
and unambiguous while leaving this one to a decision.

Refs #3260, #3239

Activity

  1. added
    bugSomething isn't working
    automationBot-maintained dashboard, not a defect — skip in triage
    on Sep 14, 2026
  2. modified the milestones: 0.68.0, 0.70.0, 0.73.0 on Sep 14, 2026
  3. noahgift commented on Sep 23, 2026

    @noahgift
    MemberAuthor

    triage 2026-09-23 (aprender-dd, standing triage owner): milestoned to 0.70.0, theme Fast Train (CI, gates, pv, release tooling, hygiene); it moved out of backlog (the 2026-09-17 overflow bucket, not a release).

  4. added
    kind:codeWork is a code change (derived rule, #4159)
    on Sep 24, 2026
  5. modified the milestones: 0.70.0, backlog on Sep 24, 2026
  6. noahgift commented on Sep 25, 2026

    @noahgift
    MemberAuthor

    Parked by APR-EPIC-001: over S1 budget (rank 159/163). Reopen = pull. Applied by aprender-d1: claude+agy both said close, apr shadow row recorded (handoff/close-quorum-2026-09-25.json).

  7. added
    parkedClosed over epic budget (APR-EPIC-001 rule 5). Reopen = pull.
    on Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    automationBot-maintained dashboard, not a defect — skip in triagebugSomething isn't workingkind:codeWork is a code change (derived rule, #4159)parkedClosed over epic budget (APR-EPIC-001 rule 5). Reopen = pull.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions