Overview
The blackboard uses SQLite for ephemeral session storage, creating a temporary database that doesn’t persist across runs. Each session has a unique ID and tracks the complete workflow from research to writing.Core concepts
Session workflow
- Research phase: Agents discover and record findings about the codebase
- Planning phase: Agents create documentation outlines referencing findings
- Writing phase: Agents generate content based on approved plans
- Complete: All documentation targets are written
Data types
Finding
A research finding summarizes discovered information about code, docs, APIs, or concepts.DocTarget
A documentation target represents a page or topic to be documented.Plan
A documentation plan with an outline of sections and their associated findings.Artifact
Draft or final content produced during the writing phase.Blackboard tools
Agents interact with the blackboard through specialized tools. All blackboard tools are created viacreateBlackboardTools():
Finding tools
blackboard_write_finding
Write a research finding to the blackboard. Findings are summaries with file paths - not full content.type(required): Finding type - ‘code’, ‘doc’, ‘api’, or ‘concept’summary(required): Summary of the findingdocTargetId(optional): Associated documentation targetfilePath(optional): Source file pathrelevanceScore(optional): Relevance score 0-1metadata(optional): Additional metadata
blackboard_read_finding
Read a specific finding by ID.blackboard_read_findings
Read all findings for a documentation target.Plan tools
blackboard_write_plan
Write a documentation plan to the blackboard. Includes outline with sections and finding references.docTargetId(required): Associated documentation targettitle(required): Plan titleoutline(required): Plan outline with sections
blackboard_read_plan
Read a specific plan by ID.Artifact tools
blackboard_write_artifact
Write an artifact (draft or final content) to the blackboard.type(required): Artifact type - ‘draft’, ‘final’, or ‘media_suggestion’planId(optional): Associated plan IDsectionId(optional): Associated section IDcontent(optional): Content of the artifactfilePath(optional): File path for the artifactstatus(optional, default: ‘draft’): Status - ‘draft’, ‘review’, ‘approved’, or ‘written’
blackboard_read_artifact
Read a specific artifact by ID.Completion tools
These tools mark different phases as complete and advance the workflow.mark_research_complete
Mark research phase as complete. Call this when you’ve finished researching and recorded all findings.submit_plan
Submit a plan for approval. Call this when you’ve created a documentation plan and it’s ready for review.mark_writing_complete
Mark writing phase as complete. Call this when you’ve finished writing all sections for a plan.mark_interaction_complete
Mark user interaction as complete. Call this after presenting info to user or getting their response.Blackboard methods
TheBlackboard class provides direct methods for managing state. These are typically called by the blackboard tools rather than directly by agents.