- Created keyboard._hs as reference documentation (inline handler in body tag)
- Externalized 9 hamburger menu navigation links to scrollToSection()
- Added scrollToSection() as JavaScript function (CSP-safe, no eval needed)
- Restored original keyboard handler format in body tag (working correctly)
- Removed problematic navigation._hs (had syntax/CSP issues)
- Added Rule 4 to HYPERSCRIPT-RULES.md on event handler externalization
- Updated PROJECT-MEMORY.md with externalization guidelines
Key learnings:
- Complex event handlers that inspect event properties must stay inline
- JavaScript functions avoid CSP unsafe-eval restrictions
- Navigation successfully externalized: 9 links → 1 function (91% reduction)
Critical corrections based on user feedback:
1. Hyperscript Parser Limit (Section 2)
- Changed status to "NEEDS RETESTING" with latest hyperscript version
- 3 def statement limit may no longer exist after upgrade
- TODO: Test if limit still applies with current version
2. Toggle + Hover Synchronization (Section 3)
- Clarified toggle checkboxes WORK perfectly ✅
- Documented HOVER SYNC BUG for PDF/Print buttons ❌
- Action bar hover doesn't sync with menu button hover
- Added file references and bug details
- Test coverage gap identified
3. Real-Time Rendering + Persistence (Section 4)
- Corrected misconception: BOTH DOM and localStorage required
- Not mutually exclusive - need instant feedback AND persistence
- Added clear examples of correct vs incorrect implementation
4. Architecture - Tech Stack
- CORRECTED: Backend is Go (NOT Bun/Hono)
- Go 1.21+ with standard library net/http
- Bun is ONLY test runner, not the runtime
- Added complete frontend stack details
5. File Organization
- CORRECTED: Actual Go project structure
- main.go entry point (v1.1.0)
- internal/ package organization
- Complete template hierarchy
- Critical files list updated
Fixes hallucinated architecture information and provides accurate
technical foundation for future developers.