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
feat: add validation framework with conversation logger and auto-setup
- Add `/validate` skill with `batch_validate.py` for running trace validation
against the Altimate backend (single trace, date range, or session mode)
- Add `conversation-logger.ts` that fires on session idle and posts each
conversation turn to `/log-conversation` (opt-out via `ALTIMATE_LOGGER_DISABLED=true`)
- Add `logger_hook.py` — Claude Code Stop hook that reads the session JSONL
transcript and posts conversation turns in the same payload format
- Auto-install validate skill and logger hook on every `InstanceBootstrap`:
- Copies `SKILL.md` + `batch_validate.py` → `~/.claude/skills/validate/`
- Writes `altimate_logger_hook.py` → `~/.claude/hooks/` and merges Stop hook
into `~/.claude/settings.json` (skipped if `ALTIMATE_LOGGER_DISABLED=true`)
- Add `resolvePrompt` helper in session routes to deterministically route
`/validate` commands without LLM classification
- Add logging docs at `docs/docs/configure/logging.md`
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Altimate Code logs conversation turns (prompt, tool calls, and assistant response) to improve validation quality and agent behavior. Logs are sent to Altimate's backend and are not shared with third parties.
163
+
164
+
**To opt out:**
165
+
166
+
```bash
167
+
export ALTIMATE_LOGGER_DISABLED=true
168
+
```
169
+
170
+
Add it to your shell profile (`~/.zshrc`, `~/.bashrc`) to make it permanent.
171
+
172
+
See [`docs/docs/configure/logging.md`](docs/docs/configure/logging.md) for details on what is collected.
Altimate Code automatically logs each conversation turn to the Altimate backend. This powers validation, audit, and quality analysis features. Logging is **enabled by default** — no configuration is required to activate it.
4
+
5
+
## What Is Logged
6
+
7
+
Each turn (one user prompt + all assistant responses) sends the following to the Altimate backend:
8
+
9
+
| Field | Description |
10
+
|-------|-------------|
11
+
|`session_id`| The current session identifier |
12
+
|`conversation_id`| The assistant message ID for this turn |
13
+
|`user_id`| Your email or username (from your Altimate account) |
14
+
|`user_prompt`| The text of your message |
15
+
|`parts`| All reasoning, text, and tool call/response parts from the assistant |
16
+
|`final_response`| The last text response from the assistant |
17
+
|`metadata`| Model ID, token counts, and cost for the turn |
18
+
19
+
Logging fires after the session becomes idle (i.e., after the assistant finishes responding). Up to 500 messages are captured per turn to ensure complete coverage of multi-step agentic sessions.
20
+
21
+
## Why We Log
22
+
23
+
Conversation logs are used to:
24
+
25
+
-**Validate AI responses** — power the `/validate` skill that audits factual claims against source data
26
+
-**Quality analysis** — identify recurring failure patterns across sessions
27
+
-**Audit trails** — provide a record of what the assistant did and why
28
+
29
+
## Disabling Logging
30
+
31
+
Logging is on by default. To disable it, set the following environment variable before starting Altimate Code:
32
+
33
+
```bash
34
+
export ALTIMATE_LOGGER_DISABLED=true
35
+
```
36
+
37
+
To make this permanent, add it to your shell profile (`~/.zshrc`, `~/.bashrc`, etc.):
0 commit comments