Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
cache: npm
- name: Install the committed npm dependency graph
run: npm ci --ignore-scripts --no-audit --no-fund
- name: Check all four 0.38 adaptors, event services and compiled jobs
- name: Check the 0.45 adaptors, event services and compiled jobs
run: npm run check
- name: Check adaptor package contents
run: npm run pack:dry-run
Expand Down
40 changes: 26 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,41 @@
Its existing `0.0.0.0` default remains unchanged.
- `@openfn/language-registry-casework` wraps the native Casework client for
requester review requests and results, source inboxes and task grants.
- `@openfn/language-registry-relay` provides governed V2 record reads, lookups,
pagination, metadata and SDMX aggregate queries through the native client.

### Changed

- The Evidence, BREG, Casework and Relay V2 adaptors pin the published
`@registrystack/client` 0.38.0. Relay uses governed V2 resources and native
continuations; Casework uses current review-request bindings and results.
- The container pilot uses matching Registry Stack 0.38 clients, tools and
packages, ThunderID identity, Casework correction review, and explicit BREG
application. Evidence uses persistent OpenBao Transit signing and local TLS
origins. Its new configuration and volumes are separate from the retained
0.27 data.
- The Evidence, BREG and Casework adaptors pin the published
`@registrystack/client` 0.45.0. Configuration uses `attemptTimeoutMilliseconds`
and `maximumResponseBytes`; the client's error kinds are kebab-case, and the
adaptors' safe validation reasons follow them.
- Casework uses the review task routes: `listCaseworkReviewTasks`,
`getCaseworkReviewTask`, `previewCaseworkTaskTemplates`,
`listCaseworkTaskGrants`, `approveCaseworkTaskGrant`,
`revokeCaseworkTaskGrant` and `caseworkTaskGrantStatus`. Inputs name a
`taskId` instead of an `itemId`.
- BREG reads record types (`recordTypes`, `recordTypeIdentifier`); `getEntitySchema`
is now `getRecordSchema` and takes `recordTypeIdentifier`. Failures report
`refusalCode` and `reasonCode` in place of `planRefusal`.
- Evidence profile files use the `EvidenceClientProfile` envelope, expected
output forms are mappings such as `{ type: "boolean" }`, and the progressive
request names its requirement as `handle`.
- The event bridge's explicit `hook-envelope-v1` mode validates canonical
0.38 events and returns the native notification acknowledgement after
durable OpenFn acceptance. The legacy body mode remains available.

### Removed

- Removed the Relay v1 adaptor (`@openfn/language-registry-relay`), its
credential schema, example job, tests and workspace dependencies. Workflows
using that local adaptor must be updated before upgrading. The replacement
native Relay V2 adaptor uses different configuration, options and result shapes.
- Removed the Relay adaptor (`@openfn/language-registry-relay`): the 0.45 client
has no Relay namespace.
- Removed the Casework adaptor operations `listCaseworkWorkItems` and
`getCaseworkWorkItem`; the review task operations replace them.
- Removed the BREG operations `createChangeRequest` and `executeLifecycleAction`,
and the `jobs/create-and-submit.js` example. The 0.45 client replaces the
change-request lifecycle with metadata-declared Actions and Proposals, which
this adaptor does not wrap yet.
- Removed the `correction` workflow from the generated pilot Lightning project,
which depended on those BREG operations. The container pilot itself is still
pinned to Registry Stack 0.38.0 server images and has not been repinned.

## 0.1.0 Beta

Expand Down
28 changes: 15 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,19 @@
**Beta:** intended for supervised, self-hosted pilots. APIs and deployment
configuration may change before 1.0.

The BREG, Evidence, Relay V2 and Casework adaptors target the published
`@registrystack/client@0.38.0`. Use matching 0.38 runtimes and tools for new
integrations. Run `npm run check` to verify all four adaptors and their OpenFn
composition. Relay and Casework now use their current native APIs; consult their
package READMEs when migrating older jobs.

The container pilot uses matching **Registry Stack 0.38.0** clients, runtimes,
tools and authored packages, ThunderID for identity, and Casework for correction
review. It creates a fresh deployment with separate databases and private
configuration. The previous 0.27 pilot's `pilot/agriculture/.runtime` directory
and `registry-openfn-pilot` volumes are retained and are not migrated or reused.
The BREG, Evidence and Casework adaptors target the published
`@registrystack/client@0.45.0`. Use matching 0.45 runtimes and tools for new
integrations. Run `npm run check` to verify the three adaptors and their OpenFn
composition. The Relay adaptor is removed: the 0.45 client has no Relay
namespace.

**Pilot status:** the container pilot under `deployment/` and `pilot/agriculture/`
still pins Registry Stack 0.38.0 server images, tools and checksums, and has not
been repinned or run against 0.45. The generated Lightning project no longer
contains the correction workflow, because it depended on the BREG change-request
lifecycle operations that the 0.45 client removed. The pilot smoke test and the
correction sections below describe the 0.38 flow and need a 0.45 pilot
registry before they apply again.

A self-hosted synthetic pilot connecting upstream OpenFn Lightning to Registry
Stack Base Registry Engine (BREG) and signed Evidence. It demonstrates registration,
Expand All @@ -24,9 +26,9 @@ an isolated local pilot.
The pilot uses:

- [Registry Evidence adaptor](packages/registry-evidence), using the `evidence`
namespace of the published `@registrystack/client@0.38.0`.
namespace of the published `@registrystack/client@0.45.0`.
- [Registry BREG adaptor](packages/registry-breg), using the same package's `breg`
namespace for metadata-selected writes, exact lookups and lifecycle actions.
namespace for metadata-selected writes and exact lookups.
- Upstream Lightning 2.18.2 and websocket worker 1.29.0, packaged with Node
24.19.0 on glibc and local adaptors. No OpenFn source patch is required.
- Separate BREG, Casework and Lightning PostgreSQL databases, ThunderID,
Expand Down
3 changes: 1 addition & 2 deletions deployment/check-worker.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ async function executeJob(job, input) {
const document = projectDocument({
accessProfile: 'openfn-service',
createFarmOperation: 'records.farm.create',
createCorrectionOperation: 'records.name-correction.create',
evidenceRequest: {
responseFormat: 'signed-jws',
requirement: 'urn:example:requirement:holding-registered:v1',
Expand All @@ -65,7 +64,7 @@ const document = projectDocument({
handle: 'registered',
concept: 'urn:example:concept:holding-registered:registered',
required: true,
form: 'boolean',
form: {type: 'boolean'},
}],
maximumAssertionLifetimeSeconds: 300,
clockSkewSeconds: 30,
Expand Down
46 changes: 26 additions & 20 deletions deployment/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion deployment/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"dependencies": {
"@openfn/language-common": "3.3.4",
"@openfn/language-http": "7.3.3",
"@registrystack/client": "0.38.0"
"@registrystack/client": "0.45.0"
},
"overrides": {
"csv-parse": "7.0.2"
Expand Down
Loading
Loading