Files
cleveragents-core/robot/decision_recording.robot
brent.edwards 3eecb79003
CI / lint (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 46s
CI / typecheck (pull_request) Successful in 56s
CI / security (pull_request) Successful in 56s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 29s
CI / e2e_tests (pull_request) Successful in 2m7s
CI / unit_tests (pull_request) Successful in 3m8s
CI / docker (pull_request) Successful in 9s
CI / integration_tests (pull_request) Successful in 3m57s
CI / coverage (pull_request) Successful in 7m48s
CI / benchmark-regression (pull_request) Successful in 40m48s
test(plan): TDD failing tests for checkpoint real rollback (bug #822)
TDD expected-fail tests proving bug #822 exists:
CheckpointService.rollback_to_checkpoint() returns a successful
RollbackResult but does not execute git reset --hard. Files modified
after the checkpoint remain unchanged after rollback.

Also fixes Robot Framework timeout robustness across the entire test
suite: all Run Process calls now use on_timeout=kill (prevents
SIGTERM-induced -15 exit codes under CI load) and timeouts increased
to 120s (prevents premature kills during heavy parallel execution).

ISSUES CLOSED: #839
2026-03-16 01:45:50 +00:00

59 lines
3.0 KiB
Plaintext

*** Settings ***
Documentation Smoke tests for DecisionService recording and snapshot store
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER_SCRIPT} robot/helper_decision_recording.py
*** Test Cases ***
Record And Retrieve Decision
[Documentation] Record a decision via DecisionService and retrieve by ID
[Tags] service decision recording
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} record-retrieve cwd=${WORKSPACE} timeout=120s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} record-retrieve-ok
Record Multiple With Sequencing
[Documentation] Record 3 decisions and verify monotonic sequence numbers
[Tags] service decision sequencing
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} sequencing cwd=${WORKSPACE} timeout=120s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} sequencing-ok
Snapshot Auto-Capture
[Documentation] Record a decision and verify context snapshot is auto-captured
[Tags] service decision snapshot
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} snapshot-capture cwd=${WORKSPACE} timeout=120s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} snapshot-capture-ok
Decision Tree BFS Via Service
[Documentation] Build a 3-node tree and verify BFS order via get_tree
[Tags] service decision tree
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} tree-bfs cwd=${WORKSPACE} timeout=120s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tree-bfs-ok
Mark Decision Superseded Via Service
[Documentation] Mark a decision as superseded via the service layer
[Tags] service decision superseded
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} superseded cwd=${WORKSPACE} timeout=120s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} superseded-ok
Delete Decision Via Service
[Documentation] Delete a decision and verify snapshot is also removed
[Tags] service decision delete
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} delete cwd=${WORKSPACE} timeout=120s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} delete-ok
Snapshot Hash Deduplication
[Documentation] Verify hash-based deduplication in SnapshotStore
[Tags] service decision snapshot dedup
${result}= Run Process ${PYTHON} ${HELPER_SCRIPT} snapshot-dedup cwd=${WORKSPACE} timeout=120s on_timeout=kill
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} snapshot-dedup-ok