Skip to content

Commit a7215f1

Browse files
author
Jonathan D.A. Jewell
committed
feat: add governance, registry hub stubs, and cli skeleton
1 parent 3b7d957 commit a7215f1

8 files changed

Lines changed: 135 additions & 0 deletions

File tree

CHARTER.adoc

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
= OPM Charter
2+
:revdate: 2026-01-18
3+
4+
== Purpose
5+
6+
OPM exists to deliver a federated, multi-language package manager with formal verification guarantees, a multi-dimensional trust pipeline, and automated ecosystem health monitoring.
7+
8+
== Stewardship Council
9+
10+
The stewardship council safeguards:
11+
12+
- Verification integrity (proven/Idris2)
13+
- Trust pipeline correctness (checky-monkey, claim-forge, palimpsest-license)
14+
- Federation neutrality (git-private-farm + Radicle + IPFS)
15+
- Long-term sustainability (oikos-driven dependency health)
16+
17+
== Principles
18+
19+
- Formal verification by default
20+
- Local-first, offline-resilient operation
21+
- Transparent governance and audit trails
22+
- Federation without monopoly capture
23+
24+
== Scope
25+
26+
OPM orchestrates the existing ecosystem rather than replacing it. The opm CLI provides a unified user experience across trusted services.

crates/opm-cli/Cargo.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[package]
2+
name = "opm"
3+
version = "0.0.1"
4+
edition = "2021"
5+
license = "PMPL-1.0"
6+
description = "Odds-and-sods package manager CLI"
7+
8+
[dependencies]
9+
clap = { version = "4", features = ["derive"] }
10+
anyhow = "1"
11+
serde = { version = "1", features = ["derive"] }
12+
serde_json = "1"

crates/opm-cli/README.adoc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
= opm CLI
2+
:revdate: 2026-01-18
3+
4+
Rust CLI placeholder for the OPM federation.
5+
6+
Subcommands (stub):
7+
8+
- `opm publish <path>`
9+
- `opm audit <package>`
10+
- `opm status`

crates/opm-cli/src/main.rs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
use clap::{Parser, Subcommand};
2+
3+
#[derive(Parser)]
4+
#[command(name = "opm")]
5+
#[command(about = "Odds-and-sods package manager", long_about = None)]
6+
struct Cli {
7+
#[command(subcommand)]
8+
command: Commands,
9+
}
10+
11+
#[derive(Subcommand)]
12+
enum Commands {
13+
Publish { path: String },
14+
Audit { package: String },
15+
Status,
16+
}
17+
18+
fn main() -> anyhow::Result<()> {
19+
let cli = Cli::parse();
20+
21+
match cli.command {
22+
Commands::Publish { path } => {
23+
println!("publish pipeline (stub) for {path}");
24+
}
25+
Commands::Audit { package } => {
26+
println!("audit pipeline (stub) for {package}");
27+
}
28+
Commands::Status => {
29+
println!("opm status (stub)");
30+
}
31+
}
32+
33+
Ok(())
34+
}

governance/STEWARDship.adoc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
= Stewardship
2+
:revdate: 2026-01-18
3+
4+
== Council
5+
6+
- Establish policy and arbitration for federation disputes
7+
- Maintain trust pipeline standards
8+
- Approve changes to verification guarantees
9+
10+
== Voting
11+
12+
- Quorum: 3 maintainers
13+
- Majority required for policy changes
14+
- Unanimous required for trust pipeline downgrades
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
= Event Handlers
2+
:revdate: 2026-01-18
3+
4+
Stub for opm registry event handlers. Expected event types:
5+
6+
- package-published
7+
- security-advisory
8+
- deprecation-notice
9+
- maintainer-change
10+
- compatibility-break
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "opm-registry-hub",
3+
"version": "0.0.1",
4+
"description": "Primary registry hub for opm federation.",
5+
"mirrors": [
6+
"github",
7+
"gitlab",
8+
"codeberg",
9+
"corp.io",
10+
"uni.edu",
11+
"radicle"
12+
],
13+
"events": [
14+
"package-published",
15+
"security-advisory",
16+
"deprecation-notice",
17+
"maintainer-change",
18+
"compatibility-break"
19+
]
20+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
= Trust Pipeline
2+
:revdate: 2026-01-18
3+
4+
Pipeline stages:
5+
6+
- claim-forge: provenance (GPG + OpenTimestamps)
7+
- checky-monkey: 8-dimension analysis + CUBS
8+
- palimpsest-license: license sign/verify/audit
9+
- oikos: sustainability and health scoring

0 commit comments

Comments
 (0)