Repository navigation
fix(rsr): restore the deed-first 3.1.1 and 3.2.1 that #1117 described (main does not compile) - #1128
Conversation
main has not compiled since #1117: descriptiles_parse/1 calls deed_state/1, which nothing defines; a duplicate `record_files == []` branch can never run; and descriptile_carrier/0 is defined but never used, so 3.1.1 still read only the directory. - deed_state/1: the chora deed is :absent, :ok (parses as a repo-deed) or :broken. deed_parses?/1 is folded into it. - 3.1.1 uses descriptile_carrier/0: the deed first, then the directory. - 3.2.1: a broken chora deed fails even when the .a2ml files parse. #1117's own tests ("3.1.1: a chora deed with a top-level descriptile clause is the substrate", "3.2.1 needs every carrier to parse, the deed first") fail on the code before #1117 and pass with this change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0136P7ZkGCWGEyedTtdEHAPT
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 1 minute. View limit details
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. |
|
…1129) ## What This PR fixes the three Codex P2 findings that #1110 merged with: - **WF033:** `exit` takes its argument only across blanks. Before, a masked comment (`exit # done`) let `\s+` reach the next line and read `"$CODE"` as the exit argument. - **`Hypatia.Workflow.shell_mask/2`:** `)` no longer starts a word. In `--label=$(name)#suffix`, the `#` is part of the word, so a later `--hypatia-ref` is still read. - **WF033:** `&>`, `>&` and `<&` are redirections, not a later command. `test … && echo ok &>/dev/null` keeps the list's status. ## Why These are threads 4575286064, 4575286074 and 4575286070 on #1110. The owner approved this follow-up. ## Evidence - There are 3 new tests, and each fails on `main`'s code (`213 tests, 3 failures`) and passes with this change. - `mix test test/rules test/soundness_test.exs`: `977 tests, 0 failures`. This was run with #1128's `rsr_conformance.ex` applied locally, because `main` does not compile without it. - `mix format`, `gen-rules-praxis.sh --check`, `check-readme-claims.sh` and `rules-praxis-test.sh` all pass. ## Not done - CI cannot compile this until #1128 (the `main` compile fix) merges. After that I'll merge `main` into this branch. - A `#` right after a subshell's `)`, as in `(cmd)#x`, is now read as text, not as a comment. That only errs towards reading more of the script. --- _Generated by [Claude Code](https://claude.ai/code/session_0136P7ZkGCWGEyedTtdEHAPT)_ --------- Co-authored-by: Claude <noreply@anthropic.com>



What
mainhas not compiled since #1117 (0cc4455). Inlib/rules/rsr_conformance.ex:descriptiles_parse/1callsdeed_state/1, which nothing defines (CompileError).condhas a duplicaterecord_files == []branch that can never run.descriptile_carrier/0is defined but never used. That is an unused-function warning, and 3.1.1 still read only the directory.#1117's own head (4d5538c) has the same defect. It merged while its Test, Check and Compile jobs were still queued.
This PR does what #1117's description says:
deed_state/1: the chora deed is:absent,:ok(it parses as arepo-deed) or:broken.deed_parses?/1is folded into it.descriptile_carrier/0: the deed first, then thedescriptiles/directory..a2mlfiles parse.Why
Every open hypatia PR fails Compile and Test until
maincompiles. The owner asked for this fix.Evidence
mainbut cannot compile there: "3.1.1: a chora deed with a top-level descriptile clause is the substrate", "3.1.1: a deed with none, or only nested, fails; the directory alone passes", "3.2.1 needs every carrier to parse, the deed first".origin/main:(CompileError) … cannot compile module Hypatia.Rules.RsrConformance.37 tests, 9 failures, including those tests.37 tests, 0 failures.mix test test/rules test/soundness_test.exs:974 tests, 0 failures.mix format --check-formattedpasses on the changed file.gen-rules-praxis.sh --checkandcheck-readme-claims.shalso pass.Not done
Generated by Claude Code