Repository navigation
fix(rsr): restore the library half of #1117 lost in its merge; main compiles again - #1125
Conversation
…ompiles again The merge commit 4d5538c ("Merge branch 'main' into rsr/criteria-accept-chora-deed") that #1117 was squashed from kept the new call `deed = deed_state(repo)` in descriptiles_parse/1 but dropped the definition of deed_state/1, the `deed == :broken -> :fail` branch, 3.1.1's descriptile_carrier/0 and the deed-first anchor read. So Hypatia.Rules.RsrConformance has not compiled on main since 0cc4455 (undefined function deed_state/1), and #1117's own tests expect the dropped behaviour. This applies the diff from the squash (0cc4455) to the branch's last commit before that merge (d0880bb) for lib/rules/rsr_conformance.ex only: 3.1.1 reads a top-level descriptile clause of the chora deed, 3.1.8 reads the (anchor …) clause first, and 3.2.1 fails a chora deed that does not parse whatever .a2ml remains. With it, the 33 rsr_conformance tests pass and `mix compile --warnings-as-errors` is clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0136P7ZoBy5xGnGDLk7wQ8jC
|
Caution Review failedThe pull request is closed.
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. |
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Generated by Claude Code |
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
|
## Summary This is the writer half of the owner's 2026-11-14 ratification of the RSR scorecard deed. The grammar half is metadatastician/standards#1586 (`rsr-scorecard.abnf` v0.2.0). ## Changes - `RsrConformance.to_deed/2` writes: - `:assessor "hypatia rsr_score <version>"`, with the version from `mix.exs` at compile time; `assessor/0` returns the same string; - `:assessed-at`, the run time in UTC with whole seconds. - A new `:assessed_at` option lets tests inject a fixed `DateTime`. Offsets are converted to UTC. - Tests are extended. `docs/consumers/rsr-oracle.adoc` and the mix task docs are updated. **Includes #1125's fix (`89c0ab79`)**, which restores the part of #1117 lost in its merge, because main does not compile without it. Merge #1125 first; this branch then merges cleanly. ## Verification - `rsr_conformance`: 34 pass, 0 failures. - `mix format`: clean. `mix compile --warnings-as-errors`: clean. - `mix hypatia.rsr_score --write` on a copy of hypatia produces a deed that passes both `deed_lint --rsr-scorecard` and the plain linter, from the new standards branch. Merge after metadatastician/standards#1586. --- _Generated by [Claude Code](https://claude.ai/code/session_0136P7ZoBy5xGnGDLk7wQ8jC)_ --------- Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>



Summary
hypatia main has not compiled since #1117 (
0cc44552).lib/rules/rsr_conformance.excallsdeed = deed_state(repo)at line 652 but never definesdeed_state/1. The result isundefined function deed_state/1inHypatia.Rules.RsrConformance.The cause is merge commit
4d5538c8("Merge branch 'main' into rsr/criteria-accept-chora-deed"), which #1117 was squashed from. It kept the new call but dropped four pieces:deed_state/1definition;deed == :broken -> :failbranch;descriptile_carrier/0;#1117's own tests expect the dropped behaviour.
Changes
This touches
lib/rules/rsr_conformance.exonly. It restores the file as #1117's last commit before that merge (d0880bb5) had it:(anchor …)clause first;.a2mlremains.Verification
mix compile --warnings-as-errors: clean.rsr_conformancetests: 33 pass, 0 failures.Both were run with Elixir 1.19 / OTP 27.
Split out from
rsr/scorecard-assessorso that main is fixed first, without waiting on the scorecard change.Generated by Claude Code