khyari hamza
0e36755db9
fix(service): address review findings for decision service
...
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 16s
CI / security (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 43s
CI / unit_tests (pull_request) Successful in 2m18s
CI / integration_tests (pull_request) Successful in 2m53s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 3m58s
CI / benchmark-regression (pull_request) Successful in 24m44s
- Rehydrate sequence counter from DB on restart (BUG-1)
- Add uniqueness guard raising SequenceConflictError (BUG-2)
- Fix delete_decision consistency between persisted/in-memory (BUG-3)
- Validate new_decision_id exists in mark_superseded (BUG-4)
- Include orphaned subtrees in get_tree output (BUG-5)
- Remove dead _decision_seq/_next_seq from plan_lifecycle (BUG-7)
- Export SequenceConflictError from services __init__ (SPEC-2)
- Replace list[Any] with list[ArtifactRef] typing (SPEC-4)
- Add actor_reasoning max_length validation (SEC-1)
- Use SELECT COUNT(*) in count_decisions (PERF-1)
- Replace MagicMock with create_autospec(Settings) (TEST-3)
- Eliminate UnitOfWork.__new__() anti-pattern (TEST-4)
- Use exact assertion counts in DI tests (TEST-5)
- Add restart rehydration, BFS order, invalid type, and
confidence boundary test scenarios (TEST-1/2/6/7)
- Fix decision_service_coverage.feature to match actual API
ISSUES CLOSED : #172
2026-03-03 12:53:28 +00:00
khyari hamza
67c63f4c58
fix(service): align test and doc refs with DecisionService API
...
Behave steps, benchmarks, vulture whitelist, and docs referenced
renamed methods (get_decisions_for_plan, get_decision_tree). Updated
to use the actual API names (list_decisions, get_tree) and the kwargs
record_decision signature.
ISSUES CLOSED : #172
2026-03-03 12:18:27 +00:00
khyari hamza
cebf71ad8e
fix(service): use list_decisions in robot helper
...
The Robot helper called the non-existent get_decisions_for_plan method
on DecisionService. The correct method is list_decisions.
ISSUES CLOSED : #172
2026-03-03 12:18:27 +00:00
khyari hamza
d5802a4878
fix(service): use DecisionService kwargs API in plan lifecycle caller
...
Align _record_decision_safe() to call record_decision() with keyword
arguments directly instead of manually constructing a Decision model.
The service now handles sequence numbering and model construction
internally.
ISSUES CLOSED : #172
2026-03-03 12:18:27 +00:00
khyari hamza
4cbf985a17
style(service): use contextlib.suppress per ruff SIM105
...
ISSUES CLOSED : #172
2026-03-03 12:18:27 +00:00
khyari hamza
e179f34266
test(service): add persisted-mode integration scenarios for coverage
...
Add 9 Behave scenarios exercising all database-backed code paths in
DecisionService: record, get, list, list_by_type, get_path_to_root,
get_superseded, mark_superseded, delete, and duplicate detection.
File-level coverage rises from 81% to 96%.
ISSUES CLOSED : #172
2026-03-03 12:18:27 +00:00
khyari hamza
db81c4cfd6
test(service): add edge-case scenarios for coverage
...
Add 11 new Behave scenarios covering SnapshotStore hash-less storage,
hash-index cleanup on remove, multi-entry removal, list_for_plan with
missing snapshots, whitespace-only validation, no-root tree traversal,
and list-by-type string coercion. Brings scenario count from 37 to 48.
ISSUES CLOSED : #172
2026-03-03 12:18:27 +00:00
freemo
4e871e70af
docs: add CHANGELOG entry for decision recording and snapshot store
2026-03-03 12:18:27 +00:00
khyari hamza
878bad4848
feat(service): add decision recording and snapshot store
2026-03-03 12:18:27 +00:00