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,97 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:DEPLOY",
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-G4",
16
+ "candidate_id": "POLICY.DEPLOY.RUNTIME_FACT_RECORD",
17
+ "density_rank": "UNIVERSAL",
18
+ "density_score": 11.19,
19
+ "pool_statement_sha16": "ecea52aa3de42c27",
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/31-runtime-deployment-protocol.md",
39
+ "sha256": "c791451de0be3aa0629fd562e2b43cc54066e4b10d786264fa7a333c561ef23a",
40
+ "bytes": 1410
41
+ },
42
+ "seeded_spec": ".pomaster/specs/hard/themes/integration-and-async-runtime.md",
43
+ "seed_manifest": "packages/cli/seeds/manifest.json"
44
+ },
45
+ "id": "POLICY.DEPLOY.RUNTIME_FACT_RECORD",
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
+ "runtime fact record",
59
+ "packaging",
60
+ "startup",
61
+ "port",
62
+ "protocol",
63
+ "instance topology",
64
+ "state dependency",
65
+ "config source"
66
+ ],
67
+ "applies_when": {
68
+ "lane": "backend",
69
+ "condition": "交付任何可部署单元",
70
+ "applicability_note": "交付任何可部署单元"
71
+ },
72
+ "enforcement": "required_when_applicable",
73
+ "authority": {
74
+ "owner": "HUMAN_OWNER",
75
+ "delegates": [],
76
+ "write_policy": "EVOLUTION_CHANNEL",
77
+ "escalation_hint": "catalog-spec-decomposition"
78
+ },
79
+ "origin": "ingested",
80
+ "origin_note": "B6c BE 播种移植物化;statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
81
+ "sources": [
82
+ {
83
+ "type": "design_seed",
84
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G4.yaml",
85
+ "captured_by": "agent:claude/spec-d-consolidation",
86
+ "locator": {
87
+ "candidate": "POLICY.DEPLOY.RUNTIME_FACT_RECORD",
88
+ "source_protocol": ".trellis/spec/backend/31-runtime-deployment-protocol.md",
89
+ "lines": ""
90
+ },
91
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
92
+ }
93
+ ],
94
+ "review_notes": [
95
+ "运行时事实七类记录在既有 193 条中无对应条目(CFG.SCHEMA_BACKED_CONFIG 管配置结构化),零语义重复。"
96
+ ]
97
+ }
@@ -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 域段待登记:DERIVED",
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,101 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "id 域段待登记:ERR(vocab-lock@v0.8-resolved policy_id_domains 32 段未含——PR-0009 后新用域段沿用候选注记先例,词汇表 PR 增补)",
5
+ "proposal": "词汇表 PR 增补新 id 域段至 catalog_layer_vocab.policy_id_domains(与 PR-0009 同轴追加,append-only)",
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0010 增补落地(vocab-lock@v0.9-resolved,append-only 纯增量;Owner 2026-09-05 第二轮裁定开放项 2 全做——裁定批 G 收尾批):AUTHZ/PRV/ERR 三 id 域段随 catalog_layer_vocab.policy_id_domains 扩值收编(32→35 段,与 PR-0009 同轴追加,词值零改动);本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
8
+ },
9
+ "x-spec-d-materialization": {
10
+ "status": "PROPOSAL",
11
+ "package": "裁定批 F/D3-R1 排除卡逐卡复核物化(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-G2",
16
+ "candidate_id": "POLICY.ERR.FAILURE_FIVE_PART_MAPPING",
17
+ "pool_statement_sha16": "740894a55867b725",
18
+ "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 归属说明族)",
19
+ "denominator": "MASTer(池卡锚)"
20
+ },
21
+ "x-b6-porting": {
22
+ "status": "PROPOSAL",
23
+ "batch": "D3-R1",
24
+ "human_review_required": true,
25
+ "classification_face": "policy",
26
+ "enforcement_axis": {
27
+ "source_sections": [
28
+ "MUST"
29
+ ],
30
+ "rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
31
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
32
+ },
33
+ "extra_master_sections": [],
34
+ "denominator": "vendor",
35
+ "vendor_pin": {
36
+ "path": "pomaster/components/backend-hard-spec/assets/universal/16-error-code-protocol.md",
37
+ "sha256": "aa80ee60f7431e14859f61e563784e71b2002f35e220964170a779800fdde090",
38
+ "bytes": 1298
39
+ },
40
+ "seeded_spec": ".pomaster/specs/hard/themes/api-contract-and-error-semantics.md",
41
+ "seed_manifest": "packages/cli/seeds/manifest.json",
42
+ "d3_review": {
43
+ "excluded_from_batch": "B6C",
44
+ "exclusion_reason_at_seed": "卡层 source=null(锚证据不足),保守排除待复核",
45
+ "adjudication": "D3 逐卡复核(Owner 2026-09-05 裁定 D3=逐卡复核,裁定批 F 落地 2026-09-05):本卡原属 B6C 保守排除留池(排除理由:卡层 source=null(锚证据不足),保守排除待复核);复核补锚回 vendor/MASTer 源取得行级证据,锚段=MUST,按强度入册(MUST/MUST NOT 行锚 required 原样)",
46
+ "anchor_evidence": "MASTer 16-error-code-protocol.md 25「- 失败必须映射到稳定 code、适当状态、可选字段错误、retryable 与 TraceId。」",
47
+ "pool_enforcement_at_seed": "required_when_applicable"
48
+ }
49
+ },
50
+ "id": "POLICY.ERR.FAILURE_FIVE_PART_MAPPING",
51
+ "kind": "policy",
52
+ "axis_profile": "policy_default",
53
+ "classification": "UNIVERSAL_POLICY",
54
+ "axes": {
55
+ "lifecycle": "PROPOSED",
56
+ "confidence": "UNRESOLVED",
57
+ "evidence": "PLANNED",
58
+ "change": "STABLE"
59
+ },
60
+ "title_zh": "失败响应五成分构成",
61
+ "statement_zh": "每一次失败响应必须由五个成分构成:稳定的机器错误码、恰当的状态码、(如适用)字段级错误明细、是否可重试的标记、全链路 TraceId。",
62
+ "statement_en_keywords": [
63
+ "failure mapping",
64
+ "stable code",
65
+ "status",
66
+ "field errors",
67
+ "retryable flag",
68
+ "trace id"
69
+ ],
70
+ "applies_when": {
71
+ "lane": "backend",
72
+ "condition": "构造任何失败响应",
73
+ "applicability_note": "构造任何失败响应"
74
+ },
75
+ "enforcement": "required_when_applicable",
76
+ "authority": {
77
+ "owner": "HUMAN_OWNER",
78
+ "delegates": [],
79
+ "write_policy": "EVOLUTION_CHANNEL",
80
+ "escalation_hint": "catalog-spec-decomposition"
81
+ },
82
+ "origin": "ingested",
83
+ "origin_note": "裁定批 F/D3-R1 D3 逐卡复核物化(原 B6C 保守排除卡补锚收编);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
84
+ "sources": [
85
+ {
86
+ "type": "design_seed",
87
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G2.yaml",
88
+ "captured_by": "agent:claude/spec-d-consolidation",
89
+ "locator": {
90
+ "candidate": "POLICY.ERR.FAILURE_FIVE_PART_MAPPING",
91
+ "source_protocol": ".trellis/spec/backend/16-error-code-protocol.md",
92
+ "lines": "25"
93
+ },
94
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
95
+ }
96
+ ],
97
+ "review_notes": [
98
+ "失败响应五成分在既有 228 条中无对应条目(ERR 域段本批新用,待词汇表 PR;knowledge.api.example_stable_error_code 为示例知识非规则本体);与同批 NO_INTERNAL_DETAIL_EXPOSURE 同协议正交(响应构成 vs 泄露禁令),互引。",
99
+ "D3b 补锚:MASTer 16-error-code-protocol.md L25(MUST 段)。"
100
+ ]
101
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "id 域段待登记:ERR(vocab-lock@v0.8-resolved policy_id_domains 32 段未含——PR-0009 后新用域段沿用候选注记先例,词汇表 PR 增补)",
5
+ "proposal": "词汇表 PR 增补新 id 域段至 catalog_layer_vocab.policy_id_domains(与 PR-0009 同轴追加,append-only)",
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0010 增补落地(vocab-lock@v0.9-resolved,append-only 纯增量;Owner 2026-09-05 第二轮裁定开放项 2 全做——裁定批 G 收尾批):AUTHZ/PRV/ERR 三 id 域段随 catalog_layer_vocab.policy_id_domains 扩值收编(32→35 段,与 PR-0009 同轴追加,词值零改动);本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
8
+ },
9
+ "x-spec-d-materialization": {
10
+ "status": "PROPOSAL",
11
+ "package": "裁定批 F/D3-R1 排除卡逐卡复核物化(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-G2",
16
+ "candidate_id": "POLICY.ERR.NO_INTERNAL_DETAIL_EXPOSURE",
17
+ "pool_statement_sha16": "464dc02c840c02f0",
18
+ "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 归属说明族)",
19
+ "denominator": "MASTer(池卡锚)"
20
+ },
21
+ "x-b6-porting": {
22
+ "status": "PROPOSAL",
23
+ "batch": "D3-R1",
24
+ "human_review_required": true,
25
+ "classification_face": "policy",
26
+ "enforcement_axis": {
27
+ "source_sections": [
28
+ "MUST NOT"
29
+ ],
30
+ "rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
31
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
32
+ },
33
+ "extra_master_sections": [],
34
+ "denominator": "vendor",
35
+ "vendor_pin": {
36
+ "path": "pomaster/components/backend-hard-spec/assets/universal/16-error-code-protocol.md",
37
+ "sha256": "aa80ee60f7431e14859f61e563784e71b2002f35e220964170a779800fdde090",
38
+ "bytes": 1298
39
+ },
40
+ "seeded_spec": ".pomaster/specs/hard/themes/api-contract-and-error-semantics.md",
41
+ "seed_manifest": "packages/cli/seeds/manifest.json",
42
+ "d3_review": {
43
+ "excluded_from_batch": "B6C",
44
+ "exclusion_reason_at_seed": "卡层 source=null(锚证据不足),保守排除待复核",
45
+ "adjudication": "D3 逐卡复核(Owner 2026-09-05 裁定 D3=逐卡复核,裁定批 F 落地 2026-09-05):本卡原属 B6C 保守排除留池(排除理由:卡层 source=null(锚证据不足),保守排除待复核);复核补锚回 vendor/MASTer 源取得行级证据,锚段=MUST NOT,按强度入册(MUST/MUST NOT 行锚 required 原样)",
46
+ "anchor_evidence": "MASTer 16-error-code-protocol.md 29「- 不得向调用方返回堆栈、SQL、secret 或不稳定内部异常文本。」",
47
+ "pool_enforcement_at_seed": "required_when_applicable"
48
+ }
49
+ },
50
+ "id": "POLICY.ERR.NO_INTERNAL_DETAIL_EXPOSURE",
51
+ "kind": "policy",
52
+ "axis_profile": "policy_default",
53
+ "classification": "UNIVERSAL_POLICY",
54
+ "axes": {
55
+ "lifecycle": "PROPOSED",
56
+ "confidence": "UNRESOLVED",
57
+ "evidence": "PLANNED",
58
+ "change": "STABLE"
59
+ },
60
+ "title_zh": "错误响应禁内部细节泄露",
61
+ "statement_zh": "堆栈文本、SQL 语句、secret、不稳定的内部异常原文——任何一样都不允许出现在给调用方的响应里。",
62
+ "statement_en_keywords": [
63
+ "no internal detail exposure",
64
+ "stack/sql/secret/raw exception forbidden in responses"
65
+ ],
66
+ "applies_when": {
67
+ "lane": "backend",
68
+ "condition": "错误响应出站方向",
69
+ "applicability_note": "错误响应出站方向"
70
+ },
71
+ "enforcement": "required_when_applicable",
72
+ "authority": {
73
+ "owner": "HUMAN_OWNER",
74
+ "delegates": [],
75
+ "write_policy": "EVOLUTION_CHANNEL",
76
+ "escalation_hint": "catalog-spec-decomposition"
77
+ },
78
+ "origin": "ingested",
79
+ "origin_note": "裁定批 F/D3-R1 D3 逐卡复核物化(原 B6C 保守排除卡补锚收编);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
80
+ "sources": [
81
+ {
82
+ "type": "design_seed",
83
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G2.yaml",
84
+ "captured_by": "agent:claude/spec-d-consolidation",
85
+ "locator": {
86
+ "candidate": "POLICY.ERR.NO_INTERNAL_DETAIL_EXPOSURE",
87
+ "source_protocol": ".trellis/spec/backend/16-error-code-protocol.md",
88
+ "lines": "29"
89
+ },
90
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
91
+ }
92
+ ],
93
+ "review_notes": [
94
+ "内部细节泄露禁令在既有 228 条中无对应条目;与同批 FAILURE_FIVE_PART_MAPPING 互引。",
95
+ "D3b 补锚:MASTer 16-error-code-protocol.md L29(MUST NOT 段)。"
96
+ ]
97
+ }
@@ -0,0 +1,98 @@
1
+ {
2
+ "x-vocab-pr": {
3
+ "status": "vocab_pr_candidate",
4
+ "finding": "id 域段待登记:ERR(vocab-lock@v0.8-resolved policy_id_domains 32 段未含——PR-0009 后新用域段沿用候选注记先例,词汇表 PR 增补)",
5
+ "proposal": "词汇表 PR 增补新 id 域段至 catalog_layer_vocab.policy_id_domains(与 PR-0009 同轴追加,append-only)",
6
+ "locked_vocab_untouched": true,
7
+ "resolution": "2026-09-05 vocab PR-0010 增补落地(vocab-lock@v0.9-resolved,append-only 纯增量;Owner 2026-09-05 第二轮裁定开放项 2 全做——裁定批 G 收尾批):AUTHZ/PRV/ERR 三 id 域段随 catalog_layer_vocab.policy_id_domains 扩值收编(32→35 段,与 PR-0009 同轴追加,词值零改动);本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
8
+ },
9
+ "x-spec-d-materialization": {
10
+ "status": "PROPOSAL",
11
+ "package": "裁定批 F/D3-R1 排除卡逐卡复核物化(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-G2",
16
+ "candidate_id": "POLICY.ERR.PUBLISHED_CODE_IMMUTABLE",
17
+ "pool_statement_sha16": "1e0410b87b1a0fe1",
18
+ "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 归属说明族)",
19
+ "denominator": "MASTer(池卡锚)"
20
+ },
21
+ "x-b6-porting": {
22
+ "status": "PROPOSAL",
23
+ "batch": "D3-R1",
24
+ "human_review_required": true,
25
+ "classification_face": "policy",
26
+ "enforcement_axis": {
27
+ "source_sections": [
28
+ "Change Policy"
29
+ ],
30
+ "rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
31
+ "asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
32
+ },
33
+ "extra_master_sections": [],
34
+ "denominator": "vendor",
35
+ "vendor_pin": {
36
+ "path": "pomaster/components/backend-hard-spec/assets/universal/16-error-code-protocol.md",
37
+ "sha256": "aa80ee60f7431e14859f61e563784e71b2002f35e220964170a779800fdde090",
38
+ "bytes": 1298
39
+ },
40
+ "seeded_spec": ".pomaster/specs/hard/themes/api-contract-and-error-semantics.md",
41
+ "seed_manifest": "packages/cli/seeds/manifest.json",
42
+ "d3_review": {
43
+ "excluded_from_batch": "B6C",
44
+ "exclusion_reason_at_seed": "卡层 source=null(锚证据不足),保守排除待复核",
45
+ "adjudication": "D3 逐卡复核(Owner 2026-09-05 裁定 D3=逐卡复核,裁定批 F 落地 2026-09-05):本卡原属 B6C 保守排除留池(排除理由:卡层 source=null(锚证据不足),保守排除待复核);复核补锚回 vendor/MASTer 源取得行级证据,锚段=Change Policy,按强度入册(行内容含「必须」行为规范、Change Policy 段 advisory 落点(强度只降不升))",
46
+ "anchor_evidence": "MASTer 16-error-code-protocol.md 57「已发布错误码不得复用;废弃必须保留兼容说明。」",
47
+ "pool_enforcement_at_seed": "required_when_applicable"
48
+ }
49
+ },
50
+ "id": "POLICY.ERR.PUBLISHED_CODE_IMMUTABLE",
51
+ "kind": "policy",
52
+ "axis_profile": "policy_default",
53
+ "classification": "UNIVERSAL_POLICY",
54
+ "axes": {
55
+ "lifecycle": "PROPOSED",
56
+ "confidence": "UNRESOLVED",
57
+ "evidence": "PLANNED",
58
+ "change": "STABLE"
59
+ },
60
+ "title_zh": "已发布错误码不复用",
61
+ "statement_zh": "已对外发布的错误码永不回收复用;进入废弃流程时必须随附兼容说明,让存量调用方有据可依。",
62
+ "statement_en_keywords": [
63
+ "published error code immutable",
64
+ "no reuse",
65
+ "deprecation with compatibility notes"
66
+ ],
67
+ "applies_when": {
68
+ "lane": "backend",
69
+ "condition": "废弃或更换错误码",
70
+ "applicability_note": "废弃或更换错误码"
71
+ },
72
+ "enforcement": "advisory",
73
+ "authority": {
74
+ "owner": "HUMAN_OWNER",
75
+ "delegates": [],
76
+ "write_policy": "EVOLUTION_CHANNEL",
77
+ "escalation_hint": "catalog-spec-decomposition"
78
+ },
79
+ "origin": "ingested",
80
+ "origin_note": "裁定批 F/D3-R1 D3 逐卡复核物化(原 B6C 保守排除卡补锚收编);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
81
+ "sources": [
82
+ {
83
+ "type": "design_seed",
84
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G2.yaml",
85
+ "captured_by": "agent:claude/spec-d-consolidation",
86
+ "locator": {
87
+ "candidate": "POLICY.ERR.PUBLISHED_CODE_IMMUTABLE",
88
+ "source_protocol": ".trellis/spec/backend/16-error-code-protocol.md",
89
+ "lines": "57"
90
+ },
91
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
92
+ }
93
+ ],
94
+ "review_notes": [
95
+ "已发布错误码不复用在既有 228 条中无对应条目;与 B6b-II WEB.COPY.ERROR_NEXT_STEP(错误文案三要素)不同轴;废弃兼容窗口与 knowledge.chg.example_compat_window 示例知识不同层。",
96
+ "Change Policy 锚(MASTer 16 L57)——降 advisory 入册。"
97
+ ]
98
+ }
@@ -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 域段待登记:EVID",
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.EVID.ACCEPTANCE_BINDS_VERIFIABLE_EVIDENCE",
17
+ "density_rank": "UNIVERSAL",
18
+ "density_score": 31.94,
19
+ "pool_statement_sha16": "87b9508ce3176f06",
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/07-evidence-acceptance-protocol.md",
39
+ "sha256": "fb86312eaadaec81d21e20abfb979e0127138002731ddc4fb1ead9ec90cd10bb",
40
+ "bytes": 1280
41
+ },
42
+ "seeded_spec": ".pomaster/specs/hard/themes/task-governance-and-acceptance.md",
43
+ "seed_manifest": "packages/cli/seeds/manifest.json"
44
+ },
45
+ "id": "POLICY.EVID.ACCEPTANCE_BINDS_VERIFIABLE_EVIDENCE",
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
+ "acceptance binding",
59
+ "review range",
60
+ "verifiable evidence"
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.EVID.ACCEPTANCE_BINDS_VERIFIABLE_EVIDENCE",
83
+ "source_protocol": ".trellis/spec/backend/07-evidence-acceptance-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 条中无对应条目(GATE.RISK_FACTORS_CONFIRMED 管放行风险确认,非验收证据绑定),零语义重复。"
91
+ ]
92
+ }
@@ -0,0 +1,90 @@
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.EVID.NO_SILENT_GATE_REMOVAL",
10
+ "pool_statement_sha16": "14d6464331e9f1ad",
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/07-evidence-acceptance-protocol.md",
30
+ "sha256": "fb86312eaadaec81d21e20abfb979e0127138002731ddc4fb1ead9ec90cd10bb",
31
+ "bytes": 1280
32
+ },
33
+ "seeded_spec": ".pomaster/specs/hard/themes/task-governance-and-acceptance.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 07-evidence-acceptance-protocol.md 57「降低证据要求必须作为受控例外记录,不得静默删除门禁。」",
40
+ "pool_enforcement_at_seed": "required_when_applicable"
41
+ }
42
+ },
43
+ "id": "POLICY.EVID.NO_SILENT_GATE_REMOVAL",
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
+ "controlled exception",
57
+ "no silent gate removal"
58
+ ],
59
+ "applies_when": {
60
+ "lane": "any",
61
+ "condition": "拟降低任何证据要求",
62
+ "applicability_note": "拟降低任何证据要求"
63
+ },
64
+ "enforcement": "advisory",
65
+ "authority": {
66
+ "owner": "HUMAN_OWNER",
67
+ "delegates": [],
68
+ "write_policy": "EVOLUTION_CHANNEL",
69
+ "escalation_hint": "catalog-spec-decomposition"
70
+ },
71
+ "origin": "ingested",
72
+ "origin_note": "裁定批 F/D3-R1 D3 逐卡复核物化(原 B6C 保守排除卡补锚收编);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
73
+ "sources": [
74
+ {
75
+ "type": "design_seed",
76
+ "ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G1.yaml",
77
+ "captured_by": "agent:claude/spec-d-consolidation",
78
+ "locator": {
79
+ "candidate": "POLICY.EVID.NO_SILENT_GATE_REMOVAL",
80
+ "source_protocol": ".trellis/spec/backend/07-evidence-acceptance-protocol.md",
81
+ "lines": "57"
82
+ },
83
+ "clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
84
+ }
85
+ ],
86
+ "review_notes": [
87
+ "证据要求降低须受控例外在既有 228 条中无对应条目;与 B6b-I GATE.P0_NON_BYPASSABLE(绕过禁令)、同批 REL.PROCESS_CHANGE_NEEDS_DRILL_AUDIT(发布门禁变化)构成门禁变更三域族,互引不合并。",
88
+ "Change Policy 锚(MASTer 07 L57)——降 advisory 入册。"
89
+ ]
90
+ }