2.0 KiB
| id | ticket | title | created | tags | ||||
|---|---|---|---|---|---|---|---|---|
| LSN-0008 | studio-docs-import | Project-scoped state and activity legacy lesson | 2026-03-26 |
|
Context
Legacy import from docs/studio/learn/project-scoped-state-and-activity.md.
This lesson preserves the rule for project-local Studio state and shell activity persistence.
Relevant spec:
docs/studio/specs/1. Studio Shell and Workspace Layout Specification.md
Key Decisions
Project-local Studio state should live under .studio/ inside the project root
What: Project-local Studio state should be rooted at .studio/, shell activity should be persisted and restored per project, persisted history should be bounded, and .studio/ should remain the reserved root for future project-local Studio settings.
Why: If project-local state is stored as if it were application-global, the shell mixes unrelated histories and stops teaching what happened in the currently opened project.
Trade-offs: This design requires project-scoped persistence logic and bounded retention, but it preserves causality and keeps Studio-owned project data in one obvious root.
Patterns and Algorithms
- Create
.studio/during new-project scaffolding. - Load shell activity when the project opens.
- Append new activity to the current project's local history.
- Trim persisted activity to the latest
500entries. - Keep launcher-global concerns outside the project-local
.studio/root.
Pitfalls
- Treating project activity as launcher-global state.
- Mixing multiple projects into one persisted activity history.
- Leaving project-local Studio files in ad hoc roots instead of
.studio/. - Allowing activity persistence to grow without a hard cap.
Takeaways
- Project-local history must preserve causality for the currently opened project.
.studio/is the reserved home for project-scoped Studio state.- Legacy source attribution:
docs/studio/learn/project-scoped-state-and-activity.md.