Skip to content

[MAJOR] §4: Synchronous getMessage() polling inside async coroutine in ChiefArchitectAgent #509

@mvillmow

Description

@mvillmow

Finding

Severity: MAJOR
Section: 4
Evidence: src/agents/chief_architect_agent.cpp:60-66
Principle: SOLID

ChiefArchitectAgent::sendCommand() calls the synchronous getMessage() method inside a C++20 coroutine (co_return / co_await function). This creates a broken async contract: the coroutine blocks waiting for a message via synchronous polling rather than suspending. This is a latent race condition and architectural inconsistency that would be triggered under concurrent message bus usage.


Part of #504

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions