Skip to content

feat(harness): apply agent description at harness agent init#633

Merged
cuericlee merged 3 commits into
mainfrom
feat/harness-description
Jun 24, 2026
Merged

feat(harness): apply agent description at harness agent init#633
cuericlee merged 3 commits into
mainfrom
feat/harness-description

Conversation

@yaozheng-fang

Copy link
Copy Markdown
Collaborator

What

Adds a description field to the harness agent config so a deployed harness can carry a configured agent description (instead of always the VeADK default).

  • HarnessConfig.description (defaults to DEFAULT_DESCRIPTION)
  • maps descriptionDESCRIPTION env var (_ENV_FIELDS)
  • passes description=config.description into the Agent(...) built at harness startup
  • documents the DESCRIPTION env var in agent.py

Why

Pairs with agentkit add harness --description/--desc (agentkit-sdk-python). The CLI writes description into <name>.harness.json; deploy flattens it to DESCRIPTION; this change makes the harness apply it at agent init (e.g. for A2A discovery).

Test

Existing harness tests; the field defaults to the VeADK default description when unset, so behavior is unchanged for existing harnesses.

🤖 Generated with Claude Code

yaozheng-fang and others added 3 commits June 24, 2026 10:33
Adds a `description` field to HarnessConfig (defaulting to the VeADK
default description), maps it to the DESCRIPTION env var, and passes it to
the Agent constructed at harness startup. This lets a deployed harness
carry a configured agent description (e.g. for A2A discovery) instead of
always using the default.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The creation-time field set in test_adds_creation_time_fields must list
the new `description` field added to HarnessConfig.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The harness agent was always named `harness_agent`, so every deployed
harness produced an identically-named A2A agent card. Derive the agent
name from the harness name (HARNESS_NAME / app_name) via
`agent_name_from_harness`, normalizing it to a valid ADK identifier
(ADK requires a Python identifier and forbids "user"; harness names also
allow "-" and may start with a digit, e.g. "oauth-test" -> "oauth_test").

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cuericlee cuericlee left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@cuericlee cuericlee merged commit d7a8d14 into main Jun 24, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants