Simplify module metadata to focus on essential system information

- Reduce module.yaml files from 100+ lines to ~25 lines focused on system needs
- Remove pedagogical details (learning objectives, difficulty, time estimates)
- Keep only essential fields: name, title, description, status, dependencies, exports, files, components
- Update status command to work with simplified metadata format
- Update metadata generation script to create simplified templates
- Focus on system metadata for CLI tools and build systems, not educational content

Before: Verbose pedagogical metadata with 20+ fields
After: Concise system metadata with 8 core fields

This aligns with the principle that module.yaml should be for systems, not pedagogy.
This commit is contained in:
Vijay Janapa Reddi
2025-07-11 23:02:10 -04:00
parent 69a51dfe11
commit c62515a920
7 changed files with 119 additions and 620 deletions

View File

@@ -1,110 +1,28 @@
# TinyTorch Module Metadata
# This file contains structured information about the module for CLI tools and documentation
# Essential system information for CLI tools and build systems
# Basic Information
name: "setup"
title: "Setup"
description: "Learn the complete TinyTorch development workflow while introducing fundamental programming concepts"
description: "Development environment setup and project configuration"
status: "complete" # complete, in_progress, not_started
version: "1.0.0"
author: "TinyTorch Team"
last_updated: "2024-12-19"
# Module Status
status: "complete" # complete, in_progress, not_started, deprecated
implementation_status: "stable" # stable, beta, alpha, experimental
# Learning Information
learning_objectives:
- "Understand the nbdev notebook-to-Python workflow"
- "Write your first TinyTorch code with #| export directives"
- "Implement system information collection and developer profiles"
- "Run tests and use the CLI tools"
- "Get comfortable with the development rhythm"
key_concepts:
- "NBDev workflow"
- "Export directives"
- "Module → Package mapping"
- "Teaching vs. Building"
- "Student implementation"
# Dependencies
dependencies:
prerequisites: [] # No prerequisites for setup module
builds_on: [] # No previous modules required
enables: ["tensor", "activations", "layers"] # Modules that depend on this
prerequisites: []
enables: ["tensor", "activations", "layers"]
# Educational Metadata
difficulty: "beginner" # beginner, intermediate, advanced
estimated_time: "2-3 hours"
pedagogical_pattern: "Build → Use → Understand"
# Implementation Details
components:
- name: "hello_tinytorch"
type: "function"
description: "Display ASCII art and welcome message"
status: "complete"
- name: "add_numbers"
type: "function"
description: "Basic arithmetic (foundation of ML operations)"
status: "complete"
- name: "SystemInfo"
type: "class"
description: "Collect and display Python version, platform, and machine info"
status: "complete"
- name: "DeveloperProfile"
type: "class"
description: "Personalized developer information and signatures"
status: "complete"
# Package Export Information
# Package Export
exports_to: "tinytorch.core.utils"
export_directive: "core.utils"
# Testing Information
test_coverage: "comprehensive" # comprehensive, partial, minimal, none
test_count: 20
test_categories:
- "Function execution"
- "Output validation"
- "Arithmetic operations"
- "System information"
- "Developer profiles"
- "ASCII art handling"
- "Error recovery"
- "Integration testing"
# File Structure
required_files:
- "setup_dev.py"
- "setup_dev.ipynb"
- "tests/test_setup.py"
- "README.md"
- "tinytorch_flame.txt"
files:
dev_file: "setup_dev.py"
test_file: "tests/test_setup.py"
readme: "README.md"
# Systems Focus
systems_concepts:
- "File I/O operations"
- "Platform detection"
- "Error handling"
- "Code organization"
- "Testing patterns"
# Real-world Applications
applications:
- "Development environment setup"
- "System compatibility checking"
- "Professional code attribution"
- "ASCII art customization"
# Next Steps
next_modules: ["tensor"]
completion_criteria:
- "All tests pass"
- "Can create custom developer profile"
- "Understand nbdev workflow"
- "Ready for tensor module"
# Components
components:
- "hello_tinytorch"
- "environment_check"
- "project_structure"