Skip to content

Plan next steps for making candidate selection stage plugable #548

@faridseifi

Description

@faridseifi

Here are potential next steps:
☑ Update dependency management for SCAFFOLD based on uv instead of poetry

Clean up esteemer base class

☐ Move loading environment variables from esteemer base class to pipeline startup
☐ Move loading of preferences and history from esteemer base class to MPM candidate selector
☐ Base class should be dictating the select method
☑ Move MPM_prioritization package back to SCAFFOLD
☐ Rename MPM_prioritization to MPM_candidate_selector

Make the esteemer plugin more complete and robust

☐ Update esteemer to load scaffold.esteemer plugins and choose one (default or configured one) and use its select method. IT MAY BE IMPORTANT TO ONLY USE THE SPECIFIED PLUGIN RATHER THAN A DEFAULT. Maybe allow an override via environment variable.
☐ load the configuration for selection plugin from knowledge base with the version which will be check by plugin loader. Either using package-lib and/or add a version() method to the base class
☐ Make it a python plugin for scaffold.esteemr and set it as the default plugin for esteemer, update tests as needed.
☐ Move back and update MPM_candidate_selector tests from external package
☐ Clean up prioritization algorithms added to the knowledge base

☐ Create and test a random candidate selector plugin for scaffold.esteemer plugins

☐ Add JSON inputs to the MPM_candidate_selector to load preferences and history

☐ Build SCAFFOLD model (core) and include things like namespaces, esteemer base class, may be signal detectors.

☐ Create a manual for creating and using a new selection algorithm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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