Skip to content

Restore CI on accelerate - #676

Merged
tbarbugli merged 5 commits into
acceleratefrom
codex/accelerate-ci-repair
Sep 28, 2026
Merged

tbarbugli merged 5 commits into
acceleratefrom
codex/accelerate-ci-repair

Conversation

@thesyncim

@thesyncim thesyncim commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

The accelerate branch fails CI before #674 is applied. Frozen Python setup points to deleted workspace plugins, the dashboard job runs without a dashboard, and backend tests have stale expectations and timing-dependent assertions. This PR restores that baseline independently of latency tracing.

  • Remove only the deleted editable packages from uv.lock. Run unit CI on Python 3.12, which has wheels for the locked dependencies, and install only development tools for the separate Python compatibility resolver.
  • Run dashboard checks when dashboard/package-lock.json exists. Bring the three scripts already covered by repository-wide Ruff formatting into compliance, and correct two existing Stream plugin type annotations.
  • Update stale Go test fixtures, make the cancellation and credential tests deterministic, read the session list once per assertion, and give generated synthesis IDs a collision-free sequence.

Locally, backend go test ./... and go vet ./... pass; the credential test passes 100 consecutive runs; Ruff lint and format checks pass; and the frozen Python install plan resolves. GitHub Actions is validating the full Linux matrix.

@tbarbugli
tbarbugli merged commit a518c0d into accelerate Sep 28, 2026
17 checks passed
@tbarbugli
tbarbugli deleted the codex/accelerate-ci-repair branch September 28, 2026 11:50
martinmitrevski pushed a commit that referenced this pull request Sep 29, 2026
Brings the CI repair from accelerate onto the Athena runtime line: the
dashboard job skips when there is no dashboard, Python CI runs on 3.12.13
with the locked wheels, the Python-versions check syncs only the dev tools,
and the lint, typing and Go test fixes that apply here.

Adapted to this line:
- uv.lock is kept as it is here. The upstream change dropped the
  lemonslice and liveavatar plugins, which this line still has.
- The shared-conversation session test keeps this line's expected author;
  the upstream expectation matches accelerate's author handling, not this
  line's.
- The simulation config gains llm-flow only; the other aliases upstream
  belong to accelerate's newer routing.
- aa_stats.py and sdks/kotlin/generate.py do not exist here and stay absent.

(cherry picked from commit a518c0d)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
martinmitrevski added a commit that referenced this pull request Sep 30, 2026
…683)

* feat(conversation): follow Stream's AI protocol for streamed replies

Assistant replies are created with ai_generated: true, which is how Stream's
AI components (StreamingMessageView and friends) tell a streamed reply from
other messages. User messages are written as the agent too, so the field is
set on the assistant's message only.

Live updates go out every 100 ms instead of 200 ms, within Stream's guidance
for streamed text, so clients animate the reply smoothly.

The conversation now sends ai_indicator.update while a reply works
(AI_STATE_THINKING, AI_STATE_EXTERNAL_SOURCES while a search runs,
AI_STATE_GENERATING once the answer streams) and ai_indicator.clear once the
final text is stored. The events are sent from the outbox loop after every
pending write succeeds, only when the state changes, and through the SDK's
typed SendEvent so Stream flattens ai_state and message_id to the top level
where clients read them.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs(changelog): note Stream's AI protocol for streamed replies

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Restore CI on accelerate (#676)

Brings the CI repair from accelerate onto the Athena runtime line: the
dashboard job skips when there is no dashboard, Python CI runs on 3.12.13
with the locked wheels, the Python-versions check syncs only the dev tools,
and the lint, typing and Go test fixes that apply here.

Adapted to this line:
- uv.lock is kept as it is here. The upstream change dropped the
  lemonslice and liveavatar plugins, which this line still has.
- The shared-conversation session test keeps this line's expected author;
  the upstream expectation matches accelerate's author handling, not this
  line's.
- The simulation config gains llm-flow only; the other aliases upstream
  belong to accelerate's newer routing.
- aa_stats.py and sdks/kotlin/generate.py do not exist here and stay absent.

(cherry picked from commit a518c0d)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* style(stream): format dispatch.py for the CI ruff check

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Marcelo Pires <thesyncim@gmail.com>
Nash0x7E2 pushed a commit that referenced this pull request Oct 1, 2026
…683)

