Repository navigation
feat(registry): register the nine Marid Tier-1 packages at v0.1.0 (D321/D322) - #109
Merged
Merged
Conversation
…21/D322)
Register MaridArango, MaridCodec, MaridControl, MaridCRDT, MaridIR,
MaridLive, MaridRaft, MaridStorage and MaridTransport at 0.1.0 from the
metadatastician/marid monorepo (subdir = "packages/<Pkg>", commit
fd139f763a306a7e2eca60d96ea1a1a9f77c1e71, the UUIDv8 profile-T re-mint
merged as marid#78).
M/<Pkg>/{Package,Versions,Compat,Deps}.toml are LocalRegistry 0.5.7
output, unchanged. Every git-tree-sha1 equals
`git rev-parse fd139f7:packages/<Pkg>`. Registry.toml gains only the nine
package lines; LocalRegistry's whole-file re-sort by UUID was not taken,
so the diff stays at +9 there.
ci/validate.jl Layer 2b: a package's Package.toml repo may now be owned
by hyperpolymath or metadatastician (ALLOWED_PACKAGE_OWNERS). The
registry's own repo must still be hyperpolymath. Also move the
check_repo_slug! docstring onto its function (it sat on
extract_github_slug) and give extract_github_slug its own.
README package table, CHANGELOG and REGISTRY-POLICY updated to match.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WPSJ7fBhVAMcpSffCBWUDo
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
Contributor
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (41)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
hyperpolymath
marked this pull request as ready for review
October 9, 2026 00:17
5 of 12 tasks
hyperpolymath
added a commit
that referenced
this pull request
Oct 9, 2026
Registry.toml: keep this branch's re-minted LowLevel binding (01a11d29-d884-…) and main's nine Marid entries. CHANGELOG.adoc [Unreleased] Added: keep both sides' entries. Validated on the merged tree: ci/validate.jl rc=0, 41 packages, custom checks 0 errors / 0 warnings; Layer 1's failure set equals main 7c52894's apart from InvestigativeJournalist -> InvestigativeJournalism. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016XJoh8YA2sCWQmq93CF8RX
hyperpolymath
added a commit
that referenced
this pull request
Oct 9, 2026
#109 shipped the Layer 2b widening (EXPECTED_SLUG_OWNER for the registry's own repo, ALLOWED_PACKAGE_OWNERS for packages), so this branch drops its parallel constants and takes main's ci/validate.jl, docs/REGISTRY-POLICY.adoc and CHANGELOG.adoc. What remains: - docs/decisions/0003-package-repos-in-metadatastician.adoc, rewritten to record the decision #109 implemented, under main's names; - the set of allowed package owners is closed: adding an organisation takes an ADR (REGISTRY-POLICY, and the comment on ALLOWED_PACKAGE_OWNERS); - one CHANGELOG [Unreleased] Added entry for the ADR. No code change: validate.jl differs from main only in that comment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016XJoh8YA2sCWQmq93CF8RX
hyperpolymath
added a commit
that referenced
this pull request
Oct 9, 2026
…003 (#110) <!-- SPDX-License-Identifier: CC-BY-SA-4.0 --> ## Summary #109 registered the nine Marid Tier-1 packages and, in the same change, widened `ci/validate.jl` Layer 2b so a package `repo` may be owned by `hyperpolymath` **or** `metadatastician`. It carried no ADR. This PR adds that ADR. It records the decision #109 implemented and makes one rule explicit: the set of allowed owners is **closed**, so adding an organisation takes another ADR. It contains **no code change**. `ci/validate.jl` differs from `main` only in the comment on `ALLOWED_PACKAGE_OWNERS`. On 2026-10-09 the owner ruled that the metadatastician widening be recorded in its own PR with ADR 0003. This PR was opened before #109 merged, with its own implementation. When #109 landed first, I merged `main` in, kept main's code (`EXPECTED_SLUG_OWNER`, `ALLOWED_PACKAGE_OWNERS`, `allowed_package_owner`) and dropped my parallel constants. What remains is the record. It changes registry policy text, so it needs BDFL review. **Automerge is not armed.** > [!NOTE] > **Merge order:** none. `git merge-tree` of this head against #107's head `b1563013` is clean (rc=0), so the two land in either order. ADR numbers do not collide: #107 carries ADR 0002 and this PR carries 0003. ## Changes - **`docs/decisions/0003-package-repos-in-metadatastician.adoc`** (new): - context: D54-A, plus D321 (stage 1 of D67-A on marid#21) and D322; - three decisions: 1. packages may be owned by either organisation; 2. the set is closed; 3. Registry.toml's own `repo` stays `hyperpolymath`; - three alternatives rejected; - the consequences. The ADR names #109 / `7c52894` as the implementation. - **`docs/REGISTRY-POLICY.adoc`**: one sentence after the Layer 2b paragraph says the set is closed and links ADR 0003. - **`ci/validate.jl`**: the comment on `ALLOWED_PACKAGE_OWNERS` gains the same sentence. No executable line changes. - **`CHANGELOG.adoc`** [Unreleased] → Added: one entry for the ADR, directly below #109's Marid entry. ## 📌 New pins - **Head SHA:** **`8d7eeb362b4b676b27eae1abfffea401af97bf2d`** (a signed merge of `main` `7c52894`; this branch's other commit, `a4a4bef`, is signed too). - **Action pins:** none. No workflow, `actions.lock`, lockfile or container digest changes. ## RSR Quality Checklist ### Required - [x] No banned language patterns: AsciiDoc, plus one comment in an existing Julia file. - [x] SPDX license headers on new files: the ADR has `CC-BY-SA-4.0`, matching ADR 0001. - [x] No secrets, credentials or `.env` files. - [ ] CI is green: **not entirely**. Three non-required checks are red on `main` at `7c52894` too (and at `9e4dc83` before it), so this PR does not cause them. They are deferred below. ### Deferred checks (§5c) - `actions.lock is in sync with the workflow YAML`: deferred to #108. Dependabot #106 bumped `smtp-notify-action` to v0.5.0 without refreshing `.github/workflows/actions.lock`. - `governance / Allowlist Preflight`: deferred to #105. `GH_TOKEN` is empty in the step, so it reports `could not read live Actions permissions`. - `governance / Workflow security linter`: deferred to #105. `scripts/update-actions-lock.sh: No such file or directory`, exit 127. ### As Applicable — Registry Changes - [ ] `Registry.toml` index updated: N/A. No package is added, removed or rebound. - [x] Per-package TOMLs consistent: the validator reports 0 custom errors on this branch (Testing below). - [ ] Upstream package meets the quality bar: N/A. No package is registered here. - [ ] Upstream tag exists and matches: N/A. No version is registered here. ### As Applicable — Documentation / Infra Changes - [ ] `.machine_readable/6a2/*.a2ml`: N/A. A2ML is retired estate-wide (D99/D269c), so no `.a2ml` file is created or edited. - [ ] `TOPOLOGY.md`: N/A. No architectural change. - [x] Changelog updated. This repo's file is `CHANGELOG.adoc`. - [ ] Wiki updated: N/A. The wiki does not describe Layer 2b. ## Testing Every run is `ci/validate.jl <tree>` on Julia 1.10.10 with RegistryCI v11.0.0, against a `git ls-files` copy of this head. Each copy is run with `GIT_CEILING_DIRECTORIES` set, so no enclosing repository's `origin` leaks into the slug comparison. | Tree | Result | |---|---| | This head (41 packages, nine `metadatastician/marid`) | **rc=0**. Custom checks 0 errors / 0 warnings | | Same, MaridIR `repo` → `evilcorp/marid` (planted negative) | **rc=1**: `MaridIR: Package.toml repo resolves to slug "evilcorp/marid", expected an owner in ("hyperpolymath", "metadatastician")` | | ADR claim "every package registered before #109 is `hyperpolymath`-owned" | `repo` owners of the 32 non-Marid `Package.toml` files on `main`: **32 × `hyperpolymath`** | | ADR claim "the old check reported one mismatch per Marid package" | #109's tree with `main`'s pre-#109 validator (`9e4dc83`): **rc=1, 9 owner mismatches** | The only executable file touched is `ci/validate.jl`, and only in a comment. `standards/.githooks/docstring-scan.sh` skips Julia files, so it gives no verdict here, and no function is added or changed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_016XJoh8YA2sCWQmq93CF8RX Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
6 of 12 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
This PR registers the nine Marid Tier-1 packages at v0.1.0 (owner rulings D321/D322). Their source is the
metadatastician/maridmonorepo, and each is registered bysubdir = "packages/<Pkg>"at commitfd139f763a306a7e2eca60d96ea1a1a9f77c1e71. That commit is the UUIDv8 profile-T re-mint, merged as metadatastician/marid#78.Packages: MaridArango, MaridCodec, MaridControl, MaridCRDT, MaridIR, MaridLive, MaridRaft, MaridStorage, MaridTransport.
The PR also widens
ci/validate.jlLayer 2b. Marid lives under themetadatasticianorganisation, and the unpatched validator rejects all nine packages with an owner mismatch.This registry is the only target. Nothing here is aimed at JuliaRegistries/General.
Post-merge note (2026-10-09)
This PR was marked ready and squash-merged as
7c528945at 2026-10-09T00:17:42Z, before both conditions below held. What follows from that:<Pkg>-v0.1.0tags atfd139f7are still owed. They are owner-signed. TheMaridIR-v0.1.0canary goes first.main. Each mergesmainand resolves against this PR's content. docs(adr): record the metadatastician package-owner widening as ADR 0003 #110 replaces this PR's singleALLOWED_PACKAGE_OWNERSwith its split constants (ADR 0003).mainat7c528945were already red at9e4dc830:actions.lock is in sync with the workflow YAML,governance / Allowlist Preflight,governance / Workflow security linter. This PR touched no.githubfile.Merge order as planned (superseded by the merge above)
<Pkg>-v0.1.0tags exist atfd139f7. They are owner-signed. TheMaridIR-v0.1.0canary goes first, becauserelease.ymlhas never run before.Registry.tomlandCHANGELOG.adoc. A trial merge (git merge-treeof feat(registry)!: re-mint ten placeholder UUIDs as UUIDv8 and re-register (ADR 0002) #107's headcf67a95ewith this branch) conflicts in both files. Once feat(registry)!: re-mint ten placeholder UUIDs as UUIDv8 and re-register (ADR 0002) #107 lands, I will:maininto this branch (no rebase, so the signed commit survives);Type of change
📌 New pins
c7f9f64b6aec27412a8d7f76488480f57a3b7cadfd139f763a306a7e2eca60d96ea1a1a9f77c1e71(metadatastician/maridmain, chore(deps): bump dawidd6/action-send-mail from 3.12.0 to 18 in the actions group across 1 directory #78)git-tree-sha1per package. Each one equalsgit rev-parse fd139f7:packages/<Pkg>, checked one by one:01a115ae-6523-8273-8497-753822252d6a5c71ca32eb207776d2dda2969570e8c640bfae1401a115b0-6977-8194-b1bb-ba277a2ddf75122522a80a17e8165d3e0230bcb3196b4b32c7e901a115b1-6b89-8bc1-b693-306d1d0301d50ef98fceb85a30faa4e7e64a88c23094dfa6894801a115af-6777-83e7-bbf4-4312fe84fb45432bf84d4b482e84b5a9f0afa6e271e522bdd25201a115b4-723a-8911-b469-7c18b764c41a4c76daa8e4ac08d02db18688557e2341b867e1e401a115b5-7479-8d82-a0d2-d2a681675e27367e0e315aa1ab0b767fae6dadbecbd25a21e6a901a115b8-7a8a-8f24-baaa-cf06974b0145e1e8405aeb1cb5742ee346dbc74c56c7e936baef01a115b9-7cf4-8463-9dfb-224e0c6ab6131177666f911e55c25bfdf3058ea5a49144f8c5d301a115ba-7f33-8545-9989-732142b76ec2e7ba55688bd13c422628f70f2ba921a4e769d21bThe PR adds or changes no action
uses:lines and noactions.lockentries, lockfiles or container digests.Changes
M/<Pkg>/{Package,Versions,Compat,Deps}.tomlfor the nine packages. These are LocalRegistry 0.5.7 output, unchanged. It was run in a throwaway clone because LocalRegistry refuses a worktree.Registry.toml: +9 lines only, inserted by hand betweenLowLevelandPRComms.[packages]table sorted by UUID. I discarded that rewrite so the diff shows only the nine new entries.mainwill therefore produce the re-sort as unrelated churn. That churn is expected and is not a defect.ci/validate.jlLayer 2b:ALLOWED_PACKAGE_OWNERS = ("hyperpolymath", "metadatastician")and a documentedallowed_package_owner(slug). A package'sPackage.tomlrepomay now be owned by either.repomust still behyperpolymath/….check_repo_slug!docstring sat onextract_github_slug. Each function now has its own, confirmed withDocs.doc.docs/REGISTRY-POLICY.adoc:Registry.toml". The base had 32 packages, and this PR makes 41.README.adocpackage table andCHANGELOG.adoc[Unreleased]updated.RSR Quality Checklist
Required
ci/validate.jl, both.adocfiles) keep their headers.M/Marid*/*.tomlfiles carry none, which matches 29 of the 32 existing package dirs. Registry TOML is generated data, so I did not add headers by hand..envfiles.As Applicable — Registry Changes
Registry.tomlindex updated (+9).packages/<Pkg>has its ownLICENSE, which marid'srelease.ymlchecks per subdir.[compat]is upper-bounded for every dep and weakdep (marid#22/D68 gate).<Pkg>-v0.1.0tags are on origin and peel tofd139f7(git ls-remote --tags, 9/9). They were pushed at about 10:55Z on 2026-10-09, after this PR merged at 00:17:42Z, not before it, as the original text below had planned. The registry pins tree hashes, so resolution never depended on them.Original text: Upstream tag exists and matches. Not yet. The tags
<Pkg>-v0.1.0atfd139f7are owner-signed (EstateTaggingcreationrule; GITHUB_TOKEN cannot create tags). They are to be pushed before this PR merges, and I will tick this box oncegit ls-remote --tagsshows all nine.As Applicable — Documentation / Infra Changes
.machine_readable/6a2/*.a2ml: n/a. A2ML is retired estate-wide (D308), so these boxes are not applicable and no.a2mlwas created.TOPOLOGY.md: n/a, the architecture is unchanged.CHANGELOG.adoc; the template's.mdname is stale.Testing
1. Validator, Julia 1.10.10 (the CI version), this branch:
2. Same validator, base
9e4dc83: rc=0, Layer 1 530 passed / 20 failed, 32 packages, 0 mismatches.depuuids ⊆ alluuids. That is the known gap for packages that depend on General.3. Controls proving Layer 2b is live (not vacuous):
reposet toevilcorp/maridgives rc=1 withMaridIR: Package.toml repo resolves to slug "evilcorp/marid", expected an owner in ("hyperpolymath", "metadatastician").ci/validate.jl) on this tree gives rc=1 with 9 owner mismatches. So the validator change is necessary, not cosmetic.4. End-to-end install (fresh depot, Julia 1.10.10, clone of this branch at
c7f9f64):Result: rc=0. All nine resolve at v0.1.0 (
[01a115ae]…[01a115ba]), precompile, and load (9 ×LOADED). The General deps come from General: JSON3 for MaridCodec, and HTTP v1.11.0 for MaridTransport.🤖 Generated with Claude Code
https://claude.ai/code/session_01WPSJ7fBhVAMcpSffCBWUDo
https://claude.ai/code/session_013omQK26s4uDjJMkdqNEvEG