pomaster 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/README.md +9 -10
  2. package/catalog/archetypes/archetype.frontend.error_taxonomy.json +13 -5
  3. package/catalog/archetypes/archetype.frontend.feature_oriented.json +1 -1
  4. package/catalog/archetypes/archetype.state.async_command.json +4 -4
  5. package/catalog/catalog-lock.draft.json +1120 -104
  6. package/catalog/gates/gate.be.api.contract_checks.json +2 -1
  7. package/catalog/gates/gate.be.chg.contract_change_checks.json +2 -1
  8. package/catalog/gates/gate.chg.prechange_checks.json +2 -1
  9. package/catalog/gates/gate.web.api.request_checks.json +2 -1
  10. package/catalog/gates/gate.web.grid.checks.json +2 -1
  11. package/catalog/knowledge/knowledge.api.example_stable_error_code.json +2 -1
  12. package/catalog/knowledge/knowledge.chg.example_compat_window.json +2 -1
  13. package/catalog/knowledge/knowledge.chg.example_prop_migration.json +2 -1
  14. package/catalog/knowledge/knowledge.fp.api.field_drift_no_contract.json +2 -1
  15. package/catalog/knowledge/knowledge.fp.api.per_page_http_client.json +2 -1
  16. package/catalog/knowledge/knowledge.fp.be.contract_drift.json +2 -1
  17. package/catalog/knowledge/knowledge.fp.chg.page_local_padding.json +2 -1
  18. package/catalog/knowledge/knowledge.fp.grid.global_td_width.json +2 -1
  19. package/catalog/knowledge/knowledge.web.api.example_get_entity_list.json +2 -1
  20. package/catalog/knowledge/knowledge.web.grid.example_column_preset.json +2 -1
  21. package/catalog/policies/authority.be.api_contract_ownership.json +2 -1
  22. package/catalog/policies/authority.be.contract_ownership.json +2 -1
  23. package/catalog/policies/authority.chg.change_owners.json +2 -1
  24. package/catalog/policies/authority.web.api.request_owners.json +2 -1
  25. package/catalog/policies/authority.web.grid.ownership.json +2 -1
  26. package/catalog/policies/policy.ai.change_plan_first.json +91 -0
  27. package/catalog/policies/policy.ai.fact_inference_separation.json +91 -0
  28. package/catalog/policies/policy.ai.read_search_verify_before_write.json +92 -0
  29. package/catalog/policies/policy.ai.rule_relaxation_approval.json +91 -0
  30. package/catalog/policies/policy.api.backward_compat_defaults.json +2 -1
  31. package/catalog/policies/policy.api.contract_impl_consistency.json +2 -1
  32. package/catalog/policies/policy.api.no_informal_contract.json +2 -1
  33. package/catalog/policies/policy.arch.adr_immutable_history.json +91 -0
  34. package/catalog/policies/policy.arch.decision_tradeoff_record.json +2 -1
  35. package/catalog/policies/policy.arch.no_convenience_over_boundary.json +93 -0
  36. package/catalog/policies/policy.arch.prefer_verifiable_option.json +92 -0
  37. package/catalog/policies/policy.authz.no_gating_proxy_trust.json +99 -0
  38. package/catalog/policies/policy.authz.permission_scope_expansion_gate.json +99 -0
  39. package/catalog/policies/policy.authz.server_five_factor_verification.json +101 -0
  40. package/catalog/policies/policy.be.conc.prefer_db_constraints.json +97 -0
  41. package/catalog/policies/policy.be.db.expand_migrate_contract.json +97 -0
  42. package/catalog/policies/policy.be.idem.key_payload_conflict.json +97 -0
  43. package/catalog/policies/policy.be.model.single_boundary_conversion.json +97 -0
  44. package/catalog/policies/policy.be.sql.index_for_known_queries.json +97 -0
  45. package/catalog/policies/policy.be.state.single_rule_source.json +97 -0
  46. package/catalog/policies/policy.be.txn.short_locks_compensation.json +96 -0
  47. package/catalog/policies/policy.bound.search_first_entry_only.json +91 -0
  48. package/catalog/policies/policy.boundary.validate_in_encode_out.json +92 -0
  49. package/catalog/policies/policy.cache.failure_mode_guards.json +93 -0
  50. package/catalog/policies/policy.cache.lifecycle_definition.json +2 -1
  51. package/catalog/policies/policy.cache.schema_versioning.json +91 -0
  52. package/catalog/policies/policy.cfg.config_attribute_completeness.json +95 -0
  53. package/catalog/policies/policy.cfg.key_rename_dual_read.json +92 -0
  54. package/catalog/policies/policy.cfg.no_secret_dispersal.json +90 -0
  55. package/catalog/policies/policy.cfg.production_safe_defaults.json +92 -0
  56. package/catalog/policies/policy.cfg.schema_backed_config.json +92 -0
  57. package/catalog/policies/policy.chg.affect_templates.json +2 -1
  58. package/catalog/policies/policy.chg.breaking_versioning.json +2 -1
  59. package/catalog/policies/policy.chg.compat_migration_rollback.json +2 -1
  60. package/catalog/policies/policy.chg.deprecate_before_delete.json +2 -1
  61. package/catalog/policies/policy.chg.fix_at_root_cause_level.json +2 -1
  62. package/catalog/policies/policy.chg.no_unrelated_changes.json +91 -0
  63. package/catalog/policies/policy.chg.observable_evolution.json +2 -1
  64. package/catalog/policies/policy.chg.prechange_consumer_scan.json +2 -1
  65. package/catalog/policies/policy.chg.staged_rollout.json +2 -1
  66. package/catalog/policies/policy.chg.sync_contract_docs_tests.json +2 -1
  67. package/catalog/policies/policy.conflict.priority_ladder.json +2 -1
  68. package/catalog/policies/policy.contract.no_invented_facts.json +93 -0
  69. package/catalog/policies/policy.dep.admission_six_dimension_check.json +2 -1
  70. package/catalog/policies/policy.dep.build_path_supply_chain.json +93 -0
  71. package/catalog/policies/policy.dep.change_surface_review.json +2 -1
  72. package/catalog/policies/policy.dep.introduction_review.json +2 -1
  73. package/catalog/policies/policy.dep.no_untrusted_source_no_lock_bypass.json +92 -0
  74. package/catalog/policies/policy.dep.time_boxed_urgent_exception.json +91 -0
  75. package/catalog/policies/policy.deploy.no_dev_env_as_production_fact.json +91 -0
  76. package/catalog/policies/policy.deploy.operational_capabilities.json +93 -0
  77. package/catalog/policies/policy.deploy.runtime_fact_record.json +97 -0
  78. package/catalog/policies/policy.derived.single_implementation.json +2 -1
  79. package/catalog/policies/policy.err.failure_five_part_mapping.json +101 -0
  80. package/catalog/policies/policy.err.no_internal_detail_exposure.json +97 -0
  81. package/catalog/policies/policy.err.published_code_immutable.json +98 -0
  82. package/catalog/policies/policy.evid.acceptance_binds_verifiable_evidence.json +92 -0
  83. package/catalog/policies/policy.evid.no_silent_gate_removal.json +90 -0
  84. package/catalog/policies/policy.evid.no_unverifiable_pass.json +92 -0
  85. package/catalog/policies/policy.flag.cleanup_after_full_rollout.json +94 -0
  86. package/catalog/policies/policy.flag.consistent_off_state.json +92 -0
  87. package/catalog/policies/policy.flag.kill_switch.json +91 -0
  88. package/catalog/policies/policy.flag.lifecycle_metadata.json +93 -0
  89. package/catalog/policies/policy.flag.not_a_permission.json +92 -0
  90. package/catalog/policies/policy.gate.p0_non_bypassable.json +92 -0
  91. package/catalog/policies/policy.gate.risk_factors_confirmed.json +93 -0
  92. package/catalog/policies/policy.guard.no_check_weakening.json +92 -0
  93. package/catalog/policies/policy.integration.call_definition_minimum.json +95 -0
  94. package/catalog/policies/policy.integration.fault_containment.json +94 -0
  95. package/catalog/policies/policy.job.lifecycle_definition.json +96 -0
  96. package/catalog/policies/policy.job.no_unmanaged_execution.json +92 -0
  97. package/catalog/policies/policy.job.operational_features.json +93 -0
  98. package/catalog/policies/policy.obs.actionable_signals.json +93 -0
  99. package/catalog/policies/policy.obs.alert_with_owner.json +91 -0
  100. package/catalog/policies/policy.obs.context_field_baseline.json +91 -0
  101. package/catalog/policies/policy.obs.correlation_context_minimum.json +2 -1
  102. package/catalog/policies/policy.obs.no_sensitive_or_unbounded_logging.json +92 -0
  103. package/catalog/policies/policy.obs.no_sensitive_raw_values.json +93 -0
  104. package/catalog/policies/policy.obs.rum_dimension_whitelist.json +2 -1
  105. package/catalog/policies/policy.obs.signal_change_impact.json +91 -0
  106. package/catalog/policies/policy.obs.source_map_access_control.json +92 -0
  107. package/catalog/policies/policy.obs.telemetry_lifecycle_declared.json +93 -0
  108. package/catalog/policies/policy.obs.trace_correlation.json +91 -0
  109. package/catalog/policies/policy.perf.budget_change_retest.json +91 -0
  110. package/catalog/policies/policy.perf.evidence_binding.json +95 -0
  111. package/catalog/policies/policy.perf.observation_dimensions.json +94 -0
  112. package/catalog/policies/policy.proc.checklist_change_policy.json +91 -0
  113. package/catalog/policies/policy.proc.pre_code_declaration.json +2 -1
  114. package/catalog/policies/policy.proc.scope_drift_reclassify.json +91 -0
  115. package/catalog/policies/policy.prv.processing_scope_re_review.json +97 -0
  116. package/catalog/policies/policy.prv.sensitive_data_six_facts.json +102 -0
  117. package/catalog/policies/policy.registry.human_fields_validated_decorrelated.json +93 -0
  118. package/catalog/policies/policy.rel.no_irreversible_unmonitored_full_release.json +91 -0
  119. package/catalog/policies/policy.rel.observability_before_ship.json +91 -0
  120. package/catalog/policies/policy.rel.pre_release_confirmation.json +2 -1
  121. package/catalog/policies/policy.rel.process_change_needs_drill_audit.json +91 -0
  122. package/catalog/policies/policy.rel.traceable_build.json +93 -0
  123. package/catalog/policies/policy.role.domain_decision_authority.json +2 -1
  124. package/catalog/policies/policy.role.human_signs_for_ai.json +93 -0
  125. package/catalog/policies/policy.sec.authn_policy_unified.json +91 -0
  126. package/catalog/policies/policy.sec.no_client_side_trust.json +92 -0
  127. package/catalog/policies/policy.sec.no_longterm_security_disable.json +91 -0
  128. package/catalog/policies/policy.sec.no_script_readable_credentials.json +91 -0
  129. package/catalog/policies/policy.sec.no_secrets_in_client_surface.json +91 -0
  130. package/catalog/policies/policy.sec.relaxation_approval.json +92 -0
  131. package/catalog/policies/policy.sec.security_relaxation_gate.json +92 -0
  132. package/catalog/policies/policy.sec.third_party_execution_register.json +2 -1
  133. package/catalog/policies/policy.sec.trust_boundary_enforcement.json +93 -0
  134. package/catalog/policies/policy.sec.upload_download_server_recheck.json +91 -0
  135. package/catalog/policies/policy.sec.url_source_allowlist.json +91 -0
  136. package/catalog/policies/policy.spec.admission_criteria.json +2 -1
  137. package/catalog/policies/policy.spec.derived_view_regeneration.json +2 -1
  138. package/catalog/policies/policy.spec.draft_not_baseline.json +2 -1
  139. package/catalog/policies/policy.spec.family_conflict_precedence.json +93 -0
  140. package/catalog/policies/policy.spec.file_structure_contract.json +2 -1
  141. package/catalog/policies/policy.spec.freeze_before_use.json +93 -0
  142. package/catalog/policies/policy.spec.metadata_required.json +2 -1
  143. package/catalog/policies/policy.spec.post_dev_backfill_classify.json +2 -1
  144. package/catalog/policies/policy.spec.primary_source_basis.json +93 -0
  145. package/catalog/policies/policy.spec.procedural_record_not_surrogate.json +2 -1
  146. package/catalog/policies/policy.spec.semantic_identity.json +2 -1
  147. package/catalog/policies/policy.spec.unresolved_ledger_gate.json +2 -1
  148. package/catalog/policies/policy.stack.derived_store_not_authority.json +93 -0
  149. package/catalog/policies/policy.stack.dual_web_stack_boundary.json +93 -0
  150. package/catalog/policies/policy.stack.entry_chain_recorded.json +93 -0
  151. package/catalog/policies/policy.stack.entry_limits_aligned.json +94 -0
  152. package/catalog/policies/policy.stack.local_form_not_prod_fact.json +93 -0
  153. package/catalog/policies/policy.stack.multi_datastore_ownership.json +93 -0
  154. package/catalog/policies/policy.stack.no_implicit_selection.json +2 -1
  155. package/catalog/policies/policy.stack.persistence_coexistence_scope.json +93 -0
  156. package/catalog/policies/policy.stack.toolchain_versions_pinned.json +95 -0
  157. package/catalog/policies/policy.stack.upgrade_compat_verified.json +93 -0
  158. package/catalog/policies/policy.struct.module_entry_dependency_declared.json +92 -0
  159. package/catalog/policies/policy.struct.no_unexplained_top_level_dir.json +91 -0
  160. package/catalog/policies/policy.struct.reuse_proven_structure.json +91 -0
  161. package/catalog/policies/policy.test.control_nondeterminism_keep_diagnosis.json +91 -0
  162. package/catalog/policies/policy.test.isolation_and_cleanup.json +93 -0
  163. package/catalog/policies/policy.test.no_synthetic_stability.json +92 -0
  164. package/catalog/policies/policy.test.pyramid_and_ci_matrix.json +92 -0
  165. package/catalog/policies/policy.test.removal_justification.json +91 -0
  166. package/catalog/policies/policy.test.removal_needs_substitute_evidence.json +91 -0
  167. package/catalog/policies/policy.test.risk_driven_plan.json +92 -0
  168. package/catalog/policies/policy.test.stable_observable_assertions.json +92 -0
  169. package/catalog/policies/policy.tool.discoverable_toolchain.json +92 -0
  170. package/catalog/policies/policy.tool.no_hand_edit_generated_no_ci_drift.json +91 -0
  171. package/catalog/policies/policy.tool.no_vendored_body_edits.json +94 -0
  172. package/catalog/policies/policy.tool.scoped_scan_boundary.json +2 -1
  173. package/catalog/policies/policy.tool.upgrade_verify_lock_rollback.json +92 -0
  174. package/catalog/policies/policy.web.api.auth_app_client_split.json +2 -1
  175. package/catalog/policies/policy.web.api.client_change_impact.json +2 -1
  176. package/catalog/policies/policy.web.api.domain_api_only.json +2 -1
  177. package/catalog/policies/policy.web.api.error_normalization.json +2 -1
  178. package/catalog/policies/policy.web.api.generated_client.json +2 -1
  179. package/catalog/policies/policy.web.api.late_result_guard.json +2 -1
  180. package/catalog/policies/policy.web.api.mutation_idempotency.json +2 -1
  181. package/catalog/policies/policy.web.api.no_network_optimism.json +2 -1
  182. package/catalog/policies/policy.web.api.query_cancel_stale_drop.json +2 -1
  183. package/catalog/policies/policy.web.api.request_infrastructure.json +2 -1
  184. package/catalog/policies/policy.web.api.retry_discipline.json +2 -1
  185. package/catalog/policies/policy.web.api.session_recovery_split.json +2 -1
  186. package/catalog/policies/policy.web.api.single_http_client.json +2 -1
  187. package/catalog/policies/policy.web.api.single_loading_source.json +2 -1
  188. package/catalog/policies/policy.web.api.transport_vs_business.json +2 -1
  189. package/catalog/policies/policy.web.api.trusted_endpoint_source.json +2 -1
  190. package/catalog/policies/policy.web.api.typed_domain_naming.json +2 -1
  191. package/catalog/policies/policy.web.arch.layer_isolation.json +2 -1
  192. package/catalog/policies/policy.web.arch.naming_conventions.json +2 -1
  193. package/catalog/policies/policy.web.arch.public_api_barrel.json +2 -1
  194. package/catalog/policies/policy.web.chg.controlled_change_triggers.json +2 -1
  195. package/catalog/policies/policy.web.comp.no_trivial_or_god_component.json +91 -0
  196. package/catalog/policies/policy.web.comp.public_contract_completeness.json +93 -0
  197. package/catalog/policies/policy.web.copy.action_object_clarity.json +92 -0
  198. package/catalog/policies/policy.web.copy.enumerable_placement.json +91 -0
  199. package/catalog/policies/policy.web.copy.error_next_step.json +92 -0
  200. package/catalog/policies/policy.web.copy.suppression_ledger_discipline.json +2 -1
  201. package/catalog/policies/policy.web.grid.column_schema_fields.json +2 -1
  202. package/catalog/policies/policy.web.grid.config_isolation.json +2 -1
  203. package/catalog/policies/policy.web.grid.freeze_key_columns.json +2 -1
  204. package/catalog/policies/policy.web.grid.interaction_registry.json +2 -1
  205. package/catalog/policies/policy.web.grid.keyboard_clipboard.json +2 -1
  206. package/catalog/policies/policy.web.grid.schema_driven_shell.json +2 -1
  207. package/catalog/policies/policy.web.grid.schema_versioning.json +2 -1
  208. package/catalog/policies/policy.web.grid.server_ops_virtualization.json +2 -1
  209. package/catalog/policies/policy.web.grid.shell_change_matrix.json +2 -1
  210. package/catalog/policies/policy.web.grid.width_fix_ladder.json +2 -1
  211. package/catalog/policies/policy.web.handoff.state_matrix_full.json +94 -0
  212. package/catalog/policies/policy.web.i18n.copy_key_discipline.json +92 -0
  213. package/catalog/policies/policy.web.i18n.raw_value_for_compute.json +91 -0
  214. package/catalog/policies/policy.web.page.region_consistency.json +93 -0
  215. package/catalog/policies/policy.web.perf.budget_skeleton.json +2 -1
  216. package/catalog/policies/policy.web.style.ownership_matrix.json +2 -1
  217. package/catalog/policies/policy.web.track.attempt_result_correlation.json +91 -0
  218. package/catalog/policies/policy.web.track.consent_lifecycle.json +2 -1
  219. package/catalog/policies/policy.web.track.no_synthetic_actions.json +92 -0
  220. package/catalog/policies/policy.web.track.privacy_default_deny.json +2 -1
  221. package/catalog/policies/policy.web.track.stable_event_keys.json +2 -1
  222. package/catalog/policies/policy.web.track.typed_client_validation.json +91 -0
  223. package/catalog/policies/policy.web.uiux.provider_evidence_not_business_truth.json +2 -1
  224. package/catalog/policies/policy.wf.no_planned_as_verified.json +91 -0
  225. package/catalog/policies/policy.wf.task_facts_preconfirm.json +94 -0
  226. package/catalog/policies/profile.baseline.java_enterprise_default.json +96 -0
  227. package/catalog/sensors/sensor.browser.deterministic.json +2 -1
  228. package/catalog/sensors/sensor.browser.interactive.json +2 -1
  229. package/catalog/sensors/sensor.build.static.json +2 -1
  230. package/catalog/sensors/sensor.contract.conformance.json +2 -1
  231. package/catalog/sensors/sensor.performance.budget.json +2 -1
  232. package/catalog/sensors/sensor.production.metric.json +2 -1
  233. package/catalog/tools/seed_b6b_frontend.py +1424 -0
  234. package/catalog/tools/seed_b6c_backend.py +1495 -0
  235. package/catalog/tools/seed_b6d_baseline.py +620 -0
  236. package/catalog/tools/seed_b6e_evidence.py +1305 -0
  237. package/catalog/tools/seed_d3_review.py +1105 -0
  238. package/catalog/tools/seed_v06_batch2_materials.py +27 -18
  239. package/dist/bin.js +23026 -16635
  240. package/package.json +2 -1
  241. package/seeds/baseline/backend/api-contract.md +26 -0
  242. package/seeds/baseline/backend/architecture.md +31 -0
  243. package/seeds/baseline/backend/data-access.md +31 -0
  244. package/seeds/baseline/backend/directory-structure.md +11 -0
  245. package/seeds/baseline/backend/integration-runtime.md +21 -0
  246. package/seeds/baseline/backend/quality.md +31 -0
  247. package/seeds/baseline/backend/stack.yaml +13 -0
  248. package/seeds/baseline/backend/transaction-concurrency.md +26 -0
  249. package/seeds/baseline/data/lineage.md +11 -0
  250. package/seeds/baseline/data/migration.md +11 -0
  251. package/seeds/baseline/data/model.md +31 -0
  252. package/seeds/baseline/data/precision-units.md +31 -0
  253. package/seeds/baseline/data/quality.md +31 -0
  254. package/seeds/baseline/frontend/api-and-error.md +21 -0
  255. package/seeds/baseline/frontend/architecture.md +26 -0
  256. package/seeds/baseline/frontend/design-system.md +21 -0
  257. package/seeds/baseline/frontend/directory-structure.md +16 -0
  258. package/seeds/baseline/frontend/quality.md +26 -0
  259. package/seeds/baseline/frontend/stack.yaml +17 -0
  260. package/seeds/baseline/frontend/state-and-data.md +26 -0
  261. package/seeds/baseline/manifest.yaml +32 -0
  262. package/seeds/baseline/platform/delivery.md +36 -0
  263. package/seeds/baseline/platform/environment.md +11 -0
  264. package/seeds/baseline/platform/observability.md +31 -0
  265. package/seeds/baseline/platform/security.md +26 -0
  266. package/seeds/manifest.json +2006 -0
  267. package/seeds/specs/evidence/accessibility.md +89 -0
  268. package/seeds/specs/evidence/architecture.md +89 -0
  269. package/seeds/specs/evidence/browser-e2e.md +91 -0
  270. package/seeds/specs/evidence/build.md +91 -0
  271. package/seeds/specs/evidence/business-acceptance.md +89 -0
  272. package/seeds/specs/evidence/complexity-crap.md +97 -0
  273. package/seeds/specs/evidence/contract.md +89 -0
  274. package/seeds/specs/evidence/coverage.md +91 -0
  275. package/seeds/specs/evidence/data-migration.md +91 -0
  276. package/seeds/specs/evidence/dead-code-duplicate.md +89 -0
  277. package/seeds/specs/evidence/dependency-supply-chain.md +89 -0
  278. package/seeds/specs/evidence/index.md +55 -0
  279. package/seeds/specs/evidence/mutation.md +89 -0
  280. package/seeds/specs/evidence/performance.md +89 -0
  281. package/seeds/specs/evidence/release.md +91 -0
  282. package/seeds/specs/evidence/runtime-observability.md +91 -0
  283. package/seeds/specs/evidence/security.md +89 -0
  284. package/seeds/specs/evidence/typecheck-lint.md +91 -0
  285. package/seeds/specs/evidence/unit-component-integration.md +91 -0
  286. package/seeds/specs/evidence/visual-regression.md +89 -0
  287. package/seeds/specs/hard/backend/01-architecture-governance-protocol.md +68 -0
  288. package/seeds/specs/hard/backend/02-project-structure-governance-protocol.md +68 -0
  289. package/seeds/specs/hard/backend/03-directory-boundary-protocol.md +68 -0
  290. package/seeds/specs/hard/backend/04-layering-architecture-protocol.md +68 -0
  291. package/seeds/specs/hard/backend/05-task-workflow-protocol.md +68 -0
  292. package/seeds/specs/hard/backend/06-ai-generated-code-protocol.md +68 -0
  293. package/seeds/specs/hard/backend/07-evidence-acceptance-protocol.md +68 -0
  294. package/seeds/specs/hard/backend/08-contract-change-protocol.md +68 -0
  295. package/seeds/specs/hard/backend/09-role-responsibility-protocol.md +68 -0
  296. package/seeds/specs/hard/backend/10-security-protocol.md +68 -0
  297. package/seeds/specs/hard/backend/11-environment-configuration-protocol.md +67 -0
  298. package/seeds/specs/hard/backend/12-api-contract-protocol.md +68 -0
  299. package/seeds/specs/hard/backend/13-privacy-data-lifecycle-protocol.md +68 -0
  300. package/seeds/specs/hard/backend/14-business-rules-state-protocol.md +68 -0
  301. package/seeds/specs/hard/backend/15-data-model-protocol.md +68 -0
  302. package/seeds/specs/hard/backend/16-error-code-protocol.md +68 -0
  303. package/seeds/specs/hard/backend/17-permission-authorization-protocol.md +68 -0
  304. package/seeds/specs/hard/backend/18-database-schema-migration-protocol.md +68 -0
  305. package/seeds/specs/hard/backend/19-query-index-sql-protocol.md +68 -0
  306. package/seeds/specs/hard/backend/20-transaction-boundary-protocol.md +68 -0
  307. package/seeds/specs/hard/backend/21-concurrency-locking-protocol.md +68 -0
  308. package/seeds/specs/hard/backend/22-idempotency-protocol.md +68 -0
  309. package/seeds/specs/hard/backend/23-cache-redis-consistency-protocol.md +68 -0
  310. package/seeds/specs/hard/backend/24-external-integration-resilience-protocol.md +68 -0
  311. package/seeds/specs/hard/backend/25-async-job-scheduler-protocol.md +68 -0
  312. package/seeds/specs/hard/backend/26-engineering-tooling-protocol.md +68 -0
  313. package/seeds/specs/hard/backend/27-dependency-supply-chain-protocol.md +68 -0
  314. package/seeds/specs/hard/backend/28-testing-protocol.md +68 -0
  315. package/seeds/specs/hard/backend/29-observability-logging-tracing-protocol.md +68 -0
  316. package/seeds/specs/hard/backend/30-performance-capacity-protocol.md +68 -0
  317. package/seeds/specs/hard/backend/31-runtime-deployment-protocol.md +68 -0
  318. package/seeds/specs/hard/backend/32-release-versioning-rollback-protocol.md +68 -0
  319. package/seeds/specs/hard/backend/index.md +177 -0
  320. package/seeds/specs/hard/frontend/01-development-checklist-protocol.md +86 -0
  321. package/seeds/specs/hard/frontend/02-ai-generated-code-protocol.md +82 -0
  322. package/seeds/specs/hard/frontend/03-acceptance-gate-protocol.md +86 -0
  323. package/seeds/specs/hard/frontend/04-security-protocol.md +283 -0
  324. package/seeds/specs/hard/frontend/05-environment-configuration-protocol.md +80 -0
  325. package/seeds/specs/hard/frontend/06-change-governance-protocol.md +90 -0
  326. package/seeds/specs/hard/frontend/07-frontend-backend-communication-protocol.md +219 -0
  327. package/seeds/specs/hard/frontend/08-role-responsibility-protocol.md +80 -0
  328. package/seeds/specs/hard/frontend/09-module-boundary-protocol.md +81 -0
  329. package/seeds/specs/hard/frontend/10-engineering-tooling-protocol.md +89 -0
  330. package/seeds/specs/hard/frontend/11-dependency-package-management-protocol.md +87 -0
  331. package/seeds/specs/hard/frontend/12-business-rules-protocol.md +79 -0
  332. package/seeds/specs/hard/frontend/13-monetary-precision-protocol.md +81 -0
  333. package/seeds/specs/hard/frontend/14-data-model-protocol.md +85 -0
  334. package/seeds/specs/hard/frontend/15-request-api-protocol.md +87 -0
  335. package/seeds/specs/hard/frontend/16-error-handling-protocol.md +79 -0
  336. package/seeds/specs/hard/frontend/17-permission-protocol.md +79 -0
  337. package/seeds/specs/hard/frontend/18-state-management-protocol.md +88 -0
  338. package/seeds/specs/hard/frontend/19-cache-protocol.md +79 -0
  339. package/seeds/specs/hard/frontend/20-testing-protocol.md +88 -0
  340. package/seeds/specs/hard/frontend/21-design-system-protocol.md +79 -0
  341. package/seeds/specs/hard/frontend/22-theme-protocol.md +79 -0
  342. package/seeds/specs/hard/frontend/23-accessibility-protocol.md +189 -0
  343. package/seeds/specs/hard/frontend/24-component-protocol.md +80 -0
  344. package/seeds/specs/hard/frontend/25-page-structure-protocol.md +79 -0
  345. package/seeds/specs/hard/frontend/26-style-layout-protocol.md +80 -0
  346. package/seeds/specs/hard/frontend/27-rendering-state-protocol.md +81 -0
  347. package/seeds/specs/hard/frontend/28-form-protocol.md +88 -0
  348. package/seeds/specs/hard/frontend/29-routing-url-protocol.md +79 -0
  349. package/seeds/specs/hard/frontend/30-data-grid-protocol.md +83 -0
  350. package/seeds/specs/hard/frontend/31-performance-protocol.md +137 -0
  351. package/seeds/specs/hard/frontend/32-file-import-export-protocol.md +80 -0
  352. package/seeds/specs/hard/frontend/33-release-versioning-protocol.md +79 -0
  353. package/seeds/specs/hard/frontend/34-monitoring-logging-protocol.md +128 -0
  354. package/seeds/specs/hard/frontend/35-mock-protocol.md +97 -0
  355. package/seeds/specs/hard/frontend/36-feature-flag-protocol.md +79 -0
  356. package/seeds/specs/hard/frontend/37-browser-device-compatibility-protocol.md +83 -0
  357. package/seeds/specs/hard/frontend/38-internationalization-protocol.md +243 -0
  358. package/seeds/specs/hard/frontend/39-copywriting-protocol.md +79 -0
  359. package/seeds/specs/hard/frontend/40-analytics-protocol.md +98 -0
  360. package/seeds/specs/hard/frontend/41-design-handoff-protocol.md +80 -0
  361. package/seeds/specs/hard/frontend/42-browser-runtime-lifecycle-protocol.md +86 -0
  362. package/seeds/specs/hard/frontend/43-time-temporal-protocol.md +86 -0
  363. package/seeds/specs/hard/frontend/44-privacy-data-lifecycle-protocol.md +87 -0
  364. package/seeds/specs/hard/frontend/45-browser-storage-protocol.md +87 -0
  365. package/seeds/specs/hard/frontend/index.md +308 -0
  366. package/seeds/specs/hard/stacks/java/index.md +20 -0
  367. package/seeds/specs/hard/stacks/java/java-language-overlay.md +35 -0
  368. package/seeds/specs/hard/stacks/jpa/index.md +20 -0
  369. package/seeds/specs/hard/stacks/jpa/jpa-persistence-overlay.md +35 -0
  370. package/seeds/specs/hard/stacks/kubernetes-ingress/index.md +20 -0
  371. package/seeds/specs/hard/stacks/kubernetes-ingress/kubernetes-ingress-overlay.md +35 -0
  372. package/seeds/specs/hard/stacks/messaging/index.md +20 -0
  373. package/seeds/specs/hard/stacks/messaging/messaging-reliability-overlay.md +35 -0
  374. package/seeds/specs/hard/stacks/mybatis/index.md +20 -0
  375. package/seeds/specs/hard/stacks/mybatis/mybatis-persistence-overlay.md +35 -0
  376. package/seeds/specs/hard/stacks/mysql/index.md +20 -0
  377. package/seeds/specs/hard/stacks/mysql/mysql-database-overlay.md +35 -0
  378. package/seeds/specs/hard/stacks/nginx/index.md +20 -0
  379. package/seeds/specs/hard/stacks/nginx/nginx-proxy-overlay.md +35 -0
  380. package/seeds/specs/hard/stacks/postgresql/index.md +20 -0
  381. package/seeds/specs/hard/stacks/postgresql/postgresql-database-overlay.md +35 -0
  382. package/seeds/specs/hard/stacks/redis/index.md +20 -0
  383. package/seeds/specs/hard/stacks/redis/redis-cache-overlay.md +35 -0
  384. package/seeds/specs/hard/stacks/spring-batch/index.md +20 -0
  385. package/seeds/specs/hard/stacks/spring-batch/spring-batch-job-overlay.md +35 -0
  386. package/seeds/specs/hard/stacks/spring-boot/index.md +20 -0
  387. package/seeds/specs/hard/stacks/spring-boot/spring-boot-application-overlay.md +35 -0
  388. package/seeds/specs/hard/stacks/spring-mvc/index.md +20 -0
  389. package/seeds/specs/hard/stacks/spring-mvc/spring-mvc-web-overlay.md +35 -0
  390. package/seeds/specs/hard/stacks/spring-webflux/index.md +20 -0
  391. package/seeds/specs/hard/stacks/spring-webflux/spring-webflux-reactive-overlay.md +35 -0
  392. package/seeds/specs/hard/stacks/tomcat/index.md +20 -0
  393. package/seeds/specs/hard/stacks/tomcat/tomcat-runtime-overlay.md +35 -0
