busya
ed3d5f3039
feat(027): Final Phase T038-T043 implementation
- T038: SessionEvent logger and persistence logic
- Added SessionEventLogger service with explicit audit event persistence
- Added SessionEvent model with events relationship on DatasetReviewSession
- Integrated event logging into orchestrator flows and API mutation endpoints
- T039: Semantic source version propagation
- Added source_version column to SemanticFieldEntry
- Added propagate_source_version_update() to SemanticResolver
- Preserves locked/manual field invariants during propagation
- T040: Batch approval API and UI actions
- Added batch semantic approval endpoint (/fields/semantic/approve-batch)
- Added batch mapping approval endpoint (/mappings/approve-batch)
- Added batch approval actions to SemanticLayerReview and ExecutionMappingReview components
- Aligned batch semantics with single-item approval contracts
- T041: Superset compatibility matrix tests
- Added test_superset_matrix.py with preview and SQL Lab fallback coverage
- Tests verify client method preference and matrix fallback behavior
- T042: RBAC audit sweep on session-mutation endpoints
- Added _require_owner_mutation_scope() helper
- Applied owner guards to update_session, delete_session, and all mutation endpoints
- Ensured no bypass of existing permission checks
- T043: i18n coverage for dataset-review UI
- Added workspace state labels (empty/importing/review) to en.json and ru.json
- Added batch action labels for semantics and mappings
- Fixed workspace state comparison to lowercase strings
- Removed hardcoded workspace state display strings
Signed-off-by: Implementation Specialist <impl@ss-tools>
2026-03-17 14:29:33 +03:00
..
2026-03-16 10:06:44 +03:00
2026-03-10 09:11:26 +03:00
2026-03-16 10:06:44 +03:00
2026-03-17 14:29:33 +03:00
2026-03-13 12:14:37 +03:00
2026-03-16 10:06:44 +03:00
2026-03-16 10:06:44 +03:00
2026-03-16 10:06:44 +03:00
2026-02-10 12:53:01 +03:00
2026-02-27 09:59:57 +03:00
2026-02-25 17:47:55 +03:00
2026-03-16 10:06:44 +03:00
2026-03-16 10:06:44 +03:00