GoogleCloudPlatform / GoogleCloudPlatform/knowledge-catalog

§10.2 marks `runtime` and `computation` but leaves `parameters`, `executor` and `attester` unmarked

Open
#241 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
9.2k
Forks
782
Avg merge
6h 36m
Merged PRs (30d)
85

Description

## Summary

§10.2 lists the Attested Computation contract fields. Two carry a marker and three do not:

> - `runtime`: REQUIRED for this type.
> - `parameters`: A list of the typed, named holes the agent may fill.
> - `computation`: Optional. A path (§6.2) to a file holding the computation
> - `executor`: How the computation is run.
> - `attester`: The deterministic check.

So `runtime` is required, `computation` is optional, and `parameters`, `executor` and `attester` have no stated status.

## Why it matters

§11 does not close the gap. Its three conformance rules say nothing about the computation family, and the only sentence that touches it is conditioned on the family already being present:

> When the trust, lifecycle, provenance, or computation families are present, producers SHOULD follow §5 through §10

That is a SHOULD about following §5 to §10, which cannot make a field required that §10.2 never marked.

The consequence is concrete for `attester`. §10 opens by saying attestation is what lets a consumer "confirm the agent ran the blessed computation instead of improvising its own", and §10.5 step 5 makes the attester the thing that performs that check. A document declaring `type: Attested Computation` with no `attester` therefore claims a guarantee it carries no means to deliver, and nothing in the spec says whether that document is malformed or merely incomplete.

Both Attested Computations in `bundles/acme_retail` set `runtime`, `executor` and `attester`, so the shipped bundles do not exercise the ambiguity. That is why it is worth resolving in the text rather than by example.

## Suggestion

Mark all five fields explicitly. If `attester` is meant to be required for the type, saying so also settles what a consumer should do with a computation that has none, which is currently undefined. I can't tell from the text which way it was intended.

Contributor guide

Open the contributing guide

Research direction

Start by locating §10.2, §10.5, and §11 in the specification and compare their field requirements with the two Attested Computations in bundles/acme_retail. Resolve the intended status of parameters, executor, and attester, then make §10.2 state each field explicitly and clarify the consequence of a missing attester. Done means the normative text and examples no longer leave the field requirements ambiguous.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.