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.
- package/README.md +9 -10
- package/catalog/archetypes/archetype.frontend.error_taxonomy.json +13 -5
- package/catalog/archetypes/archetype.frontend.feature_oriented.json +1 -1
- package/catalog/archetypes/archetype.state.async_command.json +4 -4
- package/catalog/catalog-lock.draft.json +1120 -104
- package/catalog/gates/gate.be.api.contract_checks.json +2 -1
- package/catalog/gates/gate.be.chg.contract_change_checks.json +2 -1
- package/catalog/gates/gate.chg.prechange_checks.json +2 -1
- package/catalog/gates/gate.web.api.request_checks.json +2 -1
- package/catalog/gates/gate.web.grid.checks.json +2 -1
- package/catalog/knowledge/knowledge.api.example_stable_error_code.json +2 -1
- package/catalog/knowledge/knowledge.chg.example_compat_window.json +2 -1
- package/catalog/knowledge/knowledge.chg.example_prop_migration.json +2 -1
- package/catalog/knowledge/knowledge.fp.api.field_drift_no_contract.json +2 -1
- package/catalog/knowledge/knowledge.fp.api.per_page_http_client.json +2 -1
- package/catalog/knowledge/knowledge.fp.be.contract_drift.json +2 -1
- package/catalog/knowledge/knowledge.fp.chg.page_local_padding.json +2 -1
- package/catalog/knowledge/knowledge.fp.grid.global_td_width.json +2 -1
- package/catalog/knowledge/knowledge.web.api.example_get_entity_list.json +2 -1
- package/catalog/knowledge/knowledge.web.grid.example_column_preset.json +2 -1
- package/catalog/policies/authority.be.api_contract_ownership.json +2 -1
- package/catalog/policies/authority.be.contract_ownership.json +2 -1
- package/catalog/policies/authority.chg.change_owners.json +2 -1
- package/catalog/policies/authority.web.api.request_owners.json +2 -1
- package/catalog/policies/authority.web.grid.ownership.json +2 -1
- package/catalog/policies/policy.ai.change_plan_first.json +91 -0
- package/catalog/policies/policy.ai.fact_inference_separation.json +91 -0
- package/catalog/policies/policy.ai.read_search_verify_before_write.json +92 -0
- package/catalog/policies/policy.ai.rule_relaxation_approval.json +91 -0
- package/catalog/policies/policy.api.backward_compat_defaults.json +2 -1
- package/catalog/policies/policy.api.contract_impl_consistency.json +2 -1
- package/catalog/policies/policy.api.no_informal_contract.json +2 -1
- package/catalog/policies/policy.arch.adr_immutable_history.json +91 -0
- package/catalog/policies/policy.arch.decision_tradeoff_record.json +2 -1
- package/catalog/policies/policy.arch.no_convenience_over_boundary.json +93 -0
- package/catalog/policies/policy.arch.prefer_verifiable_option.json +92 -0
- package/catalog/policies/policy.authz.no_gating_proxy_trust.json +99 -0
- package/catalog/policies/policy.authz.permission_scope_expansion_gate.json +99 -0
- package/catalog/policies/policy.authz.server_five_factor_verification.json +101 -0
- package/catalog/policies/policy.be.conc.prefer_db_constraints.json +97 -0
- package/catalog/policies/policy.be.db.expand_migrate_contract.json +97 -0
- package/catalog/policies/policy.be.idem.key_payload_conflict.json +97 -0
- package/catalog/policies/policy.be.model.single_boundary_conversion.json +97 -0
- package/catalog/policies/policy.be.sql.index_for_known_queries.json +97 -0
- package/catalog/policies/policy.be.state.single_rule_source.json +97 -0
- package/catalog/policies/policy.be.txn.short_locks_compensation.json +96 -0
- package/catalog/policies/policy.bound.search_first_entry_only.json +91 -0
- package/catalog/policies/policy.boundary.validate_in_encode_out.json +92 -0
- package/catalog/policies/policy.cache.failure_mode_guards.json +93 -0
- package/catalog/policies/policy.cache.lifecycle_definition.json +2 -1
- package/catalog/policies/policy.cache.schema_versioning.json +91 -0
- package/catalog/policies/policy.cfg.config_attribute_completeness.json +95 -0
- package/catalog/policies/policy.cfg.key_rename_dual_read.json +92 -0
- package/catalog/policies/policy.cfg.no_secret_dispersal.json +90 -0
- package/catalog/policies/policy.cfg.production_safe_defaults.json +92 -0
- package/catalog/policies/policy.cfg.schema_backed_config.json +92 -0
- package/catalog/policies/policy.chg.affect_templates.json +2 -1
- package/catalog/policies/policy.chg.breaking_versioning.json +2 -1
- package/catalog/policies/policy.chg.compat_migration_rollback.json +2 -1
- package/catalog/policies/policy.chg.deprecate_before_delete.json +2 -1
- package/catalog/policies/policy.chg.fix_at_root_cause_level.json +2 -1
- package/catalog/policies/policy.chg.no_unrelated_changes.json +91 -0
- package/catalog/policies/policy.chg.observable_evolution.json +2 -1
- package/catalog/policies/policy.chg.prechange_consumer_scan.json +2 -1
- package/catalog/policies/policy.chg.staged_rollout.json +2 -1
- package/catalog/policies/policy.chg.sync_contract_docs_tests.json +2 -1
- package/catalog/policies/policy.conflict.priority_ladder.json +2 -1
- package/catalog/policies/policy.contract.no_invented_facts.json +93 -0
- package/catalog/policies/policy.dep.admission_six_dimension_check.json +2 -1
- package/catalog/policies/policy.dep.build_path_supply_chain.json +93 -0
- package/catalog/policies/policy.dep.change_surface_review.json +2 -1
- package/catalog/policies/policy.dep.introduction_review.json +2 -1
- package/catalog/policies/policy.dep.no_untrusted_source_no_lock_bypass.json +92 -0
- package/catalog/policies/policy.dep.time_boxed_urgent_exception.json +91 -0
- package/catalog/policies/policy.deploy.no_dev_env_as_production_fact.json +91 -0
- package/catalog/policies/policy.deploy.operational_capabilities.json +93 -0
- package/catalog/policies/policy.deploy.runtime_fact_record.json +97 -0
- package/catalog/policies/policy.derived.single_implementation.json +2 -1
- package/catalog/policies/policy.err.failure_five_part_mapping.json +101 -0
- package/catalog/policies/policy.err.no_internal_detail_exposure.json +97 -0
- package/catalog/policies/policy.err.published_code_immutable.json +98 -0
- package/catalog/policies/policy.evid.acceptance_binds_verifiable_evidence.json +92 -0
- package/catalog/policies/policy.evid.no_silent_gate_removal.json +90 -0
- package/catalog/policies/policy.evid.no_unverifiable_pass.json +92 -0
- package/catalog/policies/policy.flag.cleanup_after_full_rollout.json +94 -0
- package/catalog/policies/policy.flag.consistent_off_state.json +92 -0
- package/catalog/policies/policy.flag.kill_switch.json +91 -0
- package/catalog/policies/policy.flag.lifecycle_metadata.json +93 -0
- package/catalog/policies/policy.flag.not_a_permission.json +92 -0
- package/catalog/policies/policy.gate.p0_non_bypassable.json +92 -0
- package/catalog/policies/policy.gate.risk_factors_confirmed.json +93 -0
- package/catalog/policies/policy.guard.no_check_weakening.json +92 -0
- package/catalog/policies/policy.integration.call_definition_minimum.json +95 -0
- package/catalog/policies/policy.integration.fault_containment.json +94 -0
- package/catalog/policies/policy.job.lifecycle_definition.json +96 -0
- package/catalog/policies/policy.job.no_unmanaged_execution.json +92 -0
- package/catalog/policies/policy.job.operational_features.json +93 -0
- package/catalog/policies/policy.obs.actionable_signals.json +93 -0
- package/catalog/policies/policy.obs.alert_with_owner.json +91 -0
- package/catalog/policies/policy.obs.context_field_baseline.json +91 -0
- package/catalog/policies/policy.obs.correlation_context_minimum.json +2 -1
- package/catalog/policies/policy.obs.no_sensitive_or_unbounded_logging.json +92 -0
- package/catalog/policies/policy.obs.no_sensitive_raw_values.json +93 -0
- package/catalog/policies/policy.obs.rum_dimension_whitelist.json +2 -1
- package/catalog/policies/policy.obs.signal_change_impact.json +91 -0
- package/catalog/policies/policy.obs.source_map_access_control.json +92 -0
- package/catalog/policies/policy.obs.telemetry_lifecycle_declared.json +93 -0
- package/catalog/policies/policy.obs.trace_correlation.json +91 -0
- package/catalog/policies/policy.perf.budget_change_retest.json +91 -0
- package/catalog/policies/policy.perf.evidence_binding.json +95 -0
- package/catalog/policies/policy.perf.observation_dimensions.json +94 -0
- package/catalog/policies/policy.proc.checklist_change_policy.json +91 -0
- package/catalog/policies/policy.proc.pre_code_declaration.json +2 -1
- package/catalog/policies/policy.proc.scope_drift_reclassify.json +91 -0
- package/catalog/policies/policy.prv.processing_scope_re_review.json +97 -0
- package/catalog/policies/policy.prv.sensitive_data_six_facts.json +102 -0
- package/catalog/policies/policy.registry.human_fields_validated_decorrelated.json +93 -0
- package/catalog/policies/policy.rel.no_irreversible_unmonitored_full_release.json +91 -0
- package/catalog/policies/policy.rel.observability_before_ship.json +91 -0
- package/catalog/policies/policy.rel.pre_release_confirmation.json +2 -1
- package/catalog/policies/policy.rel.process_change_needs_drill_audit.json +91 -0
- package/catalog/policies/policy.rel.traceable_build.json +93 -0
- package/catalog/policies/policy.role.domain_decision_authority.json +2 -1
- package/catalog/policies/policy.role.human_signs_for_ai.json +93 -0
- package/catalog/policies/policy.sec.authn_policy_unified.json +91 -0
- package/catalog/policies/policy.sec.no_client_side_trust.json +92 -0
- package/catalog/policies/policy.sec.no_longterm_security_disable.json +91 -0
- package/catalog/policies/policy.sec.no_script_readable_credentials.json +91 -0
- package/catalog/policies/policy.sec.no_secrets_in_client_surface.json +91 -0
- package/catalog/policies/policy.sec.relaxation_approval.json +92 -0
- package/catalog/policies/policy.sec.security_relaxation_gate.json +92 -0
- package/catalog/policies/policy.sec.third_party_execution_register.json +2 -1
- package/catalog/policies/policy.sec.trust_boundary_enforcement.json +93 -0
- package/catalog/policies/policy.sec.upload_download_server_recheck.json +91 -0
- package/catalog/policies/policy.sec.url_source_allowlist.json +91 -0
- package/catalog/policies/policy.spec.admission_criteria.json +2 -1
- package/catalog/policies/policy.spec.derived_view_regeneration.json +2 -1
- package/catalog/policies/policy.spec.draft_not_baseline.json +2 -1
- package/catalog/policies/policy.spec.family_conflict_precedence.json +93 -0
- package/catalog/policies/policy.spec.file_structure_contract.json +2 -1
- package/catalog/policies/policy.spec.freeze_before_use.json +93 -0
- package/catalog/policies/policy.spec.metadata_required.json +2 -1
- package/catalog/policies/policy.spec.post_dev_backfill_classify.json +2 -1
- package/catalog/policies/policy.spec.primary_source_basis.json +93 -0
- package/catalog/policies/policy.spec.procedural_record_not_surrogate.json +2 -1
- package/catalog/policies/policy.spec.semantic_identity.json +2 -1
- package/catalog/policies/policy.spec.unresolved_ledger_gate.json +2 -1
- package/catalog/policies/policy.stack.derived_store_not_authority.json +93 -0
- package/catalog/policies/policy.stack.dual_web_stack_boundary.json +93 -0
- package/catalog/policies/policy.stack.entry_chain_recorded.json +93 -0
- package/catalog/policies/policy.stack.entry_limits_aligned.json +94 -0
- package/catalog/policies/policy.stack.local_form_not_prod_fact.json +93 -0
- package/catalog/policies/policy.stack.multi_datastore_ownership.json +93 -0
- package/catalog/policies/policy.stack.no_implicit_selection.json +2 -1
- package/catalog/policies/policy.stack.persistence_coexistence_scope.json +93 -0
- package/catalog/policies/policy.stack.toolchain_versions_pinned.json +95 -0
- package/catalog/policies/policy.stack.upgrade_compat_verified.json +93 -0
- package/catalog/policies/policy.struct.module_entry_dependency_declared.json +92 -0
- package/catalog/policies/policy.struct.no_unexplained_top_level_dir.json +91 -0
- package/catalog/policies/policy.struct.reuse_proven_structure.json +91 -0
- package/catalog/policies/policy.test.control_nondeterminism_keep_diagnosis.json +91 -0
- package/catalog/policies/policy.test.isolation_and_cleanup.json +93 -0
- package/catalog/policies/policy.test.no_synthetic_stability.json +92 -0
- package/catalog/policies/policy.test.pyramid_and_ci_matrix.json +92 -0
- package/catalog/policies/policy.test.removal_justification.json +91 -0
- package/catalog/policies/policy.test.removal_needs_substitute_evidence.json +91 -0
- package/catalog/policies/policy.test.risk_driven_plan.json +92 -0
- package/catalog/policies/policy.test.stable_observable_assertions.json +92 -0
- package/catalog/policies/policy.tool.discoverable_toolchain.json +92 -0
- package/catalog/policies/policy.tool.no_hand_edit_generated_no_ci_drift.json +91 -0
- package/catalog/policies/policy.tool.no_vendored_body_edits.json +94 -0
- package/catalog/policies/policy.tool.scoped_scan_boundary.json +2 -1
- package/catalog/policies/policy.tool.upgrade_verify_lock_rollback.json +92 -0
- package/catalog/policies/policy.web.api.auth_app_client_split.json +2 -1
- package/catalog/policies/policy.web.api.client_change_impact.json +2 -1
- package/catalog/policies/policy.web.api.domain_api_only.json +2 -1
- package/catalog/policies/policy.web.api.error_normalization.json +2 -1
- package/catalog/policies/policy.web.api.generated_client.json +2 -1
- package/catalog/policies/policy.web.api.late_result_guard.json +2 -1
- package/catalog/policies/policy.web.api.mutation_idempotency.json +2 -1
- package/catalog/policies/policy.web.api.no_network_optimism.json +2 -1
- package/catalog/policies/policy.web.api.query_cancel_stale_drop.json +2 -1
- package/catalog/policies/policy.web.api.request_infrastructure.json +2 -1
- package/catalog/policies/policy.web.api.retry_discipline.json +2 -1
- package/catalog/policies/policy.web.api.session_recovery_split.json +2 -1
- package/catalog/policies/policy.web.api.single_http_client.json +2 -1
- package/catalog/policies/policy.web.api.single_loading_source.json +2 -1
- package/catalog/policies/policy.web.api.transport_vs_business.json +2 -1
- package/catalog/policies/policy.web.api.trusted_endpoint_source.json +2 -1
- package/catalog/policies/policy.web.api.typed_domain_naming.json +2 -1
- package/catalog/policies/policy.web.arch.layer_isolation.json +2 -1
- package/catalog/policies/policy.web.arch.naming_conventions.json +2 -1
- package/catalog/policies/policy.web.arch.public_api_barrel.json +2 -1
- package/catalog/policies/policy.web.chg.controlled_change_triggers.json +2 -1
- package/catalog/policies/policy.web.comp.no_trivial_or_god_component.json +91 -0
- package/catalog/policies/policy.web.comp.public_contract_completeness.json +93 -0
- package/catalog/policies/policy.web.copy.action_object_clarity.json +92 -0
- package/catalog/policies/policy.web.copy.enumerable_placement.json +91 -0
- package/catalog/policies/policy.web.copy.error_next_step.json +92 -0
- package/catalog/policies/policy.web.copy.suppression_ledger_discipline.json +2 -1
- package/catalog/policies/policy.web.grid.column_schema_fields.json +2 -1
- package/catalog/policies/policy.web.grid.config_isolation.json +2 -1
- package/catalog/policies/policy.web.grid.freeze_key_columns.json +2 -1
- package/catalog/policies/policy.web.grid.interaction_registry.json +2 -1
- package/catalog/policies/policy.web.grid.keyboard_clipboard.json +2 -1
- package/catalog/policies/policy.web.grid.schema_driven_shell.json +2 -1
- package/catalog/policies/policy.web.grid.schema_versioning.json +2 -1
- package/catalog/policies/policy.web.grid.server_ops_virtualization.json +2 -1
- package/catalog/policies/policy.web.grid.shell_change_matrix.json +2 -1
- package/catalog/policies/policy.web.grid.width_fix_ladder.json +2 -1
- package/catalog/policies/policy.web.handoff.state_matrix_full.json +94 -0
- package/catalog/policies/policy.web.i18n.copy_key_discipline.json +92 -0
- package/catalog/policies/policy.web.i18n.raw_value_for_compute.json +91 -0
- package/catalog/policies/policy.web.page.region_consistency.json +93 -0
- package/catalog/policies/policy.web.perf.budget_skeleton.json +2 -1
- package/catalog/policies/policy.web.style.ownership_matrix.json +2 -1
- package/catalog/policies/policy.web.track.attempt_result_correlation.json +91 -0
- package/catalog/policies/policy.web.track.consent_lifecycle.json +2 -1
- package/catalog/policies/policy.web.track.no_synthetic_actions.json +92 -0
- package/catalog/policies/policy.web.track.privacy_default_deny.json +2 -1
- package/catalog/policies/policy.web.track.stable_event_keys.json +2 -1
- package/catalog/policies/policy.web.track.typed_client_validation.json +91 -0
- package/catalog/policies/policy.web.uiux.provider_evidence_not_business_truth.json +2 -1
- package/catalog/policies/policy.wf.no_planned_as_verified.json +91 -0
- package/catalog/policies/policy.wf.task_facts_preconfirm.json +94 -0
- package/catalog/policies/profile.baseline.java_enterprise_default.json +96 -0
- package/catalog/sensors/sensor.browser.deterministic.json +2 -1
- package/catalog/sensors/sensor.browser.interactive.json +2 -1
- package/catalog/sensors/sensor.build.static.json +2 -1
- package/catalog/sensors/sensor.contract.conformance.json +2 -1
- package/catalog/sensors/sensor.performance.budget.json +2 -1
- package/catalog/sensors/sensor.production.metric.json +2 -1
- package/catalog/tools/seed_b6b_frontend.py +1424 -0
- package/catalog/tools/seed_b6c_backend.py +1495 -0
- package/catalog/tools/seed_b6d_baseline.py +620 -0
- package/catalog/tools/seed_b6e_evidence.py +1305 -0
- package/catalog/tools/seed_d3_review.py +1105 -0
- package/catalog/tools/seed_v06_batch2_materials.py +27 -18
- package/dist/bin.js +23026 -16635
- package/package.json +2 -1
- package/seeds/baseline/backend/api-contract.md +26 -0
- package/seeds/baseline/backend/architecture.md +31 -0
- package/seeds/baseline/backend/data-access.md +31 -0
- package/seeds/baseline/backend/directory-structure.md +11 -0
- package/seeds/baseline/backend/integration-runtime.md +21 -0
- package/seeds/baseline/backend/quality.md +31 -0
- package/seeds/baseline/backend/stack.yaml +13 -0
- package/seeds/baseline/backend/transaction-concurrency.md +26 -0
- package/seeds/baseline/data/lineage.md +11 -0
- package/seeds/baseline/data/migration.md +11 -0
- package/seeds/baseline/data/model.md +31 -0
- package/seeds/baseline/data/precision-units.md +31 -0
- package/seeds/baseline/data/quality.md +31 -0
- package/seeds/baseline/frontend/api-and-error.md +21 -0
- package/seeds/baseline/frontend/architecture.md +26 -0
- package/seeds/baseline/frontend/design-system.md +21 -0
- package/seeds/baseline/frontend/directory-structure.md +16 -0
- package/seeds/baseline/frontend/quality.md +26 -0
- package/seeds/baseline/frontend/stack.yaml +17 -0
- package/seeds/baseline/frontend/state-and-data.md +26 -0
- package/seeds/baseline/manifest.yaml +32 -0
- package/seeds/baseline/platform/delivery.md +36 -0
- package/seeds/baseline/platform/environment.md +11 -0
- package/seeds/baseline/platform/observability.md +31 -0
- package/seeds/baseline/platform/security.md +26 -0
- package/seeds/manifest.json +2006 -0
- package/seeds/specs/evidence/accessibility.md +89 -0
- package/seeds/specs/evidence/architecture.md +89 -0
- package/seeds/specs/evidence/browser-e2e.md +91 -0
- package/seeds/specs/evidence/build.md +91 -0
- package/seeds/specs/evidence/business-acceptance.md +89 -0
- package/seeds/specs/evidence/complexity-crap.md +97 -0
- package/seeds/specs/evidence/contract.md +89 -0
- package/seeds/specs/evidence/coverage.md +91 -0
- package/seeds/specs/evidence/data-migration.md +91 -0
- package/seeds/specs/evidence/dead-code-duplicate.md +89 -0
- package/seeds/specs/evidence/dependency-supply-chain.md +89 -0
- package/seeds/specs/evidence/index.md +55 -0
- package/seeds/specs/evidence/mutation.md +89 -0
- package/seeds/specs/evidence/performance.md +89 -0
- package/seeds/specs/evidence/release.md +91 -0
- package/seeds/specs/evidence/runtime-observability.md +91 -0
- package/seeds/specs/evidence/security.md +89 -0
- package/seeds/specs/evidence/typecheck-lint.md +91 -0
- package/seeds/specs/evidence/unit-component-integration.md +91 -0
- package/seeds/specs/evidence/visual-regression.md +89 -0
- package/seeds/specs/hard/backend/01-architecture-governance-protocol.md +68 -0
- package/seeds/specs/hard/backend/02-project-structure-governance-protocol.md +68 -0
- package/seeds/specs/hard/backend/03-directory-boundary-protocol.md +68 -0
- package/seeds/specs/hard/backend/04-layering-architecture-protocol.md +68 -0
- package/seeds/specs/hard/backend/05-task-workflow-protocol.md +68 -0
- package/seeds/specs/hard/backend/06-ai-generated-code-protocol.md +68 -0
- package/seeds/specs/hard/backend/07-evidence-acceptance-protocol.md +68 -0
- package/seeds/specs/hard/backend/08-contract-change-protocol.md +68 -0
- package/seeds/specs/hard/backend/09-role-responsibility-protocol.md +68 -0
- package/seeds/specs/hard/backend/10-security-protocol.md +68 -0
- package/seeds/specs/hard/backend/11-environment-configuration-protocol.md +67 -0
- package/seeds/specs/hard/backend/12-api-contract-protocol.md +68 -0
- package/seeds/specs/hard/backend/13-privacy-data-lifecycle-protocol.md +68 -0
- package/seeds/specs/hard/backend/14-business-rules-state-protocol.md +68 -0
- package/seeds/specs/hard/backend/15-data-model-protocol.md +68 -0
- package/seeds/specs/hard/backend/16-error-code-protocol.md +68 -0
- package/seeds/specs/hard/backend/17-permission-authorization-protocol.md +68 -0
- package/seeds/specs/hard/backend/18-database-schema-migration-protocol.md +68 -0
- package/seeds/specs/hard/backend/19-query-index-sql-protocol.md +68 -0
- package/seeds/specs/hard/backend/20-transaction-boundary-protocol.md +68 -0
- package/seeds/specs/hard/backend/21-concurrency-locking-protocol.md +68 -0
- package/seeds/specs/hard/backend/22-idempotency-protocol.md +68 -0
- package/seeds/specs/hard/backend/23-cache-redis-consistency-protocol.md +68 -0
- package/seeds/specs/hard/backend/24-external-integration-resilience-protocol.md +68 -0
- package/seeds/specs/hard/backend/25-async-job-scheduler-protocol.md +68 -0
- package/seeds/specs/hard/backend/26-engineering-tooling-protocol.md +68 -0
- package/seeds/specs/hard/backend/27-dependency-supply-chain-protocol.md +68 -0
- package/seeds/specs/hard/backend/28-testing-protocol.md +68 -0
- package/seeds/specs/hard/backend/29-observability-logging-tracing-protocol.md +68 -0
- package/seeds/specs/hard/backend/30-performance-capacity-protocol.md +68 -0
- package/seeds/specs/hard/backend/31-runtime-deployment-protocol.md +68 -0
- package/seeds/specs/hard/backend/32-release-versioning-rollback-protocol.md +68 -0
- package/seeds/specs/hard/backend/index.md +177 -0
- package/seeds/specs/hard/frontend/01-development-checklist-protocol.md +86 -0
- package/seeds/specs/hard/frontend/02-ai-generated-code-protocol.md +82 -0
- package/seeds/specs/hard/frontend/03-acceptance-gate-protocol.md +86 -0
- package/seeds/specs/hard/frontend/04-security-protocol.md +283 -0
- package/seeds/specs/hard/frontend/05-environment-configuration-protocol.md +80 -0
- package/seeds/specs/hard/frontend/06-change-governance-protocol.md +90 -0
- package/seeds/specs/hard/frontend/07-frontend-backend-communication-protocol.md +219 -0
- package/seeds/specs/hard/frontend/08-role-responsibility-protocol.md +80 -0
- package/seeds/specs/hard/frontend/09-module-boundary-protocol.md +81 -0
- package/seeds/specs/hard/frontend/10-engineering-tooling-protocol.md +89 -0
- package/seeds/specs/hard/frontend/11-dependency-package-management-protocol.md +87 -0
- package/seeds/specs/hard/frontend/12-business-rules-protocol.md +79 -0
- package/seeds/specs/hard/frontend/13-monetary-precision-protocol.md +81 -0
- package/seeds/specs/hard/frontend/14-data-model-protocol.md +85 -0
- package/seeds/specs/hard/frontend/15-request-api-protocol.md +87 -0
- package/seeds/specs/hard/frontend/16-error-handling-protocol.md +79 -0
- package/seeds/specs/hard/frontend/17-permission-protocol.md +79 -0
- package/seeds/specs/hard/frontend/18-state-management-protocol.md +88 -0
- package/seeds/specs/hard/frontend/19-cache-protocol.md +79 -0
- package/seeds/specs/hard/frontend/20-testing-protocol.md +88 -0
- package/seeds/specs/hard/frontend/21-design-system-protocol.md +79 -0
- package/seeds/specs/hard/frontend/22-theme-protocol.md +79 -0
- package/seeds/specs/hard/frontend/23-accessibility-protocol.md +189 -0
- package/seeds/specs/hard/frontend/24-component-protocol.md +80 -0
- package/seeds/specs/hard/frontend/25-page-structure-protocol.md +79 -0
- package/seeds/specs/hard/frontend/26-style-layout-protocol.md +80 -0
- package/seeds/specs/hard/frontend/27-rendering-state-protocol.md +81 -0
- package/seeds/specs/hard/frontend/28-form-protocol.md +88 -0
- package/seeds/specs/hard/frontend/29-routing-url-protocol.md +79 -0
- package/seeds/specs/hard/frontend/30-data-grid-protocol.md +83 -0
- package/seeds/specs/hard/frontend/31-performance-protocol.md +137 -0
- package/seeds/specs/hard/frontend/32-file-import-export-protocol.md +80 -0
- package/seeds/specs/hard/frontend/33-release-versioning-protocol.md +79 -0
- package/seeds/specs/hard/frontend/34-monitoring-logging-protocol.md +128 -0
- package/seeds/specs/hard/frontend/35-mock-protocol.md +97 -0
- package/seeds/specs/hard/frontend/36-feature-flag-protocol.md +79 -0
- package/seeds/specs/hard/frontend/37-browser-device-compatibility-protocol.md +83 -0
- package/seeds/specs/hard/frontend/38-internationalization-protocol.md +243 -0
- package/seeds/specs/hard/frontend/39-copywriting-protocol.md +79 -0
- package/seeds/specs/hard/frontend/40-analytics-protocol.md +98 -0
- package/seeds/specs/hard/frontend/41-design-handoff-protocol.md +80 -0
- package/seeds/specs/hard/frontend/42-browser-runtime-lifecycle-protocol.md +86 -0
- package/seeds/specs/hard/frontend/43-time-temporal-protocol.md +86 -0
- package/seeds/specs/hard/frontend/44-privacy-data-lifecycle-protocol.md +87 -0
- package/seeds/specs/hard/frontend/45-browser-storage-protocol.md +87 -0
- package/seeds/specs/hard/frontend/index.md +308 -0
- package/seeds/specs/hard/stacks/java/index.md +20 -0
- package/seeds/specs/hard/stacks/java/java-language-overlay.md +35 -0
- package/seeds/specs/hard/stacks/jpa/index.md +20 -0
- package/seeds/specs/hard/stacks/jpa/jpa-persistence-overlay.md +35 -0
- package/seeds/specs/hard/stacks/kubernetes-ingress/index.md +20 -0
- package/seeds/specs/hard/stacks/kubernetes-ingress/kubernetes-ingress-overlay.md +35 -0
- package/seeds/specs/hard/stacks/messaging/index.md +20 -0
- package/seeds/specs/hard/stacks/messaging/messaging-reliability-overlay.md +35 -0
- package/seeds/specs/hard/stacks/mybatis/index.md +20 -0
- package/seeds/specs/hard/stacks/mybatis/mybatis-persistence-overlay.md +35 -0
- package/seeds/specs/hard/stacks/mysql/index.md +20 -0
- package/seeds/specs/hard/stacks/mysql/mysql-database-overlay.md +35 -0
- package/seeds/specs/hard/stacks/nginx/index.md +20 -0
- package/seeds/specs/hard/stacks/nginx/nginx-proxy-overlay.md +35 -0
- package/seeds/specs/hard/stacks/postgresql/index.md +20 -0
- package/seeds/specs/hard/stacks/postgresql/postgresql-database-overlay.md +35 -0
- package/seeds/specs/hard/stacks/redis/index.md +20 -0
- package/seeds/specs/hard/stacks/redis/redis-cache-overlay.md +35 -0
- package/seeds/specs/hard/stacks/spring-batch/index.md +20 -0
- package/seeds/specs/hard/stacks/spring-batch/spring-batch-job-overlay.md +35 -0
- package/seeds/specs/hard/stacks/spring-boot/index.md +20 -0
- package/seeds/specs/hard/stacks/spring-boot/spring-boot-application-overlay.md +35 -0
- package/seeds/specs/hard/stacks/spring-mvc/index.md +20 -0
- package/seeds/specs/hard/stacks/spring-mvc/spring-mvc-web-overlay.md +35 -0
- package/seeds/specs/hard/stacks/spring-webflux/index.md +20 -0
- package/seeds/specs/hard/stacks/spring-webflux/spring-webflux-reactive-overlay.md +35 -0
- package/seeds/specs/hard/stacks/tomcat/index.md +20 -0
- 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/23-cache-redis-consistency-protocol.md
|
|
3
|
+
seed_source_sha256: 073da5821658adfc0580798873fde95c49dc9d993a63949b3b1543a9c0e18a11
|
|
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:cache-redis-consistency-protocol
|
|
12
|
+
criticality: critical
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [prepare, implement, check, release]
|
|
15
|
+
triggers: [redis, cache]
|
|
16
|
+
requires: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 缓存与 Redis 一致性协议
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
规范 key、value schema、TTL、序列化、失效、一致性、防击穿与降级。
|
|
24
|
+
|
|
25
|
+
## Non-Scope
|
|
26
|
+
|
|
27
|
+
不默认指定 Redis,也不规定项目 key 与 TTL 数值。
|
|
28
|
+
|
|
29
|
+
## Terms
|
|
30
|
+
|
|
31
|
+
权威数据源是在冲突时决定业务事实的持久来源。
|
|
32
|
+
|
|
33
|
+
## MUST
|
|
34
|
+
|
|
35
|
+
- 缓存必须定义 key 维度、权限隔离、TTL、更新失效、故障和恢复行为。
|
|
36
|
+
|
|
37
|
+
## MUST NOT
|
|
38
|
+
|
|
39
|
+
- 不得让不同租户、权限、过滤或版本的数据共享含混 key。
|
|
40
|
+
|
|
41
|
+
## SHOULD
|
|
42
|
+
|
|
43
|
+
- 应设计缓存穿透、击穿、雪崩和热 key 的限制与观测。
|
|
44
|
+
|
|
45
|
+
## Contract
|
|
46
|
+
|
|
47
|
+
缓存契约必须包含权威源、schema 版本、读写顺序、陈旧容忍和降级。
|
|
48
|
+
|
|
49
|
+
## Checklist
|
|
50
|
+
|
|
51
|
+
- [ ] DB 提交、缓存失败、并发更新、淘汰和重建已测试。
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
- 写库提交后删除版本化缓存,读路径在 miss 时受控回源。
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- 先写缓存再写数据库且没有补偿或一致性说明。
|
|
60
|
+
|
|
61
|
+
## Ownership
|
|
62
|
+
|
|
63
|
+
数据 Owner 定义一致性,缓存维护者提供失效与恢复证据。
|
|
64
|
+
|
|
65
|
+
## Change Policy
|
|
66
|
+
|
|
67
|
+
value schema 或 key 变化必须版本化并规划旧数据清理。
|
|
68
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/universal/24-external-integration-resilience-protocol.md
|
|
3
|
+
seed_source_sha256: e6b0626c9169e9126319bd08ee5d5bdbe38421cfa175509524145aee30ff539a
|
|
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:external-integration-resilience-protocol
|
|
12
|
+
criticality: critical
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [prepare, implement, check, release]
|
|
15
|
+
triggers: [external-integration, resilience]
|
|
16
|
+
requires: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 外部集成与韧性协议
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
规范外部契约、超时、重试、熔断、补偿、对账和供应方故障。
|
|
24
|
+
|
|
25
|
+
## Non-Scope
|
|
26
|
+
|
|
27
|
+
不发明供应方 SLA、字段或错误语义。
|
|
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
|
+
- 写入本地意图后异步调用供应方,并通过状态机与对账收敛。
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- 捕获外部异常后记录日志并返回业务成功。
|
|
60
|
+
|
|
61
|
+
## Ownership
|
|
62
|
+
|
|
63
|
+
集成 Owner 维护供应方契约,业务 Owner 决定降级与补偿语义。
|
|
64
|
+
|
|
65
|
+
## Change Policy
|
|
66
|
+
|
|
67
|
+
供应方版本或认证变化必须经过兼容窗口和演练。
|
|
68
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/universal/25-async-job-scheduler-protocol.md
|
|
3
|
+
seed_source_sha256: 36af3b4466b4e617a9c552a404d98ab74604752b7410e15756d7f132394fb980
|
|
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:async-job-scheduler-protocol
|
|
12
|
+
criticality: standard
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [prepare, implement, check, release]
|
|
15
|
+
triggers: [async-job, scheduler, import-export]
|
|
16
|
+
requires: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 异步任务与调度协议
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
规范 Job 生命周期、进度、取消、重试、调度锁、结果与保留。
|
|
24
|
+
|
|
25
|
+
## Non-Scope
|
|
26
|
+
|
|
27
|
+
不绑定具体调度器、队列或批处理框架。
|
|
28
|
+
|
|
29
|
+
## Terms
|
|
30
|
+
|
|
31
|
+
Job instance 是由稳定业务参数标识的一次可追踪执行意图。
|
|
32
|
+
|
|
33
|
+
## MUST
|
|
34
|
+
|
|
35
|
+
- 任务必须定义身份、状态、幂等、重试、取消、超时和结果访问。
|
|
36
|
+
|
|
37
|
+
## MUST NOT
|
|
38
|
+
|
|
39
|
+
- 不得用固定 sleep、无主线程或无状态记录的后台执行承载关键任务。
|
|
40
|
+
|
|
41
|
+
## SHOULD
|
|
42
|
+
|
|
43
|
+
- 应支持进度、心跳、并发限制、失败恢复和过期清理。
|
|
44
|
+
|
|
45
|
+
## Contract
|
|
46
|
+
|
|
47
|
+
任务契约必须包含触发源、参数、状态机、输出、错误、保留和权限。
|
|
48
|
+
|
|
49
|
+
## Checklist
|
|
50
|
+
|
|
51
|
+
- [ ] 重复触发、节点崩溃、接管、取消、重跑与过期已测试。
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
- 导出任务返回 job ID,调用方查询状态并从受权地址下载结果。
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- 调度表达式重叠时并发执行同一不可重入任务。
|
|
60
|
+
|
|
61
|
+
## Ownership
|
|
62
|
+
|
|
63
|
+
任务 Owner 定义生命周期,运行平台提供调度与执行证据。
|
|
64
|
+
|
|
65
|
+
## Change Policy
|
|
66
|
+
|
|
67
|
+
参数或状态变化必须兼容历史任务和进行中的执行。
|
|
68
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/universal/26-engineering-tooling-protocol.md
|
|
3
|
+
seed_source_sha256: b0fcecee17a3acdb11f59f065ae7cac269cc292e999dd39444e5293565d38fe1
|
|
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:engineering-tooling-protocol
|
|
12
|
+
criticality: standard
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [prepare, implement, check]
|
|
15
|
+
triggers: [build, tooling, ci]
|
|
16
|
+
requires: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 工程工具协议
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
规范构建、静态检查、生成产物、CI、版本固定、ADR 与可复现性。
|
|
24
|
+
|
|
25
|
+
## Non-Scope
|
|
26
|
+
|
|
27
|
+
不规定所有项目使用同一构建工具。
|
|
28
|
+
|
|
29
|
+
## Terms
|
|
30
|
+
|
|
31
|
+
可复现构建是从受控输入得到可核对产物的过程。
|
|
32
|
+
|
|
33
|
+
## MUST
|
|
34
|
+
|
|
35
|
+
- 运行时、构建工具、依赖锁定和质量命令必须在仓库或受控环境中可发现。
|
|
36
|
+
|
|
37
|
+
## MUST NOT
|
|
38
|
+
|
|
39
|
+
- 不得手工修改生成产物或让本地与 CI 使用不一致的门禁。
|
|
40
|
+
|
|
41
|
+
## SHOULD
|
|
42
|
+
|
|
43
|
+
- 应自动校验生成代码、契约、migration、依赖和容器配置漂移。
|
|
44
|
+
|
|
45
|
+
## Contract
|
|
46
|
+
|
|
47
|
+
工具链记录必须包含版本来源、入口命令、输入、输出和失败门禁。
|
|
48
|
+
|
|
49
|
+
## Checklist
|
|
50
|
+
|
|
51
|
+
- [ ] 干净环境可完成构建、测试和静态检查。
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
- CI 重新生成 OpenAPI 产物并拒绝未提交差异。
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- 依赖开发机全局工具或未记录的 IDE 操作。
|
|
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/27-dependency-supply-chain-protocol.md
|
|
3
|
+
seed_source_sha256: 7e0817507039ab5f633ff4cb7eb3590d8755a547b8db91867f92bc702a64ddfe
|
|
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:dependency-supply-chain-protocol
|
|
12
|
+
criticality: critical
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [prepare, implement, check, release]
|
|
15
|
+
triggers: [dependency, supply-chain]
|
|
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
|
+
- 安全升级同时验证 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/28-testing-protocol.md
|
|
3
|
+
seed_source_sha256: f5df73dd7bec4ccf4132c3d7a9918a6f1cb0dd9682aa17956cb24446aa406ad7
|
|
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:testing-protocol
|
|
12
|
+
criticality: critical
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [prepare, check, release]
|
|
15
|
+
triggers: [testing, acceptance]
|
|
16
|
+
requires: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 测试协议
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
规范单元、API、集成、契约、迁移、并发、安全、性能与故障测试。
|
|
24
|
+
|
|
25
|
+
## Non-Scope
|
|
26
|
+
|
|
27
|
+
不规定统一覆盖率阈值或替代验收证据协议。
|
|
28
|
+
|
|
29
|
+
## Terms
|
|
30
|
+
|
|
31
|
+
测试层级按需要隔离的边界与要证明的风险划分。
|
|
32
|
+
|
|
33
|
+
## MUST
|
|
34
|
+
|
|
35
|
+
- 测试计划必须覆盖变更行为、边界、失败、兼容和高风险交互。
|
|
36
|
+
|
|
37
|
+
## MUST NOT
|
|
38
|
+
|
|
39
|
+
- 不得用固定 sleep、共享脏数据或只测成功路径获得虚假稳定性。
|
|
40
|
+
|
|
41
|
+
## SHOULD
|
|
42
|
+
|
|
43
|
+
- 应控制时间、随机、网络和外部依赖,并保留失败诊断信息。
|
|
44
|
+
|
|
45
|
+
## Contract
|
|
46
|
+
|
|
47
|
+
测试证据必须包含范围、环境、命令、结果、失败和未覆盖风险。
|
|
48
|
+
|
|
49
|
+
## Checklist
|
|
50
|
+
|
|
51
|
+
- [ ] API、DB、事务、并发、幂等、缓存、安全和回滚按影响选择。
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
- migration 在真实数据库版本上验证前向、兼容与恢复。
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- Mock 掉所有边界后声称集成行为已验证。
|
|
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/29-observability-logging-tracing-protocol.md
|
|
3
|
+
seed_source_sha256: e871f5d7d1e9fe68956881877baba94f376a5539753441853f8cfa12939f5ebd
|
|
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:observability-logging-tracing-protocol
|
|
12
|
+
criticality: standard
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [implement, check, release]
|
|
15
|
+
triggers: [observability, logging, tracing]
|
|
16
|
+
requires: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 可观测性、日志与追踪协议
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
规范日志、指标、TraceId、审计、告警和事故诊断证据。
|
|
24
|
+
|
|
25
|
+
## Non-Scope
|
|
26
|
+
|
|
27
|
+
不替代错误码、隐私、安全或具体监控平台配置。
|
|
28
|
+
|
|
29
|
+
## Terms
|
|
30
|
+
|
|
31
|
+
可观测信号包括结构化日志、指标、trace、审计和健康状态。
|
|
32
|
+
|
|
33
|
+
## MUST
|
|
34
|
+
|
|
35
|
+
- 关键操作必须可关联版本、环境、主体、操作结果与 TraceId。
|
|
36
|
+
|
|
37
|
+
## MUST NOT
|
|
38
|
+
|
|
39
|
+
- 不得记录 token、密码、secret、完整敏感 payload 或无界高基数值。
|
|
40
|
+
|
|
41
|
+
## SHOULD
|
|
42
|
+
|
|
43
|
+
- 应为关键失败、延迟、容量和依赖建立可行动的指标与告警。
|
|
44
|
+
|
|
45
|
+
## Contract
|
|
46
|
+
|
|
47
|
+
信号设计必须定义 schema、级别、采样、保留、脱敏、Owner 与排障用途。
|
|
48
|
+
|
|
49
|
+
## Checklist
|
|
50
|
+
|
|
51
|
+
- [ ] 成功、失败、重试、降级和恢复均能通过信号关联。
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
- 外部调用 trace 记录供应方、结果类和延迟,不记录认证凭据。
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- 只打印自由文本异常,无法按请求、版本或业务操作聚合。
|
|
60
|
+
|
|
61
|
+
## Ownership
|
|
62
|
+
|
|
63
|
+
服务维护者拥有诊断信号,运行角色维护告警与事故流程。
|
|
64
|
+
|
|
65
|
+
## Change Policy
|
|
66
|
+
|
|
67
|
+
信号 schema、采样或保留变化必须评估仪表盘、告警和隐私影响。
|
|
68
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/universal/30-performance-capacity-protocol.md
|
|
3
|
+
seed_source_sha256: b575dd07e4bb6def646acb55c3d62d086a9fd12035b2ab359ec353bf443773e5
|
|
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:performance-capacity-protocol
|
|
12
|
+
criticality: standard
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [prepare, check, release]
|
|
15
|
+
triggers: [performance, capacity]
|
|
16
|
+
requires: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 性能与容量协议
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
规范延迟、吞吐、连接池、线程、批处理、背压、容量和压测证据。
|
|
24
|
+
|
|
25
|
+
## Non-Scope
|
|
26
|
+
|
|
27
|
+
不在 universal 中规定具体数值阈值或硬件规模。
|
|
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
|
+
- 在目标数据量和并发模型下报告 p95/p99、错误率与资源曲线。
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- 盲目增大池大小导致下游过载和更长排队。
|
|
60
|
+
|
|
61
|
+
## Ownership
|
|
62
|
+
|
|
63
|
+
业务 Owner 提供负载目标,Backend 与运行角色验证容量。
|
|
64
|
+
|
|
65
|
+
## Change Policy
|
|
66
|
+
|
|
67
|
+
预算或容量模型变化必须记录来源并重新运行代表性测试。
|
|
68
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/universal/31-runtime-deployment-protocol.md
|
|
3
|
+
seed_source_sha256: c791451de0be3aa0629fd562e2b43cc54066e4b10d786264fa7a333c561ef23a
|
|
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:runtime-deployment-protocol
|
|
12
|
+
criticality: critical
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [prepare, implement, check, release]
|
|
15
|
+
triggers: [runtime, deployment, configuration]
|
|
16
|
+
requires: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 运行时与部署协议
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
规范部署单元、实例、网络、TLS、代理头、健康检查、容器与运行时加固。
|
|
24
|
+
|
|
25
|
+
## Non-Scope
|
|
26
|
+
|
|
27
|
+
不默认选择 Nginx、Ingress、Tomcat、容器平台或具体 JVM 参数。
|
|
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
|
+
- [ ] 多实例、代理链、TLS、健康、配置、日志与回滚已演练。
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
- 明确 Ingress 到 Service 再到应用的代理头与健康检查责任。
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- 应用无条件信任任意来源的 `X-Forwarded-*`。
|
|
60
|
+
|
|
61
|
+
## Ownership
|
|
62
|
+
|
|
63
|
+
Backend 拥有应用运行契约,平台角色拥有受控部署环境。
|
|
64
|
+
|
|
65
|
+
## Change Policy
|
|
66
|
+
|
|
67
|
+
拓扑或打包变化必须同步技术基线、发布方案与运行验证。
|
|
68
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/universal/32-release-versioning-rollback-protocol.md
|
|
3
|
+
seed_source_sha256: 26a6a23928fc24338f69fb34199ecdea5f654e21534a76ac53a7c0b78030b3c8
|
|
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:release-versioning-rollback-protocol
|
|
12
|
+
criticality: critical
|
|
13
|
+
injection_mode: triggered
|
|
14
|
+
stages: [prepare, check, release]
|
|
15
|
+
triggers: [release, rollback, versioning]
|
|
16
|
+
requires: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# 发布、版本与回滚协议
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
规范版本、灰度、开关、发布记录、兼容窗口、回滚和数据库演进。
|
|
24
|
+
|
|
25
|
+
## Non-Scope
|
|
26
|
+
|
|
27
|
+
不替代具体平台操作手册或证据验收协议。
|
|
28
|
+
|
|
29
|
+
## Terms
|
|
30
|
+
|
|
31
|
+
可回退包括代码回滚、配置恢复、流量撤回和数据 roll-forward 的组合能力。
|
|
32
|
+
|
|
33
|
+
## MUST
|
|
34
|
+
|
|
35
|
+
- 发布前必须确认版本、依赖顺序、兼容、观测、停止条件和恢复路径。
|
|
36
|
+
|
|
37
|
+
## MUST NOT
|
|
38
|
+
|
|
39
|
+
- 不得在无法恢复数据或无监控信号时进行不可逆全量发布。
|
|
40
|
+
|
|
41
|
+
## SHOULD
|
|
42
|
+
|
|
43
|
+
- 应采用小批量灰度、可撤回开关和前后版本并行兼容。
|
|
44
|
+
|
|
45
|
+
## Contract
|
|
46
|
+
|
|
47
|
+
发布记录必须包含变更范围、产物 hash、步骤、门禁、指标、Owner 与结果。
|
|
48
|
+
|
|
49
|
+
## Checklist
|
|
50
|
+
|
|
51
|
+
- [ ] 应用、数据库、配置、消息、缓存与消费者版本已对齐。
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
- 先发布兼容读写版本,完成数据迁移后再清理旧契约。
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- 把数据库回滚等同于逆向执行破坏性 migration。
|
|
60
|
+
|
|
61
|
+
## Ownership
|
|
62
|
+
|
|
63
|
+
发布责任人执行门禁,Backend 提供兼容与恢复证据。
|
|
64
|
+
|
|
65
|
+
## Change Policy
|
|
66
|
+
|
|
67
|
+
发布流程和阻断门禁变化必须通过演练与审计后生效。
|
|
68
|
+
|