whiteducksoftware / whiteducksoftware/flock

📤 [FEATURE] [0.5.0] Serialization (Blackboard / Agents)

Open
#274 0 comments 0 reactions 1 assignee View on GitHub

@AndreRatzenberger is already working on this.

Since Oct 23, 2025.

enhancement
Dominant language
Python
Stars
120
Forks
14
Avg merge
19h 32m
Merged PRs (30d)
8

Description

Is your feature request related to a problem?

Today there is no supported way to snapshot the blackboard state or share a running configuration across environments. When we need to reproduce a run, analyze artifacts offline, or migrate data between the in-memory store and a managed service, we end up writing ad-hoc scripts against InMemoryBlackboardStore. That approach is error-prone, does not preserve metadata like visibility or correlation ids, and makes collaboration with downstream tools much harder than it needs to be.

Describe the solution you want to see

Introduce a first-class serialization pipeline that can export and import a Flock workspace. Concretely:

  • Provide flock export / flock import CLI commands that dump the current blackboard plus registered agents to JSON or YAML (optionally zipped).
  • Make the export schema include artifacts, visibility scopes, correlation metadata, metrics snippets, and agent definitions so the snapshot is portable between dev, staging, and prod.
  • Support pluggable destinations (local file, S3/Azure blob) so teams can archive runs or seed remote clusters.
  • Ensure the inverse operation can hydrate a fresh orchestrator/store from the exported bundle, letting us spin up replay environments quickly.
Describe alternatives you have considered

We can iterate through store.list() and write our own JSON dump, but that requires re-implementing versioning, visibility handling, and agent wiring. Another option is to interact directly with DuckDB traces, yet those only capture spans—not the full artifact bodies or the agent registry—and they cannot be imported back into a live orchestrator.

Additional context

Consider surfacing a Python API (flock.export_blackboard(format="json")) so tests can assert on serialized output. We should also guard the feature behind visibility policies (e.g., redact private artifacts unless explicitly allowed) to avoid leaking tenant data when sharing snapshots.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.