Summary
The current spec mandates daily files (YYYY/MM/DD/chat.ttl). This proposal suggests allowing monthly files (YYYY/MM.ttl) as an alternative for moderate-activity chat rooms.
Problem with Daily-Only
For rooms with low-to-moderate activity (~10-100 messages/day):
| Metric |
Daily |
Monthly |
| Files per year |
365 |
12 |
| HTTP requests to load 1 month |
~30 |
1 |
| Avg file size |
10-50KB |
300KB-1MB |
| Directory listings needed |
Many |
Few |
Daily sharding creates:
- Many small files (overhead)
- Many HTTP requests for historical browsing
- Complex discovery (need to enumerate days)
Proposal
Allow implementations to choose sharding granularity:
<#chat> a meeting:LongChat ;
:shardingPeriod :monthly . # or :daily (default)
Monthly structure:
/chat/
index.ttl
2024/
01.ttl
02.ttl
Daily structure (current, remains default):
/chat/
index.ttl
2024/
01/
15/chat.ttl
16/chat.ttl
Discovery
Readers would check index.ttl for sharding type, then:
- Daily: enumerate
YYYY/MM/DD/
- Monthly: enumerate
YYYY/MM.ttl
Or better: index file lists all shard URIs explicitly.
Use Cases
| Room Type |
Recommended |
| High-volume (100+ msgs/day) |
Daily |
| Moderate (10-100 msgs/day) |
Monthly |
| Low-volume (<10 msgs/day) |
Monthly or even yearly |
Backwards Compatibility
- Daily remains the default
- Existing daily chats continue working
- Monthly is opt-in for new chats
- Readers must support both (follow links from index)
References
Would love feedback on whether this flexibility would be acceptable while maintaining interoperability.
Summary
The current spec mandates daily files (
YYYY/MM/DD/chat.ttl). This proposal suggests allowing monthly files (YYYY/MM.ttl) as an alternative for moderate-activity chat rooms.Problem with Daily-Only
For rooms with low-to-moderate activity (~10-100 messages/day):
Daily sharding creates:
Proposal
Allow implementations to choose sharding granularity:
Monthly structure:
Daily structure (current, remains default):
Discovery
Readers would check
index.ttlfor sharding type, then:YYYY/MM/DD/YYYY/MM.ttlOr better: index file lists all shard URIs explicitly.
Use Cases
Backwards Compatibility
References
Would love feedback on whether this flexibility would be acceptable while maintaining interoperability.