Skip to content

fix(governance): distinguish ephemeral tools from project dependencies #346

Description

@SUaDtL

Problem

$ca-add-dep currently applies whenever an agent needs to download and execute a third-party package, even when the package is an operator-approved, one-time developer analysis tool that will not be added to the project.

This conflates two different actions:

  1. adopting or changing a project dependency, which must update and review the manifest and lockfile;
  2. running an ephemeral developer tool such as jscpd to inspect the repository, with no project dependency or shipped artifact change.

The current behavior interrupted a duplicate-code investigation and insisted on project dependency review despite an explicit instruction that jscpd was not required by codeArbiter and must not be listed as a dependency.

Expected behavior

  • $ca-add-dep governs dependencies that enter or change the project's dependency graph.
  • An explicitly operator-approved, one-time developer tool can use a separate bounded tool-execution review or confirmation path.
  • Ephemeral tooling must not modify package manifests or lockfiles unless the operator separately asks to adopt it.
  • The execution path should still pin the exact package version, use the approved registry, isolate outputs/caches where practical, and report what ran.

Acceptance criteria

  • Route project dependency adoption through $ca-add-dep unchanged.
  • Do not describe or record an ephemeral analysis tool as a project dependency.
  • Permit an operator-approved one-time tool invocation without manifest or lockfile changes.
  • Add regression coverage for the distinction.

Reported by: SUaDtL@users.noreply.github.com

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions