Copy architecture docs, ADRs, storage domain specs, research, reviews, and 56 storage architecture tasks from the alkhub_ts monorepo. Adapt for standalone @alkdev/hub repo structure (src/ not packages/hub/). Sanitize all sensitive information: - Replace private IPs (10.0.0.1) with localhost defaults - Remove internal server hostnames (dev1, ns528096) - Replace /workspace/ private paths with npm package references - Remove hardcoded credentials from examples - Rewrite infrastructure.md without private network details Add Deno project scaffolding: deno.json (pinned deps), .gitignore, AGENTS.md, entry point. Migrate existing code stubs (crypto, config types, logger) with updated import paths.
50 lines
2.3 KiB
Markdown
50 lines
2.3 KiB
Markdown
---
|
|
id: clarify-session-spec-details
|
|
name: Clarify Sessions Spec — Part Types, Slug, Indexing, Nesting
|
|
status: completed
|
|
depends_on: []
|
|
scope: narrow
|
|
risk: trivial
|
|
impact: component
|
|
level: implementation
|
|
---
|
|
|
|
## Description
|
|
|
|
Five closely related documentation gaps in `sessions.md` that affect implementers:
|
|
|
|
1. **S07**: `FilePartData[]` is referenced in ToolState (`sessions.md:132`) but never defined. Clarify whether it's the same as the `file` part type's data shape.
|
|
|
|
2. **S08**: The AI SDK UIMessage part type mapping (`sessions.md:145-152`) covers 6 types but omits `step-finish`, `patch`, `snapshot`, `compaction`, `agent`. Document whether these are excluded from the UIMessage view or add mappings.
|
|
|
|
3. **S09**: `sessions.slug` generation strategy is undocumented. Is it human-provided, auto-generated, or random? This matters for API design and uniqueness enforcement.
|
|
|
|
4. **S10**: A composite index `(session_id, type)` on parts would support queries like "all tool-call parts in session X." Document whether this index is needed or whether existing indexes suffice.
|
|
|
|
5. **S11**: The `agent` part type implies sub-agent delegation which might need nesting, but parts have no `parentId`. Document whether parts are flat or nesting might be needed.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [ ] `FilePartData` type defined or cross-referenced in sessions.md
|
|
- [ ] Omitted AI SDK part types (`step-finish`, `patch`, `snapshot`, `compaction`, `agent`) explicitly documented as excluded or mapped
|
|
- [ ] `sessions.slug` generation strategy documented (human-provided vs auto-generated)
|
|
- [ ] Parts `(session_id, type)` index considered and either added or documented as unnecessary
|
|
- [ ] Flat vs nested parts semantics documented — if nesting may be needed, note it as a future concern
|
|
- [ ] All changes in `sessions.md`; `table-reference.md` updated if indexes change
|
|
|
|
## References
|
|
|
|
- docs/reviews/storage-architecture-review-2026-04-21.md#S07
|
|
- docs/reviews/storage-architecture-review-2026-04-21.md#S08
|
|
- docs/reviews/storage-architecture-review-2026-04-21.md#S09
|
|
- docs/reviews/storage-architecture-review-2026-04-21.md#S10
|
|
- docs/reviews/storage-architecture-review-2026-04-21.md#S11
|
|
- docs/architecture/storage/sessions.md
|
|
|
|
## Notes
|
|
|
|
> To be filled by implementation agent
|
|
|
|
## Summary
|
|
|
|
> To be filled on completion |