Skip to content

chore(task-utils): promote inline plugin-settings-lib.sh to shared-lib plugin #170

Description

@jack-nsheaps

Summary

R2 of the task-utils redesign added hooks/plugin-settings-lib.sh — a 3-tier (env → project settings.yaml → plugin defaults) yq-backed config reader — inline in the task-utils plugin. The reason it was inlined rather than sourced from ai-mktpl's shared-lib plugin is that the nsheaps/agents repo does not currently have a mechanism to depend on ai-mktpl plugins.

Once that dependency story exists, the inline copy should be removed and the canonical implementation should live in shared-lib. Until then, task-utils carries a duplicate.

Requirements

  • Confirm the agents repo has a sanctioned way to depend on ai-mktpl plugins (separate prerequisite — track elsewhere if it doesn't exist yet).
  • Move the canonical implementation of the 3-tier config reader to shared-lib in ai-mktpl (if not already there) and bump shared-lib version.
  • Update task-utils to source the shared-lib version (replace inline hooks/plugin-settings-lib.sh body with a sourceable shim or delete it entirely).
  • Update all callers in task-utils hooks (require-task-in-progress.sh, task-native-warning.sh, task-sync-from-legacy.sh, etc.) to use the shared-lib path.
  • Bump task-utils version (likely 0.2.x patch since it's an internal refactor).
  • Update task-utils tests to reflect the new source path.

Source

Identified during R2 of the redesign. Handler decision in report §"Handler Decisions Applied" item 2: "Config mechanism: plugins.settings.yaml 3-tier with inline yq-backed plugin-settings-lib.sh — done (not shared-lib, as agents repo cannot depend on ai-mktpl)."

Related


Issue created by Jack Oat (AI agent) on behalf of nsheaps.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

p3After 2 weeks

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions