Skip to content

Expand codegen agentic fix workflow to also fix java.ts#102

Merged
edburns merged 3 commits intomainfrom
edburns/dd-dd-2955542-net-new-agentic-workflow-for-code-gen-maintenance-but-fix-the-agentic-workflow
Apr 24, 2026
Merged

Expand codegen agentic fix workflow to also fix java.ts#102
edburns merged 3 commits intomainfrom
edburns/dd-dd-2955542-net-new-agentic-workflow-for-code-gen-maintenance-but-fix-the-agentic-workflow

Conversation

@edburns
Copy link
Copy Markdown
Collaborator

@edburns edburns commented Apr 24, 2026

Related to #93.

Summary

Updates the codegen-agentic-fix gh-aw workflow so the agent can modify
scripts/codegen/java.ts when schema changes require code generator fixes,
not just handwritten SDK/test code. This reflects the lesson learned from
the 1.0.35 update: when @github/copilot schemas change structurally
(e.g. inline types → $ref references), the code generator itself must
be updated before the generated output is correct.

Changes

Modified files

  • .github/workflows/codegen-agentic-fix.md — Rewrote the agent prompt:

    • Added architecture overview explaining the codegen pipeline
    • Added Step 2 (Diagnose) to distinguish codegen vs handwritten failures
    • Added Step 3 (Fix code generator) with instructions to read schemas,
      fix java.ts, and re-run generation
    • Expanded constraints: java.ts is now explicitly allowed; blanket
      scripts/codegen/ ban replaced with targeted rules
    • Added prominent warning against directly editing src/generated/
    • Documented common schema change patterns ($ref, field type changes,
      renamed properties) from the 1.0.35 experience
  • .github/workflows/agentics-maintenance.yml — Lockfile regenerated
    by gh aw compile (updated hash for changed manifest)

  • .github/aw/actions-lock.json — Updated by gh aw compile

edburns added 2 commits April 24, 2026 17:12
…ma changes

---

## Summary

Updates the Java code generator and handwritten SDK/test code to handle the
`@github/copilot` 1.0.35 schema format, which changed from inline nested type
definitions to `$ref` references pointing to `#/definitions/` entries. Without
this fix, regenerated types were missing fields and the build failed.

75 files changed, 616 insertions(+), 1836 deletions(-)

## Changes

### Code generator (`scripts/codegen/java.ts`)

- Added `resolveRef()` helper to dereference `$ref` pointers in JSON schemas.
- Added `pendingStandaloneTypes` map to collect types referenced via `$ref` and
  generate them as top-level Java files instead of nested records.
- Added `generatePendingStandaloneTypes()`, `generateStandaloneEnum()`, and
  `generateStandaloneRecord()` to emit the new standalone types.
- Updated all property/field generation paths to resolve `$ref` before
  inspecting type, enum, or nested-object shapes.

### Regenerated files (`src/generated/java/`)

- ~65 generated source files updated — nested inner records/enums replaced by
  standalone types (e.g. `McpServer`, `Plugin`, `Skill`, `Tool`, `Model`,
  `AccountQuotaSnapshot`, `DiscoveredMcpServer`, `UIElicitationSchema`,
  `UIElicitationResponseAction`, `ModelCapabilitiesOverride`, etc.).
- Several numeric fields changed from `double` to `Long` (`PingResult`,
  `SessionShellExecParams`, model capability limits).
- New RPC API class `ServerMcpConfigApi` and `SessionPermissionsApi` added.

### Handwritten source (`CopilotSession.java`)

- Updated all type references from old nested types to new standalone types
  (e.g. `SessionMcpListResultServersItem` → `McpServer`).

### Test files (5 files)

- **`GeneratedRpcRecordsCoverageTest.java`** — Replaced all nested type
  references with standalone types; fixed `double` → `Long` constructors.
- **`GeneratedEventTypesCoverageTest.java`** — Updated event type name set.
- **`GeneratedRpcApiCoverageTest.java`** — Updated `workspace` → `workspaces`,
  added `SessionLogLevel`, new API classes.
- **`RpcWrappersTest.java`** — `session.workspace` → `session.workspaces`.
- **`SessionEventDeserializationTest.java`** — Updated JSON keys for
  `compactionTokensUsed` (`input` → `inputTokens`, `output` → `outputTokens`,
  `cachedInput` → `cacheReadTokens`).

### Dependency bump

- `@github/copilot` 1.0.24 → 1.0.35 in `scripts/codegen/package.json`.
- **`.github/workflows/update-copilot-dependency.yml`** — After codegen and PR creation, `mvn verify` is run. On failure, the agentic fix workflow is triggered. Includes a polling loop that waits for the fix to complete and runs a final verification.

## Design

The pipeline follows a two-workflow pattern:

1. **Trigger workflows** (`codegen-check.yml`, `update-copilot-dependency.yml`) detect failures and dispatch the agentic fix.
2. **Fix workflow** (`codegen-agentic-fix.lock.yml`) runs under gh-aw guardrails with scoped permissions, network firewall, and MCP gateway. It checks out the branch, reproduces the failure, applies fixes to handwritten code only, and pushes via `push-to-pull-request-branch` safe-output.

Key constraints enforced on the agent:
- Never modify `src/generated/java/`, `pom.xml`, `scripts/codegen/`, or `.github/`
- Maximum 3 fix attempts before escalating via PR comment
- Must run `mvn spotless:apply` before committing
- Only pushes if `mvn verify` passes

## Testing

- All workflow files pass `actionlint` with zero errors
- The `codegen-agentic-fix.lock.yml` was successfully compiled by `gh aw compile v0.68.3`
- End-to-end testing will occur when this PR and #94 are both merged — Dependabot PR #99 (bump `@github/copilot` 1.0.24 → 1.0.35) already exists and its Codegen Check is failing as expected
---

## Summary

Updates the `codegen-agentic-fix` gh-aw workflow so the agent can modify
`scripts/codegen/java.ts` when schema changes require code generator fixes,
not just handwritten SDK/test code. This reflects the lesson learned from
the 1.0.35 update: when `@github/copilot` schemas change structurally
(e.g. inline types → `$ref` references), the code generator itself must
be updated before the generated output is correct.

## Changes

### Modified files

- **`.github/workflows/codegen-agentic-fix.md`** — Rewrote the agent prompt:
  - Added architecture overview explaining the codegen pipeline
  - Added Step 2 (Diagnose) to distinguish codegen vs handwritten failures
  - Added Step 3 (Fix code generator) with instructions to read schemas,
    fix `java.ts`, and re-run generation
  - Expanded constraints: `java.ts` is now explicitly allowed; blanket
    `scripts/codegen/` ban replaced with targeted rules
  - Added prominent warning against directly editing `src/generated/`
  - Documented common schema change patterns ($ref, field type changes,
    renamed properties) from the 1.0.35 experience

- **`.github/workflows/agentics-maintenance.yml`** — Lockfile regenerated
  by `gh aw compile` (updated hash for changed manifest)

- **`.github/aw/actions-lock.json`** — Updated by `gh aw compile`
Copilot AI review requested due to automatic review settings April 24, 2026 21:31
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the agentic “codegen-agentic-fix” workflow prompt so automation can fix scripts/codegen/java.ts when schema changes require generator updates, and includes the resulting downstream schema/codegen updates (dependency bump + regenerated Java RPC/event types) plus test adjustments.

Changes:

  • Expanded .github/workflows/codegen-agentic-fix.md instructions to explicitly allow and guide fixes in scripts/codegen/java.ts.
  • Updated gh-aw maintenance artifacts (agentics-maintenance.yml, .github/aw/actions-lock.json) after recompilation.
  • Bumped @github/copilot in scripts/codegen/package.json and updated/generated Java RPC + session event types (with corresponding test updates).