* feat(conversation): follow Stream's AI protocol for streamed replies

Assistant replies are created with ai_generated: true, which is how Stream's
AI components (StreamingMessageView and friends) tell a streamed reply from
other messages. User messages are written as the agent too, so the field is
set on the assistant's message only.

Live updates go out every 100 ms instead of 200 ms, within Stream's guidance
for streamed text, so clients animate the reply smoothly.

The conversation now sends ai_indicator.update while a reply works
(AI_STATE_THINKING, AI_STATE_EXTERNAL_SOURCES while a search runs,
AI_STATE_GENERATING once the answer streams) and ai_indicator.clear once the
final text is stored. The events are sent from the outbox loop after every
pending write succeeds, only when the state changes, and through the SDK's
typed SendEvent so Stream flattens ai_state and message_id to the top level
where clients read them.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs(changelog): note Stream's AI protocol for streamed replies

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Restore CI on accelerate (#676)

Brings the CI repair from accelerate onto the Athena runtime line: the
dashboard job skips when there is no dashboard, Python CI runs on 3.12.13
with the locked wheels, the Python-versions check syncs only the dev tools,
and the lint, typing and Go test fixes that apply here.

Adapted to this line:
- uv.lock is kept as it is here. The upstream change dropped the
  lemonslice and liveavatar plugins, which this line still has.
- The shared-conversation session test keeps this line's expected author;
  the upstream expectation matches accelerate's author handling, not this
  line's.
- The simulation config gains llm-flow only; the other aliases upstream
  belong to accelerate's newer routing.
- aa_stats.py and sdks/kotlin/generate.py do not exist here and stay absent.

(cherry picked from commit a518c0d)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* style(stream): format dispatch.py for the CI ruff check

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Marcelo Pires <thesyncim@gmail.com>
Nash0x7E2 pushed a commit that referenced this pull request Oct 1, 2026
…683)

* feat(conversation): follow Stream's AI protocol for streamed replies

Assistant replies are created with ai_generated: true, which is how Stream's
AI components (StreamingMessageView and friends) tell a streamed reply from
other messages. User messages are written as the agent too, so the field is
set on the assistant's message only.

Live updates go out every 100 ms instead of 200 ms, within Stream's guidance
for streamed text, so clients animate the reply smoothly.

The conversation now sends ai_indicator.update while a reply works
(AI_STATE_THINKING, AI_STATE_EXTERNAL_SOURCES while a search runs,
AI_STATE_GENERATING once the answer streams) and ai_indicator.clear once the
final text is stored. The events are sent from the outbox loop after every
pending write succeeds, only when the state changes, and through the SDK's
typed SendEvent so Stream flattens ai_state and message_id to the top level
where clients read them.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs(changelog): note Stream's AI protocol for streamed replies

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Restore CI on accelerate (#676)

Brings the CI repair from accelerate onto the Athena runtime line: the
dashboard job skips when there is no dashboard, Python CI runs on 3.12.13
with the locked wheels, the Python-versions check syncs only the dev tools,
and the lint, typing and Go test fixes that apply here.

Adapted to this line:
- uv.lock is kept as it is here. The upstream change dropped the
  lemonslice and liveavatar plugins, which this line still has.
- The shared-conversation session test keeps this line's expected author;
  the upstream expectation matches accelerate's author handling, not this
  line's.
- The simulation config gains llm-flow only; the other aliases upstream
  belong to accelerate's newer routing.
- aa_stats.py and sdks/kotlin/generate.py do not exist here and stay absent.

(cherry picked from commit a518c0d)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* style(stream): format dispatch.py for the CI ruff check

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Marcelo Pires <thesyncim@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants