Skip to content

Agent/restore documentation reporting - #1

Merged
ahmelkholy merged 22 commits into
AIMORA-dev:mainfrom
ahmelkholy:agent/restore-documentation-reporting
Aug 21, 2026
Merged

ahmelkholy merged 22 commits into
AIMORA-dev:mainfrom
ahmelkholy:agent/restore-documentation-reporting

Conversation

@ahmelkholy

Copy link
Copy Markdown
Member

No description provided.

Copilot AI lite review requested due to automatic review settings August 20, 2026 12:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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![${figure.alt_text}](figures/$(figure.id).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:
@ahmelkholy
ahmelkholy merged commit fcc2021 into AIMORA-dev:main Aug 21, 2026
7 of 9 checks passed
@ahmelkholy
ahmelkholy deleted the agent/restore-documentation-reporting branch August 29, 2026 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants