Inspiration
Every AI-agent handoff is also a delegation problem.
I am a doctoral candidate in Political Science specializing in Political Economy. My dissertation, Leviathans with Clay Feet, studies why institutions designed to create stability can instead accumulate pressure and produce abrupt policy jumps. The research spans theory, literature review, country-quarter data construction, statistical modeling, meeting-minutes analysis, interviews, and writing.
Working across those layers exposed a recurring weakness in my AI-assisted workflow. A new conversation may receive the latest conclusion, yet lose the reasoning and research discipline that made the conclusion meaningful:
- Why was a methodological decision made?
- Which alternatives were rejected, and why?
- Which definitions and constraints have already been approved?
- Which claims are confirmed, inferred, disputed, or still unresolved?
- Was a referenced source or file actually transferred?
- What must the next agent do—and what must it not do yet?
Copying an entire transcript preserves noise. A normal summary is easier to move, but it offers no repeatable local way to detect whether the handoff changed afterward. In consequential work, context loss can alter a variable’s meaning, erase the rationale behind a design choice, silently upgrade uncertainty into fact, or compromise an ethics constraint.
That is why I created Zeitgeister AI Capsule: a small, inspectable continuity layer for work that must survive beyond one chat window.
What it does
Zeitgeister is a zero-dependency Python CLI that packages an AI project’s goal, ethos, constraints, decisions and rationales, blockers, next steps, provenance, evidence status, artifact status, timestamps, and lineage into a portable JSON capsule.
Its guided workflow can move a project from one ordinary AI conversation to another without model APIs or provider SDKs. For example:
python3 -m zeitgeister guided-transfer \
--from GPT \
--to Kimi \
--key local-state/gpt-to-kimi.key
The sender and receiver names are labels, not integrations. GPT, Kimi, Claude, Gemini, Grok, Qwen, a local model, another text-capable system, or a human collaborator can participate in the same workflow.
During a guided transfer:
- Zeitgeister prepares a schema-constrained instruction for the sending conversation.
- The sender proposes structured handoff content.
- The local CLI extracts one complete object, even when it is wrapped in a Markdown code fence, brief explanatory prose, or common invisible clipboard characters.
- Zeitgeister validates the schema and creates deterministic canonical JSON.
- It calculates a SHA-256 content hash and authenticates the same bytes with HMAC-SHA256 under a local key.
- It verifies the result and builds a transfer bundle containing the capsule, manifest, verification report, human summary, and receiver-ready prompt.
- The receiving conversation acknowledges what it will preserve, what remains uncertain, which artifacts are missing, and what it should do first.
For canonical payload bytes (m) and a local secret key (k), the integrity metadata is conceptually:
[ h = \operatorname{SHA256}(m), \qquad t = \operatorname{HMAC\text{-}SHA256}(k, m) ]
The key stays local. It is never placed in either AI conversation or included in the transfer bundle.
Zeitgeister also supports create, validate, verify, resume, update, verify-lineage, sender-prompt, handoff, transfer, and receiver-prompt. Updates extend only a verified parent and record the parent content hash, creating an inspectable chain of locally authenticated handoffs.
A Political Economy demonstration
The public demo uses a fictional, non-sensitive country-quarter research project. An existing GPT conversation contains a reproducibility goal, project ethos, one confirmed design decision, an unresolved policy-rate convention, provenance, and an explicit statement that no physical artifacts were attached.
Zeitgeister guides that context through the user-controlled local trust boundary, verifies and packages it, and produces the prompt transferred to Kimi. Kimi receives both the knowledge and its limits: the confirmed decision remains confirmed, the unresolved convention remains unresolved, and a mentioned file does not magically become an included artifact. The saved capsule is then verified again from disk.
This distinction matters in real research. My dissertation workflow must preserve the country-quarter unit of analysis, keep alternative central-bank-independence measures distinct, avoid overwriting raw sources, record why transformations were chosen, and stop at explicit phase gates before acquiring or merging additional data. Zeitgeister carries that governing ethos alongside the immediate technical state.
The researcher remains the decision authority. The capsule does not replace judgment; it preserves the provenance and constraints surrounding that judgment.
How I built it
I built the MVP in Codex with GPT-5.6 as the implementation and reasoning collaborator. Codex helped turn the handoff concept into a standard-library architecture, define the authenticated canonical payload, implement the CLI, design separate sender-input and capsule schemas, and build both guided and file-based transfer paths.
GPT-5.6 was especially useful for reasoning through failure cases and challenging inflated security language. Together, we handled malformed or wrapped model JSON, multiple-object ambiguity, wrong or missing keys, guarded overwrites, missing provenance, structured uncertainty, missing versus physically included artifacts, tampered content, and broken parent lineage.
The finished implementation uses Python’s standard library only—no third-party runtime packages and no AI-provider API dependency. The repository includes a fictional sample dataset handoff, schemas, an inter-agent guide, a deterministic fallback demonstration, setup instructions, an MIT license, and 42 passing unit and integration tests.
Those tests cover canonical serialization, key permissions, schema validation, missing and wrong keys, HMAC verification, tamper detection, refusal to update a compromised parent, lineage checks, prompt rendering, clipboard recovery, ambiguous-object refusal, structured claims, artifact hashing, dry runs, strict-mode failures, overwrite protection, and every CLI command.
Challenges I faced
Defining an honest trust boundary
A checksum alone is not authentication: anyone who edits a file can calculate a new checksum. HMAC adds keyed local authentication, but it still does not provide encryption, immutability, factual truth, public-key signatures, or third-party authorship proof. The hardest design challenge was making that distinction part of the product rather than hiding it in fine print.
Zeitgeister therefore makes a narrow claim: it provides local authentication and edit detection for holders of the same local key. A receiving AI without that key cannot independently authenticate the capsule.
Turning messy model output into safe input
Browser-based AI responses are not always clean JSON. They may include code fences, introductory prose, byte-order marks, zero-width characters, or clipboard noise. Zeitgeister can recover one complete handoff object from those common forms, but it rejects multiple distinct objects as ambiguous rather than guessing which one the user intended.
Distinguishing references from transferred artifacts
A conversation can mention a filename or URL without actually supplying the file. Zeitgeister records artifacts as included, missing, or external. Only physically supplied files are bundled and hashed. This prevents a receiver from treating a conversational reference as evidence it possesses.
Keeping the workflow usable
The cryptography is only helpful if a person can complete the transfer without exposing the key or pasting multiline JSON into a shell. The guided command reduces the crossing to a few visible clipboard actions while keeping validation, authentication, verification, and packaging local.
What I learned
Reliable continuity is not the same as a larger context window. A useful handoff must be deliberately small, inspectable, portable, and explicit about the difference between observations, decisions, plans, and unresolved claims.
I also learned that provenance is not merely a list of links. It includes decision rationales, evidence status, artifact custody, transformation history, and a clear next action. Preserving a project’s ethos can be as important as preserving its latest output.
Finally, security language is part of implementation quality. A tool becomes more trustworthy when it states exactly where its certainty ends.
What is next
Possible next steps include asymmetric signatures for cross-party verification, optional encryption for sensitive workflows, additional operating-system clipboard adapters, richer redaction and disclosure policies, and integrations that preserve Zeitgeister’s inspectable local trust boundary.
The broader goal is a lightweight continuity and governance layer for developers, researchers, analysts, auditors, and teams whose work is too consequential to depend on a buried transcript.
Log in or sign up for Devpost to join the conversation.