GoogleCloudPlatform / GoogleCloudPlatform/knowledge-catalog
§10.2 marks `runtime` and `computation` but leaves `parameters`, `executor` and `attester` unmarked
- 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
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