pomaster 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COMMERCIAL_LICENSE.md +35 -0
- package/LICENSE +83 -0
- package/README.md +396 -0
- package/SECURITY.md +22 -0
- package/TRADEMARKS.md +12 -0
- package/catalog/candidates/candidates-draft.json +198 -0
- package/catalog/candidates/rejected.json +422 -0
- package/catalog/catalog-lock.draft.json +822 -0
- package/catalog/gates/gate.be.api.contract_checks.json +138 -0
- package/catalog/gates/gate.be.chg.contract_change_checks.json +138 -0
- package/catalog/gates/gate.chg.prechange_checks.json +155 -0
- package/catalog/gates/gate.web.api.request_checks.json +149 -0
- package/catalog/gates/gate.web.grid.checks.json +149 -0
- package/catalog/knowledge/knowledge.api.example_stable_error_code.json +80 -0
- package/catalog/knowledge/knowledge.chg.example_compat_window.json +87 -0
- package/catalog/knowledge/knowledge.chg.example_prop_migration.json +87 -0
- package/catalog/knowledge/knowledge.fp.api.field_drift_no_contract.json +83 -0
- package/catalog/knowledge/knowledge.fp.api.per_page_http_client.json +83 -0
- package/catalog/knowledge/knowledge.fp.be.contract_drift.json +87 -0
- package/catalog/knowledge/knowledge.fp.chg.page_local_padding.json +88 -0
- package/catalog/knowledge/knowledge.fp.grid.global_td_width.json +87 -0
- package/catalog/knowledge/knowledge.web.api.example_get_entity_list.json +83 -0
- package/catalog/knowledge/knowledge.web.grid.example_column_preset.json +83 -0
- package/catalog/policies/authority.be.api_contract_ownership.json +77 -0
- package/catalog/policies/authority.be.contract_ownership.json +73 -0
- package/catalog/policies/authority.chg.change_owners.json +75 -0
- package/catalog/policies/authority.web.api.request_owners.json +82 -0
- package/catalog/policies/authority.web.grid.ownership.json +78 -0
- package/catalog/policies/policy.api.backward_compat_defaults.json +83 -0
- package/catalog/policies/policy.api.contract_impl_consistency.json +81 -0
- package/catalog/policies/policy.api.no_informal_contract.json +82 -0
- package/catalog/policies/policy.arch.decision_tradeoff_record.json +78 -0
- package/catalog/policies/policy.cache.lifecycle_definition.json +79 -0
- package/catalog/policies/policy.chg.affect_templates.json +79 -0
- package/catalog/policies/policy.chg.breaking_versioning.json +81 -0
- package/catalog/policies/policy.chg.compat_migration_rollback.json +82 -0
- package/catalog/policies/policy.chg.deprecate_before_delete.json +82 -0
- package/catalog/policies/policy.chg.fix_at_root_cause_level.json +78 -0
- package/catalog/policies/policy.chg.observable_evolution.json +78 -0
- package/catalog/policies/policy.chg.prechange_consumer_scan.json +83 -0
- package/catalog/policies/policy.chg.staged_rollout.json +79 -0
- package/catalog/policies/policy.chg.sync_contract_docs_tests.json +81 -0
- package/catalog/policies/policy.conflict.priority_ladder.json +79 -0
- package/catalog/policies/policy.dep.admission_six_dimension_check.json +84 -0
- package/catalog/policies/policy.dep.change_surface_review.json +82 -0
- package/catalog/policies/policy.dep.introduction_review.json +83 -0
- package/catalog/policies/policy.derived.single_implementation.json +77 -0
- package/catalog/policies/policy.obs.correlation_context_minimum.json +81 -0
- package/catalog/policies/policy.obs.rum_dimension_whitelist.json +77 -0
- package/catalog/policies/policy.proc.pre_code_declaration.json +78 -0
- package/catalog/policies/policy.rel.pre_release_confirmation.json +77 -0
- package/catalog/policies/policy.role.domain_decision_authority.json +77 -0
- package/catalog/policies/policy.sec.third_party_execution_register.json +78 -0
- package/catalog/policies/policy.spec.admission_criteria.json +79 -0
- package/catalog/policies/policy.spec.derived_view_regeneration.json +79 -0
- package/catalog/policies/policy.spec.draft_not_baseline.json +77 -0
- package/catalog/policies/policy.spec.file_structure_contract.json +76 -0
- package/catalog/policies/policy.spec.metadata_required.json +76 -0
- package/catalog/policies/policy.spec.post_dev_backfill_classify.json +74 -0
- package/catalog/policies/policy.spec.procedural_record_not_surrogate.json +76 -0
- package/catalog/policies/policy.spec.semantic_identity.json +77 -0
- package/catalog/policies/policy.spec.unresolved_ledger_gate.json +79 -0
- package/catalog/policies/policy.stack.no_implicit_selection.json +77 -0
- package/catalog/policies/policy.tool.scoped_scan_boundary.json +78 -0
- package/catalog/policies/policy.web.api.auth_app_client_split.json +93 -0
- package/catalog/policies/policy.web.api.client_change_impact.json +86 -0
- package/catalog/policies/policy.web.api.domain_api_only.json +84 -0
- package/catalog/policies/policy.web.api.error_normalization.json +82 -0
- package/catalog/policies/policy.web.api.generated_client.json +82 -0
- package/catalog/policies/policy.web.api.late_result_guard.json +80 -0
- package/catalog/policies/policy.web.api.mutation_idempotency.json +84 -0
- package/catalog/policies/policy.web.api.no_network_optimism.json +82 -0
- package/catalog/policies/policy.web.api.query_cancel_stale_drop.json +80 -0
- package/catalog/policies/policy.web.api.request_infrastructure.json +95 -0
- package/catalog/policies/policy.web.api.retry_discipline.json +87 -0
- package/catalog/policies/policy.web.api.session_recovery_split.json +94 -0
- package/catalog/policies/policy.web.api.single_http_client.json +88 -0
- package/catalog/policies/policy.web.api.single_loading_source.json +81 -0
- package/catalog/policies/policy.web.api.transport_vs_business.json +81 -0
- package/catalog/policies/policy.web.api.trusted_endpoint_source.json +82 -0
- package/catalog/policies/policy.web.api.typed_domain_naming.json +79 -0
- package/catalog/policies/policy.web.arch.layer_isolation.json +376 -0
- package/catalog/policies/policy.web.arch.naming_conventions.json +207 -0
- package/catalog/policies/policy.web.arch.public_api_barrel.json +134 -0
- package/catalog/policies/policy.web.chg.controlled_change_triggers.json +79 -0
- package/catalog/policies/policy.web.copy.suppression_ledger_discipline.json +78 -0
- package/catalog/policies/policy.web.grid.column_schema_fields.json +78 -0
- package/catalog/policies/policy.web.grid.config_isolation.json +78 -0
- package/catalog/policies/policy.web.grid.freeze_key_columns.json +77 -0
- package/catalog/policies/policy.web.grid.interaction_registry.json +80 -0
- package/catalog/policies/policy.web.grid.keyboard_clipboard.json +79 -0
- package/catalog/policies/policy.web.grid.schema_driven_shell.json +81 -0
- package/catalog/policies/policy.web.grid.schema_versioning.json +78 -0
- package/catalog/policies/policy.web.grid.server_ops_virtualization.json +81 -0
- package/catalog/policies/policy.web.grid.shell_change_matrix.json +76 -0
- package/catalog/policies/policy.web.grid.width_fix_ladder.json +79 -0
- package/catalog/policies/policy.web.perf.budget_skeleton.json +110 -0
- package/catalog/policies/policy.web.style.ownership_matrix.json +207 -0
- package/catalog/policies/policy.web.track.consent_lifecycle.json +78 -0
- package/catalog/policies/policy.web.track.privacy_default_deny.json +81 -0
- package/catalog/policies/policy.web.track.stable_event_keys.json +78 -0
- package/catalog/policies/policy.web.uiux.provider_evidence_not_business_truth.json +86 -0
- package/catalog/projection-presets/registry-tree.yaml +307 -0
- package/catalog/sensors/sensor.browser.deterministic.json +53 -0
- package/catalog/sensors/sensor.browser.interactive.json +58 -0
- package/catalog/sensors/sensor.build.static.json +45 -0
- package/catalog/sensors/sensor.contract.conformance.json +47 -0
- package/catalog/sensors/sensor.performance.budget.json +46 -0
- package/catalog/sensors/sensor.production.metric.json +44 -0
- package/catalog/tools/apply_human_review_pilot_0001.py +488 -0
- package/catalog/tools/materialize_batch4_uplift.py +776 -0
- package/catalog/tools/materialize_catalog_pilot.py +784 -0
- package/dist/bin.js +52362 -0
- package/legal/THIRD_PARTY_NOTICES.md +336 -0
- package/package.json +36 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# POMaster Commercial License(商业授权说明)
|
|
2
|
+
|
|
3
|
+
POMaster 采用**双许可**模式发布:
|
|
4
|
+
|
|
5
|
+
1. **PolyForm Noncommercial 1.0.0**(默认公共许可,见根目录 [`LICENSE`](./LICENSE))——仅在**非商业目的**下免费使用、修改与分发;
|
|
6
|
+
2. **POMaster Commercial License**(本文件所述)——任何商业目的的使用需与版权所有者另行签署书面商业授权协议。
|
|
7
|
+
|
|
8
|
+
两个许可互斥且不可叠加:未签署商业授权协议的,一律只受 PolyForm Noncommercial 1.0.0 约束。
|
|
9
|
+
|
|
10
|
+
## 什么算商业使用?
|
|
11
|
+
|
|
12
|
+
依据 PolyForm Noncommercial 1.0.0 的定义(Noncommercial Purposes / Personal Uses / Noncommercial Organizations 各节),以下情形**不在**公共许可覆盖范围内,需商业授权(举例非穷尽):
|
|
13
|
+
|
|
14
|
+
- 在营利性企业的**内部业务**中使用(企业内部业务运营、内部工具、内部平台);
|
|
15
|
+
- 中小企业 / 小微企业的任何商业性使用;
|
|
16
|
+
- 将 POMaster 或其派生作品作为收费产品、付费服务、商业咨询交付物的一部分对外提供;
|
|
17
|
+
- 以任何直接或间接营利为目的的使用。
|
|
18
|
+
|
|
19
|
+
> **严格口径声明(Owner 决议 2026-09-01)**:内部商用与小企业商用均**不豁免**、不免费(即 `free_internal_business_use: false`、`free_small_business_use: false`)。上述两个豁免位如未来经 Owner 显式决定开启,将以本文件的正式修订版本公示,此前一律按严格口径执行。
|
|
20
|
+
|
|
21
|
+
## 如何获得商业授权?
|
|
22
|
+
|
|
23
|
+
商业授权需与版权所有者签署单独的书面协议,条款(范围、费用、期限、支持等)逐案议定。
|
|
24
|
+
|
|
25
|
+
**联系方式**:allenxujianyang@outlook.com
|
|
26
|
+
|
|
27
|
+
> 注:本文件为授权说明页,不是商业授权协议文本本身;实际商业授权以双方签署的协议为准。
|
|
28
|
+
|
|
29
|
+
## 版权与署名
|
|
30
|
+
|
|
31
|
+
Copyright (c) 2026 River-Singer。版权所有者如变更署名主体,以根目录 `LICENSE` 的 Required Notice 行为准。
|
|
32
|
+
|
|
33
|
+
## 法律复核
|
|
34
|
+
|
|
35
|
+
本项目许可章节不构成法律意见;正式公开发布或商业授权前,应由熟悉开源/软件许可的法律专业人士复核。
|
package/LICENSE
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
Required Notice: Copyright (c) 2026 River-Singer
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
The above Required Notice line accompanies the software under the terms below.
|
|
6
|
+
The license text that follows is the official PolyForm Noncommercial License 1.0.0,
|
|
7
|
+
reproduced verbatim from <https://polyformproject.org/licenses/noncommercial/1.0.0>.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# PolyForm Noncommercial License 1.0.0
|
|
12
|
+
|
|
13
|
+
<https://polyformproject.org/licenses/noncommercial/1.0.0>
|
|
14
|
+
|
|
15
|
+
## Acceptance
|
|
16
|
+
|
|
17
|
+
In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
|
|
18
|
+
|
|
19
|
+
## Copyright License
|
|
20
|
+
|
|
21
|
+
The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
|
|
22
|
+
|
|
23
|
+
## Distribution License
|
|
24
|
+
|
|
25
|
+
The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
|
|
26
|
+
|
|
27
|
+
## Notices
|
|
28
|
+
|
|
29
|
+
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
|
|
30
|
+
|
|
31
|
+
> Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
|
|
32
|
+
|
|
33
|
+
## Changes and New Works License
|
|
34
|
+
|
|
35
|
+
The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
|
|
36
|
+
|
|
37
|
+
## Patent License
|
|
38
|
+
|
|
39
|
+
The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
|
|
40
|
+
|
|
41
|
+
## Noncommercial Purposes
|
|
42
|
+
|
|
43
|
+
Any noncommercial purpose is a permitted purpose.
|
|
44
|
+
|
|
45
|
+
## Personal Uses
|
|
46
|
+
|
|
47
|
+
Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, is use for a permitted purpose.
|
|
48
|
+
|
|
49
|
+
## Noncommercial Organizations
|
|
50
|
+
|
|
51
|
+
Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution is use for a permitted purpose regardless of the source of funding or obligations resulting from the funding.
|
|
52
|
+
|
|
53
|
+
## Fair Use
|
|
54
|
+
|
|
55
|
+
You may have "fair use" rights for the software under the law. These terms do not limit them.
|
|
56
|
+
|
|
57
|
+
## No Other Rights
|
|
58
|
+
|
|
59
|
+
These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
|
|
60
|
+
|
|
61
|
+
## Patent Defense
|
|
62
|
+
|
|
63
|
+
If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
|
|
64
|
+
|
|
65
|
+
## Violations
|
|
66
|
+
|
|
67
|
+
The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
|
|
68
|
+
|
|
69
|
+
## No Liability
|
|
70
|
+
|
|
71
|
+
***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
|
|
72
|
+
|
|
73
|
+
## Definitions
|
|
74
|
+
|
|
75
|
+
The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
|
|
76
|
+
|
|
77
|
+
**You** refers to the individual or entity agreeing to these terms.
|
|
78
|
+
|
|
79
|
+
**Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
80
|
+
|
|
81
|
+
**Your licenses** are all the licenses granted to you for the software under these terms.
|
|
82
|
+
|
|
83
|
+
**Use** means anything you do with the software requiring one of your licenses.
|
package/README.md
ADDED
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
# POMaster
|
|
2
|
+
|
|
3
|
+
> **AI 软件工程的 Governed Software State Control Plane。**
|
|
4
|
+
> 管理系统当前可信状态、为每个 Agent 投影最小充分上下文、控制允许发生的变化、并要求一切变化被证据证明。
|
|
5
|
+
|
|
6
|
+
[](https://github.com/River-Singer/POMaster_VNext/actions/workflows/ci.yml)
|
|
7
|
+
[](./LICENSE)
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
POMaster = State + Context + Transition + Evidence,在 Authority 与 Adaptive Governance 下运行
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 快速上手
|
|
14
|
+
|
|
15
|
+
POMaster 的全部能力收敛在一条 CLI(`pomaster`)——八拍 Change Loop 的每一拍都有对应命令面。先给一张**命令全景**(机器钉版,与 `pomaster --help` 零漂移;`#` 分节注释仅人读)。第一次使用?直接看下面 [install → init → 第一个 Change](#1-安装) 的全流程。
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
# 0 BOOTSTRAP —— 建基线 / 速览 / 装眼睛 / 可移植性
|
|
19
|
+
pomaster init
|
|
20
|
+
pomaster status
|
|
21
|
+
pomaster doctor
|
|
22
|
+
pomaster portability bootstrap/check
|
|
23
|
+
|
|
24
|
+
# ① TRIAGE —— 秒级判档(MINIMAL/LIGHT/STANDARD;NO-OP 合法)
|
|
25
|
+
pomaster triage "<request>"
|
|
26
|
+
|
|
27
|
+
# ② FRAMEWORK —— 许可签发/判卷/显式接管/台账
|
|
28
|
+
pomaster permit issue/check/steal/list
|
|
29
|
+
|
|
30
|
+
# ③ PROJECTION —— 最小充分上下文投影
|
|
31
|
+
pomaster context compile/explain
|
|
32
|
+
|
|
33
|
+
# ④ EXECUTE —— 写路径机器执行点 / 受控变更
|
|
34
|
+
pomaster exec-guard --attempt <file|->
|
|
35
|
+
pomaster maintain <change-or-task> --ops <tx>
|
|
36
|
+
|
|
37
|
+
# ⑤ VERIFY —— FAST gate / gate recipes 派发 / 证据入账
|
|
38
|
+
pomaster check --fast/--gates
|
|
39
|
+
pomaster record gate-run/claim
|
|
40
|
+
|
|
41
|
+
# ⑥ RECONCILE —— delta 三方对账 / 投影视图 / 审计 / 例外台账
|
|
42
|
+
pomaster reconcile --permit <PERMIT.*>
|
|
43
|
+
pomaster view blueprint/task
|
|
44
|
+
pomaster audit blueprint/task
|
|
45
|
+
pomaster ledger record/list
|
|
46
|
+
|
|
47
|
+
# ⑦ COMPACT —— 折叠入账 / 知识生命周期 / 记忆收割
|
|
48
|
+
pomaster compact
|
|
49
|
+
pomaster knowledge search/inspect/record/review-candidates/promote/demote
|
|
50
|
+
pomaster memory capture/inspect/harvest/review/promote/audit
|
|
51
|
+
|
|
52
|
+
# ⑧ CARRY —— DoD 判卷收口
|
|
53
|
+
pomaster closeout <task-id>
|
|
54
|
+
|
|
55
|
+
# 横切 —— 对象检视 / Discovery / Research / Eval / Catalog / 迁移 / 生产反馈 / 多 Agent / 执行身份
|
|
56
|
+
pomaster inspect <governed-id>
|
|
57
|
+
pomaster brainstorm start/status/promote
|
|
58
|
+
pomaster research list/inspect
|
|
59
|
+
pomaster eval --suite behavioral
|
|
60
|
+
pomaster catalog status/explain
|
|
61
|
+
pomaster migrate trellis-spec --analyze --spec-root <dir>
|
|
62
|
+
pomaster production band/evaluate/challenge/diagnose/metrics/self-improvement
|
|
63
|
+
pomaster agents status
|
|
64
|
+
pomaster run <task>
|
|
65
|
+
pomaster handoff <task> --to <role>
|
|
66
|
+
pomaster session attach/refresh/list
|
|
67
|
+
pomaster lock acquire/heartbeat/release/steal/list
|
|
68
|
+
pomaster execution begin/end/list
|
|
69
|
+
pomaster trace show/list
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 1. 安装
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Node ≥ 22
|
|
76
|
+
npm install -g pomaster # 全局安装(推荐)
|
|
77
|
+
# 或项目内:
|
|
78
|
+
npm install --save-dev pomaster
|
|
79
|
+
npx pomaster --help
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 2. 初始化治理基线:`pomaster init`
|
|
83
|
+
|
|
84
|
+
在项目根执行(幂等——重复执行第二次起 NO_CHANGE,零字节写入;已存在的人类文件一律不覆盖):
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
cd your-project
|
|
88
|
+
pomaster init
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
它做四件事:
|
|
92
|
+
|
|
93
|
+
| 产物 | 作用 | 会被覆盖吗 |
|
|
94
|
+
|---|---|---|
|
|
95
|
+
| `.pomaster/state/truth-index.json` | Canonical State 唯一事实源(空账本起点) | 否(存在即跳过;损坏显式报错,绝不静默重建) |
|
|
96
|
+
| `.pomaster/state/authority.json` | Authority Map 骨架(默认登记 `BOOTSTRAP_OWNER`) | 否(人类加注的 owner 一律不动) |
|
|
97
|
+
| `.pomaster/config.yaml` | 治理配置(人类可编辑) | 否(只在缺失时创建) |
|
|
98
|
+
| `AGENTS.md` / `CLAUDE.md` | Agent 轻入口(profile + 状态速览 + 常用命令) | 仅带生成标记的(`CLAUDE.md` 通过 `@AGENTS.md` 导入共享) |
|
|
99
|
+
|
|
100
|
+
### 3. init 之后该配置什么(config.yaml)
|
|
101
|
+
|
|
102
|
+
```yaml
|
|
103
|
+
version: 1
|
|
104
|
+
profile: LIGHT # 治理档位:MINIMAL | LIGHT | STANDARD
|
|
105
|
+
triage:
|
|
106
|
+
ttl_hours: 168 # triage 结果有效期,过期必须 re-triage
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**profile 三档怎么选**:
|
|
110
|
+
|
|
111
|
+
| 档位 | 适合 | 体感 |
|
|
112
|
+
|---|---|---|
|
|
113
|
+
| `MINIMAL` | 脚手架/原型/个人实验 | 几乎感觉不到 POMaster(文案改动→一行 gate) |
|
|
114
|
+
| `LIGHT`(默认) | 正常业务迭代 | 秒级判档 + FAST gate 内循环 + delta 审查 |
|
|
115
|
+
| `STANDARD` | 核心链路/多角色协作 | 全 gate 矩阵 + 浏览器双通道证据 + 抽样复核 |
|
|
116
|
+
|
|
117
|
+
**Authority(谁说了算)**:`.pomaster/state/authority.json` 默认单人形态(一切 authority 位置由项目 Owner 应答);多人协作出现信号后再演化细粒度 owner——`owner_registry` 数组逐个登记即可,kernel 零配置变更。
|
|
118
|
+
|
|
119
|
+
### 4. 第一个 Change:走一遍八拍
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
pomaster triage "给用户列表页加一个导出按钮" # ① 秒级判档
|
|
123
|
+
pomaster maintain <task> --phase pre-dev … # ②③ permit 签发 + 上下文投影
|
|
124
|
+
# ……在你的 Agent harness(Claude Code 等)里实现代码……
|
|
125
|
+
pomaster check --fast # ⑤ FAST gate(BUILD 腿)
|
|
126
|
+
pomaster closeout <task-id> # ⑧ DoD 判卷收口
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 5. 装齐眼睛(可选,按需)
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
pomaster doctor # 工具/MCP 探测:缺什么提示装什么
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
doctor 探针覆盖:内核 / BUILD(tsc·eslint)/ CONTRACT(oasdiff·schemathesis)/ ARCHITECTURE(depcruise·import-linter)/ COVERAGE(c8·pytest-cov)/ MUTATION(mutmut·StrykerJS)/ SECURITY(gitleaks·pip-audit·semgrep)/ BROWSER(playwright·chrome-devtools MCP)/ PERFORMANCE(lighthouse·web-vitals)/ portability。**工具缺席=显式 NOT_RUN(非绿非红),绝不假绿**。
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 为什么存在(三行读完的来历)
|
|
140
|
+
|
|
141
|
+
1. **旧模式治理的是文档**:把几百份 Markdown 规范播进项目、靠 Agent 自觉遵守——结果错误事实被继承放大(上个会话说"27 页开发完了",实际半数是脚手架)、技术基线静默漂移、规范越堆越多直到没人看。
|
|
142
|
+
2. **血泪换来的第一定律**:*报绿的治理工具比没有工具更危险——它把「未知」转换成「已验证干净」。* 所以本项目的核心不是"更多门禁",而是**可信的证据**。
|
|
143
|
+
3. **vNext 换掉治理对象**:不再治理文档,改为治理**状态本身**。文档只是状态的投影;事实必须带 Authority、Evidence 与完整生命周期。
|
|
144
|
+
|
|
145
|
+
## 运行机制:State Control Plane
|
|
146
|
+
|
|
147
|
+
POMaster 不是又一层 prompt 工程或 skill 包,而是一个**状态控制平面**——它把「软件项目当前可信的状态」作为一等公民管理起来:
|
|
148
|
+
|
|
149
|
+
```mermaid
|
|
150
|
+
flowchart TB
|
|
151
|
+
subgraph PLANE["POMaster State Control Plane(.pomaster/ store)"]
|
|
152
|
+
STATE["Canonical State<br/>truth-index + objects<br/>四轴状态"]:::core
|
|
153
|
+
PERMIT["Permit / Transition<br/>谁有权改什么"]:::core
|
|
154
|
+
EVI["Evidence 平面<br/>GRN / blobs / claims"]:::core
|
|
155
|
+
PROJ["Context Projection<br/>MUST/ADVISORY/KNOWLEDGE/<br/>CATALOG/LAZY TOOLS"]:::core
|
|
156
|
+
end
|
|
157
|
+
subgraph CAT["Engineering Catalog(随包分发)"]
|
|
158
|
+
POL["policies 79"]:::cat
|
|
159
|
+
KN["knowledge 10"]:::cat
|
|
160
|
+
GT["gates 5"]:::cat
|
|
161
|
+
SEN["sensors 6"]:::cat
|
|
162
|
+
end
|
|
163
|
+
AGENT["Agent Harness<br/>(Claude Code / Codex / …)"]:::ext
|
|
164
|
+
HUMAN["Human Authority<br/>(Owner)"]:::ext
|
|
165
|
+
|
|
166
|
+
HUMAN -- Authority 决议 --> PLANE
|
|
167
|
+
PLANE -- compile --> AGENT
|
|
168
|
+
AGENT -- maintain/record --> PLANE
|
|
169
|
+
CAT -- applicability 筛选 --> PROJ
|
|
170
|
+
EVI -- gate 判卷 --> STATE
|
|
171
|
+
classDef core fill:#e8f0fe,stroke:#1a73e8
|
|
172
|
+
classDef cat fill:#fef7e0,stroke:#f9ab00
|
|
173
|
+
classDef ext fill:#e6f4ea,stroke:#188038
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
三个关键设计:
|
|
177
|
+
|
|
178
|
+
- **Canonical State 是唯一事实源**:一切对象(PAGE/CAPABILITY/CHANGE/TASK…)带四轴状态(lifecycle/confidence/evidence/change)+ Authority + 完整生命周期。Markdown 文档只是它的投影。
|
|
179
|
+
- **Agent 不直接写状态**:一切写经 `maintain <id> --ops <tx>` 显式事务 → kernel `applyTransaction` 判卷(写路径机器执行点 `exec-guard` 判卷器非写入器)。
|
|
180
|
+
- **证据先于结论**:gate 运行结果走 `record gate-run` 产 GRN 收据入 evidence 平面;claim 必须显式绑定 GRN 分母——「证据缺失伪装完成」会被 closeout 硬阻断。
|
|
181
|
+
|
|
182
|
+
## SOP 编排:项目生命周期五段式
|
|
183
|
+
|
|
184
|
+
```text
|
|
185
|
+
0 BOOTSTRAP ──── init 扫描 / Authority Map / catalog-lock / 轻入口生成
|
|
186
|
+
(有原型→活体走查提五件套;存量项目→纳管已有 registry/spec/记忆)
|
|
187
|
+
1 主循环 ─────── N 次 Change,每次跑下面的八拍 Loop(项目的日常形态)
|
|
188
|
+
2 周期事件 ────── 全量对账 / 紧缩 / 经验入库 / catalog 升级 diff / 自托管基准
|
|
189
|
+
3 架构演化 ────── Challenge → ACR → 受控迁移 → Deviation 到期清算
|
|
190
|
+
4 生产反馈 ────── SLO 击穿 → State Challenge → 新 Change(闭环)
|
|
191
|
+
5 退役归档 ────── deprecation → retirement → history
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### THE LOOP:每一次 Change 的八拍
|
|
195
|
+
|
|
196
|
+
> **Agent 的 loop 在上下文窗口内收敛,POMaster 的 loop 在 git 仓库里收敛。**
|
|
197
|
+
> 前者每圈归零,后者每圈复利。
|
|
198
|
+
|
|
199
|
+
```text
|
|
200
|
+
① TRIAGE Router 判档(MINIMAL/LIGHT/STANDARD…)秒级分流;NO-OP 是合法成功
|
|
201
|
+
② FRAMEWORK ← 人唯一主场:只锁五件套(身份/Capability/契约引用/Permit范围/验收形状)
|
|
202
|
+
条件接受即可开工,逐行签核制度已废除
|
|
203
|
+
③ PROJECTION 最小充分上下文投影;经验按触发条件注入 ADVISORY 区
|
|
204
|
+
④ EXECUTE Permit 内实现免检;FAST gate 内循环自检;偏差走显式 Challenge
|
|
205
|
+
⑤ VERIFY 确定性 Gate 判卷:四态判定+盲区计数+not-applicable 清点;
|
|
206
|
+
浏览器双通道证据(Playwright 断言 ∥ chrome-devtools 实时对账)
|
|
207
|
+
⑥ RECONCILE 所见即所得:人只审 delta(框架偏离)/例外清单/抽样点
|
|
208
|
+
⑦ COMPACT Current Truth 更新或 NO_CHANGE;经验入账;任务归档
|
|
209
|
+
⑧ → 下一轮 携带更准的 Truth 重进①——开局一次比一次便宜
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### 八拍时序图(Agent 交互序列)
|
|
213
|
+
|
|
214
|
+
```mermaid
|
|
215
|
+
sequenceDiagram
|
|
216
|
+
autonumber
|
|
217
|
+
actor Owner
|
|
218
|
+
participant Agent as Agent (harness)
|
|
219
|
+
participant CLI as pomaster CLI
|
|
220
|
+
participant Kernel as kernel (store)
|
|
221
|
+
participant Gate as gauntlet legs
|
|
222
|
+
participant Ev as evidence 平面
|
|
223
|
+
|
|
224
|
+
Owner->>Agent: 描述意图 / task delta
|
|
225
|
+
Agent->>CLI: triage "<request>"
|
|
226
|
+
CLI->>Kernel: Router 判档(词表闭包)
|
|
227
|
+
Kernel-->>Agent: triage envelope(profile + TTL)
|
|
228
|
+
Agent->>CLI: maintain --phase pre-dev
|
|
229
|
+
CLI->>Kernel: permit issue + context compile
|
|
230
|
+
Kernel-->>Agent: PERMIT.* + 五分区 markdown(MUST/ADVISORY/…)
|
|
231
|
+
Note over Agent: Permit 范围内实现(免检)+ FAST gate 内循环
|
|
232
|
+
Agent->>CLI: check --fast / check --gates
|
|
233
|
+
CLI->>Gate: 派发 gate recipes
|
|
234
|
+
Gate->>Ev: GRN 收据逐条入账(四态判定)
|
|
235
|
+
Gate-->>Agent: verdict(passed/failed/not_run + 盲区计数)
|
|
236
|
+
Agent->>CLI: maintain --ops <tx> / compact
|
|
237
|
+
CLI->>Kernel: applyTransaction(判卷权威)
|
|
238
|
+
Agent->>CLI: closeout <task-id>
|
|
239
|
+
CLI->>Ev: DoD 判卷(claims×GRN 硬绑)
|
|
240
|
+
CLI-->>Owner: delta 审查面(人只看差异)
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### 证据入账时序(防假绿的核心通路)
|
|
244
|
+
|
|
245
|
+
```mermaid
|
|
246
|
+
sequenceDiagram
|
|
247
|
+
autonumber
|
|
248
|
+
participant Runner as gate runner
|
|
249
|
+
participant Adapter as 腿 adapter
|
|
250
|
+
participant Store as kernel store
|
|
251
|
+
participant Blob as evidence blobs
|
|
252
|
+
Runner->>Adapter: gate recipe 派发
|
|
253
|
+
Adapter-->>Runner: 原始报告(官方词形)
|
|
254
|
+
Adapter->>Blob: persistEvidenceArtifact(内容寻址 sha256)
|
|
255
|
+
Blob-->>Adapter: artifact_ref
|
|
256
|
+
Adapter->>Store: record gate-run(GRN + artifact_refs)
|
|
257
|
+
Store->>Store: journal TX_APPLIED(ran_at_seq 锚)
|
|
258
|
+
Note over Store,Blob: 读侧 verifyEvidenceBinding:<br/>判卷字节 == 落盘字节 == GRN 引用字节<br/>失配 = EVIDENCE_BINDING_INCOMPLETE 判红
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### 生产反馈时序(SLO 击穿闭环)
|
|
262
|
+
|
|
263
|
+
```mermaid
|
|
264
|
+
sequenceDiagram
|
|
265
|
+
autonumber
|
|
266
|
+
participant Prod as 生产监控
|
|
267
|
+
participant P as pomaster production
|
|
268
|
+
participant K as kernel store
|
|
269
|
+
Prod->>P: ControlBand 定义(谓词机校验,自由文本不存在)
|
|
270
|
+
P->>P: evaluate(三态:OK/BREACHED/NOT_EVALUABLE)
|
|
271
|
+
alt BREACHED
|
|
272
|
+
P->>K: evidence(detected_by=tool_signal)
|
|
273
|
+
P->>K: challenge → change 轴 CHALLENGED
|
|
274
|
+
P->>P: diagnose(三分类,必须引用 breach evidence)
|
|
275
|
+
P-->>Prod: 新 Change 进入主循环(闭环)
|
|
276
|
+
end
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Memory Harvest 时序(COMPATIBILITY 路线)
|
|
280
|
+
|
|
281
|
+
```mermaid
|
|
282
|
+
sequenceDiagram
|
|
283
|
+
autonumber
|
|
284
|
+
participant H as harness 自动记忆
|
|
285
|
+
participant M as pomaster memory
|
|
286
|
+
participant Inbox as inbox(PENDING)
|
|
287
|
+
participant Owner2 as Owner(batch review)
|
|
288
|
+
H->>M: harvest claude --harness-dir <dir>
|
|
289
|
+
M->>Inbox: 四桶初筛(TRUTH/KNOWLEDGE/EPISODE/PREFERENCE)
|
|
290
|
+
Owner2->>M: review --decide <id> --promote|--reject --note <必填>
|
|
291
|
+
M->>M: 分桶路由(KNOWLEDGE→恒 CANDIDATE+ADVISORY;TRUTH/DECISION/EVIDENCE→OWNER_ESCALATION)
|
|
292
|
+
M->>M: audit(MEMORY_DRIFT 探测 fail-closed)
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## 类 Agent 架构
|
|
296
|
+
|
|
297
|
+
POMaster 不内置 daemon,也不托管 Agent——它给「在 harness 里跑的主 Agent」提供状态平面 + 执行身份 + 观测器:
|
|
298
|
+
|
|
299
|
+
```mermaid
|
|
300
|
+
flowchart LR
|
|
301
|
+
subgraph HARNESS["Agent Harness(Claude Code / Codex / …)"]
|
|
302
|
+
MAIN["Main Agent<br/>(solo 直连形态)"]:::agent
|
|
303
|
+
SUB["Sub-agent / Role"]:::agent
|
|
304
|
+
end
|
|
305
|
+
subgraph POM["POMaster kernel"]
|
|
306
|
+
SESS["sessions(liveness 侧车)"]:::k
|
|
307
|
+
LOCK["locks(change/task/unit 三粒度互斥)"]:::k
|
|
308
|
+
AGX["Execution Identity(AGX-n)"]:::k
|
|
309
|
+
RT["AgentRuntime 契约<br/>(§58 四方法三探针)"]:::k
|
|
310
|
+
end
|
|
311
|
+
subgraph OBS["观测器(fail-closed 信号)"]
|
|
312
|
+
GK["DEF-GATEKEEPER<br/>分身漂移检测"]:::obs
|
|
313
|
+
SUP["DEF-SUP<br/>SOP 链触发观测"]:::obs
|
|
314
|
+
end
|
|
315
|
+
MAIN -- "begin/end execution" --> AGX
|
|
316
|
+
MAIN -- "attach/refresh" --> SESS
|
|
317
|
+
MAIN -- "acquire/heartbeat/steal" --> LOCK
|
|
318
|
+
SUB -- run/handoff(DEF-SUP 触发制,deferred) --> RT
|
|
319
|
+
AGX --> GK
|
|
320
|
+
SESS --> SUP
|
|
321
|
+
classDef agent fill:#e8f0fe,stroke:#1a73e8
|
|
322
|
+
classDef k fill:#fce8e6,stroke:#d93025
|
|
323
|
+
classDef obs fill:#fef7e0,stroke:#f9ab00
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
要点:
|
|
327
|
+
|
|
328
|
+
- **Execution Identity ≠ Execution Trace ≠ Evidence**:AGX-n 是短小稳定的执行身份(runtime/model/permit 快照);Trace 是行为侧车(writes/tool_receipts/evidence_refs,retention 四档);Evidence 是可验证证明。三者分离(A19 美学)。
|
|
329
|
+
- **Gatekeeper 防分身**:同一 execution 既提 proposal 又 ALLOW → drift 观测器亮灯——「系统永不自我批准」的机器面。
|
|
330
|
+
- **托管编排受 DEF-SUP 触发制门槛**:solo 直连是默认形态;run/handoff 等 SOP 编排在触发条件(重复链/第二贡献者/headless-CI)出现前显式 deferred——治理开销与风险成比例(Minimum Sufficient Governance)。
|
|
331
|
+
|
|
332
|
+
## 五原语:一切能力的唯一来源
|
|
333
|
+
|
|
334
|
+
| 原语 | 回答的问题 |
|
|
335
|
+
|---|---|
|
|
336
|
+
| **Governed Object** | 系统里有什么值得长期识别的东西 |
|
|
337
|
+
| **State**(四轴:lifecycle/confidence/evidence/change) | 它现在处于什么状态、可信到什么程度 |
|
|
338
|
+
| **Context Projection** | 这个角色此刻应该看见什么 |
|
|
339
|
+
| **Transition / Permit** | 谁有权、凭什么条件允许它变化 |
|
|
340
|
+
| **Evidence** | 变化的证明由谁产出、如何防止假绿 |
|
|
341
|
+
|
|
342
|
+
Spec、Task、Gate、Knowledge、Brainstorm……全部是这五个原语的派生视图。
|
|
343
|
+
三个新一等公民对象族(从旧体系教训中诞生):**分母 DENOMINATOR**(覆盖率的账本不许悄悄消失)、**键绑定 KEYBINDING**(治理 ID ↔ 代码路径的机器映射)、**producer 活性**(声明对象必须有人生产它)。
|
|
344
|
+
|
|
345
|
+
## 哲学宪法(违者即是 bug)
|
|
346
|
+
|
|
347
|
+
- Small Constitution:硬约束极少而精——不伪造事实、不越权、不静默冲突、不无证据宣称完成
|
|
348
|
+
- No-op is elegant:没有必要的治理动作,零变化就是成功
|
|
349
|
+
- Framework as Review Surface:框架约束好了的人,不需要读 AI 写的每一行代码——但前提是判卷器诚实,所以我们用对抗性用例持续攻击自己的 gate
|
|
350
|
+
- Minimum Sufficient Governance:治理开销必须与变更风险成比例;小改动的体验是"几乎感觉不到 POMaster"
|
|
351
|
+
- Memory Sovereignty:删掉本机缓存 + fresh clone + bootstrap ≈ 项目认知完全恢复
|
|
352
|
+
|
|
353
|
+
## 命令面
|
|
354
|
+
|
|
355
|
+
完整命令全景见上文 [快速上手](#快速上手)——那是机器钉版(与 `pomaster --help` 零漂移,CI golden 强制),此处不再重复抄写以避免漂移。每条命令的逐字说明用 `pomaster <组> --help` 查看;全部命令支持 `--json` 机读信封(§45),禁止彩色自然语言当机读接口。
|
|
356
|
+
|
|
357
|
+
## 仓库蓝图(逻辑结构,物理上按需物化)
|
|
358
|
+
|
|
359
|
+
```text
|
|
360
|
+
packages/ kernel · cli · gauntlet-lite · schemas
|
|
361
|
+
catalog/ policies(79) · knowledge(10) · gates(5) · sensors(6)
|
|
362
|
+
tests/ unit · integration · golden · adversarial · behavioral · benchmarks
|
|
363
|
+
benchmarks/ mutation-kill · constitutional · run-all(自托管三档基准)
|
|
364
|
+
legal/ THIRD_PARTY_NOTICES · PROVENANCE · verify_notices
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
技术栈:TypeScript · Node ≥22 · pnpm monorepo · Canonical State 为 JSON · Git 为版本与回滚底座 · 外部测试工具一律走 Adapter(绝不进核心)。
|
|
368
|
+
|
|
369
|
+
## 文档地图
|
|
370
|
+
|
|
371
|
+
| 想了解 | 去哪里 |
|
|
372
|
+
|---|---|
|
|
373
|
+
| 产品需求全文(v0.4) | `doc/POMaster vNext/POMaster-vNext-PRD-v0.4.md` |
|
|
374
|
+
| 增量 PRD v0.5.2(Agent Perception) | `doc/POMaster-vNext-PRD-v0.5.2-agent-perception.md` |
|
|
375
|
+
| 增量 PRD v0.5.3(Grounded Brainstorm) | `doc/POMaster-vNext-PRD-v0.5.3-grounded-brainstorm-research.md` |
|
|
376
|
+
| Kernel 公共 API 契约 | `docs/kernel-api.md`(本地) |
|
|
377
|
+
| 设计研究资产 | `.trellis/tasks/*/research/`(本地) |
|
|
378
|
+
|
|
379
|
+
## 质量承诺
|
|
380
|
+
|
|
381
|
+
- 全量套件 3038 用例(六类齐全:单元/集成/Golden/对抗/行为/自托管基准),数量下限进 CI 棘轮强制执行(只升不降)
|
|
382
|
+
- 任何已修缺陷类别必须先存在对应回归用例,才允许标注"结构性消灭"
|
|
383
|
+
- CI 四腿(ubuntu/windows/macos/bootstrap-clean)+ mutation kill score 100%(changed-code scope)+ 三机器验证器(mutation --verify / notices / constitutional)
|
|
384
|
+
|
|
385
|
+
## License
|
|
386
|
+
|
|
387
|
+
POMaster 采用**双许可**发布(Owner 决议 2026-09-01):
|
|
388
|
+
|
|
389
|
+
- **PolyForm Noncommercial 1.0.0**(默认公共许可,仅授权非商业使用):全文见 [`LICENSE`](./LICENSE),官方标准文本逐字落盘;
|
|
390
|
+
- **Commercial**(独立商业授权):任何商业使用(含企业内部商用、小企业商用)均不在公共许可范围内、不豁免,需另行签署书面商业授权——说明见 [`COMMERCIAL_LICENSE.md`](./COMMERCIAL_LICENSE.md)。
|
|
391
|
+
|
|
392
|
+
该组合为 source-available 双许可,不应宣传为 OSI Open Source。商标与项目标识归属见 [`TRADEMARKS.md`](./TRADEMARKS.md);贡献授权条款见 [`CONTRIBUTING.md`](./CONTRIBUTING.md);安全漏洞报告渠道见 [`SECURITY.md`](./SECURITY.md);第三方依赖许可与 notice 义务见 [`legal/THIRD_PARTY_NOTICES.md`](./legal/THIRD_PARTY_NOTICES.md)。
|
|
393
|
+
|
|
394
|
+
商业授权联系:TODO(Owner): 填联系邮箱/渠道
|
|
395
|
+
|
|
396
|
+
> 正式公开发布前需完成法律专业人士复核。Trellis 仅作机制研究对照,零代码继承。
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 安全政策(SECURITY)
|
|
2
|
+
|
|
3
|
+
## 报告渠道
|
|
4
|
+
|
|
5
|
+
发现安全漏洞请**勿**直接在公开 Issue / PR 中披露。
|
|
6
|
+
|
|
7
|
+
请通过以下渠道私密报告:TODO(Owner): 填安全报告邮箱/渠道
|
|
8
|
+
|
|
9
|
+
报告时请尽量附上:受影响组件与版本、复现步骤或 PoC、影响评估、(如有)修复建议。
|
|
10
|
+
|
|
11
|
+
## 处理流程(简版)
|
|
12
|
+
|
|
13
|
+
1. 收到报告后确认接收并评估;
|
|
14
|
+
2. 修复开发与验证(必要时走本项目自身的八拍 Change Loop 与 gate 判卷);
|
|
15
|
+
3. 发布修复版本,并在公告中致谢报告者(除非要求匿名)。
|
|
16
|
+
|
|
17
|
+
## 支持范围
|
|
18
|
+
|
|
19
|
+
- 仓库内 `packages/`(kernel / cli / schemas / gauntlet-lite)及其发布物;
|
|
20
|
+
- `scripts/` 与 `catalog/` 策展物料中的可执行内容。
|
|
21
|
+
|
|
22
|
+
范围内的第三方依赖安全问题(如已知 CVE 影响)同样欢迎报告;依赖许可与 notice 义务见 [`legal/THIRD_PARTY_NOTICES.md`](./legal/THIRD_PARTY_NOTICES.md)。
|
package/TRADEMARKS.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# TRADEMARKS(商标与标识声明)
|
|
2
|
+
|
|
3
|
+
**POMaster** 名称、POMaster logo 及其他项目标识(合称「项目标识」)归项目版权所有者所有。
|
|
4
|
+
|
|
5
|
+
- 版权与许可主体署名见根目录 [`LICENSE`](./LICENSE) 的 Required Notice 行:Copyright (c) 2026 River-Singer。
|
|
6
|
+
- Owner 署名主体占位:TODO(Owner): 如以法人/其他主体持有商标,在此补全法定主体名称。
|
|
7
|
+
|
|
8
|
+
项目标识**不在** PolyForm Noncommercial 1.0.0 或商业授权协议的授权范围内;上述许可仅覆盖代码与文档等版权客体,不授予任何商标权。
|
|
9
|
+
|
|
10
|
+
未经事先书面许可,不得在可能引起来源混淆的方式下使用项目标识。对 POMaster 原始代码的如实、指明来源的分发与描述性提及(nominative fair use)不在此限。
|
|
11
|
+
|
|
12
|
+
**商标授权联系**:TODO(Owner): 填联系邮箱/渠道
|