Skip to content

Forge: preserve parallel action identity - #24

Merged
GolaraJ merged 1 commit into
mainfrom
fix/forge-preserve-action-identity
Aug 18, 2026
Merged

Forge: preserve parallel action identity#24
GolaraJ merged 1 commit into
mainfrom
fix/forge-preserve-action-identity

Conversation

@GolaraJ

@GolaraJ GolaraJ commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • emit every controller action with description equal to its stable actionId
  • require that description to be passed unchanged to session_store_sql
  • prohibit mapping parallel outcomes by ordinal or completion order
  • add controller coverage for stable discovery and tool-action descriptions

Root cause

The latest run swapped two parallel outcomes: the first tool action timed out and the second succeeded, but Forge attempted to materialize the timed-out action and recorded the successful action as timed out. The materializer correctly found no result for the timed-out SQL.

Validation

  • 48 Skill Forge tests pass
  • Python scripts compile
  • git diff --check passes

Emit stable action IDs as query descriptions and require parallel outcomes to be recorded against their originating action rather than completion order.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: b8cf0691-0fe3-4d67-92ce-ce2a529c400c

Copilot AI left a comment

Copy link
Copy Markdown

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 addresses a parallel-execution identity bug by ensuring each controller-emitted action has a stable, non-ordinal identifier that can be carried through tool execution and outcome recording without relying on completion order.

Changes:

  • Emit controller actions with description set to the stable actionId (for discovery, metadata, refs, files, and tool-calls actions).
  • Document the requirement to pass description unchanged into session_store_sql, and to avoid mapping outcomes by ordinal/completion order.
  • Add/extend controller tests to assert description == actionId for both discovery and parallel tool-call actions.
Show a summary per file
File Description
plugins/repo-dreamer/skills/repository-skill-forge/scripts/extraction-controller.py Adds description: action_id to all emitted action objects to preserve stable identity across parallel runs.
plugins/repo-dreamer/skills/repository-skill-forge/tests/test_extraction_controller.py Adds assertions verifying action description matches actionId for discovery and tool-call actions.
plugins/repo-dreamer/skills/repository-skill-forge/SKILL.md Documents the stable-identity requirement and warns against ordinal/completion-order outcome mapping.

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

@GolaraJ
GolaraJ merged commit 967e477 into main Aug 18, 2026
1 check passed
@GolaraJ
GolaraJ deleted the fix/forge-preserve-action-identity branch August 18, 2026 05:48
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