Skip to content

Phase 1: Bond Forensic Runtime Documentation & Foundation#1

Merged
bordumb merged 12 commits intomainfrom
fn-1
Jan 24, 2026
Merged

Phase 1: Bond Forensic Runtime Documentation & Foundation#1
bordumb merged 12 commits intomainfrom
fn-1

Conversation

@bordumb
Copy link
Copy Markdown
Contributor

@bordumb bordumb commented Jan 24, 2026

Summary

  • Establishes Bond as the "Forensic Runtime" for AI agents with full-spectrum streaming
  • Complete MkDocs Material documentation site with custom branding
  • CI/CD pipeline for automated docs deployment to GitHub Pages
  • Full Bond runtime implementation with StreamHandlers, BondAgent, and tool architecture

What's Included

Documentation (docs/)

  • Landing page - "Forensic Runtime" positioning with feature cards and comparison table
  • Quickstart guide - Async/sync examples, all 8 StreamHandlers callbacks
  • Architecture docs - Mermaid diagrams, detailed callback documentation
  • API reference - Auto-generated from docstrings via mkdocstrings

Theme & Branding

  • Custom "Forensic Blue" theme (primary #1a237e, accent cyan #00bcd4)
  • Full light/dark mode support
  • Styled cards, buttons, tables, code blocks

CI/CD (.github/workflows/)

  • docs.yml - Deploy to GitHub Pages on push to main
  • ci.yml - Run tests (Python 3.11/3.12) and verify docs build

Core Runtime (src/bond/)

  • BondAgent - Generic agent wrapping PydanticAI with dynamic personas
  • StreamHandlers - 8 callbacks for full observability
  • Handler factories for WebSocket, SSE, and console output
  • Tool architecture with memory and schema toolsets

Metadata

  • Version synced to 0.1.0
  • Updated description and PyPI classifiers
  • Project URLs configured

Test plan

  • mkdocs build --strict passes
  • pip install -e . works
  • python -c "import bond; print(bond.__version__)" prints 0.1.0
  • Enable GitHub Pages in Settings → Pages → Source: GitHub Actions
  • Verify docs deploy after merge

🤖 Generated with Claude Code

bordumb and others added 12 commits January 24, 2026 15:12
- Add docs optional dependencies to pyproject.toml
- Create mkdocs.yml with Material theme, dark/light mode, mkdocstrings
- Create docs structure: index.md, quickstart.md, architecture.md, api/
- Add custom CSS for Bond branding
- Include Bond source code and tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Hero section with "The Forensic Runtime for AI Agents" tagline
- Feature grid cards: streaming, personas, type-safety, production-ready
- Quick example showing StreamHandlers usage
- Comparison table vs Raw API and LangChain
- StreamHandlers code reference

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Installation and first agent (async/sync tabs)
- StreamHandlers with all 8 callbacks explained
- Pre-built handlers (create_print_handlers)
- Dynamic instructions for persona switching
- Tool definition with Pydantic validation
- Bundled toolsets example (memory)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Overview sequence diagram showing full event flow
- StreamHandlers section with all 8 callbacks documented
- BondAgent section: constructor, run methods, history, dynamic_instructions
- Handler factories: WebSocket, SSE, print with use cases
- Tool architecture: protocol pattern, toolsets, backends
- PydanticAI integration explanation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Updated nav with Agent, Utilities, Tools sub-pages
- Created docs/api/agent.md for BondAgent and StreamHandlers
- Created docs/api/utils.md for handler factories
- Created docs/api/tools.md for memory and schema toolsets
- Updated docs/api/index.md with module overview and quick links

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Deep blue primary (#1a237e) with cyan accent (#00bcd4)
- Full light/dark mode color schemes
- Hero text gradient styling for landing page
- Styled buttons, cards, tables, code blocks, admonitions
- Responsive adjustments for mobile

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Sync version to 0.1.0 (was 0.0.1 in pyproject.toml)
- Update description to "Forensic Runtime" positioning
- Change authors from "dataing team" to "Bond Contributors"
- Add project URLs (docs, repo, changelog)
- Add keywords and classifiers for PyPI discoverability
- Update __init__.py docstring to match branding

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- docs.yml: Deploy MkDocs to GitHub Pages on push to main
  - Triggers on docs/**, mkdocs.yml, src/bond/** changes
  - Uses GitHub Pages deployment action
  - Manual trigger via workflow_dispatch

- ci.yml: Run tests and docs build on PRs
  - Test matrix: Python 3.11, 3.12
  - Coverage upload to Codecov
  - Docs build verification with --strict

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Switch CI/CD to use uv for faster, reproducible builds
- Add ruff for linting (pycodestyle, pyflakes, isort, bugbear, pydocstyle)
- Add mypy for strict type checking with pydantic plugin
- Add dependency-groups for uv compatibility
- Update license to Apache 2.0
- Update project URLs to renbytes organization
- Include uv.lock for reproducible installs

All checks pass:
- ruff check: 0 errors
- ruff format: 36 files formatted
- mypy: 0 issues in 20 source files
- pytest: 108 tests pass (82% coverage)
- mkdocs build --strict: success

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Constrain pip install code block to 280px max-width
so the copy button stays close to the text.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
scripts/publish.sh - Manual publishing script:
  - Runs all quality checks (ruff, mypy, pytest)
  - Builds with uv build
  - Uploads via twine
  - Supports --test (TestPyPI) and --dry-run flags

.github/workflows/publish.yml - Automated publishing:
  - Triggers on GitHub release or manual dispatch
  - Uses PyPI trusted publishing (no tokens needed)
  - Runs full quality gate before publish
  - Supports TestPyPI via workflow_dispatch input

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changed flowchart from TD (top-down) to LR (left-right)
for better readability on wide screens.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bordumb bordumb merged commit 56b5e77 into main Jan 24, 2026
5 checks passed
@bordumb bordumb deleted the fn-1 branch January 24, 2026 16:02
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.

1 participant