You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix session-navigation: sessions organized by project folder
Sessions are stored in project-specific folders, not loose files.
Updated examples to reflect the actual directory structure.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Navigate, search, and manage Droid sessions. Use when the user wants to:
6
6
- List recent sessions
@@ -16,94 +16,107 @@ Find your way around past Droid sessions. Maybe you want to pick up where you le
16
16
17
17
## Where sessions live
18
18
19
-
Everything's in `~/.factory/sessions/`. Two types of files per session:
19
+
Sessions are in `~/.factory/sessions/`, organized by project folder. Each project gets its own directory with the path encoded (slashes become dashes):
20
+
21
+
```
22
+
~/.factory/sessions/
23
+
├── -Users-enoreyes-code-work-myapp/
24
+
│ ├── <uuid>.jsonl
25
+
│ └── <uuid>.settings.json
26
+
├── -Users-enoreyes-code-projects-api/
27
+
│ ├── <uuid>.jsonl
28
+
│ └── <uuid>.settings.json
29
+
└── ...
30
+
```
31
+
32
+
Two files per session:
20
33
21
34
**The conversation** (`.jsonl`): Each line is a JSON object. First line has metadata (session id, title, working directory). Rest is the back-and-forth: user messages, assistant responses, tool calls.
22
35
23
36
**The settings** (`.settings.json`): Stats about the session. Which model, how long it ran, token counts, autonomy mode.
24
37
25
-
Sessions are organized by project path. A session from `/Users/me/code/myapp` ends up in:
To dig into the content, read the `.jsonl` file. User messages have `"role": "user"`, assistant responses have `"role": "assistant"`. Tool calls show what commands ran and what files got touched.
98
+
User messages have `"role": "user"`, assistant responses have `"role": "assistant"`. Tool calls show what commands ran and what files got touched.
83
99
84
100
## Common situations
85
101
86
-
**"What did I do yesterday?"**
87
-
List recent sessions, check the timestamps, read the ones from yesterday.
102
+
**"What did I work on in this project?"**
103
+
List that project's session folder, check dates, read through the conversation files.
88
104
89
105
**"Find that session where we fixed the login bug"**
90
-
Search for "login" or "auth" or whatever you remember about it. Once you find it, skim the conversation.
106
+
Search for "login" or "auth" across sessions. Once you find it, read the conversation.
91
107
92
108
**"Resume what I was doing"**
93
-
Find the session, read through what happened, and pick up from there. You might want to summarize the key decisions or the state of things before continuing.
94
-
95
-
**"What's been going on in this project?"**
96
-
List that project's session folder, maybe grep for specific features or issues.
109
+
Find the session, read through what happened, summarize the key decisions before continuing.
97
110
98
111
**"How much have I been using Droid?"**
99
-
The settings files have token counts and active time. You could sum those up across sessions if you wanted.
112
+
The settings files have token counts and active time. Sum across sessions if needed.
100
113
101
114
## Tips
102
115
103
-
Use `rg` (ripgrep) instead of grep. It's faster and handles the sessions folder better.
116
+
Use `rg` (ripgrep) instead of grep. It's faster and handles nested folders better.
104
117
105
-
Sessions can contain sensitive stuff. Be careful about what you surface.
118
+
Project paths have slashes replaced with dashes. `/Users/me/code/app` becomes `-Users-me-code-app`.
106
119
107
-
The session title in the first line of the jsonl isn't always helpful. Sometimes you need to actually read the conversation to know what it was about.
120
+
The session title isn't always helpful. Sometimes you need to read the conversation to know what it was about.
108
121
109
-
Project paths in folder names have slashes replaced with dashes. `/Users/me/code/app` becomes `-Users-me-code-app`. Takes a second to get used to reading them.
122
+
Sessions can contain sensitive stuff. Be careful about what you surface.
0 commit comments