Skip to content

roadmap: Chapel L2.3 cancel-token preemption — gated on L1 Cap'n Proto + cross-repo Chapel CT SDK #196

Description

@hyperpolymath

Origin

CLAUDE.md ("Project-specific context" — Next v2.2+ section):

L2.3 (cancel-token through tryProver for mid-flight preemption) is the next sub-wave; L2.4 mutation parallelism / L2.5 multi-locale / L2.6 numeric hot paths / L2.7 bench remain hard-gated on L1 Cap'n Proto and (for L2.5) a cluster runtime — see docs/handover/TODO.md.

And the endpoint-target row for Chapel:

| "Chapel fully supported" | ... L2.3 cancel-token preemption next | dispatch.rs picks Chapel-parallel dispatch by config; runtime init + cancellation + error propagation wired; ≥1 OoM speedup on portfolio solves |

L2.3 is the next Chapel sub-wave after L2.2 (#133 rehabilitation arc, MERGED 2026-05-30).

Scope

Wire a cancel-token through tryProver in src/chapel/ so a first-success-wins parallel dispatch can preempt slower in-flight provers:

  • Cancel-token type at the Chapel boundary (matched to the Rust side's cancellation primitive)
  • Propagate cancellation through tryProver so an in-flight prover invocation can abort
  • Error-propagation semantics: cancelled prover returns a Cancelled variant rather than Failure
  • Property test in proofs/agda/ParallelSoundness.agda extended to cover the cancellation-safety invariant (already partially formalised per the L2.2 closure note)
  • L2.3 specifically targets mid-flight preemption — the current parallelProofSearchSpeculative waits for the first success but does not stop the other in-flight workers

Estimated: small (~3-5 PRs) once unblocked.

Dependencies

Why filed

To make the L2.3 commitment trackable as a distinct work item; today it lives only in CLAUDE.md prose with no issue. The "Chapel fully supported" endpoint-target row cites L2.3 as the next sub-wave but has no tracker.

Activity

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

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions