---
slug: softpowers-to-servotab
kind: builds
title: "Softpowers → Servotab：一次保留 lineage 的 plugin migration"
dek: "Method as exponent, not machinery."
description: "Servotab 在 31 Aug 2026 完成 identity、plugin package、public source 与 live site migration 时，哪些边界已经跨过，哪些仍然没有。"
publishedAt: 2026-08-31
revisedAt: 2026-08-31
status: snapshot
statusNote: "固定于 Servotab public main e53dcbc（31 Aug 2026）；0.4.0-rc1 仍是 source candidate。"
lang: zh-CN
readingMinutes: 5
featured: true
tags:
  - Servotab
  - Softpowers
  - plugin architecture
  - migration
searchTerms:
  - Method as exponent not machinery
  - Codex plugin
  - source generated boundary
  - public source candidate
origin:
  authority: folium
  ref: content/native/builds/softpowers-to-servotab.md
  revision: r1
  releaseId: null
rawPath: builds/softpowers-to-servotab.md
relations:
  - label: source → Servotab repository
    href: https://github.com/IndelibleVivi/servotab
  - label: state → current public boundary
    href: https://github.com/IndelibleVivi/servotab/blob/e53dcbc70b5f28a9d2bf1cbde143be47290cca0c/docs/current-state.md
  - label: lineage → migration from Softpowers
    href: https://github.com/IndelibleVivi/servotab/blob/e53dcbc70b5f28a9d2bf1cbde143be47290cca0c/docs/migration-from-softpowers.md
  - label: live → servotab.com
    href: https://servotab.com
authorNote: "这是一份 source-backed Folium build trace。它不从 commit sequence 推断 rename motive，也不使用 private migration discussion。"
artifacts: []
revisions:
  - id: r1
    note: "记录 PR #7 至 PR #10 的 public migration state 与 stop points。"
traceNote: "PROJECT_HISTORY 来自 public commits；CURRENT_PRODUCT 来自 e53dcbc 的 README、AGENTS 与 current-state。Installed、live、tag、release、submission 和 listing 保持为不同状态。"
---

31 Aug 2026，原来的 Softpowers public repository 沿着原有 Git history 成为 Servotab。这里的“成为”不是把旧 release、旧版本和旧 provenance 统一改名：历史仍然叫 Softpowers，当前 source、plugin identity、website 与 documentation 才进入 Servotab 的边界。

这次 migration 在 public `main` 上留下了几段可以分别检查的记录。PR #7（`f110fbcd`）完成 core identity 与 plugin-native package migration；PR #8（`9e5213d`）建立 public source-checkout route；随后 `3dd4121` 固定 live deployment state。PR #10 合入为 `e53dcbc`，继续整理 submission-facing metadata 与 site，但它没有把“准备好被检查”写成“已经 submitted”。

## 一层 canonical method source，一层 generated plugin

Servotab 当前不是十三份彼此独立漂移的 Skill source。十二份 method body 由 `methods/*.md` 拥有，skill identity、description 与 activation metadata 由 `scripts/skill_catalog.py` 拥有；`scripts/build_skills.py` 再生成 `plugins/servotab/**`。Generated package 是可验证的 projection，不是第二份可以直接修正文的 authority。

对外的 package topology 是一个可 implicit routing 的 `servotab`，加十二个 explicit-only leaves：`design`、`spec-chain`、`plan`、`execute`、`debug`、`tdd`、`review`、`review-feedback`、`verify`、`worktree`、`delegate` 与 `finish`。普通任务不必先挑 method；明确调用 leaf 时，选择仍由当前 prompt、repo contract 与权限边界约束。

旧的 root `skills/` projection、`install.sh` 与 global-skill installer 已退出 current source。Public route 现在是 repository marketplace / source checkout；legacy retirement 仍由 manifest ownership、read-only preflight 与逐层 LIFO mutation 控制，不能被“新 plugin 已安装”自动授权。

## 已经跨过的边界，与仍然停着的边界

当前 public source candidate 是 `0.4.0-rc1`。Repository 已公开；maintainer environment 已记录 exact plugin installation 与 fresh-process behavior receipt；`servotab.com` 已 live；public repository 与旧地址之间保留 lineage route。

这些事实仍然没有产生 tag 或 GitHub Release，也没有产生 OpenAI plugin directory submission、approval 或 listing。`submission-ready` 只描述 source 和 metadata 的当前形状，不是外部目录状态。

因此这条 trace 记录的不是一次 launch announcement，而是一次 authority migration：历史不被 rename 擦掉，canonical method 不被 generated package 夺走，安装、部署与 public listing 也不被一个绿色 build 合并成同一个完成态。

> Method as exponent, not machinery.

在这个 snapshot 里，这句话首先是一条 architecture constraint：方法应该放大已经存在的判断能力；任务清楚时，它没有理由为自己制造更多 machinery。
