Skip to content

Plan next steps for making candidate selection stage plugable #548

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 (configured one) and use its select method. IT IS IMPORTANT TO ONLY USE THE SPECIFIED PLUGIN RATHER THAN A DEFAULT. 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 mpm_candidate_selector 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
☑ Cleaning up preformer_graph used instead of subject_graph
☑ Pass context to the init instead of passing which parts to pass

☐ 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

    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