Skip to content

Catalog-test workflows: heartbeat and channel-digest on noop inference - #9

Merged
TheGreatAxios merged 12 commits into
mainfrom
cl-5649-catalog-test-workflows
Aug 9, 2026
Merged

Catalog-test workflows: heartbeat and channel-digest on noop inference#9
TheGreatAxios merged 12 commits into
mainfrom
cl-5649-catalog-test-workflows

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

Add heartbeat and channel-digest workflow packages, seeded only via WORKBENCH_SEED_CATALOG_TEST_WORKFLOWS, pinned to noop-inference (zero cost).

Test plan

  • heartbeat + channel-digest package tests
  • Confirm default tenants are unchanged without the opt-in env
  • No paid model pins

@TheGreatAxios
TheGreatAxios force-pushed the cl-5649-catalog-test-workflows branch from b9bbb83 to 75c427c Compare August 9, 2026 01:47
@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Self-critique (orchestrator)

Verdict: needs product/env check; structure looks sound

Looks good

  • heartbeat + channel-digest as workflow packages with tests and READMEs.
  • Pinned to noop-inference (zero cost) — correct for catalog-test.
  • Seed path extended in hub-client/cli with tests; e2e scripts included.
  • Opt-in seeding claimed (env-gated) — verify default tenants unchanged without the flag.

Should-fix / verify

  1. Confirm the opt-in env var is required for seed and documented in README; no accidental seed on default boot.
  2. CI green (includes e2e scripts if gated).
  3. Greybeard + bruckheimer before merge.

@TheGreatAxios
TheGreatAxios force-pushed the cl-5649-catalog-test-workflows branch 2 times, most recently from eabeace to 5cf15de Compare August 9, 2026 02:28
@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Greybeard: MERGE — catalog-test opt-in + noop pin; empty-turn director fix; killdates updated.

Covers NOOP_MODEL_SOURCE's shape and the default workflow set's
existing echo/assistant entries carrying no modelSource override, so
a workflow added later can flip that switch alone.
A workflow that must stay free to run continuously cannot deploy
against a tenant's real (billed) model. NOOP_MODEL_SOURCE points a
deploy at the hub's own noop-inference endpoint instead — the same
substitution channel-host launches already make — so a workflow
opting in via DefaultWorkflow.modelSource resolves every turn
instantly against a constant, locally served reply. No default
workflow opts in yet; echo and assistant are unaffected.
Covers the definition's own contract (shape, timeout, JSON round-trip)
and its import boundary (only published platform packages, never a
wrapper contract), plus a light e2e smoke test that launches it
against a real, reachable noop-inference source and confirms the run
actually completes rather than merely starting: the run's own event
log must show a terminal RunCompleted event with the step completed,
so a wedged inference call or a broken agent launch surfaces as a
failing test instead of a run that only ever proves it was accepted.
…pinned to noop-inference

A dead-simple mail-triggered definition built to run on a tight,
continuous schedule so Interchange's scheduling and mail-trigger paths
stay exercised: it completes immediately on every trigger.

It cannot go agent-free — the workflow DSL's `action` primitive has no
host wiring an invokeAction callback in the shipped hub/sidecar, so it
throws at runtime. It is instead deployed with its inference source
pinned at the hub's own noop-inference endpoint via NOOP_MODEL_SOURCE:
every run resolves against a constant, locally served reply, so
running it as often as scheduling allows costs nothing.

It exists only to exercise the platform, not for a real user, so it is
never part of the default workflow set a real signup gets: it lives in
its own CATALOG_TEST_WORKFLOWS set, deployed by `workbench seed` only
when the operator explicitly opts in with
WORKBENCH_SEED_CATALOG_TEST_WORKFLOWS=1.
Covers that heartbeat deploys only through the explicit
CATALOG_TEST_WORKFLOWS opt-in and never through DEFAULT_WORKFLOWS
(which real tenant provisioning always deploys), that it pins its
deploy source at noop-inference, and a fresh push/deploy/confirm run
against that source end to end.
Documents what heartbeat does and its zero-cost noop-inference pin.
Covers the definition's own contract (shape, timeout, JSON round-trip)
and its import boundary (only published platform packages, never a
wrapper contract), plus a light e2e smoke test that launches it
against a real, reachable noop-inference source and confirms the run
actually completes — a terminal RunCompleted event with the step
completed — rather than merely proving the trigger was accepted.
…-in, pinned to noop-inference

A single mail-triggered step that relays an already-computed
deterministic summary line back into a channel, mirroring how a
channel host's reply becomes a channel mail post.

Like heartbeat, it exists only to exercise the platform — here, the
channel-mail-posting path — never for a real user, so it joins
heartbeat in CATALOG_TEST_WORKFLOWS rather than the real default
workflow set, deployed by `workbench seed` only when the operator
opts in with WORKBENCH_SEED_CATALOG_TEST_WORKFLOWS=1. Pinned at the
hub's own noop-inference endpoint via NOOP_MODEL_SOURCE the same way.
Covers that channel-digest deploys only through the explicit
CATALOG_TEST_WORKFLOWS opt-in and never through DEFAULT_WORKFLOWS,
that it pins its deploy source at noop-inference, and a fresh
push/deploy/confirm run against that source end to end.
Documents what channel-digest does, its cost profile under the
noop-inference pin, and the trade-off of pinning it against a real
catalog model instead.
noop-inference returns empty text so channel hosts do not post replies.
DefaultDirector treated that as wait(), so agent.send never settled on
connector.reply and workflow steps timed out at 30s. Empty reply still
completes the send; chat orchestrator already filters empty content.
Record the vendored tree hash and VENDORED-FROM delta for the
default-director empty-reply change.
@TheGreatAxios
TheGreatAxios force-pushed the cl-5649-catalog-test-workflows branch from ce6ee68 to 78d68f8 Compare August 9, 2026 03:25
@TheGreatAxios
TheGreatAxios merged commit dad11c8 into main Aug 9, 2026
2 checks passed
@TheGreatAxios
TheGreatAxios deleted the cl-5649-catalog-test-workflows branch August 9, 2026 03:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant