pomaster 0.3.0 → 0.4.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 (393) hide show
  1. package/README.md +9 -10
  2. package/catalog/archetypes/archetype.frontend.error_taxonomy.json +13 -5
  3. package/catalog/archetypes/archetype.frontend.feature_oriented.json +1 -1
  4. package/catalog/archetypes/archetype.state.async_command.json +4 -4
  5. package/catalog/catalog-lock.draft.json +1120 -104
  6. package/catalog/gates/gate.be.api.contract_checks.json +2 -1
  7. package/catalog/gates/gate.be.chg.contract_change_checks.json +2 -1
  8. package/catalog/gates/gate.chg.prechange_checks.json +2 -1
  9. package/catalog/gates/gate.web.api.request_checks.json +2 -1
  10. package/catalog/gates/gate.web.grid.checks.json +2 -1
  11. package/catalog/knowledge/knowledge.api.example_stable_error_code.json +2 -1
  12. package/catalog/knowledge/knowledge.chg.example_compat_window.json +2 -1
  13. package/catalog/knowledge/knowledge.chg.example_prop_migration.json +2 -1
  14. package/catalog/knowledge/knowledge.fp.api.field_drift_no_contract.json +2 -1
  15. package/catalog/knowledge/knowledge.fp.api.per_page_http_client.json +2 -1
  16. package/catalog/knowledge/knowledge.fp.be.contract_drift.json +2 -1
  17. package/catalog/knowledge/knowledge.fp.chg.page_local_padding.json +2 -1
  18. package/catalog/knowledge/knowledge.fp.grid.global_td_width.json +2 -1
  19. package/catalog/knowledge/knowledge.web.api.example_get_entity_list.json +2 -1
  20. package/catalog/knowledge/knowledge.web.grid.example_column_preset.json +2 -1
  21. package/catalog/policies/authority.be.api_contract_ownership.json +2 -1
  22. package/catalog/policies/authority.be.contract_ownership.json +2 -1
  23. package/catalog/policies/authority.chg.change_owners.json +2 -1
  24. package/catalog/policies/authority.web.api.request_owners.json +2 -1
  25. package/catalog/policies/authority.web.grid.ownership.json +2 -1
  26. package/catalog/policies/policy.ai.change_plan_first.json +91 -0
  27. package/catalog/policies/policy.ai.fact_inference_separation.json +91 -0
  28. package/catalog/policies/policy.ai.read_search_verify_before_write.json +92 -0
  29. package/catalog/policies/policy.ai.rule_relaxation_approval.json +91 -0
  30. package/catalog/policies/policy.api.backward_compat_defaults.json +2 -1
  31. package/catalog/policies/policy.api.contract_impl_consistency.json +2 -1
  32. package/catalog/policies/policy.api.no_informal_contract.json +2 -1
  33. package/catalog/policies/policy.arch.adr_immutable_history.json +91 -0
  34. package/catalog/policies/policy.arch.decision_tradeoff_record.json +2 -1
  35. package/catalog/policies/policy.arch.no_convenience_over_boundary.json +93 -0
  36. package/catalog/policies/policy.arch.prefer_verifiable_option.json +92 -0
  37. package/catalog/policies/policy.authz.no_gating_proxy_trust.json +99 -0
  38. package/catalog/policies/policy.authz.permission_scope_expansion_gate.json +99 -0
  39. package/catalog/policies/policy.authz.server_five_factor_verification.json +101 -0
  40. package/catalog/policies/policy.be.conc.prefer_db_constraints.json +97 -0
  41. package/catalog/policies/policy.be.db.expand_migrate_contract.json +97 -0
  42. package/catalog/policies/policy.be.idem.key_payload_conflict.json +97 -0
  43. package/catalog/policies/policy.be.model.single_boundary_conversion.json +97 -0
  44. package/catalog/policies/policy.be.sql.index_for_known_queries.json +97 -0
  45. package/catalog/policies/policy.be.state.single_rule_source.json +97 -0
  46. package/catalog/policies/policy.be.txn.short_locks_compensation.json +96 -0
  47. package/catalog/policies/policy.bound.search_first_entry_only.json +91 -0
  48. package/catalog/policies/policy.boundary.validate_in_encode_out.json +92 -0
  49. package/catalog/policies/policy.cache.failure_mode_guards.json +93 -0
  50. package/catalog/policies/policy.cache.lifecycle_definition.json +2 -1
  51. package/catalog/policies/policy.cache.schema_versioning.json +91 -0
  52. package/catalog/policies/policy.cfg.config_attribute_completeness.json +95 -0
  53. package/catalog/policies/policy.cfg.key_rename_dual_read.json +92 -0
  54. package/catalog/policies/policy.cfg.no_secret_dispersal.json +90 -0
  55. package/catalog/policies/policy.cfg.production_safe_defaults.json +92 -0
  56. package/catalog/policies/policy.cfg.schema_backed_config.json +92 -0
  57. package/catalog/policies/policy.chg.affect_templates.json +2 -1
  58. package/catalog/policies/policy.chg.breaking_versioning.json +2 -1
  59. package/catalog/policies/policy.chg.compat_migration_rollback.json +2 -1
  60. package/catalog/policies/policy.chg.deprecate_before_delete.json +2 -1
  61. package/catalog/policies/policy.chg.fix_at_root_cause_level.json +2 -1
  62. package/catalog/policies/policy.chg.no_unrelated_changes.json +91 -0
  63. package/catalog/policies/policy.chg.observable_evolution.json +2 -1
  64. package/catalog/policies/policy.chg.prechange_consumer_scan.json +2 -1
  65. package/catalog/policies/policy.chg.staged_rollout.json +2 -1
  66. package/catalog/policies/policy.chg.sync_contract_docs_tests.json +2 -1
  67. package/catalog/policies/policy.conflict.priority_ladder.json +2 -1
  68. package/catalog/policies/policy.contract.no_invented_facts.json +93 -0
  69. package/catalog/policies/policy.dep.admission_six_dimension_check.json +2 -1
  70. package/catalog/policies/policy.dep.build_path_supply_chain.json +93 -0
  71. package/catalog/policies/policy.dep.change_surface_review.json +2 -1
  72. package/catalog/policies/policy.dep.introduction_review.json +2 -1
  73. package/catalog/policies/policy.dep.no_untrusted_source_no_lock_bypass.json +92 -0
  74. package/catalog/policies/policy.dep.time_boxed_urgent_exception.json +91 -0
  75. package/catalog/policies/policy.deploy.no_dev_env_as_production_fact.json +91 -0
  76. package/catalog/policies/policy.deploy.operational_capabilities.json +93 -0
  77. package/catalog/policies/policy.deploy.runtime_fact_record.json +97 -0
  78. package/catalog/policies/policy.derived.single_implementation.json +2 -1
  79. package/catalog/policies/policy.err.failure_five_part_mapping.json +101 -0
  80. package/catalog/policies/policy.err.no_internal_detail_exposure.json +97 -0
  81. package/catalog/policies/policy.err.published_code_immutable.json +98 -0
  82. package/catalog/policies/policy.evid.acceptance_binds_verifiable_evidence.json +92 -0
  83. package/catalog/policies/policy.evid.no_silent_gate_removal.json +90 -0
  84. package/catalog/policies/policy.evid.no_unverifiable_pass.json +92 -0
  85. package/catalog/policies/policy.flag.cleanup_after_full_rollout.json +94 -0
  86. package/catalog/policies/policy.flag.consistent_off_state.json +92 -0
  87. package/catalog/policies/policy.flag.kill_switch.json +91 -0
  88. package/catalog/policies/policy.flag.lifecycle_metadata.json +93 -0
  89. package/catalog/policies/policy.flag.not_a_permission.json +92 -0
  90. package/catalog/policies/policy.gate.p0_non_bypassable.json +92 -0
  91. package/catalog/policies/policy.gate.risk_factors_confirmed.json +93 -0
  92. package/catalog/policies/policy.guard.no_check_weakening.json +92 -0
  93. package/catalog/policies/policy.integration.call_definition_minimum.json +95 -0
  94. package/catalog/policies/policy.integration.fault_containment.json +94 -0
  95. package/catalog/policies/policy.job.lifecycle_definition.json +96 -0
  96. package/catalog/policies/policy.job.no_unmanaged_execution.json +92 -0
  97. package/catalog/policies/policy.job.operational_features.json +93 -0
  98. package/catalog/policies/policy.obs.actionable_signals.json +93 -0
  99. package/catalog/policies/policy.obs.alert_with_owner.json +91 -0
  100. package/catalog/policies/policy.obs.context_field_baseline.json +91 -0
  101. package/catalog/policies/policy.obs.correlation_context_minimum.json +2 -1
  102. package/catalog/policies/policy.obs.no_sensitive_or_unbounded_logging.json +92 -0
  103. package/catalog/policies/policy.obs.no_sensitive_raw_values.json +93 -0
  104. package/catalog/policies/policy.obs.rum_dimension_whitelist.json +2 -1
  105. package/catalog/policies/policy.obs.signal_change_impact.json +91 -0
  106. package/catalog/policies/policy.obs.source_map_access_control.json +92 -0
  107. package/catalog/policies/policy.obs.telemetry_lifecycle_declared.json +93 -0
  108. package/catalog/policies/policy.obs.trace_correlation.json +91 -0
  109. package/catalog/policies/policy.perf.budget_change_retest.json +91 -0
  110. package/catalog/policies/policy.perf.evidence_binding.json +95 -0
  111. package/catalog/policies/policy.perf.observation_dimensions.json +94 -0
  112. package/catalog/policies/policy.proc.checklist_change_policy.json +91 -0
  113. package/catalog/policies/policy.proc.pre_code_declaration.json +2 -1
  114. package/catalog/policies/policy.proc.scope_drift_reclassify.json +91 -0
  115. package/catalog/policies/policy.prv.processing_scope_re_review.json +97 -0
  116. package/catalog/policies/policy.prv.sensitive_data_six_facts.json +102 -0
  117. package/catalog/policies/policy.registry.human_fields_validated_decorrelated.json +93 -0
  118. package/catalog/policies/policy.rel.no_irreversible_unmonitored_full_release.json +91 -0
  119. package/catalog/policies/policy.rel.observability_before_ship.json +91 -0
  120. package/catalog/policies/policy.rel.pre_release_confirmation.json +2 -1
  121. package/catalog/policies/policy.rel.process_change_needs_drill_audit.json +91 -0
  122. package/catalog/policies/policy.rel.traceable_build.json +93 -0
  123. package/catalog/policies/policy.role.domain_decision_authority.json +2 -1
  124. package/catalog/policies/policy.role.human_signs_for_ai.json +93 -0
  125. package/catalog/policies/policy.sec.authn_policy_unified.json +91 -0
  126. package/catalog/policies/policy.sec.no_client_side_trust.json +92 -0
  127. package/catalog/policies/policy.sec.no_longterm_security_disable.json +91 -0
  128. package/catalog/policies/policy.sec.no_script_readable_credentials.json +91 -0
  129. package/catalog/policies/policy.sec.no_secrets_in_client_surface.json +91 -0
  130. package/catalog/policies/policy.sec.relaxation_approval.json +92 -0
  131. package/catalog/policies/policy.sec.security_relaxation_gate.json +92 -0
  132. package/catalog/policies/policy.sec.third_party_execution_register.json +2 -1
  133. package/catalog/policies/policy.sec.trust_boundary_enforcement.json +93 -0
  134. package/catalog/policies/policy.sec.upload_download_server_recheck.json +91 -0
  135. package/catalog/policies/policy.sec.url_source_allowlist.json +91 -0
  136. package/catalog/policies/policy.spec.admission_criteria.json +2 -1
  137. package/catalog/policies/policy.spec.derived_view_regeneration.json +2 -1
  138. package/catalog/policies/policy.spec.draft_not_baseline.json +2 -1
  139. package/catalog/policies/policy.spec.family_conflict_precedence.json +93 -0
  140. package/catalog/policies/policy.spec.file_structure_contract.json +2 -1
  141. package/catalog/policies/policy.spec.freeze_before_use.json +93 -0
  142. package/catalog/policies/policy.spec.metadata_required.json +2 -1
  143. package/catalog/policies/policy.spec.post_dev_backfill_classify.json +2 -1
  144. package/catalog/policies/policy.spec.primary_source_basis.json +93 -0
  145. package/catalog/policies/policy.spec.procedural_record_not_surrogate.json +2 -1
  146. package/catalog/policies/policy.spec.semantic_identity.json +2 -1
  147. package/catalog/policies/policy.spec.unresolved_ledger_gate.json +2 -1
  148. package/catalog/policies/policy.stack.derived_store_not_authority.json +93 -0
  149. package/catalog/policies/policy.stack.dual_web_stack_boundary.json +93 -0
  150. package/catalog/policies/policy.stack.entry_chain_recorded.json +93 -0
  151. package/catalog/policies/policy.stack.entry_limits_aligned.json +94 -0
  152. package/catalog/policies/policy.stack.local_form_not_prod_fact.json +93 -0
  153. package/catalog/policies/policy.stack.multi_datastore_ownership.json +93 -0
  154. package/catalog/policies/policy.stack.no_implicit_selection.json +2 -1
  155. package/catalog/policies/policy.stack.persistence_coexistence_scope.json +93 -0
  156. package/catalog/policies/policy.stack.toolchain_versions_pinned.json +95 -0
  157. package/catalog/policies/policy.stack.upgrade_compat_verified.json +93 -0
  158. package/catalog/policies/policy.struct.module_entry_dependency_declared.json +92 -0
  159. package/catalog/policies/policy.struct.no_unexplained_top_level_dir.json +91 -0
  160. package/catalog/policies/policy.struct.reuse_proven_structure.json +91 -0
  161. package/catalog/policies/policy.test.control_nondeterminism_keep_diagnosis.json +91 -0
  162. package/catalog/policies/policy.test.isolation_and_cleanup.json +93 -0
  163. package/catalog/policies/policy.test.no_synthetic_stability.json +92 -0
  164. package/catalog/policies/policy.test.pyramid_and_ci_matrix.json +92 -0
  165. package/catalog/policies/policy.test.removal_justification.json +91 -0
  166. package/catalog/policies/policy.test.removal_needs_substitute_evidence.json +91 -0
  167. package/catalog/policies/policy.test.risk_driven_plan.json +92 -0
  168. package/catalog/policies/policy.test.stable_observable_assertions.json +92 -0
  169. package/catalog/policies/policy.tool.discoverable_toolchain.json +92 -0
  170. package/catalog/policies/policy.tool.no_hand_edit_generated_no_ci_drift.json +91 -0
  171. package/catalog/policies/policy.tool.no_vendored_body_edits.json +94 -0
  172. package/catalog/policies/policy.tool.scoped_scan_boundary.json +2 -1
  173. package/catalog/policies/policy.tool.upgrade_verify_lock_rollback.json +92 -0
  174. package/catalog/policies/policy.web.api.auth_app_client_split.json +2 -1
  175. package/catalog/policies/policy.web.api.client_change_impact.json +2 -1
  176. package/catalog/policies/policy.web.api.domain_api_only.json +2 -1
  177. package/catalog/policies/policy.web.api.error_normalization.json +2 -1
  178. package/catalog/policies/policy.web.api.generated_client.json +2 -1
  179. package/catalog/policies/policy.web.api.late_result_guard.json +2 -1
  180. package/catalog/policies/policy.web.api.mutation_idempotency.json +2 -1
  181. package/catalog/policies/policy.web.api.no_network_optimism.json +2 -1
  182. package/catalog/policies/policy.web.api.query_cancel_stale_drop.json +2 -1
  183. package/catalog/policies/policy.web.api.request_infrastructure.json +2 -1
  184. package/catalog/policies/policy.web.api.retry_discipline.json +2 -1
  185. package/catalog/policies/policy.web.api.session_recovery_split.json +2 -1
  186. package/catalog/policies/policy.web.api.single_http_client.json +2 -1
  187. package/catalog/policies/policy.web.api.single_loading_source.json +2 -1
  188. package/catalog/policies/policy.web.api.transport_vs_business.json +2 -1
  189. package/catalog/policies/policy.web.api.trusted_endpoint_source.json +2 -1
  190. package/catalog/policies/policy.web.api.typed_domain_naming.json +2 -1
  191. package/catalog/policies/policy.web.arch.layer_isolation.json +2 -1
  192. package/catalog/policies/policy.web.arch.naming_conventions.json +2 -1
  193. package/catalog/policies/policy.web.arch.public_api_barrel.json +2 -1
  194. package/catalog/policies/policy.web.chg.controlled_change_triggers.json +2 -1
  195. package/catalog/policies/policy.web.comp.no_trivial_or_god_component.json +91 -0
  196. package/catalog/policies/policy.web.comp.public_contract_completeness.json +93 -0
  197. package/catalog/policies/policy.web.copy.action_object_clarity.json +92 -0
  198. package/catalog/policies/policy.web.copy.enumerable_placement.json +91 -0
  199. package/catalog/policies/policy.web.copy.error_next_step.json +92 -0
  200. package/catalog/policies/policy.web.copy.suppression_ledger_discipline.json +2 -1
  201. package/catalog/policies/policy.web.grid.column_schema_fields.json +2 -1
  202. package/catalog/policies/policy.web.grid.config_isolation.json +2 -1
  203. package/catalog/policies/policy.web.grid.freeze_key_columns.json +2 -1
  204. package/catalog/policies/policy.web.grid.interaction_registry.json +2 -1
  205. package/catalog/policies/policy.web.grid.keyboard_clipboard.json +2 -1
  206. package/catalog/policies/policy.web.grid.schema_driven_shell.json +2 -1
  207. package/catalog/policies/policy.web.grid.schema_versioning.json +2 -1
  208. package/catalog/policies/policy.web.grid.server_ops_virtualization.json +2 -1
  209. package/catalog/policies/policy.web.grid.shell_change_matrix.json +2 -1
  210. package/catalog/policies/policy.web.grid.width_fix_ladder.json +2 -1
  211. package/catalog/policies/policy.web.handoff.state_matrix_full.json +94 -0
  212. package/catalog/policies/policy.web.i18n.copy_key_discipline.json +92 -0
  213. package/catalog/policies/policy.web.i18n.raw_value_for_compute.json +91 -0
  214. package/catalog/policies/policy.web.page.region_consistency.json +93 -0
  215. package/catalog/policies/policy.web.perf.budget_skeleton.json +2 -1
  216. package/catalog/policies/policy.web.style.ownership_matrix.json +2 -1
  217. package/catalog/policies/policy.web.track.attempt_result_correlation.json +91 -0
  218. package/catalog/policies/policy.web.track.consent_lifecycle.json +2 -1
  219. package/catalog/policies/policy.web.track.no_synthetic_actions.json +92 -0
  220. package/catalog/policies/policy.web.track.privacy_default_deny.json +2 -1
  221. package/catalog/policies/policy.web.track.stable_event_keys.json +2 -1
  222. package/catalog/policies/policy.web.track.typed_client_validation.json +91 -0
  223. package/catalog/policies/policy.web.uiux.provider_evidence_not_business_truth.json +2 -1
  224. package/catalog/policies/policy.wf.no_planned_as_verified.json +91 -0
  225. package/catalog/policies/policy.wf.task_facts_preconfirm.json +94 -0
  226. package/catalog/policies/profile.baseline.java_enterprise_default.json +96 -0
  227. package/catalog/sensors/sensor.browser.deterministic.json +2 -1
  228. package/catalog/sensors/sensor.browser.interactive.json +2 -1
  229. package/catalog/sensors/sensor.build.static.json +2 -1
  230. package/catalog/sensors/sensor.contract.conformance.json +2 -1
  231. package/catalog/sensors/sensor.performance.budget.json +2 -1
  232. package/catalog/sensors/sensor.production.metric.json +2 -1
  233. package/catalog/tools/seed_b6b_frontend.py +1424 -0
  234. package/catalog/tools/seed_b6c_backend.py +1495 -0
  235. package/catalog/tools/seed_b6d_baseline.py +620 -0
  236. package/catalog/tools/seed_b6e_evidence.py +1305 -0
  237. package/catalog/tools/seed_d3_review.py +1105 -0
  238. package/catalog/tools/seed_v06_batch2_materials.py +27 -18
  239. package/dist/bin.js +23026 -16635
  240. package/package.json +2 -1
  241. package/seeds/baseline/backend/api-contract.md +26 -0
  242. package/seeds/baseline/backend/architecture.md +31 -0
  243. package/seeds/baseline/backend/data-access.md +31 -0
  244. package/seeds/baseline/backend/directory-structure.md +11 -0
  245. package/seeds/baseline/backend/integration-runtime.md +21 -0
  246. package/seeds/baseline/backend/quality.md +31 -0
  247. package/seeds/baseline/backend/stack.yaml +13 -0
  248. package/seeds/baseline/backend/transaction-concurrency.md +26 -0
  249. package/seeds/baseline/data/lineage.md +11 -0
  250. package/seeds/baseline/data/migration.md +11 -0
  251. package/seeds/baseline/data/model.md +31 -0
  252. package/seeds/baseline/data/precision-units.md +31 -0
  253. package/seeds/baseline/data/quality.md +31 -0
  254. package/seeds/baseline/frontend/api-and-error.md +21 -0
  255. package/seeds/baseline/frontend/architecture.md +26 -0
  256. package/seeds/baseline/frontend/design-system.md +21 -0
  257. package/seeds/baseline/frontend/directory-structure.md +16 -0
  258. package/seeds/baseline/frontend/quality.md +26 -0
  259. package/seeds/baseline/frontend/stack.yaml +17 -0
  260. package/seeds/baseline/frontend/state-and-data.md +26 -0
  261. package/seeds/baseline/manifest.yaml +32 -0
  262. package/seeds/baseline/platform/delivery.md +36 -0
  263. package/seeds/baseline/platform/environment.md +11 -0
  264. package/seeds/baseline/platform/observability.md +31 -0
  265. package/seeds/baseline/platform/security.md +26 -0
  266. package/seeds/manifest.json +2006 -0
  267. package/seeds/specs/evidence/accessibility.md +89 -0
  268. package/seeds/specs/evidence/architecture.md +89 -0
  269. package/seeds/specs/evidence/browser-e2e.md +91 -0
  270. package/seeds/specs/evidence/build.md +91 -0
  271. package/seeds/specs/evidence/business-acceptance.md +89 -0
  272. package/seeds/specs/evidence/complexity-crap.md +97 -0
  273. package/seeds/specs/evidence/contract.md +89 -0
  274. package/seeds/specs/evidence/coverage.md +91 -0
  275. package/seeds/specs/evidence/data-migration.md +91 -0
  276. package/seeds/specs/evidence/dead-code-duplicate.md +89 -0
  277. package/seeds/specs/evidence/dependency-supply-chain.md +89 -0
  278. package/seeds/specs/evidence/index.md +55 -0
  279. package/seeds/specs/evidence/mutation.md +89 -0
  280. package/seeds/specs/evidence/performance.md +89 -0
  281. package/seeds/specs/evidence/release.md +91 -0
  282. package/seeds/specs/evidence/runtime-observability.md +91 -0
  283. package/seeds/specs/evidence/security.md +89 -0
  284. package/seeds/specs/evidence/typecheck-lint.md +91 -0
  285. package/seeds/specs/evidence/unit-component-integration.md +91 -0
  286. package/seeds/specs/evidence/visual-regression.md +89 -0
  287. package/seeds/specs/hard/backend/01-architecture-governance-protocol.md +68 -0
  288. package/seeds/specs/hard/backend/02-project-structure-governance-protocol.md +68 -0
  289. package/seeds/specs/hard/backend/03-directory-boundary-protocol.md +68 -0
  290. package/seeds/specs/hard/backend/04-layering-architecture-protocol.md +68 -0
  291. package/seeds/specs/hard/backend/05-task-workflow-protocol.md +68 -0
  292. package/seeds/specs/hard/backend/06-ai-generated-code-protocol.md +68 -0
  293. package/seeds/specs/hard/backend/07-evidence-acceptance-protocol.md +68 -0
  294. package/seeds/specs/hard/backend/08-contract-change-protocol.md +68 -0
  295. package/seeds/specs/hard/backend/09-role-responsibility-protocol.md +68 -0
  296. package/seeds/specs/hard/backend/10-security-protocol.md +68 -0
  297. package/seeds/specs/hard/backend/11-environment-configuration-protocol.md +67 -0
  298. package/seeds/specs/hard/backend/12-api-contract-protocol.md +68 -0
  299. package/seeds/specs/hard/backend/13-privacy-data-lifecycle-protocol.md +68 -0
  300. package/seeds/specs/hard/backend/14-business-rules-state-protocol.md +68 -0
  301. package/seeds/specs/hard/backend/15-data-model-protocol.md +68 -0
  302. package/seeds/specs/hard/backend/16-error-code-protocol.md +68 -0
  303. package/seeds/specs/hard/backend/17-permission-authorization-protocol.md +68 -0
  304. package/seeds/specs/hard/backend/18-database-schema-migration-protocol.md +68 -0
  305. package/seeds/specs/hard/backend/19-query-index-sql-protocol.md +68 -0
  306. package/seeds/specs/hard/backend/20-transaction-boundary-protocol.md +68 -0
  307. package/seeds/specs/hard/backend/21-concurrency-locking-protocol.md +68 -0
  308. package/seeds/specs/hard/backend/22-idempotency-protocol.md +68 -0
  309. package/seeds/specs/hard/backend/23-cache-redis-consistency-protocol.md +68 -0
  310. package/seeds/specs/hard/backend/24-external-integration-resilience-protocol.md +68 -0
  311. package/seeds/specs/hard/backend/25-async-job-scheduler-protocol.md +68 -0
  312. package/seeds/specs/hard/backend/26-engineering-tooling-protocol.md +68 -0
  313. package/seeds/specs/hard/backend/27-dependency-supply-chain-protocol.md +68 -0
  314. package/seeds/specs/hard/backend/28-testing-protocol.md +68 -0
  315. package/seeds/specs/hard/backend/29-observability-logging-tracing-protocol.md +68 -0
  316. package/seeds/specs/hard/backend/30-performance-capacity-protocol.md +68 -0
  317. package/seeds/specs/hard/backend/31-runtime-deployment-protocol.md +68 -0
  318. package/seeds/specs/hard/backend/32-release-versioning-rollback-protocol.md +68 -0
  319. package/seeds/specs/hard/backend/index.md +177 -0
  320. package/seeds/specs/hard/frontend/01-development-checklist-protocol.md +86 -0
  321. package/seeds/specs/hard/frontend/02-ai-generated-code-protocol.md +82 -0
  322. package/seeds/specs/hard/frontend/03-acceptance-gate-protocol.md +86 -0
  323. package/seeds/specs/hard/frontend/04-security-protocol.md +283 -0
  324. package/seeds/specs/hard/frontend/05-environment-configuration-protocol.md +80 -0
  325. package/seeds/specs/hard/frontend/06-change-governance-protocol.md +90 -0
  326. package/seeds/specs/hard/frontend/07-frontend-backend-communication-protocol.md +219 -0
  327. package/seeds/specs/hard/frontend/08-role-responsibility-protocol.md +80 -0
  328. package/seeds/specs/hard/frontend/09-module-boundary-protocol.md +81 -0
  329. package/seeds/specs/hard/frontend/10-engineering-tooling-protocol.md +89 -0
  330. package/seeds/specs/hard/frontend/11-dependency-package-management-protocol.md +87 -0
  331. package/seeds/specs/hard/frontend/12-business-rules-protocol.md +79 -0
  332. package/seeds/specs/hard/frontend/13-monetary-precision-protocol.md +81 -0
  333. package/seeds/specs/hard/frontend/14-data-model-protocol.md +85 -0
  334. package/seeds/specs/hard/frontend/15-request-api-protocol.md +87 -0
  335. package/seeds/specs/hard/frontend/16-error-handling-protocol.md +79 -0
  336. package/seeds/specs/hard/frontend/17-permission-protocol.md +79 -0
  337. package/seeds/specs/hard/frontend/18-state-management-protocol.md +88 -0
  338. package/seeds/specs/hard/frontend/19-cache-protocol.md +79 -0
  339. package/seeds/specs/hard/frontend/20-testing-protocol.md +88 -0
  340. package/seeds/specs/hard/frontend/21-design-system-protocol.md +79 -0
  341. package/seeds/specs/hard/frontend/22-theme-protocol.md +79 -0
  342. package/seeds/specs/hard/frontend/23-accessibility-protocol.md +189 -0
  343. package/seeds/specs/hard/frontend/24-component-protocol.md +80 -0
  344. package/seeds/specs/hard/frontend/25-page-structure-protocol.md +79 -0
  345. package/seeds/specs/hard/frontend/26-style-layout-protocol.md +80 -0
  346. package/seeds/specs/hard/frontend/27-rendering-state-protocol.md +81 -0
  347. package/seeds/specs/hard/frontend/28-form-protocol.md +88 -0
  348. package/seeds/specs/hard/frontend/29-routing-url-protocol.md +79 -0
  349. package/seeds/specs/hard/frontend/30-data-grid-protocol.md +83 -0
  350. package/seeds/specs/hard/frontend/31-performance-protocol.md +137 -0
  351. package/seeds/specs/hard/frontend/32-file-import-export-protocol.md +80 -0
  352. package/seeds/specs/hard/frontend/33-release-versioning-protocol.md +79 -0
  353. package/seeds/specs/hard/frontend/34-monitoring-logging-protocol.md +128 -0
  354. package/seeds/specs/hard/frontend/35-mock-protocol.md +97 -0
  355. package/seeds/specs/hard/frontend/36-feature-flag-protocol.md +79 -0
  356. package/seeds/specs/hard/frontend/37-browser-device-compatibility-protocol.md +83 -0
  357. package/seeds/specs/hard/frontend/38-internationalization-protocol.md +243 -0
  358. package/seeds/specs/hard/frontend/39-copywriting-protocol.md +79 -0
  359. package/seeds/specs/hard/frontend/40-analytics-protocol.md +98 -0
  360. package/seeds/specs/hard/frontend/41-design-handoff-protocol.md +80 -0
  361. package/seeds/specs/hard/frontend/42-browser-runtime-lifecycle-protocol.md +86 -0
  362. package/seeds/specs/hard/frontend/43-time-temporal-protocol.md +86 -0
  363. package/seeds/specs/hard/frontend/44-privacy-data-lifecycle-protocol.md +87 -0
  364. package/seeds/specs/hard/frontend/45-browser-storage-protocol.md +87 -0
  365. package/seeds/specs/hard/frontend/index.md +308 -0
  366. package/seeds/specs/hard/stacks/java/index.md +20 -0
  367. package/seeds/specs/hard/stacks/java/java-language-overlay.md +35 -0
  368. package/seeds/specs/hard/stacks/jpa/index.md +20 -0
  369. package/seeds/specs/hard/stacks/jpa/jpa-persistence-overlay.md +35 -0
  370. package/seeds/specs/hard/stacks/kubernetes-ingress/index.md +20 -0
  371. package/seeds/specs/hard/stacks/kubernetes-ingress/kubernetes-ingress-overlay.md +35 -0
  372. package/seeds/specs/hard/stacks/messaging/index.md +20 -0
  373. package/seeds/specs/hard/stacks/messaging/messaging-reliability-overlay.md +35 -0
  374. package/seeds/specs/hard/stacks/mybatis/index.md +20 -0
  375. package/seeds/specs/hard/stacks/mybatis/mybatis-persistence-overlay.md +35 -0
  376. package/seeds/specs/hard/stacks/mysql/index.md +20 -0
  377. package/seeds/specs/hard/stacks/mysql/mysql-database-overlay.md +35 -0
  378. package/seeds/specs/hard/stacks/nginx/index.md +20 -0
  379. package/seeds/specs/hard/stacks/nginx/nginx-proxy-overlay.md +35 -0
  380. package/seeds/specs/hard/stacks/postgresql/index.md +20 -0
  381. package/seeds/specs/hard/stacks/postgresql/postgresql-database-overlay.md +35 -0
  382. package/seeds/specs/hard/stacks/redis/index.md +20 -0
  383. package/seeds/specs/hard/stacks/redis/redis-cache-overlay.md +35 -0
  384. package/seeds/specs/hard/stacks/spring-batch/index.md +20 -0
  385. package/seeds/specs/hard/stacks/spring-batch/spring-batch-job-overlay.md +35 -0
  386. package/seeds/specs/hard/stacks/spring-boot/index.md +20 -0
  387. package/seeds/specs/hard/stacks/spring-boot/spring-boot-application-overlay.md +35 -0
  388. package/seeds/specs/hard/stacks/spring-mvc/index.md +20 -0
  389. package/seeds/specs/hard/stacks/spring-mvc/spring-mvc-web-overlay.md +35 -0
  390. package/seeds/specs/hard/stacks/spring-webflux/index.md +20 -0
  391. package/seeds/specs/hard/stacks/spring-webflux/spring-webflux-reactive-overlay.md +35 -0
  392. package/seeds/specs/hard/stacks/tomcat/index.md +20 -0
  393. package/seeds/specs/hard/stacks/tomcat/tomcat-runtime-overlay.md +35 -0
