Skip to content

Append a snapshot of the seat config to configs.jsonl when it changes - #134

Merged
andreisavu merged 2 commits into
mainfrom
claude/project-thread-xp3s1i
Oct 8, 2026
Merged

andreisavu merged 2 commits into
mainfrom
claude/project-thread-xp3s1i

Conversation

@andreisavu

Copy link
Copy Markdown
Contributor

Requested by Andrei · project thread

Before: the data directory shows what the seats did (activations.jsonl, #131) but not what they were configured with. A change of model, effort, instructions or tools leaves no record.

After: configs.jsonl holds timestamped snapshots of the seat config. At each start the host builds a snapshot from the live definitions and appends it only when its hash differs from the last line, so each line is one config change. A line holds, for each specialist, the model, the thinking level, the instructions, the guidance, the effective respond and summary policies (with their source), and every tool with its description and parameters. It also holds the people, the runtime limits, the package versions, the workstation host, and the login state as present or missing. No credential is written. schemas.md describes the file and how to find the snapshot in force for an activation.

How: src/host/config.ts makes a plain JSON projection of the AgentDefinition objects the host seats (functions dropped, cycles marked), hashes the canonical JSON with sha256, and compares it with the last line. openRooms returns the definitions and hostingOf(runtime).limits. openLab writes the snapshot before schemas.md. One line is about 120 KB, mostly tool schemas.

Tests: test/host-config.test.ts covers the first line, no line on an unchanged restart, a second line on a change, a corrupt last line, and that no function source or key value reaches the file. pnpm check passes.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CMQWkjZ4dsuKpddaACQsSM


Generated by Claude Code

At each start, the host builds a snapshot from the live definitions: the
model, the thinking level, the instructions, the guidance, the policies,
and the tools of each specialist, the people, the runtime limits, and the
package versions. It appends the snapshot as one line with `at` and
`hash` when the hash differs from the last line. The file records the
login state only, and no credential. schemas.md describes the file.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CMQWkjZ4dsuKpddaACQsSM
@andreisavu andreisavu self-assigned this Oct 8, 2026
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CMQWkjZ4dsuKpddaACQsSM
@andreisavu
andreisavu marked this pull request as ready for review October 8, 2026 16:22
@andreisavu
andreisavu merged commit d449312 into main Oct 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants