docs: document summary definitions on custom attestation types - #384
Conversation
Custom attestation types can define a summary: an ordered list of named jq expressions that Kosli renders as labeled rows on the attestation detail page instead of only raw JSON. - getting_started/attestations.md: new "Summaries" subsection in the Custom accordion, covering the CLI flags and the rendering behavior (versioning, render-time evaluation, N/A, URL links, array payloads). - tutorials/attest_custom.md: the tutorial type is now created with --summary entries so the walkthrough ends on a readable summary. - administration/managing_custom_attestation_types/overview.md: summary added to the "Each type can include" list, plus a Terraform example. Refs #364
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
Claude finished @dangrondahl's task in 2m 56s —— View job Doc quality reviewReviewed all three files at Two findings.
|
- Move the summaries content out of the collapsed "Custom" accordion into a top-level "Summarizing custom attestations" section. Verified with headless Chrome that a cold load of the in-accordion anchor left every accordion at aria-expanded="false", so the deep link both cross-links rely on landed on hidden content. Also fixes the ####-after-## skip. - Fix the versioning contradiction: attestation.py resolves get_versioned_type(self.type_version) before evaluating, so a rendered attestation uses the type version it was reported against. Both pages now say that, and the Terraform note scopes the fallback to the new version. - Narrow the URL claim: link rendering requires a string value with an http/https scheme (kosli-dev/server#6428 hardening), not "any valid URL". - Trim the tutorial paragraph to one sentence plus one link, and drop "minimal" now that the type carries summary entries. - "At least one of the schema or the jq rules" (was "and"). - Add \ line continuations to the two command blocks in the Custom accordion, and note that re-running create updates an existing type. Refs #364
|
All five inline threads answered and pushed (b5e...see latest commit). Replying here to the one finding that had no inline anchor, plus what came out of verifying the rest. The two substantive items were both real. The versioning contradiction resolved in favor of the The anchor concern was not a maybe — a headless-Chrome load of Checking those also caught something the review didn't: "a value that is a valid URL renders as a link" was too broad. The hardening commit on kosli-dev/server#6428 requires a string value with an On the "reference material in a getting-started page" finding — I mostly disagree, and changed nothing for it. Of the three overlaps named: URL-as-link is not in The drift risk is worth naming, though: the generated CLI page is regenerated from the CLI repo, so if the flag semantics change the hand-written section won't follow. That's an argument for keeping the flag mechanics thin here rather than for trimming the behavior, which is what I've done. Also noted and agreed on the British "labelled" in the generated pages — upstream fix, out of scope here. |
The summary linkification rule is deliberately stricter than the one for annotations (is_http_url vs is_valid_url in the server), so drop the claim that the two behave alike. Also number array summary groups accurately, rename the Terraform heading so it does not read as a fourth mutually exclusive shape, and keep an inline code span off a line break.
|
Both inline threads answered and pushed in b823c4f. Replying here to finding 3, which had no inline anchor, and to the "Not verified" list — I had the server checkout to hand this round, so the load-bearing bullets are no longer taken on trust. Finding 3 (split code span) — fixed. The span now sits on one line: On my own earlier claim, which was wrong. I said the #6428 hardening "supersedes the The five product-behavior claims the review couldn't check are all confirmed:
Checking the fourth one turned up a small inaccuracy of my own: numbering is conditional on There is also a whole-summary failure state I've deliberately left undocumented — the
Two follow-ups belong in the provider repo, not here: |
|
Non-blocking comment: The two flags --summary and --summary-json are mutually exclusive, that is the phrasing pattern used across the docs. This change mentions it with "instead". Makes sense but could be updated to stay consistent. |
Closes #364
What
Documents
summaryon custom attestation types — the ordered list of named jq expressions that Kosli renders as labeled rows on the attestation detail page instead of only raw JSON.The issue was filed when
summarywas API-only and recommended holding back the authoring instructions. Both surfaces have since shipped (--summary/--summary-jsononkosli create attestation-type, and thesummaryattribute onkosli_custom_attestation_type), so all four open tasks are covered.Changes
getting_started/attestations.md— new#### Summariessubsection in the Custom accordion: what a summary is, the--summaryCLI flags, the JSON form, and the behavior worth knowing (part of the versioned type definition, evaluated at display time, invalid jq rejected at creation,N/Afallback, URLs render as links, one summary group per element for array payloads).tutorials/attest_custom.md— step 1 now creates thecoverage-reporttype with--summary "Coverage=.coverage"/--summary "Tool=.tool", so the walkthrough ends on a readable summary rather than raw JSON.administration/managing_custom_attestation_types/overview.md—summaryadded to the "Each type can include" list (and the "at least one of the two" sentence reworded accordingly), plus a With a summary Terraform example usingjsonencode()and thefile()variant.No new pages, so no
config/navigation.jsonchange.Verification
mint broken-links— the only reported link is the pre-existing/getting_started/service-accountsintutorials/working_with_controls.mdx, untouched here.mint dev: they compile, and the new#summariesheading inside the accordion does get an anchor (id="summaries"), which the tutorial and Terraform page link to.