Skip to content

feat(specs): OpenPkg 1.0 Draft, the open format behind W3BS Package Manager - #237

Merged
ralyodio merged 1 commit into
masterfrom
feat/openpkg-spec
Oct 13, 2026
Merged

ralyodio merged 1 commit into
masterfrom
feat/openpkg-spec

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Adds OpenPkg to logicsrc.com: the open, implementation-neutral format behind W3BS Package Manager (w3bs).

  • docs/openpkg.md: the 1.0 Draft specification, written from the reference implementation's code (w3bs-schema, w3bs-publish, w3bs-core, bootstrap/install.sh). It covers package identity, TUF repository profile 1 with first-use trust by root fingerprint, the four target documents with JSON examples, the catalog listing rule, client lifecycle (immutability, version policy, journaled activation, rollback, removal, receipts), the JSON result object with exit codes 0/1/2/3/4/5/130, security considerations and conformance.
  • specs.ts: one entry, family process, slug openpkg, next to OpenInstall. The process blurb now mentions it.
  • /openpkg: a modest landing page in the same style as /openinstall.
  • contract/openpkg.contract.test.ts: discovery (family, /docs, llms.txt, llms-full.txt, sitemap) and checks that the page's exit codes and target list match the spec, plus no em dashes.

w3bs.org's guide already links to https://logicsrc.com/docs/openpkg.

Locally: bun run build passes and @logicsrc/web contract tests pass (159). Two other suites fail on this box only, for environment reasons that have nothing to do with this change: opencreds needs a zip binary, and openfleet expects umask 022.

🤖 Generated with Claude Code

…anager

Adds docs/openpkg.md, a registry entry in the process family next to
OpenInstall, a /openpkg landing page and a contract test that keeps the
page's tables in step with the spec.

The spec is written from the w3bs reference implementation: package
identity grammar, TUF repository profile 1 with first-use trust by root
fingerprint, the package index, channel index, release manifest and curl
catalog documents, the catalog listing rule, client lifecycle rules,
receipts, the JSON result object and exit codes 0/1/2/3/4/5/130.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

27 finding(s)

HIGH/CRITICAL: 3 | MEDIUM: 12 | LOW: 12

Severity Rule Location
HIGH secret-private-key plugins/credential-sharing/src/providers/ssh.ts:129
HIGH js-host-header-trust apps/commandboard-web/server.js:27
HIGH js-ssrf-outbound-request apps/pwa/public/sw.js:45
MEDIUM js-unescaped-html-sink apps/commandboard-web/src/main.ts:19
MEDIUM sh-remote-script-execution apps/logicsrc-web/public/install.sh:71
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/[[...slug]]/page.tsx:57
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/layout.tsx:79
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/pricing/page.tsx:42
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/components/breadcrumbs.tsx:43
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/components/site-shell.tsx:36
MEDIUM redos-nested-quantifier packages/opencontext/src/ids.ts:10
MEDIUM redos-nested-quantifier packages/opencontext/src/ids.ts:11
MEDIUM js-timing-unsafe-mac-compare packages/opencontext/src/validate.ts:208
MEDIUM redos-nested-quantifier packages/openerrand/src/browser.ts:34
MEDIUM redos-nested-quantifier packages/openontology/src/ids.ts:20
LOW secret-generic-credential apps/pwa/test/appbar.test.mjs:10
LOW secret-aws-access-key packages/opencontext/src/permissions.test.ts:260
LOW secret-private-key packages/opencontext/src/permissions.test.ts:261
LOW secret-stripe-key packages/opencontext/src/permissions.test.ts:262
LOW secret-aws-access-key packages/opencontext/src/security.test.ts:228
LOW secret-database-url packages/opencreds/src/categories.test.ts:98
LOW secret-database-url packages/opencreds/src/categories.test.ts:103
LOW secret-generic-credential packages/opencreds/src/import-router.test.ts:121
LOW secret-private-key plugins/credential-sharing/src/providers/ssh.test.ts:7
LOW secret-database-url plugins/credential-sharing/src/rekey.test.ts:33
LOW secret-openai-key plugins/credential-sharing/src/vault-encryption.test.ts:21
LOW secret-generic-credential plugins/credential-sharing/src/vault-encryption.test.ts:21

Snippets are redacted; ThreatCrush never prints matched credential material.

@ralyodio
ralyodio merged commit 462a1bc into master Oct 13, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant