Repository navigation
Fix JSON model loading and probability mode validation - #68
Merged
Merged
Conversation
… gate (#61) Project.toml declared julia = "1.9", but AcceleratorGate.jl (hard dep) requires 1.10, so the floor could never resolve. Floor is now 1.10. Adds Test/Aqua/LinearAlgebra compat bounds and Aqua to [extras]+[targets] (rsr-criteria 5.2.3, 5.2.5). runtests.jl runs Aqua.test_all first and seeds the RNG so the rand()-based tests are reproducible.
Replaces ci.yml with julia-ci.yml: fmt (JuliaFormatter, check mode), JET and test jobs, matrix ["1.10", "1"] so the floor is tested, ubuntu-24.04, fail-fast: false, no continue-on-error. Pins use commit SHAs. The AcceleratorGate revision is developed before resolution in every job.
boj-build.yml posted to boj-server.local, which hosted runners cannot resolve, behind continue-on-error. It now uses the canonical estate form: it runs only when BOJ_SERVER_URL (secret or variable) is set. Release pins are aligned with the template lock and runners moved to ubuntu-24.04. Also fixes a concatenated .gitignore line.
) docs/make.jl already expected index.md and api.md, but docs/src held only AsciiDoc, so the build could not run. Converts both pages to Markdown and adds a docs environment and julia-docs.yml. Declares the julia-library preset in .machine_readable/rsr-profile.a2ml (julia, library, docs-site, published-package), so these capabilities are enforced.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
…emporary) Temporary instrumentation: the failing install/format/JET output is not visible in logs outside the UI, so it is emitted as check annotations. Removed once the root cause is fixed.
…Formatter.format_text (#61) Root cause of the red test (1.10) and test (1.11) checks: Pkg.develop(url=..., rev=...) is rejected by Pkg ('rev argument not supported by develop'), so every job failed in its install step before any test ran. This is also why the failure predates #60. Pkg.add(url=..., rev=...) pins the same revision.\n\nThe same call is fixed in the JET job, the docs workflow, the release workflow and the user install docs. The release notes now install AcceleratorGate first, since it is not in the General registry. The fmt job uses JuliaFormatter.format_text, because format_string does not exist in JuliaFormatter 2.x.
…est (#61) JET reports every read_model_json field access as a possible MethodError, because JSON3 values are Unions that include Nothing. Typed accessors check each value once and raise ArgumentError on malformed input. Also publishes Pkg.test failure output as annotations (temporary). Adds a temporary JuliaFormatter apply workflow, which commits through the API so GitHub signs it.
Automated JuliaFormatter pass (DefaultStyle) over src/ and test/, committed through the GitHub API so GitHub signs it.
…e bans Python) (#61) The governance gate bans Python in the repository. The temporary diagnostic and commit helpers are rewritten in bash. Also adds the SPDX header and job-level permissions to the temporary format workflow.
…orkflow (#61) Pkg.test only exposes project deps and extras, so 'using Random' in test/runtests.jl failed with 'Package Random not found'. Random is now a declared test extra with a compat bound (rsr-criteria 5.2.3). Also restores the SPDX header and job-level permissions of the temporary format workflow, which had been reverted, and widens the temporary diagnostics window.
Contributor
Author
|
Important Review skippedThis PR was authored by the user configured for CodeRabbit reviews. CodeRabbit does not review PRs authored by this user. It's recommended to use a dedicated user account to post CodeRabbit review feedback. ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
hyperpolymath
enabled auto-merge (squash)
October 10, 2026 10:46
| fi | ||
| # Last 40 KB of output, in 3 KB pieces. Escape % and newlines per the | ||
| # workflow-command rules so each piece is one annotation. | ||
| tail -c 40000 "$f" | split -b 3000 - /tmp/diag-piece. |
| # workflow-command rules so each piece is one annotation. | ||
| tail -c 40000 "$f" | split -b 3000 - /tmp/diag-piece. | ||
| n=0 | ||
| for piece in /tmp/diag-piece.*; do |
| echo "::error title=diag ${n}::${esc}" | ||
| n=$((n + 1)) | ||
| done | ||
| rm -f /tmp/diag-piece.* |
| fileChanges: {additions: $adds, deletions: []}, | ||
| expectedHeadOid: $head | ||
| }} | ||
| }' > /tmp/format-req.json |
| }} | ||
| }' > /tmp/format-req.json | ||
|
|
||
| gh api graphql --input /tmp/format-req.json |
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.
Materialize JSON model data as concrete dictionaries with string keys to avoid lazy JSON3 indexing during static analysis while preserving ArgumentError for malformed field types. Reject unknown probability modes before evaluating paths, including empty models.
Extend end-to-end tests for supported modes, invalid modes in empty models, JSON round-trip equivalence, and malformed JSON fields and roots.
Validation: inspected the pinned diff; tests were not run.
View coding task