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.
Files changed (115) hide show
  1. package/COMMERCIAL_LICENSE.md +35 -0
  2. package/LICENSE +83 -0
  3. package/README.md +396 -0
  4. package/SECURITY.md +22 -0
  5. package/TRADEMARKS.md +12 -0
  6. package/catalog/candidates/candidates-draft.json +198 -0
  7. package/catalog/candidates/rejected.json +422 -0
  8. package/catalog/catalog-lock.draft.json +822 -0
  9. package/catalog/gates/gate.be.api.contract_checks.json +138 -0
  10. package/catalog/gates/gate.be.chg.contract_change_checks.json +138 -0
  11. package/catalog/gates/gate.chg.prechange_checks.json +155 -0
  12. package/catalog/gates/gate.web.api.request_checks.json +149 -0
  13. package/catalog/gates/gate.web.grid.checks.json +149 -0
  14. package/catalog/knowledge/knowledge.api.example_stable_error_code.json +80 -0
  15. package/catalog/knowledge/knowledge.chg.example_compat_window.json +87 -0
  16. package/catalog/knowledge/knowledge.chg.example_prop_migration.json +87 -0
  17. package/catalog/knowledge/knowledge.fp.api.field_drift_no_contract.json +83 -0
  18. package/catalog/knowledge/knowledge.fp.api.per_page_http_client.json +83 -0
  19. package/catalog/knowledge/knowledge.fp.be.contract_drift.json +87 -0
  20. package/catalog/knowledge/knowledge.fp.chg.page_local_padding.json +88 -0
  21. package/catalog/knowledge/knowledge.fp.grid.global_td_width.json +87 -0
  22. package/catalog/knowledge/knowledge.web.api.example_get_entity_list.json +83 -0
  23. package/catalog/knowledge/knowledge.web.grid.example_column_preset.json +83 -0
  24. package/catalog/policies/authority.be.api_contract_ownership.json +77 -0
  25. package/catalog/policies/authority.be.contract_ownership.json +73 -0
  26. package/catalog/policies/authority.chg.change_owners.json +75 -0
  27. package/catalog/policies/authority.web.api.request_owners.json +82 -0
  28. package/catalog/policies/authority.web.grid.ownership.json +78 -0
  29. package/catalog/policies/policy.api.backward_compat_defaults.json +83 -0
  30. package/catalog/policies/policy.api.contract_impl_consistency.json +81 -0
  31. package/catalog/policies/policy.api.no_informal_contract.json +82 -0
  32. package/catalog/policies/policy.arch.decision_tradeoff_record.json +78 -0
  33. package/catalog/policies/policy.cache.lifecycle_definition.json +79 -0
  34. package/catalog/policies/policy.chg.affect_templates.json +79 -0
  35. package/catalog/policies/policy.chg.breaking_versioning.json +81 -0
  36. package/catalog/policies/policy.chg.compat_migration_rollback.json +82 -0
  37. package/catalog/policies/policy.chg.deprecate_before_delete.json +82 -0
  38. package/catalog/policies/policy.chg.fix_at_root_cause_level.json +78 -0
  39. package/catalog/policies/policy.chg.observable_evolution.json +78 -0
  40. package/catalog/policies/policy.chg.prechange_consumer_scan.json +83 -0
  41. package/catalog/policies/policy.chg.staged_rollout.json +79 -0
  42. package/catalog/policies/policy.chg.sync_contract_docs_tests.json +81 -0
  43. package/catalog/policies/policy.conflict.priority_ladder.json +79 -0
  44. package/catalog/policies/policy.dep.admission_six_dimension_check.json +84 -0
  45. package/catalog/policies/policy.dep.change_surface_review.json +82 -0
  46. package/catalog/policies/policy.dep.introduction_review.json +83 -0
  47. package/catalog/policies/policy.derived.single_implementation.json +77 -0
  48. package/catalog/policies/policy.obs.correlation_context_minimum.json +81 -0
  49. package/catalog/policies/policy.obs.rum_dimension_whitelist.json +77 -0
  50. package/catalog/policies/policy.proc.pre_code_declaration.json +78 -0
  51. package/catalog/policies/policy.rel.pre_release_confirmation.json +77 -0
  52. package/catalog/policies/policy.role.domain_decision_authority.json +77 -0
  53. package/catalog/policies/policy.sec.third_party_execution_register.json +78 -0
  54. package/catalog/policies/policy.spec.admission_criteria.json +79 -0
  55. package/catalog/policies/policy.spec.derived_view_regeneration.json +79 -0
  56. package/catalog/policies/policy.spec.draft_not_baseline.json +77 -0
  57. package/catalog/policies/policy.spec.file_structure_contract.json +76 -0
  58. package/catalog/policies/policy.spec.metadata_required.json +76 -0
  59. package/catalog/policies/policy.spec.post_dev_backfill_classify.json +74 -0
  60. package/catalog/policies/policy.spec.procedural_record_not_surrogate.json +76 -0
  61. package/catalog/policies/policy.spec.semantic_identity.json +77 -0
  62. package/catalog/policies/policy.spec.unresolved_ledger_gate.json +79 -0
  63. package/catalog/policies/policy.stack.no_implicit_selection.json +77 -0
  64. package/catalog/policies/policy.tool.scoped_scan_boundary.json +78 -0
  65. package/catalog/policies/policy.web.api.auth_app_client_split.json +93 -0
  66. package/catalog/policies/policy.web.api.client_change_impact.json +86 -0
  67. package/catalog/policies/policy.web.api.domain_api_only.json +84 -0
  68. package/catalog/policies/policy.web.api.error_normalization.json +82 -0
  69. package/catalog/policies/policy.web.api.generated_client.json +82 -0
  70. package/catalog/policies/policy.web.api.late_result_guard.json +80 -0
  71. package/catalog/policies/policy.web.api.mutation_idempotency.json +84 -0
  72. package/catalog/policies/policy.web.api.no_network_optimism.json +82 -0
  73. package/catalog/policies/policy.web.api.query_cancel_stale_drop.json +80 -0
  74. package/catalog/policies/policy.web.api.request_infrastructure.json +95 -0
  75. package/catalog/policies/policy.web.api.retry_discipline.json +87 -0
  76. package/catalog/policies/policy.web.api.session_recovery_split.json +94 -0
  77. package/catalog/policies/policy.web.api.single_http_client.json +88 -0
  78. package/catalog/policies/policy.web.api.single_loading_source.json +81 -0
  79. package/catalog/policies/policy.web.api.transport_vs_business.json +81 -0
  80. package/catalog/policies/policy.web.api.trusted_endpoint_source.json +82 -0
  81. package/catalog/policies/policy.web.api.typed_domain_naming.json +79 -0
  82. package/catalog/policies/policy.web.arch.layer_isolation.json +376 -0
  83. package/catalog/policies/policy.web.arch.naming_conventions.json +207 -0
  84. package/catalog/policies/policy.web.arch.public_api_barrel.json +134 -0
  85. package/catalog/policies/policy.web.chg.controlled_change_triggers.json +79 -0
  86. package/catalog/policies/policy.web.copy.suppression_ledger_discipline.json +78 -0
  87. package/catalog/policies/policy.web.grid.column_schema_fields.json +78 -0
  88. package/catalog/policies/policy.web.grid.config_isolation.json +78 -0
  89. package/catalog/policies/policy.web.grid.freeze_key_columns.json +77 -0
  90. package/catalog/policies/policy.web.grid.interaction_registry.json +80 -0
  91. package/catalog/policies/policy.web.grid.keyboard_clipboard.json +79 -0
  92. package/catalog/policies/policy.web.grid.schema_driven_shell.json +81 -0
  93. package/catalog/policies/policy.web.grid.schema_versioning.json +78 -0
  94. package/catalog/policies/policy.web.grid.server_ops_virtualization.json +81 -0
  95. package/catalog/policies/policy.web.grid.shell_change_matrix.json +76 -0
  96. package/catalog/policies/policy.web.grid.width_fix_ladder.json +79 -0
  97. package/catalog/policies/policy.web.perf.budget_skeleton.json +110 -0
  98. package/catalog/policies/policy.web.style.ownership_matrix.json +207 -0
  99. package/catalog/policies/policy.web.track.consent_lifecycle.json +78 -0
  100. package/catalog/policies/policy.web.track.privacy_default_deny.json +81 -0
  101. package/catalog/policies/policy.web.track.stable_event_keys.json +78 -0
  102. package/catalog/policies/policy.web.uiux.provider_evidence_not_business_truth.json +86 -0
  103. package/catalog/projection-presets/registry-tree.yaml +307 -0
  104. package/catalog/sensors/sensor.browser.deterministic.json +53 -0
  105. package/catalog/sensors/sensor.browser.interactive.json +58 -0
  106. package/catalog/sensors/sensor.build.static.json +45 -0
  107. package/catalog/sensors/sensor.contract.conformance.json +47 -0
  108. package/catalog/sensors/sensor.performance.budget.json +46 -0
  109. package/catalog/sensors/sensor.production.metric.json +44 -0
  110. package/catalog/tools/apply_human_review_pilot_0001.py +488 -0
  111. package/catalog/tools/materialize_batch4_uplift.py +776 -0
  112. package/catalog/tools/materialize_catalog_pilot.py +784 -0
  113. package/dist/bin.js +52362 -0
  114. package/legal/THIRD_PARTY_NOTICES.md +336 -0
  115. package/package.json +36 -0
