Files
temp/robot/unified_context_models.robot
freemo fae438a7a7 refactor(acms): unify ContextFragment model hierarchies by extending CRP base types
Core domain types (FragmentProvenance, ContextFragment, ContextBudget,
ContextPayload) now extend their CRP counterparts via Pydantic v2
inheritance, ensuring isinstance compatibility across the model
hierarchy.

Key changes:
- CRP base types made frozen=True (no consumer mutates them)
- CRP AssembledContext fields changed from list to tuple (frozen consistency)
- Core types extend CRP bases: FragmentProvenance(CRPFragmentProvenance),
  ContextFragment(CRPContextFragment), ContextBudget(CRPContextBudget),
  ContextPayload(CRPAssembledContext)
- Removed duplicate ContextFragment dataclass from skeleton_compressor
- Updated project_context.py to pass tuples to frozen AssembledContext
- Added Behave tests (10 scenarios), Robot integration tests (3 cases),
  and ASV benchmarks for the unified hierarchy
- Updated Known Limitations table in docs/reference/acms.md

ISSUES CLOSED: #569
2026-03-05 21:38:55 +00:00

34 lines
1.5 KiB
Plaintext

*** Settings ***
Documentation Integration tests for unified CRP/core context model hierarchy
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_unified_context_models.py
*** Test Cases ***
Core Types Are Instances Of CRP Base Types
[Documentation] Verify that all four core types pass isinstance checks against CRP bases
${result}= Run Process ${PYTHON} ${HELPER} isinstance-check cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} unified-isinstance-ok
Unified Models Construct With Inherited And Extended Fields
[Documentation] Verify construction populates both CRP and core-specific fields
${result}= Run Process ${PYTHON} ${HELPER} construction-check cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} unified-construction-ok
Frozen Models Reject Mutation
[Documentation] Verify frozen configuration is inherited and enforced
${result}= Run Process ${PYTHON} ${HELPER} immutability-check cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} unified-immutability-ok