feat(deed): (maturity …) repo-deed vocabulary - #1139
Conversation
Owner decision 2026-10-02: maturity is a clause of its own rather than a :maturity field on the status clause. Declares the clause (:level from the closed set experimental|alpha|beta|production|lts, optional :since), adds a valid fixture, and records the ruling on the maturity row of state-v1-decision. The rest of that decision stays open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AJZGNqQsEHjjhzfcNm4pt3
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (3)
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 |
|
Autopilot could not be updated. Open Coding to check access and billing. |
|
## What Retires every `.a2ml` file in this repo. The facts they held now live in the DEED and k9 forms that `hyperpolymath/standards` defines as ABNF grammars: - **`ZeroInflatedCounts.jl_chora.deed`** is the single machine-readable record. It holds the identity, clade (`dx`), forges, lineage, status (`:phase incubating`), maturity (`:level experimental`), meta, ecosystem (IS / IS-NOT, chain, relations) and agentic clauses. - **`.machine_readable/descriptiles/provisioning_praxis.deed`** covers toolchain provisioning. - **`.machine_readable/self-validating/*.k9.ncl`** are the k9 contracts. - **`docs/status/ROADMAP.adoc`** holds milestones and next actions. - **`CLAUDE.md`** is hand-maintained and points at the above. Removed with no replacement, recoverable from `f53a0df`: - `.machine_readable/contractiles/`, `arrival-pack/`, `coaptation/`, `integrations/`; - the Justfile recipes that drove them; - `build/just/repo-init.just` and `build/just/groove.just`. Minting is one-shot and this repo is already minted. Everything that read the old files now reads the deed: `just validate-state`, `validate-rsr`, `info`, `state-phase`, `verify-template`, `assess`; `scripts/validate-template.sh`; the OSSF workflow check; and the pre-commit deed hook. Every edited gate has a negative control. About 25 live docs (onboarding, governance, the `.machine_readable` READMEs, the AI install guide, setup and quickstart) now point at the deed and ROADMAP. Steps that ran `just repo-init` are gone. `docs/architecture/REPOSITORY-MAP.adoc` was regenerated with `just repo-map`. In `julia-docs.yml` the error message no longer names a file that never existed here. ## Owner decisions applied (2026-10-02) - **Maturity** has its own `(maturity :level experimental :since …)` clause instead of sitting on the `status` clause (state-v1-decision option B was declined). The clause is declared in hyperpolymath/standards#1139 (`1-formats/deed/vocabulary/maturity.adoc`). Until that merges, it is a clause head the standards vocabulary does not yet define. `just state-phase` reads both clauses. - **Clade** `dx` (Developer Ecosystem), as for the other Julia libraries in `gv-clade-index`. MetaManifold-WebUI has no clade registered, so "the same as MetaManifold-WebUI" could not be copied. ## Evidence | Check | Result | |---|---| | Both deeds vs `deed.abnf` v1.0.0 (scratch recogniser, Bun) | accepted. 5 planted mutants rejected (duplicate `:schema-version`, TAB, no SPDX header, `\r` escape, filename dispatch) | | `.github/hooks/validate-deed.sh .` | 2 files, 0 errors | | `nickel export` on all 7 `.k9.ncl` (after stripping the `K9!` line) | all ok. Negative control: a malformed file gives rc=1 | | `just validate-state` / `validate-rsr` | pass. Controls: no deed, no `:phase`, a missing axis string → fail | | OSSF deed-count step | 1 deed rc=0, 0 deeds rc=1, 2 deeds rc=1 | | `scripts/validate-template.sh` | rc=0 | | `tests/invisible-characters-test.sh` | pass. Its fixture moved to a `.deed`; dropping `*.deed` from the scanner's glob makes the test fail | | `tests/e2e.sh`, `check-no-placeholders.sh`, `check-no-vlang.sh`, `check_no_vlang_test.sh` | pass | | `just test` | Julia `Pkg.test()` passes and Idris2 typecheck passes. The Zig leg fails at `src/interface/ffi/src/main.zig:55` (`zeroinflatedcounts.jl_init` is not a valid identifier): this also fails on `f53a0df`, and this PR does not touch `src/interface/` | | `just quality` (`fmt-check lint test`) | `fmt-check` and `lint` have only a Zig leg and fail at the same line; `test` is as above. All of these also fail on main | **Horizon:** CI does not run a DEED parser over the deed. The recogniser above is a scratch transcription of the ABNF, not the canonical validator. So the deed's validity is *tested locally* here, not *gated in CI*. ## Not changed here (owner or source-level) - Estate-synced workflows and hooks still name `.a2ml`: dogfood-gate, deed-validate, the compliance canary, estate-rules, dogfood-summary, `validate-deed.sh`. Every such read is dual-accept or guarded with `-f` / `curl -f`, so nothing fails. They should be retired at source and re-synced. - `.machine_readable/compliance/reuse/dep5` keeps two stanzas that now match nothing. It is a licence file, so editing it is an owner-only change. - The template's `repo-init` still writes a2ml into new mints; that fix belongs to rsr-template-repo#209. - `tests/e2e/template_instantiation_test.sh` still calls `just repo-init`. It exits early here because `archetypes/` is absent, so it never reaches that call. It is template code, and its fix belongs with #209. - `docs/AI_INSTALLATION_GUIDE.adoc` has only clone, init and verify steps left. Whether to keep it is an owner decision. - Pre-existing and unrelated: `just verify-template` fails on main, `just validate-ai-install` (README has no ai-install section) and `tests/e2e/julia_mint_test.sh` fail standalone. ## Deferred red checks (also red on main f53a0df) - `actions.lock is in sync with the workflow YAML`: deferred to #3 - `governance / Actions lockfile verify`: deferred to #3 - `governance / Allowlist Preflight`: deferred to #3 - `governance / Workflow security linter`: deferred to #3 - `lint-workflows`: deferred to #3 All of the above are logged in `dev-notes/inbox/findings.md`. Refs: hyperpolymath/MetaManifold-WebUI#18 (D222). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01AJZGNqQsEHjjhzfcNm4pt3 --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>



What
Declares a
(maturity …)clause for repo deeds, as the owner decided on 2026-10-02: maturity is a clause of its own, not a:maturityfield on thestatusclause.1-formats/deed/vocabulary/maturity.adoc.:levelis a symbol from the closed setexperimental | alpha | beta | production | lts, the set the v1[position] maturitycomment already named.:since "YYYY-MM-DD"is optional. The page also states reader obligations: unknown field, out-of-set level, string level and duplicate clause are all errors; with no clause, maturity is unstated, never a default.1-formats/deed/tools/fixtures/valid/maturity-clause_chora.deedis a valid fixture.mappings/state-v1-decision.adoc: the maturity row in §3 is marked as ruled. The A/B/C choice stays open, and the document's status is unchanged.Same pattern as
vocabulary/updates.adoc(#1110). The grammar is unchanged: this is aclauseunderdeed.abnfv1.0.0. The terms move intoestate_chora.deed's(vocabulary …)clause once that file exists.Evidence
deed.abnf(scratch Bun recogniser, not the canonical validator)updates-clausefixture is also accepted as a controlscripts/build-registry.sh --check1-formats/deedis not a registry spec homeHorizon: no reader enforces the obligations yet. They are declared here, not implemented.
Consumer
hyperpolymath/ZeroInflatedCounts.jl#2already carries(maturity :level experimental :since "2026-10-02").🤖 Generated with Claude Code
https://claude.ai/code/session_01AJZGNqQsEHjjhzfcNm4pt3