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,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
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": "命中 applies_when 条件时必须遵守;是否升 MUST、接入哪个 gate 由 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
|
+
"capabilities",
|
|
24
|
+
"applicability_note"
|
|
25
|
+
],
|
|
26
|
+
"basis": "policy.web.api 族(case-b W1-A1 同族标注)"
|
|
27
|
+
},
|
|
28
|
+
"id": "POLICY.WEB.API.ERROR_NORMALIZATION",
|
|
29
|
+
"kind": "policy",
|
|
30
|
+
"axis_profile": "policy_default",
|
|
31
|
+
"classification": "LANE_POLICY",
|
|
32
|
+
"axes": {
|
|
33
|
+
"lifecycle": "PROPOSED",
|
|
34
|
+
"confidence": "UNRESOLVED",
|
|
35
|
+
"evidence": "PLANNED",
|
|
36
|
+
"change": "STABLE"
|
|
37
|
+
},
|
|
38
|
+
"title_zh": "错误统一结构后上抛",
|
|
39
|
+
"statement_zh": "各请求错误必须转换为统一错误结构后再上抛。",
|
|
40
|
+
"statement_en_keywords": [
|
|
41
|
+
"error normalization",
|
|
42
|
+
"unified error structure"
|
|
43
|
+
],
|
|
44
|
+
"applies_when": {
|
|
45
|
+
"lane": "frontend",
|
|
46
|
+
"condition": "任何请求错误路径",
|
|
47
|
+
"lanes": [
|
|
48
|
+
"frontend"
|
|
49
|
+
],
|
|
50
|
+
"capabilities": [
|
|
51
|
+
"CAPABILITY.API_CONTRACT"
|
|
52
|
+
],
|
|
53
|
+
"applicability_note": "任何请求错误路径"
|
|
54
|
+
},
|
|
55
|
+
"enforcement": "required_when_applicable",
|
|
56
|
+
"authority": {
|
|
57
|
+
"owner": "HUMAN_OWNER",
|
|
58
|
+
"delegates": [],
|
|
59
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
60
|
+
"escalation_hint": "catalog-pilot-human-review"
|
|
61
|
+
},
|
|
62
|
+
"origin": "ingested",
|
|
63
|
+
"sources": [
|
|
64
|
+
{
|
|
65
|
+
"type": "design_seed",
|
|
66
|
+
"ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
67
|
+
"captured_by": "agent:claude/semantic-decomposition-pilot",
|
|
68
|
+
"locator": {
|
|
69
|
+
"section": "MUST 第6条"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"review_notes": [],
|
|
74
|
+
"review": {
|
|
75
|
+
"disposition": "ACCEPT",
|
|
76
|
+
"seq": "pilot-0001",
|
|
77
|
+
"ref": "docs/catalog-pilot-report.md:L230(§8.2 #28)",
|
|
78
|
+
"absorbed_duplicates": [
|
|
79
|
+
"POLICY.WEB.API.NO_ENVELOPE_IN_COMPONENT"
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
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
|
+
"capabilities",
|
|
24
|
+
"applicability_note"
|
|
25
|
+
],
|
|
26
|
+
"basis": "policy.web.api 族(case-b W1-A1 同族标注);condition『正式契约已发布』契约面逐字"
|
|
27
|
+
},
|
|
28
|
+
"id": "POLICY.WEB.API.GENERATED_CLIENT",
|
|
29
|
+
"kind": "policy",
|
|
30
|
+
"axis_profile": "policy_default",
|
|
31
|
+
"classification": "LANE_POLICY",
|
|
32
|
+
"axes": {
|
|
33
|
+
"lifecycle": "PROPOSED",
|
|
34
|
+
"confidence": "UNRESOLVED",
|
|
35
|
+
"evidence": "PLANNED",
|
|
36
|
+
"change": "STABLE"
|
|
37
|
+
},
|
|
38
|
+
"title_zh": "契约优先生成客户端",
|
|
39
|
+
"statement_zh": "建议以生成客户端或 typed adapter 对接正式契约,避免手写类型漂移。",
|
|
40
|
+
"statement_en_keywords": [
|
|
41
|
+
"generated client",
|
|
42
|
+
"typed adapter",
|
|
43
|
+
"contract-first"
|
|
44
|
+
],
|
|
45
|
+
"applies_when": {
|
|
46
|
+
"lane": "frontend",
|
|
47
|
+
"condition": "正式契约已发布",
|
|
48
|
+
"lanes": [
|
|
49
|
+
"frontend"
|
|
50
|
+
],
|
|
51
|
+
"capabilities": [
|
|
52
|
+
"CAPABILITY.API_CONTRACT"
|
|
53
|
+
],
|
|
54
|
+
"applicability_note": "正式契约已发布"
|
|
55
|
+
},
|
|
56
|
+
"enforcement": "advisory",
|
|
57
|
+
"authority": {
|
|
58
|
+
"owner": "HUMAN_OWNER",
|
|
59
|
+
"delegates": [],
|
|
60
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
61
|
+
"escalation_hint": "catalog-pilot-human-review"
|
|
62
|
+
},
|
|
63
|
+
"origin": "ingested",
|
|
64
|
+
"sources": [
|
|
65
|
+
{
|
|
66
|
+
"type": "design_seed",
|
|
67
|
+
"ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
68
|
+
"captured_by": "agent:claude/semantic-decomposition-pilot",
|
|
69
|
+
"locator": {
|
|
70
|
+
"section": "SHOULD 第1条"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"review_notes": [
|
|
75
|
+
"SHOULD 正确降级 advisory;与 BE 12 契约权威条款跨车道呼应"
|
|
76
|
+
],
|
|
77
|
+
"review": {
|
|
78
|
+
"disposition": "ACCEPT",
|
|
79
|
+
"seq": "pilot-0001",
|
|
80
|
+
"ref": "docs/catalog-pilot-report.md:L240(§8.2 #38)"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
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": "命中 applies_when 条件时必须遵守;是否升 MUST、接入哪个 gate 由 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
|
+
"capabilities",
|
|
24
|
+
"applicability_note"
|
|
25
|
+
],
|
|
26
|
+
"basis": "policy.web.api 族(case-b W1-A1 同族标注)"
|
|
27
|
+
},
|
|
28
|
+
"id": "POLICY.WEB.API.LATE_RESULT_GUARD",
|
|
29
|
+
"kind": "policy",
|
|
30
|
+
"axis_profile": "policy_default",
|
|
31
|
+
"classification": "LANE_POLICY",
|
|
32
|
+
"axes": {
|
|
33
|
+
"lifecycle": "PROPOSED",
|
|
34
|
+
"confidence": "UNRESOLVED",
|
|
35
|
+
"evidence": "PLANNED",
|
|
36
|
+
"change": "STABLE"
|
|
37
|
+
},
|
|
38
|
+
"title_zh": "过期结果写回防护",
|
|
39
|
+
"statement_zh": "请求结果提交前必须复核身份、租户、权限、参数与请求版本,阻止旧上下文的过期结果写回。",
|
|
40
|
+
"statement_en_keywords": [
|
|
41
|
+
"late result guard",
|
|
42
|
+
"context version",
|
|
43
|
+
"stale write prevention"
|
|
44
|
+
],
|
|
45
|
+
"applies_when": {
|
|
46
|
+
"lane": "frontend",
|
|
47
|
+
"condition": "请求结果提交至应用状态",
|
|
48
|
+
"lanes": [
|
|
49
|
+
"frontend"
|
|
50
|
+
],
|
|
51
|
+
"capabilities": [
|
|
52
|
+
"CAPABILITY.API_CONTRACT"
|
|
53
|
+
],
|
|
54
|
+
"applicability_note": "请求结果提交至应用状态"
|
|
55
|
+
},
|
|
56
|
+
"enforcement": "required_when_applicable",
|
|
57
|
+
"authority": {
|
|
58
|
+
"owner": "HUMAN_OWNER",
|
|
59
|
+
"delegates": [],
|
|
60
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
61
|
+
"escalation_hint": "catalog-pilot-human-review"
|
|
62
|
+
},
|
|
63
|
+
"origin": "ingested",
|
|
64
|
+
"sources": [
|
|
65
|
+
{
|
|
66
|
+
"type": "design_seed",
|
|
67
|
+
"ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
68
|
+
"captured_by": "agent:claude/semantic-decomposition-pilot",
|
|
69
|
+
"locator": {
|
|
70
|
+
"section": "MUST 第9条"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"review_notes": [],
|
|
75
|
+
"review": {
|
|
76
|
+
"disposition": "ACCEPT",
|
|
77
|
+
"seq": "pilot-0001",
|
|
78
|
+
"ref": "docs/catalog-pilot-report.md:L233(§8.2 #31)"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
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": "命中 applies_when 条件时必须遵守;是否升 MUST、接入哪个 gate 由 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
|
+
"capabilities",
|
|
24
|
+
"applicability_note"
|
|
25
|
+
],
|
|
26
|
+
"basis": "policy.web.api 族(case-b W1-A1 同族标注)"
|
|
27
|
+
},
|
|
28
|
+
"id": "POLICY.WEB.API.MUTATION_IDEMPOTENCY",
|
|
29
|
+
"kind": "policy",
|
|
30
|
+
"axis_profile": "policy_default",
|
|
31
|
+
"classification": "LANE_POLICY",
|
|
32
|
+
"axes": {
|
|
33
|
+
"lifecycle": "PROPOSED",
|
|
34
|
+
"confidence": "UNRESOLVED",
|
|
35
|
+
"evidence": "PLANNED",
|
|
36
|
+
"change": "STABLE"
|
|
37
|
+
},
|
|
38
|
+
"title_zh": "mutation 显式幂等与重试边界",
|
|
39
|
+
"statement_zh": "每个 mutation 必须显式声明幂等性与重试边界。",
|
|
40
|
+
"statement_en_keywords": [
|
|
41
|
+
"mutation idempotency",
|
|
42
|
+
"retry boundary declaration"
|
|
43
|
+
],
|
|
44
|
+
"applies_when": {
|
|
45
|
+
"lane": "frontend",
|
|
46
|
+
"condition": "mutation 类请求",
|
|
47
|
+
"lanes": [
|
|
48
|
+
"frontend"
|
|
49
|
+
],
|
|
50
|
+
"capabilities": [
|
|
51
|
+
"CAPABILITY.API_CONTRACT"
|
|
52
|
+
],
|
|
53
|
+
"applicability_note": "mutation 类请求"
|
|
54
|
+
},
|
|
55
|
+
"enforcement": "required_when_applicable",
|
|
56
|
+
"authority": {
|
|
57
|
+
"owner": "HUMAN_OWNER",
|
|
58
|
+
"delegates": [],
|
|
59
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
60
|
+
"escalation_hint": "catalog-pilot-human-review"
|
|
61
|
+
},
|
|
62
|
+
"origin": "ingested",
|
|
63
|
+
"sources": [
|
|
64
|
+
{
|
|
65
|
+
"type": "design_seed",
|
|
66
|
+
"ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
67
|
+
"captured_by": "agent:claude/semantic-decomposition-pilot",
|
|
68
|
+
"locator": {
|
|
69
|
+
"section": "MUST 第5条"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"review_notes": [
|
|
74
|
+
"与 BE 22-idempotency-protocol 形成跨车道语义对(本轮未选其对照,登记待后续批次)"
|
|
75
|
+
],
|
|
76
|
+
"review": {
|
|
77
|
+
"disposition": "ACCEPT",
|
|
78
|
+
"seq": "pilot-0001",
|
|
79
|
+
"ref": "docs/catalog-pilot-report.md:L229(§8.2 #27)",
|
|
80
|
+
"absorbed_duplicates": [
|
|
81
|
+
"POLICY.WEB.API.NO_AUTO_RETRY_NONIDEM"
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
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": "命中 applies_when 条件时必须遵守;是否升 MUST、接入哪个 gate 由 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
|
+
"capabilities",
|
|
24
|
+
"applicability_note"
|
|
25
|
+
],
|
|
26
|
+
"basis": "policy.web.api 族(case-b W1-A1 同族标注)"
|
|
27
|
+
},
|
|
28
|
+
"id": "POLICY.WEB.API.NO_NETWORK_OPTIMISM",
|
|
29
|
+
"kind": "policy",
|
|
30
|
+
"axis_profile": "policy_default",
|
|
31
|
+
"classification": "UNIVERSAL_POLICY",
|
|
32
|
+
"axes": {
|
|
33
|
+
"lifecycle": "PROPOSED",
|
|
34
|
+
"confidence": "UNRESOLVED",
|
|
35
|
+
"evidence": "PLANNED",
|
|
36
|
+
"change": "STABLE"
|
|
37
|
+
},
|
|
38
|
+
"title_zh": "禁『在线即成功』传输假设",
|
|
39
|
+
"statement_zh": "不得把『网络在线』当作请求成功的证明,也不得假设 HTTP 404/500 必然以 Promise rejection 表现;传输层假设必须显式声明。",
|
|
40
|
+
"statement_en_keywords": [
|
|
41
|
+
"no network optimism",
|
|
42
|
+
"online != success",
|
|
43
|
+
"hidden transport assumptions"
|
|
44
|
+
],
|
|
45
|
+
"applies_when": {
|
|
46
|
+
"lane": "frontend",
|
|
47
|
+
"condition": "请求结果判定与用户提示",
|
|
48
|
+
"lanes": [
|
|
49
|
+
"frontend"
|
|
50
|
+
],
|
|
51
|
+
"capabilities": [
|
|
52
|
+
"CAPABILITY.API_CONTRACT"
|
|
53
|
+
],
|
|
54
|
+
"applicability_note": "请求结果判定与用户提示"
|
|
55
|
+
},
|
|
56
|
+
"enforcement": "required_when_applicable",
|
|
57
|
+
"authority": {
|
|
58
|
+
"owner": "HUMAN_OWNER",
|
|
59
|
+
"delegates": [],
|
|
60
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
61
|
+
"escalation_hint": "catalog-pilot-human-review"
|
|
62
|
+
},
|
|
63
|
+
"origin": "ingested",
|
|
64
|
+
"sources": [
|
|
65
|
+
{
|
|
66
|
+
"type": "design_seed",
|
|
67
|
+
"ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
68
|
+
"captured_by": "agent:claude/semantic-decomposition-pilot",
|
|
69
|
+
"locator": {
|
|
70
|
+
"section": "MUST NOT 第5条"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"review_notes": [
|
|
75
|
+
"独有内容(破除隐含假设),非既有条款极性反转;pilot-0001 R-F:已上提 UNIVERSAL_POLICY(lane 中性:『在线即成功』假设破除在任何 client 侧成立)"
|
|
76
|
+
],
|
|
77
|
+
"review": {
|
|
78
|
+
"disposition": "ADJUST",
|
|
79
|
+
"seq": "pilot-0001",
|
|
80
|
+
"ref": "docs/catalog-pilot-report.md:L239(§8.2 #37)"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
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": "命中 applies_when 条件时必须遵守;是否升 MUST、接入哪个 gate 由 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
|
+
"capabilities",
|
|
24
|
+
"applicability_note"
|
|
25
|
+
],
|
|
26
|
+
"basis": "policy.web.api 族(case-b W1-A1 同族标注)"
|
|
27
|
+
},
|
|
28
|
+
"id": "POLICY.WEB.API.QUERY_CANCEL_STALE_DROP",
|
|
29
|
+
"kind": "policy",
|
|
30
|
+
"axis_profile": "policy_default",
|
|
31
|
+
"classification": "LANE_POLICY",
|
|
32
|
+
"axes": {
|
|
33
|
+
"lifecycle": "PROPOSED",
|
|
34
|
+
"confidence": "UNRESOLVED",
|
|
35
|
+
"evidence": "PLANNED",
|
|
36
|
+
"change": "STABLE"
|
|
37
|
+
},
|
|
38
|
+
"title_zh": "查询可取消并丢弃过期响应",
|
|
39
|
+
"statement_zh": "查询请求必须可取消并丢弃过期响应,保证结果与时序一致。",
|
|
40
|
+
"statement_en_keywords": [
|
|
41
|
+
"cancellable queries",
|
|
42
|
+
"stale response drop",
|
|
43
|
+
"race safety"
|
|
44
|
+
],
|
|
45
|
+
"applies_when": {
|
|
46
|
+
"lane": "frontend",
|
|
47
|
+
"condition": "查询类请求",
|
|
48
|
+
"lanes": [
|
|
49
|
+
"frontend"
|
|
50
|
+
],
|
|
51
|
+
"capabilities": [
|
|
52
|
+
"CAPABILITY.API_CONTRACT"
|
|
53
|
+
],
|
|
54
|
+
"applicability_note": "查询类请求"
|
|
55
|
+
},
|
|
56
|
+
"enforcement": "required_when_applicable",
|
|
57
|
+
"authority": {
|
|
58
|
+
"owner": "HUMAN_OWNER",
|
|
59
|
+
"delegates": [],
|
|
60
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
61
|
+
"escalation_hint": "catalog-pilot-human-review"
|
|
62
|
+
},
|
|
63
|
+
"origin": "ingested",
|
|
64
|
+
"sources": [
|
|
65
|
+
{
|
|
66
|
+
"type": "design_seed",
|
|
67
|
+
"ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
68
|
+
"captured_by": "agent:claude/semantic-decomposition-pilot",
|
|
69
|
+
"locator": {
|
|
70
|
+
"section": "MUST 第4条"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"review_notes": [],
|
|
75
|
+
"review": {
|
|
76
|
+
"disposition": "ACCEPT",
|
|
77
|
+
"seq": "pilot-0001",
|
|
78
|
+
"ref": "docs/catalog-pilot-report.md:L228(§8.2 #26)"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45 条同因同请,合并进同一 vocab PR)",
|
|
6
|
+
"locked_vocab_untouched": true
|
|
7
|
+
},
|
|
8
|
+
"x-batch4-uplift": {
|
|
9
|
+
"status": "PROPOSAL",
|
|
10
|
+
"package": "batch-4 语料批 Universal 上提(工程策略族 split-ledger 驱动)",
|
|
11
|
+
"human_review_required": true,
|
|
12
|
+
"evidence": "PLANNED",
|
|
13
|
+
"provenance": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
|
|
14
|
+
},
|
|
15
|
+
"x-applicability-review": {
|
|
16
|
+
"status": "annotated",
|
|
17
|
+
"campaign": "W1-A2 P0.5-1 T3 标注战役(PRD v0.5.2 §5.2/§14;Owner 裁决 8 ②,2026-09-01)",
|
|
18
|
+
"axes": [
|
|
19
|
+
"lanes",
|
|
20
|
+
"capabilities",
|
|
21
|
+
"applicability_note"
|
|
22
|
+
],
|
|
23
|
+
"basis": "policy.web.api 族(case-b W1-A1 同族标注);condition『搭建或调整请求基础设施时』"
|
|
24
|
+
},
|
|
25
|
+
"id": "POLICY.WEB.API.REQUEST_INFRASTRUCTURE",
|
|
26
|
+
"kind": "policy",
|
|
27
|
+
"axis_profile": "policy_default",
|
|
28
|
+
"classification": "UNIVERSAL_POLICY",
|
|
29
|
+
"axes": {
|
|
30
|
+
"lifecycle": "PROPOSED",
|
|
31
|
+
"confidence": "UNRESOLVED",
|
|
32
|
+
"evidence": "PLANNED",
|
|
33
|
+
"change": "STABLE"
|
|
34
|
+
},
|
|
35
|
+
"title_zh": "请求基础设施统一挂点",
|
|
36
|
+
"statement_zh": "超时、中止、追踪、请求标识与基础地址来源五项默认挂点全部挂在唯一请求基础设施入口,禁止逐请求散落自配;数值与头名等参数由项目基线供给。",
|
|
37
|
+
"statement_en_keywords": [
|
|
38
|
+
"unified request infrastructure",
|
|
39
|
+
"abort",
|
|
40
|
+
"trace id",
|
|
41
|
+
"request id",
|
|
42
|
+
"base url source"
|
|
43
|
+
],
|
|
44
|
+
"applies_when": {
|
|
45
|
+
"lane": "frontend",
|
|
46
|
+
"condition": "搭建或调整请求基础设施时",
|
|
47
|
+
"lanes": [
|
|
48
|
+
"frontend"
|
|
49
|
+
],
|
|
50
|
+
"capabilities": [
|
|
51
|
+
"CAPABILITY.API_CONTRACT"
|
|
52
|
+
],
|
|
53
|
+
"applicability_note": "搭建或调整请求基础设施时"
|
|
54
|
+
},
|
|
55
|
+
"enforcement": "required_when_applicable",
|
|
56
|
+
"authority": {
|
|
57
|
+
"owner": "HUMAN_OWNER",
|
|
58
|
+
"delegates": [],
|
|
59
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
60
|
+
"escalation_hint": "catalog-batch4-uplift"
|
|
61
|
+
},
|
|
62
|
+
"origin": "ingested",
|
|
63
|
+
"origin_note": "batch-4 语料批 split-ledger UNIVERSAL/HYBRID universal 半上提;词面独立改写(clean-room),零逐字拷贝源文本",
|
|
64
|
+
"sub_rules": [
|
|
65
|
+
{
|
|
66
|
+
"rule_id": "global",
|
|
67
|
+
"statement_zh": "超时、中止、追踪、请求标识与基础地址来源必须由统一请求基础设施单点声明默认挂点:每个出站请求都可中止、可追踪、可关联;具体超时数值、头名与重试策略标识由项目基线供给,不入目录正本。",
|
|
68
|
+
"provenance": {
|
|
69
|
+
"asset_id": "http-client-policy",
|
|
70
|
+
"entry_id": "global",
|
|
71
|
+
"decision": "HYBRID",
|
|
72
|
+
"merge_group": "MG-HTTP-RECOVERY",
|
|
73
|
+
"corpus_batch": "batch-4/HTTP_CLIENT",
|
|
74
|
+
"split_ledger": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"sources": [
|
|
79
|
+
{
|
|
80
|
+
"type": "design_seed",
|
|
81
|
+
"ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml",
|
|
82
|
+
"captured_by": "agent:claude/batch-4-catalog-uplift",
|
|
83
|
+
"locator": {
|
|
84
|
+
"asset": "http-client-policy",
|
|
85
|
+
"entry": "global",
|
|
86
|
+
"corpus_batch": "batch-4/HTTP_CLIENT",
|
|
87
|
+
"upstream_source_ref": "outputs/frontend/10_planned/http-client-policy.yaml"
|
|
88
|
+
},
|
|
89
|
+
"clean_room_note": "independently rewritten from field corpus batch-4 material; zero verbatim copy"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"review_notes": [
|
|
93
|
+
"与既有 POLICY.WEB.API.SINGLE_HTTP_CLIENT 面审(MIG-B4):本条补『统一挂点清单』维度(中止/追踪/请求标识/默认超时/基础地址来源),单点统一原则本身归既有条款。"
|
|
94
|
+
]
|
|
95
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
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": "命中 applies_when 条件时必须遵守;是否升 MUST、接入哪个 gate 由 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
|
+
"capabilities",
|
|
24
|
+
"applicability_note"
|
|
25
|
+
],
|
|
26
|
+
"basis": "policy.web.api 族(case-b W1-A1 同族标注)"
|
|
27
|
+
},
|
|
28
|
+
"id": "POLICY.WEB.API.RETRY_DISCIPLINE",
|
|
29
|
+
"kind": "policy",
|
|
30
|
+
"axis_profile": "policy_default",
|
|
31
|
+
"classification": "LANE_POLICY",
|
|
32
|
+
"axes": {
|
|
33
|
+
"lifecycle": "PROPOSED",
|
|
34
|
+
"confidence": "UNRESOLVED",
|
|
35
|
+
"evidence": "PLANNED",
|
|
36
|
+
"change": "STABLE"
|
|
37
|
+
},
|
|
38
|
+
"title_zh": "重试服从幂等与 Retry-After 纪律",
|
|
39
|
+
"statement_zh": "重试必须服从幂等性约束、服务端 Retry-After 或受控退避且可取消;被取消/被替代的请求不得提示为用户错误。",
|
|
40
|
+
"statement_en_keywords": [
|
|
41
|
+
"retry discipline",
|
|
42
|
+
"idempotency",
|
|
43
|
+
"Retry-After",
|
|
44
|
+
"controlled backoff",
|
|
45
|
+
"cancellation UX"
|
|
46
|
+
],
|
|
47
|
+
"applies_when": {
|
|
48
|
+
"lane": "frontend",
|
|
49
|
+
"condition": "任何自动重试机制",
|
|
50
|
+
"lanes": [
|
|
51
|
+
"frontend"
|
|
52
|
+
],
|
|
53
|
+
"capabilities": [
|
|
54
|
+
"CAPABILITY.API_CONTRACT"
|
|
55
|
+
],
|
|
56
|
+
"applicability_note": "任何自动重试机制"
|
|
57
|
+
},
|
|
58
|
+
"enforcement": "required_when_applicable",
|
|
59
|
+
"authority": {
|
|
60
|
+
"owner": "HUMAN_OWNER",
|
|
61
|
+
"delegates": [],
|
|
62
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
63
|
+
"escalation_hint": "catalog-pilot-human-review"
|
|
64
|
+
},
|
|
65
|
+
"origin": "ingested",
|
|
66
|
+
"sources": [
|
|
67
|
+
{
|
|
68
|
+
"type": "design_seed",
|
|
69
|
+
"ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
70
|
+
"captured_by": "agent:claude/semantic-decomposition-pilot",
|
|
71
|
+
"locator": {
|
|
72
|
+
"section": "MUST 第8条"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"review_notes": [
|
|
77
|
+
"pilot-0001 R-F 对照样本:维持 LANE_POLICY——含 HTTP 专有词元 Retry-After,上提会失真;作为上提判据(语句实体是否可跨 lane 存在)的反例保留"
|
|
78
|
+
],
|
|
79
|
+
"review": {
|
|
80
|
+
"disposition": "ACCEPT",
|
|
81
|
+
"seq": "pilot-0001",
|
|
82
|
+
"ref": "docs/catalog-pilot-report.md:L232(§8.2 #30)",
|
|
83
|
+
"absorbed_duplicates": [
|
|
84
|
+
"POLICY.WEB.API.NO_AUTO_RETRY_NONIDEM"
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
}
|