57 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
e547de3468 Merge feat/add-community-site into dev
Resolved conflict in site/extra/community/layout.js by preserving the
basePath-based routing from dev branch, which properly handles both
community site hosting (tinytorch.ai) and Netlify deployment contexts.

Also preserved the 'join' action handler from dev branch for signup flow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 13:34:55 -08:00
kai
75b2a7b6e1 updated community website at /community 2025-12-05 13:03:17 -05:00
kai
8768730b6e updating site with /community/<all community> 2025-12-05 12:34:05 -05:00
Vijay Janapa Reddi
7bc4f6f835 Reorganize repository: rename docs/ to site/ for clarity
- Delete outdated site/ directory
- Rename docs/ → site/ to match original architecture intent
- Update all GitHub workflows to reference site/:
  - publish-live.yml: Update paths and build directory
  - publish-dev.yml: Update paths and build directory
  - build-pdf.yml: Update paths and artifact locations
- Update README.md:
  - Consolidate site/ documentation (website + PDF)
  - Update all docs/ links to site/
- Test successful: Local build works with all 40 pages

The site/ directory now clearly represents the course website
and documentation, making the repository structure more intuitive.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 16:31:51 -08:00
Vijay Janapa Reddi
6a322627dc Add community and benchmark features with baseline validation
- Implement tito benchmark baseline and capstone commands
- Add SPEC-style normalization for baseline benchmarks
- Implement tito community join, update, leave, stats, profile commands
- Use project-local storage (.tinytorch/) for user data
- Add privacy-by-design with explicit consent prompts
- Update site documentation for community and benchmark features
- Add Marimo integration for online notebooks
- Clean up redundant milestone setup exploration docs
- Finalize baseline design: fast setup validation (~1 second) with normalized results
2025-11-20 00:17:21 -05:00
Vijay Janapa Reddi
430c8c630f Clean up repository: remove archive images and build artifacts
- Remove site/_static/archive/ Gemini images (no longer needed)
- Remove tinytorch.egg-info/ from git tracking (build artifact)
- Add *.pdf to .gitignore to ensure LaTeX PDFs are not tracked
- Local cleanup: removed LaTeX artifacts, __pycache__, and site/_build/
2025-11-19 22:44:00 -05:00
Vijay Janapa Reddi
7bc4ee9244 Add enumitem package to fix itemize formatting
The itemize environment parameters [leftmargin=*, itemsep=1pt, parsep=0pt]
were appearing as visible text in the PDF because the enumitem package
wasn't loaded. This fix adds \usepackage{enumitem} to the preamble.

All itemized lists now format correctly with proper spacing and margins.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 08:43:41 -05:00
Vijay Janapa Reddi
80bec5eb28 Improve mobile responsiveness for comparison grid
Add CSS class to comparison grid and mobile-specific styling
to stack grid columns vertically on small screens for better UX.
2025-11-17 23:41:43 -05:00
Vijay Janapa Reddi
78b669329f Fix GIF paths for subdirectory deployments
Add JavaScript to dynamically fix GIF image paths in hero carousel
for both main site and dev subdirectory deployments. The fix detects
the current page directory and prepends it to relative _static paths.
2025-11-17 23:41:06 -05:00
Vijay Janapa Reddi
35998a25aa Fix terminal box alignment in carousel demo YAML files
- Add proper padding to account for emoji display width (2 columns)
- Ensure all box content lines are exactly 100 characters wide
- Update fix-box-alignment.py to calculate display width correctly
- Apply fixes to all 4 carousel demo YMLs

This ensures the terminal box borders align properly in generated GIFs.
2025-11-17 00:03:44 -05:00
Vijay Janapa Reddi
8c51a72ae5 Fix carousel JavaScript errors - add safety checks for missing elements
- Add checks for carousel elements existence before initializing
- Prevent auto-advance from starting if no slides exist
- Add safety checks for dots/indicators that may not be present
- Fixes TypeError when carousel is not on the page
2025-11-17 00:00:54 -05:00
Vijay Janapa Reddi
56d8feb2ba Improve SIGCSE paper with reviewer feedback and clean up repository
Paper improvements:
- Add differentiated time estimates (60-80h experienced, 100-120h typical, 140-180h struggling)
- Moderate cognitive load claims with hedging language and empirical validation notes
- Add ML Systems Research subsection with citations (Baydin AD survey, Chen gradient checkpointing, TVM, FlashAttention)
- Add comprehensive Threats to Validity section (selection bias, single institution, demand characteristics, no control group, maturation, assessment validity)
- Define jargon (monkey-patching) at first use with clear explanation

