vicTop-cw/fist-mbt/src/core does not have a README file

    Action

    pub enum Action {
    CreateSpec
    ReviewSpec
    } derive(Eq,
    Debug
    )

    每个任务的完整操作清单(仅保留 Omega 强验证相关 Action)

    Action::to_string

    fn Action::to_string(self : Action) -> String

    Action 可读名(供错误消息)

    Principle

    pub struct Principle {
    index : Int
    title : String
    body : String
    } derive(Eq,
    Debug
    )

    单条原则

    Principle::get_body

    fn Principle::get_body(self : Principle) -> String

    Principle::get_index

    fn Principle::get_index(self : Principle) -> Int

    Principle::get_title

    fn Principle::get_title(self : Principle) -> String

    Principle::to_json

    fn Principle::to_json(self : Principle) -> Json

    单条原则转 JSON(供 resource 输出)

    Role

    pub enum Role {
    HumanSteward
    Leader
    Searcher
    Allocator
    Executor
    Verifier
    Recorder
    Observer
    SpecAuthor
    } derive(Eq,
    Debug
    )

    八角色

    Role::description

    fn Role::description(self : Role) -> String

    角色职责说明

    Role::from_string

    fn Role::from_string(s : String) -> Role?

    Role::to_string

    fn Role::to_string(self : Role) -> String

    Task

    pub struct Task {
    id : String
    parent_id : String?
    project_dir : String
    ns : String
    priority : String
    importance : String
    depth : Int
    split_n : Int
    status : TaskStatus
    assignee : String?
    description : String
    deliverable : String
    created_at : String
    updated_at : String
    completed_by : String?
    cleanup_mode : String
    depends_on : Array[String]
    } derive(Eq,
    Debug
    )

    FIST-Mbt 任务实体

    Task::archive

    fn Task::archive(self : Task) -> Result[Task, String]

    已完成 -> 已归档

    Task::claim

    fn Task::claim(self : Task, assignee~ : String) -> Result[Task, String]

    待领取 -> 已领取(角色:any active agent)

    Task::complete

    fn Task::complete(self : Task, completed_by~ : String) -> Result[Task, String]

    待验收 -> 已完成(人类主权:completed_by 必须 human / human_steward 或明确授权)

    Task::execute

    fn Task::execute(self : Task) -> Result[Task, String]

    拆分中 -> 执行中(进入执行)

    Task::from_db

    fn Task::from_db(id : String, parent_id : String?, project_dir : String, ns : String, priority : String, importance : String, depth : Int, split_n : Int, status_s : String, assignee : String?, description : String, deliverable : String, created_at : String, updated_at : String, completed_by : String?, cleanup_mode : String, depends_on : Array[String]) -> Task

    按存储行字段直接构建任务(供 store 层反序列化使用;status 为存储字符串,非法回退 Pending)

    Task::get_assignee

    fn Task::get_assignee(self : Task) -> String?

    Task::get_depth

    fn Task::get_depth(self : Task) -> Int

    Task::get_description

    fn Task::get_description(self : Task) -> String

    Task::get_id

    fn Task::get_id(self : Task) -> String

    Task::get_parent

    fn Task::get_parent(self : Task) -> String?

    Task::get_status

    fn Task::get_status(self : Task) -> TaskStatus

    Task::get_updated_at

    fn Task::get_updated_at(self : Task) -> String

    Task::is_leaf

    fn Task::is_leaf(self : Task) -> Bool

    Task::mark_decomposing

    fn Task::mark_decomposing(self : Task) -> Result[Task, String]

    拆分中标记(AO 式拆解用,宽于 split:待领取/已领取/拆分中均可转入)

    Task::new

    fn Task::new(id~ : String, project_dir~ : String, description? : String, priority? : String, importance? : String, depth? : Int, split_n? : Int, parent_id? : String, assignee? : String, cleanup_mode? : String, created_at? : String, ns? : String, depends_on? : Array[String]) -> Task

    构造器(字段带默认值)

    Task::pause

    fn Task::pause(self : Task) -> Result[Task, String]

    任意活跃状态 -> 已暂停(外部中断/等待依赖)

    Task::reject

    fn Task::reject(self : Task, reason? : String) -> Result[Task, String]

    待验收 -> 已打回(验收不通过,需重做)

    Task::reopen

    fn Task::reopen(self : Task) -> Result[Task, String]

    任意非归档状态 -> 已领取(被打回重做)

    Task::resume_task

    fn Task::resume_task(self : Task) -> Result[Task, String]

    已暂停 -> 已领取(恢复执行)

    Task::retry

    fn Task::retry(self : Task) -> Result[Task, String]

    已打回 -> 执行中(重新执行)

    Task::split

    fn Task::split(self : Task) -> Result[Task, String]

    已领取 -> 拆分中(指挥官拆解)

    Task::status_to_string

    fn Task::status_to_string(self : Task) -> String

    便捷状态访问

    Task::submit

    fn Task::submit(self : Task) -> Result[Task, String]

    执行中 -> 待验收

    Task::to_json

    fn Task::to_json(self : Task) -> Json

    任务转 JSON(供 MCP resource / tool 输出)

    Task::with_deliverable

    fn Task::with_deliverable(self : Task, deliverable : String, now : String) -> Task

    Task::with_updated_at

    fn Task::with_updated_at(self : Task, now : String) -> Task

    记录类复制更新(跨包不便直接构造 record,由 core 提供)

    TaskStatus

    pub enum TaskStatus {
    Pending
    Claimed
    Splitting
    Executing
    Reviewing
    Completed
    Archived
    Rejected
    Paused
    } derive(Eq,
    Debug
    )

    任务七态状态机

    TaskStatus::can_execute

    fn TaskStatus::can_execute(self : TaskStatus) -> Bool

    TaskStatus::can_split

    fn TaskStatus::can_split(self : TaskStatus) -> Bool

    状态谓词(供跨包业务层判断,避免直接构造变体)

    TaskStatus::from_string

    fn TaskStatus::from_string(s : String) -> TaskStatus?

    TaskStatus::is_active

    fn TaskStatus::is_active(self : TaskStatus) -> Bool

    TaskStatus::is_archived

    fn TaskStatus::is_archived(self : TaskStatus) -> Bool

    TaskStatus::is_claimed

    fn TaskStatus::is_claimed(self : TaskStatus) -> Bool

    TaskStatus::is_completed

    fn TaskStatus::is_completed(self : TaskStatus) -> Bool

    TaskStatus::is_executing

    fn TaskStatus::is_executing(self : TaskStatus) -> Bool

    TaskStatus::is_paused

    fn TaskStatus::is_paused(self : TaskStatus) -> Bool

    TaskStatus::is_pending

    fn TaskStatus::is_pending(self : TaskStatus) -> Bool

    TaskStatus::is_rejected

    fn TaskStatus::is_rejected(self : TaskStatus) -> Bool

    TaskStatus::is_reviewing

    fn TaskStatus::is_reviewing(self : TaskStatus) -> Bool

    TaskStatus::is_splitting

    fn TaskStatus::is_splitting(self : TaskStatus) -> Bool

    TaskStatus::order

    fn TaskStatus::order(self : TaskStatus) -> Int

    TaskStatus::to_string

    fn TaskStatus::to_string(self : TaskStatus) -> String

    can

    fn can(role : Role, action : Action) -> Bool

    权限判定:Can(HumanSteward, 任意) = true; 非人类角色只能做自己职责内的非破坏性动作。

    child_id

    fn child_id(parent_id~ : String, idx~ : Int) -> String

    ensure_can

    fn ensure_can(role : Role, action : Action) -> Result[Unit, String]

    权限校验函数(带可读错误消息)

    ensure_can_create_spec

    fn ensure_can_create_spec(actor : String) -> Result[Unit, String]

    Omega 强验证:语料创建权校验(供 engine 包调用,避免跨包构造枚举值)

    ensure_can_review_spec

    fn ensure_can_review_spec(actor : String) -> Result[Unit, String]

    Omega 强验证:语料审核 / 成果复验权校验

    principles

    fn principles() -> Array[Principle]

    七条金条的权威定义(与 FIST-SKILL/Python 版保持同源)

    principles_json

    fn principles_json() -> Json

    全部原则转 JSON 数组

    role_of

    fn role_of(s : String) -> Result[Role, String]

    从字符串解析角色(MCP 参数用)