Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
8978cc2
feat(assistant): add scheduled read-only discovery to Rust Bot
sunrioa Nov 9, 2026
96d8744
fix(assistant): enforce discovery cancellation and source boundaries
sunrioa Nov 9, 2026
c230b1b
feat(assistant): retain bounded discovery records and feedback
sunrioa Nov 9, 2026
8650318
test(assistant): cover discovery receipt recovery and scope changes
sunrioa Nov 10, 2026
33fa496
fix(assistant): adapt discovery to durable agent execution
sunrioa Nov 10, 2026
d339fe9
fix(assistant): integrate upstream CI recovery fixes
sunrioa Nov 10, 2026
af4e4b7
fix(agent): preserve control visibility during continuation
sunrioa Nov 10, 2026
80e3a2d
fix(discovery): adapt recovery to current rust-preview
sunrioa Nov 10, 2026
ce54a4d
fix(discovery): integrate guarded recovery from A1
sunrioa Nov 10, 2026
7106f6b
chore: sync discovery with rust-preview
sunrioa Nov 10, 2026
8038c95
chore: sync discovery records with A1
sunrioa Nov 10, 2026
a3d0adc
test(desktop): follow durable steering semantics
sunrioa Nov 10, 2026
6e09582
fix(discovery): integrate automatic execution recovery
sunrioa Nov 10, 2026
9207c65
chore: align discovery records with automatic recovery
sunrioa Nov 10, 2026
809d563
test(process): observe Windows fixture before timing drain
sunrioa Nov 10, 2026
7232fc4
fix(agent): wake queued goals after releasing admission gate
sunrioa Nov 10, 2026
120b1b2
chore: align discovery records with CI fixes
sunrioa Nov 10, 2026
5029351
refactor(discovery): limit A1 changes to scheduled investigations
sunrioa Nov 10, 2026
774e565
refactor(discovery): keep A2 scoped to records and feedback
sunrioa Nov 10, 2026
05b016a
chore(discovery): sync A1 with rust-preview
sunrioa Nov 11, 2026
ad42b59
chore(discovery): sync A1 with rust-preview
sunrioa Nov 11, 2026
8663f3c
chore(discovery): sync A2 with A1 and rust-preview
sunrioa Nov 11, 2026
0d25166
fix(discovery): preserve queued reports when stopping a Bot run
sunrioa Nov 11, 2026
1449a4e
chore(discovery): sync records with the Bot report recovery fix
sunrioa Nov 11, 2026
96ac30a
test(discovery): cover recovery from a record revision conflict
sunrioa Nov 11, 2026
fce07a9
chore(discovery): sync scheduler branch with rust-preview
sunrioa Nov 12, 2026
a0c8b6c
refactor(discovery): reuse active fire validation
sunrioa Nov 12, 2026
22c98e5
chore(discovery): sync records with the scheduler branch
sunrioa Nov 12, 2026
bba89f1
test(discovery): restrict scheduler fixture to exercised methods
sunrioa Nov 12, 2026
9f9dc78
chore(discovery): inherit the narrower scheduler fixture
sunrioa Nov 12, 2026
f307e37
refactor(discovery): reuse the active job when accessing memory
sunrioa Nov 12, 2026
62fac4f
refactor(discovery): keep only the Run in settlement receipts
sunrioa Nov 12, 2026
2b2a307
refactor(discovery): retain completed findings in shared memory only
sunrioa Nov 12, 2026
af835ba
merge: sync scheduled investigations with rust-preview
sunrioa Nov 12, 2026
9901300
merge: sync discovery memory with the scheduler branch
sunrioa Nov 12, 2026
43ae77e
Merge branch 'codex/feat-rust-discovery-loop' into codex/feat-rust-di…
sunrioa Nov 12, 2026
541d8c8
fix(discovery): keep read tools in the upstream declaration catalog
sunrioa Nov 12, 2026
bb25ee9
feat(discovery): list short memory previews and read details on demand
sunrioa Nov 12, 2026
df76de5
fix(discovery): keep scheduled workers independent of subagent presets
sunrioa Nov 12, 2026
9dd1b0f
Merge branch 'codex/feat-rust-discovery-loop' into codex/feat-rust-di…
sunrioa Nov 12, 2026
ea4966b
merge: sync scheduled discovery with rust-preview
sunrioa Nov 14, 2026
d0d0404
merge: sync discovery records with the updated scheduler
sunrioa Nov 14, 2026
0e282f7
fix(discovery): retain the approval-required result for unapproved plans
sunrioa Nov 14, 2026
43c6f7d
Merge branch 'codex/local-sync-discovery-loop' into codex/local-sync-…
sunrioa Nov 14, 2026
3df9c14
chore(sdk): regenerate the synchronized discovery loop contracts
sunrioa Nov 14, 2026
27d176e
chore(sdk): regenerate the synchronized discovery records contracts
sunrioa Nov 14, 2026
6805392
merge: record the generated A1 contracts in the discovery records base
sunrioa Nov 14, 2026
27f89b9
fix(discovery): keep discovery plans outside the automation editor
sunrioa Nov 14, 2026
f6904bc
fix(discovery): keep discovery plans outside the automation editor
sunrioa Nov 14, 2026
9d1ca95
merge: include the automation listing fix from the discovery loop
sunrioa Nov 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
233 changes: 229 additions & 4 deletions packages/plugin-sdk/src/contracts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31575,6 +31575,25 @@ export const contracts: {
additionalProperties: false,
required: ['kind', 'taskId', 'revision', 'input'],
},
{
type: 'object',
properties: {
kind: {
type: 'string',
const: 'approve',
},
taskId: {
type: 'string',
},
revision: {
type: 'integer',
format: 'uint64',
minimum: 0,
},
},
additionalProperties: false,
required: ['kind', 'taskId', 'revision'],
},
{
type: 'object',
properties: {
Expand Down Expand Up @@ -31898,6 +31917,35 @@ export const contracts: {
additionalProperties: false,
required: ['kind', 'target', 'model'],
},
{
description:
'Read-only investigation in a fresh worker. The target is the current Bot.',
type: 'object',
properties: {
kind: {
type: 'string',
const: 'discovery',
},
target: {
$ref: '#/$defs/AgentScheduledTarget',
},
model: {
$ref: '#/$defs/ModelSelection',
},
thinkingLevel: {
anyOf: [
{
$ref: '#/$defs/ThinkingLevel',
},
{
type: 'null',
},
],
},
},
additionalProperties: false,
required: ['kind', 'target', 'model'],
},
],
},
AutomationDelivery: {
Expand Down Expand Up @@ -32166,6 +32214,28 @@ export const contracts: {
$schema: 'https://json-schema.org/draft/2020-12/schema',
title: 'AgentScheduleRead',
oneOf: [
{
type: 'object',
properties: {
kind: {
type: 'string',
const: 'discovery',
},
sessionId: {
type: 'string',
},
cursor: {
type: ['string', 'null'],
},
expectedRevision: {
type: ['integer', 'null'],
format: 'uint64',
minimum: 0,
},
},
additionalProperties: false,
required: ['kind', 'sessionId'],
},
{
type: 'object',
properties: {
Expand Down Expand Up @@ -32289,6 +32359,9 @@ export const contracts: {
script: {
type: 'boolean',
},
approved: {
type: 'boolean',
},
status: {
$ref: '#/$defs/Status',
},
Expand All @@ -32304,7 +32377,7 @@ export const contracts: {
},
},
additionalProperties: false,
required: ['id', 'revision', 'title', 'sessionId', 'script', 'status'],
required: ['id', 'revision', 'title', 'sessionId', 'script', 'approved', 'status'],
},
Status: {
type: 'string',
Expand All @@ -32327,12 +32400,15 @@ export const contracts: {
misfire: {
$ref: '#/$defs/Misfire',
},
approved: {
type: 'boolean',
},
pendingFire: {
type: ['string', 'null'],
},
},
additionalProperties: false,
required: ['revision', 'task', 'timezone', 'misfire'],
required: ['revision', 'task', 'timezone', 'misfire', 'approved'],
},
Task: {
type: 'object',
Expand Down Expand Up @@ -32611,6 +32687,35 @@ export const contracts: {
additionalProperties: false,
required: ['kind', 'target', 'model'],
},
{
description:
'Read-only investigation in a fresh worker. The target is the current Bot.',
type: 'object',
properties: {
kind: {
type: 'string',
const: 'discovery',
},
target: {
$ref: '#/$defs/AgentScheduledTarget',
},
model: {
$ref: '#/$defs/ModelSelection',
},
thinkingLevel: {
anyOf: [
{
$ref: '#/$defs/ThinkingLevel',
},
{
type: 'null',
},
],
},
},
additionalProperties: false,
required: ['kind', 'target', 'model'],
},
],
},
AutomationDelivery: {
Expand Down Expand Up @@ -34231,6 +34336,16 @@ export const contracts: {
},
],
},
quotes: {
description:
'Immutable user-selected excerpts; source metadata grants no read authority.',
type: 'array',
items: {
$ref: '#/$defs/QuoteRef',
},
maxItems: 16,
default: [],
},
delivery: {
description:
'Defaults to steer. Omit or use steer for updates to ongoing work;\nuse queue only when this message should wait until the current turn ends.',
Expand Down Expand Up @@ -34283,6 +34398,59 @@ export const contracts: {
type: 'string',
enum: ['notify_caller'],
},
QuoteRef: {
type: 'object',
properties: {
text: {
type: 'string',
},
label: {
type: ['string', 'null'],
},
sourceTurnId: {
type: ['string', 'null'],
},
source: {
anyOf: [
{
$ref: '#/$defs/SessionQuoteSource',
},
{
type: 'null',
},
],
},
},
additionalProperties: false,
required: ['text'],
},
SessionQuoteSource: {
description:
'Display provenance of an immutable excerpt, never authority to read its source.',
type: 'object',
properties: {
sessionId: {
type: 'string',
},
sessionName: {
type: 'string',
},
capturedAt: {
$ref: '#/$defs/CaptureTime',
},
truncated: {
type: 'boolean',
},
},
additionalProperties: false,
required: ['sessionId', 'sessionName', 'capturedAt', 'truncated'],
},
CaptureTime: {
description:
"JavaScript epoch milliseconds, preserving fractional timestamps within Date's range.",
type: 'number',
format: 'double',
},
AgentSendDelivery: {
oneOf: [
{
Expand Down Expand Up @@ -40290,6 +40458,28 @@ export const contracts: {
$schema: 'https://json-schema.org/draft/2020-12/schema',
title: 'AgentScheduleRead',
oneOf: [
{
type: 'object',
properties: {
kind: {
type: 'string',
const: 'discovery',
},
sessionId: {
type: 'string',
},
cursor: {
type: ['string', 'null'],
},
expectedRevision: {
type: ['integer', 'null'],
format: 'uint64',
minimum: 0,
},
},
additionalProperties: false,
required: ['kind', 'sessionId'],
},
{
type: 'object',
properties: {
Expand Down Expand Up @@ -40413,6 +40603,9 @@ export const contracts: {
script: {
type: 'boolean',
},
approved: {
type: 'boolean',
},
status: {
$ref: '#/$defs/Status',
},
Expand All @@ -40428,7 +40621,7 @@ export const contracts: {
},
},
additionalProperties: false,
required: ['id', 'revision', 'title', 'sessionId', 'script', 'status'],
required: ['id', 'revision', 'title', 'sessionId', 'script', 'approved', 'status'],
},
Status: {
type: 'string',
Expand All @@ -40451,12 +40644,15 @@ export const contracts: {
misfire: {
$ref: '#/$defs/Misfire',
},
approved: {
type: 'boolean',
},
pendingFire: {
type: ['string', 'null'],
},
},
additionalProperties: false,
required: ['revision', 'task', 'timezone', 'misfire'],
required: ['revision', 'task', 'timezone', 'misfire', 'approved'],
},
Task: {
type: 'object',
Expand Down Expand Up @@ -40735,6 +40931,35 @@ export const contracts: {
additionalProperties: false,
required: ['kind', 'target', 'model'],
},
{
description:
'Read-only investigation in a fresh worker. The target is the current Bot.',
type: 'object',
properties: {
kind: {
type: 'string',
const: 'discovery',
},
target: {
$ref: '#/$defs/AgentScheduledTarget',
},
model: {
$ref: '#/$defs/ModelSelection',
},
thinkingLevel: {
anyOf: [
{
$ref: '#/$defs/ThinkingLevel',
},
{
type: 'null',
},
],
},
},
additionalProperties: false,
required: ['kind', 'target', 'model'],
},
],
},
AutomationDelivery: {
Expand Down
Loading
Loading