OpenBitFun Playbook 当前包含 22 个功能和 21 个设置页,共 43 个用户可理解的条目、321 项有源码证据的子能力。每个条目有独立 Markdown,并直接服务于说明书网站、OpenBitFun 全局搜索和 OpenBitFunControl Agent 工具。
OpenBitFun Playbook currently contains 22 features, 21 settings pages, and 321 source-backed sub-capabilities across 43 user-facing entries. Every entry has its own Markdown page and directly powers the website, in-app global search, and the OpenBitFunControl agent tool.
-
手工维护的说明、关键词与证据 overlay:
src/shared/interactive-capabilities/catalog.json -
编译期业务 Query/Command、schema、风险与 handler owner:
src/crates/contracts/product-domains/src/product_control_owner_registry.rs -
真实主题值源:
src/apps/desktop/src/generated/startup_appearance_bootstrap.json -
真实语言值源:
src/shared/i18n/contract/locales.json -
生成的公开目录:
docs/interactive-capabilities/capabilities.json -
生成的前端运行目录:
src/web-ui/src/app/global-search/generated/interactive-capabilities.json -
生成的产品控制目录:
src/crates/contracts/product-domains/src/generated/product-control-catalog.json -
生成的交互项逐项审计:
docs/interactive-capabilities/technical/product-control-open-audit.json -
生成的底层审计表:
docs/interactive-capabilities/technical/tauri-command-map.json -
Human-authored explanations, keywords, and evidence overlay:
src/shared/interactive-capabilities/catalog.json -
Compiled business Query/Command, schema, risk, and handler owners:
src/crates/contracts/product-domains/src/product_control_owner_registry.rs -
Real theme values:
src/apps/desktop/src/generated/startup_appearance_bootstrap.json -
Real locale values:
src/shared/i18n/contract/locales.json -
Generated public catalog:
docs/interactive-capabilities/capabilities.json -
Generated frontend catalog:
src/web-ui/src/app/global-search/generated/interactive-capabilities.json -
Generated runtime catalog:
src/crates/contracts/product-domains/src/generated/product-control-catalog.json -
Generated per-item interaction audit:
docs/interactive-capabilities/technical/product-control-open-audit.json -
Generated low-level audit map:
docs/interactive-capabilities/technical/tauri-command-map.json
说明书、网站、搜索和 Agent 只看“功能 + 设置 + 子能力”。每项子能力都必须引用已注册 Tauri Command 或可解析的源码标记;这些证据不会进入公开目录。当前 673 个 Tauri 命令只用于实现覆盖审计。产品 UI 交互源码会在生成和检查时扫描并校验,但不会保存成随普通 UI 改动频繁变化的版本化快照。
Docs, website, search, and agents see only features, settings, and documented sub-capabilities. Every sub-capability must reference a registered Tauri command or a resolvable source marker; evidence is stripped from public projections. The 673 Tauri commands remain implementation-audit evidence only. Product UI interaction sources are scanned and validated during generation and checks, but are not stored as a versioned snapshot that churns with ordinary UI changes.
-
每个子能力都明确标记为直接控制、委托给专用 Agent 工具、需交互打开或不支持;“打开页面”不会再被统计成“Agent 已控制”。当前覆盖:直接 48、委托 61、需交互 212、不支持 0。
-
稳定行为声明为带 JSON 输入契约的
operations或options,并绑定原生产品控制 Provider;Agent 不接触原始 Tauri Command。 -
OpenBitFunControl list和search都返回带nextCursor的精简分页结果;目录可持续增长,不靠固定总量上限。完整目录和 321 项子能力都不会写入 system prompt。 -
目录发现与契约读取不依赖 React 或可见窗口。普通配置型 option 统一由 Product Assembly 的共享 ConfigService 执行器读、写并回读,因此 Desktop、CLI 与 Headless 表面走同一份实现;只有宿主原生 operation/provider option 和界面导航按表面注册适配器,缺失时必须明确返回不可用,禁止静默回退本机。只读 Agent 只能发现和读取目录。
-
Every documented item is classified as direct control, delegated Agent control, interactive opening, or unsupported; opening a page is never counted as direct control. Current coverage is 48 direct, 61 delegated, 212 interactive, and 0 unsupported.
-
Stable behavior becomes a typed
operationoroptionwith a JSON input contract and a native product-control provider. Agents never receive raw Tauri commands. -
OpenBitFunControl listandsearchreturn compact pages with anextCursor; the catalog can grow without a fixed total-size ceiling. Neither the full catalog nor its 321 documented items enters the system prompt. -
Discovery and contract lookup do not depend on React or a visible window. Ordinary config-backed options are read, written, and read back by one Product Assembly ConfigService executor shared by Desktop, CLI, and headless surfaces. Only host-native operations/provider options and presentation routes install surface adapters; missing adapters return explicit unavailability without local fallback. Read-only agents may only discover and inspect entries.
-
设置页、产品动作与场景注册表必须全部映射到一个语义条目。
-
所有设置子视图必须有同源的子能力直达目标,失效的页签 ID 会阻断生成。
-
每个功能和设置都必须完整列出其真实子能力,并具备中英文、稳定 ID 与源码证据;门禁不以凑数阈值代替完整性审查。
-
每项子能力必须声明控制类型;所有 operation/option 必须被说明书条目引用,静态值必须符合 schema,任何未绑定 Provider 都会在 Rust 契约测试中失败。
-
每个共享配置 option 必须从默认配置可读、绑定到类型化 GlobalConfig,并能通过真实 ConfigService 写入后回读;Desktop 原生 Provider 也必须逐项绑定,新增但漏接的 handler 会阻断 CI。
-
Operation 可声明结构化参数,但必须拒绝未知字段;无参数的 UI 动作若误声明参数,生成会失败。
-
Tauri 命令、设置页、场景和产品动作按结构闭包校验;新增事实如果没有业务绑定、说明证据或明确的内部分类会直接失败。UI 交互源码清单在内存中审计,不作为需提交的生成产物。
-
所有投影共享同一个 graph hash;生成文件有差异就失败,不存在可通过抬高计数或更新摘要绕过的基线。
-
Every settings page, product action, and scene registration must map to one semantic entry.
-
Every settings subview needs a same-source item destination; stale view IDs fail generation.
-
Every feature and setting must enumerate its real sub-capabilities with bilingual text, stable IDs, and source evidence; the gate does not substitute padding quotas for completeness review.
-
Every item must declare its control class. Every operation/option must be referenced by a manual item, static values must satisfy their schema, and Rust contract tests reject provider bindings without an implementation.
-
Every shared config option must be readable from defaults, bind to typed GlobalConfig, and round-trip through the real ConfigService. Desktop native providers are exhaustively bound as well, so a new but unwired handler fails CI.
-
Operations may declare structured arguments but must reject unknown fields. Argument declarations on parameterless UI actions fail generation.
-
Tauri commands, settings pages, scenes, and product actions are checked as structural closure; a new fact without an owner binding, documentation evidence, or explicit internal classification fails. The UI interaction-source inventory is audited in memory instead of becoming a committed generated artifact.
-
Every projection carries the same graph hash. Generated drift fails directly, with no editable count or digest baseline that can be raised to bypass review.