Skip to content

Design and implement core entity Pydantic models (Agent, Company, Department) #55

@Aureliolo

Description

@Aureliolo

Context

Implement the foundational Pydantic models that represent the core entities of the framework. These models are the data backbone that every other module depends on.

Models to Implement

  • AgentIdentity - name, role, department, level, personality, skills, model config, memory config, tool permissions, authority (DESIGN_SPEC 3.1)
  • Company - name, type, departments, config, HR registry (DESIGN_SPEC 4.1-4.3)
  • Department - name, head, budget_percent, teams (DESIGN_SPEC 4.3)
  • Team - name, lead, members

Acceptance Criteria

  • All models defined with Pydantic v2 BaseModel
  • Comprehensive field validation (types, ranges, enums)
  • Serialization to/from YAML and JSON
  • Immutable pattern: models use frozen=True or return new instances on update
  • Unit tests for validation (valid and invalid inputs)
  • 80%+ test coverage on these models

Tech Decisions Needed

  • Pydantic v2 configuration style (model_config vs class Config)
  • UUID generation strategy (uuid4 vs ulid vs nanoid)
  • Enum vs Literal for constrained string fields

Design Spec Reference

Sections 3.1, 3.2, 4.1-4.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:criticalBlocks other work, must do firstprio:highImportant, should be prioritizedscope:large3+ days of workspec:agent-systemDESIGN_SPEC Section 3 - Agent Systemspec:company-structureDESIGN_SPEC Section 4 - Company Structuretype:featureNew feature implementation

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions