Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
d88bb1b
v2.0.29: Add websockify heartbeat and server timeout configuration
jbutler1980 Dec 5, 2025
7786d0e
orchestrator: add per-run execution engine + resume semantics
jbutler1980 Jan 11, 2026
3762934
Hardening: fail-closed planner tool contract + Temporal capability pr…
jbutler1980 Jan 12, 2026
8713f16
P1: Update-capability probe validates userPromptResolved handler
jbutler1980 Jan 12, 2026
64ae0d5
P1: Update-capability probe validates userPromptResolved handler (#2)
jbutler1980 Jan 12, 2026
2eae11a
GoalIntake: support GOAL_INTAKE_FORCE_TENANTS
jbutler1980 Jan 12, 2026
8b9c19c
Temporal: fail-closed planner tools + dispatch-step surface defaults
jbutler1980 Jan 12, 2026
5e88805
Temporal: create NEEDS_HELP prompts without checklist FK
jbutler1980 Jan 12, 2026
a8da65d
P0/P1: fail-closed prompt resolution + durable NEEDS_HELP + Temporal ids
jbutler1980 Jan 13, 2026
bfe7dd6
Merge pull request #5 from jbutler1980/p4-temporal-needs-help-stepkey…
jbutler1980 Jan 13, 2026
1f2278a
Merge pull request #4 from jbutler1980/p3-temporal-planning-contract-…
jbutler1980 Jan 13, 2026
fed938e
proxy: limit historical screenshot blocks
jbutler1980 Jan 15, 2026
f2555b3
bytebot-agent: preflight endpoints and sanitize chat history
jbutler1980 Jan 16, 2026
1a0c9af
orchestrator: NEEDS_HELP classification + desktop surface gates
jbutler1980 Jan 17, 2026
3b47ca4
Stark: no-deadlock prompts, desktop safety, Slack reply
jbutler1980 Jan 17, 2026
7ff2067
Stark: auto-resolve strategy + forced observation
jbutler1980 Jan 18, 2026
215c5c8
Feasibility: force travel goals to DESKTOP
jbutler1980 Jan 19, 2026
770a78b
Planner: normalize web_browser tool alias
jbutler1980 Jan 19, 2026
72ede80
orchestrator: attach workspace to Temporal desktop goals
jbutler1980 Jan 19, 2026
35a98b4
maintenance: unstick DESKTOP_NOT_ALLOWED prompts
jbutler1980 Jan 19, 2026
6b3587b
orchestrator: pause on heartbeat exhaustion; tighten travel feasibility
jbutler1980 Jan 19, 2026
04eee59
Temporal: prevent strategy NEEDS_HELP from WAITING_USER_INPUT
jbutler1980 Jan 20, 2026
e982d53
Temporal: add WAITING_PROVIDER for provider outages
jbutler1980 Jan 20, 2026
478e6de
Slack: gate reply button; add no-deadlock fitness CI
jbutler1980 Jan 20, 2026
ca69968
task-dispatch: travel feasibility fallback when goalContext missing
jbutler1980 Jan 20, 2026
d32b27b
slack: harden interactivity handler time budget
jbutler1980 Jan 20, 2026
edd166e
slack: bot-mode notifications + fix events api
jbutler1980 Jan 20, 2026
32e9a2b
notifications: document slack bot-mode fields
jbutler1980 Jan 20, 2026
26f24a4
db: add notification channels tables migration
jbutler1980 Jan 21, 2026
24c5518
orchestrator: WAITING_CAPACITY + wait metadata + durable retry gating
jbutler1980 Jan 21, 2026
f299b57
orchestrator: quiet WAITING_CAPACITY + wait-state metrics
jbutler1980 Jan 21, 2026
5267695
desktop: detect no-progress loops + bounded repair ladder
jbutler1980 Jan 22, 2026
99dd1a8
Switch desktop execution to Sonnet 4.5
jbutler1980 Jan 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .github/workflows/no-deadlock-fitness-gates.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: No-Deadlock Fitness Gates

on:
pull_request:
paths:
- "packages/bytebot-workflow-orchestrator/**"
- "packages/bytebot-temporal-worker/**"
push:
branches:
- main
paths:
- "packages/bytebot-workflow-orchestrator/**"
- "packages/bytebot-temporal-worker/**"

permissions:
contents: read

jobs:
orchestrator-internal-contracts:
name: Orchestrator internal API contracts
runs-on: ubuntu-22.04
timeout-minutes: 20

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: |
packages/bytebot-workflow-orchestrator/package-lock.json

- name: Install orchestrator dependencies
run: |
cd packages/bytebot-workflow-orchestrator
npm ci

- name: Run internal controller contract tests
run: |
cd packages/bytebot-workflow-orchestrator
npm test -- internal.controller.contracts.spec.ts

temporal-execution-contracts:
name: Temporal worker execution contracts
runs-on: ubuntu-22.04
timeout-minutes: 20

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: |
packages/bytebot-temporal-worker/package-lock.json

- name: Install temporal-worker dependencies
run: |
cd packages/bytebot-temporal-worker
npm ci

- name: Run execution activity contract tests
run: |
cd packages/bytebot-temporal-worker
npm test -- execution.activities.spec.ts
45 changes: 45 additions & 0 deletions .github/workflows/temporal-update-contract.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Temporal Update Contract

on:
pull_request:
paths:
- "packages/bytebot-temporal-worker/**"
- "packages/bytebot-workflow-orchestrator/**"
push:
branches:
- main
paths:
- "packages/bytebot-temporal-worker/**"
- "packages/bytebot-workflow-orchestrator/**"

permissions:
contents: read

jobs:
temporal-update-contract:
name: userPromptResolved Update contract
runs-on: ubuntu-22.04
timeout-minutes: 20

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: |
packages/bytebot-temporal-worker/package-lock.json

- name: Install temporal-worker dependencies
run: |
cd packages/bytebot-temporal-worker
npm ci

- name: Run Temporal workflow contract tests
run: |
cd packages/bytebot-temporal-worker
npm run test:workflow

Loading