Files
cleveragents-core/robot/temporal_data_model.robot
hamza.khyari d5f7f15215
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 20s
CI / security (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 39s
CI / unit_tests (pull_request) Successful in 2m50s
CI / integration_tests (pull_request) Successful in 3m22s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 5m49s
CI / benchmark-regression (pull_request) Successful in 35m15s
feat(acms): implement Temporal Data Model (Revision-Aware RDF) with 3 storage tiers
Temporal metadata fields (validFrom, validUntil, isCurrent, isRevisionOf)
on UKO InformationUnit nodes enable revision chain tracking: when code
changes, old nodes are marked historical and new revision nodes are
created with back-links. Three storage tiers (hot/warm/cold) filter
nodes by temporal scope (current/recent/all) with configurable retention
(warm_retention_hours default 24h, cold_retention_days default 90d).

Includes TemporalMetadata, TemporalNode, RevisionChain, TierQueryResult,
TierRetentionConfig frozen domain models, TemporalBackend protocol,
InMemoryTemporalBackend stub, TemporalService with structlog and DI,
BackendSet.temporal typing upgrade from object|None to TemporalBackend|None.
67 Behave scenarios, 8 Robot Framework tests, ASV benchmarks, and
reference documentation.

ISSUES CLOSED: #577
2026-03-11 01:36:06 +00:00

74 lines
3.3 KiB
Plaintext

*** Settings ***
Documentation Smoke tests for Temporal Data Model (Revision-Aware RDF)
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_temporal_data_model.py
*** Test Cases ***
InMemoryTemporalBackend Protocol Compliance
[Documentation] Verify InMemoryTemporalBackend satisfies TemporalBackend protocol
${result}= Run Process ${PYTHON} ${HELPER} protocol-compliance cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} temporal-protocol-ok
Revision Chain Creation And Traversal
[Documentation] Create 3-version revision chain and verify traversal
${result}= Run Process ${PYTHON} ${HELPER} revision-chain cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} temporal-revision-chain-ok
Tier Aware Temporal Queries
[Documentation] Verify hot/warm/cold tier queries with temporal filtering
${result}= Run Process ${PYTHON} ${HELPER} tier-queries cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} temporal-tier-queries-ok
TemporalService Lifecycle
[Documentation] End-to-end service lifecycle: store, revise, query, chain
${result}= Run Process ${PYTHON} ${HELPER} service-lifecycle cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} temporal-service-lifecycle-ok
Domain Model Construction
[Documentation] Verify all temporal domain models can be constructed
${result}= Run Process ${PYTHON} ${HELPER} model-creation cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} temporal-model-creation-ok
Input Validation
[Documentation] Verify backends reject invalid inputs
${result}= Run Process ${PYTHON} ${HELPER} validation cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} temporal-validation-ok
Retention Config Defaults Match Spec
[Documentation] Verify warm=24h, cold=90d defaults per spec lines 28692-28693
${result}= Run Process ${PYTHON} ${HELPER} retention-defaults cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} temporal-retention-defaults-ok
Integration Modify Resource Verify Temporal Chain
[Documentation] Modify a resource, verify old=historical, new=current, chain intact
${result}= Run Process ${PYTHON} ${HELPER} integration-modify-resource cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} temporal-integration-modify-resource-ok