Show a summary per file
File Description
.github/workflows/codegen-agentic-fix.md Agent prompt updated to allow code generator fixes and guide diagnosis/regeneration
.github/workflows/agentics-maintenance.yml Regenerated gh-aw maintenance workflow
.github/aw/actions-lock.json Updated gh-aw action pins (added setup-cli entry)
scripts/codegen/package.json Bumped @github/copilot schema dependency used by codegen
src/test/java/com/github/copilot/sdk/generated/rpc/GeneratedRpcApiCoverageTest.java Updated tests for renamed RPC namespaces/types (e.g., workspaces, SessionLogLevel)
src/test/java/com/github/copilot/sdk/RpcWrappersTest.java Updated wrapper namespace field assertion (workspaces)
src/generated/java/com/github/copilot/sdk/generated/rpc/UsageMetricsModelMetricUsage.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/UsageMetricsModelMetricRequests.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/UsageMetricsModelMetric.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/UsageMetricsCodeChanges.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/UIElicitationSchema.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/UIElicitationResponseAction.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/UIElicitationResponse.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ToolsListResult.java Refactored to reuse standalone Tool type
src/generated/java/com/github/copilot/sdk/generated/rpc/Tool.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/SkillsDiscoverResult.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/SkillsDiscoverParams.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/SkillsConfigSetDisabledSkillsParams.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/Skill.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ShellKillSignal.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionWorkspacesReadFileResult.java New generated session RPC result
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionWorkspacesReadFileParams.java New generated session RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionWorkspacesListFilesResult.java New generated session RPC result
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionWorkspacesListFilesParams.java New generated session RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionWorkspacesGetWorkspaceParams.java New generated session RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionWorkspacesCreateFileParams.java New generated session RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionWorkspacesApi.java New generated session-scoped workspaces API wrapper
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionUsageGetMetricsResult.java Refactored to reuse standalone metric types
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionUiHandlePendingElicitationParams.java Refactored to reuse standalone elicitation response types
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionUiElicitationResult.java Refactored to reuse standalone elicitation action enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionUiElicitationParams.java Refactored to reuse standalone elicitation schema type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionUiApi.java Updated doc text for elicitation
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionSkillsListResult.java Refactored to reuse standalone Skill type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionShellKillParams.java Refactored to reuse standalone ShellKillSignal enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionShellExecParams.java Updated timeout numeric type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionRpc.java Updated session RPC namespaces (auth/name/instructions/workspaces)
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionPluginsListResult.java Refactored to reuse standalone Plugin type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionPermissionsSetApproveAllResult.java New generated session permissions RPC result
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionPermissionsSetApproveAllParams.java New generated session permissions RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionPermissionsResetSessionApprovalsResult.java New generated session permissions RPC result
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionPermissionsResetSessionApprovalsParams.java New generated session permissions RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionPermissionsApi.java Added new generated session permissions wrapper methods
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionNameSetParams.java New generated session name RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionNameGetResult.java New generated session name RPC result
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionNameGetParams.java New generated session name RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionNameApi.java New generated session name wrapper
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionModelSwitchToParams.java Refactored to reuse standalone model capability override types
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionModeSetParams.java Refactored to reuse standalone SessionMode enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionModeApi.java Updated wrapper signatures for mode namespace
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionMode.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionMcpOauthLoginResult.java New generated session MCP OAuth RPC result
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionMcpOauthLoginParams.java New generated session MCP OAuth RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionMcpOauthApi.java New generated session MCP OAuth wrapper
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionMcpListResult.java Refactored to reuse standalone McpServer type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionMcpApi.java Added generated oauth sub-namespace
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionLogParams.java Refactored to reuse standalone SessionLogLevel enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionLogLevel.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionInstructionsGetSourcesResult.java New generated session instructions RPC result
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionInstructionsGetSourcesParams.java New generated session instructions RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionInstructionsApi.java New generated session instructions wrapper
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionHistoryTruncateResult.java Updated numeric type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionHistoryCompactResult.java Refactored context window type + numeric type changes
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsWriteFileParams.java Updated numeric type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsStatResult.java Updated time types + added error field
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsSetProviderParams.java Refactored to reuse standalone conventions enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsSetProviderConventions.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsReaddirWithTypesResult.java Refactored entries type + added error field
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsReaddirWithTypesEntryType.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsReaddirWithTypesEntry.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsReaddirResult.java Added error field
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsReadFileResult.java Added error field
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsMkdirParams.java Updated numeric type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsErrorCode.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsError.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionFsAppendFileParams.java Updated numeric type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionExtensionsListResult.java Refactored to reuse standalone Extension type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAuthGetStatusResult.java New generated session auth RPC result
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAuthGetStatusParams.java New generated session auth RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAuthApi.java New generated session auth wrapper
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAgentSelectResult.java Refactored to reuse standalone AgentInfo type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAgentReloadResult.java Refactored to reuse standalone AgentInfo type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAgentListResult.java Refactored to reuse standalone AgentInfo type
src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAgentGetCurrentResult.java Refactored to reuse standalone AgentInfo type
src/generated/java/com/github/copilot/sdk/generated/rpc/ServerSkillsConfigApi.java New generated server skills config wrapper
src/generated/java/com/github/copilot/sdk/generated/rpc/ServerSkillsApi.java New generated server skills wrapper
src/generated/java/com/github/copilot/sdk/generated/rpc/ServerSkill.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ServerRpc.java Added generated skills namespace
src/generated/java/com/github/copilot/sdk/generated/rpc/ServerMcpConfigApi.java Added enable/disable methods
src/generated/java/com/github/copilot/sdk/generated/rpc/Plugin.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/PingResult.java Updated numeric types
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelsListResult.java Refactored to reuse standalone Model type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelPolicy.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelCapabilitiesSupports.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelCapabilitiesOverrideSupports.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelCapabilitiesOverrideLimitsVision.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelCapabilitiesOverrideLimits.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelCapabilitiesOverride.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelCapabilitiesLimitsVision.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelCapabilitiesLimits.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelCapabilities.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ModelBilling.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/Model.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/McpServerStatus.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/McpServerSource.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/McpServer.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/McpDiscoverResult.java Refactored to reuse standalone discovered server type
src/generated/java/com/github/copilot/sdk/generated/rpc/McpConfigEnableParams.java New generated RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/McpConfigDisableParams.java New generated RPC params
src/generated/java/com/github/copilot/sdk/generated/rpc/InstructionsSourcesType.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/InstructionsSourcesLocation.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/InstructionsSources.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/HistoryCompactContextWindow.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/ExtensionStatus.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/ExtensionSource.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/Extension.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/DiscoveredMcpServerType.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/DiscoveredMcpServerSource.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/DiscoveredMcpServer.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/AuthInfoType.java New generated RPC enum
src/generated/java/com/github/copilot/sdk/generated/rpc/AgentInfo.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/AccountQuotaSnapshot.java New generated RPC type
src/generated/java/com/github/copilot/sdk/generated/rpc/AccountGetQuotaResult.java Refactored to reuse standalone quota snapshot type
src/generated/java/com/github/copilot/sdk/generated/WorkspaceFileChangedOperation.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/WorkingDirectoryContextHostType.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/WorkingDirectoryContext.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/UserMessageEvent.java Refactored agent mode enum + added new fields
src/generated/java/com/github/copilot/sdk/generated/UserMessageAgentMode.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/ToolExecutionCompleteResult.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/ToolExecutionCompleteEvent.java Refactored to reuse standalone result/error types
src/generated/java/com/github/copilot/sdk/generated/ToolExecutionCompleteError.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/SystemMessageRole.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/SystemMessageMetadata.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/SystemMessageEvent.java Refactored to reuse standalone role/metadata types
src/generated/java/com/github/copilot/sdk/generated/SkillsLoadedSkill.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/ShutdownType.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/ShutdownModelMetricUsage.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/ShutdownModelMetricRequests.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/ShutdownModelMetric.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/ShutdownCodeChanges.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/SessionWorkspaceFileChangedEvent.java Refactored to reuse standalone operation enum
src/generated/java/com/github/copilot/sdk/generated/SessionStartEvent.java Refactored to reuse standalone working directory context types
src/generated/java/com/github/copilot/sdk/generated/SessionSkillsLoadedEvent.java Refactored to reuse standalone skill type
src/generated/java/com/github/copilot/sdk/generated/SessionResumeEvent.java Refactored to reuse standalone working directory context types
src/generated/java/com/github/copilot/sdk/generated/SessionPlanChangedEvent.java Refactored to reuse standalone operation enum
src/generated/java/com/github/copilot/sdk/generated/SessionMcpServersLoadedEvent.java Refactored to reuse standalone server summary type
src/generated/java/com/github/copilot/sdk/generated/SessionMcpServerStatusChangedEvent.java Refactored to reuse standalone status enum
src/generated/java/com/github/copilot/sdk/generated/SessionHandoffEvent.java Refactored to reuse standalone handoff types
src/generated/java/com/github/copilot/sdk/generated/SessionExtensionsLoadedEvent.java Refactored to reuse standalone extension types
src/generated/java/com/github/copilot/sdk/generated/SessionEvent.java Added new event subtypes to sealed hierarchy
src/generated/java/com/github/copilot/sdk/generated/SessionCustomAgentsUpdatedEvent.java Refactored to reuse standalone agent metadata type
src/generated/java/com/github/copilot/sdk/generated/SessionContextChangedEvent.java Refactored host type + added repositoryHost
src/generated/java/com/github/copilot/sdk/generated/SessionCompactionCompleteEvent.java Refactored to reuse new compaction token usage type
src/generated/java/com/github/copilot/sdk/generated/PlanChangedOperation.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/PermissionRequestedEvent.java Added new promptRequest field
src/generated/java/com/github/copilot/sdk/generated/PermissionCompletedResult.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/PermissionCompletedKind.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/PermissionCompletedEvent.java Refactored to reuse standalone permission result type; added toolCallId
src/generated/java/com/github/copilot/sdk/generated/McpServersLoadedServerStatus.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/McpServersLoadedServer.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/McpServerStatusChangedStatus.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/McpOauthRequiredStaticClientConfig.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/McpOauthRequiredEvent.java Refactored to reuse standalone static client config
src/generated/java/com/github/copilot/sdk/generated/HookEndEvent.java Refactored to reuse standalone error type
src/generated/java/com/github/copilot/sdk/generated/HookEndError.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/HandoffSourceType.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/HandoffRepository.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/ExtensionsLoadedExtensionStatus.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/ExtensionsLoadedExtensionSource.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/ExtensionsLoadedExtension.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/ElicitationRequestedSchema.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/ElicitationRequestedMode.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/ElicitationRequestedEvent.java Refactored to reuse standalone requested schema + mode
src/generated/java/com/github/copilot/sdk/generated/ElicitationCompletedEvent.java Refactored to reuse standalone completed action enum
src/generated/java/com/github/copilot/sdk/generated/ElicitationCompletedAction.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/CustomAgentsUpdatedAgent.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/CompactionCompleteCompactionTokensUsedCopilotUsageTokenDetail.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/CompactionCompleteCompactionTokensUsedCopilotUsage.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/CompactionCompleteCompactionTokensUsed.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/CommandsChangedEvent.java Refactored to reuse standalone command type
src/generated/java/com/github/copilot/sdk/generated/CommandsChangedCommand.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/CapabilitiesChangedUI.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/CapabilitiesChangedEvent.java Refactored to reuse standalone UI capability type
src/generated/java/com/github/copilot/sdk/generated/AutoModeSwitchRequestedEvent.java New generated session event
src/generated/java/com/github/copilot/sdk/generated/AutoModeSwitchCompletedEvent.java New generated session event
src/generated/java/com/github/copilot/sdk/generated/AssistantUsageQuotaSnapshot.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/AssistantUsageEvent.java Refactored to reuse standalone quota snapshot and copilot usage types
src/generated/java/com/github/copilot/sdk/generated/AssistantUsageCopilotUsageTokenDetail.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/AssistantUsageCopilotUsage.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/AssistantMessageToolRequestType.java New generated session-event enum
src/generated/java/com/github/copilot/sdk/generated/AssistantMessageToolRequest.java New generated session-event type
src/generated/java/com/github/copilot/sdk/generated/AssistantMessageEvent.java Refactored to reuse standalone tool request type