Documentation updates:
- Restructure TITO CLI docs into dedicated section (overview, modules, milestones, data, troubleshooting)
- Update student workflow guide and quickstart guide
- Remove deprecated files (testing-framework.md, tito-essentials.md)
- Update module template and testing architecture docs

Repository cleanup:
- Remove temporary review files (ADDITIONAL_REVIEWS.md, EDTECH_OPENSOURCE_REVIEWS.md, TA_STRUGGLING_STUDENT_REVIEWS.md, etc.)
- Remove temporary development planning docs
- Update demo GIFs and configurations
2025-11-16 23:46:38 -05:00
Vijay Janapa Reddi
8074f89679 Enhance intro page carousel with mobile responsiveness and sidebar textbook link
- Remove carousel text labels, rely on larger terminal frame titles (20px bold)
- Fix navigation arrow positioning: moved to top: 405px with z-index: 100
- Reduce carousel height from 500px to 450px for better spacing
- Add clickable sidebar link to mlsysbook.ai via JavaScript
- Fix quickstart button link to use .html extension
- Add mobile responsive CSS for logo, headings, and carousel
- Update Terminalizer configs with larger frame title font
- Add textbook link with hover effects in intro page
2025-11-16 23:45:39 -05:00
Vijay Janapa Reddi
06406a20c5 Reduce carousel-track height to make navigation arrows visible
Reduced min-height from 500px to 420px so the navigation arrows
appear within viewport instead of being pushed far below the visible area.
2025-11-16 23:13:17 -05:00
Vijay Janapa Reddi
42775016ac Fix carousel arrows overlapping GIF - move outside carousel-track
Changes to HTML:
- Move carousel-nav outside carousel-track container
- Navigation now appears as separate element below the carousel

Changes to CSS:
- Remove absolute positioning (no longer needed)
- Use simple flexbox layout with margin-top: 1rem
- Remove bottom/left/right positioning properties

This fixes the overlap issue where arrows were positioned at the bottom
of the carousel-track, overlapping the GIF content. Arrows now appear
cleanly below the entire carousel as a separate row.
2025-11-16 23:09:03 -05:00
Vijay Janapa Reddi
193025cc37 Move carousel arrows below heading for cleaner layout
Changes to CSS:
- Position carousel-nav at bottom:0 instead of vertical center
- Use centered horizontal layout with 1rem gap
- Reduce arrow size to 32px (smaller, less intrusive)
- Remove semi-transparent background, use solid #e2e8f0
- Simplify shadow to 0 2px 6px

The vertical center placement with arrows overlapping the GIF content
looked messy and busy. This cleaner approach positions compact arrows
centered below the heading ("Clone & Setup" etc.), keeping them visible
but not interfering with the terminal content display.
2025-11-16 23:03:57 -05:00
Vijay Janapa Reddi
528b74e992 Position carousel arrows at vertical center following standard conventions
Changes to CSS:
- Position carousel-nav absolutely at top:50% with translateY(-50%)
- Use space-between to place arrows on left/right edges
- Increase arrow size to 44px for better visibility
- Add semi-transparent background: rgba(226, 232, 240, 0.95)
- Enhance shadow for better visibility over content
- Use pointer-events:none on container, auto on arrows

Changes to HTML:
- Move carousel-nav inside carousel-track for proper positioning
- Remove carousel-indicators div (not using dot indicators)
- Simplify to just prev/next arrow buttons

This follows standard carousel UX conventions where navigation arrows
appear at the vertical center of the content, positioned on the left/right
edges. Arrows are now centered on the heading text ("Clone & Setup" etc.)
rather than below it, making them more visible and easier to use.
2025-11-16 23:02:23 -05:00
Vijay Janapa Reddi
5c31442d33 Remove redundant carousel description text
Removed the <p> description lines from all carousel items:
- "git clone → ./setup → tito system doctor"
- "tito module start 01 → Code → Test inline"
- "tito module complete → Your code becomes tinytorch/"
- "tito milestone run 03 → 1986 MLP uses YOUR code"

Now carousel shows only clean headings (Clone & Setup, Build in Jupyter, etc.)
below each GIF. The workflow details are already visible in the GIF animations,
making the text descriptions redundant.
2025-11-16 23:01:17 -05:00
Vijay Janapa Reddi
f07733f8d9 Move carousel navigation arrows below carousel content
Changes to CSS:
- Remove absolute positioning from .carousel-nav
- Use flexbox centered layout with 2rem gap between arrows
- Reduce arrow size back to 36px (from 40px)
- Add margin-top: 1.5rem for spacing from carousel text

Changes to HTML:
- Move carousel-nav outside carousel-track
- Navigation now appears below carousel text instead of overlaid on GIF

This fixes overlap issues - arrows are now cleanly positioned
below the carousel text labels, not on top of the GIF terminal window.
2025-11-16 22:58:12 -05:00
Vijay Janapa Reddi
9d9f1213af Fix carousel navigation arrow overlap with heading text
Changes to CSS:
- Position carousel-nav absolutely at top:40% of carousel-track
- Move arrows to sides (space-between) instead of center bottom
- Increase arrow size to 40px for better visibility
- Add box-shadow to arrows for depth
- Use pointer-events:none on nav container, auto on arrows

Changes to HTML:
- Move carousel-nav inside carousel-track for proper absolute positioning

This fixes the overlap where left/right navigation arrows were appearing
on top of the carousel heading text ("Build in Jupyter" etc).
Arrows now appear on the left/right sides of the GIF at the vertical center.
2025-11-16 22:53:15 -05:00
Vijay Janapa Reddi
7259d98582 Fix carousel text visibility - ensure labels not cut off
Changes:
- Increase carousel-track min-height from 410px to 500px
- Change overflow from hidden to visible to prevent text cutoff
- Add margin-top and padding to carousel-text for better spacing
- Reduce heading size from 1.75rem to 1.5rem for better fit
- Add monospace font to carousel description text
- Update mobile responsive breakpoint with overflow:visible
- Change fixed height to auto for GIF preview on mobile

This ensures carousel text labels ("Clone & Setup", "Build in Jupyter", etc.)
are fully visible below the GIF demos without being cut off.
2025-11-16 22:48:03 -05:00
Vijay Janapa Reddi
35c752e4b9 Remove test carousel GIF files 2025-11-16 22:18:22 -05:00
Vijay Janapa Reddi
faa073a3fc Update carousel terminal configs: optimized dimensions and styling
Configuration updates:
- Reduced terminal width from 160 to 100 columns for better text density
- Increased font size from 12px to 14px for improved readability
- Added ANSI green color codes to shell prompts
- Updated base-config.yml as single source of truth

Generated new GIFs:
- 01-clone-setup.gif: Regenerated with new 100-column layout
- Other GIFs pending regeneration with ./render-all.sh

Documentation:
- Updated README with current dimensions and font size
- Documented configuration inheritance pattern

These changes optimize the carousel display by reducing wasted whitespace
while maintaining readability with larger fonts. The 100-column width
provides better visual balance in the carousel container.
2025-11-16 22:18:08 -05:00
Vijay Janapa Reddi
87187112f1 Update carousel with wider terminal GIFs (160x24) and colored prompts
- Increased terminal dimensions from 80x24 to 160x24 for wider, more cinematic format
- Added ANSI green color codes to prompts for better visual appeal
- Updated all 4 Terminalizer YAML configs with consistent styling
- Created base-config.yml as single source of truth for shared settings
- Updated CSS to use dark terminal background instead of gray
- Changed object-fit from contain to cover for better width filling
- Added render-all.sh batch script for regenerating all GIFs
- Updated README with complete documentation and troubleshooting

Generated GIFs:
- 01-clone-setup.gif (7.0M)
- 02-build-jupyter.gif (1.3M)
- 03-export-tito.gif (1.9M)
- 04-validate-history.gif (3.3M)
2025-11-16 21:33:04 -05:00
Vijay Janapa Reddi
33adb79de5 Update all carousel GIFs with wider dimensions (120x30)
All 4 GIFs regenerated with new format:
- 01-clone-setup.gif (2.7M)
- 02-build-jupyter.gif (565K)
- 03-export-tito.gif (890K)
- 04-validate-history.gif (1.5M)

Consistent 120×30 dimensions fill carousel width nicely
2025-11-16 18:49:27 -05:00
Vijay Janapa Reddi
7941899b70 Update GIFs with wider dimensions (120x30)
Regenerated carousel GIFs with new wider format:
- 120 columns × 30 rows (previously 80×24)
- Better fills carousel width
- More professional appearance
2025-11-16 18:26:55 -05:00
Vijay Janapa Reddi
53f93ba96e Add shared base config for demo styling consistency
- Create base-config.yml as single source of truth for styling
- Document that Terminalizer doesn't support config inheritance
- Individual demo configs are manually kept in sync with base config
- Makes it easier to maintain consistent look across all demos
2025-11-16 18:21:46 -05:00
Vijay Janapa Reddi
bce95c11b9 Add animated carousel demos with Terminalizer
- Add 4 workflow demo GIFs (Clone & Setup, Build in Jupyter, Export with TITO, Validate with History)
- Create Terminalizer YAML configs for reproducible renders (120x30, vibrant color themes)
- Add render-all.sh script for batch GIF generation
- Update carousel CSS for proper GIF display with emoji fallbacks
- Update intro.md carousel to reference GIFs
- Add comprehensive README with setup instructions

All configs use consistent styling:
- Dimensions: 120 columns × 30 rows (wider format)
- Theme: Vibrant colors with good contrast
- Font: Monaco 12px monospace
- Quality: 100% for crisp output
2025-11-16 18:20:12 -05:00
Vijay Janapa Reddi
34542a8140 Fix static assets deployment: add missing JS files to conf.py and ensure .nojekyll is copied to build output 2025-11-15 12:00:59 -05:00
Vijay Janapa Reddi
3599623716 Update custom CSS styling for Mermaid diagrams 2025-11-15 11:37:35 -05:00
Vijay Janapa Reddi
3627090ae7 Update custom CSS styling 2025-11-14 18:35:36 -05:00
Vijay Janapa Reddi
5597e600f0 Simplify pip install indicator to inline coming soon text
- Remove separate badge, add inline (coming soon) text
- Cleaner design that works with existing under construction banner
2025-11-14 18:33:47 -05:00
Vijay Janapa Reddi
9632d634f7 Add Work in Progress indicator for pip install
- Add alpha release badge above pip install command on intro page
- Update README status badge to reflect alpha status
- Clarify that package is in active development
2025-11-14 18:31:26 -05:00
Vijay Janapa Reddi
5ff776673b Update site content and documentation
- Refactor resources.md to focus on ML Systems textbook as primary companion
- Remove Academic Foundation section from credits.md (moved to resources)
- Update quickstart guide, FAQ, and student workflow documentation
- Improve classroom use documentation with updated guidance
2025-11-14 18:27:22 -05:00
Vijay Janapa Reddi
03ecc5ccac Update build scripts and site configuration
- Update PDF build scripts for site directory structure
- Update Jupyter Book configuration files
- Update site README with current build instructions
2025-11-14 18:27:20 -05:00
Vijay Janapa Reddi
e4bfd0ee84 Enhance intro page with interactive hero carousel and ML timeline
- Add hero carousel component with auto-advance and keyboard navigation
- Add interactive ML history timeline with milestone popups
- Add comprehensive CSS styling for carousel and timeline components
- Update intro page content with tier-based structure and improved messaging
- Add install command display and enhanced visual design
2025-11-14 18:27:17 -05:00
Vijay Janapa Reddi
6e15d91800 Update site navigation to include tier overview pages
- Add tier overview pages to each tier section in navigation
- Reorder resources section to place Learning Resources before Credits
- Improve navigation structure for better tier-based learning flow
2025-11-14 18:27:15 -05:00
Vijay Janapa Reddi
a787bcbba4 Add tier overview pages for Foundation, Architecture, Optimization, and Capstone
- Add foundation.md: Overview of Foundation Tier (modules 01-07)
- Add architecture.md: Overview of Architecture Tier (modules 08-13)
- Add optimization.md: Overview of Optimization Tier (modules 14-19)
- Add olympics.md: Overview of Capstone Competition (module 20)

