Skip to content

gateway v0.6.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 22:31
· 8 commits to main since this release
Immutable release. Only release title and notes can be modified.
e4d9713

Two changes to what the adapters do, and two to documents. The gateway's contract is unchanged: SPEC.md, the frozen corpus and the core module are as v0.5.0 has them.

What an operator must do

  • A host that writes a request to the connection programs, to adapter-airbyte or to adapter-mcp writes each member's name as the documents write it. A request with a member named in another case (QUERY for query) was read and is now refused. A request named as written is read as before.
  • A desk that takes this release's local plan carries adapter-render in its bundle. A desk takes a plan only where every program the plan names is in its verified bundle. One without adapter-render refuses the plan whole, and then has no local source at all. So a desk moves to this release and adds the program to its bundle in one change. A desk that stays on v0.5.0 needs neither.

Adapters read a request's members by their names as written (#185)

Four readers of a request decoded it into a struct, refusing a member the struct does not know. Go's decoder matches a member's name to a field's without regard to case, so to it QUERY is query and is known; and where a request held both, it read the one that came last. The refusal of a name given twice did not see the second spelling.

Reader What it reads
the connection programs' two every operation of gateway-connections, and the requests of adapter-drive, adapter-gmail and adapter-sources
adapter-airbyte's its request
adapter-mcp's its request. The arguments of a tool are the tool's, and their names are held to nothing

Each now refuses a member that is not named as written, and one named twice in any spelling. The other adapters and the core read by exact names already.

Not covered, and stated in adapters/README.md: an operation that answers without reading its body, as every operation of a connection service the operator has blocked does; the line gateway-connections reads from its parent; and a document within a request, such as a Google service account's credential, which the library that uses it reads.

What the programs of v0.5.0 wrote into custody is read as before.

The desk's local plan names adapter-render (#179)

gateway-connections --local-plan gains one entry, so that a desk's gateway has a source render:

Member Value
id render
executable adapter-render
args --max-output 6291456
shape command
timeout 30
connections false

No rendering program is named, so a request for a PDF under the plan is refused as renderer-not-configured. A Word file is written by the adapter itself. The plan has ten sources.

Documents

  • The form of a search's arguments and result is published (#183), as two JSON Schemas with an example of each kind of result, under testdata/search. CI holds a result of each kind, written by the source in the same run, to the schema. They are in the repository and not in an archive.
  • How an issue is claimed and worked on (#184), in CONTRIBUTING.md.

To verify a download

sha256sum --check --ignore-missing checksums.txt
gh attestation verify <archive> \
  --repo Judgment-Pack/judgment-pack-gateway \
  --signer-workflow Judgment-Pack/judgment-pack-gateway/.github/workflows/release.yml \
  --source-ref refs/tags/v0.6.0

What was checked before this release was published:

Check Where
Everything CI asks of a commit, at the tagged commit Linux, macOS, Windows
Every archive read: its files are the commit's, byte for byte; each program is the bytes the packer built, from the package of its name, for the archive's platform all six archives
The archive run: gateway version, and gateway conform on the corpus it carries Linux amd64 and arm64, macOS arm64, Windows amd64
Three adapters started Linux amd64 and arm64, macOS arm64

docs/releasing.md says how a release is made and what each check does not establish.

What this release does not establish

  • That a live Tavily or Google Cloud account is accepted by the search source, or what a live answer holds. No provider has been called with an account, as the notes of v0.5.0 said.
  • That a desk takes the plan: no desk is tested here. What the plan asks of one was established by running a desk's own reader on the plan.
  • That a rendering program makes a good PDF, where an operator names one.
  • The darwin/amd64 and windows/arm64 archives are built and read, and run by nothing.
  • The adapters' tests run on Linux. Of the adapters in an archive, three are started by the release checks and the rest by none. No check reaches a platform account.
  • The engine image is not published. CI builds it from every commit and never pushes it.

Not in this release

The creation of a Google Doc from a Word file by Drive's conversion (#176) is reviewed and is not merged: it has not been tried against a Google account.

Review

#179, #183 and #185 each went through the gateway's cross-vendor review regime. Every record and disposition is on the pull requests. #184 changes a contributing guide.

The frozen corpus and SPEC.md are unchanged since v0.4.0: 30 canon vectors and 41 store vectors.