Skip to content

bug: coordinator.md agent prompt is compression-fragile — critical constraints likely lost under DCP #46

Description

@jflowers

Summary

internal/agentkit/content/agents/coordinator.md is 22 lines and expresses the entire coordinator behavioral contract as 6 bullet points in a "Rules" section. When tools like DCP compress session context, critical constraints in this file are likely to be lost or weakened, leading to unreliable coordinator behavior.

Related to unbound-force/unbound-force#346 — same class of vulnerability (prompt constraints that do not survive context compression).

Specific Fragilities

1. Negative constraint buried in a bullet list

Line 14: - Never reserve files (workers reserve their own)

A compressor summarizing "what the coordinator does" will likely drop this prohibition. A coordinator that starts reserving files would cause deadlocks with workers trying to reserve the same files.

2. "Every" qualifier easily weakened

Line 15: - Review every worker completion (forge_review)

Compressed to "reviews worker output" — loses the mandatory-for-ALL-completions semantic. The coordinator could skip reviews for some workers, bypassing the quality gate.

3. Implicit ordering between review and complete

There is no stated ordering between forge_review and forge_complete. A compressed-context agent could call forge_complete before forge_review, bypassing quality checks entirely.

4. No identity reinforcement

The file never restates who the coordinator is or what it must NOT do in a way that would survive as a compressed summary's opening sentence. A compressor would reduce this to "Orchestrates forge work" and drop the constraints.

Proposed Hardening

  • Lead with constraints before workflow (compressors prioritize opening content)
  • Move critical invariants ("never reserve files", "always review before complete") into a dedicated section with a strong header that survives compression
  • Add explicit ordering: "You MUST call forge_review for every worker BEFORE calling forge_complete"
  • Add opening identity statement that embeds key constraints: "You are a coordinator. You orchestrate workers but NEVER reserve files or edit code directly. You MUST review every worker completion before marking it done."

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions