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.
Files changed (49) hide show
  1. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/PKG-INFO +2 -2
  2. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/pyproject.toml +2 -2
  3. daimon_briefing-0.3.3/skills/daimon-briefing/SKILL.md +75 -0
  4. daimon_briefing-0.3.2/skills/daimon-briefing/SKILL.md +0 -49
  5. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/.gitignore +0 -0
  6. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/README.md +0 -0
  7. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/__init__.py +0 -0
  8. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/anchor.py +0 -0
  9. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/briefing.py +0 -0
  10. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/carry.py +0 -0
  11. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/cli.py +0 -0
  12. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/config.py +0 -0
  13. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/configure.py +0 -0
  14. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/harvest.py +0 -0
  15. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/hooks.py +0 -0
  16. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/llm.py +0 -0
  17. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/recall.py +0 -0
  18. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/render.py +0 -0
  19. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/scoring.py +0 -0
  20. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/serializer.py +0 -0
  21. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/store.py +0 -0
  22. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/teamsync.py +0 -0
  23. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/daimon_briefing/transcript.py +0 -0
  24. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/skills/daimon-end/SKILL.md +0 -0
  25. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/__init__.py +0 -0
  26. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/conftest.py +0 -0
  27. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/fixtures/sample_transcript.md +0 -0
  28. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_anchor.py +0 -0
  29. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_briefing.py +0 -0
  30. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_carry.py +0 -0
  31. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_claude_hooks.py +0 -0
  32. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_cli.py +0 -0
  33. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_codex_hooks.py +0 -0
  34. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_config.py +0 -0
  35. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_configure.py +0 -0
  36. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_gemini_hooks.py +0 -0
  37. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_harvest.py +0 -0
  38. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_hooks.py +0 -0
  39. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_isolation.py +0 -0
  40. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_llm.py +0 -0
  41. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_recall.py +0 -0
  42. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_render.py +0 -0
  43. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_scoring.py +0 -0
  44. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_serializer.py +0 -0
  45. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_store.py +0 -0
  46. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_teamsync.py +0 -0
  47. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_transcript.py +0 -0
  48. {daimon_briefing-0.3.2 → daimon_briefing-0.3.3}/tests/test_version.py +0 -0
  49. {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.2
4
- Summary: Dream-briefing hermes plugin: cognitive checkpoint at session end, 'while you were away' briefing at session start. Slice 1 (local-file, no Honcho).
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.2"
4
- description = "Dream-briefing hermes plugin: cognitive checkpoint at session end, 'while you were away' briefing at session start. Slice 1 (local-file, no Honcho)."
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