Conversation
…l tests **Added:** - Introduced a comprehensive `tests/test_models.py` suite for SOC and red team models, covering instantiation, serialization, validation, parsing utilities, and XML output - Added detailed docstring and example usage for parsing LLM output using rigging **Changed:** - Migrated core SOC and red team data models (`Evidence`, `TimelineEvent`, `InvestigativeQuestion`, `Target`, `Host`, `User`, `Credential`, `Hash`, `Share`) from `@dataclass` to inherit from `rigging.Model` for automatic serialization and LLM parsing support - Updated field definitions to use rigging's `wrapped` and `element` helpers for XML compatibility and defaults, and `Field` for default factories - Replaced custom `to_dict` methods with calls to `model_dump(mode="json")` for standardized serialization - Re-exported rigging parsing utilities (`parse`, `parse_set`, etc.) directly from the module for easier access - Updated `__all__` to include new symbols and parsing helpers - Improved and expanded module-level documentation to clarify usage and design **Removed:** - Removed legacy `@dataclass` decorators and direct `dataclasses.field` usage in favor of rigging and pydantic-based definitions - Eliminated manual serialization logic now handled by rigging/pydantic methods
CAP-832 Integrate Rigging Framework Across Ares Codebase
Description: Objective: Fully adopt the rigging framework for data modeling, prompt management, and LLM response parsing in Ares, replacing legacy approaches and reducing technical debt. Ensure all key components use rigging’s features for serialization, validation, and output schema generation. Scope of Work:
Dependencies:
Acceptance Criteria:
Additional Notes:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Key Changes:
Added:
tests/test_models.pyto validatemodel creation, serialization (dict/XML), computed fields, parsing utilities,
and pydantic validation across all SOC and red team models
Changed:
Evidence,TimelineEvent,InvestigativeQuestion,Target,Host,User,Credential,Hash,Share) now inherit fromrigging's Model for enhanced serialization and XML/LLM parsing
.model_dump(),.model_validate(), and.to_xml()methodswrappedandelementutilitiesfor robust XML/LLM parsing, especially for lists of strings
to_dictmethods updated to use Model'smodel_dump(mode="json")forbackward compatibility and consistent output
parse,parse_many,parse_set,try_parse, etc.) inares.core.modelsfor convenient import and usageRemoved:
to_dictimplementations replaced with Model's serialization methods