@@ -0,0 +1,93 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);classification=TECHNOLOGY_PROFILE 为 §93.4 十二值现成词形(零扩值);PROFILE 前缀 id 域段待登记",
5
+ "proposal": "词汇表 PR 登记 policy kind 及 PROFILE 前缀域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25+9 条同因同请,合并进同一 vocab PR)",
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006);classification=TECHNOLOGY_PROFILE 为 §93.4 十二值现成词形(零扩值);PROFILE 前缀为 governed 闭包既有前缀,BASELINE 域段随 catalog_layer_vocab.authority_knowledge_profile_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留)"
8
+ },
9
+ "x-spec-d-materialization": {
10
+ "status": "PROPOSAL",
11
+ "package": "B6c stacks 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
12
+ "human_review_required": true,
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
15
+ "group": "BE-G5",
16
+ "candidate_id": "POLICY.STACK.MULTI_DATASTORE_OWNERSHIP",
17
+ "density_rank": "UNIVERSAL",
18
+ "density_score": 2.0,
19
+ "pool_statement_sha16": "2c846bb4cd42591a",
20
+ "curated_rule": "B6c stacks 分母(14 目录 × index+overlay = 28 + profile 1)TECHNOLOGY_PROFILE 分类面:BE-G5 池 9 条未物化 POLICY.STACK.* ELIGIBLE 卡(池序全量)+ 1 条 PROFILE backlog 卡;classification=TECHNOLOGY_PROFILE 不混入 policy 强度面(§92.5 激活输入非被激活规则本体——enforcement 禁 required:STACK 卡池判 required 降级 advisory[强度只降不升],PROFILE 卡池判 deterministic_where_possible 原样)",
21
+ "denominator": "MASTer(池卡 source 锚)"
22
+ },
23
+ "x-b6-porting": {
24
+ "status": "PROPOSAL",
25
+ "batch": "B6C",
26
+ "human_review_required": true,
27
+ "classification_face": "technology_profile",
28
+ "enforcement_axis": {
29
+ "source_sections": [
30
+ "Rules"
31
+ ],
32
+ "rule": "TECHNOLOGY_PROFILE 面禁 required_when_applicable(§92.5 激活输入非被激活规则本体;STACK 卡池判 required 降级 advisory,PROFILE 卡池判 deterministic_where_possible 原样——强度只降不升)",
33
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
34
+ },
35
+ "extra_master_sections": [],
36
+ "denominator": "vendor",
37
+ "vendor_pin": {
38
+ "path": "pomaster/components/backend-hard-spec/assets/stacks/mysql/mysql-database-overlay.md",
39
+ "sha256": "a47d8c61959c120707bb907275e74ce13b4b36b03fa493bc09cc7d47fcc949d7",
40
+ "bytes": 693
41
+ },
42
+ "seeded_spec": ".pomaster/specs/hard/stacks/mysql/mysql-database-overlay.md",
43
+ "seed_manifest": "packages/cli/seeds/manifest.json",
44
+ "notes": []
45
+ },
46
+ "id": "POLICY.STACK.MULTI_DATASTORE_OWNERSHIP",
47
+ "kind": "policy",
48
+ "axis_profile": "policy_default",
49
+ "classification": "TECHNOLOGY_PROFILE",
50
+ "axes": {
51
+ "lifecycle": "PROPOSED",
52
+ "confidence": "UNRESOLVED",
53
+ "evidence": "PLANNED",
54
+ "change": "STABLE"
55
+ },
56
+ "title_zh": "多存储所有权声明",
57
+ "statement_zh": "多种数据存储并存时,各存储的数据源边界与数据所有权必须显式声明。",
58
+ "statement_en_keywords": [
59
+ "multi datastore",
60
+ "data source boundary",
61
+ "data ownership declaration"
62
+ ],
63
+ "applies_when": {
64
+ "lane": "backend",
65
+ "condition": "同一项目并存两种及以上数据存储",
66
+ "applicability_note": "同一项目并存两种及以上数据存储"
67
+ },
68
+ "enforcement": "advisory",
69
+ "authority": {
70
+ "owner": "HUMAN_OWNER",
71
+ "delegates": [],
72
+ "write_policy": "EVOLUTION_CHANNEL",
73
+ "escalation_hint": "catalog-spec-decomposition"
74
+ },
75
+ "origin": "ingested",
76
+ "origin_note": "B6c stacks 播种移植物化(TECHNOLOGY_PROFILE 分类面——提案 §1 矩阵 TECHNOLOGY_OVERLAY 落位,不混入 policy 强度面);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
77
+ "sources": [
78
+ {
79
+ "type": "design_seed",
80
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G5.yaml",
81
+ "captured_by": "agent:claude/spec-d-consolidation",
82
+ "locator": {
83
+ "candidate": "POLICY.STACK.MULTI_DATASTORE_OWNERSHIP",
84
+ "source_protocol": ".trellis/spec/backend/stacks/mysql/mysql-database-overlay.md",
85
+ "lines": "L20"
86
+ },
87
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
88
+ }
89
+ ],
90
+ "review_notes": [
91
+ "TECHNOLOGY_PROFILE 物化:mysql/postgresql 镜像表述正本锚 mysql 侧(池卡 notes);与 POLICY.STACK.DERIVED_STORE_NOT_AUTHORITY(本批)正交(多存储边界 vs 派生权威),强度降级同上。"
92
+ ]
93
+ }
@@ -3,7 +3,8 @@
3
3
  "status": "vocab_pr_candidate",
