NimsForest Issues

Review PersistenceTree naming and architecture alignment
proposed improvement Priority: medium Project: nimsforest2 Reporter: 21 Mar 2026 20:11

Description

PersistenceTree breaks the naming convention from the architecture doc:

- Tree = River to Wind (parses unstructured data into Leaves)
- TreeHouse = Wind to Wind (processes Leaves)
- PersistenceTree = Wind to JetStream (bridges ephemeral to durable)

It is neither a Tree nor a TreeHouse by the architecture definition. It is a core infrastructure component that bridges Wind to JetStream (TAPROOT and HUMUS streams). The name suggests it is a Tree (River to Wind) but it does the opposite.

Additionally, PersistenceTree now also handles hub forwarding logic for tap events (forwarding tap subjects to hub.tap.> on Wind). This adds a Wind to Wind routing concern on top of its Wind to JetStream bridging role.

This issue should:
1. Review whether PersistenceTree should be renamed to reflect its actual role (e.g. BridgeTree, DurabilityBridge, or just keep it as a named core component)
2. Review whether hub forwarding belongs in PersistenceTree or should be separated
3. Ensure the architecture docs (PERSISTENCY.md, architecture.md) clearly explain what PersistenceTree is and why it does not follow the Tree/TreeHouse naming pattern
4. Consider whether the tap.> and compost.> catching should be split into separate components

Comments (1)

nebula 21 Mar 2026 20:15
Grooming: set priority to medium

Nebula's reasoning: This is an architecture alignment and naming review — important for long-term maintainability and developer clarity, but not blocking any users or features. The issue is well-written with clear scope: review naming, consider separation of concerns, and update docs. Medium priority reflects that it should be addressed during a planned architecture pass rather than urgently.