These pages provide comprehensive tier-level context and learning objectives
2025-11-14 18:27:13 -05:00
Vijay Janapa Reddi
4520fb1a9c Improve WIP banner functionality and styling
- Change banner positioning from relative to fixed for better visibility
- Add header spacing to accommodate fixed banner
- Enhance banner injection with dynamic HTML creation
- Add comments explaining banner implementation details
2025-11-13 17:50:53 -05:00
Vijay Janapa Reddi
08143b0f7f Update site branding and add documentation comments
- Update site title to Tiny🔥Torch branding
- Add emojis to tier captions for visual consistency
- Update intro page heading and description
- Add comprehensive comments explaining branding and UI changes
2025-11-13 17:50:52 -05:00
Vijay Janapa Reddi
d953790f45 Update site intro: refine title and quickstart link 2025-11-13 11:47:39 -05:00
Vijay Janapa Reddi
0d2560c490 Update site documentation and development guides
- Improve site navigation and content structure
- Update development testing documentation
- Enhance site styling and visual consistency
- Update release notes and milestone templates
- Improve site rebuild script functionality
2025-11-13 10:42:51 -05:00
Vijay Janapa Reddi
afd1cd442d Fix failing module tests
- Fix 14_profiling: Replace Tensor with Linear model in test_module, fix profile_forward_pass calls
- Fix 15_quantization: Increase error tolerance for INT8 quantization test, add export marker for QuantizedLinear
- Fix 19_benchmarking: Return Tensor objects from RealisticModel.parameters(), handle memoryview in pred_array.flatten()
- Fix 20_capstone: Make imports optional (MixedPrecisionTrainer, QuantizedLinear, compression functions)
- Fix 20_competition: Create Flatten class since it doesn't exist in spatial module
- Fix 16_compression: Add export markers for magnitude_prune and structured_prune

