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/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
|
+
|