Copilot's findings

Files not reviewed (1)
  • scripts/codegen/package-lock.json: Language not supported
  • Files reviewed: 8/199 changed files
  • Comments generated: 2

Comment on lines +205 to 217
### Step 5: Push fixes

After `mvn verify` passes, commit the changes and use the `push_to_pull_request_branch` safe-output tool to push to PR #${{ inputs.pr_number }}:
After `mvn verify` passes, commit all changes and use the `push_to_pull_request_branch` safe-output tool to push to PR #${{ inputs.pr_number }}:

```bash
git add -A
git commit -m "Fix build failures after codegen update
git commit -m "Fix codegen and build failures after @github/copilot update

Automated fix applied by codegen-agentic-fix workflow."
```

Then call the `push_to_pull_request_branch` tool to push your commits to the PR branch.

Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

The prompt refers to calling the push_to_pull_request_branch safe-output/tool, but earlier in the file the safe-outputs section defines push-to-pull-request-branch (kebab-case). If safe-output names must match exactly, this inconsistency can break the workflow or confuse the agent. Make the naming consistent (prefer the snake_case form that the compiled lock workflow uses) and update references accordingly.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Fixed in 9c80cc9 — changed push-to-pull-request-branch and add-comment (which had the same inconsistency) to push_to_pull_request_branch and add_comment respectively in the safe-outputs section to match the snake_case references used in the document body.

Comment on lines 9 to 11
"dependencies": {
"@github/copilot": "1.0.24",
"@github/copilot": "^1.0.35",
"json-schema": "^0.4.0",
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

The PR description focuses on expanding the codegen-agentic-fix workflow, but this PR also changes the codegen dependency version (@github/copilot) which triggers large generated-code updates. Please update the PR description to explicitly call out the dependency bump / regeneration impact (or split into separate PRs) so reviewers understand why generated sources and tests changed.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The PR description should be updated to include a note about the @github/copilot dependency bump from 1.0.24 to ^1.0.35 and the resulting regenerated code changes. Since I don't have a tool to directly edit the PR body, the author should add something like:

Also includes: Bumps @github/copilot in scripts/codegen/package.json from 1.0.24 to ^1.0.35, which triggered regeneration of the Java sources under src/generated/java/ via scripts/codegen/java.ts.

to the "Changes" section of the PR description.

@edburns edburns merged commit 16c6b73 into main Apr 24, 2026
11 checks passed
@edburns edburns deleted the edburns/dd-dd-2955542-net-new-agentic-workflow-for-code-gen-maintenance-but-fix-the-agentic-workflow branch April 24, 2026 21:54
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.

3 participants