Skip to content

Normalize PlanTaskType capability values - #2153

Merged
mbuckton merged 14 commits into
developmentfrom
agent/plan-task-type-prefix-normalization
Aug 5, 2026
Merged

Normalize PlanTaskType capability values#2153
mbuckton merged 14 commits into
developmentfrom
agent/plan-task-type-prefix-normalization

Conversation

@mbuckton

@mbuckton mbuckton commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

What changed

  • accept bare values such as SCREEN
  • accept Navy/STANAG values such as PlanTaskType_SCREEN
  • accept schema-enum aliases such as PlanTaskTypeEnum_SCREEN
  • normalize all accepted forms to PlanTaskType.SCREEN
  • make TwinManagerConfig startup loading use the shared PlanTaskType.fromConfigurationValue(...) parser
  • serialize with the canonical default PlanTaskType_SCREEN
  • reject unknown values using either prefix instead of silently producing null

Startup configuration fix

TwinManagerConfig previously stripped only PlanTaskTypeEnum_ before calling PlanTaskType.valueOf(...). A configured value such as PlanTaskType_SCREEN therefore reached valueOf(...) unchanged and prevented the server from starting.

The startup parser now delegates to the shared parser, so all three forms load correctly:

  • SCREEN
  • PlanTaskType_SCREEN
  • PlanTaskTypeEnum_SCREEN

Tests

  • bare values parse through Gson
  • PlanTaskType_ values parse through Gson
  • PlanTaskTypeEnum_ values parse through Gson
  • all accepted forms round-trip to the canonical default wire value
  • unknown values using either prefix are rejected
  • all three forms load through the actual TwinManagerConfig(ConfigurationProperties) startup path

Coordination

The adapter branch adds a per-session Gson factory. Its planTaskTypeEnumPrefix setting can override the outbound representation for that codec without changing the shared configuration enum or leaking state between sessions:

  • false -> PlanTaskType_SCREEN
  • true -> PlanTaskTypeEnum_SCREEN

The coordinated adapter workflow installs this server branch and runs both PlanTaskTypeTest and TwinManagerConfigPlanTaskTypeTest before compiling the adapter.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: d0caffd3-200c-4a50-8c78-70f0287e2094

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mbuckton mbuckton changed the title Normalize prefixed plan task type configuration values Normalize and serialize canonical plan task type values Aug 5, 2026
@mbuckton mbuckton changed the title Normalize and serialize canonical plan task type values Support configurable PlanTaskType wire prefixes Aug 5, 2026
@mbuckton mbuckton changed the title Support configurable PlanTaskType wire prefixes Normalize PlanTaskType capability values Aug 5, 2026
@mbuckton
mbuckton merged commit 71826b0 into development Aug 5, 2026
3 checks passed
@mbuckton
mbuckton deleted the agent/plan-task-type-prefix-normalization branch August 5, 2026 04:45
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.

1 participant