Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
f1a40d1
Project import generated by Copybara.
Sep 20, 2026
a1d7c14
Project import generated by Copybara.
Sep 20, 2026
ac703a8
Project import generated by Copybara.
Sep 20, 2026
82cf8df
Project import generated by Copybara.
Sep 20, 2026
d21bdc8
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 20, 2026
1bf0483
chore: project api from Mono a2e8b231b208
Sep 20, 2026
b6d8cac
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 20, 2026
b3a0310
chore: project api from Mono cc1e1c0a4251
Sep 20, 2026
86523c3
chore: project api from Mono 9b559bc70e7d
Sep 21, 2026
5a95859
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 21, 2026
aff3c56
chore: project api from Mono 78799bd5ae75
Sep 21, 2026
96fbea9
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 21, 2026
d87ef71
chore: project api from Mono 9a003786d767
Sep 21, 2026
a10a028
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 21, 2026
0aa7b6f
chore: project api from Mono 511bd2305f5a
Sep 21, 2026
8ff8d21
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 21, 2026
6a4f422
chore: project api from Mono ad7b9df0b712
Sep 21, 2026
33b4bc4
chore: project api from Mono 3a95acea6719
Sep 21, 2026
525330e
chore: project api from Mono c16f3515c56a
Sep 21, 2026
dd8dceb
chore: project api from Mono 4ab4845398fd
Sep 21, 2026
60209a5
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 22, 2026
c46a7cf
chore: project api from Mono 43ad52f7bcc9
Sep 22, 2026
a29facb
chore: project api from Mono 2df44a8283c0
Sep 22, 2026
3e9fe6b
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 22, 2026
5e45d26
chore: project api from Mono f6e0aa99e756
Sep 22, 2026
290a3a5
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 22, 2026
090e260
chore: project api from Mono 3457dcec675e
Sep 22, 2026
8cee203
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 22, 2026
89e1fcf
chore: project api from Mono 2102d45bdf4c
Sep 22, 2026
6d033f8
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 23, 2026
e05bd4b
chore: project api from Mono 0135ea0655c8
Sep 23, 2026
08b23c0
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 23, 2026
f7bc5ed
chore: project api from Mono 7f322bbd03a5
Sep 23, 2026
517746d
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 23, 2026
1b6e855
chore: project api from Mono c3fe404d7c05
Sep 23, 2026
97972bb
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 23, 2026
835db7a
chore: project api from Mono 53a87ef3a96f
Sep 23, 2026
d9a56e8
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 24, 2026
8994762
chore: project api from Mono 0405bd95fc12
Sep 24, 2026
6e3ad82
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 24, 2026
0f4b3c1
chore: project api from Mono 916d407917e8
Sep 24, 2026
c3867d6
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 24, 2026
87726d3
chore: project api from Mono c27319825e1c
Sep 24, 2026
9e9f323
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 24, 2026
d3e9a13
chore: project api from Mono 274db22a3ad9
Sep 24, 2026
7568619
Merge remote-tracking branch 'origin/main' into sync/mono-projection
github-actions[bot] Sep 24, 2026
06700bd
chore: project api from Mono a971433d12b4
Sep 24, 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
10 changes: 5 additions & 5 deletions .repository-projection.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
"projection": "api",
"projectionSchemaVersion": 1,
"sourceRepository": "dx-corp/mono",
"sourceSha": "274db22a3ad92a0a22c45c0ecbc770f92c9d053d",
"sourceSha": "a971433d12b40d9042b3a64c2c074fa8fc398e69",
"destinationRepository": "dx-corp/api",
"priorProjectedBase": "27c2c4cbcb7929dea8fa943c4de35d28f1e15069",
"definitionDigest": "144b18a5c1f3e7ee6e2d1abc32f80a97adfeacd088911ec659d63622fe85d18c",
"toolDigest": "898e8657d9153a2a51d7c283bf83bb3350b5d1e6",
"contentDigest": "eaa7dad3c2688e4460f1a887419a629eb6c977c81a199cab9151ee636a791ac9",
"priorProjectedBase": "a1200fef3c954a811302e7e2e4edc5ba69d86358",
"definitionDigest": "706ab7174008f35b60af88a5efbfbd24e83d57686a5a3e6cd49243d205cb4344",
"toolDigest": "ff02edcbb40b0028af10ab01a101e918341f157a",
"contentDigest": "c208c05b6098096d7609fa40fa7a54ea122b054e5b030cd14f5840194fcdc647",
"publicationEligible": true
}
33 changes: 25 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,42 @@ generated OpenAPI descriptions used by the Deixic SDK. The authoritative
source remains `dx-corp/mono`; `.repository-projection.json` records the exact
source revision used for each projection.

`deixic.v1.DeixicService` is the supported SDK facade. Its eight supported
operations and their mutation requirements are recorded in
`contracts/public-surface.json`. The additional packages in `proto/` are the
transitive message and service dependencies required to compile that facade.
`deixicpublic.v1.DeixicPublicService` is the supported public application
contract. The task SDK's eight supported operations and mutation requirements
are recorded in `contracts/public-surface.json`. The same protocol also serves
the Code client's readiness, setup, and issue-report calls and the Terraform
provider's business-object CRUD resource. The protocol imports only the Protobuf
well-known `Timestamp` type. Internal service definitions are absent from this
repository and cannot be imported into the public contract.

