Skip to content

feat: add SOFA framework extractor for RPC and MQ auto-detection#1971

Open
mieshi-laoren wants to merge 2 commits into
abhigyanpatwari:mainfrom
mieshi-laoren:feat/sofa-framework-extractor
Open

feat: add SOFA framework extractor for RPC and MQ auto-detection#1971
mieshi-laoren wants to merge 2 commits into
abhigyanpatwari:mainfrom
mieshi-laoren:feat/sofa-framework-extractor

Conversation

@mieshi-laoren

@mieshi-laoren mieshi-laoren commented Jun 2, 2026

Copy link
Copy Markdown

Add native support for Alibaba SOFA framework contract extraction:

  • New SofaExtractor: discovers SOFA RPC providers and consumers from XML declarations (sofa:service/sofa:reference with sofa:binding.tr/)
  • Extend Java topic extractor: detect SOFAMQ (OpenMessaging API) patterns
    • consumer.subscribe(topic, tag, listener) → topic consumer
    • new Message(topic, tag, body) → topic provider
  • Add 'sofamq' broker type to topic pattern types
  • Add 'sofa' opt-in detect flag to group config (default: false)

SOFA RPC uses XML namespace prefix (sofa:), making regex extraction reliable without a full XML tree-sitter grammar.

Note: XML sofa:consumer/sofa:channel/sofa:binding.msg_broker declarations are intentionally NOT extracted as they represent distributed scheduled task dispatching (e.g. TP_F_SC channel), not real message pub/sub.

Summary

Motivation / context

Areas touched

  • gitnexus/ (CLI / core / MCP server)
  • gitnexus-web/ (Vite / React UI)
  • .github/ (workflows, actions)
  • eval/ or other tooling
  • Docs / agent config only (AGENTS.md, CLAUDE.md, .cursor/, llms.txt, etc.)

Scope & constraints

In scope

Explicitly out of scope / not done here

Implementation notes

Testing & verification

  • cd gitnexus && npm test
  • cd gitnexus && npm run test:integration (if core/indexing/MCP paths changed)
  • cd gitnexus && npx tsc --noEmit
  • cd gitnexus-web && npm test (if web changed)
  • cd gitnexus-web && npx tsc -b --noEmit (if web changed)
  • Manual / Playwright E2E (note environment — see gitnexus-web/e2e/)

Risk & rollout

Checklist

  • PR body meets repo minimum length (workflow may label short descriptions)
  • If AGENTS.md / overlays changed: headers, scope block, and changelog updated per project conventions
  • No secrets, tokens, or machine-specific paths committed

Add native support for Alibaba SOFA framework contract extraction:

- New SofaExtractor: discovers SOFA RPC providers and consumers from
  XML declarations (<sofa:service>/<sofa:reference> with <sofa:binding.tr/>)
- Extend Java topic extractor: detect SOFAMQ (OpenMessaging API) patterns
  - consumer.subscribe(topic, tag, listener) → topic consumer
  - new Message(topic, tag, body) → topic provider
- Add 'sofamq' broker type to topic pattern types
- Add 'sofa' opt-in detect flag to group config (default: false)

SOFA RPC uses XML namespace prefix (sofa:), making regex extraction
reliable without a full XML tree-sitter grammar.

Note: XML sofa:consumer/sofa:channel/sofa:binding.msg_broker declarations
are intentionally NOT extracted as they represent distributed scheduled
task dispatching (e.g. TP_F_SC channel), not real message pub/sub.
@vercel

vercel Bot commented Jun 2, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the NexusCore Team on Vercel.

A member of the Team first needs to authorize it.

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