Sector domain and category decided with the repository owner on 2026-08-25.
Classification is not mechanical: the sector describes intended users, so a
confident wrong value is harder to correct than a missing one.
Refs CUST-WP-0067-T05
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
The remote row pointed at 127.0.0.1:18000, a reverse tunnel back to the
workstation. On railiance01 the State Hub runs in the cluster on that same
machine, so the request left the box and came back to reach a local service.
Refs CUST-WP-0067-T07
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
Maintainer decision, 2026-07-29: adopts TRSL V1C1 as this repo's
preliminary governing license, per target-revenue's
workplans/TREV-WP-0008-governance-and-pilot-rollout.md T05. Full
specialist legal review is deferred until out of beta (target-revenue
SCOPE.md §1). No Phase is yet declared for this repo.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sync AGENTS.md, CLAUDE.md, and .claude/rules from updated project_rules
templates: workplan-first session protocol, legacy terminology footnote,
and GET /workplans/ examples.
Phase 6 Complete:
- ✅ Created test/umd-test.html (UMD bundle verification)
- ✅ Created test/minified-test.html (production build test)
- ✅ Created test/esm-test.html (ES Module format test)
Each test file demonstrates:
- Bundle loading and initialization
- marked.js peer dependency integration
- Control panels and event system
- Complete feature showcase
- Usage examples and code snippets
Tests verify all build outputs work correctly in browsers.
Open any test/*.html file in a browser to verify functionality.
- Created comprehensive NPM_PUBLICATION_PLAN.md with 9 phases
- Covers bundling, testing, and npm publication process
- Uses Rollup with marked.js as peer dependency
- Targets 3-5 day implementation timeline
- Updated TODO.md with current active tasks
Created feature documentation structure:
docs/features/README.md:
- Overview of all control panels
- Configuration examples
- Use case scenarios
- Feature toggle documentation
docs/features/section-editing.md:
- Complete section editing guide
- How it works (automatic detection, states, visual feedback)
- Configuration options
- Advanced features (metadata, events, section types)
- Examples and troubleshooting
- Best practices
Remaining documentation to be created:
- edit-control.md
- status-control.md
- contents-control.md
- debug-control.md
- keyboard-shortcuts.md
- themes.md
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com)
Created full-editor-standalone.html that embeds all JavaScript inline.
This file can be copied anywhere and opened directly without needing
any other files or dependencies (except marked.js from CDN).
Perfect for distribution and testing.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Completed Phase 1 refactoring to JavaScript-first architecture:
Core Library Implementation:
- Created js/testdrive-jsui.js main library class
- Integrated all existing components (SectionManager, DOMRenderer, DocumentControls)
- Added marked.js integration for markdown rendering
- Implemented event-driven API (on/off/emit)
- Support for edit/view modes and themes
- LocalStorage save/load functionality
- Download as markdown file
- Keyboard shortcuts (Ctrl+S, Escape)
- Auto-save capability (optional)
Examples:
- examples/full-editor.html - Complete demo with all features
- Updated examples/README.md with full documentation
Documentation:
- Updated README.md with JavaScript-first architecture section
- Added complete API reference (constructor, methods, events)
- Updated CLAUDE.md with library quick start and API
- Emphasized JavaScript-first design principles
Architecture:
- JavaScript provides ALL functionality
- Language adapters are optional integration helpers
- Works standalone in browser (no backend required)
- Clean separation: JS (functionality) vs Adapters (integration)
This completes the architectural shift documented in ARCHITECTURE.md
and JS_FIRST_REFACTORING.md Phase 1.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Created examples/standalone.html demonstrating testdrive-jsui as a pure
JavaScript library that works without any backend.
Features:
- Opens directly in browser (file:// works)
- Markdown rendering using marked.js from CDN
- Save/load content to browser localStorage
- Download markdown files
- No Python/Ruby/Java required
Validates JavaScript-first architecture:
- All rendering happens in browser
- Backend adapters are truly optional
- Zero coupling to any specific backend
Added examples/README.md:
- Usage instructions (just open in browser!)
- Architecture validation notes
- Next steps for full implementation
This proves the concept that testdrive-jsui can be a standalone
JavaScript library with language adapters being optional integration
helpers, not core functionality providers.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Clarified that testdrive-jsui is a JavaScript library with optional
backend adapters, not a Python package with JavaScript assets.
Added ARCHITECTURE.md:
- Core principle: JavaScript provides all functionality
- Python/Ruby/Java are integration adapters only
- Clear layer separation: JS library vs language adapters
- Distribution models: CDN, npm, with adapters
- Anti-patterns to avoid
- Success metrics
Added JS_FIRST_REFACTORING.md:
- Phase 1: Create standalone JavaScript bundle
- Phase 2: Refactor Python as thin adapter
- Phase 3: Build and distribution
- Concrete implementation steps with code examples
- Timeline: 2-4 days of focused work
Key Changes in Approach:
- JavaScript does ALL rendering (using marked.js)
- Backend adapters only serve assets and pass config
- No HTML generation in Python/Ruby/Java
- Library works completely standalone in browser
This establishes foundation for true language-agnostic design.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implemented all cleanup items from CLEANUP_REPORT.md:
Legacy Code Removal:
- Removed document-controls-legacy.js wrapper
- Updated 4 test files to use DocumentControls directly
- Updated scripts/list_components.py acronym mappings
- Updated tests/test_component_listing.py expectations
Archive and Organization:
- Moved relicts/ to docs/prototypes/ with README explaining history
- Moved MIGRATION_STATUS.md to docs/migration/
- Removed IMPLEMENTATION_NOTES.md legacy references
Test Verification:
- All 68 JavaScript tests passing (Jest)
- All 3 Python component tests passing
- No breaking changes to functionality
The codebase is now cleaner with no legacy wrappers or empty
directories. Migration is complete and documented.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added comprehensive documentation for post-migration cleanup and future
standalone development:
- CLEANUP_REPORT.md: Identifies 6 cleanup opportunities after migration
completion (empty dirs, legacy wrappers, relicts, documentation updates)
- STANDALONE_PLAN.md: 5-phase plan to achieve 95% standalone maturity
(move rendering engine to capability, create examples, update docs,
testing, PyPI distribution)
- CLAUDE.md: Updated with migration completion status
These documents provide clear roadmap for making testdrive-jsui truly
pip-installable and reusable independently from MarkiTect.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>