Back to skills
SKILL.md
1601 2026 02 05 Ui Messaging Layer Facade 388ad5c7
ASecurityFixed a dependency-layer violation where the UI imported `tunacode.utils.messaging` directly by routing message token estimation through the `tunacode.core.ui_api.messaging` facade.
- 9 stars
- 0 votes
- 0 copies
- 0 views
- Added October 11, 2026
Works with
Security analysis
100/100npx -y skills add tools-only/X-Skills --skill 1601-2026-02-05-ui-messaging-layer-facade_388ad5c7 --agent claude-codeAre you the author of 1601 2026 02 05 Ui Messaging Layer Facade 388ad5c7?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/tools-only-1601-2026-02-05-ui-messaging-layer-facade-388ad5c7)---
title: UI token estimation routed through core messaging facade
type: delta
link: ui-messaging-layer-facade
path: src/tunacode/ui/app.py
depth: 0
seams: [A, M]
ontological_relations:
- relates_to: [[dependency-layers]]
- affects: [[ui]]
- affects: [[core-ui-api]]
- fixes: [[ui-imports-utils-layer-violation]]
tags:
- architecture
- ui
- dependencies
- messaging
created_at: 2026-02-05T15:56:00-06:00
updated_at: 2026-02-05T15:56:00-06:00
uuid: 9f8848d1-f855-4567-99a8-fa37a8f104de
---
# UI token estimation routed through core messaging facade
## Summary
Fixed a dependency-layer violation where the UI imported `tunacode.utils.messaging` directly by routing message token estimation through the `tunacode.core.ui_api.messaging` facade.
## Context
`tests/test_dependency_layers.py::test_no_new_layer_violations` flagged:
- `tunacode.ui.app -> tunacode.utils.messaging` (ui -> utils)
## Root Cause
The UI layer is only allowed to depend on `core` (per the dependency layer rules), but `TextualReplApp._update_resource_bar()` imported `estimate_messages_tokens` from `utils`.
## Changes
- `src/tunacode/core/ui_api/messaging.py`
- Re-exported `estimate_messages_tokens()` from `tunacode.utils.messaging`.
- `src/tunacode/ui/app.py`
- Switched import to `from tunacode.core.ui_api.messaging import estimate_messages_tokens`.
- Reordered imports to satisfy first-party import-order tests.
## Behavioral Impact
No user-visible behavior change; token estimation remains the same. The UI now respects the enforced dependency direction.
## Related Cards
- [[dependency-layers]]
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.