All modules now pass their inline tests.
2025-11-12 14:19:33 -05:00
Vijay Janapa Reddi
29619da811 Standardize emoji usage across all site pages for professional consistency
- Removed emojis from all section headers (## and ###)
- Reduced emojis in body text and callout boxes
- Standardized link references (removed emoji prefixes)
- Maintained professional tone while keeping content accessible
- Updated quickstart-guide, student-workflow, tito-essentials, faq, datasets, community, resources, testing-framework, learning-progress, checkpoint-system, and all chapter files
2025-11-12 11:42:03 -05:00
Vijay Janapa Reddi
f84e7f16ac Restructure site navigation: modules-first, separate capstone, streamline sections
- Reorganized navigation to prioritize modules (Foundation/Architecture/Optimization tiers)
- Separated Capstone Competition from Optimization tier
- Removed Visual Learning Map from Course Orientation (broken mermaid diagrams)
- Streamlined Using TinyTorch section
- Redesigned landing page for professional, student-focused experience
- Reduced emojis in navigation captions
- Fixed build error by excluding modules directory patterns
- Created symlinks for all module ABOUT files in site/modules/
2025-11-12 11:39:57 -05:00
Vijay Janapa Reddi
3c48662263 Fix Optimization Tier range in TOC: 14-19 → 14-20 2025-11-12 10:31:20 -05:00
Vijay Janapa Reddi
1a1e3d7457 Simplify and condense site documentation content 2025-11-11 22:23:21 -05:00
Vijay Janapa Reddi
b96f988bb2 Add visual learning journey with Mermaid diagrams and integrate new pages
## New Documentation Pages Integrated into Site Navigation

**site/learning-journey-visual.md** - 10 interactive Mermaid diagrams:
1. Complete Learning Flow - Full flowchart through all 20 modules & 6 milestones
2. Module Dependencies - Shows how modules depend on each other
3. Three-Tier Timeline - Visual progression through Foundation/Architecture/Optimization
4. Historical Milestones - Gantt chart showing ML history recreation (1957→2024)
5. Student Learning Paths - Decision tree for different learning approaches
6. Capability Progression - Skill levels unlocked at each tier
7. Workflow Cycle - The edit → export → validate loop
8. Dataset Strategy - When to use shipped vs downloaded datasets
9. Time vs Outcomes Quadrant - Comparing learning path investments
10. Difficulty Curve - Line chart showing module difficulty progression

## Site Navigation Updates (_toc.yml)

**Added to "Using TinyTorch" section:**
- Student Workflow (student-workflow.md) - Essential edit → export → validate cycle
- Datasets Guide (datasets.md) - Complete dataset documentation

**Added to "Course Orientation" section:**
- Visual Learning Map (learning-journey-visual.md) - NEW Mermaid diagram showcase
- FAQ (faq.md) - Comprehensive answers to common questions

## Mermaid Integration

- Mermaid already configured in _config.yml (v10.6.1)
- All diagrams use color coding:
  - Blue: Foundation modules
  - Orange: Critical modules (Autograd, Training)
  - Purple: Advanced architecture modules
  - Green: Milestone achievements
  - Yellow: North Star milestone (CIFAR-10)
  - Red: Capstone

## Benefits

**Visual learners**: Diagrams show the complete learning journey at a glance
**Navigation**: All new pages now appear in site sidebar
**Discoverability**: FAQ answers "Why TinyTorch vs alternatives"
**Dataset clarity**: Students understand shipped vs downloaded data strategy
**Journey visualization**: See the path from tensors to transformers [Claude Code](https://claude.com/claude-code)
2025-11-11 22:13:31 -05:00
Vijay Janapa Reddi
94b25debbd Prepare TinyTorch for December 2024 community release
## Documentation Consistency
- Fix module count: All docs now correctly show 20 modules (01-20)
- Update Optimization Tier: Modules 14-20 (added 19 Benchmarking, 20 Competition)
- Correct tier descriptions across student-workflow, learning-progress, classroom-use

## New Documentation
- **FAQ (site/faq.md)**: Comprehensive FAQ addressing:
  - Why TinyTorch vs PyTorch/TensorFlow direct usage
  - Why TinyTorch vs micrograd/nanoGPT
  - Who should use TinyTorch
  - Course structure and flexibility
  - Practical getting started questions

- **Datasets (site/datasets.md)**: Complete dataset documentation:
  - Ship-with-repo datasets (TinyDigits 310KB, TinyTalks 40KB)
  - Downloaded datasets (MNIST 10MB, CIFAR-10 170MB)
  - Design philosophy and rationale
  - Usage instructions per milestone

- **Release Checklist (DECEMBER_2024_RELEASE.md)**:
  - Comprehensive pre-launch checklist
  - Documentation, technical, community preparation tasks
  - Version recommendation: v0.9.0
  - Success metrics and launch timeline

## Module Count Corrections
- learning-progress.md: 18→20 modules, added Benchmarking & Competition to table
- student-workflow.md: 18→20 modules, updated Optimization tier description
- classroom-use.md: 18→20 modules in feature list

## Version Recommendation
Proposed **v0.9.0** for December 2024 release:
- Signals feature-complete for individual learners
- Reserves v1.0 for classroom integration (Spring 2025)
- Allows v0.9.x patches for post-launch refinements [Claude Code](https://claude.com/claude-code)
2025-11-11 22:04:36 -05:00
Vijay Janapa Reddi
c7bc68fa37 Complete Phase 2 and 3 workflow documentation updates
Updated remaining documentation to clarify the actual TinyTorch workflow and mark optional/future features appropriately.

**Phase 2 (Important files):**
- **learning-progress.md**: Added workflow context at top, clear modules vs checkpoints vs milestones explanation, module progression tables by tier, marked checkpoints as optional
- **checkpoint-system.md**: Added prominent "Optional Progress Tracking" banner at top, clarified this is not required for core workflow

**Phase 3 (Supporting files):**
- **classroom-use.md**: Added "Coming Soon" banner for NBGrader integration, clarified current status vs planned features, updated to reflect 18 modules (not 20)

Key clarifications across all files:
- Core workflow: Edit modules → `tito module complete N` → Run milestone scripts
- Checkpoints are optional capability tracking (helpful for self-assessment)
- Instructor features marked as "coming soon" / "under development"
- All pages reference canonical student-workflow.md

Completes the workflow documentation audit identified by website-manager.
2025-11-11 21:49:37 -05:00