Skip to content

refactor: restructure design docs and clean up provenance#121

Merged
davidfarah2003 merged 6 commits intomainfrom
feat/pydantic-ai-migration
Apr 1, 2026
Merged

refactor: restructure design docs and clean up provenance#121
davidfarah2003 merged 6 commits intomainfrom
feat/pydantic-ai-migration

Conversation

@davidfarah2003
Copy link
Copy Markdown
Contributor

Summary

  • Split ACE_DESIGN.md into three focused docs: ACE_ARCHITECTURE.md (concepts), ACE_REFERENCE.md (code/examples), ACE_DECISIONS.md (rejected alternatives)
  • Merged PYDANTIC_AI_MIGRATION.md content into the new docs and deleted it
  • Moved all design docs into docs/design/
  • Cleaned up skillbook structure and insight source provenance
  • Fixed mypy errors in insight_source, runners, and rr
  • Upgraded litellm to 1.83.0

Test plan

  • Verify all doc cross-references resolve correctly
  • uv run pytest passes
  • uv run mypy ace/ passes

🤖 Generated with Claude Code

…hree

- Split ACE_DESIGN.md into ACE_ARCHITECTURE.md (concepts), ACE_REFERENCE.md
  (code examples), and ACE_DECISIONS.md (rejected alternatives)
- Merged PYDANTIC_AI_MIGRATION.md content into the new docs
- Moved all design docs into docs/design/
- Updated references in CLAUDE.md, AGENTS.md, README.md
- Remove TraceReference and trace traversal engine (~250 lines)
- Slim InsightSource to pure identity: 8 fields (was 14)
- Remove tagging system (helpful/harmful/neutral counters, TagStep, tag_skill)
- Consolidate ace/insight_source.py into ace/steps/attach_insight_sources.py
- Replace fuzzy batch matching with deterministic matching
- Fix Skillbook.to_dict() to use InsightSource.to_dict() (sparse output)
- Omit embedding:null from serialization
- Add thread safety to source_map/summary/filter
- Document provider SDK requirements in pydantic_ai.py and migration doc
…sightSource

The hosted frontend needs these fields to highlight error locations
in the trace viewer. They come from the Reflector's analysis and are
carried through by AttachInsightSourcesStep.
Skill no longer has tag counter fields. Use getattr with None default
in MCP handler to avoid AttributeError.
TagStep is now a pass-through since Skill no longer has tag counters.
Add type annotation for limited_skills in MCP handler.
Skill no longer has helpful/harmful/neutral fields, so TagStep had
nothing to do. Remove the step, its file, and all references from
docs, examples, and tests.
@davidfarah2003 davidfarah2003 merged commit f5bb239 into main Apr 1, 2026
3 checks 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.

1 participant