Repository navigation
Description
Parent
Spec: #22 — Generate text, an LLM action node for workflows.
What to build
Turn the feature on, prove it works in production, and widen it.
The flag is off at merge, so everything before this ticket is dark. This ticket is the only place the feature meets real traffic.
Aggregate the flag on organization. Not person percentage, not project group. The organization key is the only one that is byte-identical between browser evaluation and server evaluation, and it is the same scope as the AI credit balance the feature spends against. Rolling out by anything else means the two ends disagree about who has the feature.
Smoke-test the transport, not the preview. Preview runs inline in process and never reschedules, so it cannot exercise the polling transport at all. The smoke test has to be a real workflow, built and activated on an internal organization, that runs the node for real and comes back with variables set. A green preview proves nothing about the path that runs in production.
Watch the queue-wait histogram. The feature deliberately shares an existing Celery queue rather than adding one, because production reads its worker queues from the charts repository and a queue added only here would be consumed by nothing, silently. The graduation trigger is the pilot's queue-wait: if it stays healthy, the shared queue was the right call. If it does not, a dedicated queue is needed and its charts entry has to land before the flag widens any further.
Then widen. Roll forward organization by organization. Rollback at any point is the flag off; in-flight generations stay collectable because retrieve deliberately does not check the flag.
The GA cleanup — deleting the flag constant, the category's flag, and the endpoint's check in one change — is not filed as a ticket. It cannot be scheduled until this rollout completes.
Acceptance criteria
- The flag is created and aggregated on organization.
- The flag is enabled for internal organizations only, to start.
- A real workflow containing the node is built and activated on an internal organization, runs for real, and sets its variables from the generation.
- The run exercises the polling transport, not the inline preview path.
- The generations appear on the organization's AI credits line and in its LLM analytics, with both passes of the run sharing one trace.
- The Celery queue-wait histogram is checked against the graduation trigger, and the outcome is recorded on this issue.
- If the trigger fires, a dedicated queue and its charts entry land before the flag widens any further.
- Rollback is verified as flag-off, with an in-flight generation confirmed still collectable afterwards.
- The flag is widened beyond internal organizations only after the smoke test passes and the docs ticket has landed.
Blocked by
- Fix {-autocomplete and liquid handling in templating inputs #42 — the templating autocomplete fixes. Authors write prompts in these fields.
- Bound concurrent generations and surface saturation #47 — the operator caps. Do not put real traffic on an uncapped path.
- Run preview for the Generate text step #50 — run preview.
- Document the Generate text step for agents and contributors #51 — the docs and skill. The flag must not turn on while the published skill tells agents this is free.
Activity