Skip to content

Latest commit

 

History

History
75 lines (46 loc) · 3.84 KB

File metadata and controls

75 lines (46 loc) · 3.84 KB

julia-professional-registry: Roadmap

1. Vision

A curated, formally-grounded Julia package registry that aggregates the hyperpolymath ecosystem’s Julia packages behind a single Pkg.Registry.add entry. The registry is the canonical index; the packages themselves live in their own repositories.

The registry exists to make the hyperpolymath Julia surface installable without ad-hoc URL juggling, while keeping each package independently versioned and reviewable.

2. Current State (v1.0.0)

  • 34 packages registered (see README for the full table).

  • CRG Grade C test coverage achieved 2026-04-04 (see TEST-NEEDS).

  • .machine_readable/ dual-track scaffolding complete with canonical 6a2/ layout.

  • OpenSSF Scorecard + CodeQL + Hypatia scan workflows wired via shared reusables.

  • Zero open code-scanning alerts post-PR #17 (modulo the in-flight feat/register-echotypes-krladapter branch policy artefact).

3. Near Term (3–6 months)

3.1. Registry growth

  • Register the remaining hyperpolymath Julia packages as they reach a published 0.1.0 tag.

  • Backfill semver compat ranges (compat blocks in each package’s Project.toml) as upstream packages stabilise.

3.2. Tooling

  • Adopt the standards changelog-reusable.yml workflow so CHANGELOG.md is generated from conventional commits.

  • Move the existing Idris2 test harness from ad-hoc to a reusable contract-testing pattern that consumes each package’s Project.toml and validates Registry.toml correctness automatically.

3.3. Documentation

  • Wiki pages for: registry usage, package authorship, governance, release process.

  • Inline cross-links between README package table, individual package READMEs, and Registry.toml repo URLs.

4. Medium Term (6–12 months)

4.1. Mirror surface

  • Activate the mirror workflow to push to GitLab, Codeberg, Sourcehut, Disroot, Gitea, and Radicle (already wired via standards mirror-reusable.yml; toggled via per-repo vars.<FORGE>_MIRROR_ENABLED Actions variables).

4.2. Quality gates

  • Verify every registered package carries: SPDX header, REUSE-compliant LICENSES/, OpenSSF Scorecard >= 7, no banned-language files.

  • Add a registry-level CI job that fails Registry.toml additions whose upstream repo fails the above checks.

4.3. Federation

  • Publish the registry as a JuliaHub-compatible mirror so packages can be discovered via standard Julia tooling without bypassing the registry.

5. Long Term (12+ months)

5.1. Verified registry

  • Each package entry carries an attestation of its build provenance (SLSA Level 3+).

  • Registry.toml entries are append-only with cryptographic signing of the registry head, allowing offline verification of "this version was in the registry at this time."

5.2. Cross-language indexing

  • The hyperpolymath ecosystem spans Idris2, Rust, OCaml, Coq, Lean, Agda, Haskell, Zig, Elixir, and Julia. A future iteration aggregates the per-language registries behind a single discovery surface (probably driven by the .machine_readable/ ECOSYSTEM.a2ml graph).

6. Non-goals

  • This registry is not a fork of the general-purpose JuliaRegistries/General. Packages should be registered in General when they are mature and externally relevant; this registry is the proving ground.

  • The registry does not host package source — packages live in their own repos. Registry.toml repo URLs are the source of truth.

7. Tracking

Filed issues and PRs against the issue tracker drive the work; this roadmap is the high-level narrative the issues hang off.