Repository navigation
Integrate professional semantic reporting - #2
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Integrates the AIMORAReporting Julia package into the main line as a full semantic reporting boundary, including typed report structures, QA, deterministic rendering/publication, and a review/approval workflow, while bumping the package version to 0.2.0.
Changes:
- Bump AIMORAReporting package version to
0.2.0in both the repo package graph and the JuliaProject.toml. - Add the AIMORAReporting implementation (types, canonical encoding + hashing, providers, QA, templates, renderers, workflow) and export the public API.
- Add comprehensive tests plus a runnable complete-report example and a small structural
check.jl+ Makefile workflow.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| package-graph.toml | Updates AIMORAReporting version in the repository package graph. |
| AIMORAReporting.jl/Project.toml | Bumps version and declares stdlib dependencies for the package. |
| AIMORAReporting.jl/src/AIMORAReporting.jl | Defines the module, includes submodules, exports API, registers default providers in __init__. |
| AIMORAReporting.jl/src/types.jl | Introduces core report/QA/template/publication data types. |
| AIMORAReporting.jl/src/canonical.jl | Implements canonical JSON + SHA-256 hashing utilities for determinism. |
| AIMORAReporting.jl/src/visuals.jl | Adds deterministic downsampling utilities for plot series. |
| AIMORAReporting.jl/src/providers.jl | Adds provider registry and default providers to build semantic reports per study family. |
| AIMORAReporting.jl/src/qa.jl | Adds semantic QA checks for reports, tables, figures, dependencies, approvals/comments. |
| AIMORAReporting.jl/src/templates.jl | Adds template parsing/validation + hashing. |
| AIMORAReporting.jl/src/renderers.jl | Adds Markdown/HTML/Text/JSON/TeX/CSV/SVG/TikZ rendering and deterministic bundle generation. |
| AIMORAReporting.jl/src/workflow.jl | Adds submit/review/comment/approve/freeze/revise/supersede workflow operations. |
| AIMORAReporting.jl/test/runtests.jl | Adds end-to-end test coverage for binding, QA, workflow lifecycle, and deterministic bundles. |
| AIMORAReporting.jl/examples/complete_report/run.jl | Adds a complete example that generates and publishes a frozen deterministic bundle. |
| AIMORAReporting.jl/README.md | Documents design principles, quick start, providers, bundle contents, and testing commands. |
| AIMORAReporting.jl/check.jl | Adds a structural/package-sanity check script (file presence + forbidden dependency text scan). |
| AIMORAReporting.jl/Makefile | Adds convenient check/test/example/clean targets to run package verification locally/CI. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+49
to
+57
| elseif value isa AbstractDict | ||
| keys_sorted = sort!(String.(collect(keys(value)))) | ||
| entries = String[] | ||
| for key in keys_sorted | ||
| original_key = findfirst(candidate -> String(candidate) == key, collect(keys(value))) | ||
| key_object = collect(keys(value))[original_key] | ||
| push!(entries, canonical_json(key) * ":" * canonical_json(value[key_object])) | ||
| end | ||
| return "{" * join(entries, ",") * "}" |
| isempty(strip(binding.units_base)) && _issue!(issues, :error, :missing_unit_base, binding.result_id, "units base is empty") | ||
| end | ||
|
|
||
| component_ids = String[] |
Comment on lines
+25
to
+26
| report.state in (:review, :approved) || throw(ArgumentError("review comments require review or approved state")) | ||
| component_ids = Set{String}((report.id,)) |
| """ | ||
| function event_preserving_indices( | ||
| x::AbstractVector, | ||
| y::AbstractVector, |
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.
Integrates the complete commit history of #1 into the organization-owned main line, repairs the package-graph version, Julia syntax, constructor precompilation, and canonical type encoding defects found by CI, and removes branch-only restoration automation/status artifacts. Local verification: AIMORAReporting 30/30; Platform repository contract 69/69; deterministic complete-report bundle matches byte-for-byte.