@@ -0,0 +1,68 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/03-directory-boundary-protocol.md
3
+ seed_source_sha256: 95a917cfe3c929b5a0a40de5f6215b25ef4a358a4e7f1c7cb2daa08defcf6bcc
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:directory-boundary-protocol
12
+ criticality: critical
13
+ injection_mode: always
14
+ stages: [implement, check]
15
+ triggers: []
16
+ requires: []
17
+ ---
18
+
19
+ # 目录边界协议
20
+
21
+ ## Scope
22
+
23
+ 约束实现阶段的模块目录、公开入口、依赖方向和越界识别。
24
+
25
+ ## Non-Scope
26
+
27
+ 不规定某种框架的固定包名。
28
+
29
+ ## Terms
30
+
31
+ 越界指绕过公开入口依赖其他模块内部实现。
32
+
33
+ ## MUST
34
+
35
+ - 修改前必须搜索现有实现,并保持依赖只指向声明的公开入口。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得把跨域逻辑塞入共享工具或直接引用其他模块内部文件。
40
+
41
+ ## SHOULD
42
+
43
+ - 应以最小写集完成任务,并复用已有边界内能力。
44
+
45
+ ## Contract
46
+
47
+ 新增依赖必须能说明提供方、消费方、稳定入口与验证方式。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] 写集、入口、依赖方向和受影响消费者已复核。
52
+
53
+ ## Examples
54
+
55
+ - 通过领域端口调用基础设施适配器,而不是从 Controller 直接访问实现类。
56
+
57
+ ## Anti-patterns
58
+
59
+ - 为绕过循环依赖建立含混的 `common` 目录。
60
+
61
+ ## Ownership
62
+
63
+ 代码作者说明边界影响,模块所有者审批公开入口变化。
64
+
65
+ ## Change Policy
66
+
67
+ 公开入口变化按契约变更处理,迁移完成前保留兼容路径。
68
+
@@ -0,0 +1,68 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/04-layering-architecture-protocol.md
3
+ seed_source_sha256: 4a2ab2aa695a7b78136a2fd96076a869c367bb008a417be508756c632ad4ed6e
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:layering-architecture-protocol
12
+ criticality: critical
13
+ injection_mode: triggered
14
+ stages: [prepare, implement, check]
15
+ triggers: [layering, module-boundary, domain-design]
16
+ requires: []
17
+ ---
18
+
19
+ # 分层架构协议
20
+
21
+ ## Scope
22
+
23
+ 规范 Controller、Application/Service、Domain、Repository 与 Infrastructure 的职责。
24
+
25
+ ## Non-Scope
26
+
27
+ 不要求简单系统机械创建所有层或使用特定框架注解。
28
+
29
+ ## Terms
30
+
31
+ 依赖方向指高层策略不依赖低层技术细节的约束。
32
+
33
+ ## MUST
34
+
35
+ - 业务不变量、事务编排和外部适配必须位于可解释且可测试的边界。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得在 Controller、ORM Entity 或基础设施适配器中散落权威业务规则。
40
+
41
+ ## SHOULD
42
+
43
+ - 应让层间数据转换显式并避免同一校验在多层重复实现。
44
+
45
+ ## Contract
46
+
47
+ 每层必须声明输入、输出、失败语义、依赖和测试责任。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] 调用链、转换点、事务所有者和异常映射已明确。
52
+
53
+ ## Examples
54
+
55
+ - Controller 校验传输格式,应用服务编排用例,领域对象维护不变量。
56
+
57
+ ## Anti-patterns
58
+
59
+ - Service 仅转发,而 Controller 同时处理事务、SQL 和业务判断。
60
+
61
+ ## Ownership
62
+
63
+ 架构所有者维护分层约束,各层维护者提供边界测试。
64
+
65
+ ## Change Policy
66
+
67
+ 跨层迁移必须记录兼容影响并分阶段消除旧依赖。
68
+
@@ -0,0 +1,68 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/05-task-workflow-protocol.md
3
+ seed_source_sha256: b0d176f1f2d19cd14739ff4de39d77659036516ab1377b83c261ecc53a2de2dd
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:task-workflow-protocol
12
+ criticality: critical
13
+ injection_mode: always
14
+ stages: [prepare, implement, check, release]
15
+ triggers: []
16
+ requires: []
17
+ ---
18
+
19
+ # 后端任务工作流协议
20
+
21
+ ## Scope
22
+
23
+ 定义 Backend Ready、阶段选择、影响识别和执行路由。
24
+
25
+ ## Non-Scope
26
+
27
+ 不替代 BP 业务事实或项目级实施方案。
28
+
29
+ ## Terms
30
+
31
+ stage 为 `prepare`、`implement`、`check` 或 `release`。
32
+
33
+ ## MUST
34
+
35
+ - 必须确认任务事实、stage、写集、契约影响、风险和验证计划。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得把 planned、推测或未运行检查描述为 verified。
40
+
41
+ ## SHOULD
42
+
43
+ - 应在发现跨角色缺口时生成明确问题或 blocker。
44
+
45
+ ## Contract
46
+
47
+ 每次执行必须输出范围、选中规范、变更结果、检查证据和剩余风险。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] 当前 stage 与任务目标一致。
52
+
53
+ ## Examples
54
+
55
+ - 简单内部 Mapper 修复只加载当前 stage 的 always 基线。
56
+
57
+ ## Anti-patterns
58
+
59
+ - 因协议 critical 就无条件加载其完整正文。
60
+
61
+ ## Ownership
62
+
63
+ 执行者维护任务状态,评审者核对证据与声明一致性。
64
+
65
+ ## Change Policy
66
+
67
+ 阶段语义变化必须同步注入器、索引和生命周期消费者。
68
+
@@ -0,0 +1,68 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/06-ai-generated-code-protocol.md
3
+ seed_source_sha256: a88614806137f33161b741d2a9fbc6ee310fa4f0cbf6acd222de07c14aee3d75
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:ai-generated-code-protocol
12
+ criticality: critical
13
+ injection_mode: always
14
+ stages: [prepare, implement, check]
15
+ triggers: []
16
+ requires: []
17
+ ---
18
+
19
+ # AI 生成代码协议
20
+
21
+ ## Scope
22
+
23
+ 约束 Agent 的前置检查、事实边界、复用搜索、实现与验证声明。
24
+
25
+ ## Non-Scope
26
+
27
+ 不授权 Agent 自行决定业务事实或扩大写集。
28
+
29
+ ## Terms
30
+
31
+ 权威事实包括已确认的 PRD、契约、schema、配置来源和仓库证据。
32
+
33
+ ## MUST
34
+
35
+ - 写入前必须读取规范、搜索复用点,并按风险运行可复核检查。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得发明字段、接口、错误码、迁移、锁、Redis key、topic、secret 或环境阈值。
40
+
41
+ ## SHOULD
42
+
43
+ - 应显式标记假设、未知项和需要升级确认的决策。
44
+
45
+ ## Contract
46
+
47
+ 生成内容必须绑定输入来源、目标写集和验证结果。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] 已检查既有实现、镜像路径、未提交改动和任务边界。
52
+
53
+ ## Examples
54
+
55
+ - 缺少隔离级别事实时记录待确认项,而不是选择一个默认值。
56
+
57
+ ## Anti-patterns
58
+
59
+ - 用聊天记忆替代仓库、契约、测试或运行证据。
60
+
61
+ ## Ownership
62
+
63
+ Agent 对变更与声明负责,用户拥有超出既定范围的决策权。
64
+
65
+ ## Change Policy
66
+
67
+ 新增高频误改模式时应追加明确禁止项和回归测试。
68
+
@@ -0,0 +1,68 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/07-evidence-acceptance-protocol.md
3
+ seed_source_sha256: fb86312eaadaec81d21e20abfb979e0127138002731ddc4fb1ead9ec90cd10bb
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:evidence-acceptance-protocol
12
+ criticality: critical
13
+ injection_mode: always
14
+ stages: [prepare, check, release]
15
+ triggers: []
16
+ requires: []
17
+ ---
18
+
19
+ # 证据与验收协议
20
+
21
+ ## Scope
22
+
23
+ 定义计划证据、实现证据、检查证据、发布证据和例外门禁。
24
+
25
+ ## Non-Scope
26
+
27
+ 不替代各领域协议规定的具体测试方法。
28
+
29
+ ## Terms
30
+
31
+ 证据是可由他人复核的代码坐标、hash、测试、报告或运行结果。
32
+
33
+ ## MUST
34
+
35
+ - 验收结论必须绑定当前任务、review range、版本和可复核证据。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得以口头完成声明、过期报告或无来源截图通过门禁。
40
+
41
+ ## SHOULD
42
+
43
+ - 应记录失败检查、未覆盖风险和经批准例外的到期条件。
44
+
45
+ ## Contract
46
+
47
+ 验收记录至少包含检查项、命令或来源、结果、时间范围与责任方。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] 计划、实现、测试、运行和发布证据处于同一变更范围。
52
+
53
+ ## Examples
54
+
55
+ - 用 migration 测试与 schema hash 证明数据库变更已验证。
56
+
57
+ ## Anti-patterns
58
+
59
+ - 只列“测试通过”,不提供测试范围与结果来源。
60
+
61
+ ## Ownership
62
+
63
+ 实现者提供证据,评审与发布责任人决定门禁是否满足。
64
+
65
+ ## Change Policy
66
+
67
+ 降低证据要求必须作为受控例外记录,不得静默删除门禁。
68
+
@@ -0,0 +1,68 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md
3
+ seed_source_sha256: 805c146b31c70d08f876631bc19273076eb242d78fcb3b3a3bd33437e28a6953
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:contract-change-protocol
12
+ criticality: critical
13
+ injection_mode: always
14
+ stages: [prepare, implement, check, release]
15
+ triggers: []
16
+ requires: []
17
+ ---
18
+
19
+ # 契约变更协议
20
+
21
+ ## Scope
22
+
23
+ 识别 API、错误码、schema、消息、配置与运行行为的兼容影响。
24
+
25
+ ## Non-Scope
26
+
27
+ 不定义具体业务契约内容。
28
+
29
+ ## Terms
30
+
31
+ 公共契约是已有调用方、持久化数据或运行依赖所观察的稳定行为。
32
+
33
+ ## MUST
34
+
35
+ - 变更前必须识别消费者、兼容窗口、迁移、回滚和版本策略。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得在没有迁移说明时删除、重命名或改变已发布语义。
40
+
41
+ ## SHOULD
42
+
43
+ - 应优先采用可并行部署、可观测并可撤回的演进方式。
44
+
45
+ ## Contract
46
+
47
+ 变更记录必须包含旧行为、新行为、影响面、兼容判断和验证证据。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] API、数据、消息、配置和运行消费者均已检查。
52
+
53
+ ## Examples
54
+
55
+ - 新字段先以兼容方式发布,消费者迁移后再结束旧版本窗口。
56
+
57
+ ## Anti-patterns
58
+
59
+ - 只修改实现而不更新 OpenAPI、migration、事件 schema 或变更记录。
60
+
61
+ ## Ownership
62
+
63
+ 契约提供方维护兼容方案,消费者确认迁移完成。
64
+
65
+ ## Change Policy
66
+
67
+ 破坏性变更必须经过显式审批、版本升级和可执行回退方案。
68
+
@@ -0,0 +1,68 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/09-role-responsibility-protocol.md
3
+ seed_source_sha256: 603b285faa271b77140f28e1038f850cd01b17ed1813b965898c4746233b342f
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:role-responsibility-protocol
12
+ criticality: advisory
13
+ injection_mode: reference
14
+ stages: [prepare, check]
15
+ triggers: [ownership, handoff]
16
+ requires: []
17
+ ---
18
+
19
+ # 角色与责任协议
20
+
21
+ ## Scope
22
+
23
+ 规范 Owner、RACI、评审责任、升级和跨角色交接。
24
+
25
+ ## Non-Scope
26
+
27
+ 不保存具体项目的人员名单或排班。
28
+
29
+ ## Terms
30
+
31
+ Owner 指对契约、实现或证据完整性承担最终维护责任的角色。
32
+
33
+ ## MUST
34
+
35
+ - 高风险决策、公共契约和运行门禁必须有可识别的责任角色。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得用“团队共同负责”掩盖审批、维护或事故响应空缺。
40
+
41
+ ## SHOULD
42
+
43
+ - 应在 handoff 中明确输入、输出、截止条件和拒收标准。
44
+
45
+ ## Contract
46
+
47
+ 责任记录至少包含决策者、执行者、评审者、被通知方和升级路径。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] 跨 BP、Frontend、Backend、Test 与 Ops 的边界已明确。
52
+
53
+ ## Examples
54
+
55
+ - API 提供方维护契约,调用方确认兼容窗口内完成迁移。
56
+
57
+ ## Anti-patterns
58
+
59
+ - 交接只发送文档链接,不说明版本、状态和待办。
60
+
61
+ ## Ownership
62
+
63
+ 治理维护者定义角色模型,项目自行绑定实际责任人。
64
+
65
+ ## Change Policy
66
+
67
+ 角色模型变化不得回写或推测消费项目的人员事实。
68
+
@@ -0,0 +1,68 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/10-security-protocol.md
3
+ seed_source_sha256: 56387f03edd35df50a5a701f4daab174b744d490663393f43331cf5401149f67
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:security-protocol
12
+ criticality: critical
13
+ injection_mode: triggered
14
+ stages: [prepare, implement, check, release]
15
+ triggers: [security, api-input, authentication, authorization, file-processing, secrets]
16
+ requires: []
17
+ ---
18
+
19
+ # 安全协议
20
+
21
+ ## Scope
22
+
23
+ 规范认证、鉴权、输入与文件校验、注入防护、密钥和安全默认值。
24
+
25
+ ## Non-Scope
26
+
27
+ 不替代隐私保留规则或具体基础设施加固 Overlay。
28
+
29
+ ## Terms
30
+
31
+ 信任边界是数据或调用从较低信任域进入较高权限域的位置。
32
+
33
+ ## MUST
34
+
35
+ - 所有信任边界必须执行服务端校验、最小权限、失败关闭和安全审计。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得信任前端隐藏、客户端校验、代理头或用户提供的资源归属。
40
+
41
+ ## SHOULD
42
+
43
+ - 应采用参数化接口、集中密钥管理和可轮换凭据。
44
+
45
+ ## Contract
46
+
47
+ 安全设计必须列出资产、威胁、控制、失败语义、日志限制和验证证据。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] 认证、鉴权、输入、输出、文件、secret 与审计路径已检查。
52
+
53
+ ## Examples
54
+
55
+ - 下载接口同时验证操作权限、数据范围和资源归属。
56
+
57
+ ## Anti-patterns
58
+
59
+ - 把 token、密码或敏感 payload 写入日志与异常。
60
+
61
+ ## Ownership
62
+
63
+ 服务端拥有最终安全判断,安全评审者维护阻断门禁。
64
+
65
+ ## Change Policy
66
+
67
+ 放宽安全控制必须经过显式风险审批、范围限制和到期复审。
68
+
@@ -0,0 +1,67 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/11-environment-configuration-protocol.md
3
+ seed_source_sha256: eb9e82e9df64ce238501bc51cd359f36150f911c149904e2ed5a43d9b652b1bd
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:environment-configuration-protocol
12
+ criticality: critical
13
+ injection_mode: triggered
14
+ stages: [prepare, implement, check, release]
15
+ triggers: [environment-configuration, configuration, secrets, runtime]
16
+ requires: []
17
+ ---
18
+
19
+ # 环境与配置协议
20
+
21
+ ## Scope
22
+
23
+ 规范环境、profile、secret、超时、配置来源、变更和漂移。
24
+
25
+ ## Non-Scope
26
+
27
+ 不规定具体环境名称、凭据或连接参数数值。
28
+
29
+ ## Terms
30
+
31
+ 配置漂移是声明基线与构建、部署或运行时有效值不一致。
32
+
33
+ ## MUST
34
+
35
+ - 配置必须有类型、来源、默认行为、敏感级别、验证与变更路径。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得把 secret 写入仓库、日志、示例、命令行历史或生成文档。
40
+
41
+ ## SHOULD
42
+
43
+ - 应在启动时校验关键配置,并对版本与来源提供可观测证据。
44
+
45
+ ## Contract
46
+
47
+ 配置变更必须说明兼容影响、部署顺序、回滚和漂移检测方式。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] 本地、CI、测试与运行环境的来源和覆盖顺序已核对。
52
+
53
+ ## Examples
54
+
55
+ - 缺少必需配置时启动失败并输出不含 secret 的稳定错误。
56
+
57
+ ## Anti-patterns
58
+
59
+ - 用环境默认值掩盖未声明的生产行为。
60
+
61
+ ## Ownership
62
+
63
+ 应用维护者定义消费契约,平台维护者提供受控配置与 secret 来源。
64
+
65
+ ## Change Policy
66
+
67
+ 配置键重命名必须提供双读或迁移窗口并验证旧值清理。
@@ -0,0 +1,68 @@
1
+ ---
2
+ seed_source: pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md
3
+ seed_source_sha256: 35519d81548cabff729de888e0bf9e0d5b40a0274c9fa3684641b50e75938ca0
4
+ seed_version: B6C
5
+ lane: backend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [backend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: backend:api-contract-protocol
12
+ criticality: critical
13
+ injection_mode: triggered
14
+ stages: [prepare, implement, check]
15
+ triggers: [api-contract, api-change]
16
+ requires: []
17
+ ---
18
+
19
+ # API 契约协议
20
+
21
+ ## Scope
22
+
23
+ 规范请求响应、版本、字段、权限、错误、幂等、分页、兼容与 TraceId。
24
+
25
+ ## Non-Scope
26
+
27
+ 不替代领域规则、最终鉴权或具体 endpoint 事实。
28
+
29
+ ## Terms
30
+
31
+ 正式契约是 OpenAPI 或项目明确指定的等价权威来源。
32
+
33
+ ## MUST
34
+
35
+ - method、path、字段、状态码、错误码、权限和兼容策略必须与实现一致。
36
+
37
+ ## MUST NOT
38
+
39
+ - 不得把 Mock、聊天记录或调用方猜测当作正式契约。
40
+
41
+ ## SHOULD
42
+
43
+ - 应对新增字段、分页、重试和版本演进采用向后兼容默认值。
44
+
45
+ ## Contract
46
+
47
+ 每个接口必须定义输入、输出、失败、幂等、权限、追踪与版本语义。
48
+
49
+ ## Checklist
50
+
51
+ - [ ] 契约、实现、生成客户端、测试和 handoff 已同步。
52
+
53
+ ## Examples
54
+
55
+ - 冲突返回稳定错误码与 TraceId,而不是泄露内部异常。
56
+
57
+ ## Anti-patterns
58
+
59
+ - 修改响应字段但不更新正式契约和调用方兼容测试。
60
+
61
+ ## Ownership
62
+
63
+ Backend 维护服务端契约,消费者确认联调与兼容结果。
64
+
65
+ ## Change Policy
66
+
67
+ 破坏性 API 变化必须按契约变更协议执行版本与迁移。
68
+