daily-focus 1.2.0-dev.7 → 1.2.0-dev.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,7 +51,12 @@ thread the Gmail tool did not find — say so plainly at the top, and answer as
51
51
  the rest allows. A confident answer built on half the material is worse than a
52
52
  shorter one that says what it is missing.
53
53
 
54
- Give the URL of anything you created, so it can be opened from the panel.
54
+ End with one line for each thing you created, in exactly this form, so the panel
55
+ can offer it as a button:
56
+
57
+ ```
58
+ Created: [Gmail draft](https://mail.google.com/mail/u/0/#drafts?compose=…)
59
+ ```
55
60
 
56
61
  ## Stay in this chat
57
62
 
@@ -59,4 +64,4 @@ This conversation is the whole record of what you did. Do not leave notes on the
59
64
  item, do not write to the dashboard's files, and do not try to mark the item done,
60
65
  snoozed or handled: the user does that from the dashboard once they have read your
61
66
  reply. If you created or changed something — a draft, most often — say so in the
62
- reply, with its URL, and stop there.
67
+ reply, end with its `Created:` line, and stop there.
@@ -16,8 +16,6 @@ not for you.
16
16
  - `focus.md` — **you only ever read this.** The standing personal objective, written
17
17
  by hand. It decides what "important" means. It may be missing or have a blank
18
18
  `objective`; both are normal.
19
- - `sessions.jsonl` — **you only ever read this.** One line per focus session: what
20
- they actually spent time on, as opposed to what they finished.
21
19
  - `sources.md` — **you only ever read this.** The personal specifics this prompt
22
20
  deliberately doesn't carry: who the user is, which calendars to query, which email
23
21
  account, which reminder lists, how to reach Messages and e-Boks, which GitHub login
@@ -82,29 +80,6 @@ unread, even if the sender is still sending reminders. They may have replied by
82
80
  phone, in person, or in another channel. Absence of upstream evidence is not evidence
83
81
  of inaction. Never re-derive a completed item from source state.
84
82
 
85
- **Read `sessions.jsonl`.** It records what the user worked on, which `actions.jsonl`
86
- cannot tell you. Use it:
87
-
88
- - Time spent on something unfinished is progress. Don't re-raise it tomorrow in
89
- identical words as though the day never happened; acknowledge it in `detail`.
90
- - The same item across several days with no completion means stuck. Say so plainly,
91
- and consider whether the item is too big or the real blocker is elsewhere.
92
- - An item the user has never once started, while finishing things around it, is being
93
- avoided. Name it gently, once — not every day.
94
-
95
- `actualMinutes` is real elapsed time rather than the plan, and `endedBy` says how far
96
- to trust it:
97
-
98
- | `endedBy` | How it ended | What the number is worth |
99
- |---|---|---|
100
- | `user` | They pressed Stop. | Exact. |
101
- | `away` | The machine sat untouched, so the dashboard closed the session back at the last keypress. | Honest to within a minute. The break is already excluded — don't subtract for it twice. |
102
- | `limit` | It outran a two-hour ceiling on a machine that couldn't say whether anyone was there. | An upper bound, not a measurement. **Never cite it as a long focused stretch.** |
103
-
104
- A session that ended `away` was interrupted, not abandoned. `endedBy` is absent on
105
- sessions recorded before it was tracked — treat those as `user`, but don't lean on the
106
- duration.
107
-
108
83
  **Read the previous `items.json`** and keep each surviving item's `firstSeen`. If an
109
84
  item you are raising today also appeared yesterday under the same `id`, carry its
110
85
  original `firstSeen` across verbatim. Only assign `firstSeen` = today to genuinely
@@ -15,8 +15,6 @@ not for you.
15
15
  - `focus.md` — **you only ever read this.** The standing objective, written by hand.
16
16
  It decides what "important" means. It may be missing or have a blank `objective`;
17
17
  both are normal.
18
- - `sessions.jsonl` — **you only ever read this.** One line per focus session: what
19
- they actually spent time on, as opposed to what they finished.
20
18
  - `sources.md` — **you only ever read this.** The personal specifics this prompt
21
19
  deliberately doesn't carry: who the user is, which calendars to query, which
22
20
  accounts to judge review requests and authorship against, which recurring documents
@@ -95,32 +93,6 @@ unread, even if Workday is still sending reminders about it. They may have repli
95
93
  phone, in person, or in another channel. Absence of upstream evidence is not evidence
96
94
  of inaction. Never re-derive a completed item from source state.
97
95
 
98
- **Read `sessions.jsonl`.** It records what the user worked on, which `actions.jsonl`
99
- cannot tell you — a hard blocker can absorb days with nothing to mark done. Use it:
100
-
101
- - Time spent on something unfinished is progress. Don't re-raise it tomorrow in
102
- identical words as though the day never happened; acknowledge it in `detail`.
103
- - The same item across several days with no completion means stuck. Say so plainly,
104
- and consider whether the item is too big or the real blocker is elsewhere.
105
- - No sessions against the objective for days running is the loudest thing in the
106
- store. Lead with it.
107
- - An item the user has never once started, while finishing things around it, is being
108
- avoided. Name it gently, once — not every day.
109
-
110
- `actualMinutes` is real elapsed time rather than the plan, and `endedBy` says how far
111
- to trust it:
112
-
113
- | `endedBy` | How it ended | What the number is worth |
114
- |---|---|---|
115
- | `user` | They pressed Stop. | Exact. |
116
- | `away` | The machine sat untouched, so the dashboard closed the session back at the last keypress. | Honest to within a minute. The break is already excluded — don't subtract for it twice. |
117
- | `limit` | It outran a two-hour ceiling on a machine that couldn't say whether anyone was there. | An upper bound, not a measurement. **Never cite it as a long focused stretch.** |
118
-
119
- A session that ended `away` was interrupted, not abandoned: they left the desk, they
120
- didn't give up on the item. Don't read it as a false start. `endedBy` is absent on
121
- sessions recorded before it was tracked — treat those as `user`, but don't lean on the
122
- duration.
123
-
124
96
  **Read the previous `items.json`** and keep each surviving item's `firstSeen`. If an
125
97
  item you are raising today also appeared yesterday under the same `id`, carry its
126
98
  original `firstSeen` across verbatim. Only assign `firstSeen` = today to genuinely