Skip to content

fix(community): isolate project sync events - #1947

Merged
openai0229 merged 1 commit into
mainfrom
fix/1946-project-sync-concurrency
Jul 23, 2026
Merged

fix(community): isolate project sync events#1947
openai0229 merged 1 commit into
mainfrom
fix/1946-project-sync-concurrency

Conversation

@openai0229

Copy link
Copy Markdown
Contributor

Related issue

Closes #1946

Summary

  • Isolate Community Project workflow concurrency by Issue or pull-request number so unrelated events cannot cancel each other's pending synchronization.
  • Keep scheduled and manual full-board reconciliation serialized under a shared reconcile key.
  • Add a source-level regression test for the concurrency contract while preserving cancel-in-progress: false.

Affected surfaces

  • Frontend / Web
  • Backend / API / Storage
  • Database plugin / Driver
  • JCEF / Desktop packaging
  • CI / Build / Release
  • Documentation only

Verification

  • Commands and results:
    • node --test script/github/issue-claim.test.js script/github/sync-community-project.test.js - passed, 33 tests.
    • ruby script/github/validate-community-operations.rb - passed.
    • actionlint .github/workflows/community-project-sync.yml - passed.
    • ruby -e 'require "yaml"; YAML.safe_load(File.read(".github/workflows/community-project-sync.yml"), aliases: false)' - passed.
    • git diff --check - passed.
  • Manual verification: The production run history after feat(community): operationalize contribution workflow #1939 showed unrelated Project sync runs entering one repository-wide concurrency group; this PR narrows the key to the event content number.
  • UI evidence: N/A

Risk and compatibility

  • Public API or stored data: N/A; no application API or stored data changes.
  • Database or driver compatibility: N/A; no database code changes.
  • Network, privacy, or security: The existing Project token and permissions are unchanged.
  • Community / Local / Pro boundary: Community repository automation only.
  • Backward compatibility: Lifecycle mapping and scheduled reconciliation behavior are unchanged; only event serialization changes.

Reviewer map

  • Start here: .github/workflows/community-project-sync.yml, then the concurrency contract in script/github/sync-community-project.test.js.
  • Failure condition: Two different Issue or pull-request events still share one concurrency key, or manual/scheduled reconciliation no longer serializes.
  • Rollback or disable path: Revert this commit to restore the repository-wide concurrency group.

Contributor declaration

  • I linked the Issue that defines this change.
  • I tested the affected behavior and reported the actual results above.
  • I did not include credentials, private data, or generated build output.
  • I disclosed substantial AI assistance below, or this PR contains no substantial AI-generated code.

AI assistance: Codex identified the cancellation pattern from live workflow runs, implemented the scoped concurrency key and test, and ran the reported verification. The maintainer retains responsibility for the workflow policy.

@openai0229 openai0229 moved this to In Review in Chat2DB Community Jul 23, 2026
@openai0229
openai0229 marked this pull request as draft July 23, 2026 04:44
@openai0229 openai0229 moved this from In Review to In Progress in Chat2DB Community Jul 23, 2026
@openai0229
openai0229 marked this pull request as ready for review July 23, 2026 04:44
@openai0229 openai0229 moved this from In Progress to In Review in Chat2DB Community Jul 23, 2026

@github-actions github-actions Bot 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.

Reviewed 7506509: 0 critical, 1 high, 0 medium findings.

Merge recommendation: request changes. The concurrency key must distinguish Issue and pull-request event types when their numeric IDs match; otherwise an unrelated pending synchronization can be displaced.

Coverage: reviewed the complete current patches for both changed files plus PR metadata, existing reviews, and line comments. No tests or runtime checks were run.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • awmgmcpg

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"

See Network Configuration for more information.

Generated by AI Pull Request Reviewer for #1947 · 7.5 AIC · ⌖ 1.57 AIC · ⊞ 17.8K

Comment thread .github/workflows/community-project-sync.yml Outdated
@openai0229
openai0229 force-pushed the fix/1946-project-sync-concurrency branch from 7506509 to d01b443 Compare July 23, 2026 04:58
@openai0229
openai0229 force-pushed the fix/1946-project-sync-concurrency branch from d01b443 to 3a315c4 Compare July 23, 2026 05:09

@github-actions github-actions Bot 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.

Reviewed 3a315c46: 0 critical, 0 high, 0 medium findings.

Merge recommendation: no blocking findings. The prior high-severity concurrency collision is addressed by distinct issue and pull-request suffixes while scheduled and manual runs retain the shared reconcile key.

Coverage: reviewed the complete current patches for both changed files, PR metadata, existing reviews, and line comments. No tests or runtime checks were run.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • awmgmcpg

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"

See Network Configuration for more information.

Generated by AI Pull Request Reviewer for #1947 · 5.66 AIC · ⌖ 2.77 AIC · ⊞ 16.9K

@github-actions
github-actions Bot dismissed their stale review July 23, 2026 05:18

Superseded by updated review from same workflow.

@openai0229
openai0229 merged commit 8259939 into main Jul 23, 2026
15 checks passed
@openai0229 openai0229 moved this from In Review to Done in Chat2DB Community Jul 23, 2026
@openai0229
openai0229 deleted the fix/1946-project-sync-concurrency branch August 5, 2026 03:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Prevent unrelated Community Project events from cancelling each other

1 participant