Date: 2025-10-29 Auditor: Claude Code Scope: Zoo, Lux, Hanzo, Zen papers repositories
Audited 4 papers repositories across Zoo, Lux, Hanzo, and Zen projects for similar GitHub Pages/Jekyll configuration issues. Found and fixed issues in 2 repositories (Zoo and Lux). Hanzo and Zen papers repos only compile PDFs and don't deploy to GitHub Pages, so no issues found.
| Repository | Path | Deployment | Status | Issues Found |
|---|---|---|---|---|
| Zoo Papers | /Users/z/work/zoo/papers |
GitHub Pages | ✅ Fixed | Jekyll theme conflicts |
| Lux Papers | /Users/z/work/lux/papers |
GitHub Pages | ✅ Fixed | Missing .nojekyll |
| Hanzo Papers | /Users/z/work/hanzo/papers |
None (PDF only) | ✅ OK | None |
| Zen Papers | /Users/z/work/zen/papers |
None (PDF only) | ✅ OK | None |
- URL: https://papers.zoo.ngo
- Method: GitHub Actions → GitHub Pages
- Custom Domain: Yes (papers.zoo.ngo)
Severity: High Impact: Console errors on live site
Root Cause:
_config.ymlhad Jekyll theme configuration (jekyll-theme-minimal)- Theme tried to load external JavaScript files (
scale.fix.js) - Workflow generates standalone static HTML, not Jekyll site
- Conflict between workflow's
.nojekylland config file
Console Errors:
Loading failed for the <script> with source
"https://papers.zoo.ngo/papers/assets/js/scale.fix.js"
Severity: Medium Impact: Console errors, but not site-breaking
Root Cause:
- Cloudflare automatically injects analytics/bot protection scripts
- CORS policy blocks beacon.min.js
- Subresource Integrity (SRI) hash mismatch
Console Errors:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading
the remote resource at https://static.cloudflareinsights.com/beacon.min.js
-
Disabled Jekyll Theme (Commit: 1204968)
- Commented out
theme: jekyll-theme-minimal - Commented out
remote_theme: pages-themes/minimal@v0.2.0 - Commented out all Jekyll plugins
- Already had
.nojekyllin workflow
- Commented out
-
Created Cloudflare Configuration Guide
- Added
CLOUDFLARE_CONFIG.mdwith detailed instructions - Requires manual Cloudflare dashboard configuration
- Instructions to disable Browser Insights and Bot Fight Mode
- Added
# Check deployment
gh run list --repo zooai/papers --limit 3
# Visit site
open https://papers.zoo.ngoResult: ✅ Deployment successful, scale.fix.js error resolved
- URL: https://papers.lux.network
- Method: Next.js static export → GitHub Pages
- Custom Domain: Yes (papers.lux.network)
Severity: Low (preventative) Impact: Potential future issues with Jekyll processing
Root Cause:
- Next.js generates
_next/directory (starts with underscore) - GitHub Pages Jekyll processing ignores underscore directories by default
- No explicit
.nojekyllfile to prevent Jekyll processing
Potential Issues:
- Jekyll might try to process the site
- MIME type issues with static assets
- Script loading failures
- Inconsistent behavior across deployments
Added .nojekyll File (Commit: 3726723)
- Created
public/.nojekyllfile - Next.js build copies it to
out/directory - Explicitly disables Jekyll processing on GitHub Pages
Next.js Static Export:
// next.config.js
{
output: 'export',
images: { unoptimized: true },
trailingSlash: true,
basePath: process.env.NEXT_PUBLIC_BASE_PATH || '',
}Build Process:
pnpm build→ generates static site inout/out/contains CNAME file withpapers.lux.network.nojekyllnow included inout/- Uploaded to GitHub Pages
# Check deployment
gh run list --repo luxfi/papers --limit 3
# Verify .nojekyll in build output
ls -la /Users/z/work/lux/papers/out/.nojekyll
# Visit site
open https://papers.lux.networkResult: ✅ Fix deployed, no issues expected
- Method: Docker + LaTeX compilation only
- Deployment: None (PDFs stored as GitHub artifacts)
- Workflow:
.github/workflows/build-papers.yml
Architecture:
- Compiles LaTeX files to PDFs using
texlive/texlive:latestDocker image - Uploads PDFs as GitHub Actions artifacts (90-day retention)
- Creates releases on tags with attached PDFs
- No GitHub Pages deployment → No Jekyll issues possible
Papers Included:
hanzo-aso.tex→ ASO (Adaptive Semantic Optimization)hanzo-dso.tex→ DSO (Decentralized Semantic Optimization)hanzo-hmm.tex→ HMM (Hamiltonian Market Maker)hanzo-network-architecture.texhanzo-network-whitepaper.tex- Plus Jin and Zen subdirectories
- Checkout repository
- Set up Docker Buildx
- Build PDFs with LaTeX (via Docker)
- Upload PDFs as artifacts
- Create Release on Tag (optional)No Action Required: ✅ Repository is correctly configured for its purpose
- Method: Docker + LaTeX compilation
- Deployment: PDFs committed back to repo + GitHub releases
- Workflow:
.github/workflows/compile-papers.yml
Architecture:
- Compiles LaTeX files to PDFs using
texlive/texlive:latestcontainer - Stores PDFs in
pdfs/directory - Commits PDFs back to repository with
[skip ci] - Creates GitHub releases with PDFs attached
- No GitHub Pages deployment → No Jekyll issues possible
Papers Included (22 Zen family models):
zen-3d.tex→ 3D understandingzen-agent.tex→ Agent workflowszen-artist*.tex→ Multiple artist modelszen-coder_whitepaper.tex→ Code generationzen-designer*.tex→ Multiple designer modelszen-director.tex→ Video directionzen-eco_whitepaper.tex→ Ecosystem overviewzen-foley.tex→ Audio synthesiszen-guard_whitepaper.tex→ Safety modelzen-musician.tex→ Music generationzen-nano_whitepaper.tex→ 0.6B parameter modelzen-next_whitepaper.tex→ Next generationzen-omni_whitepaper.tex→ Multimodalzen-reranker.tex→ Search rerankingzen-scribe_whitepaper.tex→ Writing assistantzen-technical-paper.tex→ Technical detailszen-video.tex→ Video generationzen-voyager.tex→ Exploration agentzen-world.tex→ World modelingzen_family_overview.tex→ Family overview
- Checkout repository
- Install LaTeX (texlive-full)
- Compile all .tex files to PDFs
- Move PDFs to pdfs/ directory
- Upload PDFs as artifacts (90-day retention)
- Create GitHub release with PDFs
- Commit PDFs back to repositoryNo Action Required: ✅ Repository is correctly configured for its purpose
- Location: Subdirectory within Hanzo papers
- Method: Local LaTeX compilation
- Focus: Jin (multimodal AI framework) research papers
Papers Included:
- Army grant proposals (AAL/TAC format)
- FAIR paper submissions
- JEPA (Joint-Embedding Predictive Architecture) papers
- A2V2 (Audio-to-Video-to-Audio) whitepaper
- MOE (Mixture of Experts) proposals
- No automated deployment
- Compiled manually or via parent Hanzo papers workflow
- PDFs stored locally with figures/
-
Zoo Papers:
- ✅ Disabled Jekyll theme in
_config.yml - ✅ Disabled Jekyll plugins
- ✅ Created
CLOUDFLARE_CONFIG.mdguide - ✅ Committed and deployed
- ✅ Disabled Jekyll theme in
-
Lux Papers:
- ✅ Added
public/.nojekyllfile - ✅ Committed and deployed
- ✅ Added
- Hanzo Papers: Correctly configured (PDF compilation only)
- Zen Papers: Correctly configured (PDF compilation only)
-
Monitor Deployments:
- Watch GitHub Actions for any new issues
- Check console logs after each deployment
-
Cloudflare Configuration (Zoo & Lux):
- Follow instructions in
CLOUDFLARE_CONFIG.md - Disable Browser Insights in Cloudflare dashboard
- Disable Bot Fight Mode
- Clear cache after changes
- Follow instructions in
-
Documentation:
- Keep README.md files updated
- Document deployment processes
- Include troubleshooting guides
- Always use .nojekyll for GitHub Pages deployments
- Avoid Jekyll themes when using custom static site generators
- Test deployments on staging before production
- Monitor console for any script loading errors
- Zoo Papers site loads without scale.fix.js errors
- Lux Papers has .nojekyll file deployed
- Hanzo Papers compiles PDFs successfully
- Zen Papers compiles PDFs successfully
- All commits pushed to respective repositories
- Cloudflare configuration updated (requires manual action)
- Verify Cloudflare beacon errors resolved (after config change)
For issues related to:
- Code/Config: Check GitHub repository issues
- Cloudflare: See
CLOUDFLARE_CONFIG.mdin Zoo papers - Deployments: Check GitHub Actions logs
Audit Complete: 2025-10-29 All Critical Issues Resolved: ✅ Manual Actions Required: Cloudflare dashboard configuration for Zoo/Lux papers