release: merge develop into release/0.1 (analyze_records) #97

Merged
james.maes merged 12 commits from rc/develop-into-release-0.1-analyze into release/0.1 2026-11-11 13:45:10 +00:00
12 Commits
Author SHA1 Message Date
james.maes f1634b0911 Merge develop into release/0.1 for the next 0.1.0 RC (analyze_records)
maven / build (push) Successful in 6m27s
build / maven (push) Successful in 6m27s
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>

# Conflicts:
#	CHANGELOG.md
#	pom.xml
2026-11-11 07:34:30 -06:00
james.maes 87bf129279 Merge pull request 'feat(tools): analyze_records answers grouped questions through the data-analysis pivot' (#96) from feat/analyze-records into develop
maven / build (push) Successful in 5m53s
build / maven (push) Successful in 5m53s
2026-11-11 13:33:59 +00:00
james.maesandClaude Fable 5.2 10d80f6bcf test(tools): run the analysis tests against data-analysis 0.3.0-RC.2 (relative dates in filters)
maven / build (push) Successful in 5m17s
build / maven (push) Successful in 5m17s
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
2026-11-11 07:27:31 -06:00
james.maesandClaude Fable 5.2 ad33fbcf4f fix(tools): an extension tool's operation is not a core operation
OPERATIONS stays the list of core /qqq/v1 operations (every one is invocable on any
instance); analyze_records moves to EXTENSION_OPERATIONS, offered and invocable only where
the data-analysis extension is registered. A test pins that it is neither offered nor
invocable without the extension.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
2026-11-11 07:11:33 -06:00
james.maesandClaude Fable 5.2 e634d6a192 feat(tools): analyze_records answers grouped questions through the data-analysis pivot
A new read tool: group a table by one or two fields (a date field optionally by a calendar
unit) and compute a count, sum, average, minimum, maximum or distinct count per group, with
the usual filter. It is one call of the data-analysis qbit's pivot operation
(POST /qbit/data-analysis/tables/{table}/pivot) through the same gateway and with the
signed-in user's session, so table read, the table's analyze permission, field access and
record locks decide as on the Analyses screens. The assistant only narrows it: data access
READ on the table, fields whose values it may see, the policy's row cap. Offered only where
the data-analysis extension is registered; no production dependency on that qbit.

Tests run against the released data-analysis qbit served by the real UI API.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
2026-11-11 07:06:27 -06:00
CI 485b89173f Bump version to 0.4.0-SNAPSHOT [skip ci] 2026-11-09 16:12:47 +00:00
james.maes f8e3122672 Merge pull request 'fix(engine): a stalled database can no longer hang a turn on 'Thinking' (develop)' (#95) from fix/turn-watchdog-never-hangs-develop into develop
maven / build (push) Successful in 5m42s
build / maven (push) Successful in 5m42s
2026-11-09 16:07:05 +00:00
james.maesandClaude Sonnet 5.5 0c32c43f8c fix(engine): a stalled database can no longer hang a turn on 'Thinking'
maven / build (push) Successful in 5m23s
build / maven (push) Successful in 5m23s
The watchdog ran the deadline logic after two database reads and heartbeat() was synchronized on the monitor that finish() needs, so one blocked database call stopped the deadline, the force-finalize and the final message.end. The deadline now runs first with no database access, housekeeping runs on a bounded abandonable worker, finish() has a guard that ends the stream with an error event, and every phase logs at INFO.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 09:54:50 -06:00
CI dfe63dcc90 Bump version to 0.3.0-SNAPSHOT [skip ci] 2026-11-09 02:44:36 +00:00
james.maes c56d1d3bec Merge pull request 'test(assistant): live thread shows real title, question, answer and tool steps at message.end' (#93) from fix/live-thread-placeholders into develop
maven / build (push) Successful in 4m44s
build / maven (push) Successful in 4m44s
2026-11-09 02:39:59 +00:00
james.maesandClaude Sonnet 5.5 a588aafe2e test(assistant): pin the live thread to real title, question, answer and tool steps at message.end
maven / build (push) Successful in 4m29s
build / maven (push) Successful in 4m29s
The panel reloads the conversation at message.end. A tool-using turn must
already have stored the real title, the question and answer parts and the
tool-call rows then, not the transcript redactor's placeholders
(changed:v1, [], {}). The redactor is always attached to a turn, so this is
independent of Secured Data. Fails without the flush-before-message.end
ordering (RC.24), passes on develop and RC.25.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 19:46:55 -06:00
CI a712e6fbc8 Bump version to 0.2.0-SNAPSHOT [skip ci] 2026-11-07 17:28:26 +00:00