feat(governance): Add get_creative_features task for creative governance#1049
Open
feat(governance): Add get_creative_features task for creative governance#1049
Conversation
Introduces the creative analog of get_property_features — a general-purpose task for evaluating creatives and returning feature values. Supports security scanning (#1035), creative quality assessment, content categorization (#1036), and any other creative evaluation through the same feature-based pattern used by property governance. New schemas: - get-creative-features-request.json — accepts creative manifest + optional feature_ids - get-creative-features-response.json — discriminated union (success/error) - creative-feature-result.json — individual feature evaluation result Also adds creative_features to governance section of get_adcp_capabilities, allowing agents to advertise which creative features they can evaluate. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced Feb 13, 2026
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.
Summary
get_creative_features— a general-purpose task for evaluating creatives and returning feature values, following the same pattern asget_property_featurescreative_featuresto governance section ofget_adcp_capabilitiesso agents can advertise which creative features they evaluateMotivation
Issues #1035 (Creative Security Scanning) and #1036 (Content Categorization) both propose elaborate custom protocol machinery. Both are better served by a single general-purpose task that applies the existing property governance feature pattern to creatives.
A security scanner evaluates
auto_redirectandcredential_harvest(binary features). CreativeX evaluatesbrand_consistency(quantitative) andlogo_placement(binary). A content categorizer evaluatesiab_casinos_gambling(binary with confidence). Same task, same response shape — the protocol doesn't need to know the difference.Changes
New schemas:
creative/get-creative-features-request.json— accepts creative manifest + optionalfeature_idsfiltercreative/get-creative-features-response.json— discriminated union (success with results / error)creative/creative-feature-result.json— individual feature evaluation (value, confidence, expires_at, etc.)Modified schemas:
index.json— registerget-creative-featurestask under governanceget-adcp-capabilities-response.json— addcreative_featuresarray alongsideproperty_featuresDocumentation:
docs/governance/creative/index.mdx— creative governance overviewdocs/governance/creative/get_creative_features.mdx— task reference with examples for security, quality, and categorization agentsdocs/governance/overview.mdx— link creative governancedocs.json— navigation entryDesign decisions
task-type.jsonenum addition — governance evaluation tasks (likeget_property_features,calibrate_content) are invoked directly via A2A/MCP, not tracked through the task lifecyclecreative-feature-definition.json— feature definitions are the same shape as property features, declared inline inget_adcp_capabilitiesHow this addresses #1035 and #1036
get_creative_featureshandles itauto_redirect,credential_harvest, etc.)detail_urlmethodology_urlin feature definition, not in resultsstatus: "working"→ webhook)expires_aton feature values (existing schema field)get_creative_featureshandles itiab_casinos_gambling,iab_automotive)confidencefield (0-1) on feature resultsfeature_idnaming +methodology_versionfieldTest plan
npm run build:schemas— 77 schemas bundled, 3 skill schema sets generatednpm test— all 297 tests pass (schema validation, examples, extensions, error handling, JSON schema, composed, migrations, unit, typecheck)🤖 Generated with Claude Code