Skip to content

Meta-level control knowledge sources — BB1-style stall detection and strategy switching #78

@mdproctor

Description

@mdproctor

Overview

Implement BB1-style meta-level control: control knowledge sources that monitor whether problem-solving is proceeding as expected and can switch `WorkerSelectionStrategy` when stalled.

Part of epic #77 (Blackboard Architecture Evolution).

Background

BB1 (Hayes-Roth 1985) introduced a key insight: apply the blackboard architecture to its own control. Meta-level knowledge sources monitor the blackboard for signs of stall (no progress, circular activation, resource exhaustion) and intervene — switching strategy, adjusting priorities, or escalating to a human.

Current CaseHub: `WorkerSelectionStrategy` reasons about which PlanItem to activate but has no mechanism to detect stall and self-modify.

What to build

  • A `MetaControlStrategy` interface (or extension to `WorkerSelectionStrategy`) that receives execution history and can:
    • Detect stall conditions (N cycles with no new CaseContext writes)
    • Switch to an alternative `WorkerSelectionStrategy` at runtime
    • Inject synthetic PlanItems (e.g. "request human review")
    • Adjust priority weights dynamically based on observed outcomes
  • Integration with EventLog — stall detection reads recent `WORKER_EXECUTION_COMPLETED` entries
  • A default `NoOpMetaControlStrategy` (current behaviour)

Research reference

BB1 meta-control paper; reactive scheduling with reason maintenance (ScienceDirect).
Connects to: #30 (epic), #77 (evolution epic)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfuturePlanned work for future releases.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions