Repository navigation
feat(analytics): result envelope, chart gating, param binders, manifest fields (ISSUE-138/139/140/149) - #453
Merged
Conversation
…PROGRESS, dropping journal entries) Reported by the egeria-workspaces-fs session. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
…SSUE-148) Seven AssetMaker action/process queries (find_processes, get_processes_by_category, get_action_targets, get_actions_for_action_target, get_assigned_actions, get_actions_for_sponsor, get_actions_for_requester) defaulted to ["IN_PROGRESS"], which silently dropped journal entries and every finished action. _async_find_processes defaulted to [] while its sync wrapper used ["IN_PROGRESS"], so the two disagreed. All 14 signatures now default to None. Behaviour change: callers that want only in-progress actions must pass ["IN_PROGRESS"] explicitly. No known caller relies on the old default (checked with the egeria-workspaces-fs and trellis sessions). Noted for the 6.2.3 release notes in BACKLOG.md. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
…unction Dr.Egeria family); 137/141 shipped in 6.2.2 Handed off by the Resource Explorer PR/CI session on the owner's instruction, from trellis' analytic walking-skeleton brief. A1-A5 of the handoff were already logged as ISSUE-137..141 (137 and 141 are fixed and released in 6.2.2). Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
…ath that doesn't exist)
Reported by the RE PR/CI session; confirmed from AutomatedCurationResource
and a read-only live check. find_engine_actions("*") is the working route.
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
…dpoint (ISSUE-151)
get_engine_actions posted to automated-curation/engine-actions, which
AutomatedCurationResource does not map, so it always failed with a 404
(reported as "unable to connect"). EngineAction is an Asset in 6.2, so
find_engine_actions("*") is the list-all; print_engine_actions now uses
it. No callers outside egeria-python (checked egeria-workspaces-fs and
trellis). API removal noted for the 6.2.3 release notes.
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
…st fields (ISSUE-138/139/140/149) Requested by trellis-analytics (the Analytic Library walking skeleton): - ISSUE-149: AnalyticFunctionSpec gains optional kind (routine|step), source (open str; unknown values warn), version, envelope, annotation_type, resource_types, family and tags. Existing entries and trellis's manifest subclasses validate unchanged. - ISSUE-139: the executor reads a result's state envelope (several carrier shapes) and returns it on every analytic output; charts get it as a subtitle. - ISSUE-140: with an envelope, SERIES/BAR/PIE draw a chart only when the state is measured; otherwise the data and the state come back. - ISSUE-138: ActionParameter.analytic_binders builds a non-JSON argument (e.g. a reader) from call params via a named factory, so a routine can be named by its own dotted path. Results without an envelope behave exactly as before. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
nothing_found is an established answer (a real zero), so a chart of zeros is honest; only not_established / not_applicable, whose numbers are unknown, are never charted. Requested by the RE PR/CI session for trellis-analytics, whose tile already charts nothing_found. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
Declaration as a GovernanceActionType that Resource Explorer runs as an engine host (async, recorded by Egeria); synchronous in-process runs for screens and reports bypass Egeria and are not recorded. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
…ps they expose Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
This was referenced Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Analytic executor and registry changes requested by trellis-analytics (the Analytic Library walking skeleton). Fixes ISSUE-138, ISSUE-139, ISSUE-140 and ISSUE-149.
ISSUE-149: manifest fields on
AnalyticFunctionSpecAnalyticFunctionSpecgains these fields, all optional with defaults:kind:routine | step, defaultroutine;source: an open string; an unknown value logs a warning (known values are inKNOWN_ANALYTIC_SOURCES:ods,egeria,resource);version;envelope: bool;annotation_type;resource_types;family: the same meaning asFormatSet.family;tags.RoutineManifest/StepManifestsubclasses still validate against the new base. Once this ships, trellis-analytics can drop its own copies.ISSUE-139: the result envelope on every output
measured,nothing_found,not_established,not_applicable) in any of these shapes:state/state_reason/subtitle;resultState/resultStateReason;envelopedict;.envelope."envelope": {state, reason, subtitle}, and charts gettitle: {text, subtitle}.ISSUE-140: chart only established answers
measured, ornothing_found(a real zero). Fornot_establishedandnot_applicablethey return the data and the state.ISSUE-138: building non-JSON arguments
ActionParameter.analytic_binders: a map from parameter name to a factory's dotted path. The factory is filled from the call params, so a routine taking a reader can be named by its own dotted path.Compatibility: results without an envelope, and specs without binders, behave exactly as before. On trellis's side,
tests/test_portal_tile.py:75pins the old absence of a subtitle, which will change when trellis takes this release; the issue entry says so.Test plan
tests/micro-tests/test_issue_138_140_149_analytic_envelope.py(13 tests: binders, envelope on DICT/BAR, gating, model results, unchanged shape without an envelope, manifest defaults/validation)manifest.pysubclasses validate against the new base (checked locally)docs/output-formats-and-report-specs.md🤖 Generated with Claude Code