pomaster 0.3.0 → 0.5.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 (344) hide show
  1. package/README.md +57 -22
  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 +95 -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 +95 -0
  132. package/catalog/policies/policy.sec.third_party_execution_register.json +2 -1
  133. package/catalog/policies/policy.sec.trust_boundary_enforcement.json +96 -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 +20514 -10735
  240. package/package.json +2 -1
  241. package/seeds/aggregation-manifest.json +691 -0
  242. package/seeds/baseline/backend/api-contract.md +26 -0
  243. package/seeds/baseline/backend/architecture.md +31 -0
  244. package/seeds/baseline/backend/data-access.md +31 -0
  245. package/seeds/baseline/backend/directory-structure.md +11 -0
  246. package/seeds/baseline/backend/integration-runtime.md +21 -0
  247. package/seeds/baseline/backend/quality.md +31 -0
  248. package/seeds/baseline/backend/stack.yaml +13 -0
  249. package/seeds/baseline/backend/transaction-concurrency.md +26 -0
  250. package/seeds/baseline/data/lineage.md +11 -0
  251. package/seeds/baseline/data/migration.md +11 -0
  252. package/seeds/baseline/data/model.md +31 -0
  253. package/seeds/baseline/data/precision-units.md +31 -0
  254. package/seeds/baseline/data/quality.md +31 -0
  255. package/seeds/baseline/frontend/api-and-error.md +21 -0
  256. package/seeds/baseline/frontend/architecture.md +26 -0
  257. package/seeds/baseline/frontend/design-system.md +21 -0
  258. package/seeds/baseline/frontend/directory-structure.md +16 -0
  259. package/seeds/baseline/frontend/quality.md +26 -0
  260. package/seeds/baseline/frontend/stack.yaml +17 -0
  261. package/seeds/baseline/frontend/state-and-data.md +26 -0
  262. package/seeds/baseline/manifest.yaml +32 -0
  263. package/seeds/baseline/platform/delivery.md +36 -0
  264. package/seeds/baseline/platform/environment.md +11 -0
  265. package/seeds/baseline/platform/observability.md +31 -0
  266. package/seeds/baseline/platform/security.md +26 -0
  267. package/seeds/manifest.json +1429 -0
  268. package/seeds/specs/evidence/accessibility.md +89 -0
  269. package/seeds/specs/evidence/architecture.md +89 -0
  270. package/seeds/specs/evidence/browser-e2e.md +91 -0
  271. package/seeds/specs/evidence/build.md +91 -0
  272. package/seeds/specs/evidence/business-acceptance.md +89 -0
  273. package/seeds/specs/evidence/complexity-crap.md +97 -0
  274. package/seeds/specs/evidence/contract.md +89 -0
  275. package/seeds/specs/evidence/coverage.md +91 -0
  276. package/seeds/specs/evidence/data-migration.md +91 -0
  277. package/seeds/specs/evidence/dead-code-duplicate.md +89 -0
  278. package/seeds/specs/evidence/dependency-supply-chain.md +89 -0
  279. package/seeds/specs/evidence/index.md +55 -0
  280. package/seeds/specs/evidence/mutation.md +89 -0
  281. package/seeds/specs/evidence/performance.md +89 -0
  282. package/seeds/specs/evidence/release.md +91 -0
  283. package/seeds/specs/evidence/runtime-observability.md +91 -0
  284. package/seeds/specs/evidence/security.md +89 -0
  285. package/seeds/specs/evidence/typecheck-lint.md +91 -0
  286. package/seeds/specs/evidence/unit-component-integration.md +91 -0
  287. package/seeds/specs/evidence/visual-regression.md +89 -0
  288. package/seeds/specs/hard/stacks/antdesign/antdesign-ui-overlay.md +48 -0
  289. package/seeds/specs/hard/stacks/antdesign/index.md +20 -0
  290. package/seeds/specs/hard/stacks/css/css-system-overlay.md +52 -0
  291. package/seeds/specs/hard/stacks/css/index.md +20 -0
  292. package/seeds/specs/hard/stacks/geist/geist-design-system-overlay.md +48 -0
  293. package/seeds/specs/hard/stacks/geist/index.md +20 -0
  294. package/seeds/specs/hard/stacks/java/index.md +20 -0
  295. package/seeds/specs/hard/stacks/java/java-language-overlay.md +35 -0
  296. package/seeds/specs/hard/stacks/jpa/index.md +20 -0
  297. package/seeds/specs/hard/stacks/jpa/jpa-persistence-overlay.md +35 -0
  298. package/seeds/specs/hard/stacks/kubernetes-ingress/index.md +20 -0
  299. package/seeds/specs/hard/stacks/kubernetes-ingress/kubernetes-ingress-overlay.md +35 -0
  300. package/seeds/specs/hard/stacks/messaging/index.md +20 -0
  301. package/seeds/specs/hard/stacks/messaging/messaging-reliability-overlay.md +35 -0
  302. package/seeds/specs/hard/stacks/mybatis/index.md +20 -0
  303. package/seeds/specs/hard/stacks/mybatis/mybatis-persistence-overlay.md +35 -0
  304. package/seeds/specs/hard/stacks/mysql/index.md +20 -0
  305. package/seeds/specs/hard/stacks/mysql/mysql-database-overlay.md +35 -0
  306. package/seeds/specs/hard/stacks/nginx/index.md +20 -0
  307. package/seeds/specs/hard/stacks/nginx/nginx-proxy-overlay.md +35 -0
  308. package/seeds/specs/hard/stacks/postgresql/index.md +20 -0
  309. package/seeds/specs/hard/stacks/postgresql/postgresql-database-overlay.md +35 -0
  310. package/seeds/specs/hard/stacks/redis/index.md +20 -0
  311. package/seeds/specs/hard/stacks/redis/redis-cache-overlay.md +35 -0
  312. package/seeds/specs/hard/stacks/spring-batch/index.md +20 -0
  313. package/seeds/specs/hard/stacks/spring-batch/spring-batch-job-overlay.md +35 -0
  314. package/seeds/specs/hard/stacks/spring-boot/index.md +20 -0
  315. package/seeds/specs/hard/stacks/spring-boot/spring-boot-application-overlay.md +35 -0
  316. package/seeds/specs/hard/stacks/spring-mvc/index.md +20 -0
  317. package/seeds/specs/hard/stacks/spring-mvc/spring-mvc-web-overlay.md +35 -0
  318. package/seeds/specs/hard/stacks/spring-webflux/index.md +20 -0
  319. package/seeds/specs/hard/stacks/spring-webflux/spring-webflux-reactive-overlay.md +35 -0
  320. package/seeds/specs/hard/stacks/tomcat/index.md +20 -0
  321. package/seeds/specs/hard/stacks/tomcat/tomcat-runtime-overlay.md +35 -0
  322. package/seeds/specs/hard/stacks/vue3/index.md +20 -0
  323. package/seeds/specs/hard/stacks/vue3/vue3-framework-overlay.md +71 -0
  324. package/seeds/specs/hard/themes/ai-generated-code.md +171 -0
  325. package/seeds/specs/hard/themes/api-contract-and-error-semantics.md +532 -0
  326. package/seeds/specs/hard/themes/architecture-and-module-boundaries.md +323 -0
  327. package/seeds/specs/hard/themes/data-and-transactions.md +582 -0
  328. package/seeds/specs/hard/themes/engineering-toolchain-and-dependencies.md +333 -0
  329. package/seeds/specs/hard/themes/environment-and-configuration.md +196 -0
  330. package/seeds/specs/hard/themes/frontend-state-and-client-data.md +342 -0
  331. package/seeds/specs/hard/themes/index.md +374 -0
  332. package/seeds/specs/hard/themes/integration-and-async-runtime.md +331 -0
  333. package/seeds/specs/hard/themes/internationalization-and-copywriting.md +350 -0
  334. package/seeds/specs/hard/themes/observability-and-analytics.md +305 -0
  335. package/seeds/specs/hard/themes/page-composition-and-browser-environment.md +554 -0
  336. package/seeds/specs/hard/themes/performance-and-capacity.md +226 -0
  337. package/seeds/specs/hard/themes/permission-and-authorization.md +168 -0
  338. package/seeds/specs/hard/themes/privacy-and-data-lifecycle.md +176 -0
  339. package/seeds/specs/hard/themes/release-and-feature-flags.md +237 -0
  340. package/seeds/specs/hard/themes/security.md +372 -0
  341. package/seeds/specs/hard/themes/task-governance-and-acceptance.md +554 -0
  342. package/seeds/specs/hard/themes/testing-and-verification.md +266 -0
  343. package/seeds/specs/hard/themes/ui-presentation-and-design.md +670 -0
  344. package/seeds/specs/hard/themes/value-semantics-and-domain-data.md +339 -0
