Skip to content

router/rule_based_router.hpp

Rule-based prompt router (PTDS §6.1) More...

Namespaces

Name
sgns
sgns::neoswarm
sgns::neoswarm::router

Classes

Name
class sgns::neoswarm::router::RuleBasedRouter
MVP rule-based routing (PTDS §6.1).
struct sgns::neoswarm::router::RuleBasedRouter::Config

Detailed Description

Rule-based prompt router (PTDS §6.1)

Date: 2026-05-06

Source code

#ifndef NEOSWARM_ROUTER_RULEBASEDROUTER_HPP
#define NEOSWARM_ROUTER_RULEBASEDROUTER_HPP

#include "i_router.hpp"
#include "prompt_analyzer.hpp"

namespace sgns::neoswarm::router
{
    class RuleBasedRouter : public IRouter
    {
        public:
        struct Config
        {
            float numeric_density_threshold_ = 0.30f;
            float complexity_swarm_threshold_ = 5.0f;
            bool enable_swarm_m_mode = true;
        };

        RuleBasedRouter();
        explicit RuleBasedRouter( Config cfg );

        outcome::result<RouteDecision> Route( const Task& task ) override;

        private:
        Config m_cfg;
        PromptAnalyzer m_analyzer;

        ExecutionMode SelectMode( const PromptFeatures& features, ExecutionMode requested ) const;
    };

} // namespace sgns::neoswarm::router

#endif // NEOSWARM_ROUTER_RULEBASEDROUTER_HPP

Updated on 2026-07-25 at 22:56:57 +0000