Migrate docs from monarch-ingest to monarch-app#1258
Conversation
✅ Deploy Preview for monarch-app canceled.
|
|
claude review Details## Pull Request Review: Migrate docs from monarch-ingest to monarch-appSummaryThis PR migrates documentation from monarch-ingest to monarch-app, adding KG build process documentation, modeling principles, and a framework for automatically fetching source documentation from ingest repositories. Code Quality & Best PracticesStrengths:
Issues Found: 1. CRITICAL: Missing Python Script 🔴The Makefile references fetch-docs:
$(RUN) python $(ROOTDIR)/scripts/fetch-source-docs.pyHowever, this script does not exist in the PR. This will cause the Recommendation: Add the 2. Spelling Error 📝In
3. Spelling Error in KG Build Process 📝In
Line 67: "danging" should be "dangling" 4. Inconsistent Indentation in mkdocs.yamlThe mkdocs.yaml file mixes spaces and maintains consistent 2-space indentation, which is good. However, verify that all navigation entries are properly aligned. Potential Bugs & Issues
Performance Considerations
Security Concerns
Test CoverageMissing:
Recommendations:
Documentation QualityPositive:
Suggestions:
Additional Recommendations
VerdictDo Not Merge until the missing After adding the script and fixing the spelling errors, this will be a solid addition to the documentation infrastructure. Files to Fix:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1258 +/- ##
=======================================
Coverage 73.51% 73.52%
=======================================
Files 95 95
Lines 3417 3418 +1
=======================================
+ Hits 2512 2513 +1
Misses 905 905 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
claude review Details## Follow-up Review (after latest commit: rework mkdocs.yaml top level order)The mkdocs.yaml navigation reordering looks reasonable — putting KG Data Sources and KG Build sections first makes sense given this PR's focus. Remaining BlockerThe Minor Typos (still unaddressed)
mkdocs.yaml Navigation NoteThe new ordering places FastAPI before monarch-py. If monarch-py is the primary library documentation, keeping it higher in the nav may be worth considering — though this is a judgment call for the team. The documentation content itself (KG build process, modeling principles, sources manifest) is well-written and a useful addition. Once the missing script is added, this PR will be in good shape to merge. |
|
claude review Details## PR Review: Migrate docs from monarch-ingest to monarch-appThis PR is a solid step toward consolidating documentation. The overall structure is well-thought-out, and the manifest-driven approach for fetching ingest READMEs is clean. A few issues to address before merging: Critical: Missing
|
…rontend doc links - Rewrite docs/index.md as site-wide overview with links to all sections - Add Neo4J link-out page with example Cypher queries - Add Monarch R link-out page with docs/repo links - Add Licensing page with BSD 3-Clause / CC0 recommendations - Update mkdocs.yaml nav and site_name to 'Monarch KG Documentation' - Update PageDocumentation.vue: replace old monarch-ingest link with consolidated doc links - Fix typos in kg-build-process.md and modeling-principles.md Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
claude review Details## PR Review: Migrate docs from monarch-ingest to monarch-appThis is a solid docs consolidation effort — pulling ingest source docs into this repo and updating the documentation site structure. A few issues to address before merging: Critical: Missing scriptThe Makefile references The MMRRC missing from mkdocs.yaml navigation
|
The script was missing from the repo, causing the build-docs CI job to fail. Also fixes "authoratative" and "danging" typos in migrated docs. Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
claude review Details## PR Review: Migrate docs from monarch-ingest to monarch-appOverall this is a well-structured documentation migration. The approach of auto-fetching upstream READMEs via a manifest + script is clean, and the Issues1. MMRRC inconsistency between manifest and nav
2. docs: install-backend docs/Data-Model fetch-docsChaining 3. No GitHub token support — potential CI rate-limiting
token = os.environ.get("GITHUB_TOKEN")
req = urllib.request.Request(url)
if token:
req.add_header("Authorization", f"token {token}")4.
# Current (redundant)
except (urllib.error.URLError, urllib.error.HTTPError, OSError) as exc:
# Simpler
except (urllib.error.URLError, OSError) as exc:More importantly, 5. No manifest entry validation If a manifest entry is missing for entry in sources:
repo = entry.get("repo")
branch = entry.get("branch")
filename = entry.get("filename")
if not all([repo, branch, filename]):
print(f"ERROR: malformed manifest entry: {entry}", file=sys.stderr)
failed += 1
continueMinor / Nits
What looks good
|
Update to reflect koza graph operations merge (join → deduplicate → normalize → prune), modular ingests, DuckDB as central artifact, closurizer for denormalization, Neo4j CSV export, SQLite via DuckDB extension, and Solr loading from DuckDB with 4 cores. Replace static architecture.png with mermaid diagram. Enable mermaid in mkdocs config. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
claude review DetailsPR Review: Migrate docs from monarch-ingest to monarch-appOverall this is a solid, well-structured PR. The mermaid diagram is a great addition and fetch-source-docs.py is clean. A few things worth addressing: Issue 1: mmrrc-ingest inconsistency (manifest vs nav) Issue 2: Orphaned binary file Issue 3: fetch-docs as unconditional docs prerequisite Minor / Non-blocking
Summary
The documentation content (KG build process, modeling principles, Neo4J, MonarchR, licensing) is accurate and well-written. PageDocumentation.vue updates are clean. Great work consolidating these docs from monarch-ingest. Generated with Claude Code |
|
claude review DetailsPR Review: Migrate docs from monarch-ingest to monarch-appOverall this is a well-structured PR. The doc consolidation makes good sense, the manifest-driven fetch approach is clean, and the new pages are informative. A few things worth addressing before merging: BUG: mmrrc is in the manifest but absent from mkdocs.yaml nav docs/sources-manifest.yaml includes an entry for monarch-initiative/mmrrc-ingest (producing mmrrc.md), but mkdocs.yaml has no corresponding nav entry under KG Data Sources. The file will be fetched and written to disk but will never appear in the rendered docs navigation. An 'MMRRC: Sources/mmrrc.md' line needs to be added to the nav. ISSUE: fetch-docs as a mandatory docs dependency breaks offline builds Running 'make docs' now unconditionally requires network access to GitHub. Anyone building locally without internet, or a CI job from a cached checkout, will fail. Consider keeping fetch-docs standalone and removing it from the docs dependency chain. Alternatively, add a 'make docs-full' target that chains both. ISSUE: mkdocs.yaml nav references gitignored files The .gitignore correctly excludes docs/Sources/*.md (except index.md), but mkdocs.yaml explicitly lists all 23 source files in the nav. Running 'mkdocs build' without first running 'make fetch-docs' will abort with missing-file errors. The docs/Sources/index.md already notes this requirement; a matching comment in mkdocs.yaml would also help contributors. ISSUE: fetch-source-docs.py has no GitHub auth or retry logic The script fetches 23 files from raw.githubusercontent.com with no authentication. GitHub unauthenticated rate limit is 60 req/hr, which can be exceeded in shared CI. There is also no retry for transient timeouts, so a single flaky request fails the whole build. Suggest supporting an optional GITHUB_TOKEN env var as an Authorization Bearer header and adding a simple single-retry. MINOR: HTTPError is redundant in the except tuple urllib.error.HTTPError is a subclass of urllib.error.URLError, so listing both is redundant. (urllib.error.URLError, OSError) is sufficient. MINOR: trailing blank line in docs/Principles/modeling-principles.md The file ends with an extra blank line. Not a blocker. Positive notes:
|
- Fix bug: add MMRRC to mkdocs.yaml nav (was in manifest but missing from nav) - Decouple fetch-docs from docs target; add docs-full target that chains both - Add comment in mkdocs.yaml warning that Sources/*.md files require make fetch-docs - Remove trailing blank line in docs/Principles/modeling-principles.md Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
PR Review: Migrate docs from monarch-ingest to monarch-appOverall this is a well-structured PR. The mermaid diagram is a nice upgrade over the static PNG, and the fetch-docs system is a smart approach to keeping source documentation in sync. A few things worth addressing before merge: Potential CI breakage (most important): The source files under Nav / manifest sync risk: Both
Minor: Content quality: The mermaid diagram accurately reflects the pipeline, the Neo4j Cypher examples are useful, the KG build process doc is a genuine improvement over what existed before, and the Licensing page is a welcome addition. Summary: The main concern is the |
Summary
Migrates KG documentation from monarch-ingest into monarch-app and adds infrastructure for automatically fetching source documentation from KozaHub modular ingest repos.
What this PR does
docs/sources-manifest.yaml) + script (scripts/fetch-source-docs.py) that pulls README files from each KozaHub ingest repo into the Sources section at doc build timePageDocumentation.vueto point to the new structureWhat needs human review
New code — please review carefully
scripts/fetch-source-docs.pymake docs.docs/sources-manifest.yamlMakefile(fetch-docs target)fetch-docsinto thedocsbuild. This meansmake docsnow requires network access to GitHub.mkdocs.yamlfrontend/.../PageDocumentation.vueRewritten content — worth a read-through
docs/KG-Build-Process/kg-build-process.mddocs/index.mddocs/Neo4J/index.mddocs/MonarchR/index.mddocs/Licensing/index.mdMigrated as-is from monarch-ingest — low review priority
docs/Principles/modeling-principles.mddocs/Creating-an-Ingest.mddocs/Sources/index.mddocs/KG-Build-Process/architecture.png