Repository navigation
Agent/restore documentation reporting - #1
Merged
ahmelkholy merged 22 commits intoAug 21, 2026
Merged
ahmelkholy merged 22 commits into
ahmelkholy merged 22 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR restores and expands the AIMORAReporting.jl package to provide a semantic reporting boundary for AIMORA, including immutable result bindings, QA, deterministic multi-format rendering, review/approval workflow, templates, and an executable complete example. It also adds documentation and GitHub Actions workflows intended to verify the restoration on the agent/restore-documentation-reporting branch.
Changes:
- Reintroduces core reporting types, canonical JSON + SHA-256 hashing, QA checks, providers, renderers, and report lifecycle workflow APIs in
AIMORAReporting.jl/src. - Adds/updates tests, a complete runnable example, package structure checks, and developer tooling (
Makefile,check.jl). - Introduces restoration-status documentation and CI workflows to validate deterministic outputs and record verification state.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| RESTORATION_STATUS.md | Documents restoration scope, verification intent, and upstream PR target. |
| AIMORAReporting.jl/src/AIMORAReporting.jl | Rebuilds module entrypoint, includes submodules, exports API surface, registers providers on init. |
| AIMORAReporting.jl/src/types.jl | Adds reporting schema/versioning, core semantic types (bindings, blocks, document control). |
| AIMORAReporting.jl/src/canonical.jl | Implements canonical JSON serialization and SHA-256 hashing for semantic determinism. |
| AIMORAReporting.jl/src/visuals.jl | Adds deterministic event/extrema-preserving sampling utilities. |
| AIMORAReporting.jl/src/providers.jl | Adds provider registry and default provider implementations for report families. |
| AIMORAReporting.jl/src/qa.jl | Implements semantic QA validation and issue reporting for reports/tables/figures/dependencies. |
| AIMORAReporting.jl/src/templates.jl | Adds template loading + validation and template hashing. |
| AIMORAReporting.jl/src/renderers.jl | Adds Markdown/HTML/Text/JSON/TeX/CSV/SVG/TikZ rendering and bundle publication manifesting. |
| AIMORAReporting.jl/src/workflow.jl | Adds review lifecycle operations (submit, comment, approve, freeze, revise, supersede). |
| AIMORAReporting.jl/test/runtests.jl | Expands tests to cover binding canonicalization, QA, workflow lifecycle, deterministic bundles, templates. |
| AIMORAReporting.jl/examples/complete_report/run.jl | Adds a complete end-to-end public example producing a deterministic output bundle. |
| AIMORAReporting.jl/README.md | Updates package description, design principles, quick start, outputs, and test instructions. |
| AIMORAReporting.jl/Project.toml | Bumps version and declares dependencies. |
| AIMORAReporting.jl/Makefile | Adds check, test, example, clean targets for local workflows. |
| AIMORAReporting.jl/check.jl | Adds structure/forbidden-dependency checks for restored package boundary. |
| .github/workflows/restore-reporting-verification.yml | Adds branch-scoped verification workflow (tests + deterministic bundle comparison + verification recording). |
| .github/workflows/fix-restore-workflow-loop.yml | Adds a self-modifying “one-time” workflow intended to prevent verification marker loops. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+85
to
+87
| function _markdown_block(figure::FigureBlock) | ||
| return "### $(figure.plot.title)\n\n.svg)\n\n*$(figure.caption)*\n" | ||
| end |
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, ",") * "}" |
Comment on lines
+12
to
+17
| permissions: | ||
| contents: write | ||
|
|
||
| concurrency: | ||
| group: restore-reporting-${{ github.ref }} | ||
| cancel-in-progress: true |
Comment on lines
+1
to
+5
| name: One-time fix for restored reporting verification trigger | ||
|
|
||
| on: | ||
| push: | ||
| branches: |
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.
No description provided.