daimon-briefing 0.3.2__tar.gz → 0.3.3__tar.gz
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.
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/PKG-INFO +2 -2
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/pyproject.toml +2 -2
- daimon_briefing-0.3.3/skills/daimon-briefing/SKILL.md +75 -0
- daimon_briefing-0.3.2/skills/daimon-briefing/SKILL.md +0 -49
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/.gitignore +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/README.md +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/__init__.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/anchor.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/briefing.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/carry.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/cli.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/config.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/configure.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/harvest.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/hooks.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/llm.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/recall.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/render.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/scoring.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/serializer.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/store.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/teamsync.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/transcript.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/skills/daimon-end/SKILL.md +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/__init__.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/conftest.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/fixtures/sample_transcript.md +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_anchor.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_briefing.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_carry.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_claude_hooks.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_cli.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_codex_hooks.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_config.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_configure.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_gemini_hooks.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_harvest.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_hooks.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_isolation.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_llm.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_recall.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_render.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_scoring.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_serializer.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_store.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_teamsync.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_transcript.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_version.py +0 -0
- {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/uv.lock +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: daimon-briefing
|
|
3
|
-
Version: 0.3.
|
|
4
|
-
Summary: Dream-briefing
|
|
3
|
+
Version: 0.3.3
|
|
4
|
+
Summary: Dream-briefing for AI coding agents: writes a cognitive checkpoint at session end and shows a 'while you were away' briefing at session start. Self-contained, stdlib-only.
|
|
5
5
|
Author: Daily-Nerd / Daimon
|
|
6
6
|
License: Apache-2.0
|
|
7
7
|
Requires-Python: >=3.10
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "daimon-briefing"
|
|
3
|
-
version = "0.3.
|
|
4
|
-
description = "Dream-briefing
|
|
3
|
+
version = "0.3.3"
|
|
4
|
+
description = "Dream-briefing for AI coding agents: writes a cognitive checkpoint at session end and shows a 'while you were away' briefing at session start. Self-contained, stdlib-only."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
7
7
|
license = { text = "Apache-2.0" }
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: daimon-briefing
|
|
3
|
+
description: Dream-briefing — surfaces a "while you were away / here's where we left off" briefing at the start of a resumed session, reconstructed from a cognitive checkpoint written at the end of the prior session. Use to recall open loops, decisions, and facts whose state may have changed outside the AI session (e.g. a PR you merged yourself).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Daimon Dream-Briefing
|
|
7
|
+
|
|
8
|
+
This plugin keeps continuity across sessions. At the **end** of each session it
|
|
9
|
+
serializes the transcript into a cognitive checkpoint (open loops, decisions,
|
|
10
|
+
beliefs, with extractively-pinned verbatim quotes). At the **start** of the next
|
|
11
|
+
session it injects a skimmable briefing so you resume from a faithful prior state
|
|
12
|
+
instead of a confident guess.
|
|
13
|
+
|
|
14
|
+
## What it surfaces, in order
|
|
15
|
+
|
|
16
|
+
1. **Verify before trusting** — items whose state may have changed *outside* this
|
|
17
|
+
session (a PR you said you'd merge, a deploy, a file edited elsewhere). These come
|
|
18
|
+
first because they are the gap that produces confident-but-wrong assertions.
|
|
19
|
+
2. **Open loops** — questions left unresolved at the end of last session.
|
|
20
|
+
3. **Decisions made** — explicit choices, including assistant-side fixes/diagnoses.
|
|
21
|
+
4. **Active topic / beliefs / uncertainties.**
|
|
22
|
+
|
|
23
|
+
Each item is marked `✓ verbatim` (pinned to an exact quote — trust it) or
|
|
24
|
+
`~ inferred` (paraphrased — treat with appropriate caution).
|
|
25
|
+
|
|
26
|
+
## Automatic behavior
|
|
27
|
+
|
|
28
|
+
You do not need to invoke anything. The plugin wires the host's native session
|
|
29
|
+
hooks: a checkpoint is written automatically when a session **ends**, and the
|
|
30
|
+
briefing appears automatically at the **start** of the next session if a prior
|
|
31
|
+
checkpoint exists. Between those, a lightweight **proactive recall** watches your
|
|
32
|
+
prompts and surfaces a one-line "you worked on this before" pointer when the
|
|
33
|
+
current prompt overlaps a prior open loop — without re-suggesting anything the
|
|
34
|
+
start-of-session briefing already carried.
|
|
35
|
+
|
|
36
|
+
## Manual trigger
|
|
37
|
+
|
|
38
|
+
To re-read the latest briefing on demand, run the bundled CLI:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
daimon brief
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Configuration
|
|
45
|
+
|
|
46
|
+
See the plugin README. Key knobs: `DAIMON_DISABLE=1` (kill switch),
|
|
47
|
+
`DAIMON_CHECKPOINT_DIR`, `DAIMON_MIN_MESSAGES`, `DAIMON_LLM_*` (falling back to
|
|
48
|
+
`LITELLM_*`), `DAIMON_LLM_BACKEND=command` + `DAIMON_LLM_COMMAND` (headless-CLI fallback).
|
|
49
|
+
|
|
50
|
+
## What ships today
|
|
51
|
+
|
|
52
|
+
Daimon is self-contained and host-agnostic — no server, no external memory
|
|
53
|
+
backend, stdlib-only at runtime. The capabilities behind the briefing:
|
|
54
|
+
|
|
55
|
+
- **Checkpoint → briefing loop.** Session end serializes the transcript into a
|
|
56
|
+
per-project JSON checkpoint; session start reconstructs it into the briefing.
|
|
57
|
+
- **Chunked extraction.** Long transcripts are split into overlapping chunks,
|
|
58
|
+
serialized pass-by-pass, then merged — so recall holds up on long sessions
|
|
59
|
+
instead of degrading as the transcript grows.
|
|
60
|
+
- **Deterministic carry.** Unresolved open loops that still matter are carried
|
|
61
|
+
forward into the next checkpoint by exact term overlap (no LLM in the carry
|
|
62
|
+
step) and marked `[carried]` so you can see a loop survived from an earlier
|
|
63
|
+
session rather than being freshly observed.
|
|
64
|
+
- **Proactive recall.** A per-prompt pointer to prior work when your current
|
|
65
|
+
prompt overlaps an open loop (see *Automatic behavior*).
|
|
66
|
+
- **Trust classing.** Every item is `✓ verbatim` (pinned to an exact quote) or
|
|
67
|
+
`~ inferred` (paraphrased), so you know what to trust literally.
|
|
68
|
+
- **Code-drift detection.** `daimon anchor <file> <symbol>` binds a checkpoint
|
|
69
|
+
item to a code symbol; the briefing flags it under **CODE DRIFT — verify
|
|
70
|
+
before trusting** when that symbol's body changes or disappears (offline,
|
|
71
|
+
stdlib `ast`).
|
|
72
|
+
- **Scars.** An optional session-end pass harvests negative-knowledge signals
|
|
73
|
+
(abandoned approaches, landmines) into the repo's `.scars/` directory.
|
|
74
|
+
- **Status & self-heal.** `daimon status` reports checkpoint/briefing health;
|
|
75
|
+
a failed capture self-heals on the next session start.
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: daimon-briefing
|
|
3
|
-
description: Dream-briefing — surfaces a "while you were away / here's where we left off" briefing at the start of a resumed session, reconstructed from a cognitive checkpoint written at the end of the prior session. Use to recall open loops, decisions, and facts whose state may have changed outside the AI session (e.g. a PR you merged yourself).
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Daimon Dream-Briefing
|
|
7
|
-
|
|
8
|
-
This plugin keeps continuity across sessions. At the **end** of each session it
|
|
9
|
-
serializes the transcript into a cognitive checkpoint (open loops, decisions,
|
|
10
|
-
beliefs, with extractively-pinned verbatim quotes). At the **start** of the next
|
|
11
|
-
session it injects a skimmable briefing so you resume from a faithful prior state
|
|
12
|
-
instead of a confident guess.
|
|
13
|
-
|
|
14
|
-
## What it surfaces, in order
|
|
15
|
-
|
|
16
|
-
1. **Verify before trusting** — items whose state may have changed *outside* this
|
|
17
|
-
session (a PR you said you'd merge, a deploy, a file edited elsewhere). These come
|
|
18
|
-
first because they are the gap that produces confident-but-wrong assertions.
|
|
19
|
-
2. **Open loops** — questions left unresolved at the end of last session.
|
|
20
|
-
3. **Decisions made** — explicit choices, including assistant-side fixes/diagnoses.
|
|
21
|
-
4. **Active topic / beliefs / uncertainties.**
|
|
22
|
-
|
|
23
|
-
Each item is marked `✓ verbatim` (pinned to an exact quote — trust it) or
|
|
24
|
-
`~ inferred` (paraphrased — treat with appropriate caution).
|
|
25
|
-
|
|
26
|
-
## Automatic behavior
|
|
27
|
-
|
|
28
|
-
You do not need to invoke anything. The briefing appears automatically on the first
|
|
29
|
-
turn of a new session if a prior checkpoint exists. Checkpoints are written
|
|
30
|
-
automatically when a session ends.
|
|
31
|
-
|
|
32
|
-
## Manual trigger
|
|
33
|
-
|
|
34
|
-
To re-read the latest briefing on demand, run the bundled CLI:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
daimon brief
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Configuration
|
|
41
|
-
|
|
42
|
-
See the plugin README. Key knobs: `DAIMON_DISABLE=1` (kill switch),
|
|
43
|
-
`DAIMON_CHECKPOINT_DIR`, `DAIMON_MIN_MESSAGES`, `DAIMON_LLM_*` (falling back to
|
|
44
|
-
`LITELLM_*`), `DAIMON_LLM_BACKEND=command` + `DAIMON_LLM_COMMAND` (headless-CLI fallback).
|
|
45
|
-
|
|
46
|
-
## Scope (Slice 1)
|
|
47
|
-
|
|
48
|
-
Local-file checkpoints, single-pass serialization, no Honcho. Long-transcript recall
|
|
49
|
-
(chunking) is Slice 2; Honcho-backed cross-session recall is Slice 3.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|