@@ -0,0 +1,93 @@
1
+ {
2
+ "x-spec-d-materialization": {
3
+ "status": "PROPOSAL",
4
+ "package": "裁定批 F/D3-R1 排除卡逐卡复核物化(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
5
+ "human_review_required": true,
6
+ "evidence": "PLANNED",
7
+ "provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
8
+ "group": "FE-G1",
9
+ "candidate_id": "POLICY.REGISTRY.HUMAN_FIELDS_VALIDATED_DECORRELATED",
10
+ "pool_statement_sha16": "1adb9d5e6c01c888",
11
+ "curated_rule": "D3 逐卡复核批(Owner 2026-09-05 裁定 D3=逐卡复核;72 张保守排除卡逐卡核锚):required 9(D3b source=null 补锚落 MUST/MUST NOT 且与 MASTer 行锚交叉验证)+ advisory 16(Change Policy 锚 14 张降 advisory[行内容含「必须」行为规范、强度只降不升] + 池密度序前 2)= 25(D6 合并上限 policy+TP 合计 25/批内执行;超出 17 张 advisory 留 D3-R2 轮次台账);维持排除 30(Ownership 归属说明族)",
12
+ "denominator": "MASTer(池卡锚)"
13
+ },
14
+ "x-b6-porting": {
15
+ "status": "PROPOSAL",
16
+ "batch": "D3-R1",
17
+ "human_review_required": true,
18
+ "classification_face": "policy",
19
+ "enforcement_axis": {
20
+ "source_sections": [
21
+ "本地 ESLint 规则与 Registry 校验"
22
+ ],
23
+ "rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
24
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
25
+ },
26
+ "extra_master_sections": [
27
+ "本地 ESLint 规则与 Registry 校验"
28
+ ],
29
+ "denominator": "vendor",
30
+ "vendor_pin": {
31
+ "path": "pomaster/components/frontend-hard-spec/assets/universal/10-engineering-tooling-protocol.md",
32
+ "sha256": "c628d47dcae1ddd58ea3651eeae9dd84ff5157365a3892a367bd7b5bf0af2b9d",
33
+ "bytes": 2782
34
+ },
35
+ "seeded_spec": ".pomaster/specs/hard/themes/engineering-toolchain-and-dependencies.md",
36
+ "seed_manifest": "packages/cli/seeds/manifest.json",
37
+ "d3_review": {
38
+ "excluded_from_batch": "B6B-1",
39
+ "exclusion_reason_at_seed": "行锚全落 MASTer 项目扩展段(12 段闭包外),无源强度证据,保守排除待复核",
40
+ "adjudication": "D3 逐卡复核(Owner 2026-09-05 裁定 D3=逐卡复核,裁定批 F 落地 2026-09-05):本卡原属 B6B-1 保守排除留池(排除理由:行锚全落 MASTer 项目扩展段(12 段闭包外),无源强度证据,保守排除待复核);复核按锚行内容裁定 advisory 入册(锚行行为规范成分、无段级强度词形 advisory 落点)",
41
+ "anchor_evidence": "MASTer 10-engineering-tooling-protocol.md L71-L74「`tools/scripts/validate-governance-factsources.js` 独立断言规划登记表中人工裁决字段的完整性,与生成登记表的工具解耦:」",
42
+ "pool_enforcement_at_seed": "required_when_applicable"
43
+ }
44
+ },
45
+ "id": "POLICY.REGISTRY.HUMAN_FIELDS_VALIDATED_DECORRELATED",
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
+ "human fields independent validation",
59
+ "generator decoupled assertion",
60
+ "no silent overwrite"
61
+ ],
62
+ "applies_when": {
63
+ "lane": "any",
64
+ "condition": "生成器产出含人工裁决字段的登记表",
65
+ "applicability_note": "生成器产出含人工裁决字段的登记表"
66
+ },
67
+ "enforcement": "advisory",
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": "裁定批 F/D3-R1 D3 逐卡复核物化(原 B6B-1 保守排除卡补锚收编);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/FE-G1.yaml",
80
+ "captured_by": "agent:claude/spec-d-consolidation",
81
+ "locator": {
82
+ "candidate": "POLICY.REGISTRY.HUMAN_FIELDS_VALIDATED_DECORRELATED",
83
+ "source_protocol": ".trellis/spec/frontend/10-engineering-tooling-protocol.md",
84
+ "lines": "L71-L74"
85
+ },
86
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
87
+ }
88
+ ],
89
+ "review_notes": [
90
+ "人工字段独立校验在既有 228 条中无对应条目;与 POLICY.TOOL.NO_HAND_EDIT_GENERATED_NO_CI_DRIFT(B6c:生成产物禁手改与门禁双标)相邻——彼管产物手改禁令,本管人工字段与生成器解耦的独立校验义务,互引不合并。",
91
+ "锚落 MASTer 项目扩展段(本地 ESLint 规则与 Registry 校验,FE10 L71-L74)——D3 复核按锚行内容行为规范(生成器覆盖/清空人工字段时独立校验即失败的断言义务)advisory 入册,extra_master_sections 如实登记(池密度序 32.88 为 advisory 补位第 1)。"
92
+ ]
93
+ }
@@ -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)",
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.REL.NO_IRREVERSIBLE_UNMONITORED_FULL_RELEASE",
17
+ "density_rank": "UNIVERSAL",
18
+ "density_score": 31.69,
19
+ "pool_statement_sha16": "8a1636fad0e61115",
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/32-release-versioning-rollback-protocol.md",
39
+ "sha256": "26a6a23928fc24338f69fb34199ecdea5f654e21534a76ac53a7c0b78030b3c8",
40
+ "bytes": 1359
41
+ },
42
+ "seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
43
+ "seed_manifest": "packages/cli/seeds/manifest.json"
44
+ },
45
+ "id": "POLICY.REL.NO_IRREVERSIBLE_UNMONITORED_FULL_RELEASE",
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 irreversible release",
59
+ "no blind full rollout"
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.REL.NO_IRREVERSIBLE_UNMONITORED_FULL_RELEASE",
82
+ "source_protocol": ".trellis/spec/backend/32-release-versioning-rollback-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.GATE.RISK_FACTORS_CONFIRMED(B6b-I 放行面)相邻——彼管阶段放行确认,本管全量发布方式禁令,互引不合并。"
90
+ ]
91
+ }
@@ -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)",
5
+ "proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25 条同因同请,合并进同一 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": "B6b-II FE 播种移植(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": "FE-G1",
16
+ "candidate_id": "POLICY.REL.OBSERVABILITY_BEFORE_SHIP",
17
+ "density_rank": null,
18
+ "density_score": 31.56,
19
+ "pool_statement_sha16": "6e008c994f3f1d7d",
20
+ "curated_rule": "B6b-II 分母(FE 24-45 + index)required 池(ELIGIBLE 未物化 + MASTer 行锚落 MUST/MUST NOT)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 锚段全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
21
+ "denominator": "MASTer(池卡 source_protocol 锚)"
22
+ },
23
+ "x-b6-porting": {
24
+ "status": "PROPOSAL",
25
+ "batch": "B6B-2",
26
+ "human_review_required": true,
27
+ "enforcement_axis": {
28
+ "source_sections": [
29
+ "MUST NOT"
30
+ ],
31
+ "rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
32
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
33
+ },
34
+ "extra_master_sections": [],
35
+ "denominator": "vendor",
36
+ "vendor_pin": {
37
+ "path": "pomaster/components/frontend-hard-spec/assets/universal/33-release-versioning-protocol.md",
38
+ "sha256": "aae0557f4935bac24d04e37ebde5638471b709ff568fea0d13de35bd5dd404af",
39
+ "bytes": 1764
40
+ },
41
+ "seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
42
+ "seed_manifest": "packages/cli/seeds/manifest.json"
43
+ },
44
+ "id": "POLICY.REL.OBSERVABILITY_BEFORE_SHIP",
45
+ "kind": "policy",
46
+ "axis_profile": "policy_default",
47
+ "classification": "UNIVERSAL_POLICY",
48
+ "axes": {
49
+ "lifecycle": "PROPOSED",
50
+ "confidence": "UNRESOLVED",
51
+ "evidence": "PLANNED",
52
+ "change": "STABLE"
53
+ },
54
+ "title_zh": "监控与映射发布前就位",
55
+ "statement_zh": "监控与压缩映射必须在发布前就位,发布后补建被禁止。",
56
+ "statement_en_keywords": [
57
+ "observability before ship",
58
+ "monitoring ready pre release",
59
+ "no post release rebuild"
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": "B6b-II FE 播种移植物化;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/FE-G1.yaml",
79
+ "captured_by": "agent:claude/spec-d-consolidation",
80
+ "locator": {
81
+ "candidate": "POLICY.REL.OBSERVABILITY_BEFORE_SHIP",
82
+ "source_protocol": ".trellis/spec/frontend/33-release-versioning-protocol.md",
83
+ "lines": "L30"
84
+ },
85
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
86
+ }
87
+ ],
88
+ "review_notes": [
89
+ "发布前可观测性就位在既有 168 条中无对应条目;与 POLICY.GATE.RISK_FACTORS_CONFIRMED(B6b-I 放行面)相邻——彼管阶段放行风险确认,本管监控/映射前置物,互引不合并。"
90
+ ]
91
+ }
@@ -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 域段待登记:REL",
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,91 @@
1
+ {
2
+ "x-spec-d-materialization": {
3
+ "status": "PROPOSAL",
4
+ "package": "裁定批 F/D3-R1 排除卡逐卡复核物化(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
5
+ "human_review_required": true,
6
+ "evidence": "PLANNED",
7
+ "provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
8
+ "group": "BE-G1",
9
+ "candidate_id": "POLICY.REL.PROCESS_CHANGE_NEEDS_DRILL_AUDIT",
10
+ "pool_statement_sha16": "7f8bb32c02f2ca05",
11
+ "curated_rule": "D3 逐卡复核批(Owner 2026-09-05 裁定 D3=逐卡复核;72 张保守排除卡逐卡核锚):required 9(D3b source=null 补锚落 MUST/MUST NOT 且与 MASTer 行锚交叉验证)+ advisory 16(Change Policy 锚 14 张降 advisory[行内容含「必须」行为规范、强度只降不升] + 池密度序前 2)= 25(D6 合并上限 policy+TP 合计 25/批内执行;超出 17 张 advisory 留 D3-R2 轮次台账);维持排除 30(Ownership 归属说明族)",
12
+ "denominator": "MASTer(池卡锚)"
13
+ },
14
+ "x-b6-porting": {
15
+ "status": "PROPOSAL",
16
+ "batch": "D3-R1",
17
+ "human_review_required": true,
18
+ "classification_face": "policy",
19
+ "enforcement_axis": {
20
+ "source_sections": [
21
+ "Change Policy"
22
+ ],
23
+ "rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
24
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
25
+ },
26
+ "extra_master_sections": [],
27
+ "denominator": "vendor",
28
+ "vendor_pin": {
29
+ "path": "pomaster/components/backend-hard-spec/assets/universal/32-release-versioning-rollback-protocol.md",
30
+ "sha256": "26a6a23928fc24338f69fb34199ecdea5f654e21534a76ac53a7c0b78030b3c8",
31
+ "bytes": 1359
32
+ },
33
+ "seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
34
+ "seed_manifest": "packages/cli/seeds/manifest.json",
35
+ "d3_review": {
36
+ "excluded_from_batch": "B6C",
37
+ "exclusion_reason_at_seed": "行锚段映射非 MUST/MUST NOT(池 enforcement 判定矛盾,保守排除待复核)",
38
+ "adjudication": "D3 逐卡复核(Owner 2026-09-05 裁定 D3=逐卡复核,裁定批 F 落地 2026-09-05):本卡原属 B6C 保守排除留池(排除理由:行锚段映射非 MUST/MUST NOT(池 enforcement 判定矛盾,保守排除待复核));复核补锚回 vendor/MASTer 源取得行级证据,锚段=Change Policy,按强度入册(行内容含「必须」行为规范、Change Policy 段 advisory 落点(强度只降不升))",
39
+ "anchor_evidence": "MASTer 32-release-versioning-rollback-protocol.md 57「发布流程和阻断门禁变化必须通过演练与审计后生效。」",
40
+ "pool_enforcement_at_seed": "required_when_applicable"
41
+ }
42
+ },
43
+ "id": "POLICY.REL.PROCESS_CHANGE_NEEDS_DRILL_AUDIT",
44
+ "kind": "policy",
45
+ "axis_profile": "policy_default",
46
+ "classification": "UNIVERSAL_POLICY",
47
+ "axes": {
48
+ "lifecycle": "PROPOSED",
49
+ "confidence": "UNRESOLVED",
50
+ "evidence": "PLANNED",
51
+ "change": "STABLE"
52
+ },
53
+ "title_zh": "发布流程变化先演练审计",
54
+ "statement_zh": "发布流程或阻断门禁的变化必须先经演练与审计方可生效。",
55
+ "statement_en_keywords": [
56
+ "release process change",
57
+ "drill",
58
+ "audit"
59
+ ],
60
+ "applies_when": {
61
+ "lane": "any",
62
+ "condition": "修改发布流程或阻断门禁",
63
+ "applicability_note": "修改发布流程或阻断门禁"
64
+ },
65
+ "enforcement": "advisory",
66
+ "authority": {
67
+ "owner": "HUMAN_OWNER",
68
+ "delegates": [],
69
+ "write_policy": "EVOLUTION_CHANNEL",
70
+ "escalation_hint": "catalog-spec-decomposition"
71
+ },
72
+ "origin": "ingested",
73
+ "origin_note": "裁定批 F/D3-R1 D3 逐卡复核物化(原 B6C 保守排除卡补锚收编);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
74
+ "sources": [
75
+ {
76
+ "type": "design_seed",
77
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G1.yaml",
78
+ "captured_by": "agent:claude/spec-d-consolidation",
79
+ "locator": {
80
+ "candidate": "POLICY.REL.PROCESS_CHANGE_NEEDS_DRILL_AUDIT",
81
+ "source_protocol": ".trellis/spec/backend/32-release-versioning-rollback-protocol.md",
82
+ "lines": "57"
83
+ },
84
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
85
+ }
86
+ ],
87
+ "review_notes": [
88
+ "发布流程变化先演练审计在既有 228 条中无对应条目;与 GATE.P0_NON_BYPASSABLE、同批 NO_SILENT_GATE_REMOVAL 门禁变更三域族互引。",
89
+ "Change Policy 锚(MASTer 32 L57)——降 advisory 入册。"
90
+ ]
91
+ }
@@ -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)",
5
+ "proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25 条同因同请,合并进同一 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": "B6b-II FE 播种移植(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": "FE-G1",
16
+ "candidate_id": "POLICY.REL.TRACEABLE_BUILD",
17
+ "density_rank": null,
18
+ "density_score": 32.25,
19
+ "pool_statement_sha16": "9fb83462970907d8",
20
+ "curated_rule": "B6b-II 分母(FE 24-45 + index)required 池(ELIGIBLE 未物化 + MASTer 行锚落 MUST/MUST NOT)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 锚段全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
21
+ "denominator": "MASTer(池卡 source_protocol 锚)"
22
+ },
23
+ "x-b6-porting": {
24
+ "status": "PROPOSAL",
25
+ "batch": "B6B-2",
26
+ "human_review_required": true,
27
+ "enforcement_axis": {
28
+ "source_sections": [
29
+ "MUST",
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/frontend-hard-spec/assets/universal/33-release-versioning-protocol.md",
39
+ "sha256": "aae0557f4935bac24d04e37ebde5638471b709ff568fea0d13de35bd5dd404af",
40
+ "bytes": 1764
41
+ },
42
+ "seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
43
+ "seed_manifest": "packages/cli/seeds/manifest.json"
44
+ },
45
+ "id": "POLICY.REL.TRACEABLE_BUILD",
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
+ "traceable build",
59
+ "version identifier",
60
+ "source commit traceability",
61
+ "no unlabeled release"
62
+ ],
63
+ "applies_when": {
64
+ "lane": "any",
65
+ "condition": "任何发布构建",
66
+ "applicability_note": "任何发布构建"
67
+ },
68
+ "enforcement": "required_when_applicable",
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": "B6b-II FE 播种移植物化;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/FE-G1.yaml",
81
+ "captured_by": "agent:claude/spec-d-consolidation",
82
+ "locator": {
83
+ "candidate": "POLICY.REL.TRACEABLE_BUILD",
84
+ "source_protocol": ".trellis/spec/frontend/33-release-versioning-protocol.md",
85
+ "lines": "L19, L27"
86
+ },
87
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
88
+ }
89
+ ],
90
+ "review_notes": [
91
+ "构建可溯源性在既有 168 条中无对应条目;与 POLICY.DEP.BUILD_PATH_SUPPLY_CHAIN(B6b-I)不同轴——彼管构建链路供应链治理,本管产物溯源标识,互引不合并。"
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 域段待登记:ROLE",
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)",
5
+ "proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25 条同因同请,合并进同一 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": "B6b-I FE 播种移植(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": "FE-G1",
16
+ "candidate_id": "POLICY.ROLE.HUMAN_SIGNS_FOR_AI",
17
+ "density_rank": null,
18
+ "density_score": 32.44,
19
+ "pool_statement_sha16": "3ee20d0e002e6f9c",
20
+ "curated_rule": "B6b-I 分母(FE 01-23)required 池(ELIGIBLE 未物化)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡)按同公式密度序取前 3 = 25(D5 上限);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
21
+ "denominator": "MASTer(池卡 source_protocol 锚)"
22
+ },
23
+ "x-b6-porting": {
24
+ "status": "PROPOSAL",
25
+ "batch": "B6B-1",
26
+ "human_review_required": true,
27
+ "enforcement_axis": {
28
+ "source_sections": [
29
+ "MUST",
30
+ "MUST NOT",
31
+ "Checklist"
32
+ ],
33
+ "rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
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/frontend-hard-spec/assets/universal/08-role-responsibility-protocol.md",
40
+ "sha256": "732ac305cd16207e4a7bd4c95a6774d1aca33fb4e45cf29991ac0f6475605d6f",
41
+ "bytes": 1894
42
+ },
43
+ "seeded_spec": ".pomaster/specs/hard/themes/task-governance-and-acceptance.md",
44
+ "seed_manifest": "packages/cli/seeds/manifest.json"
45
+ },
46
+ "id": "POLICY.ROLE.HUMAN_SIGNS_FOR_AI",
47
+ "kind": "policy",
48
+ "axis_profile": "policy_default",
49
+ "classification": "UNIVERSAL_POLICY",
50
+ "axes": {
51
+ "lifecycle": "PROPOSED",
52
+ "confidence": "UNRESOLVED",
53
+ "evidence": "PLANNED",
54
+ "change": "STABLE"
55
+ },
56
+ "title_zh": "AI 产出人类签核",
57
+ "statement_zh": "AI 产出必须由人类责任人复核;AI 不得担任任何放行、业务、合规或上线签字角色。",
58
+ "statement_en_keywords": [
59
+ "human signs for ai",
60
+ "ai cannot approve",
61
+ "no release sign off by ai"
62
+ ],
63
+ "applies_when": {
64
+ "lane": "any",
65
+ "condition": "AI 参与的任何产出与决策",
66
+ "applicability_note": "AI 参与的任何产出与决策"
67
+ },
68
+ "enforcement": "required_when_applicable",
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": "B6b-I FE 播种移植物化;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/FE-G1.yaml",
81
+ "captured_by": "agent:claude/spec-d-consolidation",
82
+ "locator": {
83
+ "candidate": "POLICY.ROLE.HUMAN_SIGNS_FOR_AI",
84
+ "source_protocol": ".trellis/spec/frontend/08-role-responsibility-protocol.md",
85
+ "lines": "L24, L31, L50"
86
+ },
87
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
88
+ }
89
+ ],
90
+ "review_notes": [
91
+ "与既有 POLICY.ROLE.DOMAIN_DECISION_AUTHORITY(领域决定权不越位)不同轴:本条管 AI 产出的人类签核义务,零语义重复。"
92
+ ]
93
+ }