4
4
  "finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:STACK",
5
5
  "proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+9 条同因同请,合并进同一 vocab PR)",
6
- "locked_vocab_untouched": true
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006,不受 kinds_registry.truth_bodies 闭包管辖),POLICY. 前缀为 governed 闭包既有前缀,id 域段词形随 catalog_layer_vocab.policy_id_domains / policy_web_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
7
8
  },
8
9
  "x-spec-d-materialization": {
9
10
  "status": "PROPOSAL",
@@ -0,0 +1,93 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);classification=TECHNOLOGY_PROFILE 为 §93.4 十二值现成词形(零扩值);PROFILE 前缀 id 域段待登记",
5
+ "proposal": "词汇表 PR 登记 policy kind 及 PROFILE 前缀域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25+9 条同因同请,合并进同一 vocab PR)",
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006);classification=TECHNOLOGY_PROFILE 为 §93.4 十二值现成词形(零扩值);PROFILE 前缀为 governed 闭包既有前缀,BASELINE 域段随 catalog_layer_vocab.authority_knowledge_profile_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留)"
8
+ },
9
+ "x-spec-d-materialization": {
10
+ "status": "PROPOSAL",
11
+ "package": "B6c stacks 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
12
+ "human_review_required": true,
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
15
+ "group": "BE-G5",
16
+ "candidate_id": "POLICY.STACK.PERSISTENCE_COEXISTENCE_SCOPE",
17
+ "density_rank": "UNIVERSAL",
18
+ "density_score": 2.19,
19
+ "pool_statement_sha16": "3ca1e1da7018b4f7",
20
+ "curated_rule": "B6c stacks 分母(14 目录 × index+overlay = 28 + profile 1)TECHNOLOGY_PROFILE 分类面:BE-G5 池 9 条未物化 POLICY.STACK.* ELIGIBLE 卡(池序全量)+ 1 条 PROFILE backlog 卡;classification=TECHNOLOGY_PROFILE 不混入 policy 强度面(§92.5 激活输入非被激活规则本体——enforcement 禁 required:STACK 卡池判 required 降级 advisory[强度只降不升],PROFILE 卡池判 deterministic_where_possible 原样)",
21
+ "denominator": "MASTer(池卡 source 锚)"
22
+ },
23
+ "x-b6-porting": {
24
+ "status": "PROPOSAL",
25
+ "batch": "B6C",
26
+ "human_review_required": true,
27
+ "classification_face": "technology_profile",
28
+ "enforcement_axis": {
29
+ "source_sections": [
30
+ "Rules"
31
+ ],
32
+ "rule": "TECHNOLOGY_PROFILE 面禁 required_when_applicable(§92.5 激活输入非被激活规则本体;STACK 卡池判 required 降级 advisory,PROFILE 卡池判 deterministic_where_possible 原样——强度只降不升)",
33
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
34
+ },
35
+ "extra_master_sections": [],
36
+ "denominator": "vendor",
37
+ "vendor_pin": {
38
+ "path": "pomaster/components/backend-hard-spec/assets/stacks/jpa/jpa-persistence-overlay.md",
39
+ "sha256": "e43479fd8659b89863cf47dee9fee3c52727cc2978ffd1b854ea17c777b1e9e6",
40
+ "bytes": 647
41
+ },
42
+ "seeded_spec": ".pomaster/specs/hard/stacks/jpa/jpa-persistence-overlay.md",
43
+ "seed_manifest": "packages/cli/seeds/manifest.json",
44
+ "notes": []
45
+ },
46
+ "id": "POLICY.STACK.PERSISTENCE_COEXISTENCE_SCOPE",
47
+ "kind": "policy",
48
+ "axis_profile": "policy_default",
49
+ "classification": "TECHNOLOGY_PROFILE",
50
+ "axes": {
51
+ "lifecycle": "PROPOSED",
52
+ "confidence": "UNRESOLVED",
53
+ "evidence": "PLANNED",
54
+ "change": "STABLE"
55
+ },
56
+ "title_zh": "多持久化方案显式划界",
57
+ "statement_zh": "多套持久化访问方案并存时,各自适用的模块或数据源范围必须显式划界登记。",
58
+ "statement_en_keywords": [
59
+ "multi-framework coexistence",
60
+ "explicit scope",
61
+ "datasource boundary"
62
+ ],
63
+ "applies_when": {
64
+ "lane": "backend",
65
+ "condition": "同一项目并存两套及以上持久化访问方案",
66
+ "applicability_note": "同一项目并存两套及以上持久化访问方案"
67
+ },
68
+ "enforcement": "advisory",
69
+ "authority": {
70
+ "owner": "HUMAN_OWNER",
71
+ "delegates": [],
72
+ "write_policy": "EVOLUTION_CHANNEL",
73
+ "escalation_hint": "catalog-spec-decomposition"
74
+ },
75
+ "origin": "ingested",
76
+ "origin_note": "B6c stacks 播种移植物化(TECHNOLOGY_PROFILE 分类面——提案 §1 矩阵 TECHNOLOGY_OVERLAY 落位,不混入 policy 强度面);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
77
+ "sources": [
78
+ {
79
+ "type": "design_seed",
80
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G5.yaml",
81
+ "captured_by": "agent:claude/spec-d-consolidation",
82
+ "locator": {
83
+ "candidate": "POLICY.STACK.PERSISTENCE_COEXISTENCE_SCOPE",
84
+ "source_protocol": ".trellis/spec/backend/stacks/jpa/jpa-persistence-overlay.md",
85
+ "lines": "L20"
86
+ },
87
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
88
+ }
89
+ ],
90
+ "review_notes": [
91
+ "TECHNOLOGY_PROFILE 物化:jpa/mybatis 镜像表述正本锚 jpa 侧(池卡 notes);强度降级同上。"
92
+ ]
93
+ }
@@ -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);classification=TECHNOLOGY_PROFILE 为 §93.4 十二值现成词形(零扩值);PROFILE 前缀 id 域段待登记",
5
+ "proposal": "词汇表 PR 登记 policy kind 及 PROFILE 前缀域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25+9 条同因同请,合并进同一 vocab PR)",
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006);classification=TECHNOLOGY_PROFILE 为 §93.4 十二值现成词形(零扩值);PROFILE 前缀为 governed 闭包既有前缀,BASELINE 域段随 catalog_layer_vocab.authority_knowledge_profile_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留)"
8
+ },
9
+ "x-spec-d-materialization": {
10
+ "status": "PROPOSAL",
11
+ "package": "B6c stacks 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
12
+ "human_review_required": true,
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
15
+ "group": "BE-G5",
16
+ "candidate_id": "POLICY.STACK.TOOLCHAIN_VERSIONS_PINNED",
17
+ "density_rank": "UNIVERSAL",
18
+ "density_score": 2.75,
19
+ "pool_statement_sha16": "b50906b188d57878",
20
+ "curated_rule": "B6c stacks 分母(14 目录 × index+overlay = 28 + profile 1)TECHNOLOGY_PROFILE 分类面:BE-G5 池 9 条未物化 POLICY.STACK.* ELIGIBLE 卡(池序全量)+ 1 条 PROFILE backlog 卡;classification=TECHNOLOGY_PROFILE 不混入 policy 强度面(§92.5 激活输入非被激活规则本体——enforcement 禁 required:STACK 卡池判 required 降级 advisory[强度只降不升],PROFILE 卡池判 deterministic_where_possible 原样)",
21
+ "denominator": "MASTer(池卡 source 锚)"
22
+ },
23
+ "x-b6-porting": {
24
+ "status": "PROPOSAL",
25
+ "batch": "B6C",
26
+ "human_review_required": true,
27
+ "classification_face": "technology_profile",
28
+ "enforcement_axis": {
29
+ "source_sections": [
30
+ "Rules",
31
+ "Checklist"
32
+ ],
33
+ "rule": "TECHNOLOGY_PROFILE 面禁 required_when_applicable(§92.5 激活输入非被激活规则本体;STACK 卡池判 required 降级 advisory,PROFILE 卡池判 deterministic_where_possible 原样——强度只降不升)",
34
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
35
+ },
36
+ "extra_master_sections": [],
37
+ "denominator": "vendor",
38
+ "vendor_pin": {
39
+ "path": "pomaster/components/backend-hard-spec/assets/stacks/java/java-language-overlay.md",
40
+ "sha256": "38b592a5beaa899abb45e871e5097cafedeea80502baee00bcfbfcfa313dab85",
41
+ "bytes": 684
42
+ },
43
+ "seeded_spec": ".pomaster/specs/hard/stacks/java/java-language-overlay.md",
44
+ "seed_manifest": "packages/cli/seeds/manifest.json",
45
+ "notes": []
46
+ },
47
+ "id": "POLICY.STACK.TOOLCHAIN_VERSIONS_PINNED",
48
+ "kind": "policy",
49
+ "axis_profile": "policy_default",
50
+ "classification": "TECHNOLOGY_PROFILE",
51
+ "axes": {
52
+ "lifecycle": "PROPOSED",
53
+ "confidence": "UNRESOLVED",
54
+ "evidence": "PLANNED",
55
+ "change": "STABLE"
56
+ },
57
+ "title_zh": "工具链版本冻结登记",
58
+ "statement_zh": "语言运行时版本、编译目标、构建工具链与依赖解析来源一经选定即须冻结登记,保证全程可追溯。",
59
+ "statement_en_keywords": [
60
+ "toolchain pinning",
61
+ "compile target",
62
+ "dependency resolution",
63
+ "recorded baseline"
64
+ ],
65
+ "applies_when": {
66
+ "lane": "backend",
67
+ "condition": "项目选定任一语言运行时及其构建链",
68
+ "applicability_note": "项目选定任一语言运行时及其构建链"
69
+ },
70
+ "enforcement": "advisory",
71
+ "authority": {
72
+ "owner": "HUMAN_OWNER",
73
+ "delegates": [],
74
+ "write_policy": "EVOLUTION_CHANNEL",
75
+ "escalation_hint": "catalog-spec-decomposition"
76
+ },
77
+ "origin": "ingested",
78
+ "origin_note": "B6c stacks 播种移植物化(TECHNOLOGY_PROFILE 分类面——提案 §1 矩阵 TECHNOLOGY_OVERLAY 落位,不混入 policy 强度面);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
79
+ "sources": [
80
+ {
81
+ "type": "design_seed",
82
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G5.yaml",
83
+ "captured_by": "agent:claude/spec-d-consolidation",
84
+ "locator": {
85
+ "candidate": "POLICY.STACK.TOOLCHAIN_VERSIONS_PINNED",
86
+ "source_protocol": ".trellis/spec/backend/stacks/java/java-language-overlay.md",
87
+ "lines": "L18(advisory 面 L24 同条并入)"
88
+ },
89
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
90
+ }
91
+ ],
92
+ "review_notes": [
93
+ "TECHNOLOGY_PROFILE 物化:与 POLICY.STACK.UPGRADE_COMPAT_VERIFIED(本批)正交——彼管升级验证,本管选定后冻结登记;Checklist 证据面随本条吸收(池卡 notes);强度降级同上。"
94
+ ]
95
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);classification=TECHNOLOGY_PROFILE 为 §93.4 十二值现成词形(零扩值);PROFILE 前缀 id 域段待登记",
5
+ "proposal": "词汇表 PR 登记 policy kind 及 PROFILE 前缀域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25+9 条同因同请,合并进同一 vocab PR)",
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006);classification=TECHNOLOGY_PROFILE 为 §93.4 十二值现成词形(零扩值);PROFILE 前缀为 governed 闭包既有前缀,BASELINE 域段随 catalog_layer_vocab.authority_knowledge_profile_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留)"
8
+ },
9
+ "x-spec-d-materialization": {
10
+ "status": "PROPOSAL",
11
+ "package": "B6c stacks 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
12
+ "human_review_required": true,
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
15
+ "group": "BE-G5",
16
+ "candidate_id": "POLICY.STACK.UPGRADE_COMPAT_VERIFIED",
17
+ "density_rank": "UNIVERSAL",
18
+ "density_score": 33.25,
19
+ "pool_statement_sha16": "c7fe58b7e830f31c",
20
+ "curated_rule": "B6c stacks 分母(14 目录 × index+overlay = 28 + profile 1)TECHNOLOGY_PROFILE 分类面:BE-G5 池 9 条未物化 POLICY.STACK.* ELIGIBLE 卡(池序全量)+ 1 条 PROFILE backlog 卡;classification=TECHNOLOGY_PROFILE 不混入 policy 强度面(§92.5 激活输入非被激活规则本体——enforcement 禁 required:STACK 卡池判 required 降级 advisory[强度只降不升],PROFILE 卡池判 deterministic_where_possible 原样)",
21
+ "denominator": "MASTer(池卡 source 锚)"
22
+ },
23
+ "x-b6-porting": {
24
+ "status": "PROPOSAL",
25
+ "batch": "B6C",
26
+ "human_review_required": true,
27
+ "classification_face": "technology_profile",
28
+ "enforcement_axis": {
29
+ "source_sections": [
30
+ "Rules"
31
+ ],
32
+ "rule": "TECHNOLOGY_PROFILE 面禁 required_when_applicable(§92.5 激活输入非被激活规则本体;STACK 卡池判 required 降级 advisory,PROFILE 卡池判 deterministic_where_possible 原样——强度只降不升)",
33
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
34
+ },
35
+ "extra_master_sections": [],
36
+ "denominator": "vendor",
37
+ "vendor_pin": {
38
+ "path": "pomaster/components/backend-hard-spec/assets/stacks/java/java-language-overlay.md",
39
+ "sha256": "38b592a5beaa899abb45e871e5097cafedeea80502baee00bcfbfcfa313dab85",
40
+ "bytes": 684
41
+ },
42
+ "seeded_spec": ".pomaster/specs/hard/stacks/java/java-language-overlay.md",
43
+ "seed_manifest": "packages/cli/seeds/manifest.json",
44
+ "notes": []
45
+ },
46
+ "id": "POLICY.STACK.UPGRADE_COMPAT_VERIFIED",
47
+ "kind": "policy",
48
+ "axis_profile": "policy_default",
49
+ "classification": "TECHNOLOGY_PROFILE",
50
+ "axes": {
51
+ "lifecycle": "PROPOSED",
52
+ "confidence": "UNRESOLVED",
53
+ "evidence": "PLANNED",
54
+ "change": "STABLE"
55
+ },
56
+ "title_zh": "升级兼容全链验证",
57
+ "statement_zh": "基础语言或运行时版本演进时,必须沿构建产物、执行行为、测试结果到部署环境的链条逐环验证兼容性后方可落地。",
58
+ "statement_en_keywords": [
59
+ "upgrade compatibility",
60
+ "full-chain verification",
61
+ "runtime evolution"
62
+ ],
63
+ "applies_when": {
64
+ "lane": "any",
65
+ "condition": "升级基础运行时、编译目标或工具链版本",
66
+ "applicability_note": "升级基础运行时、编译目标或工具链版本"
67
+ },
68
+ "enforcement": "advisory",
69
+ "authority": {
70
+ "owner": "HUMAN_OWNER",
71
+ "delegates": [],
72
+ "write_policy": "EVOLUTION_CHANNEL",
73
+ "escalation_hint": "catalog-spec-decomposition"
74
+ },
75
+ "origin": "ingested",
76
+ "origin_note": "B6c stacks 播种移植物化(TECHNOLOGY_PROFILE 分类面——提案 §1 矩阵 TECHNOLOGY_OVERLAY 落位,不混入 policy 强度面);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
77
+ "sources": [
78
+ {
79
+ "type": "design_seed",
80
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G5.yaml",
81
+ "captured_by": "agent:claude/spec-d-consolidation",
82
+ "locator": {
83
+ "candidate": "POLICY.STACK.UPGRADE_COMPAT_VERIFIED",
84
+ "source_protocol": ".trellis/spec/backend/stacks/java/java-language-overlay.md",
85
+ "lines": "L20"
86
+ },
87
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
88
+ }
89
+ ],
90
+ "review_notes": [
91
+ "TECHNOLOGY_PROFILE 物化(提案 §1 矩阵 TECHNOLOGY_OVERLAY 落位):池判 required 降级 advisory——TECHNOLOGY_PROFILE 是 §92.5 激活输入非被激活规则本体,强度只降不升;锚 java overlay Rules 段(be-g5 池 ELIGIBLE 未物化)。"
92
+ ]
93
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:STRUCT",
5
+ "proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25+9 条同因同请,合并进同一 vocab PR)",
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006,不受 kinds_registry.truth_bodies 闭包管辖),POLICY. 前缀为 governed 闭包既有前缀,id 域段词形随 catalog_layer_vocab.policy_id_domains / policy_web_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
8
+ },
9
+ "x-spec-d-materialization": {
10
+ "status": "PROPOSAL",
11
+ "package": "B6c BE 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
12
+ "human_review_required": true,
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
15
+ "group": "BE-G1",
16
+ "candidate_id": "POLICY.STRUCT.MODULE_ENTRY_DEPENDENCY_DECLARED",
17
+ "density_rank": "UNIVERSAL",
18
+ "density_score": 32.88,
19
+ "pool_statement_sha16": "a7d6e0adadd3a8a5",
20
+ "curated_rule": "B6c 分母(BE universal 33:32 编号协议 + index)required 池(ELIGIBLE 未物化 + 卡层锚落 MUST/MUST NOT 且与 MASTer 行锚交叉验证)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 行锚全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
21
+ "denominator": "MASTer(池卡 source 锚)"
22
+ },
23
+ "x-b6-porting": {
24
+ "status": "PROPOSAL",
25
+ "batch": "B6C",
26
+ "human_review_required": true,
27
+ "classification_face": "policy",
28
+ "enforcement_axis": {
29
+ "source_sections": [
30
+ "MUST"
31
+ ],
32
+ "rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
33
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
34
+ },
35
+ "extra_master_sections": [],
36
+ "denominator": "vendor",
37
+ "vendor_pin": {
38
+ "path": "pomaster/components/backend-hard-spec/assets/universal/02-project-structure-governance-protocol.md",
39
+ "sha256": "add6e21ffa5dd45940dda725e8d4e234c9d2a49775139c895cc7ad5f7caf7bf0",
40
+ "bytes": 1343
41
+ },
42
+ "seeded_spec": ".pomaster/specs/hard/backend/02-project-structure-governance-protocol.md",
43
+ "seed_manifest": "packages/cli/seeds/manifest.json"
44
+ },
45
+ "id": "POLICY.STRUCT.MODULE_ENTRY_DEPENDENCY_DECLARED",
46
+ "kind": "policy",
47
+ "axis_profile": "policy_default",
48
+ "classification": "UNIVERSAL_POLICY",
49
+ "axes": {
50
+ "lifecycle": "PROPOSED",
51
+ "confidence": "UNRESOLVED",
52
+ "evidence": "PLANNED",
53
+ "change": "STABLE"
54
+ },
55
+ "title_zh": "模块三要素齐备方成立",
56
+ "statement_zh": "新建目录或模块必须同时具备单一职责、对外声明的稳定入口与明确依赖方向,三者齐备才算结构成立。",
57
+ "statement_en_keywords": [
58
+ "single responsibility",
59
+ "declared public entry",
60
+ "dependency direction"
61
+ ],
62
+ "applies_when": {
63
+ "lane": "any",
64
+ "condition": "创建目录、模块或调整包结构时",
65
+ "applicability_note": "创建目录、模块或调整包结构时"
66
+ },
67
+ "enforcement": "required_when_applicable",
68
+ "authority": {
69
+ "owner": "HUMAN_OWNER",
70
+ "delegates": [],
71
+ "write_policy": "EVOLUTION_CHANNEL",
72
+ "escalation_hint": "catalog-spec-decomposition"
73
+ },
74
+ "origin": "ingested",
75
+ "origin_note": "B6c BE 播种移植物化;statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
76
+ "sources": [
77
+ {
78
+ "type": "design_seed",
79
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G1.yaml",
80
+ "captured_by": "agent:claude/spec-d-consolidation",
81
+ "locator": {
82
+ "candidate": "POLICY.STRUCT.MODULE_ENTRY_DEPENDENCY_DECLARED",
83
+ "source_protocol": ".trellis/spec/backend/02-project-structure-governance-protocol.md",
84
+ "lines": "25"
85
+ },
86
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
87
+ }
88
+ ],
89
+ "review_notes": [
90
+ "模块成立三要素在既有 193 条中无对应条目(B6b-I FLAG/COMP 族为前端组件轴),零语义重复;与 POLICY.STRUCT.NO_UNEXPLAINED_TOP_LEVEL_DIR(本批)正交(成立条件 vs 目录禁令),互引。"
91
+ ]
92
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:STRUCT",
5
+ "proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25+9 条同因同请,合并进同一 vocab PR)",
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006,不受 kinds_registry.truth_bodies 闭包管辖),POLICY. 前缀为 governed 闭包既有前缀,id 域段词形随 catalog_layer_vocab.policy_id_domains / policy_web_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
8
+ },
9
+ "x-spec-d-materialization": {
10
+ "status": "PROPOSAL",
11
+ "package": "B6c BE 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
12
+ "human_review_required": true,
13
+ "evidence": "PLANNED",
14
+ "provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
15
+ "group": "BE-G1",
16
+ "candidate_id": "POLICY.STRUCT.NO_UNEXPLAINED_TOP_LEVEL_DIR",
17
+ "density_rank": "UNIVERSAL",
18
+ "density_score": 31.88,
19
+ "pool_statement_sha16": "3101acd0c8eac5cb",
20
+ "curated_rule": "B6c 分母(BE universal 33:32 编号协议 + index)required 池(ELIGIBLE 未物化 + 卡层锚落 MUST/MUST NOT 且与 MASTer 行锚交叉验证)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 行锚全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
21
+ "denominator": "MASTer(池卡 source 锚)"
22
+ },
23
+ "x-b6-porting": {
24
+ "status": "PROPOSAL",
25
+ "batch": "B6C",
26
+ "human_review_required": true,
27
+ "classification_face": "policy",
28
+ "enforcement_axis": {
29
+ "source_sections": [
30
+ "MUST NOT"
31
+ ],
32
+ "rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
33
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
34
+ },
35
+ "extra_master_sections": [],
36
+ "denominator": "vendor",
37
+ "vendor_pin": {
38
+ "path": "pomaster/components/backend-hard-spec/assets/universal/02-project-structure-governance-protocol.md",
39
+ "sha256": "add6e21ffa5dd45940dda725e8d4e234c9d2a49775139c895cc7ad5f7caf7bf0",
40
+ "bytes": 1343
41
+ },
42
+ "seeded_spec": ".pomaster/specs/hard/backend/02-project-structure-governance-protocol.md",
43
+ "seed_manifest": "packages/cli/seeds/manifest.json"
44
+ },
45
+ "id": "POLICY.STRUCT.NO_UNEXPLAINED_TOP_LEVEL_DIR",
46
+ "kind": "policy",
47
+ "axis_profile": "policy_default",
48
+ "classification": "UNIVERSAL_POLICY",
49
+ "axes": {
50
+ "lifecycle": "PROPOSED",
51
+ "confidence": "UNRESOLVED",
52
+ "evidence": "PLANNED",
53
+ "change": "STABLE"
54
+ },
55
+ "title_zh": "禁无职责顶层目录",
56
+ "statement_zh": "禁止创建说不出职责的顶层目录,禁止把业务逻辑放进通用工具区。",
57
+ "statement_en_keywords": [
58
+ "no unexplained top-level directory",
59
+ "no business logic in utility area"
60
+ ],
61
+ "applies_when": {
62
+ "lane": "any",
63
+ "condition": "新增或整理目录结构时",
64
+ "applicability_note": "新增或整理目录结构时"
65
+ },
66
+ "enforcement": "required_when_applicable",
67
+ "authority": {
68
+ "owner": "HUMAN_OWNER",
69
+ "delegates": [],
70
+ "write_policy": "EVOLUTION_CHANNEL",
71
+ "escalation_hint": "catalog-spec-decomposition"
72
+ },
73
+ "origin": "ingested",
74
+ "origin_note": "B6c BE 播种移植物化;statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
75
+ "sources": [
76
+ {
77
+ "type": "design_seed",
78
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G1.yaml",
79
+ "captured_by": "agent:claude/spec-d-consolidation",
80
+ "locator": {
81
+ "candidate": "POLICY.STRUCT.NO_UNEXPLAINED_TOP_LEVEL_DIR",
82
+ "source_protocol": ".trellis/spec/backend/02-project-structure-governance-protocol.md",
83
+ "lines": "29"
84
+ },
85
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
86
+ }
87
+ ],
88
+ "review_notes": [
89
+ "顶层目录职责禁令在既有 193 条中无对应条目,零语义重复;与 POLICY.STRUCT.MODULE_ENTRY_DEPENDENCY_DECLARED(本批)正交互引。"
90
+ ]
91
+ }