Phase 1 UI: index actions + duplicate-review queue; bump to 0.1.0:45

- frontend: System Status page extended with one-click index actions
  (update/rebuild/find-duplicates, with live job status) and a human-in-the-loop
  duplicate-review queue (approve=merge / reject=keep-separate per candidate).
- StartOS version 0.1.0:45 (image-only; schema via the in-app migration runner).

Backend + new routes verified end-to-end via the running HTTP server.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Keysat
2026-06-05 11:19:43 -05:00
parent cd3cca725c
commit 3354a0b354
4 changed files with 388 additions and 12 deletions
+3 -2
View File
@@ -5,8 +5,9 @@ import { v_0_1_0_41 } from './v0.1.0.41'
import { v_0_1_0_42 } from './v0.1.0.42'
import { v_0_1_0_43 } from './v0.1.0.43'
import { v_0_1_0_44 } from './v0.1.0.44'
import { v_0_1_0_45 } from './v0.1.0.45'
export const versionGraph = VersionGraph.of({
current: v_0_1_0_44,
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43],
current: v_0_1_0_45,
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43, v_0_1_0_44],
})
+31
View File
@@ -0,0 +1,31 @@
import { VersionInfo } from '@start9labs/start-sdk'
// Phase-1 release: the Architect's thesis system + in-app data/index controls.
//
// Adds (web server + image; all schema via the CRM's own migration runner —
// NO StartOS data migration, the live /data volume is preserved):
// * Thesis substrate (migration 0002): versioned per-segment thesis lines, a
// node tree + revisions, dual-approval review (thesis_reviews), segments.
// * Entity-merge review (migration 0003): the fuzzy/Qwen tier writes merge
// CANDIDATES for human approve/reject instead of auto-merging.
// * Web UI: a "Thesis" dual-approval review view and a "System Status" view
// (entity/index health, one-click index actions, duplicate-review queue).
// * Server routes: thesis review/approval, /api/system/status, UI-triggered
// index jobs (rebuild/update/find-duplicates), merge-candidate decisions.
export const v_0_1_0_45 = VersionInfo.of({
version: '0.1.0:45',
releaseNotes: {
en_US: [
'Phase 1: the Architect thesis system. Adds versioned, per-segment thesis',
'lines with a dual partner sign-off review in the web app; a human-in-the-loop',
'duplicate-contact review queue (the local model suggests, you approve/reject);',
'one-click index actions and a system-status dashboard in the CRM; and the',
'supporting schema, created additively by the CRM migration runner — your',
'data is preserved.',
].join(' '),
},
migrations: {
up: async () => {},
down: async () => {},
},
})