Skip to content

Commit aa7f297

Browse files
shntnuClaude
and
Claude
committed
doc(architecture): update layer descriptions and configuration relationships
- Add cross-cutting nature section to Configuration Layer - Update design principles to better describe Configuration inference - Rename 'Configuration' to 'Execution Preparation' in Execution Layer - Update CLAUDE.md file with improved guidelines 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent cb7fd64 commit aa7f297

File tree

4 files changed

+19
-3
lines changed

4 files changed

+19
-3
lines changed

CLAUDE.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
99
- Test: `pytest`
1010
- Single test: `pytest path/to/test_file.py::test_function_name`
1111
- Lint Python: `ruff`
12+
- Package with setuptools: `python -m pip install -e .`
1213

1314
## Code Style
1415
### Python
1516
- Snake_case for variables/functions, PascalCase for classes
1617
- Imports: stdlib → third-party → local (grouped with blank lines)
1718
- Consistent type annotations for all functions
18-
- 4-space indentation, ~88 char line limit
19+
- 4-space indentation, 80-88 char line limit
1920
- NumPy-style docstrings with triple double-quotes
2021
- Prefer returning typed objects over raising exceptions
22+
- Prefer pathlib for file operations
23+
- Use click for CLI interfaces
24+
- Docstrings required for modules and public functions

docs/architecture/00_architecture_overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Note: The Configuration Layer (in `/starrynight/experiments/`) provides paramete
6464
- **Separation of concerns**: Each layer has distinct responsibilities
6565
- **Progressive composition**: Build complex pipelines from simple components
6666
- **Containerized execution**: Run code in reproducible environments
67-
- **Configuration inference**: Minimize manual configuration through smart defaults
67+
- **Configuration inference**: The Configuration Layer provides adaptive parameters across all other layers through smart defaults and data-driven inference
6868

6969
## Layer Overview
7070

docs/architecture/05_execution_layer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The execution layer in StarryNight defines how modules and pipelines are execute
88

99
The execution layer serves several critical purposes in the StarryNight architecture:
1010

11-
1. **Configuration** - Setting up modules with appropriate parameters
11+
1. **Execution Preparation** - Preparing configured pipelines for runtime
1212
2. **Instantiation** - Creating configured module instances
1313
3. **Backend Selection** - Choosing appropriate execution backends
1414
4. **Execution Control** - Initiating and monitoring pipeline execution

docs/architecture/06_configuration_layer.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@
44

55
The configuration layer in StarryNight consists of two interconnected systems: experiment configuration, which manages experiment-specific parameters and infers settings from data, and module configuration, which connects these parameters with module specifications. Together, these systems enable automatic setup of complex pipelines with minimal manual input, creating a bridge between user-provided parameters and the detailed configuration needed for pipeline execution.
66

7+
## Cross-Cutting Nature
8+
9+
Unlike the other five layers which operate in a primarily sequential flow, the Configuration Layer functions as a dimensional plane that intersects with all layers. It provides contextual intelligence and adaptive parameters throughout the system:
10+
11+
- With **Algorithm Layer**: Provides parameters that influence algorithm behavior
12+
- With **CLI Layer**: Supplies default values and validation rules for command parameters
13+
- With **Module Layer**: Transforms high-level experiment parameters into detailed specifications
14+
- With **Pipeline Layer**: Influences how modules are composed and connected
15+
- With **Execution Layer**: Controls runtime behavior and resource allocation
16+
17+
This cross-cutting nature allows the Configuration Layer to maintain state across layer boundaries and adapt the system to specific experimental contexts without changing the core architecture.
18+
719
## Purpose
820

921
The configuration layer in StarryNight serves several critical purposes:

0 commit comments

Comments
 (0)