feat: declare completed-run impact statements in the catalog - #514
Open
hieptl wants to merge 1 commit into
Open
Conversation
Contributor
|
👋 This PR needs a couple of things fixed before OpenHands can review it:
Push an update once this is addressed and this check re-runs automatically. This is an automated check - no AI was used to generate this comment. |
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
Agent Canvas is adding automation value statements — "70 review sweeps completed" — to dashboard cards and rows (OpenHands/OpenHands#16570). The claim half of such a statement (what one completed run means) is per-template knowledge, and per-template copy belongs in the catalog manifest, not hard-coded in the host. This adds the manifest contract for it and the declarations for the templates that can honestly carry one.
Summary
catalog.schema.json+index.d.ts: new optionalimpactentry field —basis(constcompleted-runs; unknown bases render nothing host-side, the forward-compat valve for future outcome counters) andone/otherphrases validated as markup-free with{{count}}as the only admissible placeholder, required in the plural. The schema description encodes the honesty contract: declare only when one completed run always performs exactly one of the stated units of work.Issue Number
Part of OpenHands/OpenHands#16570 (frontend acceptance criteria live there).
How to Test
npm run build:automations— regeneratescatalog-index.js/bundle-index.js; both are byte-identical (the field adds no entries and touches no bundles), and the freshness test guards this.uv run --group test pytest tests/— 741 passed, including every-manifest schema validation and the five newtest_schema_refuses_an_impact_statement_the_host_must_never_rendercases.Video/Screenshots
Data-only change — nothing renders in this repository. The consuming UI (companion OpenHands/OpenHands PR) carries card and list-row screenshots of the statements these declarations produce.