fe8978f716
semantics
2026-05-12 20:06:16 +03:00
1d59df2233
refactor
2026-05-12 14:52:27 +03:00
dbb8bd6c4e
fix: persist environment selection, support Kilo AI provider, resolve Superset virtual columns for translation preview
...
- Add environment_id to TranslationJob model/schema/API + DB migration
- Pass environmentId from page to TranslationPreview and fetchPreview
- Fix _fetch_sample_rows: use result_type='samples' to include virtual cols
- Add 'kilo' and 'openrouter' to supported LLM provider types
- Make response_format conditional (skip for non-OpenAI upstream providers)
- Remove source_table field from form (redundant with datasource)
- Restore datasourceSearch display from saved job on page load
- Add request/response logging for LLM API calls
2026-05-09 23:10:15 +03:00
67ba04d4ff
feat: implement LLM table translation service with searchable datasource dropdown, i18n, sidebar, and RBAC
...
- Add backend plugin modules: preview, executor, orchestrator, events, sql_generator, superset_executor, dictionary, scheduler, metrics
- Add API routes for translate jobs, runs, dictionaries, preview, schedule, metrics, corrections
- Add ORM models (12 tables) and Pydantic schemas (15 DTOs)
- Register translate router in app.py with RBAC permission guards
- Add frontend pages: job list, job config, dictionary list/editor, history
- Add 7 reusable Svelte 5 components: Preview, RunProgress, RunResult, TermCorrection, BulkCorrection, ScheduleConfig, MetricsDashboard
- Add searchable datasource dropdown with Superset API integration
- Add i18n (en/ru) with ~300 keys across common, config, jobs, dictionaries, preview namespaces
- Add Translation sidebar category with Jobs/Dictionaries/History sub-items
- Hide health monitor error toast via suppressToast API option
- Add 69 backend tests and 44 frontend test files
- Fix: SupersetClient env resolution (string -> Environment object)
- Fix: Dataset detail API returns proper database dict
- Fix: Database dialect extraction fallback when metadata incomplete
2026-05-09 19:34:25 +03:00
1b15fd3fa7
semantic cleanup
2026-05-08 10:07:05 +03:00
80ec0c5eb1
prune contracts
2026-04-01 22:31:10 +03:00
89924afa8e
+
2026-04-01 22:04:19 +03:00
ace77ed64c
semantics update
2026-04-01 15:30:13 +03:00
7901ce0f39
semantics
2026-03-27 21:27:31 +03:00
202823aba5
feat(ui): add chat-driven dataset review flow
...
Move dataset review clarification into the assistant workspace and
rework the review page into a chat-centric layout with execution rails.
Add session-scoped assistant actions for mappings, semantic fields,
and SQL preview generation. Introduce optimistic locking for dataset
review mutations, propagate session versions through API responses,
and mask imported filter values before assistant exposure.
Refresh tests, i18n, and spec artifacts to match the new workflow.
BREAKING CHANGE: dataset review mutation endpoints now require the
X-Session-Version header, and clarification is no longer handled
through ClarificationDialog-based flows
2026-03-26 13:33:12 +03:00
10c15d0e93
feat(ui): surface review readiness and blockers
...
Add readiness hints, blocker summaries, and progress cues across
the dataset review workspace to clarify partial recovery and
launch gating states.
Highlight read-only preview snapshots, pending semantic review,
clarification queue status, and unresolved validation blockers to
guide the next recommended action.
Document known limitations in backend test doubles so permission,
task dispatch, and uncovered persistence branches are explicit.
2026-03-21 15:48:28 +03:00
2da548fd71
fix: finalize semantic repair and test updates
2026-03-21 15:07:06 +03:00
81406bc2e2
fix: commit semantic repair changes
2026-03-21 11:22:25 +03:00
62d7c660ef
subagents
2026-03-20 17:20:24 +03:00
8e317d7552
feat: add dataset review workspace navigation
2026-03-17 20:18:24 +03:00
5a16820979
fix(us3): align dataset review contracts and acceptance gates
2026-03-17 18:20:36 +03:00
b51a68168c
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
f9fc2811a2
fix(027): stabilize shared acceptance gates and compatibility collateral
2026-03-17 11:07:49 +03:00
268ac66a38
feat(us1): add dataset review orchestration automatic review slice
2026-03-17 10:57:49 +03:00
57ac79f188
feat(frontend): polish task drawer and task log modal
2026-03-16 21:23:04 +03:00
67867f8220
refactor(semantics): migrate legacy @TIER to @COMPLEXITY annotations
...
- Replaced @TIER: TRIVIAL with @COMPLEXITY: 1
- Replaced @TIER: STANDARD with @COMPLEXITY: 3
- Replaced @TIER: CRITICAL with @COMPLEXITY: 5
- Manually elevated specific critical/complex components to levels 2 and 4
- Ignored legacy, specs, and node_modules directories
- Updated generated semantic map
2026-03-16 10:06:44 +03:00
96b5282fe2
Finalize assistant and dashboard health updates
2026-03-15 13:19:46 +03:00
a95109da4a
feat: add slug-only dashboard profile filter and unify backend imports
2026-03-11 12:20:34 +03:00
a1edace9b7
fix logger import
2026-03-11 11:30:07 +03:00
abfe06cea3
Migrate frontend to Svelte 5 runes semantics
2026-03-11 11:29:24 +03:00
b4b17d89b4
код написан
2026-03-10 12:00:18 +03:00
1b2f76ee23
feat: Implement user profile preferences for start page, Git identity, and task drawer auto-open, alongside Git server default branch configuration.
2026-03-08 10:19:38 +03:00
b8eafa28a2
feat(rbac): hide unauthorized menu sections and enforce route guards
2026-03-06 10:50:28 +03:00
0c68fbcef5
test: remediate and stabilize auxiliary backend and frontend tests
...
- Standardized task log, LLM provider, and report profile tests.
- Relocated auxiliary tests into __tests__ directories for consistency.
- Updated git_service and defensive guards with minor stability fixes discovered during testing.
- Added UX integration tests for the reports list component.
2026-03-04 13:54:06 +03:00
664e47d540
feat(clean-release): complete and verify backend test suite (33 passing tests)
...
- Relocated and standardized tests for clean_release subsystem into __tests__ sub-packages.
- Implemented missing unit tests for preparation_service, audit_service, and stages.
- Enhanced API contract tests for candidate preparation and compliance reporting.
- Updated 023-clean-repo-enterprise coverage matrix with final verification results.
- Fixed relative import issues and model validation mismatches during test migration.
2026-03-04 13:53:43 +03:00
9ff1e6b18a
feat: Introduce and enforce test contract annotations for critical modules and update coverage tracking.
2026-03-04 12:58:42 +03:00
ede337b977
test: remediate audit findings for task log viewer, report card and logger tests
2026-03-03 21:01:24 +03:00
ab7f1d0b59
dev-preprod-prod logic
2026-03-01 14:39:25 +03:00
73cd29a237
slug first logic
2026-03-01 13:17:05 +03:00
0a09fb5e6d
git list refactor
2026-03-01 12:13:19 +03:00
4aba3df734
причесываем лог
2026-02-28 10:47:19 +03:00
7f96a983a9
[
...
{
"file": "backend/src/api/routes/__tests__/test_dashboards.py",
"verdict": "APPROVED",
"rejection_reason": "NONE",
"audit_details": {
"target_invoked": true,
"pre_conditions_tested": true,
"post_conditions_tested": true,
"test_data_used": true
},
"feedback": "All 9 previous findings remediated. @TEST_FIXTURE data aligned, all @TEST_EDGE scenarios covered, all @PRE negative tests present, all @SIDE_EFFECT assertions added. Full contract compliance."
},
{
"file": "backend/src/api/routes/__tests__/test_datasets.py",
"verdict": "APPROVED",
"rejection_reason": "NONE",
"audit_details": {
"target_invoked": true,
"pre_conditions_tested": true,
"post_conditions_tested": true,
"test_data_used": true
},
"feedback": "All 6 previous findings remediated. Full @PRE boundary coverage including page_size>100, empty IDs, missing env. @SIDE_EFFECT assertions added. 503 error path tested."
},
{
"file": "backend/src/core/auth/__tests__/test_auth.py",
"verdict": "APPROVED",
"rejection_reason": "NONE",
"audit_details": {
"target_invoked": true,
"pre_conditions_tested": true,
"post_conditions_tested": true,
"test_data_used": true
},
"feedback": "All 4 previous findings remediated. @SIDE_EFFECT last_login verified. Inactive user @PRE negative test added. Empty hash edge case covered. provision_adfs_user tested for both new and existing user paths."
},
{
"file": "backend/src/services/__tests__/test_resource_service.py",
"verdict": "APPROVED",
"rejection_reason": "NONE",
"audit_details": {
"target_invoked": true,
"pre_conditions_tested": true,
"post_conditions_tested": true,
"test_data_used": true
},
"feedback": "Both prior recommendations implemented. Full edge case coverage for _get_last_task_for_resource. No anti-patterns detected."
},
{
"file": "backend/tests/test_resource_hubs.py",
"verdict": "APPROVED",
"rejection_reason": "NONE",
"audit_details": {
"target_invoked": true,
"pre_conditions_tested": true,
"post_conditions_tested": true,
"test_data_used": true
},
"feedback": "Pagination boundary tests added. All @TEST_EDGE scenarios now covered. No anti-patterns detected."
},
{
"file": "frontend/src/lib/components/assistant/__tests__/assistant_chat.integration.test.js",
"verdict": "APPROVED",
"rejection_reason": "NONE",
"audit_details": {
"target_invoked": true,
"pre_conditions_tested": true,
"post_conditions_tested": true,
"test_data_used": true
},
"feedback": "No changes since previous audit. Contract scanning remains sound."
},
{
"file": "frontend/src/lib/components/assistant/__tests__/assistant_confirmation.integration.test.js",
"verdict": "APPROVED",
"rejection_reason": "NONE",
"audit_details": {
"target_invoked": true,
"pre_conditions_tested": true,
"post_conditions_tested": true,
"test_data_used": true
},
"feedback": "No changes since previous audit. Confirmation flow testing remains sound."
}
]
2026-02-27 09:59:57 +03:00
1bf7b53bae
test contracts
2026-02-26 19:40:00 +03:00
eb512a63a0
test now STANDARD tier
2026-02-26 18:38:26 +03:00
817b6c65e7
Improve dashboard LLM validation UX and report flow
2026-02-26 17:53:41 +03:00
62818c733e
codex specify
2026-02-25 21:19:48 +03:00
96f57fdedc
feat(search): add grouped global results for tasks and reports
2026-02-25 21:09:42 +03:00
74573a2d32
feat(search): implement global navbar search for dashboards and datasets
2026-02-25 21:07:51 +03:00
44afb02785
feat(env): add global production context and safety indicators
2026-02-25 20:46:00 +03:00
6be33b06ee
feat: Implement recursive storage listing and directory browsing for backups, and add a migration option to fix cross-filters.
2026-02-25 20:01:33 +03:00
31341d083f
i18 cleanup
2026-02-25 18:31:50 +03:00
31cdc7958d
{ "verdict": "APPROVED", "rejection_reason": "NONE", "audit_details": { "target_invoked": true, "pre_conditions_tested": true, "post_conditions_tested": true, "test_data_used": true }, "feedback": "The test suite robustly verifies the
...
MigrationEngine
contracts. It avoids Tautologies by cleanly substituting IdMappingService without mocking the engine itself. Cross-filter parsing asserts against hard-coded, predefined validation dictionaries (no Logic Mirroring). It successfully addresses @PRE negative cases (e.g. invalid zip paths, missing YAMLs) and rigorously validates @POST file transformations (e.g. in-place UUID substitutions and archive reconstruction)." }
2026-02-25 17:47:55 +03:00
8b52714298
+md
2026-02-25 10:34:30 +03:00
cbf9135db6
semantic update
2026-02-24 21:08:12 +03:00
dfe682d5ea
feat(assistant-chat): add animated thinking loader while waiting for response
2026-02-24 14:15:35 +03:00