Skip to content

Eliminate remaining target-spine dependency back-edges #1182

Description

@devin-ai-integration

Goal

Drive scripts/layering/back-edge-baseline.json toward zero in dependency-safe PRs. PR #1174 made
the exact identities down-only; this issue coordinates removal without a mass rewrite.

Current edge classes

  • client -> daemon-client (1)
  • commands -> cli (7)
  • commands -> client (3)
  • commands -> daemon-server (2)
  • platforms -> core (16)
  • platforms -> daemon-server (7)

Sequence

  1. Move shared CLI flag/schema contracts below CLI; remove commands -> cli.
  2. Move command-aware serializers/normalizers/contracts below the client projection; remove
    commands -> client.
  3. Move selector-resolution contracts used by commands out of daemon-server.
  4. Move request cancellation/progress and other neutral request primitives below daemon-server;
    remove platforms -> daemon-server.
  5. Classify and invert platforms -> core by neutral contract family, one family per PR.
  6. Remove the remaining client -> daemon-client edge or document a corrected target-layer name if
    the dependency is conceptually legal.

Each child PR must delete exact identities from the baseline and add or tighten the corresponding
layering rule. Do not regenerate or raise the baseline.

Constraints

  • Preserve public imports and runtime behavior.
  • Prefer neutral contract moves over wrappers or re-export barrels.
  • Split large tests only when the source seam changes.
  • Do not combine multiple edge classes in one PR.

Completion

  • commands -> cli is zero
  • commands -> client is zero
  • commands -> daemon-server is zero
  • platforms -> daemon-server is zero
  • platforms -> core is zero or the target DAG is explicitly corrected by ADR
  • client -> daemon-client is zero or the target DAG is explicitly corrected by ADR

Origin: post-#1174 architecture follow-up.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    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