Commit Graph
363 Commits
Author SHA1 Message Date
jiang c0dea2aacf fix(contracts): export required task execution scope 2026-11-08 02:00:29 +08:00
jiang 33df25f22b fix(tasks): isolate worker execution scopes
Persist a required Server-owned execution scope and enforce it for listing, claiming, lease recovery and SCADA verification. Backfill existing tasks explicitly through migration 034 so local development workers no longer claim production tasks from the shared database.
2026-11-08 01:54:48 +08:00
jiang 2a7b96f813 fix(scada): verify recovery after replay work-order completion
Generic Container CI/CD / test-build-publish (push) Successful in 3m58s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 3m58s
v2026.11.7.5
2026-11-07 23:12:42 +08:00
jiang 06d8539aa8 feat(scada): require complete authorized investigation evidence
Generic Container CI/CD / test-build-publish (push) Successful in 5m52s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 5m52s
v2026.11.7.4
2026-11-07 21:15:01 +08:00
jiang 2552a9b40d fix(scada): require complete pressure and flow comparison charts 2026-11-07 21:03:43 +08:00
jiang 01bad116c1 fix(scada): align location capability and investigation guidance
Generic Container CI/CD / test-build-publish (push) Successful in 5m25s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 5m26s
v2026.11.7.3
2026-11-07 20:14:24 +08:00
jiang bf8ea45d40 test: support importlib mode for calibration fixtures
Generic Container CI/CD / test-build-publish (push) Successful in 5m17s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 5m17s
v2026.11.7.2
2026-11-07 19:54:42 +08:00
jiang dc83cf5c88 fix(scada): verify first sample after field completion
Generic Container CI/CD / test-build-publish (push) Failing after 47s
Server CI/CD v2 / build-test-publish-and-deploy (push) Failing after 47s
v2026.11.7.1
2026-11-07 19:50:31 +08:00
jiang ff8aba4964 feat(scada): add calibrated monitoring and incident recovery 2026-11-07 19:44:58 +08:00
jiang 26fa5d1909 feat(scada): add project monitoring replay
Generic Container CI/CD / test-build-publish (push) Successful in 3m39s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 3m39s
v2026.11.4.1
2026-11-04 14:27:21 +08:00
jiang f25423dec4 feat(benchmark): add tjwater2 burst calibration design 2026-11-03 17:26:38 +08:00
jiang e48ccfba9e test: update MCP catalog count for node coverage
Generic Container CI/CD / test-build-publish (push) Successful in 3m35s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 3m35s
v2026.11.2.3
2026-11-02 15:26:14 +08:00
jiang f2cfce8192 feat: add node coverage and improve investigation presentation
Generic Container CI/CD / test-build-publish (push) Failing after 1m50s
Server CI/CD v2 / build-test-publish-and-deploy (push) Failing after 1m51s
v2026.11.2.2
2026-11-02 15:23:34 +08:00
jiang 05183aff93 feat: extend operational investigation workflows
Generic Container CI/CD / test-build-publish (push) Successful in 3m53s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 3m52s
v2026.11.2.1
2026-10-30 17:30:19 +08:00
jiang 63af998045 feat(mcp): queue long-running calculations 2026-10-29 18:25:15 +08:00
jiang 2865811f1b chore(config): align server environment templates 2026-10-27 17:17:08 +08:00
jiang af1dc11681 docs: record deployed API port 2026-10-23 16:12:26 +08:00
jiang 8673429ec4 docs: clarify peripheral proxy upstream 2026-10-23 16:11:34 +08:00
jiang 6d31f456e6 feat: mount peripheral API in main server
Generic Container CI/CD / test-build-publish (push) Successful in 2m59s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 2m59s
v2026.10.23.2
2026-10-23 16:05:56 +08:00
jiang cddfc8647d docs: update server operations guide
Generic Container CI/CD / test-build-publish (push) Successful in 5m20s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 5m20s
v2026.10.23.1
2026-10-23 14:29:44 +08:00
jiang 1d061f6099 feat: add project-scoped operations
Generic Container CI/CD / test-build-publish (push) Failing after 6s
Server CI/CD v2 / build-test-publish-and-deploy (push) Failing after 6s
v2026.10.22.1
2026-10-22 18:40:20 +08:00
jiang d320972d57 fix(docker): pin GeoServer platform manifest 2026-10-22 13:03:26 +08:00
jiang b4f3204489 chore(docker): advance PostGIS 14 patch line 2026-10-22 12:30:30 +08:00
jiang 1e71f8953b test(server): align service access delegation expectation 2026-10-22 12:18:12 +08:00
jiang f3818b3fed fix(docker): include runtime samples in image 2026-10-22 12:14:40 +08:00
jiang 024abf07a8 chore(docker): pin secure runtime and resolve MCP dependencies 2026-10-22 12:08:36 +08:00
jiang be6317eb48 feat(server): integrate MCP queries and investigation messaging
Add project-bound OAuth MCP queries and controlled analysis with scoped evidence,
limits, timeouts and a nearby-model spatial query using EPSG:4326 inputs.
Default nearby searches to 200 meters and five results.

Integrate investigation messaging/presentation, health/readiness and typed history;
remove duplicate web search and fix online simulation and compressed baseline writes.
Include project migrations 023-025; keep local credentials and demo seeding excluded.

Validation: 319 focused pytest checks; real PostGIS temporary-table regression;
read-only Jinqian bridge radius comparison; cross-language MCP discovery/calls.
2026-10-19 18:46:58 +08:00
jiang 2b6fc5aa52 feat(tasks): define investigation report contract and history 2026-10-10 16:02:46 +08:00
jiang 4a63fcd7ff fix(workbench): serialize events and target work order sync 2026-10-08 15:41:49 +08:00
jiang b70283c2ff feat(work-orders): synchronize peripheral changes through events 2026-10-08 11:50:15 +08:00
jiang afcbd52a5a refactor(tasks): centralize access request lookup 2026-09-24 17:11:21 +08:00
jiang 540d73add8 docs(workbench): clarify active notification counting 2026-09-24 17:00:41 +08:00
jiang ad813a7c16 feat(workbench): add dynamic task approval lifecycle 2026-09-24 16:36:12 +08:00
jiang db092b0f5e feat(workbench): keep only actionable notifications 2026-09-24 15:18:18 +08:00
jiang e374b5b3cb fix(workbench): remove synthetic check projections 2026-09-24 12:01:01 +08:00
jiang 1a6ff64bbe feat(db): add workbench schema comments 2026-09-24 10:33:12 +08:00
jiang 91afe76c6d docs(workbench): gate database rollout by project 2026-09-24 10:13:52 +08:00
jiang ed06bc2bfc fix(workbench): configure psycopg snapshot transaction
Open the psycopg transaction without unsupported SQLAlchemy-style options, then set the PostgreSQL isolation and read-only characteristics before the first query. Cover the exact snapshot endpoint path with a regression test.
2026-09-24 09:49:01 +08:00
jiang 9335bdc1ea feat(workbench): persist operational workflows and events 2026-09-24 04:19:02 +08:00
jiang baff7dfe9e chore(api): refresh workbench contracts 2026-09-22 10:44:43 +08:00
jiang 7ab9b36a5e feat(workbench): add runtime GIS and sample integrations 2026-09-22 10:44:31 +08:00
jiang a3b4e75317 fix(api): return real total for user pagination 2026-09-15 10:55:29 +08:00
jiang 682c26fddd feat(timeseries): unify element history queries 2026-09-14 12:30:41 +08:00
jiang 0685f6dd17 fix(sensor): use published coordinates for custom SRIDs
Result validation bypassed the project-specific GIS transform and called ST_Transform on custom engineering SRIDs. Read project and map coordinates from gis.junctions so every project uses its configured publication transform.
2026-09-11 11:29:51 +08:00
jiang 90b02057bc feat(projects): automate project infrastructure provisioning 2026-09-11 10:57:51 +08:00
jiang 10a7a66a41 fix(metadata): hide inactive projects from user list
Project selection previously relied only on membership, so inactive projects remained visible. Filter at the repository boundary and add regression coverage.
2026-09-10 14:49:53 +08:00
jiang bd857ea5e1 fix(ci): test backend in container environment 2026-09-08 18:26:20 +08:00
jiang 8942541759 feat(scada): serve project devices through pooled API 2026-09-08 18:18:30 +08:00
jiang 5966d039de refactor(backend)!: separate algorithm and data layers
Reorganize algorithm packages by business responsibility, move orchestration into services, and keep database access behind pooled repositories.

Harden analysis API validation, remove unsafe legacy simulation endpoints, and add regression and architecture boundary coverage.

BREAKING CHANGE: legacy algorithm module paths and obsolete simulation endpoints are removed.
2026-09-04 17:30:55 +08:00
jiang 9b095c7439 refactor(db)!: clean up business SQL access
- make realtime replacement and analysis result writes transactional\n- consolidate SCADA repositories and remove process-global project state\n- validate SCADA batches and use indexed GIS-backed business queries\n\nBREAKING CHANGE: remove the public analysis result writer and the pipeline-health network_name query parameter.
2026-08-28 11:37:36 +08:00