agent-session-hub 0.2.0__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.
- agent_session_hub-0.2.0/LICENSE +21 -0
- agent_session_hub-0.2.0/PKG-INFO +369 -0
- agent_session_hub-0.2.0/README.md +336 -0
- agent_session_hub-0.2.0/agent_session_hub.egg-info/PKG-INFO +369 -0
- agent_session_hub-0.2.0/agent_session_hub.egg-info/SOURCES.txt +80 -0
- agent_session_hub-0.2.0/agent_session_hub.egg-info/dependency_links.txt +1 -0
- agent_session_hub-0.2.0/agent_session_hub.egg-info/entry_points.txt +2 -0
- agent_session_hub-0.2.0/agent_session_hub.egg-info/requires.txt +8 -0
- agent_session_hub-0.2.0/agent_session_hub.egg-info/top_level.txt +1 -0
- agent_session_hub-0.2.0/agent_sessions/__init__.py +5 -0
- agent_session_hub-0.2.0/agent_sessions/archive.py +513 -0
- agent_session_hub-0.2.0/agent_sessions/archive_status.py +209 -0
- agent_session_hub-0.2.0/agent_sessions/baseline.py +345 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_agent.py +223 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_calibration.py +149 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_eval.py +399 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_handoffs.py +797 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_ingest.py +276 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_lint.py +317 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_predictions.py +309 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_promote.py +294 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_publish.py +182 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_redaction.py +271 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_replay.py +607 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_replay_ingest.py +267 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_report.py +175 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_settings.py +357 -0
- agent_session_hub-0.2.0/agent_sessions/baseline_types.py +85 -0
- agent_session_hub-0.2.0/agent_sessions/cli.py +515 -0
- agent_session_hub-0.2.0/agent_sessions/config.py +69 -0
- agent_session_hub-0.2.0/agent_sessions/models.py +29 -0
- agent_session_hub-0.2.0/agent_sessions/path_templates.py +95 -0
- agent_session_hub-0.2.0/agent_sessions/portable_paths.py +146 -0
- agent_session_hub-0.2.0/agent_sessions/render.py +103 -0
- agent_session_hub-0.2.0/agent_sessions/rule_clusterer.py +272 -0
- agent_session_hub-0.2.0/agent_sessions/rule_extractor.py +177 -0
- agent_session_hub-0.2.0/agent_sessions/rule_ledger.py +209 -0
- agent_session_hub-0.2.0/agent_sessions/sources/__init__.py +6 -0
- agent_session_hub-0.2.0/agent_sessions/sources/claude.py +31 -0
- agent_session_hub-0.2.0/agent_sessions/sources/codex.py +35 -0
- agent_session_hub-0.2.0/agent_sessions/sources/deepseek.py +16 -0
- agent_session_hub-0.2.0/agent_sessions/sources/gemini.py +24 -0
- agent_session_hub-0.2.0/agent_sessions/sources/grok.py +23 -0
- agent_session_hub-0.2.0/agent_sessions/sources/registry.py +32 -0
- agent_session_hub-0.2.0/agent_sessions/utils.py +219 -0
- agent_session_hub-0.2.0/pyproject.toml +115 -0
- agent_session_hub-0.2.0/setup.cfg +4 -0
- agent_session_hub-0.2.0/tests/test_archive.py +819 -0
- agent_session_hub-0.2.0/tests/test_archive_status.py +208 -0
- agent_session_hub-0.2.0/tests/test_baseline.py +1417 -0
- agent_session_hub-0.2.0/tests/test_baseline_agent.py +338 -0
- agent_session_hub-0.2.0/tests/test_baseline_calibration.py +156 -0
- agent_session_hub-0.2.0/tests/test_baseline_eval.py +405 -0
- agent_session_hub-0.2.0/tests/test_baseline_handoffs.py +507 -0
- agent_session_hub-0.2.0/tests/test_baseline_ingest.py +385 -0
- agent_session_hub-0.2.0/tests/test_baseline_lint.py +274 -0
- agent_session_hub-0.2.0/tests/test_baseline_publish.py +111 -0
- agent_session_hub-0.2.0/tests/test_baseline_redaction.py +206 -0
- agent_session_hub-0.2.0/tests/test_baseline_replay.py +440 -0
- agent_session_hub-0.2.0/tests/test_baseline_replay_ingest.py +175 -0
- agent_session_hub-0.2.0/tests/test_check_md_links.py +68 -0
- agent_session_hub-0.2.0/tests/test_claude_extractor.py +98 -0
- agent_session_hub-0.2.0/tests/test_cli.py +764 -0
- agent_session_hub-0.2.0/tests/test_codex_extractor.py +108 -0
- agent_session_hub-0.2.0/tests/test_config.py +151 -0
- agent_session_hub-0.2.0/tests/test_deepseek_extractor.py +45 -0
- agent_session_hub-0.2.0/tests/test_gemini_extractor.py +93 -0
- agent_session_hub-0.2.0/tests/test_grok_extractor.py +62 -0
- agent_session_hub-0.2.0/tests/test_models.py +92 -0
- agent_session_hub-0.2.0/tests/test_module_imports.py +44 -0
- agent_session_hub-0.2.0/tests/test_output_contract.py +110 -0
- agent_session_hub-0.2.0/tests/test_path_templates.py +183 -0
- agent_session_hub-0.2.0/tests/test_portable_paths.py +132 -0
- agent_session_hub-0.2.0/tests/test_pre_push_hook.py +299 -0
- agent_session_hub-0.2.0/tests/test_registry.py +72 -0
- agent_session_hub-0.2.0/tests/test_render.py +233 -0
- agent_session_hub-0.2.0/tests/test_router_index.py +130 -0
- agent_session_hub-0.2.0/tests/test_rule_clusterer.py +246 -0
- agent_session_hub-0.2.0/tests/test_rule_extractor.py +203 -0
- agent_session_hub-0.2.0/tests/test_rule_ledger.py +265 -0
- agent_session_hub-0.2.0/tests/test_tool_wrapper.py +19 -0
- agent_session_hub-0.2.0/tests/test_utils.py +250 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Avi Dullu
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agent-session-hub
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Local-first multi-agent coding session archive tooling — discover, export, and baseline your AI coding sessions
|
|
5
|
+
License: MIT
|
|
6
|
+
Project-URL: Homepage, https://github.com/avidullu/agent-sessions
|
|
7
|
+
Project-URL: Repository, https://github.com/avidullu/agent-sessions
|
|
8
|
+
Project-URL: Issues, https://github.com/avidullu/agent-sessions/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/avidullu/agent-sessions/blob/main/CHANGELOG.md
|
|
10
|
+
Keywords: ai,coding-agent,session,archive,claude,codex,copilot,deepseek,gemini,grok,baseline,export
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Software Development :: Version Control
|
|
21
|
+
Classifier: Topic :: Utilities
|
|
22
|
+
Requires-Python: >=3.11
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
License-File: LICENSE
|
|
25
|
+
Provides-Extra: dev
|
|
26
|
+
Requires-Dist: mypy<3,>=1.10; extra == "dev"
|
|
27
|
+
Requires-Dist: pytest<10,>=7.0; extra == "dev"
|
|
28
|
+
Requires-Dist: pytest-cov<8,>=4.0; extra == "dev"
|
|
29
|
+
Requires-Dist: reportlab<6,>=4.0; extra == "dev"
|
|
30
|
+
Requires-Dist: ruff<0.16,>=0.6; extra == "dev"
|
|
31
|
+
Requires-Dist: types-reportlab<6,>=4.0; extra == "dev"
|
|
32
|
+
Dynamic: license-file
|
|
33
|
+
|
|
34
|
+
# Agent Sessions
|
|
35
|
+
|
|
36
|
+
[](https://github.com/avidullu/agent-sessions/actions/workflows/ci.yml)
|
|
37
|
+
[](LICENSE)
|
|
38
|
+
[](https://python.org)
|
|
39
|
+
[](https://pypi.org/project/agent-session-hub/)
|
|
40
|
+
[](https://marketplace.visualstudio.com/items?itemName=avidullu.agent-session-router)
|
|
41
|
+
|
|
42
|
+
**Local-first, multi-agent coding session archive.** Discover, export, and
|
|
43
|
+
baseline your AI coding sessions across Claude Code, Codex CLI, Gemini,
|
|
44
|
+
DeepSeek, Grok, and VS Code agents (via the companion
|
|
45
|
+
[router extension](https://marketplace.visualstudio.com/items?itemName=avidullu.agent-session-router)).
|
|
46
|
+
|
|
47
|
+
> The Python hub installs as [`agent-session-hub`](https://pypi.org/project/agent-session-hub/) on PyPI; the VS Code companion is
|
|
48
|
+
> [`avidullu.agent-session-router`](https://marketplace.visualstudio.com/items?itemName=avidullu.agent-session-router) on the Marketplace
|
|
49
|
+
> (`code --install-extension avidullu.agent-session-router`).
|
|
50
|
+
|
|
51
|
+
> **New here?** → [Getting Started](docs/GETTING_STARTED.md) (5-minute guide)
|
|
52
|
+
> **Agent-assisted setup?** → [Agent-Assisted Setup](#agent-assisted-setup) (give any capable agent a prompt; it sets up the archive on a new machine)
|
|
53
|
+
> **Questions?** → [FAQ](docs/FAQ.md)
|
|
54
|
+
> **Want to contribute?** → [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
55
|
+
|
|
56
|
+
## Supported Agents
|
|
57
|
+
|
|
58
|
+
> **Note:** This tool has been manually tested on **Windows, WSL, and Ubuntu**. macOS
|
|
59
|
+
> support is provided through the same code paths but has not been validated by the
|
|
60
|
+
> developer (who does not own a Mac). If you hit macOS-specific issues, please file a
|
|
61
|
+
> bug — PRs welcome!
|
|
62
|
+
|
|
63
|
+
| Agent | Platform | Via |
|
|
64
|
+
|-------|----------|-----|
|
|
65
|
+
| Claude Code | Windows, macOS, Linux, WSL | Direct Python importer |
|
|
66
|
+
| Codex CLI | Windows, macOS, Linux | Direct Python importer |
|
|
67
|
+
| Gemini Antigravity | Windows, macOS | Direct Python importer |
|
|
68
|
+
| Grok | WSL, Linux | Direct Python importer |
|
|
69
|
+
| DeepSeek V4 | VS Code (all platforms) | Direct Python importer |
|
|
70
|
+
| GitHub Copilot Chat | VS Code (all platforms) | [Router extension](https://marketplace.visualstudio.com/items?itemName=avidullu.agent-session-router) |
|
|
71
|
+
| Continue, Cline, Cody, Aider, Tabby | VS Code (all platforms) | [Router extension](https://marketplace.visualstudio.com/items?itemName=avidullu.agent-session-router) |
|
|
72
|
+
|
|
73
|
+
Configure sources in `sources.toml` (copy from `sources.example.toml`). Platform-specific examples included for Windows, macOS, Linux, and WSL.
|
|
74
|
+
|
|
75
|
+
## Quick Start
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Install
|
|
79
|
+
pip install agent-session-hub
|
|
80
|
+
|
|
81
|
+
# Discover sessions
|
|
82
|
+
agent-archive discover --write docs/DISCOVERY.md
|
|
83
|
+
|
|
84
|
+
# Export to Markdown
|
|
85
|
+
agent-archive export --all
|
|
86
|
+
|
|
87
|
+
# Check status
|
|
88
|
+
agent-archive status
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
See [Getting Started](docs/GETTING_STARTED.md) for full setup including the VS Code extension, PDF export, and daily automation.
|
|
92
|
+
|
|
93
|
+
**Prefer to let an agent do the setup?** See [Agent-Assisted Setup](#agent-assisted-setup) — a carefully written prompt that lets Codex, Claude, Gemini, Grok, or another capable agent clone, install, discover, validate, and produce a first archive + structured setup report on a new machine.
|
|
94
|
+
|
|
95
|
+
Optional PDF output:
|
|
96
|
+
|
|
97
|
+
```powershell
|
|
98
|
+
python .\tools\agent_archive.py export --all --pdf
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Optional raw backups:
|
|
102
|
+
|
|
103
|
+
```powershell
|
|
104
|
+
python .\tools\agent_archive.py export --all --copy-raw
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Raw files land under `raw/`, which is ignored by Git unless you intentionally
|
|
108
|
+
force-add it.
|
|
109
|
+
|
|
110
|
+
### Expected Outputs
|
|
111
|
+
|
|
112
|
+
`discover --write docs\DISCOVERY.md` refreshes the local source inventory:
|
|
113
|
+
|
|
114
|
+
- configured source roots, whether each root exists, and matching file counts;
|
|
115
|
+
- sample files per source;
|
|
116
|
+
- inventory-only sources such as Copilot/ZAI storage locations, even when they
|
|
117
|
+
are not exportable transcript sources yet.
|
|
118
|
+
|
|
119
|
+
`status` prints archive freshness and convergence signals:
|
|
120
|
+
|
|
121
|
+
- indexed records, visible configured files, new files, and changed files;
|
|
122
|
+
- indexed records not visible from this machine, preserved from other machines;
|
|
123
|
+
- source counts and inferred origin environments.
|
|
124
|
+
|
|
125
|
+
`export --all` writes Markdown archive artifacts and updates the shared catalog:
|
|
126
|
+
|
|
127
|
+
- `archive/**/*.md`
|
|
128
|
+
- `archive/index.jsonl`
|
|
129
|
+
- `archive/INDEX.md`
|
|
130
|
+
|
|
131
|
+
`export --all --pdf` also writes `archive/**/*.pdf` when `reportlab` is
|
|
132
|
+
installed. The `.[dev]` install includes `reportlab`; to check a minimal
|
|
133
|
+
environment, run:
|
|
134
|
+
|
|
135
|
+
```powershell
|
|
136
|
+
python -c "import reportlab; print('reportlab ok')"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
If PDF support is missing, Markdown export still works. The CLI will report that
|
|
140
|
+
PDF export requires `reportlab`.
|
|
141
|
+
|
|
142
|
+
Some configured sources are intentionally inventory-only. A message like this is
|
|
143
|
+
expected unless transcript files exist in supported locations:
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
Skipped sources without extractors:
|
|
147
|
+
- copilot-vscode-windows-inventory (inventory)
|
|
148
|
+
- copilot-vscode-wsl-ubuntu-inventory (inventory)
|
|
149
|
+
- zai-vscode-wsl-ubuntu-inventory (inventory)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
After a real export, review only the intended generated paths:
|
|
153
|
+
|
|
154
|
+
```powershell
|
|
155
|
+
git status --short archive/ docs/DISCOVERY.md
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Stage explicit paths only. Do not commit `sources.toml`, `raw/`, or unrelated
|
|
159
|
+
files.
|
|
160
|
+
|
|
161
|
+
## Verify Changes Before Opening A PR
|
|
162
|
+
|
|
163
|
+
Run CI's gates locally, with CI's pinned toolchain, in a throwaway venv:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
./scripts/local_ci.sh
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
That runs `ruff check`, `mypy`, and the test suite with coverage — the same
|
|
170
|
+
commands as `.github/workflows/ci.yml` — and refuses to run at all if the script
|
|
171
|
+
has drifted from the workflow. Use `--lint-only` for a fast inner loop, but note
|
|
172
|
+
it is not the CI verdict.
|
|
173
|
+
|
|
174
|
+
### Automatic Enforcement On `git push`
|
|
175
|
+
|
|
176
|
+
`scripts/pre-push` is an opt-in git hook that runs the gates and aborts a push
|
|
177
|
+
that would go red. Install it once per clone:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
ln -s ../../scripts/pre-push .git/hooks/pre-push
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
The hook gates the commits being pushed, not whatever happens to be checked out.
|
|
184
|
+
Documentation-only pushes are skipped automatically; `SKIP_LOCAL_CI=1 git push`
|
|
185
|
+
and `git push --no-verify` are the explicit bypasses. Full details, including the
|
|
186
|
+
drift guard, the parity limits, and the Windows/WSL install path, are in
|
|
187
|
+
[docs/LOCAL_CI.md](docs/LOCAL_CI.md).
|
|
188
|
+
|
|
189
|
+
## Agent-Assisted Setup
|
|
190
|
+
|
|
191
|
+
To set this up on a new computer with Codex, Claude, Gemini, Grok, DeepSeek, or
|
|
192
|
+
another capable local agent, give the agent this prompt from the machine you
|
|
193
|
+
want to add:
|
|
194
|
+
|
|
195
|
+
```text
|
|
196
|
+
Set up my private agent-sessions archive on this computer.
|
|
197
|
+
|
|
198
|
+
1. Clone or open the repo:
|
|
199
|
+
https://github.com/avidullu/agent-sessions
|
|
200
|
+
Pull with `git pull --ff-only` before reading files.
|
|
201
|
+
2. Install local tooling in a Python 3.11+ environment:
|
|
202
|
+
`python -m pip install -e ".[dev]"`
|
|
203
|
+
3. Validate the repo and report results. Use POSIX-style paths in the prompt;
|
|
204
|
+
PowerShell users may substitute `.\tools\...` and `docs\DISCOVERY.md` if
|
|
205
|
+
they prefer:
|
|
206
|
+
- `python -m pytest --cov=agent_sessions --cov-report=term-missing`
|
|
207
|
+
- `python -m ruff check .`
|
|
208
|
+
- `python -m mypy agent_sessions tools`
|
|
209
|
+
- optional/informational: `python tools/agent_archive.py baseline eval --dry-run`
|
|
210
|
+
4. Discover local agent stores:
|
|
211
|
+
- `python tools/agent_archive.py discover --write docs/DISCOVERY.md`
|
|
212
|
+
- `python tools/agent_archive.py status`
|
|
213
|
+
If defaults miss a local path, create or edit ignored `sources.toml`; do not
|
|
214
|
+
commit `sources.toml`.
|
|
215
|
+
5. Ask me which sync mode I want before enabling it:
|
|
216
|
+
- manual: export only when I ask
|
|
217
|
+
- scheduled: daily Task Scheduler/cron export
|
|
218
|
+
- triggered: filesystem watcher with debounce
|
|
219
|
+
Ask separately whether to generate PDFs.
|
|
220
|
+
6. If I approve the first sync, run:
|
|
221
|
+
`python tools/agent_archive.py export --all --pdf`
|
|
222
|
+
Then stage only `archive/` changes. Push directly only if I explicitly
|
|
223
|
+
approve this as a one-time archive sync; otherwise branch and open a PR.
|
|
224
|
+
7. Finish with a short setup report: validation status, agents discovered,
|
|
225
|
+
total indexed sessions, new/changed files, origin environments, sync mode,
|
|
226
|
+
and 1-2 promoted guardrails from `baseline/global/` or optional
|
|
227
|
+
`baseline suggest --dry-run` output that show the value.
|
|
228
|
+
|
|
229
|
+
Do not commit raw logs, `sources.toml`, unrelated files, or merge PRs without
|
|
230
|
+
explicit approval scoped to that PR or project.
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
The final setup report should be plain enough to review at a glance:
|
|
234
|
+
|
|
235
|
+
```text
|
|
236
|
+
Repo validation:
|
|
237
|
+
- Tests/coverage:
|
|
238
|
+
- Ruff:
|
|
239
|
+
- Mypy:
|
|
240
|
+
- Baseline eval:
|
|
241
|
+
|
|
242
|
+
Local archive status:
|
|
243
|
+
- Agents/sources discovered:
|
|
244
|
+
- Indexed sessions:
|
|
245
|
+
- New files:
|
|
246
|
+
- Changed files:
|
|
247
|
+
- Origin environments:
|
|
248
|
+
|
|
249
|
+
Sync:
|
|
250
|
+
- Selected mode:
|
|
251
|
+
- PDF export:
|
|
252
|
+
- Last export/commit:
|
|
253
|
+
|
|
254
|
+
Value preview:
|
|
255
|
+
- Guardrail/pattern 1:
|
|
256
|
+
- Guardrail/pattern 2:
|
|
257
|
+
- Evidence breadcrumbs:
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
See [docs/AUTOMATION.md](docs/AUTOMATION.md) for scheduled export details and
|
|
261
|
+
[docs/MULTI_MACHINE.md](docs/MULTI_MACHINE.md) for how indexes converge across
|
|
262
|
+
computers. For a step-by-step manual checklist, see
|
|
263
|
+
[docs/NEW_MACHINE_SETUP.md](docs/NEW_MACHINE_SETUP.md).
|
|
264
|
+
|
|
265
|
+
## Adding Agents
|
|
266
|
+
|
|
267
|
+
1. Add a source entry in `config/default_sources.toml` or local `sources.toml`.
|
|
268
|
+
2. Add an extractor module under `agent_sessions/sources/`.
|
|
269
|
+
3. Register it with `@register("<kind>")`.
|
|
270
|
+
4. Run a dry export with `--source <kind> --limit 1 --dry-run`.
|
|
271
|
+
|
|
272
|
+
## Baseline Status And Follow-Ups
|
|
273
|
+
|
|
274
|
+
The original promote/publish/calibrate closure proof is documented in
|
|
275
|
+
[docs/archives/BASELINE_LOOP_CLOSURE.md](docs/archives/BASELINE_LOOP_CLOSURE.md). The newer
|
|
276
|
+
knowledge and replay tracker is complete in
|
|
277
|
+
[docs/archives/BASELINE_KNOWLEDGE_REPLAY_PLAN.md](docs/archives/BASELINE_KNOWLEDGE_REPLAY_PLAN.md),
|
|
278
|
+
with current health and follow-ups summarized in
|
|
279
|
+
[docs/archives/WORK_AUDIT_2026-07-08.md](docs/archives/WORK_AUDIT_2026-07-08.md).
|
|
280
|
+
|
|
281
|
+
Useful health checks:
|
|
282
|
+
|
|
283
|
+
```powershell
|
|
284
|
+
python .\tools\agent_archive.py baseline lint --dry-run
|
|
285
|
+
python .\tools\agent_archive.py baseline eval --dry-run
|
|
286
|
+
python .\tools\agent_archive.py baseline handoffs audit --dry-run
|
|
287
|
+
python .\tools\agent_archive.py baseline replay select --dry-run
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
## Engineering Baseline
|
|
291
|
+
|
|
292
|
+
Create or refresh the baseline scaffold:
|
|
293
|
+
|
|
294
|
+
```powershell
|
|
295
|
+
python .\tools\agent_archive.py baseline scaffold
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
Expected output: missing baseline folders and templates are created under
|
|
299
|
+
`baseline/`, including calibration examples and proposal scaffolding. Existing
|
|
300
|
+
files are preserved.
|
|
301
|
+
|
|
302
|
+
Generate reviewable candidate predictions from the archive:
|
|
303
|
+
|
|
304
|
+
```powershell
|
|
305
|
+
python .\tools\agent_archive.py baseline suggest
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
Expected output: a dated candidate report appears under `baseline/candidates/`,
|
|
309
|
+
with a matching `.predictions.json` sidecar, and the prediction ledger under
|
|
310
|
+
`baseline/metacognition/` is updated. Candidate reports are suggestions with
|
|
311
|
+
provenance and calibration hooks. Copy
|
|
312
|
+
`baseline/calibration/feedback.example.toml` to
|
|
313
|
+
`baseline/calibration/feedback.toml` to mark predictions as accepted, edited, or
|
|
314
|
+
rejected before the next run.
|
|
315
|
+
|
|
316
|
+
Summarize calibration feedback against the latest prediction sidecar:
|
|
317
|
+
|
|
318
|
+
```powershell
|
|
319
|
+
python .\tools\agent_archive.py baseline calibrate --feedback baseline\calibration\feedback.toml
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
Create a local evidence bundle for an authorized AI agent to draft proposals:
|
|
323
|
+
|
|
324
|
+
```powershell
|
|
325
|
+
python .\tools\agent_archive.py baseline bundle --focus badminton-highlight-indexer
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
## Compose Stack
|
|
329
|
+
|
|
330
|
+
This repo owns durable export and baseline generation. Search, Claude-specific
|
|
331
|
+
browsing, live capture, and runtime memory are delegated to external tools where
|
|
332
|
+
they are already stronger. See [docs/COMPOSE_STACK.md](docs/COMPOSE_STACK.md).
|
|
333
|
+
|
|
334
|
+
Daily export automation is documented in [docs/AUTOMATION.md](docs/AUTOMATION.md).
|
|
335
|
+
Multi-machine indexing is documented in [docs/MULTI_MACHINE.md](docs/MULTI_MACHINE.md).
|
|
336
|
+
|
|
337
|
+
## Reusable Plugins
|
|
338
|
+
|
|
339
|
+
This repo also hosts a Claude Code plugin marketplace (`agent-sessions-tools`).
|
|
340
|
+
Install the `pr-review-loop` PR-reviewer plugin from any session:
|
|
341
|
+
|
|
342
|
+
```shell
|
|
343
|
+
/plugin marketplace add avidullu/agent-sessions
|
|
344
|
+
/plugin install pr-review-loop@agent-sessions-tools
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
See [plugins/pr-review-loop/README.md](plugins/pr-review-loop/README.md).
|
|
348
|
+
|
|
349
|
+
## Other Machines
|
|
350
|
+
|
|
351
|
+
Clone this private repo on another machine, follow
|
|
352
|
+
[docs/NEW_MACHINE_SETUP.md](docs/NEW_MACHINE_SETUP.md), commit the new `archive/`
|
|
353
|
+
Markdown/PDF files, and push.
|
|
354
|
+
The archive index is merge-aware, so records from other machines remain in the
|
|
355
|
+
unified view when one machine exports only the local sources it can see.
|
|
356
|
+
|
|
357
|
+
If a machine has different usernames, WSL distribution names, or custom storage
|
|
358
|
+
paths, copy `sources.example.toml` to `sources.toml` and edit the roots. The
|
|
359
|
+
local `sources.toml` is ignored by Git.
|
|
360
|
+
|
|
361
|
+
## Roadmap
|
|
362
|
+
|
|
363
|
+
See [docs/ROADMAP.md](docs/ROADMAP.md) for optional future importers and archive
|
|
364
|
+
automation ideas.
|
|
365
|
+
|
|
366
|
+
The engineering-baseline idea is sketched in
|
|
367
|
+
[docs/ENGINEERING_BASELINE.md](docs/ENGINEERING_BASELINE.md).
|
|
368
|
+
The current implementation plan is tracked in
|
|
369
|
+
[docs/BASELINE_PLANNING.md](docs/BASELINE_PLANNING.md).
|