Quality improvements: Unicode chars, Token class, imports, type hints, formatting
GitHub Actions
3f78ea8
- Ruff formatting applied to all 158 files
- Fixed Unicode character ambiguities (RUF001)
- Removed duplicate methods in _EchoBackend class
- Updated Token dataclass with proper type hints
- Fixed unused imports and parameter shadowing
- Improved optional import handling
- 47% reduction in ruff lint violations (51 → 27)
- All tests passing, no regressions
fix: easter-egg ticker now properly works in Gradio app
GitHub Actions
d6ca3a2
Moved ticker CSS/HTML/JS to module-level constant that gets injected
at app startup. This bypasses Gradio's iframe isolation that was
preventing the keydown listener from working.
- Ticker positioned as fixed overlay at bottom of page
- Smooth slide-in animation when pressing 'e'
- Won't trigger while typing in input fields
- Works across all tabs in the Gradio app
feat: X01/X02/X06/X09/M02/M22 wiring + conformance suite + mobile PWA + 22 new tests
GitHub Actions
9505822
HearthNode.start() / stop() (node.py):
- 15-step startup: EventLog (X02), mDNS+UDP discovery (M02), Detector.start(),
HttpServer (X01), gossip sync loop, WebSocket pubsub wiring (X06)
- Detector.run() -> Detector.start() fix; EventLog.close() in stop()
- Removed duplicate HearthNode class that was shadowing start()/stop()
ProtocolService (hearthnet/services/protocol/service.py):
- protocol.version.list@1.0 — returns contract_versions, impl info, started flag
- protocol.conformance.report@1.0 — runs X09 check suite in-process
- Registered in install_demo_services() and install_services()
ConformanceRunner (hearthnet/conformance/):
- runner.py — 21 checks across suite 1.0/2.0/3.0, fast mode skips
unregistered capabilities, structured ConformanceReport.as_dict()
- Checks: protocol, embed, rag, file, market, llm, chat, moe, model, plant tool,
ocr/trans/rerank (Phase 2), moe.register/model.status (Phase 3)
Mobile PWA (hearthnet/ui/mobile/):
- static.py — PWA_MANIFEST, SERVICE_WORKE…