# Project Journal

## 2026-03-02

### 15:52 - Project Initiated
- Explored existing mdbook repositories (21 sites found)
- Researched Grav multi-site capabilities:
  - Grav supports environment-based multi-site via `user/env/{hostname}/`
  - Each site can have independent git repository
  - Domain routing via setup.php or environment variables
- Researched Grav Docker setup: `getgrav/grav:latest` image

### 15:53 - Requirements Captured
- Created AGENTS.md with project requirements
- Container naming convention: `tsysstatic-dev-*`
- Development port: 12000

### 15:55 - Docker Container Started
- Started Grav container: `tsysstatic-dev-grav` on port 12000
- Created etc-hosts-entries.txt for local testing

### 16:00 - Multi-Site Structure Created
- Created setup.php for hostname-based environment routing
- Created 22 environment directories under user/env/
- Each site has: config/, pages/, themes/, data/, accounts/

### 16:06 - Per-Site Configuration
- Created configure-sites.sh script
- Generated system.yaml, site.yaml for all sites
- Created default home pages for all sites

### 16:07 - Renamed governance to charters
- Renamed governance.turnsys.com to charters.turnsys.com
- Updated all configuration files

### 16:08 - Fixed Stream Initialization Error
- setup.php was overriding Grav's core streams incorrectly
- Fixed by using GRAV_ENVIRONMENT constant and returning empty array
- Container now healthy

### Completed
- [x] Start Grav Docker container on port 12000
- [x] Create /etc/hosts input file for local testing
- [x] Configure Grav multi-site structure
- [x] Create per-site environment directories
- [x] Initialize git repository
- [x] Create README.md documentation

### Pending
- [ ] Migrate mdbook content to Grav pages
- [ ] Test multi-site routing with actual domains
- [ ] Deploy to Cloudron