@@ -0,0 +1,149 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "GATE. 前缀不在 prefixes_v0 15 前缀闭包内(closed-world:未登记前缀解析即 FATAL);且 kind='gate_recipe' 不在 kinds_registry.truth_bodies",
5
+ "proposal": "词汇表 PR 登记 GATE. 前缀与 gate_recipe kind;备选落法:gate recipe 住 catalog/gates/ 非 truth 对象层,门禁定义锚沿用 03-gate-result.schema gate_def 的 POLICY.GATE.<NAME>@semver 词形(两种落法待 Owner 裁决,meta.vocab_findings[1])",
6
+ "locked_vocab_untouched": true
7
+ },
8
+ "x-pilot-proposal": {
9
+ "status": "PROPOSAL",
10
+ "package": "语义分解试点送审包(2026-08-28)",
11
+ "human_review_required": true,
12
+ "source_type": "design_seed",
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/catalog/candidates/candidates-draft.json",
15
+ "enforcement_note": "优先机器判卷;判卷步骤草案见 catalog/gates/ 同协议 recipe",
16
+ "clean_room_note": "statement_zh 为独立改写(clean-room),零逐字拷贝源协议"
17
+ },
18
+ "x-applicability-review": {
19
+ "status": "annotated",
20
+ "campaign": "W1-A2 P0.5-1 T3 标注战役(PRD v0.5.2 §5.2/§14;Owner 裁决 8 ②,2026-09-01)",
21
+ "axes": [
22
+ "lanes",
23
+ "change_classes",
24
+ "applicability_note"
25
+ ],
26
+ "basis": "condition『表格相关变更过门禁』——呈现面变更"
27
+ },
28
+ "id": "GATE.WEB.GRID.CHECKS",
29
+ "kind": "gate_recipe",
30
+ "axis_profile": "gate_recipe_default",
31
+ "classification": "GATE_RECIPE",
32
+ "axes": {
33
+ "lifecycle": "PROPOSED",
34
+ "confidence": "UNRESOLVED",
35
+ "evidence": "PLANNED",
36
+ "change": "STABLE"
37
+ },
38
+ "title_zh": "表格门禁检查单",
39
+ "statement_zh": "表格门禁检查单:①schema 驱动 ②列宽影响层级正确 ③大数据与配置隔离安全 ④导出与当前视图一致 ⑤每个支持交互已在 registry 声明并绑定 action+API。",
40
+ "applies_when": {
41
+ "lane": "frontend",
42
+ "condition": "表格相关变更过门禁",
43
+ "lanes": [
44
+ "frontend"
45
+ ],
46
+ "change_classes": [
47
+ "PRESENTATION_CHANGE"
48
+ ],
49
+ "applicability_note": "表格相关变更过门禁"
50
+ },
51
+ "enforcement": "deterministic_where_possible",
52
+ "gate_def_draft": {
53
+ "anchor": "GATE.WEB.GRID.CHECKS@0.1.0",
54
+ "anchor_note": "03-gate-result.schema gate_def 要求 '<定义id>@semver';若 Owner 裁决 POLICY.GATE.* 落法则改写为 POLICY.GATE.WEB.GRID.CHECKS@0.1.0",
55
+ "result_schema_ref": "POMaster_VNext/packages/schemas/assets/03-gate-result.schema.json",
56
+ "verdict_vocabulary": [
57
+ "passed",
58
+ "failed",
59
+ "warning",
60
+ "blocked",
61
+ "not_run",
62
+ "not_configured",
63
+ "skipped_blindspot"
64
+ ],
65
+ "judging_rules": {
66
+ "counts_not_applicable_required": "counts.not_applicable 必填——『为何没查』必须是数字而非沉默(C1)",
67
+ "trust_twin": "asserted/recomputed 孪生字段组:永不信任自报值,判卷唯一依据为 GateRunner 重算(C5)",
68
+ "blindspot_evidence": "verdict=skipped_blindspot 必须附 blindspot.fixture_regression 证据引用",
69
+ "aggregate_honesty": "聚合值永远不含未声明的静默跳过;not_configured ≠ passed"
70
+ }
71
+ },
72
+ "checks": [
73
+ {
74
+ "seq": 1,
75
+ "check_id": "schema_driven_rendering",
76
+ "statement_zh": "表格经统一表格壳 + typed Column Schema 渲染,无 template 手写列或复制列数组",
77
+ "judgeability": "machine",
78
+ "machine_support": "模板/渲染函数中列定义模式扫描"
79
+ },
80
+ {
81
+ "seq": 2,
82
+ "check_id": "width_fix_level_correct",
83
+ "statement_zh": "列宽修复影响层级正确(单页例外→同类型 preset→领域 preset→表格壳→全局 token 逐级上浮)",
84
+ "judgeability": "human",
85
+ "manual_part": "层级选择语义判定"
86
+ },
87
+ {
88
+ "seq": 3,
89
+ "check_id": "large_data_and_config_isolation_safe",
90
+ "statement_zh": "大数据量走服务端分页/筛选/排序 + 虚拟化;列配置按页面/表格/用户/schema 版本四维隔离",
91
+ "judgeability": "hybrid",
92
+ "machine_support": "分页/虚拟化配置存在性、配置 key 隔离扫描",
93
+ "manual_part": "『大数据』阈值属项目基线(PRD §93.5 拆分点:Catalog Policy vs Project Baseline)"
94
+ },
95
+ {
96
+ "seq": 4,
97
+ "check_id": "export_matches_view",
98
+ "statement_zh": "导出内容与当前视图一致",
99
+ "judgeability": "machine",
100
+ "machine_support": "ExportScope 与当前视图状态对账"
101
+ },
102
+ {
103
+ "seq": 5,
104
+ "check_id": "interaction_registered_and_bound",
105
+ "statement_zh": "每个支持交互已在 interaction-contract-registry 声明并绑定 action_id + api_requirement_ids",
106
+ "judgeability": "machine",
107
+ "machine_support": "registry 条目 ↔ 页面交互声明对账",
108
+ "not_configured_semantics": "opt-in:registry 文件不存在 → verdict=not_configured(终局性诚实报告),禁止静默通过——interaction-contract opt-in 门禁『文件不存在则门禁静默』是 directly blocked anti-case"
109
+ }
110
+ ],
111
+ "policy_refs": [
112
+ "AUTHORITY.WEB.GRID.OWNERSHIP",
113
+ "POLICY.WEB.GRID.COLUMN_SCHEMA_FIELDS",
114
+ "POLICY.WEB.GRID.CONFIG_ISOLATION",
115
+ "POLICY.WEB.GRID.FREEZE_KEY_COLUMNS",
116
+ "POLICY.WEB.GRID.INTERACTION_REGISTRY",
117
+ "POLICY.WEB.GRID.KEYBOARD_CLIPBOARD",
118
+ "POLICY.WEB.GRID.SCHEMA_DRIVEN_SHELL",
119
+ "POLICY.WEB.GRID.SCHEMA_VERSIONING",
120
+ "POLICY.WEB.GRID.SERVER_OPS_VIRTUALIZATION",
121
+ "POLICY.WEB.GRID.SHELL_CHANGE_MATRIX",
122
+ "POLICY.WEB.GRID.WIDTH_FIX_LADDER"
123
+ ],
124
+ "authority": {
125
+ "owner": "HUMAN_OWNER",
126
+ "delegates": [],
127
+ "write_policy": "EVOLUTION_CHANNEL",
128
+ "escalation_hint": "catalog-pilot-human-review"
129
+ },
130
+ "origin": "ingested",
131
+ "sources": [
132
+ {
133
+ "type": "design_seed",
134
+ "ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md",
135
+ "captured_by": "agent:claude/semantic-decomposition-pilot",
136
+ "locator": {
137
+ "section": "Checklist(5 项)"
138
+ }
139
+ }
140
+ ],
141
+ "review_notes": [
142
+ "GATE. 前缀需 vocab PR;⑤依赖 interaction-contract-registry 存在(opt-in→not-configured 语义)"
143
+ ],
144
+ "review": {
145
+ "disposition": "ACCEPT",
146
+ "seq": "pilot-0001",
147
+ "ref": "docs/catalog-pilot-report.md:L267(§8.3 #60)"
148
+ }
149
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "no_new_enum__confirm_only",
4
+ "finding": "knowledge_entry kind 已在 vocab-lock kinds_registry.truth_bodies——试点纪律所称『knowledge 无正式 kind』与 vocab-lock 实况不符",
5
+ "proposal": "无需新 kind;payload 变体(KNOWLEDGE_PATTERN/FAILURE_PATTERN)作为 knowledge_entry 的 kind profile 承载,提请词汇表 PR 时一并确认,不新增枚举值(meta.vocab_findings[2])",
6
+ "locked_vocab_untouched": true
7
+ },
8
+ "x-pilot-proposal": {
9
+ "status": "PROPOSAL",
10
+ "package": "语义分解试点送审包(2026-08-28)",
11
+ "human_review_required": true,
12
+ "source_type": "design_seed",
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/catalog/candidates/candidates-draft.json",
15
+ "enforcement_note": "仅建议:任何 gate 永不因本条目单独 FAIL,至多产生 WARN/HINT 或进入 Human Review 议程",
16
+ "clean_room_note": "statement_zh 为独立改写(clean-room),零逐字拷贝源协议"
17
+ },
18
+ "x-applicability-review": {
19
+ "status": "human_review_candidate",
20
+ "campaign": "W1-A2 P0.5-1 T3 标注战役(PRD v0.5.2 §5.2/§14;Owner 裁决 8 ②,2026-09-01)",
21
+ "axes": [
22
+ "applicability_note"
23
+ ],
24
+ "note": "T3 保守派生未见明确词面证据——capabilities/change_classes 留空回退 lane 缺省(O7 行为零变化);列 Human Review 复核议程"
25
+ },
26
+ "x-advisory-gate-semantics": {
27
+ "advisory": true,
28
+ "gate_binding": "NEVER_FAIL",
29
+ "statement": "本条目为 advisory 知识:任何 gate 永不因本条目 FAIL;至多产生 WARN/HINT 或进入 Human Review 议程"
30
+ },
31
+ "id": "KNOWLEDGE.API.EXAMPLE_STABLE_ERROR_CODE",
32
+ "kind": "knowledge_entry",
33
+ "axis_profile": "knowledge_default",
34
+ "classification": "KNOWLEDGE_PATTERN",
35
+ "axes": {
36
+ "lifecycle": "PROPOSED",
37
+ "confidence": "UNRESOLVED",
38
+ "evidence": "PLANNED",
39
+ "change": "STABLE"
40
+ },
41
+ "title_zh": "示例:稳定错误码加 TraceId",
42
+ "statement_zh": "示例:冲突场景返回稳定错误码 + TraceId,而非泄露内部异常。",
43
+ "statement_en_keywords": [
44
+ "example",
45
+ "stable error code",
46
+ "trace id",
47
+ "no internal leak"
48
+ ],
49
+ "applies_when": {
50
+ "lane": "any",
51
+ "condition": "错误响应设计",
52
+ "applicability_note": "错误响应设计"
53
+ },
54
+ "enforcement": "advisory",
55
+ "authority": {
56
+ "owner": "HUMAN_OWNER",
57
+ "delegates": [],
58
+ "write_policy": "EVOLUTION_CHANNEL",
59
+ "escalation_hint": "catalog-pilot-human-review"
60
+ },
61
+ "origin": "ingested",
62
+ "sources": [
63
+ {
64
+ "type": "design_seed",
65
+ "ref": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md",
66
+ "captured_by": "agent:claude/semantic-decomposition-pilot",
67
+ "locator": {
68
+ "section": "Examples"
69
+ }
70
+ }
71
+ ],
72
+ "review_notes": [
73
+ "与 ERR.* 词条体系(error-taxonomy D18)衔接"
74
+ ],
75
+ "review": {
76
+ "disposition": "ACCEPT",
77
+ "seq": "pilot-0001",
78
+ "ref": "docs/catalog-pilot-report.md:L296(§8.5 #79)"
79
+ }
80
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "no_new_enum__confirm_only",
4
+ "finding": "knowledge_entry kind 已在 vocab-lock kinds_registry.truth_bodies——试点纪律所称『knowledge 无正式 kind』与 vocab-lock 实况不符",
5
+ "proposal": "无需新 kind;payload 变体(KNOWLEDGE_PATTERN/FAILURE_PATTERN)作为 knowledge_entry 的 kind profile 承载,提请词汇表 PR 时一并确认,不新增枚举值(meta.vocab_findings[2])",
6
+ "locked_vocab_untouched": true
7
+ },
8
+ "x-pilot-proposal": {
9
+ "status": "PROPOSAL",
10
+ "package": "语义分解试点送审包(2026-08-28)",
11
+ "human_review_required": true,
12
+ "source_type": "design_seed",
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/catalog/candidates/candidates-draft.json",
15
+ "enforcement_note": "仅建议:任何 gate 永不因本条目单独 FAIL,至多产生 WARN/HINT 或进入 Human Review 议程",
16
+ "clean_room_note": "statement_zh 为独立改写(clean-room),零逐字拷贝源协议"
17
+ },
18
+ "x-applicability-review": {
19
+ "status": "annotated",
20
+ "campaign": "W1-A2 P0.5-1 T3 标注战役(PRD v0.5.2 §5.2/§14;Owner 裁决 8 ②,2026-09-01)",
21
+ "axes": [
22
+ "lanes",
23
+ "change_classes",
24
+ "applicability_note"
25
+ ],
26
+ "basis": "condition『字段级契约演进』"
27
+ },
28
+ "x-advisory-gate-semantics": {
29
+ "advisory": true,
30
+ "gate_binding": "NEVER_FAIL",
31
+ "statement": "本条目为 advisory 知识:任何 gate 永不因本条目 FAIL;至多产生 WARN/HINT 或进入 Human Review 议程"
32
+ },
33
+ "id": "KNOWLEDGE.CHG.EXAMPLE_COMPAT_WINDOW",
34
+ "kind": "knowledge_entry",
35
+ "axis_profile": "knowledge_default",
36
+ "classification": "KNOWLEDGE_PATTERN",
37
+ "axes": {
38
+ "lifecycle": "PROPOSED",
39
+ "confidence": "UNRESOLVED",
40
+ "evidence": "PLANNED",
41
+ "change": "STABLE"
42
+ },
43
+ "title_zh": "示例:兼容发布后再关旧版窗口",
44
+ "statement_zh": "示例:新字段先以兼容方式发布,消费者迁移完成后再关闭旧版本窗口。",
45
+ "statement_en_keywords": [
46
+ "example",
47
+ "compatible release",
48
+ "version window closure"
49
+ ],
50
+ "applies_when": {
51
+ "lane": "backend",
52
+ "condition": "字段级契约演进",
53
+ "lanes": [
54
+ "backend"
55
+ ],
56
+ "change_classes": [
57
+ "API_EVOLUTION"
58
+ ],
59
+ "applicability_note": "字段级契约演进"
60
+ },
61
+ "enforcement": "advisory",
62
+ "authority": {
63
+ "owner": "HUMAN_OWNER",
64
+ "delegates": [],
65
+ "write_policy": "EVOLUTION_CHANNEL",
66
+ "escalation_hint": "catalog-pilot-human-review"
67
+ },
68
+ "origin": "ingested",
69
+ "sources": [
70
+ {
71
+ "type": "design_seed",
72
+ "ref": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md",
73
+ "captured_by": "agent:claude/semantic-decomposition-pilot",
74
+ "locator": {
75
+ "section": "Examples"
76
+ }
77
+ }
78
+ ],
79
+ "review_notes": [
80
+ "与 FE06 EXAMPLE_PROP_MIGRATION 同型(跨车道知识同构,Catalog 可合并为一条);pilot-0001 M5:互引已建立,合并候选留后续批次"
81
+ ],
82
+ "review": {
83
+ "disposition": "ADJUST",
84
+ "seq": "pilot-0001",
85
+ "ref": "docs/catalog-pilot-report.md:L282(§8.4 #70)"
86
+ }
87
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "no_new_enum__confirm_only",
4
+ "finding": "knowledge_entry kind 已在 vocab-lock kinds_registry.truth_bodies——试点纪律所称『knowledge 无正式 kind』与 vocab-lock 实况不符",
5
+ "proposal": "无需新 kind;payload 变体(KNOWLEDGE_PATTERN/FAILURE_PATTERN)作为 knowledge_entry 的 kind profile 承载,提请词汇表 PR 时一并确认,不新增枚举值(meta.vocab_findings[2])",
6
+ "locked_vocab_untouched": true
7
+ },
8
+ "x-pilot-proposal": {
9
+ "status": "PROPOSAL",
10
+ "package": "语义分解试点送审包(2026-08-28)",
11
+ "human_review_required": true,
12
+ "source_type": "design_seed",
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/catalog/candidates/candidates-draft.json",
15
+ "enforcement_note": "仅建议:任何 gate 永不因本条目单独 FAIL,至多产生 WARN/HINT 或进入 Human Review 议程",
16
+ "clean_room_note": "statement_zh 为独立改写(clean-room),零逐字拷贝源协议"
17
+ },
18
+ "x-applicability-review": {
19
+ "status": "annotated",
20
+ "campaign": "W1-A2 P0.5-1 T3 标注战役(PRD v0.5.2 §5.2/§14;Owner 裁决 8 ②,2026-09-01)",
21
+ "axes": [
22
+ "lanes",
23
+ "change_classes",
24
+ "applicability_note"
25
+ ],
26
+ "basis": "condition『组件 props 演进』——props 组件公共契约面"
27
+ },
28
+ "x-advisory-gate-semantics": {
29
+ "advisory": true,
30
+ "gate_binding": "NEVER_FAIL",
31
+ "statement": "本条目为 advisory 知识:任何 gate 永不因本条目 FAIL;至多产生 WARN/HINT 或进入 Human Review 议程"
32
+ },
33
+ "id": "KNOWLEDGE.CHG.EXAMPLE_PROP_MIGRATION",
34
+ "kind": "knowledge_entry",
35
+ "axis_profile": "knowledge_default",
36
+ "classification": "KNOWLEDGE_PATTERN",
37
+ "axes": {
38
+ "lifecycle": "PROPOSED",
39
+ "confidence": "UNRESOLVED",
40
+ "evidence": "PLANNED",
41
+ "change": "STABLE"
42
+ },
43
+ "title_zh": "示例:props 加法式迁移",
44
+ "statement_zh": "示例:新增 props 时保留旧默认值并发布迁移说明,待调用方全部完成迁移后再删旧 props。",
45
+ "statement_en_keywords": [
46
+ "example",
47
+ "additive prop migration",
48
+ "old default retention"
49
+ ],
50
+ "applies_when": {
51
+ "lane": "frontend",
52
+ "condition": "组件 props 演进",
53
+ "lanes": [
54
+ "frontend"
55
+ ],
56
+ "change_classes": [
57
+ "PUBLIC_CONTRACT_CHANGE"
58
+ ],
59
+ "applicability_note": "组件 props 演进"
60
+ },
61
+ "enforcement": "advisory",
62
+ "authority": {
63
+ "owner": "HUMAN_OWNER",
64
+ "delegates": [],
65
+ "write_policy": "EVOLUTION_CHANNEL",
66
+ "escalation_hint": "catalog-pilot-human-review"
67
+ },
68
+ "origin": "ingested",
69
+ "sources": [
70
+ {
71
+ "type": "design_seed",
72
+ "ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md",
73
+ "captured_by": "agent:claude/semantic-decomposition-pilot",
74
+ "locator": {
75
+ "section": "Examples"
76
+ }
77
+ }
78
+ ],
79
+ "review_notes": [
80
+ "源文件自标『内容示例,可删除』;降级 advisory 知识;pilot-0001 M5:与 KNOWLEDGE.CHG.EXAMPLE_COMPAT_WINDOW(BE 08 同型)互引,合并为一条跨 lane 知识登记为候选,留后续批次"
81
+ ],
82
+ "review": {
83
+ "disposition": "ADJUST",
84
+ "seq": "pilot-0001",
85
+ "ref": "docs/catalog-pilot-report.md:L216(§8.1 #19)"
86
+ }
87
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "no_new_enum__confirm_only",
4
+ "finding": "knowledge_entry kind 已在 vocab-lock kinds_registry.truth_bodies——试点纪律所称『knowledge 无正式 kind』与 vocab-lock 实况不符",
5
+ "proposal": "无需新 kind;payload 变体(KNOWLEDGE_PATTERN/FAILURE_PATTERN)作为 knowledge_entry 的 kind profile 承载,提请词汇表 PR 时一并确认,不新增枚举值(meta.vocab_findings[2])",
6
+ "locked_vocab_untouched": true
7
+ },
8
+ "x-pilot-proposal": {
9
+ "status": "PROPOSAL",
10
+ "package": "语义分解试点送审包(2026-08-28)",
11
+ "human_review_required": true,
12
+ "source_type": "design_seed",
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/catalog/candidates/candidates-draft.json",
15
+ "enforcement_note": "仅建议:任何 gate 永不因本条目单独 FAIL,至多产生 WARN/HINT 或进入 Human Review 议程",
16
+ "clean_room_note": "statement_zh 为独立改写(clean-room),零逐字拷贝源协议"
17
+ },
18
+ "x-applicability-review": {
19
+ "status": "annotated",
20
+ "campaign": "W1-A2 P0.5-1 T3 标注战役(PRD v0.5.2 §5.2/§14;Owner 裁决 8 ②,2026-09-01)",
21
+ "axes": [
22
+ "change_classes",
23
+ "applicability_note"
24
+ ],
25
+ "basis": "condition『接口字段变更』"
26
+ },
27
+ "x-advisory-gate-semantics": {
28
+ "advisory": true,
29
+ "gate_binding": "NEVER_FAIL",
30
+ "statement": "本条目为 advisory 知识:任何 gate 永不因本条目 FAIL;至多产生 WARN/HINT 或进入 Human Review 议程"
31
+ },
32
+ "id": "KNOWLEDGE.FP.API.FIELD_DRIFT_NO_CONTRACT",
33
+ "kind": "knowledge_entry",
34
+ "axis_profile": "knowledge_default",
35
+ "classification": "FAILURE_PATTERN",
36
+ "axes": {
37
+ "lifecycle": "PROPOSED",
38
+ "confidence": "UNRESOLVED",
39
+ "evidence": "PLANNED",
40
+ "change": "STABLE"
41
+ },
42
+ "title_zh": "失败模式:改字段不更新契约",
43
+ "statement_zh": "失败模式:修改响应字段却不更新正式契约与调用方兼容测试。",
44
+ "statement_en_keywords": [
45
+ "failure pattern",
46
+ "field change without contract update",
47
+ "missing consumer compat tests"
48
+ ],
49
+ "applies_when": {
50
+ "lane": "any",
51
+ "condition": "接口字段变更",
52
+ "change_classes": [
53
+ "PUBLIC_CONTRACT_CHANGE"
54
+ ],
55
+ "applicability_note": "接口字段变更"
56
+ },
57
+ "enforcement": "advisory",
58
+ "authority": {
59
+ "owner": "HUMAN_OWNER",
60
+ "delegates": [],
61
+ "write_policy": "EVOLUTION_CHANNEL",
62
+ "escalation_hint": "catalog-pilot-human-review"
63
+ },
64
+ "origin": "ingested",
65
+ "sources": [
66
+ {
67
+ "type": "design_seed",
68
+ "ref": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md",
69
+ "captured_by": "agent:claude/semantic-decomposition-pilot",
70
+ "locator": {
71
+ "section": "Anti-patterns"
72
+ }
73
+ }
74
+ ],
75
+ "review_notes": [
76
+ "B3 failure-pattern 附带池成员"
77
+ ],
78
+ "review": {
79
+ "disposition": "ACCEPT",
80
+ "seq": "pilot-0001",
81
+ "ref": "docs/catalog-pilot-report.md:L297(§8.5 #80)"
82
+ }
83
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "no_new_enum__confirm_only",
4
+ "finding": "knowledge_entry kind 已在 vocab-lock kinds_registry.truth_bodies——试点纪律所称『knowledge 无正式 kind』与 vocab-lock 实况不符",
5
+ "proposal": "无需新 kind;payload 变体(KNOWLEDGE_PATTERN/FAILURE_PATTERN)作为 knowledge_entry 的 kind profile 承载,提请词汇表 PR 时一并确认,不新增枚举值(meta.vocab_findings[2])",
6
+ "locked_vocab_untouched": true
7
+ },
8
+ "x-pilot-proposal": {
9
+ "status": "PROPOSAL",
10
+ "package": "语义分解试点送审包(2026-08-28)",
11
+ "human_review_required": true,
12
+ "source_type": "design_seed",
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/catalog/candidates/candidates-draft.json",
15
+ "enforcement_note": "仅建议:任何 gate 永不因本条目单独 FAIL,至多产生 WARN/HINT 或进入 Human Review 议程",
16
+ "clean_room_note": "statement_zh 为独立改写(clean-room),零逐字拷贝源协议"
17
+ },
18
+ "x-applicability-review": {
19
+ "status": "human_review_candidate",
20
+ "campaign": "W1-A2 P0.5-1 T3 标注战役(PRD v0.5.2 §5.2/§14;Owner 裁决 8 ②,2026-09-01)",
21
+ "axes": [
22
+ "lanes",
23
+ "applicability_note"
24
+ ],
25
+ "note": "T3 保守派生未见明确词面证据——capabilities/change_classes 留空回退 lane 缺省(O7 行为零变化);列 Human Review 复核议程"
26
+ },
27
+ "x-advisory-gate-semantics": {
28
+ "advisory": true,
29
+ "gate_binding": "NEVER_FAIL",
30
+ "statement": "本条目为 advisory 知识:任何 gate 永不因本条目 FAIL;至多产生 WARN/HINT 或进入 Human Review 议程"
31
+ },
32
+ "id": "KNOWLEDGE.FP.API.PER_PAGE_HTTP_CLIENT",
33
+ "kind": "knowledge_entry",
34
+ "axis_profile": "knowledge_default",
35
+ "classification": "FAILURE_PATTERN",
36
+ "axes": {
37
+ "lifecycle": "PROPOSED",
38
+ "confidence": "UNRESOLVED",
39
+ "evidence": "PLANNED",
40
+ "change": "STABLE"
41
+ },
42
+ "title_zh": "失败模式:每页自建请求实例",
43
+ "statement_zh": "失败模式:每个页面各自创建请求实例、各自刷新 token,并靠字符串比较错误 message 判错。",
44
+ "statement_en_keywords": [
45
+ "failure pattern",
46
+ "per-page http client",
47
+ "string-matching error handling"
48
+ ],
49
+ "applies_when": {
50
+ "lane": "frontend",
51
+ "condition": "请求层架构评审",
52
+ "lanes": [
53
+ "frontend"
54
+ ],
55
+ "applicability_note": "请求层架构评审"
56
+ },
57
+ "enforcement": "advisory",
58
+ "authority": {
59
+ "owner": "HUMAN_OWNER",
60
+ "delegates": [],
61
+ "write_policy": "EVOLUTION_CHANNEL",
62
+ "escalation_hint": "catalog-pilot-human-review"
63
+ },
64
+ "origin": "ingested",
65
+ "sources": [
66
+ {
67
+ "type": "design_seed",
68
+ "ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
69
+ "captured_by": "agent:claude/semantic-decomposition-pilot",
70
+ "locator": {
71
+ "section": "Anti-patterns"
72
+ }
73
+ }
74
+ ],
75
+ "review_notes": [
76
+ "B3 failure-pattern 附带池成员"
77
+ ],
78
+ "review": {
79
+ "disposition": "ACCEPT",
80
+ "seq": "pilot-0001",
81
+ "ref": "docs/catalog-pilot-report.md:L245(§8.2 #43)"
82
+ }
83
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "no_new_enum__confirm_only",
4
+ "finding": "knowledge_entry kind 已在 vocab-lock kinds_registry.truth_bodies——试点纪律所称『knowledge 无正式 kind』与 vocab-lock 实况不符",
5
+ "proposal": "无需新 kind;payload 变体(KNOWLEDGE_PATTERN/FAILURE_PATTERN)作为 knowledge_entry 的 kind profile 承载,提请词汇表 PR 时一并确认,不新增枚举值(meta.vocab_findings[2])",
6
+ "locked_vocab_untouched": true
7
+ },
8
+ "x-pilot-proposal": {
9
+ "status": "PROPOSAL",
10
+ "package": "语义分解试点送审包(2026-08-28)",
11
+ "human_review_required": true,
12
+ "source_type": "design_seed",
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/catalog/candidates/candidates-draft.json",
15
+ "enforcement_note": "仅建议:任何 gate 永不因本条目单独 FAIL,至多产生 WARN/HINT 或进入 Human Review 议程",
16
+ "clean_room_note": "statement_zh 为独立改写(clean-room),零逐字拷贝源协议"
17
+ },
18
+ "x-applicability-review": {
19
+ "status": "annotated",
20
+ "campaign": "W1-A2 P0.5-1 T3 标注战役(PRD v0.5.2 §5.2/§14;Owner 裁决 8 ②,2026-09-01)",
21
+ "axes": [
22
+ "lanes",
23
+ "change_classes",
24
+ "applicability_note"
25
+ ],
26
+ "basis": "正文『只改实现不同步契约』——契约失同步词面"
27
+ },
28
+ "x-advisory-gate-semantics": {
29
+ "advisory": true,
30
+ "gate_binding": "NEVER_FAIL",
31
+ "statement": "本条目为 advisory 知识:任何 gate 永不因本条目 FAIL;至多产生 WARN/HINT 或进入 Human Review 议程"
32
+ },
33
+ "id": "KNOWLEDGE.FP.BE.CONTRACT_DRIFT",
34
+ "kind": "knowledge_entry",
35
+ "axis_profile": "knowledge_default",
36
+ "classification": "FAILURE_PATTERN",
37
+ "axes": {
38
+ "lifecycle": "PROPOSED",
39
+ "confidence": "UNRESOLVED",
40
+ "evidence": "PLANNED",
41
+ "change": "STABLE"
42
+ },
43
+ "title_zh": "失败模式:只改实现不同步契约",
44
+ "statement_zh": "失败模式:只改实现而不同步 OpenAPI、migration、事件 schema 或变更记录。",
45
+ "statement_en_keywords": [
46
+ "failure pattern",
47
+ "implementation-only change",
48
+ "contract drift"
49
+ ],
50
+ "applies_when": {
51
+ "lane": "backend",
52
+ "condition": "变更收尾检查",
53
+ "lanes": [
54
+ "backend"
55
+ ],
56
+ "change_classes": [
57
+ "PUBLIC_CONTRACT_CHANGE"
58
+ ],
59
+ "applicability_note": "变更收尾检查"
60
+ },
61
+ "enforcement": "advisory",
62
+ "authority": {
63
+ "owner": "HUMAN_OWNER",
64
+ "delegates": [],
65
+ "write_policy": "EVOLUTION_CHANNEL",
66
+ "escalation_hint": "catalog-pilot-human-review"
67
+ },
68
+ "origin": "ingested",
69
+ "sources": [
70
+ {
71
+ "type": "design_seed",
72
+ "ref": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md",
73
+ "captured_by": "agent:claude/semantic-decomposition-pilot",
74
+ "locator": {
75
+ "section": "Anti-patterns"
76
+ }
77
+ }
78
+ ],
79
+ "review_notes": [
80
+ "B3 failure-pattern 附带池成员;正是 vNext Contract Gate(openapi 对账)的对症场景;pilot-0001 M7 互引:POLICY.CHG.SYNC_CONTRACT_DOCS_TESTS(本失败模式即其缺位形态)"
81
+ ],
82
+ "review": {
83
+ "disposition": "ACCEPT",
84
+ "seq": "pilot-0001",
85
+ "ref": "docs/catalog-pilot-report.md:L283(§8.4 #71)"
86
+ }
87
+ }