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,422 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_record_type": "rejected_archive",
|
|
3
|
+
"seq": "pilot-0001",
|
|
4
|
+
"date": "2026-08-28",
|
|
5
|
+
"generated_by": "catalog/tools/apply_human_review_pilot_0001.py(pilot-0001 Human Review 落账)",
|
|
6
|
+
"basis": "docs/catalog-pilot-report.md §8 Human Review Checklist 逐行 REJECT + §3.1/§3.2 合并表;REJECT 语义=驳回独立入册(合并指针维持于正本 review.absorbed_duplicates),非丢弃内容;本档案为留档副本,条目仍保留于 candidates-draft.json(含 disposition=REJECT)",
|
|
7
|
+
"count": 17,
|
|
8
|
+
"rejected": [
|
|
9
|
+
{
|
|
10
|
+
"candidate_id": "POLICY.CHG.NO_SILENT_DEFAULT",
|
|
11
|
+
"source": "design_seed",
|
|
12
|
+
"evidence": "PLANNED",
|
|
13
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md",
|
|
14
|
+
"source_section": "MUST NOT 第1条",
|
|
15
|
+
"classification": "DUPLICATE",
|
|
16
|
+
"statement_zh": "禁止静默改变公共默认行为。",
|
|
17
|
+
"statement_en_keywords": "no silent default change",
|
|
18
|
+
"applies_when": {
|
|
19
|
+
"lane": "frontend",
|
|
20
|
+
"condition": "同合并目标"
|
|
21
|
+
},
|
|
22
|
+
"enforcement": "advisory",
|
|
23
|
+
"vocab_pr_needed": false,
|
|
24
|
+
"notes": "合并指针:POLICY.CHG.COMPAT_MIGRATION_ROLLBACK 的禁止形态,语义被其覆盖;enforcement 由合并目标继承",
|
|
25
|
+
"review": {
|
|
26
|
+
"disposition": "REJECT",
|
|
27
|
+
"seq": "pilot-0001",
|
|
28
|
+
"ref": "docs/catalog-pilot-report.md:L206(§8.1 #9)",
|
|
29
|
+
"reject_reason": "极性反转 DUPLICATE:并入正本禁止形态段(报告 §8.1 #9;§3.1 表)",
|
|
30
|
+
"duplicate_of": "POLICY.CHG.COMPAT_MIGRATION_ROLLBACK"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"candidate_id": "POLICY.CHG.NO_SINGLE_CONSUMER_API",
|
|
35
|
+
"source": "design_seed",
|
|
36
|
+
"evidence": "PLANNED",
|
|
37
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md",
|
|
38
|
+
"source_section": "MUST NOT 第2条",
|
|
39
|
+
"classification": "DUPLICATE",
|
|
40
|
+
"statement_zh": "禁止为满足单页临时需求而修改公共 API。",
|
|
41
|
+
"statement_en_keywords": "no public API change for single-page need",
|
|
42
|
+
"applies_when": {
|
|
43
|
+
"lane": "frontend",
|
|
44
|
+
"condition": "同合并目标"
|
|
45
|
+
},
|
|
46
|
+
"enforcement": "advisory",
|
|
47
|
+
"vocab_pr_needed": false,
|
|
48
|
+
"notes": "合并指针:POLICY.CHG.PRECHANGE_CONSUMER_SCAN + FIX_AT_ROOT_CAUSE_LEVEL 联合覆盖",
|
|
49
|
+
"review": {
|
|
50
|
+
"disposition": "REJECT",
|
|
51
|
+
"seq": "pilot-0001",
|
|
52
|
+
"ref": "docs/catalog-pilot-report.md:L207(§8.1 #10)",
|
|
53
|
+
"reject_reason": "极性反转 DUPLICATE:由正本与根因修复条款联合覆盖(报告 §8.1 #10;§3.1 表)",
|
|
54
|
+
"duplicate_of": "POLICY.CHG.PRECHANGE_CONSUMER_SCAN",
|
|
55
|
+
"duplicate_of_secondary": "POLICY.CHG.FIX_AT_ROOT_CAUSE_LEVEL"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"candidate_id": "POLICY.CHG.NO_LOCAL_MASK_FIX",
|
|
60
|
+
"source": "design_seed",
|
|
61
|
+
"evidence": "PLANNED",
|
|
62
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md",
|
|
63
|
+
"source_section": "MUST NOT 第3条",
|
|
64
|
+
"classification": "DUPLICATE",
|
|
65
|
+
"statement_zh": "禁止只修一个页面来掩盖公共问题。",
|
|
66
|
+
"statement_en_keywords": "no local mask fix, page-level patch hiding public defect",
|
|
67
|
+
"applies_when": {
|
|
68
|
+
"lane": "frontend",
|
|
69
|
+
"condition": "同合并目标"
|
|
70
|
+
},
|
|
71
|
+
"enforcement": "advisory",
|
|
72
|
+
"vocab_pr_needed": false,
|
|
73
|
+
"notes": "合并指针:POLICY.CHG.FIX_AT_ROOT_CAUSE_LEVEL 的禁止形态",
|
|
74
|
+
"review": {
|
|
75
|
+
"disposition": "REJECT",
|
|
76
|
+
"seq": "pilot-0001",
|
|
77
|
+
"ref": "docs/catalog-pilot-report.md:L208(§8.1 #11)",
|
|
78
|
+
"reject_reason": "极性反转 DUPLICATE:正本禁止形态(报告 §8.1 #11;§3.1 表)",
|
|
79
|
+
"duplicate_of": "POLICY.CHG.FIX_AT_ROOT_CAUSE_LEVEL"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"candidate_id": "POLICY.CHG.NO_DELETE_WITHOUT_MIGRATION",
|
|
84
|
+
"source": "design_seed",
|
|
85
|
+
"evidence": "PLANNED",
|
|
86
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md",
|
|
87
|
+
"source_section": "MUST NOT 第4条",
|
|
88
|
+
"classification": "DUPLICATE",
|
|
89
|
+
"statement_zh": "禁止无迁移地删除 props、事件、字段或状态。",
|
|
90
|
+
"statement_en_keywords": "no delete without migration",
|
|
91
|
+
"applies_when": {
|
|
92
|
+
"lane": "frontend",
|
|
93
|
+
"condition": "同合并目标"
|
|
94
|
+
},
|
|
95
|
+
"enforcement": "advisory",
|
|
96
|
+
"vocab_pr_needed": false,
|
|
97
|
+
"notes": "合并指针:POLICY.CHG.DEPRECATE_BEFORE_DELETE 的 FE 具体形态",
|
|
98
|
+
"review": {
|
|
99
|
+
"disposition": "REJECT",
|
|
100
|
+
"seq": "pilot-0001",
|
|
101
|
+
"ref": "docs/catalog-pilot-report.md:L209(§8.1 #12)",
|
|
102
|
+
"reject_reason": "极性反转 DUPLICATE:正本 FE 具体形态(报告 §8.1 #12;§3.1 表)",
|
|
103
|
+
"duplicate_of": "POLICY.CHG.DEPRECATE_BEFORE_DELETE"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"candidate_id": "POLICY.SPEC.DRAFT_NOT_BASELINE_2",
|
|
108
|
+
"source": "design_seed",
|
|
109
|
+
"evidence": "PLANNED",
|
|
110
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md",
|
|
111
|
+
"source_section": "MUST NOT 第6条",
|
|
112
|
+
"classification": "DUPLICATE",
|
|
113
|
+
"statement_zh": "与上一条逐字重复(源文件 37/38 行同文)。",
|
|
114
|
+
"statement_en_keywords": "verbatim duplication in source",
|
|
115
|
+
"applies_when": {
|
|
116
|
+
"lane": "any",
|
|
117
|
+
"condition": "不适用"
|
|
118
|
+
},
|
|
119
|
+
"enforcement": "advisory",
|
|
120
|
+
"vocab_pr_needed": false,
|
|
121
|
+
"notes": "源内逐字重复实证:合并至 POLICY.SPEC.DRAFT_NOT_BASELINE;源文件自身质量缺陷样本",
|
|
122
|
+
"review": {
|
|
123
|
+
"disposition": "REJECT",
|
|
124
|
+
"seq": "pilot-0001",
|
|
125
|
+
"ref": "docs/catalog-pilot-report.md:L211(§8.1 #14)",
|
|
126
|
+
"reject_reason": "源内逐字重复实证(源协议 37/38 行同文)(报告 §8.1 #14;§3.1)",
|
|
127
|
+
"duplicate_of": "POLICY.SPEC.DRAFT_NOT_BASELINE"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"candidate_id": "POLICY.WEB.API.NO_RAW_FETCH",
|
|
132
|
+
"source": "design_seed",
|
|
133
|
+
"evidence": "PLANNED",
|
|
134
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
135
|
+
"source_section": "MUST NOT 第1条",
|
|
136
|
+
"classification": "DUPLICATE",
|
|
137
|
+
"statement_zh": "禁止在页面直接写 fetch/axios 或手工拼 endpoint。",
|
|
138
|
+
"statement_en_keywords": "no raw fetch/axios in pages",
|
|
139
|
+
"applies_when": {
|
|
140
|
+
"lane": "frontend",
|
|
141
|
+
"condition": "同合并目标"
|
|
142
|
+
},
|
|
143
|
+
"enforcement": "advisory",
|
|
144
|
+
"vocab_pr_needed": false,
|
|
145
|
+
"notes": "合并指针:DOMAIN_API_ONLY + SINGLE_HTTP_CLIENT 的禁止形态",
|
|
146
|
+
"review": {
|
|
147
|
+
"disposition": "REJECT",
|
|
148
|
+
"seq": "pilot-0001",
|
|
149
|
+
"ref": "docs/catalog-pilot-report.md:L235(§8.2 #33)",
|
|
150
|
+
"reject_reason": "极性反转 DUPLICATE:两正本联合覆盖(报告 §8.2 #33;§3.1 表)",
|
|
151
|
+
"duplicate_of": "POLICY.WEB.API.DOMAIN_API_ONLY",
|
|
152
|
+
"duplicate_of_secondary": "POLICY.WEB.API.SINGLE_HTTP_CLIENT"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"candidate_id": "POLICY.WEB.API.NO_LOGIC_DUPLICATION",
|
|
157
|
+
"source": "design_seed",
|
|
158
|
+
"evidence": "PLANNED",
|
|
159
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
160
|
+
"source_section": "MUST NOT 第2条",
|
|
161
|
+
"classification": "DUPLICATE",
|
|
162
|
+
"statement_zh": "禁止多模块重复 token、错误码与重试逻辑。",
|
|
163
|
+
"statement_en_keywords": "no duplicated token/error/retry logic",
|
|
164
|
+
"applies_when": {
|
|
165
|
+
"lane": "frontend",
|
|
166
|
+
"condition": "同合并目标"
|
|
167
|
+
},
|
|
168
|
+
"enforcement": "advisory",
|
|
169
|
+
"vocab_pr_needed": false,
|
|
170
|
+
"notes": "合并指针:SINGLE_HTTP_CLIENT 单点统一的症候表述",
|
|
171
|
+
"review": {
|
|
172
|
+
"disposition": "REJECT",
|
|
173
|
+
"seq": "pilot-0001",
|
|
174
|
+
"ref": "docs/catalog-pilot-report.md:L236(§8.2 #34)",
|
|
175
|
+
"reject_reason": "极性反转 DUPLICATE:单点统一的症候表述(报告 §8.2 #34;§3.1 表)",
|
|
176
|
+
"duplicate_of": "POLICY.WEB.API.SINGLE_HTTP_CLIENT"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"candidate_id": "POLICY.WEB.API.NO_AUTO_RETRY_NONIDEM",
|
|
181
|
+
"source": "design_seed",
|
|
182
|
+
"evidence": "PLANNED",
|
|
183
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
184
|
+
"source_section": "MUST NOT 第3条",
|
|
185
|
+
"classification": "DUPLICATE",
|
|
186
|
+
"statement_zh": "禁止对非幂等 mutation 默认自动重试。",
|
|
187
|
+
"statement_en_keywords": "no auto retry on non-idempotent mutation",
|
|
188
|
+
"applies_when": {
|
|
189
|
+
"lane": "frontend",
|
|
190
|
+
"condition": "同合并目标"
|
|
191
|
+
},
|
|
192
|
+
"enforcement": "advisory",
|
|
193
|
+
"vocab_pr_needed": false,
|
|
194
|
+
"notes": "合并指针:RETRY_DISCIPLINE + MUTATION_IDEMPOTENCY 的禁止形态",
|
|
195
|
+
"review": {
|
|
196
|
+
"disposition": "REJECT",
|
|
197
|
+
"seq": "pilot-0001",
|
|
198
|
+
"ref": "docs/catalog-pilot-report.md:L237(§8.2 #35)",
|
|
199
|
+
"reject_reason": "极性反转 DUPLICATE:与幂等条款并读,合并后消除 T4 表面冲突(报告 §8.2 #35;§3.1 表)",
|
|
200
|
+
"duplicate_of": "POLICY.WEB.API.RETRY_DISCIPLINE",
|
|
201
|
+
"duplicate_of_secondary": "POLICY.WEB.API.MUTATION_IDEMPOTENCY"
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"candidate_id": "POLICY.WEB.API.NO_ENVELOPE_IN_COMPONENT",
|
|
206
|
+
"source": "design_seed",
|
|
207
|
+
"evidence": "PLANNED",
|
|
208
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
209
|
+
"source_section": "MUST NOT 第4条",
|
|
210
|
+
"classification": "DUPLICATE",
|
|
211
|
+
"statement_zh": "禁止组件层解析原始响应 envelope。",
|
|
212
|
+
"statement_en_keywords": "no envelope parsing in components, layering",
|
|
213
|
+
"applies_when": {
|
|
214
|
+
"lane": "frontend",
|
|
215
|
+
"condition": "同合并目标"
|
|
216
|
+
},
|
|
217
|
+
"enforcement": "advisory",
|
|
218
|
+
"vocab_pr_needed": false,
|
|
219
|
+
"notes": "合并指针:DOMAIN_API_ONLY + ERROR_NORMALIZATION 的越层禁止形态",
|
|
220
|
+
"review": {
|
|
221
|
+
"disposition": "REJECT",
|
|
222
|
+
"seq": "pilot-0001",
|
|
223
|
+
"ref": "docs/catalog-pilot-report.md:L238(§8.2 #36)",
|
|
224
|
+
"reject_reason": "极性反转 DUPLICATE:越层禁止形态(报告 §8.2 #36;§3.1 表)",
|
|
225
|
+
"duplicate_of": "POLICY.WEB.API.DOMAIN_API_ONLY",
|
|
226
|
+
"duplicate_of_secondary": "POLICY.WEB.API.ERROR_NORMALIZATION"
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"candidate_id": "POLICY.WEB.GRID.NO_TEMPLATE_COLUMNS",
|
|
231
|
+
"source": "design_seed",
|
|
232
|
+
"evidence": "PLANNED",
|
|
233
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md",
|
|
234
|
+
"source_section": "MUST NOT 第1条",
|
|
235
|
+
"classification": "DUPLICATE",
|
|
236
|
+
"statement_zh": "禁止 template 手写列或跨页面复制列数组。",
|
|
237
|
+
"statement_en_keywords": "no template columns, no copied column arrays",
|
|
238
|
+
"applies_when": {
|
|
239
|
+
"lane": "frontend",
|
|
240
|
+
"condition": "同合并目标"
|
|
241
|
+
},
|
|
242
|
+
"enforcement": "advisory",
|
|
243
|
+
"vocab_pr_needed": false,
|
|
244
|
+
"notes": "合并指针:SCHEMA_DRIVEN_SHELL 的禁止形态",
|
|
245
|
+
"review": {
|
|
246
|
+
"disposition": "REJECT",
|
|
247
|
+
"seq": "pilot-0001",
|
|
248
|
+
"ref": "docs/catalog-pilot-report.md:L260(§8.3 #53)",
|
|
249
|
+
"reject_reason": "极性反转 DUPLICATE:正本禁止形态(报告 §8.3 #53;§3.1 表)",
|
|
250
|
+
"duplicate_of": "POLICY.WEB.GRID.SCHEMA_DRIVEN_SHELL"
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"candidate_id": "POLICY.WEB.GRID.NO_GLOBAL_WIDTH_CSS",
|
|
255
|
+
"source": "design_seed",
|
|
256
|
+
"evidence": "PLANNED",
|
|
257
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md",
|
|
258
|
+
"source_section": "MUST NOT 第2条",
|
|
259
|
+
"classification": "DUPLICATE",
|
|
260
|
+
"statement_zh": "禁止为单页列宽修改全局 CSS。",
|
|
261
|
+
"statement_en_keywords": "no global css for single-page width",
|
|
262
|
+
"applies_when": {
|
|
263
|
+
"lane": "frontend",
|
|
264
|
+
"condition": "同合并目标"
|
|
265
|
+
},
|
|
266
|
+
"enforcement": "advisory",
|
|
267
|
+
"vocab_pr_needed": false,
|
|
268
|
+
"notes": "合并指针:WIDTH_FIX_LADDER 的禁止形态",
|
|
269
|
+
"review": {
|
|
270
|
+
"disposition": "REJECT",
|
|
271
|
+
"seq": "pilot-0001",
|
|
272
|
+
"ref": "docs/catalog-pilot-report.md:L261(§8.3 #54)",
|
|
273
|
+
"reject_reason": "极性反转 DUPLICATE:正本禁止形态(报告 §8.3 #54;§3.1 表)",
|
|
274
|
+
"duplicate_of": "POLICY.WEB.GRID.WIDTH_FIX_LADDER"
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"candidate_id": "POLICY.WEB.GRID.NO_SHARED_CONFIG_KEYS",
|
|
279
|
+
"source": "design_seed",
|
|
280
|
+
"evidence": "PLANNED",
|
|
281
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md",
|
|
282
|
+
"source_section": "MUST NOT 第3条",
|
|
283
|
+
"classification": "DUPLICATE",
|
|
284
|
+
"statement_zh": "禁止不同类型表格共享污染性配置 key。",
|
|
285
|
+
"statement_en_keywords": "no polluted shared config keys across grid types",
|
|
286
|
+
"applies_when": {
|
|
287
|
+
"lane": "frontend",
|
|
288
|
+
"condition": "同合并目标"
|
|
289
|
+
},
|
|
290
|
+
"enforcement": "advisory",
|
|
291
|
+
"vocab_pr_needed": false,
|
|
292
|
+
"notes": "合并指针:CONFIG_ISOLATION 的禁止形态",
|
|
293
|
+
"review": {
|
|
294
|
+
"disposition": "REJECT",
|
|
295
|
+
"seq": "pilot-0001",
|
|
296
|
+
"ref": "docs/catalog-pilot-report.md:L262(§8.3 #55)",
|
|
297
|
+
"reject_reason": "极性反转 DUPLICATE:正本禁止形态(报告 §8.3 #55;§3.1 表)",
|
|
298
|
+
"duplicate_of": "POLICY.WEB.GRID.CONFIG_ISOLATION"
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"candidate_id": "POLICY.WEB.GRID.NO_FAKE_PAGINATION",
|
|
303
|
+
"source": "design_seed",
|
|
304
|
+
"evidence": "PLANNED",
|
|
305
|
+
"source_protocol": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md",
|
|
306
|
+
"source_section": "MUST NOT 第4条",
|
|
307
|
+
"classification": "DUPLICATE",
|
|
308
|
+
"statement_zh": "禁止前端加载全量数据做假分页。",
|
|
309
|
+
"statement_en_keywords": "no fake pagination, no full data load",
|
|
310
|
+
"applies_when": {
|
|
311
|
+
"lane": "frontend",
|
|
312
|
+
"condition": "同合并目标"
|
|
313
|
+
},
|
|
314
|
+
"enforcement": "advisory",
|
|
315
|
+
"vocab_pr_needed": false,
|
|
316
|
+
"notes": "合并指针:SERVER_OPS_VIRTUALIZATION 的禁止形态",
|
|
317
|
+
"review": {
|
|
318
|
+
"disposition": "REJECT",
|
|
319
|
+
"seq": "pilot-0001",
|
|
320
|
+
"ref": "docs/catalog-pilot-report.md:L263(§8.3 #56)",
|
|
321
|
+
"reject_reason": "极性反转 DUPLICATE:正本禁止形态(报告 §8.3 #56;§3.1 表)",
|
|
322
|
+
"duplicate_of": "POLICY.WEB.GRID.SERVER_OPS_VIRTUALIZATION"
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"candidate_id": "POLICY.CHG.PRECHANGE_SCAN_BE",
|
|
327
|
+
"source": "design_seed",
|
|
328
|
+
"evidence": "PLANNED",
|
|
329
|
+
"source_protocol": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md",
|
|
330
|
+
"source_section": "MUST",
|
|
331
|
+
"classification": "DUPLICATE",
|
|
332
|
+
"statement_zh": "契约变更前必须识别消费者、兼容窗口、迁移、回滚与版本策略。",
|
|
333
|
+
"statement_en_keywords": "pre-change scan, consumers, compatibility window, migration, rollback, version strategy",
|
|
334
|
+
"applies_when": {
|
|
335
|
+
"lane": "backend",
|
|
336
|
+
"condition": "同合并目标"
|
|
337
|
+
},
|
|
338
|
+
"enforcement": "advisory",
|
|
339
|
+
"vocab_pr_needed": false,
|
|
340
|
+
"notes": "跨车道重复:与 FE06 POLICY.CHG.PRECHANGE_CONSUMER_SCAN + COMPAT_MIGRATION_ROLLBACK 同构 → 合并为单一 UNIVERSAL 正本,本条为 BE 侧让位副本",
|
|
341
|
+
"review": {
|
|
342
|
+
"disposition": "REJECT",
|
|
343
|
+
"seq": "pilot-0001",
|
|
344
|
+
"ref": "docs/catalog-pilot-report.md:L277(§8.4 #65)",
|
|
345
|
+
"reject_reason": "M1 让位副本:六要素已并入正本(报告 §8.4 #65;§3.2 M1 合并稿)",
|
|
346
|
+
"duplicate_of": "POLICY.CHG.PRECHANGE_CONSUMER_SCAN"
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"candidate_id": "POLICY.CHG.NO_DELETE_NO_MIGRATION_BE",
|
|
351
|
+
"source": "design_seed",
|
|
352
|
+
"evidence": "PLANNED",
|
|
353
|
+
"source_protocol": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md",
|
|
354
|
+
"source_section": "MUST NOT",
|
|
355
|
+
"classification": "DUPLICATE",
|
|
356
|
+
"statement_zh": "无迁移说明不得删除、重命名或改变已发布语义。",
|
|
357
|
+
"statement_en_keywords": "no removal/rename/semantic change without migration note",
|
|
358
|
+
"applies_when": {
|
|
359
|
+
"lane": "backend",
|
|
360
|
+
"condition": "同合并目标"
|
|
361
|
+
},
|
|
362
|
+
"enforcement": "advisory",
|
|
363
|
+
"vocab_pr_needed": false,
|
|
364
|
+
"notes": "跨车道重复:POLICY.CHG.DEPRECATE_BEFORE_DELETE 的 BE 形态 → 让位合并",
|
|
365
|
+
"review": {
|
|
366
|
+
"disposition": "REJECT",
|
|
367
|
+
"seq": "pilot-0001",
|
|
368
|
+
"ref": "docs/catalog-pilot-report.md:L278(§8.4 #66)",
|
|
369
|
+
"reject_reason": "M2 让位:BE 禁止形态已并入正本(报告 §8.4 #66;§3.2 M2 合并稿)",
|
|
370
|
+
"duplicate_of": "POLICY.CHG.DEPRECATE_BEFORE_DELETE"
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"candidate_id": "POLICY.CHG.BREAKING_VERSIONING_BE",
|
|
375
|
+
"source": "design_seed",
|
|
376
|
+
"evidence": "PLANNED",
|
|
377
|
+
"source_protocol": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md",
|
|
378
|
+
"source_section": "Change Policy",
|
|
379
|
+
"classification": "DUPLICATE",
|
|
380
|
+
"statement_zh": "破坏性变更必须经显式审批、版本升级并附可执行回退方案。",
|
|
381
|
+
"statement_en_keywords": "breaking change, explicit approval, version upgrade, executable rollback",
|
|
382
|
+
"applies_when": {
|
|
383
|
+
"lane": "backend",
|
|
384
|
+
"condition": "同合并目标"
|
|
385
|
+
},
|
|
386
|
+
"enforcement": "advisory",
|
|
387
|
+
"vocab_pr_needed": false,
|
|
388
|
+
"notes": "跨车道重复:POLICY.CHG.BREAKING_VERSIONING 的 BE 形态;『显式审批』『可执行回退』两个子句建议 Human Review 时并入正本",
|
|
389
|
+
"review": {
|
|
390
|
+
"disposition": "REJECT",
|
|
391
|
+
"seq": "pilot-0001",
|
|
392
|
+
"ref": "docs/catalog-pilot-report.md:L285(§8.4 #73)",
|
|
393
|
+
"reject_reason": "M3 让位:显式审批+可执行回退两子句已并入正本(报告 §8.4 #73;§3.2 M3 合并稿)",
|
|
394
|
+
"duplicate_of": "POLICY.CHG.BREAKING_VERSIONING"
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"candidate_id": "POLICY.API.DELEGATE_TO_CHG_PROTOCOL",
|
|
399
|
+
"source": "design_seed",
|
|
400
|
+
"evidence": "PLANNED",
|
|
401
|
+
"source_protocol": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md",
|
|
402
|
+
"source_section": "Change Policy",
|
|
403
|
+
"classification": "DUPLICATE",
|
|
404
|
+
"statement_zh": "破坏性 API 变化必须按契约变更协议执行版本与迁移。",
|
|
405
|
+
"statement_en_keywords": "breaking api change delegates to contract change protocol",
|
|
406
|
+
"applies_when": {
|
|
407
|
+
"lane": "any",
|
|
408
|
+
"condition": "同合并目标"
|
|
409
|
+
},
|
|
410
|
+
"enforcement": "advisory",
|
|
411
|
+
"vocab_pr_needed": false,
|
|
412
|
+
"notes": "指针条款:委托至 POLICY.CHG.BREAKING_VERSIONING,无独立语义 → 让位合并",
|
|
413
|
+
"review": {
|
|
414
|
+
"disposition": "REJECT",
|
|
415
|
+
"seq": "pilot-0001",
|
|
416
|
+
"ref": "docs/catalog-pilot-report.md:L299(§8.5 #82)",
|
|
417
|
+
"reject_reason": "指针条款并入 BREAKING_VERSIONING,无独立语义(报告 §8.5 #82)",
|
|
418
|
+
"duplicate_of": "POLICY.CHG.BREAKING_VERSIONING"
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
]
|
|
422
|
+
}
|