Repository navigation
feat(templates): info.summary as a one-line catalog tagline - #847
Merged
Merged
Conversation
`info.description` is written for agents and runs to paragraphs, which is too long for a catalog tile. Read the standard OpenAPI 3.1 `info.summary` as a short dashboard-facing tagline and expose it as an optional `summary` on `/v1/templates` (list, search, detail, admin, draft preview). It is omitted when unset, and agent-facing `/v1/search` and MCP keep `description`. - Compile warns (never refuses) on a multi-line value or one over 80 chars. The same check covers a derived layer's new `delta.summary` relabel. - Every shipped template, plus the synthetic `http` service, now has a summary. `every_shipped_template_has_a_short_summary` keeps them short. - The dashboard Create Service cards show `summary ?? description` with the full description as a tooltip, and template search matches on summary too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
Code diff size+160 / −7 across 21 files (net +153)
Source files under |
…e base Trim the relabel like info.summary, and treat whitespace-only as unset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
This was referenced Oct 29, 2026
Merged
Merged
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
GET /v1/templatesreturnsdescription, which isinfo.descriptionfrom each template. That text is written for agents, so it is long and often a multi-line block scalar (github, email, figma, hubspot, slack, …). Overfolder's integrations catalog renders it on a tile, where it doesn't fit.What
Templates get a short dashboard-facing tagline.
descriptionis unchanged for agents.info.summary, read directly liketitle/description. It is not a newx-overslash-*extension, because aliasing baresummary:would rename the spec's own field in canonical YAML and in imported third-party specs.summaryis already in the lint's Info vocabulary, so a typo likesumary:is still flagged (unknown_template_key).summaryonTemplateSummary,TemplateDetail,AdminTemplateSummary, and the draft preview, withskip_serializing_if = "Option::is_none". Older clients are unaffected. It is not added to/v1/searchor MCP.openapi_invalidwarning atinfo.summaryfor a multi-line value or one over 80 chars (counted in chars, not bytes). It warns rather than refusing, the same wayhidden/icondo, so an imported spec still loads. A non-string value warns and is dropped.delta.summaryrelabel (inherits when absent), which gets the same warnings.services/*.yamland the synthetichttpservice have a summary.every_shipped_template_has_a_short_summarykeeps them that way.summary ?? description, with the full description as a tooltip. Template search also matches on summary.info.summaryentry and the layer relabel list now mentions summary. The template-authoring guide lives inoverslash-docsand needs a matching line in a follow-up.Contract for Overfolder
Items from
GET /v1/templatesgain an optionalsummary: string. Rendersummary ?? description.Tests
openapi/compile/tests_summary.rs: read and trim, absent or blank →None, the multi-line warning, the 80/81-char boundary with multi-byte chars, a non-string value, and lint-clean vs. typo.service_layer: a relabel overrides the base and is inherited when absent, and a multi-line delta summary warns without refusing the layer.tests/templates_summary.rs: the globalgithubsummary appears on list, detail, and admin. An org template withinfo.summaryreturns it, and one without omits the key entirely.cargo nextest run --workspace→ 3852 passed. Clippy, fmt, svelte-check, and the strict dashboard build also pass.Screenshot
Create Service picker on the real e2e stack (
dashboard/scripts/screenshot-template-summary.mjs). Each card now shows its one-linesummaryinstead of the paragraph-long agent description:🤖 Generated with Claude Code