## Compatibility and promotion

The `v1` package is a durable external API. Existing field numbers, names,
types, enum values, service methods, and observable behavior remain stable.
New optional fields and methods may be added after their public meaning is
documented. Removed fields and enum values must reserve both their numbers and
names; incompatible changes require a new versioned package. The source repo
runs Buf breaking checks against the published public module.

Promoting an internal concept requires a public use case, an explicit public
message with no internal imports or `Any` escape hatch, a server-side
projection, language client compatibility checks, and an audit of every built
artifact's complete descriptor and schema closure. Similar field layouts do
not justify sharing an internal message. The customer checkpoint format
`deixic.task.v1` is versioned separately from this wire protocol.

The checked-in OpenAPI documents are generated artifacts. To regenerate them
with the pinned public plugin:

```sh
buf dep update
buf lint
buf generate
python3 scripts/contracts/normalize-openapi-generated.py openapi
node scripts/distribution-validation.mjs --name api --target .
```

`buf dep update`, generation, and validation access the Buf Schema Registry for
the locked dependencies and pinned plugin. They do not contact a Deixic
service. The normalization step preserves OpenAPI 3.1 semantics for protobuf
Generation accesses the Buf Schema Registry for the pinned plugin. It does not
contact a Deixic service. The normalization step preserves OpenAPI 3.1 semantics for protobuf
oneofs, enum constraints, repeated fields, and bytes validation.

This contract repository does not publish SDK packages or grant access to a
Expand Down
9 changes: 0 additions & 9 deletions buf.lock

This file was deleted.

14 changes: 0 additions & 14 deletions buf.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,9 @@
version: v2
modules:
- path: proto
deps:
- buf.build/bufbuild/protovalidate
- buf.build/googleapis/googleapis
lint:
use:
- STANDARD
except:
- PACKAGE_VERSION_SUFFIX
ignore_only:
RPC_REQUEST_RESPONSE_UNIQUE:
- proto/console/v1/console.proto
- proto/deixic/v1/deixic.proto
RPC_RESPONSE_STANDARD_NAME:
- proto/console/v1/console.proto
- proto/deixic/v1/deixic.proto
RPC_REQUEST_STANDARD_NAME:
- proto/deixic/v1/deixic.proto
breaking:
use:
- WIRE_JSON
21 changes: 11 additions & 10 deletions contracts/public-surface.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
{
"schemaVersion": 1,
"service": "deixic.v1.DeixicService",
"service": "deixicpublic.v1.DeixicPublicService",
"packages": {
"typescript": "@evalops/deixic-sdk",
"python": "deixic-sdk"
"python": "deixic-sdk",
"go": "github.com/dx-corp/deixic-go"
},
"scope": {
"constructorBound": true,
Expand All @@ -20,47 +21,47 @@
},
"operations": [
{
"rpc": "GetOperatingThread",
"rpc": "GetThread",
"facade": "threads.get",
"kind": "query"
},
{
"rpc": "ListOperatingThreadEvents",
"rpc": "ListEvents",
"facade": "events.list",
"kind": "query"
},
{
"rpc": "WatchOperatingThread",
"rpc": "WatchEvents",
"facade": "events.watch",
"kind": "server-stream",
"callerOwnsReconnect": true
},
{
"rpc": "SubmitOperatingMessage",
"rpc": "SubmitTask",
"facade": "messages.send",
"kind": "mutation",
"requiresIdempotencyKey": true,
"acceptedIsTerminal": false
},
{
"rpc": "InterruptOperatingThread",
"rpc": "InterruptTask",
"facade": "controls.interrupt",
"kind": "mutation",
"requiresIdempotencyKey": true
},
{
"rpc": "RespondOperatingThread",
"rpc": "RespondToRequest",
"facade": "controls.respond",
"kind": "mutation",
"requiresIdempotencyKey": true
},
{
"rpc": "GetOperatingReceipt",
"rpc": "GetReceipt",
"facade": "receipts.get",
"kind": "query"
},
{
"rpc": "ResolveOperatingReceiptAction",
"rpc": "ResolveReceiptAction",
"facade": "receipts.resolve",
"kind": "mutation",
"requiresIdempotencyKey": true
Expand Down
11 changes: 6 additions & 5 deletions docs/deixic-sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ Use the Deixic SDK when an application needs to submit a task, follow its
durable progress, interrupt it, answer a tool request, or approve or deny a
requested action.

The supported clients expose eight operations from the Deixic service. They do
The supported clients expose eight operations from
`deixicpublic.v1.DeixicPublicService`. They do
not expose the browser API or create a second execution path. Deixic remains
the owner of task state, approvals, and action history.

Expand Down Expand Up @@ -41,7 +42,7 @@ environment.
subject, tenant, and declared scopes.

The checked package contract is
[`sdk/deixic/public-surface.json`](../sdk/deixic/public-surface.json). Package
examples and error details live in the
[TypeScript README](../sdk/deixic/typescript/README.md) and
[Python README](../sdk/deixic/python/README.md).
[public-surface.json](https://github.com/dx-corp/api/blob/main/contracts/public-surface.json).
Package examples and error details live in the
[TypeScript SDK](https://github.com/dx-corp/deixic-node/blob/main/README.md) and
[Python SDK](https://github.com/dx-corp/deixic-python/blob/main/README.md).
Loading
Loading