Merge origin/main into native-chat-launch-visibility

This commit is contained in:
Brennan Benson
2026-09-14 18:30:42 -07:00
739 changed files with 58515 additions and 4985 deletions
+8 -5
View File
@@ -235,11 +235,14 @@ jobs:
fi
done
echo "head_sha=$(git rev-parse HEAD)" >>"$GITHUB_OUTPUT"
# Why the main repo's tags: package.json on a branch is as stale as the
# main it forked from, and stable patches never merge back into it.
published="$(GH_TOKEN="$MAIN_REPO_TOKEN" gh release list \
--repo "$GITHUB_REPOSITORY" --limit 100 --exclude-drafts \
--json tagName --jq '.[].tagName' || true)"
# Why git tags, not GitHub releases: unpublishing a buggy cut deletes the
# GitHub release and leaves the tag, which still owns that number.
# Releases-only let adhoc sit on a number already taken, so the updater
# would not install it. Empty on failure — the script then falls back
# to package.json.
published="$(GH_TOKEN="$MAIN_REPO_TOKEN" gh api \
"repos/$GITHUB_REPOSITORY/git/matching-refs/tags/v" \
--jq '.[].ref | sub("^refs/tags/"; "")' || true)"
ORCA_PUBLISHED_VERSIONS="$published" ORCA_ADHOC_LABEL="${LABEL:-$REF}" \
node config/scripts/adhoc-build-version.mjs \
>"$RUNNER_TEMP/adhoc-identity.txt"
+13 -9
View File
@@ -90,7 +90,7 @@ jobs:
uses: actions/checkout@v6
with:
ref: main
# Version helpers only read HEAD; published versions come from the release API.
# Version helpers only read HEAD; published versions come from git tags.
fetch-depth: 1
# Why: this job only reads stablyai/orca and never pushes; every write
# goes to the daily repo through a minted App token passed by env.
@@ -209,17 +209,21 @@ jobs:
# number free", where a stranded draft still holds one.
names="$(gh release list --repo "$DAILY_REPO" --limit 200 --json name \
--jq '.[].name // empty')"
# Why the main repo's tags decide the base version rather than
# package.json: main's version only moves on `release:` commits, and
# stable patches are cut from release branches that never merge back, so
# package.json can sit several patches behind what users are running. A
# Why git tags, not GitHub releases: unpublishing a buggy cut deletes the
# GitHub release and leaves the tag. That dragged hourlies backwards so
# electron-updater stopped offering them; dailies would do the same. A
# separate token because GH_TOKEN above is the App's, scoped to the
# daily repo. Empty on failure — the script then falls back to
# package.json, which is stale but never wrong enough to fail a build.
published="$(GH_TOKEN="$MAIN_REPO_TOKEN" gh release list \
--repo "$GITHUB_REPOSITORY" --limit 100 --exclude-drafts \
--json tagName --jq '.[].tagName' || true)"
echo "Highest published tag seen: $(head -1 <<<"$published")"
main_tags="$(GH_TOKEN="$MAIN_REPO_TOKEN" gh api \
"repos/$GITHUB_REPOSITORY/git/matching-refs/tags/v" \
--jq '.[].ref | sub("^refs/tags/"; "")' || true)"
# Already-shipped channel tags are a second floor so unpublishing a
# buggy main release cannot drag this series below a daily already out.
channel_tags="$(gh release list --repo "$DAILY_REPO" --limit 200 --json tagName \
--jq '.[].tagName' || true)"
published="$main_tags"$'\n'"$channel_tags"
echo "Published version sources: $(grep -c . <<<"$main_tags" || true) main tags, $(grep -c . <<<"$channel_tags" || true) channel tags"
ORCA_PUBLISHED_VERSIONS="$published" ORCA_DAILY_RELEASE_NAMES="$names" \
node config/scripts/daily-build-version.mjs \
>"$RUNNER_TEMP/daily-identity.txt"
@@ -0,0 +1,22 @@
name: Git command termination runtime
on:
pull_request:
paths:
- 'src/main/git/command-runner/spawned-command-tree-kill*'
- '.github/workflows/git-command-termination-runtime.yml'
workflow_dispatch:
permissions:
contents: read
jobs:
windows-exit:
runs-on: windows-latest
timeout-minutes: 20
env:
ORCA_BACKGROUND_LAUNCH: '1'
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: ./.github/actions/install-node-dependencies
- name: Verify exited native child does not trigger taskkill
run: node node_modules/vitest/vitest.mjs run --config config/vitest.config.ts src/main/git/command-runner/spawned-command-tree-kill.test.ts
+20 -12
View File
@@ -137,7 +137,7 @@ jobs:
uses: actions/checkout@v6
with:
ref: ${{ needs.preflight.outputs.head_sha }}
# Version helpers only read HEAD; published versions come from the release API.
# Version helpers only read HEAD; published versions come from git tags.
fetch-depth: 1
# Why: this job only reads stablyai/orca and never pushes; every write
# goes to the hourly repo through a minted App token passed by env.
@@ -213,17 +213,25 @@ jobs:
# number free", where a stranded draft still holds one.
names="$(gh release list --repo "$HOURLY_REPO" --limit 200 --json name \
--jq '.[].name // empty')"
# Why the main repo's tags decide the base version rather than
# package.json: main's version only moves on `release:` commits, and
# stable patches are cut from release branches that never merge back, so
# package.json can sit several patches behind what users are running. A
# separate token because GH_TOKEN above is the App's, scoped to the
# hourly repo. Empty on failure — the script then falls back to
# package.json, which is stale but never wrong enough to fail a build.
published="$(GH_TOKEN="$MAIN_REPO_TOKEN" gh release list \
--repo "$GITHUB_REPOSITORY" --limit 100 --exclude-drafts \
--json tagName --jq '.[].tagName' || true)"
echo "Highest published tag seen: $(head -1 <<<"$published")"
# Why git tags, not GitHub releases: unpublishing a buggy cut deletes the
# GitHub release and leaves the tag. On 2026-09-14 we deleted v1.4.202's
# release for a bug; hourlies had already climbed to 1.4.203, then
# `gh release list` fell back to v1.4.201 and the next hourlies shipped
# as 1.4.202-hourly — which electron-updater will not install over
# 1.4.203-hourly or over the still-tagged 1.4.202. A separate token
# because GH_TOKEN above is the App's, scoped to the hourly repo. Empty
# on failure — the script then falls back to package.json, which is
# stale but never wrong enough to fail a build.
main_tags="$(GH_TOKEN="$MAIN_REPO_TOKEN" gh api \
"repos/$GITHUB_REPOSITORY/git/matching-refs/tags/v" \
--jq '.[].ref | sub("^refs/tags/"; "")' || true)"
# Already-shipped channel tags are a second floor: even if main's tag
# list is empty this run, a 1.4.203-hourly already out must not be
# followed by a 1.4.202-hourly.
channel_tags="$(gh release list --repo "$HOURLY_REPO" --limit 200 --json tagName \
--jq '.[].tagName' || true)"
published="$main_tags"$'\n'"$channel_tags"
echo "Published version sources: $(grep -c . <<<"$main_tags" || true) main tags, $(grep -c . <<<"$channel_tags" || true) channel tags"
ORCA_PUBLISHED_VERSIONS="$published" ORCA_HOURLY_RELEASE_NAMES="$names" \
node config/scripts/hourly-build-version.mjs \
>"$RUNNER_TEMP/hourly-identity.txt"
+41 -19
View File
@@ -170,6 +170,9 @@ jobs:
- name: Check reliability gate manifest
run: pnpm run check:reliability-gates
- name: Enforce dead design-system classes
run: pnpm run check:dead-classes
- name: Check VM runtime rollback compatibility
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
@@ -326,40 +329,59 @@ jobs:
# Why: the 2.25.5 lane is a source build of a pinned tarball, so it produced the
# same binary on every PR for minutes of runner time. The key carries the version
# because that is the only input; the sha256 assertion below still guards the
# tarball on the miss path that actually builds.
# tarball on the miss path that actually builds. Only this PR's own later pushes
# can restore it — GitHub scopes a cache written from a pull_request run to that
# ref — so a first push always takes the build path below.
- name: Cache baseline Git build
uses: actions/cache@v5
with:
path: ~/.cache/orca-git-compat/git-2.25.5
key: git-compat-baseline-${{ runner.os }}-${{ runner.arch }}-2.25.5
# Why its own step: this is `make -j$(nproc)` on every core, and the lanes below
# spend their wall clock waiting on container starts, not on Git. Sharing a runner
# with the build stretched one ~1.5s boundary case past Vitest's 30s timeout, so
# the build has to finish before anything timed starts.
- name: Build the baseline Git binary
run: |
archive="$RUNNER_TEMP/git-2.25.5.tar.gz"
source="$HOME/.cache/orca-git-compat/git-2.25.5"
if [ -x "$source/git" ]; then
exit 0
fi
curl -fsSL https://www.kernel.org/pub/software/scm/git/git-2.25.5.tar.gz -o "$archive"
echo "41662c52fc16fec4963bfc41075e71f8ead6b5e386797eb6f9a1111ff95a8ddf $archive" \
| sha256sum --check
mkdir -p "$source"
tar -xzf "$archive" -C "$source" --strip-components=1
make -C "$source" -j"$(nproc)" \
NO_GETTEXT=YesPlease NO_TCLTK=YesPlease NO_PYTHON=YesPlease git
# Why: the linked binaries are what the next run needs; the objects that
# produced them are most of the tree and would bloat the cache entry.
find "$source" -name '*.o' -delete
- name: Verify Git binary compatibility matrix
run: |
specs=(
"alpine/git:edge-2.38.1|2.38.1"
"alpine/git:v2.49.1|2.49.1"
)
# Why pull up front: a lane's first `docker run` otherwise pulls its image
# while the sibling lane is mid-test, and that stall is charged to the test.
for spec in "${specs[@]}"; do
docker pull --quiet "${spec%%|*}"
done
pids=()
(
archive="$RUNNER_TEMP/git-2.25.5.tar.gz"
source="$HOME/.cache/orca-git-compat/git-2.25.5"
if [ ! -x "$source/git" ]; then
curl -fsSL https://www.kernel.org/pub/software/scm/git/git-2.25.5.tar.gz -o "$archive"
echo "41662c52fc16fec4963bfc41075e71f8ead6b5e386797eb6f9a1111ff95a8ddf $archive" \
| sha256sum --check
mkdir -p "$source"
tar -xzf "$archive" -C "$source" --strip-components=1
make -C "$source" -j"$(nproc)" \
NO_GETTEXT=YesPlease NO_TCLTK=YesPlease NO_PYTHON=YesPlease git
# Why: the linked binaries are what the next run needs; the objects that
# produced them are most of the tree and would bloat the cache entry.
find "$source" -name '*.o' -delete
fi
ORCA_GIT_COMPAT_BINARY="$source/git" ORCA_GIT_COMPAT_VERSION="2.25.5" \
ORCA_GIT_COMPAT_BINARY="$HOME/.cache/orca-git-compat/git-2.25.5/git" \
ORCA_GIT_COMPAT_VERSION="2.25.5" \
pnpm exec vitest run --config config/vitest.config.ts \
src/shared/git-binary-compatibility.test.ts
) &
pids+=("$!")
for spec in \
"alpine/git:edge-2.38.1|2.38.1" \
"alpine/git:v2.49.1|2.49.1"; do
for spec in "${specs[@]}"; do
(
image="${spec%%|*}"
version="${spec#*|}"
+1
View File
@@ -56,6 +56,7 @@ jobs:
--exclude=src/main/daemon/node-pty-fd-leak.test.ts \
--exclude=src/main/providers/local-pty-shell-ready-zsh-launch-environment.test.ts \
--exclude=src/main/providers/__tests__/shell-ready-framework-example.test.ts \
--exclude=src/main/pty/omp-shell-wrapper-alias-safety.test.ts \
--exclude=src/main/pty/omp-shell-wrapper.node-pty.test.ts \
--exclude=src/main/shell-startup-feature-channel.test.ts \
--exclude=src/main/terminal-history-fish-session.node-pty.test.ts \
+2 -1
View File
@@ -1,6 +1,6 @@
# Design System
All UI work — layout, color, typography, spacing, component selection, UX behavior — must follow [`docs/STYLEGUIDE.md`](./docs/STYLEGUIDE.md). Use the tokens defined in `src/renderer/src/assets/main.css` (the canonical source) and the shadcn primitives in `src/renderer/src/components/ui/`. Don't invent new color values, font sizes, or shadow tiers when a documented one already covers the role. When STYLEGUIDE.md is silent, follow the resolution order in its final section.
All UI work — layout, color, typography, spacing, component selection, UX behavior — must follow [`docs/STYLEGUIDE.md`](./docs/STYLEGUIDE.md). Most of it is linted: `pnpm run check:code-quality:changed` fails on new restyles of a `components/ui/` primitive, raw palette colors, and computed `className` strings; `pnpm lint` fails on any class Tailwind cannot generate. See the Enforcement section of the style guide before suppressing either. Use the tokens defined in `src/renderer/src/assets/main.css` (the canonical source) and the shadcn primitives in `src/renderer/src/components/ui/`. Don't invent new color values, font sizes, or shadow tiers when a documented one already covers the role. When STYLEGUIDE.md is silent, follow the resolution order in its final section.
## Electron UI Validation
@@ -46,6 +46,7 @@ Avoid type assertions except `as const`. Unavoidable casts need a line-specific
- **Typecheck**: `pnpm tc` (or `tc:node` / `tc:cli` / `tc:web`)
- **Test**: `pnpm test [path/to/file.test.ts]`
- **Lint**: `oxlint`, or `pnpm run check:code-quality:changed` for changed files (full `pnpm lint` is slow); format with `pnpm format`
- **Design system**: `pnpm run lint:design-system` for the full renderer report (not a gate); the changed-lines gate above is what CI enforces
# Considerations
@@ -1,4 +1,5 @@
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
import { POSTGRES_STATEMENT_STATS_MIGRATION } from './postgres-statement-stats.js'
const fakes = vi.hoisted(() => ({
configs: [] as Array<Record<string, unknown>>,
@@ -119,11 +120,16 @@ describe('PostgreSQL relay deadlines', () => {
})
expect(ddl.length).toBeGreaterThan(0)
expect(ddl).toContain(POSTGRES_STATEMENT_STATS_MIGRATION)
// Statements can open with a leading `--` rationale comment.
const body = (statement: string): string =>
statement.replace(/^(?:\s*--[^\n]*\n)*\s*/, '')
expect(
ddl.every((statement) => /^(?:CREATE|ALTER TABLE)\b/i.test(body(statement)))
ddl.every(
(statement) =>
statement === POSTGRES_STATEMENT_STATS_MIGRATION ||
/^(?:CREATE|ALTER TABLE)\b/i.test(body(statement))
)
).toBe(true)
// The backfill is DML, so it stays on the deadline-bearing serving pool.
expect(ddl.some((statement) => statement.includes('INSERT INTO'))).toBe(false)
+18 -2
View File
@@ -10,6 +10,8 @@ import {
type PostgresPoolPressureCounts
} from './postgres-pool-pressure.js'
import { applyPostgresSchema } from './postgres-schema-startup.js'
import { POSTGRES_STATEMENT_STATS_MIGRATION } from './postgres-statement-stats.js'
import { reportPostgresQueryFailure } from './postgres-query-failure.js'
import {
CellInventoryHoldSamples,
emptyCellInventoryHoldCounts,
@@ -619,6 +621,7 @@ CREATE INDEX IF NOT EXISTS relay_audit_events_at ON relay_audit_events(at);
// auto-named; the replacement is named, so both statements are no-ops on a
// database the current schema created and neither can drop the other.
export const POSTGRES_SCHEMA_MIGRATIONS = [
POSTGRES_STATEMENT_STATS_MIGRATION,
`ALTER TABLE relay_region_decisions ADD COLUMN IF NOT EXISTS last_considered_at BIGINT NOT NULL DEFAULT 0`,
`ALTER TABLE relay_region_decisions ADD COLUMN IF NOT EXISTS cohort_bucket BIGINT NOT NULL DEFAULT 0`,
`ALTER TABLE relay_region_rehome_attempts
@@ -908,12 +911,25 @@ class PostgresDatabase implements RelayDatabase {
}
async query(sql: string, params: unknown[] = []): Promise<SqlRow[]> {
const client = await this.pressure.connect()
const startedAt = performance.now()
let phase: 'acquire' | 'execute' = 'acquire'
let client: pg.PoolClient | undefined
try {
client = await this.pressure.connect()
phase = 'execute'
const result = await client.query(postgresSql(sql), params)
return returnsRows(sql) ? (result.rows as SqlRow[]) : [{ changes: result.rowCount ?? 0 }]
} catch (error) {
reportPostgresQueryFailure({
error,
phase,
sql,
elapsedMs: performance.now() - startedAt,
pool: this.pool
})
throw error
} finally {
client.release()
client?.release()
}
}
@@ -0,0 +1,70 @@
import { afterAll, afterEach, beforeAll, describe, expect, it, vi } from 'vitest'
import { openRelayDatabase, type RelayDatabase } from './database.js'
const databaseUrl = process.env.ORCA_RELAY_TEST_POSTGRES_URL
const describePostgres = databaseUrl ? describe : describe.skip
describePostgres('real PostgreSQL query failure phases', () => {
let database: RelayDatabase
beforeAll(async () => {
database = await openRelayDatabase({
databaseUrl,
dataDir: '',
poolMax: 1,
statementTimeoutMs: 50
})
})
afterAll(async () => {
await database.close()
})
afterEach(() => {
vi.restoreAllMocks()
})
it('distinguishes a server statement timeout and leaves the pool usable', async () => {
const log = vi.spyOn(console, 'warn').mockImplementation(() => undefined)
await expect(database.query('SELECT pg_sleep(0.2)')).rejects.toMatchObject({ code: '57014' })
expect(JSON.parse(log.mock.calls[0]![0] as string)).toMatchObject({
event: 'orca_relay_postgres_query_failed',
phase: 'execute',
code: '57014',
connectionTimeout: false
})
expect(await database.query('SELECT 1 AS ok')).toEqual([{ ok: 1 }])
})
it('distinguishes queue acquisition timeout without running the statement', async () => {
const log = vi.spyOn(console, 'warn').mockImplementation(() => undefined)
let acquired!: () => void
const ready = new Promise<void>((resolve) => {
acquired = resolve
})
let release!: () => void
const wait = new Promise<void>((resolve) => {
release = resolve
})
const holder = database.transaction(async () => {
acquired()
await wait
})
await ready
try {
await expect(database.query('SELECT pg_sleep(0.2)')).rejects.toThrow(
'timeout exceeded when trying to connect'
)
expect(JSON.parse(log.mock.calls[0]![0] as string)).toMatchObject({
event: 'orca_relay_postgres_query_failed',
phase: 'acquire',
code: 'unknown',
connectionTimeout: true,
poolTotal: 1,
poolIdle: 0
})
} finally {
release()
await holder
}
expect(await database.query('SELECT 1 AS ok')).toEqual([{ ok: 1 }])
})
})
@@ -0,0 +1,109 @@
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
const fakes = vi.hoisted(() => ({
connectError: undefined as unknown,
query: vi.fn(async (_sql: string, _params?: unknown[]) => ({ rows: [], rowCount: 0 })),
release: vi.fn()
}))
vi.mock('pg', () => ({
default: {
Pool: class {
totalCount = 10
idleCount = 0
waitingCount = 7
on = vi.fn()
async connect() {
if (fakes.connectError) throw fakes.connectError
return { query: fakes.query, release: fakes.release }
}
async end() {}
}
}
}))
import { openRelayDatabase, type RelayDatabase } from './database.js'
describe('PostgreSQL query failure diagnostics', () => {
let database: RelayDatabase
const sql = 'WITH assignment_state AS MATERIALIZED (SELECT $1) SELECT * FROM assignment_state'
beforeEach(async () => {
fakes.connectError = undefined
fakes.query.mockReset().mockResolvedValue({ rows: [], rowCount: 0 })
vi.spyOn(console, 'warn').mockImplementation(() => undefined)
database = await openRelayDatabase({ databaseUrl: 'postgres://unused', dataDir: '' })
fakes.query.mockClear()
fakes.release.mockClear()
vi.mocked(console.warn).mockClear()
})
afterEach(async () => {
await database.close()
vi.restoreAllMocks()
})
it('identifies acquisition failure without issuing SQL or changing the error', async () => {
const error = new Error('timeout exceeded when trying to connect: private detail')
fakes.connectError = error
await expect(database.query(sql, ['private-token'])).rejects.toBe(error)
expect(fakes.query).not.toHaveBeenCalled()
expect(fakes.release).not.toHaveBeenCalled()
expect(JSON.parse(vi.mocked(console.warn).mock.calls[0]![0] as string)).toEqual({
event: 'orca_relay_postgres_query_failed',
phase: 'acquire',
operation: 'control-renewal',
code: 'unknown',
connectionTimeout: true,
elapsedMs: expect.any(Number),
poolTotal: 10,
poolIdle: 0,
poolWaiting: 7
})
expect(JSON.stringify(vi.mocked(console.warn).mock.calls)).not.toContain('private')
})
it.each(['57014', '55P03', 'ECONNRESET'])(
'identifies execute failure %s and releases its client',
async (code) => {
const error = Object.assign(new Error('private-token'), { code, detail: sql })
fakes.query.mockRejectedValueOnce(error)
await expect(database.query(sql, ['private-token'])).rejects.toBe(error)
expect(fakes.query).toHaveBeenCalledOnce()
expect(fakes.release).toHaveBeenCalledOnce()
expect(JSON.parse(vi.mocked(console.warn).mock.calls[0]![0] as string)).toMatchObject({
phase: 'execute',
operation: 'control-renewal',
code,
connectionTimeout: false
})
expect(JSON.stringify(vi.mocked(console.warn).mock.calls)).not.toContain('private-token')
expect(JSON.stringify(vi.mocked(console.warn).mock.calls)).not.toContain(sql)
}
)
it('does not emit an arbitrary error code, message, query, or parameter', async () => {
const error = { code: 'private-code', message: 'private-message' }
fakes.query.mockRejectedValueOnce(error)
await expect(database.query('SELECT private_column', ['private-param'])).rejects.toBe(error)
const log = vi.mocked(console.warn).mock.calls[0]![0] as string
expect(JSON.parse(log)).toMatchObject({ operation: 'other', code: 'unknown' })
expect(log).not.toContain('private')
})
it('keeps the original error and releases the client if logging fails', async () => {
const error = new Error('database failure')
fakes.query.mockRejectedValueOnce(error)
vi.mocked(console.warn).mockImplementationOnce(() => {
throw new Error('logger failure')
})
await expect(database.query(sql)).rejects.toBe(error)
expect(fakes.release).toHaveBeenCalledOnce()
})
it('does not log successful queries', async () => {
await database.query(sql)
expect(console.warn).not.toHaveBeenCalled()
expect(fakes.release).toHaveBeenCalledOnce()
})
})
@@ -0,0 +1,55 @@
type QueryFailurePhase = 'acquire' | 'execute'
const ERROR_CODES = new Set([
'57014',
'55P03',
'40P01',
'40001',
'53300',
'57P01',
'57P02',
'57P03',
'08000',
'08001',
'08003',
'08006',
'ECONNRESET',
'ECONNREFUSED',
'ETIMEDOUT',
'EPIPE'
])
export function reportPostgresQueryFailure(input: {
error: unknown
phase: QueryFailurePhase
sql: string
elapsedMs: number
pool: { totalCount: number; idleCount: number; waitingCount: number }
}): void {
// Emit only bounded categories: error messages and SQL can contain credentials or identities.
try {
const error = input.error as { code?: unknown; message?: unknown } | null
const code =
typeof error?.code === 'string' && ERROR_CODES.has(error.code) ? error.code : 'unknown'
const connectionTimeout =
typeof error?.message === 'string' &&
error.message.includes('timeout exceeded when trying to connect')
console.warn(
JSON.stringify({
event: 'orca_relay_postgres_query_failed',
phase: input.phase,
operation: /^\s*WITH\s+assignment_state\s+AS\s+MATERIALIZED\b/i.test(input.sql)
? 'control-renewal'
: 'other',
code,
connectionTimeout,
elapsedMs: Math.max(0, Math.round(input.elapsedMs)),
poolTotal: input.pool.totalCount,
poolIdle: input.pool.idleCount,
poolWaiting: input.pool.waitingCount
})
)
} catch {
// Diagnostics must not replace the original database failure.
}
}
@@ -0,0 +1,121 @@
import { randomUUID } from 'node:crypto'
import pg from 'pg'
import { afterAll, beforeAll, describe, expect, it } from 'vitest'
import { openRelayDatabase } from './database.js'
import { POSTGRES_STATEMENT_STATS_MIGRATION } from './postgres-statement-stats.js'
const databaseUrl = process.env.ORCA_RELAY_TEST_POSTGRES_URL
const describePostgres = databaseUrl ? describe : describe.skip
describePostgres('optional PostgreSQL statement statistics', () => {
let admin: pg.Client
let preloaded: boolean
const databases: string[] = []
const roles: string[] = []
beforeAll(async () => {
admin = new pg.Client({ connectionString: databaseUrl })
await admin.connect()
const result = await admin.query<{ loaded: boolean }>(
`SELECT 'pg_stat_statements' = ANY(string_to_array(
replace(current_setting('shared_preload_libraries'), ' ', ''), ','
)) AS loaded`
)
preloaded = result.rows[0]!.loaded
})
afterAll(async () => {
for (const database of databases) await admin.query(`DROP DATABASE IF EXISTS ${database}`)
for (const role of roles) await admin.query(`DROP ROLE IF EXISTS ${role}`)
await admin.end()
})
async function freshDatabase(): Promise<string> {
const name = `relay_stats_${randomUUID().replaceAll('-', '')}`
await admin.query(`CREATE DATABASE ${name}`)
databases.push(name)
const url = new URL(databaseUrl!)
url.pathname = `/${name}`
return url.toString()
}
async function connect(url: string): Promise<pg.Client> {
const client = new pg.Client({ connectionString: url, statement_timeout: 2_000 })
await client.connect()
return client
}
async function installed(client: pg.Client): Promise<boolean> {
const result = await client.query<{ present: boolean }>(
`SELECT EXISTS (SELECT 1 FROM pg_extension WHERE extname = 'pg_stat_statements') AS present`
)
return result.rows[0]!.present
}
it('exposes an existing collector idempotently, and skips servers without one', async () => {
const url = await freshDatabase()
const database = await openRelayDatabase({ databaseUrl: url, dataDir: '' })
await database.close()
const client = await connect(url)
try {
expect(await installed(client)).toBe(preloaded)
if (preloaded) {
const before = await client.query('SELECT stats_reset FROM public.pg_stat_statements_info')
await client.query(POSTGRES_STATEMENT_STATS_MIGRATION)
const after = await client.query('SELECT stats_reset FROM public.pg_stat_statements_info')
expect(after.rows).toEqual(before.rows)
await client.query('SELECT calls, wal_bytes, shared_blks_dirtied FROM public.pg_stat_statements LIMIT 1')
} else {
await client.query(POSTGRES_STATEMENT_STATS_MIGRATION)
expect(await installed(client)).toBe(false)
}
} finally {
await client.end()
}
})
it.each([false, true])('tolerates missing extension privileges (read settings: %s)', async (readSettings) => {
const client = await connect(await freshDatabase())
const role = `relay_stats_role_${randomUUID().replaceAll('-', '')}`
await admin.query(`CREATE ROLE ${role}`)
roles.push(role)
if (readSettings) await admin.query(`GRANT pg_read_all_settings TO ${role}`)
try {
await client.query(`SET ROLE ${role}`)
await client.query(POSTGRES_STATEMENT_STATS_MIGRATION)
expect(await installed(client)).toBe(false)
expect((await client.query<{ value: number }>('SELECT 42 AS value')).rows[0]!.value).toBe(42)
} finally {
await client.end()
}
})
it('serializes concurrent catalog creation across directors', async () => {
const url = await freshDatabase()
const clients = await Promise.all(Array.from({ length: 5 }, async () => await connect(url)))
try {
await Promise.all(clients.map(async (client) => await client.query(POSTGRES_STATEMENT_STATS_MIGRATION)))
expect(await installed(clients[0]!)).toBe(preloaded)
} finally {
await Promise.all(clients.map(async (client) => await client.end()))
}
})
it('yields to an in-progress installer instead of blocking startup', async () => {
const url = await freshDatabase()
const owner = await connect(url)
const contender = await connect(url)
try {
await owner.query('BEGIN')
await owner.query(`SELECT pg_advisory_xact_lock(hashtext('orca-relay'), hashtext('statement-stats'))`)
await contender.query(POSTGRES_STATEMENT_STATS_MIGRATION)
expect(await installed(contender)).toBe(false)
await owner.query('COMMIT')
await contender.query(POSTGRES_STATEMENT_STATS_MIGRATION)
expect(await installed(contender)).toBe(preloaded)
} finally {
await owner.end()
await contender.end()
}
})
})
@@ -0,0 +1,28 @@
// Expose an already-running collector; never preload a module or require elevated runtime privileges.
export const POSTGRES_STATEMENT_STATS_MIGRATION = `
DO $relay_statement_stats$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_catalog.pg_settings
WHERE name = 'shared_preload_libraries'
AND 'pg_stat_statements' = ANY(string_to_array(replace(setting, ' ', ''), ','))
) OR EXISTS (
SELECT 1 FROM pg_catalog.pg_extension WHERE extname = 'pg_stat_statements'
) OR NOT EXISTS (
SELECT 1 FROM pg_catalog.pg_available_extensions WHERE name = 'pg_stat_statements'
) THEN
RETURN;
END IF;
IF NOT pg_try_advisory_xact_lock(hashtext('orca-relay'), hashtext('statement-stats')) THEN
RETURN;
END IF;
BEGIN
CREATE EXTENSION IF NOT EXISTS pg_stat_statements WITH SCHEMA public;
EXCEPTION WHEN insufficient_privilege THEN
RAISE WARNING 'orca_relay_statement_stats_unavailable: insufficient privilege';
END;
END
$relay_statement_stats$;
`
+15
View File
@@ -2,6 +2,21 @@
This runbook applies to the stable Cloud Run director and the production-shaped GCE cells in both environments. It does not authorize a full Terraform apply: staging and production contain unrelated drift, so inspect a saved targeted plan and its destroy count before every apply.
## PostgreSQL statement statistics
Relay schema startup exposes `pg_stat_statements` when the server already preloads
that collector and the schema identity can install its extension. Servers without
the collector or the required privileges continue normally. Installation does not
change preload settings, reset collected counters, or require a database restart;
concurrent startups yield to one installer. An existing extension is left in place.
For SQL incidents, inspect bounded aggregates of `calls`, `total_exec_time`,
`shared_blks_read`, `shared_blks_dirtied`, and `wal_bytes`, scoped to the relay
database and identified query IDs. Compare counter deltas over the same interval
as fleet runtime metrics; retain the statistics reset timestamp. Do not export
query text, identities, credentials, or invoke `pg_stat_statements_reset()` during
an investigation. Treat an unavailable view as missing evidence, not zero work.
The relay is automatically active for entitled signed-in desktops. There is no rollout flag, cohort, or user toggle. The emergency product kill switch is the auth plane refusing relay-token exchange; use cell drains only to move or terminate existing data-plane work.
## Safety rules
@@ -0,0 +1,29 @@
# Relay database failure phases
`orca_relay_postgres_query_failed` separates failure to acquire a pooled connection
(`phase=acquire`) from failure after acquisition (`phase=execute`). It covers
`PostgresDatabase.query`, including the single-statement control-renewal CTE.
Statements inside explicit transactions use a different query path and are not
covered. These events are diagnostic evidence, not a replacement for total SQL
failure counters.
The event contains only an allowlisted error code, a connection-timeout boolean,
the operation category (`control-renewal` or `other`), total elapsed milliseconds,
and pool total/idle/waiting counts at failure. Total elapsed time includes acquisition.
An acquisition timeout can mean either waiting in the queue or establishing a new
connection; use the pool counts and independent server activity to distinguish them.
Unknown error codes stay `unknown`. Query text, parameters, error messages, and
identifiers are never emitted. Successful queries emit no additional event.
Use structured GCE logs with `jsonPayload.event="orca_relay_postgres_query_failed"`.
Compare counts by phase, operation, and code with the same cell's renewal outcomes
and pool pressure, and with independent PostgreSQL wait samples. Establishing the
failure phase does not by itself establish why the pool backed up.
For production observation, use an immutable image through the same-cap workflow
on one cell, with fresh monitor evidence and the exact predecessor digest. Verify
the serving digest and health, then inspect these events during a naturally
occurring failure. Do not deliberately induce a production database failure.
Rollback uses the same workflow and predecessor image; no schema or database
configuration changes are involved. Do not change rehome limits, timeouts, pool
sizes, or renewal scheduling merely to collect this evidence.
+77
View File
@@ -0,0 +1,77 @@
{
"$schema": "../node_modules/oxlint/configuration_schema.json",
"plugins": [],
"categories": {
"correctness": "off",
"suspicious": "off",
"pedantic": "off",
"perf": "off",
"style": "off",
"restriction": "off",
"nursery": "off"
},
"jsPlugins": [
{
"name": "shadcn",
"specifier": "@shadcn/lint"
}
],
"settings": {
"shadcn": {
"note": "See docs/STYLEGUIDE.md for the role each token and primitive plays."
}
},
"rules": {},
"overrides": [
{
"files": ["**/src/renderer/**/*.tsx"],
"rules": {
"shadcn/no-unknown-classes": [
"error",
{
"allow": [
"agent-map-*",
"comment-md-*",
"compact-agent-*",
"feature-wall-*",
"is-*",
"markdown-annotation-*",
"markdown-body",
"markdown-dark",
"markdown-doc-link*",
"markdown-light",
"markdown-preview",
"markdown-preview-search*",
"markdown-preview-shell",
"markdown-review-*",
"markdown-toc-*",
"mobile-browser-driver-banner",
"mobile-driver-banner",
"native-chat-*",
"orca-*",
"pdfViewer",
"popover-scroll-content",
"popover-wheel-scroll",
"ravpr-*",
"ravs-*",
"scrollbar-editor",
"scrollbar-sleek",
"scrollbar-sleek-lg",
"scrollbar-sleek-parent",
"toaster",
"worktree-sidebar-scrollbar",
"xterm-*"
]
}
]
}
},
{
"files": ["**/*.test.tsx"],
"rules": {
"shadcn/no-unknown-classes": "off"
}
}
],
"ignorePatterns": ["**/node_modules", "**/dist", "**/out", "cloud/**", "mobile/**"]
}
+54
View File
@@ -0,0 +1,54 @@
{
"$schema": "../node_modules/oxlint/configuration_schema.json",
"plugins": [],
"categories": {
"correctness": "off",
"suspicious": "off",
"pedantic": "off",
"perf": "off",
"style": "off",
"restriction": "off",
"nursery": "off"
},
"jsPlugins": [
{
"name": "shadcn",
"specifier": "@shadcn/lint"
}
],
"settings": {
"shadcn": {
"note": "See docs/STYLEGUIDE.md for the role each token and primitive plays."
}
},
"rules": {},
"overrides": [
{
"files": ["**/src/renderer/**/*.tsx"],
"rules": {
"shadcn/no-restyle": [
"error",
{
"allow": ["layout"]
}
],
"shadcn/no-raw-colors": [
"error",
{
"allow": ["shadow-floating"]
}
],
"shadcn/require-static-classes": "error"
}
},
{
"files": ["**/*.test.tsx"],
"rules": {
"shadcn/no-restyle": "off",
"shadcn/no-raw-colors": "off",
"shadcn/require-static-classes": "off"
}
}
],
"ignorePatterns": ["**/node_modules", "**/dist", "**/out", "cloud/**", "mobile/**"]
}
@@ -29,6 +29,12 @@ export const OXLINT_SCANS = [
{
label: 'React Doctor',
args: ['--config', 'config/oxlint-react-doctor.json']
},
{
// Why changed-lines only: the renderer carries ~4.7k pre-existing restyle/raw-color
// findings. Gating added lines holds the line without a repo-wide migration.
label: 'design system',
args: ['--config', 'config/oxlint-design-system.json']
}
]
+5 -2
View File
@@ -25,8 +25,11 @@ function compareTriples(a, b) {
* 2026-08-03 main read `1.4.165-rc.0` for twenty hours while 1.4.165, 1.4.166 and
* 1.4.167 all shipped — so hourlies built from that main claimed 1.4.165 while
* carrying code newer than 1.4.167, and sorted *below* the stable their user was
* already running. Published tags are the only honest answer to "what number is
* taken"; package.json is a floor, not a source of truth.
* already running. Git tags (not GitHub releases) are the honest answer to "what
* number is taken": unpublishing a buggy cut deletes the GitHub release and
* leaves the tag, which still owns that number. Channel tags (`1.4.203-hourly.*`)
* are a second floor so that unpublish cannot drag the series backwards.
* package.json is a floor, not a source of truth.
*/
export function resolveDevChannelBaseVersion(packageVersion, publishedVersions = []) {
const fromPackage = parseVersionTriple(packageVersion)
@@ -39,6 +39,27 @@ describe('dev channel base version', () => {
)
})
// Why tags rather than GitHub releases: unpublishing a buggy cut deletes the
// GitHub release and leaves the tag. Releases-only then treated 1.4.202 as
// free, so hourlies sat on 1.4.202-hourly and sorted below that tagged stable.
it('climbs past a tagged stable that has no GitHub release', () => {
expect(resolveDevChannelBaseVersion('1.4.197', ['v1.4.201', 'v1.4.202'])).toBe('1.4.203')
})
// 2026-09-14: v1.4.202's GitHub release was deleted for a bug after hourlies
// had already shipped as 1.4.203. Without the channel tags as a floor, the
// next hourlies would have been 1.4.202-hourly, which electron-updater will
// not install over 1.4.203-hourly.
it('does not drop below an already-published channel version', () => {
expect(
resolveDevChannelBaseVersion('1.4.197', [
'v1.4.201',
'v1.4.202-hourly.202609141912',
'v1.4.203-hourly.202609140417'
])
).toBe('1.4.203')
})
it('treats package.json as a floor when it leads the tags', () => {
expect(resolveDevChannelBaseVersion('1.5.0-rc.0', ['v1.4.167'])).toBe('1.5.0')
})
@@ -2,42 +2,63 @@ import { readFileSync } from 'node:fs'
import { parse } from 'yaml'
import { describe, expect, it } from 'vitest'
const BASELINE_DIR = '~/.cache/orca-git-compat/git-2.25.5'
const gateSteps = () =>
parse(readFileSync('.github/workflows/pr.yml', 'utf8')).jobs.git_compatibility.steps
const stepNamed = (name) => gateSteps().find((step) => step.name === name)
describe('Git binary compatibility PR gate', () => {
it('runs the real-binary contract at each compatibility boundary', () => {
const workflow = parse(readFileSync('.github/workflows/pr.yml', 'utf8'))
const step = workflow.jobs.git_compatibility.steps.find(
(candidate) => candidate.name === 'Verify Git binary compatibility matrix'
)
const run = stepNamed('Verify Git binary compatibility matrix')?.run
expect(step?.run).toContain('git-2.25.5.tar.gz')
expect(run).toContain('ORCA_GIT_COMPAT_BINARY="$HOME/.cache/orca-git-compat/git-2.25.5/git"')
expect(run).toContain('alpine/git:edge-2.38.1|2.38.1')
expect(run).toContain('alpine/git:v2.49.1|2.49.1')
expect(run).toContain('ORCA_GIT_COMPAT_IMAGE="$image"')
expect(run).toContain('src/shared/git-binary-compatibility.test.ts')
expect(run).toContain('pids+=("$!")')
expect(run).toContain('wait "$pid" || status=1')
})
it('builds the pinned baseline tarball into the cached directory', () => {
const run = stepNamed('Build the baseline Git binary')?.run
expect(run).toContain('git-2.25.5.tar.gz')
// Why asserted: the sha256 check only runs on the build path, so a cached binary
// must come from a key that pins the same version the tarball line declares.
expect(step?.run).toContain('if [ ! -x "$source/git" ]; then')
expect(step?.run).toContain('41662c52fc16fec4963bfc41075e71f8ead6b5e386797eb6f9a1111ff95a8ddf')
expect(step?.run).toContain('ORCA_GIT_COMPAT_BINARY="$source/git"')
expect(step?.run).toContain('alpine/git:edge-2.38.1|2.38.1')
expect(step?.run).toContain('alpine/git:v2.49.1|2.49.1')
expect(step?.run).toContain('ORCA_GIT_COMPAT_IMAGE="$image"')
expect(step?.run).toContain('src/shared/git-binary-compatibility.test.ts')
expect(step?.run).toContain('-j"$(nproc)"')
expect(step?.run).toContain('pids+=("$!")')
expect(step?.run).toContain('wait "$pid" || status=1')
})
it('restores the baseline Git build before the matrix runs', () => {
const workflow = parse(readFileSync('.github/workflows/pr.yml', 'utf8'))
const steps = workflow.jobs.git_compatibility.steps
const cacheIndex = steps.findIndex((step) => step.name === 'Cache baseline Git build')
const matrixIndex = steps.findIndex(
(step) => step.name === 'Verify Git binary compatibility matrix'
)
expect(cacheIndex).toBeGreaterThanOrEqual(0)
expect(cacheIndex).toBeLessThan(matrixIndex)
expect(run).toContain('if [ -x "$source/git" ]; then')
expect(run).toContain('41662c52fc16fec4963bfc41075e71f8ead6b5e386797eb6f9a1111ff95a8ddf')
expect(run).toContain('-j"$(nproc)"')
// The cached path and the build path must be the same directory or the guard
// above would rebuild on every run while still reporting a cache hit.
expect(steps[cacheIndex].with.path).toBe('~/.cache/orca-git-compat/git-2.25.5')
expect(steps[matrixIndex].run).toContain('source="$HOME/.cache/orca-git-compat/git-2.25.5"')
expect(run).toContain('source="$HOME/.cache/orca-git-compat/git-2.25.5"')
})
it('finishes the baseline build before the timed lanes start', () => {
const steps = gateSteps()
const names = steps.map((step) => step.name)
const cacheIndex = names.indexOf('Cache baseline Git build')
const buildIndex = names.indexOf('Build the baseline Git binary')
const matrixIndex = names.indexOf('Verify Git binary compatibility matrix')
expect(cacheIndex).toBeGreaterThanOrEqual(0)
expect(cacheIndex).toBeLessThan(buildIndex)
expect(buildIndex).toBeLessThan(matrixIndex)
// Why asserted: each lane is bounded by Vitest's per-test timeout while it waits on
// container starts, so a `make -j$(nproc)` sharing the runner shows up as a timeout
// in whichever boundary case is running rather than as a slow build.
expect(steps[matrixIndex].run).not.toContain('make -C')
expect(steps[cacheIndex].with.path).toBe(BASELINE_DIR)
expect(steps[cacheIndex].with.key).toContain('2.25.5')
})
it('pulls every matrix image before any lane runs', () => {
const run = stepNamed('Verify Git binary compatibility matrix')?.run
// A lazy pull inside one lane stalls whatever test the sibling lane is timing.
const [beforeLanes] = run.split('pids=()')
expect(beforeLanes).toContain('docker pull --quiet "${spec%%|*}"')
})
})
@@ -2,6 +2,7 @@ import { describe, expect, it } from 'vitest'
import {
createHourlyBuildVersion,
formatHourlyReleaseName,
getHourlyBuildIdentity,
nextHourlyBuildNumber
} from './hourly-build-version.mjs'
import { compareAppVersions } from '../../src/shared/app-version'
@@ -120,3 +121,26 @@ describe('nextHourlyBuildNumber', () => {
expect(nextHourlyBuildNumber('1.4.163', ['v1.4.163-hourly.202607311354', null, ''])).toBe(1)
})
})
describe('getHourlyBuildIdentity', () => {
// 2026-09-14: v1.4.202's GitHub release was deleted for a bug after hourlies
// had climbed to 1.4.203. Passing the leftover tag and the already-shipped
// hourly keeps the next build on 1.4.203 so electron-updater will still
// install it.
it('stays on the already-shipped hourly base after a buggy main release is unpublished', () => {
const identity = getHourlyBuildIdentity(new Date('2026-09-14T20:00:00Z'), {
publishedVersions: [
'v1.4.201',
'v1.4.202',
'v1.4.202-hourly.202609141912',
'v1.4.203-hourly.202609140417'
],
releaseNames: [
'1.4.202 • 14 • Sep 14, 12:12PM • 875b86d',
'1.4.203 • 04 • Sep 13, 9:17PM • 2ce252f'
]
})
expect(identity.version).toBe('1.4.203-hourly.202609142000')
expect(identity.buildNumber).toBe(5)
})
})
@@ -15,6 +15,7 @@ const shellContractFiles = [
'src/main/daemon/shell-ready.test.ts',
'src/main/providers/local-pty-shell-ready-zsh-launch-environment.test.ts',
'src/main/providers/__tests__/shell-ready-framework-example.test.ts',
'src/main/pty/omp-shell-wrapper-alias-safety.test.ts',
'src/main/pty/omp-shell-wrapper.node-pty.test.ts',
'src/main/shell-startup-feature-channel.test.ts',
'src/main/zsh-scoped-histfile.live-shell.test.ts',
@@ -0,0 +1,93 @@
import assert from 'node:assert/strict'
import { mkdir, mkdtemp, rename, rm } from 'node:fs/promises'
import { tmpdir } from 'node:os'
import { basename, join } from 'node:path'
import { isolatedScanRoots } from '../../src/main/ai-vault/session-scanner-test-fixtures'
import { resetSessionParseCacheForTests } from '../../src/main/ai-vault/session-scanner-parse-cache'
import { resetTranscriptConsumersForTests } from '../../src/main/ai-vault/session-transcript-consumers'
import { SessionSearchIndexer } from '../../src/main/ai-vault-search/session-search-indexer'
import { writeSyntheticTranscriptCorpus } from '../../src/main/ai-vault-search/session-search-synthetic-corpus'
// Bundle with esbuild --bundle --platform=node, then run on the host under test.
// What a warm pass costs on a machine with a real number of transcripts: a cycle
// stats the newest N per agent, a sweep stats every file under every root, and
// neither reads anything the index already holds at its current stat. This is the
// number the reconcile interval is chosen against; it does not set one.
// Never point this at a real transcript tree.
const SESSIONS = 5_000
const TURNS_PER_SESSION = 4
const PROJECTS = 40
const corpus = await writeSyntheticTranscriptCorpus({
sessions: SESSIONS,
turnsPerSession: TURNS_PER_SESSION
})
const root = await mkdtemp(join(tmpdir(), 'orca-search-pass-'))
const roots = isolatedScanRoots(root)
const databasePath = join(root, 'index', 'session-search.sqlite')
try {
// A flat corpus is not what discovery walks: spread it over project directories
// so the readdir count is realistic rather than one enormous listing.
for (let index = 0; index < PROJECTS; index++) {
await mkdir(join(roots.claudeProjectsDir, `project-${index}`), { recursive: true })
}
await Promise.all(
corpus.files.map((path, index) =>
rename(path, join(roots.claudeProjectsDir, `project-${index % PROJECTS}`, basename(path)))
)
)
resetSessionParseCacheForTests()
resetTranscriptConsumersForTests()
const errors: unknown[] = []
const indexer = new SessionSearchIndexer({
databasePath,
roots,
historyDays: null,
// No wall-clock ceiling: the cold build has to finish before a warm pass can
// be measured, and a deadline would leave a backlog priced into every number.
passDeadlineMs: Number.MAX_SAFE_INTEGER,
onError: (error) => errors.push(error)
})
try {
const coldStarted = performance.now()
await indexer.start()
const coldMs = performance.now() - coldStarted
assert.deepEqual(errors, [])
assert.equal(indexer.status().filesIndexed, SESSIONS, 'indexed file count')
const sweepStarted = performance.now()
await indexer.reconcile({ full: true })
const sweepMs = performance.now() - sweepStarted
const cycleStarted = performance.now()
await indexer.reconcile({ full: false })
const cycleMs = performance.now() - cycleStarted
assert.deepEqual(errors, [])
assert.equal(indexer.status().filesDue, 0, 'nothing owed after a warm sweep')
console.log(
JSON.stringify(
{
transcripts: SESSIONS,
projectDirectories: PROJECTS,
transcriptMb: Math.round((corpus.transcriptBytes / (1024 * 1024)) * 100) / 100,
coldBuildMs: Math.round(coldMs),
warmSweepMs: Math.round(sweepMs),
warmCycleMs: Math.round(cycleMs)
},
null,
2
)
)
} finally {
indexer.close()
resetTranscriptConsumersForTests()
resetSessionParseCacheForTests()
}
} finally {
await rm(corpus.root, { recursive: true, force: true })
await rm(root, { recursive: true, force: true })
}
@@ -30,6 +30,25 @@ describe('ref-mirroring vet steps', () => {
).toBe(true)
})
// Why matching-refs rather than `gh release list` on the main repo: a tagged
// stable still owns its number after its GitHub release is unpublished for a
// bug, and that unpublish must not drag the channel backwards.
it.each(['daily', 'hourly', 'adhoc'])(
'%s versions from git tags, not main GitHub releases',
(channel) => {
const step = readWorkflow(`.github/workflows/${channel}-mac-build.yml`).jobs[
`build-${channel}-mac`
].steps.find((candidate) => candidate.name === `Compute ${channel} version`)
expect(step.run).toContain('git/matching-refs/tags/v')
expect(step.run).not.toMatch(
/gh release list[\s\S]*--repo "\$GITHUB_REPOSITORY"[\s\S]*--json tagName/
)
if (channel !== 'adhoc') {
expect(step.run).toContain('channel_tags=')
}
}
)
it('retains release-cut history for version reservation and retry ancestry', () => {
const checkout = readWorkflow('.github/workflows/release-cut.yml').jobs.cut.steps.find(
(step) => step.uses === 'actions/checkout@v6'
+4 -4
View File
@@ -1,5 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="106" height="20" role="img" aria-label="downloads: 53m">
<title>downloads: 53m</title>
<svg xmlns="http://www.w3.org/2000/svg" width="106" height="20" role="img" aria-label="downloads: 54m">
<title>downloads: 54m</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
@@ -15,7 +15,7 @@
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="11">
<text x="37" y="15" fill="#010101" fill-opacity=".3">downloads</text>
<text x="37" y="14">downloads</text>
<text x="90" y="15" fill="#010101" fill-opacity=".3">53m</text>
<text x="90" y="14">53m</text>
<text x="90" y="15" fill="#010101" fill-opacity=".3">54m</text>
<text x="90" y="14">54m</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 935 B

After

Width:  |  Height:  |  Size: 935 B

+6
View File
@@ -69,6 +69,12 @@ PR checks run the capability contract against real Git 2.25.5, 2.38.1, and
2.49.1 binaries. This spans the pre-2.29 serialized `FETCH_HEAD` fallback, the transitional
`merge-tree --write-tree` behavior before `--merge-base`, and current Git.
The three lanes run in parallel and each Git call in the container lanes costs a
container start, so their wall clock is runner contention, not Git. Build the
2.25.5 binary and pull the images before the lanes start: anything heavy left
running alongside them is charged to whichever boundary case is in flight and
surfaces as a Vitest timeout rather than as a slow setup step.
Keep the unit tests alongside that matrix. They cover concurrent probes,
native/WSL/SSH/relay isolation, and error-stream shapes that a single real
binary invocation cannot exercise deterministically.
@@ -0,0 +1,43 @@
# Malformed worktree registration removal
Git can report a linked worktree at `<checkout>/.git` when its administrative
`gitdir` backlink incorrectly ends in `.git/.git`. That reproduces #17316's
validation error. The reproduction establishes the malformed registration, not
which program created it; current OMP uses ordinary `git worktree add`.
Orca's desktop and runtime removal entry points use registration-only recovery
when Git positively marks the row prunable, the row has a named local branch and
HEAD, it is neither main nor locked, and the execution filesystem confirms the
selected `.git` path is a regular file. Missing or unknown evidence does not
permit this recovery. A symlink or directory is not a regular-file proof.
Recovery reuses `git worktree prune` followed by a strict worktree listing that
must confirm the selected registration is gone. It does not delete the selected
file, infer a parent path for deletion, or delete the branch. Archive hooks and
checkout teardown are skipped because the selected row is not a checkout.
Two consequences are intentional:
- Git's prune also clears other stale, unlocked registrations in the repository;
it is not a path-scoped command. Live and locked registrations remain Git's
responsibility, and Orca verifies that the requested registration disappeared.
- The surviving checkout's `.git` file points at removed administrative metadata.
Files and its named branch are preserved; recovery removes the broken navigation
entry and does not repair or claim to restore that checkout.
Native and WSL checks use the existing execution-filesystem accessor. WSL prune
and verification use the same selected distro. Paired runtimes run the recovery
on their owning host. Direct SSH does not enter this local recovery: its current
provider has no registration-only removal operation, and a failed remote removal
never authorizes a local fallback.
The Git commands already exist in the 2.25-compatible cleanup path. On an older
Git that cannot positively attest this file-shaped registration as prunable, Orca
refuses this recovery. Deferred deletion independently rejects non-directory and
symlink targets, so force cannot move a `.git` file into deletion trash.
Regression coverage is in `worktree-prunable-git-file.test.ts`,
`worktrees-removal-recovery.test.ts`, and
`worktree-deferred-removal-real-git.test.ts`. The latter reproduces the exact
malformation against the installed Git binary in a disposable repository and
checks surviving file contents, branch HEAD, and removed registration.
+34
View File
@@ -0,0 +1,34 @@
# OMP history titles
The message-graph scanner uses persisted OMP names ahead of the first user prompt:
`session.title`, version-1 `title` slots, `title_change.title`, and legacy
`session_info.name`. Empty or unsupported metadata leaves the previous name or
prompt fallback intact. Non-OMP graph parsing keeps its existing title policy.
Explicit user names outrank automatic names. Within the same source, timestamps
prevent the current first-line title slot from being replaced by older rename
entries later in the file. Newer appended renames still update the row. Legacy
records without timestamps retain file-order handling.
The graph fold stores title authority alongside the existing accumulator. Clones
retain it without sharing mutable accumulator or preview state, while preserving
the existing identity and message-consumer contracts. Cached append parsing uses
the normal durable offset; no extra scan, process, poll or watcher is introduced.
The parser is shared by local and remote content readers and uses transcript data
from the execution host. It performs no client-side path lookup and changes no
wire shape. Folder workspaces require no git metadata.
Run actual persistence and cache validation with a read-only OMP checkout:
```sh
ORCA_BACKGROUND_LAUNCH=1 bun tests/tools/omp-history-title-smoke.mjs /path/to/oh-my-pi
```
The smoke persists a first prompt, performs a real OMP user rename, and verifies
both cold and incrementally cached scans. It checks one full parse, one append
parse and identical-object reuse on an unchanged scan. All home/config/data roots
are disposable; no model requests are made.
This is the OMP subset of the history-name behavior proposed in PR #15696 by
Brennan Benson. Pi naming and title changes in the terminal are separate concerns.
+1
View File
@@ -184,6 +184,7 @@ Connect from the app using endpoint `ws://localhost:6768` and token `mock-device
### Environment variables
- `MOCK_NATIVE_CHAT=1` — serve the native-chat scenario (one live agent tab, empty transcript, image upload) instead of the default terminal fixtures.
- `MOCK_CHAT_AGENT=omp` — with `MOCK_NATIVE_CHAT=1`, present an OMP tab and four decoded transcript messages, including a tool call and result, instead of the default Claude scenario. It deliberately omits `transcriptPath` to exercise legacy-hook readability discovery; current OMP hooks may report a path.
- `MOCK_SERVER_KEY_FILE` — persist the server keypair across restarts so a paired device keeps its public-key pin. A missing or invalid file is re-keyed with a warning, which forces a re-pair.
### Scenario control files
+1 -1
View File
@@ -2,7 +2,7 @@
"expo": {
"name": "Orca",
"slug": "orca-mobile",
"version": "0.0.48",
"version": "0.0.50",
"orientation": "default",
"icon": "./assets/icon.png",
"userInterfaceStyle": "automatic",
+4 -3
View File
@@ -3,14 +3,15 @@
"family": "legacy-inventory",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "262eaad263a45aa13ec5b27c12b59946b12c202474229fff7a5727dba6d702ca",
"scenarioSha256": "23ffc912a432dcd3ff70be1903a8d518cf85634f27a2be6d21585963e338e7e3",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0d903486cbe8": {
"name": "files.list#2",
+4 -3
View File
@@ -3,14 +3,15 @@
"family": "project-explicit-false",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "d3b7f33d810e1fa420ac41a628cde9fe4a9e65fd57f89fbca0a40fc7d74951ab",
"scenarioSha256": "b31992be2f91bd61fbe1b8a5400da3b7a56753564b0b0b2b38bc5d549812d693",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0c4dced3e005": {
"error": "",
+4 -3
View File
@@ -3,14 +3,15 @@
"family": "linear-detail-barrier",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "d3b7f33d810e1fa420ac41a628cde9fe4a9e65fd57f89fbca0a40fc7d74951ab",
"scenarioSha256": "130e493fcd7765e037405f59e6cc78a0cc1793b1ae092cad933ff9d5a9df8b7a",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"034a83431f03": {
"name": "linear.getIssue#1",
@@ -3,14 +3,15 @@
"family": "legacy-inventory",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "262eaad263a45aa13ec5b27c12b59946b12c202474229fff7a5727dba6d702ca",
"scenarioSha256": "d6c57a5153d915f0a0c0fd9e305cac70b41b7eb8be226fc865227ebf1821e5d1",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"2837f481a843": {
"name": "files.list#1",
@@ -3,14 +3,15 @@
"family": "settings.bot-overrides",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "2d5c6dea28aa1a7bb9e4aa14a4c8441527d9ad401ad30161f05ea1f8da836bb2",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"06eff8247d02": {
"name": "settings.get#1",
@@ -3,14 +3,15 @@
"family": "legacy-inventory",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "262eaad263a45aa13ec5b27c12b59946b12c202474229fff7a5727dba6d702ca",
"scenarioSha256": "3471f5bcd6923c7b8ba3a737bb45b5239689deb78c00e85a828f38a6d6d68a05",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"2837f481a843": {
"name": "files.list#1",
@@ -3,14 +3,15 @@
"family": "legacy-inventory",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "262eaad263a45aa13ec5b27c12b59946b12c202474229fff7a5727dba6d702ca",
"scenarioSha256": "73a468d5c7a51c2dbb7af2642f0050d05d861fce29295460c48d7c51f86bf57f",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"003a57e2bf31": {
"files": ["alpha.ts"]
@@ -3,14 +3,15 @@
"family": "linear-detail-barrier",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "d3b7f33d810e1fa420ac41a628cde9fe4a9e65fd57f89fbca0a40fc7d74951ab",
"scenarioSha256": "8be12d116865d27e8dfd37921d2c723d63da101ec1197b1f5b2d9510838e1943",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"034a83431f03": {
"name": "linear.getIssue#1",
@@ -3,14 +3,15 @@
"family": "legacy-inventory",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "262eaad263a45aa13ec5b27c12b59946b12c202474229fff7a5727dba6d702ca",
"scenarioSha256": "46bbafcc57fe2e3aee41a14bc26a0375b7b56e58030705fe4c28841a272b2560",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"2837f481a843": {
"name": "files.list#1",
@@ -3,14 +3,15 @@
"family": "settings.bot-overrides",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "eb80283956c93849778f23cbabf1dbf83b72744197af4f6f50335b2fc1590d87",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"090c88478661": {
"name": "settings.get#1",
@@ -3,14 +3,15 @@
"family": "settings.task-hydration",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "3a8eab831602443d320ca0aa0f35dc269d8d511e76bdae8fd025c433561d068d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"002ad269dd44": {
"name": "showLinearConnect",
@@ -3,14 +3,15 @@
"family": "settings.workspace-context",
"namedDeltas": ["new-workspace-runtime-context-null-results-degrade-to-absent"],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "136fb1d8d5925ad12ba22f4dd6c72573a9ad03b6a6ec8308668f0d9cd71aa36d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"06425d8da2e6": {
"name": "linear.status#2",
@@ -3,14 +3,15 @@
"family": "git.base-ref-chain",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "5e47c7960b9352753f0751d4ccf5e3ff7fb7b74a63cc4e4df3c3ffdcc6c1e66b",
"scenarioSha256": "5605a2984d7692aa80e5e38f804bdfed4b1ce8ac2102def5dc728b1a79dc1acf",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0208d586a748": {
"name": "repo.baseRefDefault#1",
@@ -3,14 +3,15 @@
"family": "git.base-ref-chain",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "5e47c7960b9352753f0751d4ccf5e3ff7fb7b74a63cc4e4df3c3ffdcc6c1e66b",
"scenarioSha256": "ed0e97ead1aad0b45bdfc48f5fe4e498810d0cfee88f07d3c6228db56fda1dd9",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"089d79f002a1": {
"name": "repo.list#1",
@@ -3,14 +3,15 @@
"family": "git.base-ref-chain",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "5e47c7960b9352753f0751d4ccf5e3ff7fb7b74a63cc4e4df3c3ffdcc6c1e66b",
"scenarioSha256": "1db6919b94df3b8548838ff4c206fafa3a09ea096b17c04483f78f9321ccb1ba",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"089d79f002a1": {
"name": "repo.list#1",
@@ -3,14 +3,15 @@
"family": "git.commit-message-ai",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "5e47c7960b9352753f0751d4ccf5e3ff7fb7b74a63cc4e4df3c3ffdcc6c1e66b",
"scenarioSha256": "22ea5279155ecf749aaab521ffd570221ac3169b177fc1daf85ef93a49d38260",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"125fbea5f50a": {
"name": "git.generateCommitMessage#1",
@@ -3,14 +3,15 @@
"family": "git.history-read",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "5e47c7960b9352753f0751d4ccf5e3ff7fb7b74a63cc4e4df3c3ffdcc6c1e66b",
"scenarioSha256": "86254ed87ad3427d6ee4631d7348075039ba2d4d7496d59f27f03f78580f35a1",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"155f61ed496f": {
"status": "rejected",
@@ -3,14 +3,15 @@
"family": "git.remote-prerequisite",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "5009c22df7e74a850bcea41fc110ea7d7eb4bdada623837279f32eaa5149a9b8",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"00e8a3bac22f": {
"status": "fulfilled",
@@ -3,14 +3,15 @@
"family": "git.review-preparation",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "485b2751006ee8fb4df28b228ea7adda85779feae83974eb0f7e795e31c500a1",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0278e0f0d6cf": {
"name": "git.status#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-chain",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "fcf5cdc7388457156dd81fe28a470f42fbabac7435ec5572cb19e209f410ca84",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"06a94a810e5f": {
"name": "hostedReview.create#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-chain",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "26e666a57805f354602a5b3906a691b10c8d6db66c77acc96c67153279c515a7",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"06a94a810e5f": {
"name": "hostedReview.create#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-chain",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "08c25b6cb5bc12a7f67e858f229d15cf66b98b2ad4601b11f18c4c03f4a59669",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"03696d515352": {
"name": "worktree.set#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "ff9d1bfd6337607f3d3e8162692b589ecea4a32ae01b5ebb3c602f8f0a55642c",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"02652fe244f8": {
"name": "git.bulkStage#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "efeb9b248aeb98fac71c043d50afe0036cf804d3c11edfccd4e050fe8f3d8f9b",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0278e0f0d6cf": {
"name": "git.status#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "7b0d9ddcb8df83fc4e465aa6b0dcf05aa0d8f266cd4bb8651969cb8321bcf549",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0278e0f0d6cf": {
"name": "git.status#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "72c1f08739db1c0dfcd48adffaca582a3596116c1c377f95f7dab8b08b7e6cdc",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0278e0f0d6cf": {
"name": "git.status#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "1f002f900c1a3c92e8f7c72261579ee5015ec1529c003a1b32bcf3eaf98b672d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0179846b4707": {
"name": "git.status#2",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "3a6487a07457e0e5aa6fc3fccfa43687acfb06d94334e621081728de937e4e8d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"006d7b20ed48": {
"name": "git.status#2",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "7355c45a707fa8a31f0999c4805a5b1dace4c65b727e711231f784b2f92c05ff",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"01bc4ad46170": {
"outcome": {
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "45cda6757b76399d282d4b07992dab21bbb8236faadedba5e92eab8818e886bf",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"01bc4ad46170": {
"outcome": {
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "0ca08d5e70e1780a6ee5c919491dcddb062a22623f803e9960a329825f274cbe",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"000efa3053f3": {
"outcome": {
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "658eb7bbf63b3a4b38eca0b1733e523962b6b6943644d65aab6f5c7e62534d6a",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0278e0f0d6cf": {
"name": "git.status#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "75ba135731290bf734a5eef0b65f9ad8b7cac453c4e2006faac88a5da9dbe3a3",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0278e0f0d6cf": {
"name": "git.status#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.create-intent",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "beb1161b98ffde8c5f1128e843766a1da3182d195f1f0a9012e12e5318ae01bc",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0278e0f0d6cf": {
"name": "git.status#1",
@@ -3,14 +3,15 @@
"family": "hostedReview.eligibility",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "c582ce355b0704b38d7e84cbce352630096c91231bf09aecd1f6dbb409fed17f",
"scenarioSha256": "6c4de90e2617d204e82ca5e65eb17fc397acbcbb9dc0ec18594d2a7739e3528b",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"099a55e691ed": {
"name": "hostedReview.getCreationEligibility#1",
@@ -3,14 +3,15 @@
"family": "legacy-inventory",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "262eaad263a45aa13ec5b27c12b59946b12c202474229fff7a5727dba6d702ca",
"scenarioSha256": "4f6472fb7add960be9bcc8596a748264d7cb0755a782ebe9e85753ab1d1d5710",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"003a57e2bf31": {
"files": ["alpha.ts"]
@@ -3,14 +3,15 @@
"family": "legacy-inventory",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "262eaad263a45aa13ec5b27c12b59946b12c202474229fff7a5727dba6d702ca",
"scenarioSha256": "048c3ec55ec67d09d9b02e17822f1154adca577e57ffe6d3059102d552d2f759",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"02a03f44e95f": {
"name": "files.searchPaths#2",
@@ -3,14 +3,15 @@
"family": "legacy-inventory",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "262eaad263a45aa13ec5b27c12b59946b12c202474229fff7a5727dba6d702ca",
"scenarioSha256": "ad458a3407e3f1303343b46a1308b43535abef2c9ed2f68db59157db5b91daa1",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0d903486cbe8": {
"name": "files.list#2",
@@ -3,14 +3,15 @@
"family": "legacy-inventory",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "262eaad263a45aa13ec5b27c12b59946b12c202474229fff7a5727dba6d702ca",
"scenarioSha256": "52742d894d0ea53db89729101664a393b10794d9c2d2fe7b40b020643a13af81",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0d903486cbe8": {
"name": "files.list#2",
@@ -3,14 +3,15 @@
"family": "linear-detail-barrier",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "d3b7f33d810e1fa420ac41a628cde9fe4a9e65fd57f89fbca0a40fc7d74951ab",
"scenarioSha256": "8e00afc85e5b82d75bedecea0c748a3c8658cfc8545650e755c03f51fdc932d6",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"1696f2f90218": {
"name": "detailError",
@@ -3,14 +3,15 @@
"family": "linear-detail-barrier",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "d3b7f33d810e1fa420ac41a628cde9fe4a9e65fd57f89fbca0a40fc7d74951ab",
"scenarioSha256": "40289acce4a3542773f74681d255d67cfddadf6c42317928d6728f26a76f6cfb",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"034a83431f03": {
"name": "linear.getIssue#1",
@@ -3,14 +3,15 @@
"family": "project-explicit-false",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "d3b7f33d810e1fa420ac41a628cde9fe4a9e65fd57f89fbca0a40fc7d74951ab",
"scenarioSha256": "926f0d8c37a33d465bf3a04f056600cfc9f1669b1eca7e968aa1a1f797a74c61",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"057a0b5a420b": {
"name": "projectRowDetailError",
@@ -3,14 +3,15 @@
"family": "session.tab-reveal",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "5e47c7960b9352753f0751d4ccf5e3ff7fb7b74a63cc4e4df3c3ffdcc6c1e66b",
"scenarioSha256": "73366226aeaec1581aeeb47219fc703917143cfd7f6a2eb01d7bd703a7c7612d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0f9f4df04699": {
"name": "session.tabs.activate#1",
@@ -3,14 +3,15 @@
"family": "session.tab-reveal",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "5e47c7960b9352753f0751d4ccf5e3ff7fb7b74a63cc4e4df3c3ffdcc6c1e66b",
"scenarioSha256": "c38f2bc5c9faca0774dfe202137877bada9deba165c5e9c955cbe67eae0cbdd9",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0f9f4df04699": {
"name": "session.tabs.activate#1",
@@ -3,14 +3,15 @@
"family": "settings-agent-read",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "448cdbd12f4f6a14bb33947bfbbb1837aebeb28979db70c62f2ba2fbb4d89c8f",
"scenarioSha256": "a0effc9a0be519ccd18c1b1abfc8b497cd3858b89ea8d345ac0f8bd6d195cf21",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"07d4c9b0eaf2": {
"name": "preflight.detectRemoteAgents#1",
@@ -3,14 +3,15 @@
"family": "settings-agent-read",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "448cdbd12f4f6a14bb33947bfbbb1837aebeb28979db70c62f2ba2fbb4d89c8f",
"scenarioSha256": "c21b2e0e97fab86664f634cc99d77dd587df4af4d02e6286c8380e09844096b2",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"06b63e0d9986": {
"name": "repo.list#1",
@@ -3,14 +3,15 @@
"family": "settings-agent-read",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "448cdbd12f4f6a14bb33947bfbbb1837aebeb28979db70c62f2ba2fbb4d89c8f",
"scenarioSha256": "46c4e32a921612c736c8cf45ff72ed513431c917ed3dd03f289c0ba4c28d6adb",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"090c88478661": {
"name": "settings.get#1",
@@ -3,14 +3,15 @@
"family": "settings-best-effort",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "d3b7f33d810e1fa420ac41a628cde9fe4a9e65fd57f89fbca0a40fc7d74951ab",
"scenarioSha256": "cf671da175d50a4c2e1336f4e8338c24c4752db111e1eafd226bee6ff3582b1d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"178d4ef77ad7": {
"name": "settings.update#1",
@@ -3,14 +3,15 @@
"family": "settings.bot-overrides",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "01408cebcc193f8e30119381c8acf494fa5e29850fe010809deb330c2f9bcb36",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"090c88478661": {
"name": "settings.get#1",
@@ -3,14 +3,15 @@
"family": "settings.home-providers",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "19b445b39da98d28bcbcdab6f70e47ce208ca68f165e7b62c5fe9762eee67c8d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0e7c79cad23f": {
"name": "linear.status#1",
@@ -3,14 +3,15 @@
"family": "settings.home-providers",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "4953dd0de509ce620b9840d7f460e472dc74f54d53636694d12cba2e3bb51da8",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0dcc6f40d62e": {
"name": "preflight.check#1",
@@ -3,14 +3,15 @@
"family": "settings.home-providers",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "70f601caeaee957bd3b172fc0fc12e85d6e2d6bed7683c86869559c6c9f25834",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"090d7111bcf7": {
"name": "settings.get#1",
@@ -3,14 +3,15 @@
"family": "settings.repo-metadata",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "687b109bd2bcc0c85b7c858d553e68e2fc4cb5b281d9f8b32836dbacc4bdc8f2",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"02449e890487": {
"name": "host.platform#1",
@@ -3,14 +3,15 @@
"family": "settings.repo-metadata",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "3199c745e22973b432b0a36c34bb0bdda994334a4a0cd7ad2daf8b172625ce8d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"02449e890487": {
"name": "host.platform#1",
@@ -3,14 +3,15 @@
"family": "settings.repo-metadata",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "5e9c3ff57cf432b24a17ee046636b61b94116a687cfa506cd79dee464542b76b",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"02449e890487": {
"name": "host.platform#1",
@@ -3,14 +3,15 @@
"family": "settings.repo-metadata",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "a88061d3d1f03074b0ed2b663b523f1602362bc317ba614106f1f646d037d6e3",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"02449e890487": {
"name": "host.platform#1",
@@ -3,14 +3,15 @@
"family": "settings.resume-metadata",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "50ba7c7963cb494e4b3d484eb334977d21cc69018da57d75a7b6fd0c92860bd2",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"14a657727096": {
"name": "worktree.ps#1",
@@ -3,14 +3,15 @@
"family": "settings.resume-metadata",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "8dfd4550b39f0cfcb9aaa72fab0631b11f9e776ed389b206b326359d7f4c2d6e",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"01bc8208ba89": {
"name": "projectGroup.list#1",
@@ -3,14 +3,15 @@
"family": "settings.resume-metadata",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "85dc526201f66409dd6a411c5e14615b82389791ec210efb9889078f5d580373",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0ae64c827aea": {
"name": "repo.list#1",
@@ -3,14 +3,15 @@
"family": "settings.resume-metadata",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "080e10ae774ef097082267da0c8b6d0ebacae582d57b04a189c123258d0e5131",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"14a657727096": {
"name": "worktree.ps#1",
@@ -3,14 +3,15 @@
"family": "settings.resume-metadata",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "5988fa5ce0bf6b8585f7ec66918123ee086d5cdf1185a4eeff2e88904985064c",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"0620c0819077": {
"status": "fulfilled",
@@ -3,14 +3,15 @@
"family": "settings.task-hydration",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "f5033a7a3567cc9e016bf09ac8bcd8ff381c3054c041dbccc773f7011918bf1d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"002ad269dd44": {
"name": "showLinearConnect",
@@ -3,14 +3,15 @@
"family": "settings.task-hydration",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "0931b3d35868e5452cb550962f2408b6ce7cd6c89e90a9cf2897425edbb4b42d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"002ad269dd44": {
"name": "showLinearConnect",
@@ -3,14 +3,15 @@
"family": "settings.task-hydration",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "d0f8d9bfe0e1469af3b0dab8b5c9799d91cc2234e72f0e031d6872059654077d",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"002ad269dd44": {
"name": "showLinearConnect",
@@ -3,14 +3,15 @@
"family": "settings.task-hydration",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "3f448feff463b59c3927dae020ecd8d4931bb4a6036df6d6af080de2ec5fcf2b",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"002ad269dd44": {
"name": "showLinearConnect",
@@ -3,14 +3,15 @@
"family": "settings.task-hydration",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "e53f1557e1b5a6e26e85cfca390b34f7f8a7d26c",
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "58a461dbc99f5ce803aaec650e72eaa2934fccd405e56b77932286f05742ec6b",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "fc73116d95985606fe32f22d3f14f434a6d5cd49219416c9fa0f47f971fa6ff0",
"scenarioSha256": "4438f9fd62876333bb980157612aaf457c5a9b9115659c8c941c3b373ad071dd",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 4,
"goldenFormatVersion": 5,
"values": {
"002ad269dd44": {
"name": "showLinearConnect",
@@ -0,0 +1,861 @@
{
"operation": "settings.task-workspace-create",
"family": "settings.task-workspace-create",
"namedDeltas": [],
"runnerVersion": 1,
"baseline": "c6a72169843ececf3a21da370ac50c5c5a4e6462",
"lockfileSha256": "788c1234b38a61fc882fca292341fce6690deee9cc6695673b0575cf2c4cf571",
"recorderSha256": "2e90933db32efc17d752cf5d506ecdd9ec54ce53ea30ba55021ea3d1bc1d3fb2",
"adapterSha256": "411f2288f09b7940ceb46304c7fc3325e248bf009ff3a7cc12839d521cfad599",
"scenarioSha256": "7e4c5bb29e0f630cda8a09233575b9295e485f3d3e315ebdc0458c69515fcfc7",
"platform": "darwin",
"scenarioVersion": 1,
"projectionVersion": 2,
"goldenFormatVersion": 5,
"values": {
"067cef118d9f": {
"name": "runtimeTaskSettings",
"value": {
"defaultTuiAgent": "codex",
"disabledTuiAgents": []
}
},
"090c88478661": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "pending",
"startedAt": 0
}
},
"0f72e7ee78c9": {
"name": "worktree.create#1",
"args": [
{
"name": "method",
"value": "worktree.create"
},
{
"name": "params",
"value": {
"activate": true,
"createdWithAgent": "claude",
"displayName": "ORC-1 Recorded issue",
"displayNameKind": "generated",
"linkedLinearIssue": "ORC-1",
"name": "orc-1",
"repo": "id:repo-1",
"setupDecision": "inherit",
"startupDraft": "https://linear.app/orca/issue/ORC-1"
}
},
{
"name": "options",
"value": {
"timeoutMs": 600000
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"id": "frame-2",
"ok": true,
"result": {
"worktree": {
"displayName": "ORC-1 Recorded issue",
"id": "wt-1"
}
}
}
}
},
"0fc3e204e7ba": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"id": "frame-1",
"ok": true,
"result": {
"error": "refused"
}
}
}
},
"127ad2bdc042": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"id": "frame-1",
"ok": true,
"result": {
"error": {
"message": "inner refused"
},
"ok": false
}
}
}
},
"180125f5d1a6": {
"name": "workspaceCreateDraft",
"value": {
"$rpc": "null"
}
},
"2473f12c7cdd": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"id": "frame-1",
"ok": true,
"result": {
"settings": {
"defaultTuiAgent": "codex",
"disabledTuiAgents": []
}
}
}
}
},
"2b3aa0da0852": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "rejected",
"startedAt": 0,
"settledAt": 0,
"error": {
"category": "Error",
"message": "",
"isRpcDeliveryUnknown": true
}
}
},
"33e3b949d4c5": {
"creating": {
"$rpc": "null"
},
"error": "",
"settings": {
"defaultTuiAgent": "codex",
"disabledTuiAgents": []
}
},
"3405a06dce84": {
"name": "error",
"value": "Selected agent is disabled. Choose an enabled agent before creating."
},
"3f453dd79b03": {
"name": "workspaceAgent",
"value": "codex"
},
"6a98511b6371": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"error": {
"code": "refused",
"message": ""
},
"id": "frame-1",
"ok": false
}
}
},
"6eb4e79ad99a": {
"name": "setupPrompt",
"value": {
"$rpc": "null"
}
},
"730f92993963": {
"name": "creatingKey",
"value": "linear:1"
},
"7abdfe20af50": {
"creating": "linear:1",
"error": "",
"settings": {
"disabledTuiAgents": ["claude"]
}
},
"7ddcb1852b39": {
"name": "settings.get#1",
"json": "{\"id\":\"frame-1\",\"deviceToken\":\"recording-device\",\"method\":\"settings.get\"}"
},
"7ee99993a895": {
"name": "navigation",
"value": "/h/host-1/session/wt-1?name=ORC-1+Recorded+issue&created=1"
},
"82cd71d524c8": {
"name": "error",
"value": ""
},
"8b77098df0c3": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "rejected",
"startedAt": 0,
"settledAt": 0,
"error": {
"category": "Error",
"message": "transport failure",
"isRpcDeliveryUnknown": true
}
}
},
"8f8296303a77": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"error": {
"code": "refused",
"message": "outer refused"
},
"id": "frame-1",
"ok": false
}
}
},
"9270aeb7d9c6": {
"status": "pending",
"startedAt": 0
},
"ac9996319e05": {
"name": "actionItem",
"value": {
"$rpc": "null"
}
},
"adec34c2065c": {
"creating": {
"$rpc": "null"
},
"error": "",
"settings": {}
},
"b759ab27e4dd": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"error": {
"code": "method_not_found",
"message": "Unknown method"
},
"id": "frame-1",
"ok": false
}
}
},
"baa74a0ec378": {
"name": "worktree.create#1",
"json": "{\"id\":\"frame-2\",\"deviceToken\":\"recording-device\",\"method\":\"worktree.create\",\"params\":{\"repo\":\"id:repo-1\",\"name\":\"orc-1\",\"displayName\":\"ORC-1 Recorded issue\",\"displayNameKind\":\"generated\",\"linkedLinearIssue\":\"ORC-1\",\"setupDecision\":\"inherit\",\"activate\":true,\"startupDraft\":\"https://linear.app/orca/issue/ORC-1\",\"createdWithAgent\":\"claude\"}}"
},
"c9cb32059b8d": {
"name": "creatingKey",
"value": {
"$rpc": "null"
}
},
"d27ce798af34": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"id": "frame-1",
"ok": true,
"result": {
"error": "inner refused",
"ok": false
}
}
}
},
"d5df3f6b123a": {
"creating": {
"$rpc": "null"
},
"error": "Selected agent is disabled. Choose an enabled agent before creating.",
"settings": {
"disabledTuiAgents": ["claude"]
}
},
"dae7907f03cc": {
"name": "runtimeTaskSettings",
"value": {}
},
"e0cf1af55a54": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"id": "frame-1",
"ok": true
}
}
},
"e1bd8b4a5d70": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"id": "frame-1",
"ok": true,
"result": {
"$rpc": "null"
}
}
}
},
"ea709e13f0f0": {
"name": "workspaceAgentOverridden",
"value": false
},
"eb79a9b3682a": {
"status": "fulfilled",
"startedAt": 0,
"settledAt": 0,
"value": {
"$rpc": "undefined"
}
},
"f84a8688af61": {
"name": "settings.get#1",
"args": [
{
"name": "method",
"value": "settings.get"
},
{
"name": "params",
"value": {
"$rpc": "absent"
}
},
{
"name": "options",
"value": {
"$rpc": "absent"
}
}
],
"settlement": {
"status": "rejected",
"startedAt": 0,
"settledAt": 0,
"error": {
"category": "Error",
"message": "Connection closed",
"isRpcDeliveryUnknown": true
}
}
}
},
"recording": {
"scenario": "matrix-settings.task-workspace-create-settings.get-1",
"checkpoints": [
{
"id": "settings-task-workspace-create-linear.prelude:settings-pending",
"observation": {
"sender": ["090c88478661"],
"payloads": ["7ddcb1852b39"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "9270aeb7d9c6"
},
"state": "7abdfe20af50",
"effects": ["730f92993963", "82cd71d524c8"]
}
},
{
"id": "settings-task-workspace-create-linear.prelude:cleanup",
"observation": {
"sender": ["f84a8688af61"],
"payloads": ["7ddcb1852b39"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "7abdfe20af50",
"effects": [
"730f92993963",
"82cd71d524c8",
"3f453dd79b03",
"ea709e13f0f0",
"3405a06dce84",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.normal:created",
"observation": {
"sender": ["2473f12c7cdd", "0f72e7ee78c9"],
"payloads": ["7ddcb1852b39", "baa74a0ec378"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "33e3b949d4c5",
"effects": [
"730f92993963",
"82cd71d524c8",
"067cef118d9f",
"ac9996319e05",
"180125f5d1a6",
"6eb4e79ad99a",
"7ee99993a895",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.result-absent:created",
"observation": {
"sender": ["e0cf1af55a54"],
"payloads": ["7ddcb1852b39"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "d5df3f6b123a",
"effects": [
"730f92993963",
"82cd71d524c8",
"3f453dd79b03",
"ea709e13f0f0",
"3405a06dce84",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.result-null:created",
"observation": {
"sender": ["e1bd8b4a5d70"],
"payloads": ["7ddcb1852b39"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "d5df3f6b123a",
"effects": [
"730f92993963",
"82cd71d524c8",
"3f453dd79b03",
"ea709e13f0f0",
"3405a06dce84",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.inner-ok-missing:created",
"observation": {
"sender": ["0fc3e204e7ba", "0f72e7ee78c9"],
"payloads": ["7ddcb1852b39", "baa74a0ec378"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "adec34c2065c",
"effects": [
"730f92993963",
"82cd71d524c8",
"dae7907f03cc",
"ac9996319e05",
"180125f5d1a6",
"6eb4e79ad99a",
"7ee99993a895",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.inner-false-string-error:created",
"observation": {
"sender": ["d27ce798af34", "0f72e7ee78c9"],
"payloads": ["7ddcb1852b39", "baa74a0ec378"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "adec34c2065c",
"effects": [
"730f92993963",
"82cd71d524c8",
"dae7907f03cc",
"ac9996319e05",
"180125f5d1a6",
"6eb4e79ad99a",
"7ee99993a895",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.inner-false-object-error:created",
"observation": {
"sender": ["127ad2bdc042", "0f72e7ee78c9"],
"payloads": ["7ddcb1852b39", "baa74a0ec378"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "adec34c2065c",
"effects": [
"730f92993963",
"82cd71d524c8",
"dae7907f03cc",
"ac9996319e05",
"180125f5d1a6",
"6eb4e79ad99a",
"7ee99993a895",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.outer-refused:created",
"observation": {
"sender": ["8f8296303a77"],
"payloads": ["7ddcb1852b39"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "d5df3f6b123a",
"effects": [
"730f92993963",
"82cd71d524c8",
"3f453dd79b03",
"ea709e13f0f0",
"3405a06dce84",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.outer-refused-no-message:created",
"observation": {
"sender": ["6a98511b6371"],
"payloads": ["7ddcb1852b39"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "d5df3f6b123a",
"effects": [
"730f92993963",
"82cd71d524c8",
"3f453dd79b03",
"ea709e13f0f0",
"3405a06dce84",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.method-not-found:created",
"observation": {
"sender": ["b759ab27e4dd"],
"payloads": ["7ddcb1852b39"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "d5df3f6b123a",
"effects": [
"730f92993963",
"82cd71d524c8",
"3f453dd79b03",
"ea709e13f0f0",
"3405a06dce84",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.transport-rejection:created",
"observation": {
"sender": ["8b77098df0c3"],
"payloads": ["7ddcb1852b39"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "d5df3f6b123a",
"effects": [
"730f92993963",
"82cd71d524c8",
"3f453dd79b03",
"ea709e13f0f0",
"3405a06dce84",
"c9cb32059b8d"
]
}
},
{
"id": "settings-task-workspace-create-linear.transport-rejection-no-message:created",
"observation": {
"sender": ["2b3aa0da0852"],
"payloads": ["7ddcb1852b39"],
"settlements": {
"mount": "eb79a9b3682a",
"submit": "eb79a9b3682a"
},
"state": "d5df3f6b123a",
"effects": [
"730f92993963",
"82cd71d524c8",
"3f453dd79b03",
"ea709e13f0f0",
"3405a06dce84",
"c9cb32059b8d"
]
}
}
]
}
}

Some files were not shown because too many files have changed in this diff Show More