Repository navigation
Add generated public documentation inventories - #4
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Adds generated public documentation inventories and expands guidance for studies, workflows, parsing, and result validation.
Changes:
- Adds workflow, validation, study, glossary, and deck/card documentation.
- Generates study, model, parser, and case inventories.
- Integrates generation and audits into documentation checks and excludes generated artifacts.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Summary | Final review comments |
|---|---|---|
docs/src/study-reference.md |
Study maturity and capability guidance | 2 nit comments (2 votes each): align the not_implemented contract with implementation behavior; demote section headings to H2. |
docs/src/results-and-validation.md |
Result interpretation and validation guidance | Nit (2 votes): demote section headings to H2. |
docs/src/professional-workflow.md |
Reproducible engineering workflow | Moderate (2 votes): include the required AIMORAProject checkout or update the package-test command. |
docs/src/glossary.md |
Expanded technical terminology | Nit (2 votes): retain definitions for existing concepts still used throughout the documentation. |
docs/src/deck-card-reference.md |
Deck and parser guidance | Nit (2 votes): demote section headings to H2. |
docs/make.jl |
Documentation navigation and build entrypoint | Critical (1 vote): generate required inventories before makedocs so direct Documenter invocations work from a fresh checkout. |
docs/generate_reference_pages.jl |
Generated public inventories | Moderate (3 votes): fail when required model/parser source roots are missing or invalid instead of generating empty inventories. |
docs/content_audit.jl |
Documentation completeness audits | No final comments. |
docs/check.jl |
Integrated documentation checks | No final comments. |
.gitignore |
Generated artifact exclusions | No final comments. |
Suppressed comments (5)
docs/check.jl:71
- The new recursive scan includes generated inventories, but its forbidden set still checks only
/home/and does not include the/Users/,/mnt/,/tmp/, or private attachment patterns used by the existing content gate. The case catalog copies catalog-controlled paths and descriptions into these generated pages, so those values can bypass the claimed private-path audit and be published. Apply the same path/URL checks to every page scanned here.
sort(collect(Iterators.flatten(
(joinpath(root, name) for name in names if endswith(name, ".md"))
for (root, _, names) in walkdir(joinpath(REPOSITORY_ROOT, "src"))
)))
docs/generate_reference_pages.jl:46
@enumalso supports inline members such as@enum State idle running; this branch only scans subsequent lines. For that valid form it can omit the members and continue scanning until a laterend, misclassifying unrelated identifier-only lines as enum members, so the generated declaration inventory is incorrect. Parse inline members and stop scanning when the declaration is complete.
if kind == :enum
enum_match = match(r"^([A-Za-z_][A-Za-z0-9_]*)\s*(?:=\s*[-+0-9]+)?\s*,?$", stripped)
enum_match === nothing || push!(values, enum_match.captures[1])
continue
docs/generate_reference_pages.jl:232
- The generated execution meaning repeats the typed-result promise for planned studies, but the current engine's
study_not_implementedhelper raises instead of returning a result. This makes the generated catalog document an API that callers cannot use; align the generated wording with the engine or change the engine contract.
function _status_meaning(status)
status == :implemented && return "Callable and expected to produce a typed result for valid supported input."
status == :prototype && return "Experimental interface; behavior and qualification may change."
status == :legacy_reference && return "Retained for comparison or historical qualification, not the production execution path."
return "Declared roadmap interface only; callers must expect a not-implemented result."
docs/src/professional-workflow.md:57
- This repeats a typed-return contract that the current public API does not implement: planned
run_*functions callstudy_not_implemented, which throws rather than returningStudyResult(status = :not_implemented). Please align this workflow with the actual failure behavior or update the engine contract before presenting it as the user-facing procedure.
A planned descriptor must return a transparent `not_implemented` result. It must never fabricate values or silently substitute another study.
docs/src/results-and-validation.md:109
- This residual omits the initial stored-energy term, even though the preceding text requires recording it. For a lossless case initialized with capacitor/inductor/machine energy, the expression is nonzero solely because that initial energy is missing; include
E_{\text{stored}}(0)(or define every energy term as a change from the integration start).
r_E(t) = E_{\text{external}}(t) - E_{\text{stored}}(t) - E_{\text{dissipated}}(t) - E_{\text{exported}}(t).
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| function _inventory(root::AbstractString, directory::AbstractString) | ||
| records = NamedTuple[] | ||
| isdir(directory) || return records |
Comment on lines
+63
to
+67
| "Generated Public Inventories" => [ | ||
| "Study Catalogue" => "generated/study-catalog.md", | ||
| "Model Declaration Index" => "generated/model-index.md", | ||
| "Deck and Card Declaration Index" => "generated/deck-card-index.md", | ||
| "Case Catalogue" => "generated/case-catalog.md", |
| 8. **Round-trip awareness** — normalized output may differ in formatting but should preserve the typed meaning. | ||
|
|
||
| ## Simulation-control cards | ||
| # Deck lifecycle |
Comment on lines
+3
to
+5
| **Acceptance criterion** — A predefined quantitative or logical condition that a run, model, case, or comparison must satisfy before it is accepted. | ||
|
|
||
| **Availability** | ||
| Whether a study or capability is `implemented`, `planned`, `unavailable`, or retained only as a `legacy_reference`. | ||
| **Algebraic state** — A variable solved from instantaneous constraints rather than integrated through time. |
Comment on lines
+23
to
+24
| git clone https://github.com/AIMORA-dev/AIMORA.jl.git | ||
| git clone https://github.com/AIMORA-dev/AIMORAResources.git |
|
|
||
| AIMORA results are engineering evidence only when their quantity semantics, units, bases, signs, analysis windows, assumptions, warnings, numerical residuals, and comparison method are preserved. A plot without metadata is not a result contract. | ||
|
|
||
| # Typed result structure |
| |---|---|---| | ||
| | `implemented` | A supported execution path exists for a declared validity domain | Validate input, execute, return a typed result and diagnostics | | ||
| | `prototype` | Experimental numerical path or interface | Mark experimental behavior and qualification gaps explicitly | | ||
| | `planned` | Roadmap/API descriptor only | Return a typed `not_implemented` result; never fabricate values | |
|
|
||
| A filename, function stub, menu entry, or catalog row does not prove implementation. The descriptor status and returned result status control the claim. | ||
|
|
||
| # Implemented studies |
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 #2 after #1, retaining the evidence-aligned model/solver/troubleshooting manuals while adding generated study/model/parser/case inventories, a public professional workflow, and result-validation guidance. The check now generates four inventories, audits 67 model owners, 15 parser owners, 15 required pages, 102 cases, eight templates, private-path leakage, links, and public Engine load before Documenter builds. Removed the branch completion-status artifact and personal/private workspace instructions. Local verification: docs checks PASS; Documenter build PASS; Resources repository/licence/privacy contracts 75/75; report templates 3/3.