pomaster 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -22
- 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 +95 -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 +95 -0
- package/catalog/policies/policy.sec.third_party_execution_register.json +2 -1
- package/catalog/policies/policy.sec.trust_boundary_enforcement.json +96 -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 +20514 -10735
- package/package.json +2 -1
- package/seeds/aggregation-manifest.json +691 -0
- 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 +1429 -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/stacks/antdesign/antdesign-ui-overlay.md +48 -0
- package/seeds/specs/hard/stacks/antdesign/index.md +20 -0
- package/seeds/specs/hard/stacks/css/css-system-overlay.md +52 -0
- package/seeds/specs/hard/stacks/css/index.md +20 -0
- package/seeds/specs/hard/stacks/geist/geist-design-system-overlay.md +48 -0
- package/seeds/specs/hard/stacks/geist/index.md +20 -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
- package/seeds/specs/hard/stacks/vue3/index.md +20 -0
- package/seeds/specs/hard/stacks/vue3/vue3-framework-overlay.md +71 -0
- package/seeds/specs/hard/themes/ai-generated-code.md +171 -0
- package/seeds/specs/hard/themes/api-contract-and-error-semantics.md +532 -0
- package/seeds/specs/hard/themes/architecture-and-module-boundaries.md +323 -0
- package/seeds/specs/hard/themes/data-and-transactions.md +582 -0
- package/seeds/specs/hard/themes/engineering-toolchain-and-dependencies.md +333 -0
- package/seeds/specs/hard/themes/environment-and-configuration.md +196 -0
- package/seeds/specs/hard/themes/frontend-state-and-client-data.md +342 -0
- package/seeds/specs/hard/themes/index.md +374 -0
- package/seeds/specs/hard/themes/integration-and-async-runtime.md +331 -0
- package/seeds/specs/hard/themes/internationalization-and-copywriting.md +350 -0
- package/seeds/specs/hard/themes/observability-and-analytics.md +305 -0
- package/seeds/specs/hard/themes/page-composition-and-browser-environment.md +554 -0
- package/seeds/specs/hard/themes/performance-and-capacity.md +226 -0
- package/seeds/specs/hard/themes/permission-and-authorization.md +168 -0
- package/seeds/specs/hard/themes/privacy-and-data-lifecycle.md +176 -0
- package/seeds/specs/hard/themes/release-and-feature-flags.md +237 -0
- package/seeds/specs/hard/themes/security.md +372 -0
- package/seeds/specs/hard/themes/task-governance-and-acceptance.md +554 -0
- package/seeds/specs/hard/themes/testing-and-verification.md +266 -0
- package/seeds/specs/hard/themes/ui-presentation-and-design.md +670 -0
- package/seeds/specs/hard/themes/value-semantics-and-domain-data.md +339 -0
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: packages/cli/seeds/aggregation-manifest.json
|
|
3
|
+
seed_source_sha256: 039b637ccffacdfe3ce30d85e193f4b38928fcdfb16efdc4eb255e35e05af91f
|
|
4
|
+
seed_version: B7-THEME
|
|
5
|
+
lane: [frontend, backend]
|
|
6
|
+
status: CURRENT
|
|
7
|
+
authority_scope: mixed_required_and_advisory
|
|
8
|
+
applies_to: [frontend, backend]
|
|
9
|
+
related_evidence_specs: []
|
|
10
|
+
related_tools: []
|
|
11
|
+
legacy_id: theme:task-governance-and-acceptance
|
|
12
|
+
criticality: critical # 聚合注记:取源最高;info 性注记非执行语义
|
|
13
|
+
injection_mode: mixed # 聚合注记:来源值混合;info 性注记非执行语义
|
|
14
|
+
stages: [prepare, implement, check, release] # 聚合注记:来源 stages 并集;info 性注记非执行语义
|
|
15
|
+
triggers: [ownership, handoff] # 聚合注记:来源 triggers 并集;info 性注记非执行语义
|
|
16
|
+
requires: [] # 聚合注记:来源 requires 并集(全空)
|
|
17
|
+
x-aggregation: # 聚合来源(D6):逐源 vendor pin(sha256 与卡 vendor_pin 同值)
|
|
18
|
+
- seed_source: pomaster/components/frontend-hard-spec/assets/universal/01-development-checklist-protocol.md
|
|
19
|
+
sha256: fa8914b29dbf7af25c8128aa1b8936fd658e37854e0a4f457175e2e3c82c3a03
|
|
20
|
+
seed_version: B6B-1
|
|
21
|
+
- seed_source: pomaster/components/frontend-hard-spec/assets/universal/03-acceptance-gate-protocol.md
|
|
22
|
+
sha256: 646dcbd7035d43d84ca592218a356c08a4baca36619109797322d90ba3d99b73
|
|
23
|
+
seed_version: B6B-1
|
|
24
|
+
- seed_source: pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md
|
|
25
|
+
sha256: 2f19b46e451153cab35e9fb511d9da0f072f86424e7d3f7a6b307cd17a9d1b32
|
|
26
|
+
seed_version: B6B-1
|
|
27
|
+
- seed_source: pomaster/components/frontend-hard-spec/assets/universal/08-role-responsibility-protocol.md
|
|
28
|
+
sha256: 732ac305cd16207e4a7bd4c95a6774d1aca33fb4e45cf29991ac0f6475605d6f
|
|
29
|
+
seed_version: B6B-1
|
|
30
|
+
- seed_source: pomaster/components/backend-hard-spec/assets/universal/05-task-workflow-protocol.md
|
|
31
|
+
sha256: b0d176f1f2d19cd14739ff4de39d77659036516ab1377b83c261ecc53a2de2dd
|
|
32
|
+
seed_version: B6C
|
|
33
|
+
- seed_source: pomaster/components/backend-hard-spec/assets/universal/07-evidence-acceptance-protocol.md
|
|
34
|
+
sha256: fb86312eaadaec81d21e20abfb979e0127138002731ddc4fb1ead9ec90cd10bb
|
|
35
|
+
seed_version: B6C
|
|
36
|
+
- seed_source: pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md
|
|
37
|
+
sha256: 805c146b31c70d08f876631bc19273076eb242d78fcb3b3a3bd33437e28a6953
|
|
38
|
+
seed_version: B6C
|
|
39
|
+
- seed_source: pomaster/components/backend-hard-spec/assets/universal/09-role-responsibility-protocol.md
|
|
40
|
+
sha256: 603b285faa271b77140f28e1038f850cd01b17ed1813b965898c4746233b342f
|
|
41
|
+
seed_version: B6C
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
# 任务治理与验收
|
|
45
|
+
|
|
46
|
+
> **聚合纪律**:本文档 12 节正文规则行逐字取自 frontmatter x-aggregation 所列来源协议(节内按「端 → 源编号升序」以加粗来源行分块,源内标题与层级原样保留),零新增、零改写、零删除;新增文本仅限文档标题、本注记与逐节来源行。
|
|
47
|
+
|
|
48
|
+
## Scope
|
|
49
|
+
|
|
50
|
+
**源:FE 01 开发检查项协议(pomaster/components/frontend-hard-spec/assets/universal/01-development-checklist-protocol.md)**
|
|
51
|
+
|
|
52
|
+
P0。把规范转成每次开发前、开发中、开发后的强制动作,适用于功能、修复、重构、配置和文档驱动变更。
|
|
53
|
+
|
|
54
|
+
**源:FE 03 验收门禁协议(pomaster/components/frontend-hard-spec/assets/universal/03-acceptance-gate-protocol.md)**
|
|
55
|
+
|
|
56
|
+
P0。定义变更何时可以进入 Review、提测和上线,以及各阶段的必备证据。
|
|
57
|
+
|
|
58
|
+
**源:FE 06 变更治理协议(pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md)**
|
|
59
|
+
|
|
60
|
+
P0。管理公共组件、公共 API、样式、状态、schema 和平台能力的影响评估、兼容、废弃和迁移。
|
|
61
|
+
|
|
62
|
+
**源:FE 08 角色责任协议(pomaster/components/frontend-hard-spec/assets/universal/08-role-responsibility-protocol.md)**
|
|
63
|
+
|
|
64
|
+
P0/P1 治理协议。定义需求、设计、前端、后端、测试、平台、安全、协议和 AI 协作中的责任边界。
|
|
65
|
+
|
|
66
|
+
**源:BE 05 后端任务工作流协议(pomaster/components/backend-hard-spec/assets/universal/05-task-workflow-protocol.md)**
|
|
67
|
+
|
|
68
|
+
定义 Backend Ready、阶段选择、影响识别和执行路由。
|
|
69
|
+
|
|
70
|
+
**源:BE 07 证据与验收协议(pomaster/components/backend-hard-spec/assets/universal/07-evidence-acceptance-protocol.md)**
|
|
71
|
+
|
|
72
|
+
定义计划证据、实现证据、检查证据、发布证据和例外门禁。
|
|
73
|
+
|
|
74
|
+
**源:BE 08 契约变更协议(pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md)**
|
|
75
|
+
|
|
76
|
+
识别 API、错误码、schema、消息、配置与运行行为的兼容影响。
|
|
77
|
+
|
|
78
|
+
**源:BE 09 角色与责任协议(pomaster/components/backend-hard-spec/assets/universal/09-role-responsibility-protocol.md)**
|
|
79
|
+
|
|
80
|
+
规范 Owner、RACI、评审责任、升级和跨角色交接。
|
|
81
|
+
|
|
82
|
+
## Non-Scope
|
|
83
|
+
|
|
84
|
+
**源:FE 01 开发检查项协议**
|
|
85
|
+
|
|
86
|
+
不定义技术栈命令,不替代测试协议、验收门禁和发布审批。
|
|
87
|
+
|
|
88
|
+
**源:FE 03 验收门禁协议**
|
|
89
|
+
|
|
90
|
+
不指定测试框架,不替代业务验收、发布平台操作或人工批准责任。
|
|
91
|
+
|
|
92
|
+
**源:FE 06 变更治理协议**
|
|
93
|
+
|
|
94
|
+
不定义单个组件的业务功能,不替代版本发布和代码评审。
|
|
95
|
+
|
|
96
|
+
**源:FE 08 角色责任协议**
|
|
97
|
+
|
|
98
|
+
不规定组织架构、职级、绩效或人员姓名,不替代项目管理系统。
|
|
99
|
+
|
|
100
|
+
**源:BE 05 后端任务工作流协议**
|
|
101
|
+
|
|
102
|
+
不替代 BP 业务事实或项目级实施方案。
|
|
103
|
+
|
|
104
|
+
**源:BE 07 证据与验收协议**
|
|
105
|
+
|
|
106
|
+
不替代各领域协议规定的具体测试方法。
|
|
107
|
+
|
|
108
|
+
**源:BE 08 契约变更协议**
|
|
109
|
+
|
|
110
|
+
不定义具体业务契约内容。
|
|
111
|
+
|
|
112
|
+
**源:BE 09 角色与责任协议**
|
|
113
|
+
|
|
114
|
+
不保存具体项目的人员名单或排班。
|
|
115
|
+
|
|
116
|
+
## Terms
|
|
117
|
+
|
|
118
|
+
**源:FE 01 开发检查项协议**
|
|
119
|
+
|
|
120
|
+
- Change Classification:局部、同类模式、公共能力、契约、平台或工程变更。
|
|
121
|
+
- Impact Set:必须修改、需要同步、明确禁止修改的范围。
|
|
122
|
+
- Evidence:搜索、测试、截图、构建、契约差异等可复核证据。
|
|
123
|
+
- Spec Update Review:开发完成后判断是否需要补充 spec 的强制复核。
|
|
124
|
+
|
|
125
|
+
**源:FE 03 验收门禁协议**
|
|
126
|
+
|
|
127
|
+
- Ready for Review:实现和自检完成。
|
|
128
|
+
- Ready for Test:评审阻塞关闭,构建可测试。
|
|
129
|
+
- Ready for Release:质量、安全、监控和回滚可用。
|
|
130
|
+
- Ready for Development:相关项目级和需求级 spec 已达到 Baseline 或批准的 Candidate。
|
|
131
|
+
- Blocker:不满足即禁止进入下一阶段的问题。
|
|
132
|
+
|
|
133
|
+
**源:FE 06 变更治理协议**
|
|
134
|
+
|
|
135
|
+
- Public Contract:被多个调用方依赖的稳定接口或默认行为。
|
|
136
|
+
- Breaking Change:要求调用方修改才能继续工作的变更。
|
|
137
|
+
- Deprecated:仍可用但已声明迁移目标和删除期限的能力。
|
|
138
|
+
- Spec Status:Draft、Candidate、Baseline、Controlled Change 或 Release Review。
|
|
139
|
+
- Baseline:可作为开发依据的冻结版本。
|
|
140
|
+
- Controlled Change:Baseline 后带影响、Owner、迁移和验证证据的受控修改。
|
|
141
|
+
|
|
142
|
+
**源:FE 08 角色责任协议**
|
|
143
|
+
|
|
144
|
+
- Responsible:执行者。
|
|
145
|
+
- Accountable:最终责任者。
|
|
146
|
+
- Consulted:必须征询者。
|
|
147
|
+
- Informed:必须通知者。
|
|
148
|
+
- Approver:有权放行例外者。
|
|
149
|
+
|
|
150
|
+
**源:BE 05 后端任务工作流协议**
|
|
151
|
+
|
|
152
|
+
stage 为 `prepare`、`implement`、`check` 或 `release`。
|
|
153
|
+
|
|
154
|
+
**源:BE 07 证据与验收协议**
|
|
155
|
+
|
|
156
|
+
证据是可由他人复核的代码坐标、hash、测试、报告或运行结果。
|
|
157
|
+
|
|
158
|
+
**源:BE 08 契约变更协议**
|
|
159
|
+
|
|
160
|
+
公共契约是已有调用方、持久化数据或运行依赖所观察的稳定行为。
|
|
161
|
+
|
|
162
|
+
**源:BE 09 角色与责任协议**
|
|
163
|
+
|
|
164
|
+
Owner 指对契约、实现或证据完整性承担最终维护责任的角色。
|
|
165
|
+
|
|
166
|
+
## MUST
|
|
167
|
+
|
|
168
|
+
**源:FE 01 开发检查项协议 · §MUST**
|
|
169
|
+
|
|
170
|
+
- 开发前完成变更分类、协议选择、复用搜索和影响范围。
|
|
171
|
+
- 写代码前列出 Must Change、Must Sync、Must Not Change。
|
|
172
|
+
- 缺少正式字段、状态、权限、接口或业务规则时先补契约或阻塞确认。
|
|
173
|
+
- 开发中发现范围扩大时重新分类并更新计划。
|
|
174
|
+
- 开发后提供检查结果、影响说明和残余风险。
|
|
175
|
+
- 开发后、任务关闭或收口(closeout)流程前必须完成 Spec Update Review。
|
|
176
|
+
- 发现新规则、重复坑点、接口/组件/目录/测试约定时必须更新对应 spec;无更新时必须记录原因。
|
|
177
|
+
|
|
178
|
+
**源:FE 03 验收门禁协议 · §MUST**
|
|
179
|
+
|
|
180
|
+
- 每个阶段输出 pass、fail 或有期限的 exception,并附证据。
|
|
181
|
+
- P0 门禁失败时禁止进入下一阶段。
|
|
182
|
+
- 契约、权限、安全、数据迁移和回滚风险必须确认。
|
|
183
|
+
- 公共能力变更必须验证全部受影响调用方。
|
|
184
|
+
- 例外必须记录负责人、风险、补偿措施和期限。
|
|
185
|
+
- 开发前必须确认命中的项目级、需求级、组件级和接口级 spec 状态。
|
|
186
|
+
- Review、提测、上线或任务关闭前必须确认 Spec Update Review 已完成。
|
|
187
|
+
|
|
188
|
+
**源:FE 06 变更治理协议 · §MUST**
|
|
189
|
+
|
|
190
|
+
- 公共变更前列出直接/间接调用方和受影响场景。
|
|
191
|
+
- 保持兼容或提供迁移方案、版本范围和回滚。
|
|
192
|
+
- 更新 contract、示例、测试、文档和通知。
|
|
193
|
+
- 删除前必须先 deprecated 并确认无使用方。
|
|
194
|
+
- 局部问题与公共问题必须按根因选择修改层级。
|
|
195
|
+
- 项目级 spec、需求级 spec、公共组件 spec 和接口 spec 必须记录状态、版本、Owner、更新时间和生效范围。
|
|
196
|
+
- Baseline 后修改公共组件 API、接口字段、权限码、错误码、Design Token、目录边界、状态模型、金额精度或验收门禁,必须走 Controlled Change。
|
|
197
|
+
- 每次开发后的 Spec Update Review 必须把新规则归类为:需求级记录、长期 spec、通用规范候选或无需更新。
|
|
198
|
+
|
|
199
|
+
**源:FE 08 角色责任协议 · §MUST**
|
|
200
|
+
|
|
201
|
+
- 每个协议、公共组件、接口、业务规则和发布都有 Accountable Owner。
|
|
202
|
+
- 跨团队变更开发前确定 Reviewer 和通知范围。
|
|
203
|
+
- 无 Owner 的关键决策必须阻塞并升级。
|
|
204
|
+
- AI 输出必须由人类 Owner Review,AI 不得成为 Approver。
|
|
205
|
+
|
|
206
|
+
**源:BE 05 后端任务工作流协议 · §MUST**
|
|
207
|
+
|
|
208
|
+
- 必须确认任务事实、stage、写集、契约影响、风险和验证计划。
|
|
209
|
+
|
|
210
|
+
**源:BE 07 证据与验收协议 · §MUST**
|
|
211
|
+
|
|
212
|
+
- 验收结论必须绑定当前任务、review range、版本和可复核证据。
|
|
213
|
+
|
|
214
|
+
**源:BE 08 契约变更协议 · §MUST**
|
|
215
|
+
|
|
216
|
+
- 变更前必须识别消费者、兼容窗口、迁移、回滚和版本策略。
|
|
217
|
+
|
|
218
|
+
**源:BE 09 角色与责任协议 · §MUST**
|
|
219
|
+
|
|
220
|
+
- 高风险决策、公共契约和运行门禁必须有可识别的责任角色。
|
|
221
|
+
|
|
222
|
+
## MUST NOT
|
|
223
|
+
|
|
224
|
+
**源:FE 01 开发检查项协议 · §MUST NOT**
|
|
225
|
+
|
|
226
|
+
- MUST NOT 先实现后补范围。
|
|
227
|
+
- MUST NOT 用“应该没问题”代替证据。
|
|
228
|
+
- MUST NOT 混入无关清理、升级或重构。
|
|
229
|
+
- MUST NOT 跳过 Spec Update Review 后直接归档、收口或发布。
|
|
230
|
+
- MUST NOT 将一次性实现细节写入长期 spec。
|
|
231
|
+
|
|
232
|
+
**源:FE 03 验收门禁协议 · §MUST NOT**
|
|
233
|
+
|
|
234
|
+
- MUST NOT 以时间紧、人工点过或本地正常绕过 P0。
|
|
235
|
+
- MUST NOT 在测试失败、契约未冻结或回滚不可用时放行。
|
|
236
|
+
- MUST NOT 将未知风险标记为通过。
|
|
237
|
+
- MUST NOT 在 spec 仍为 Draft 且无批准 Candidate 的情况下进入正式开发。
|
|
238
|
+
- MUST NOT 将收口(closeout)、归档、发布记录当作 Spec Update Review 的替代品。
|
|
239
|
+
|
|
240
|
+
**源:FE 06 变更治理协议 · §MUST NOT**
|
|
241
|
+
|
|
242
|
+
- MUST NOT 随意改变公共默认行为。
|
|
243
|
+
- MUST NOT 为单页临时需求修改公共 API。
|
|
244
|
+
- MUST NOT 只修一个页面来掩盖公共问题。
|
|
245
|
+
- MUST NOT 无迁移地删除 props、事件、字段或状态。
|
|
246
|
+
- MUST NOT 把 Draft 或示例内容当作 Baseline 执行。
|
|
247
|
+
- MUST NOT 把 Draft 或示例内容当作 Baseline 执行。
|
|
248
|
+
|
|
249
|
+
**源:FE 08 角色责任协议 · §MUST NOT**
|
|
250
|
+
|
|
251
|
+
- MUST NOT 用“团队共同负责”隐藏无人负责。
|
|
252
|
+
- MUST NOT 让前端单方面决定后端契约、公式或数据权限。
|
|
253
|
+
- MUST NOT 让设计稿覆盖安全、可访问性或公共 API。
|
|
254
|
+
- MUST NOT 让 AI 代替业务、合规或上线签字。
|
|
255
|
+
|
|
256
|
+
**源:BE 05 后端任务工作流协议 · §MUST NOT**
|
|
257
|
+
|
|
258
|
+
- 不得把 planned、推测或未运行检查描述为 verified。
|
|
259
|
+
|
|
260
|
+
**源:BE 07 证据与验收协议 · §MUST NOT**
|
|
261
|
+
|
|
262
|
+
- 不得以口头完成声明、过期报告或无来源截图通过门禁。
|
|
263
|
+
|
|
264
|
+
**源:BE 08 契约变更协议 · §MUST NOT**
|
|
265
|
+
|
|
266
|
+
- 不得在没有迁移说明时删除、重命名或改变已发布语义。
|
|
267
|
+
|
|
268
|
+
**源:BE 09 角色与责任协议 · §MUST NOT**
|
|
269
|
+
|
|
270
|
+
- 不得用“团队共同负责”掩盖审批、维护或事故响应空缺。
|
|
271
|
+
|
|
272
|
+
## SHOULD
|
|
273
|
+
|
|
274
|
+
**源:FE 01 开发检查项协议 · §SHOULD**
|
|
275
|
+
|
|
276
|
+
- SHOULD 将检查项集成任务模板、PR 模板和自动化门禁。
|
|
277
|
+
- SHOULD 按风险扩大检查,而非机械执行无关项目。
|
|
278
|
+
|
|
279
|
+
**源:FE 03 验收门禁协议 · §SHOULD**
|
|
280
|
+
|
|
281
|
+
- SHOULD 自动采集 lint、类型、测试、构建、安全和包体证据。
|
|
282
|
+
- SHOULD 按风险设置附加门禁。
|
|
283
|
+
|
|
284
|
+
**源:FE 06 变更治理协议 · §SHOULD**
|
|
285
|
+
|
|
286
|
+
- SHOULD 使用影响模板、自动调用图和 deprecated 提示。
|
|
287
|
+
- SHOULD 将公共变更拆成兼容引入、迁移、删除阶段。
|
|
288
|
+
|
|
289
|
+
**源:FE 08 角色责任协议 · §SHOULD**
|
|
290
|
+
|
|
291
|
+
- SHOULD 为跨层能力维护轻量 RACI。
|
|
292
|
+
- SHOULD 为 Owner 缺席定义代理和升级路径。
|
|
293
|
+
|
|
294
|
+
**源:BE 05 后端任务工作流协议 · §SHOULD**
|
|
295
|
+
|
|
296
|
+
- 应在发现跨角色缺口时生成明确问题或 blocker。
|
|
297
|
+
|
|
298
|
+
**源:BE 07 证据与验收协议 · §SHOULD**
|
|
299
|
+
|
|
300
|
+
- 应记录失败检查、未覆盖风险和经批准例外的到期条件。
|
|
301
|
+
|
|
302
|
+
**源:BE 08 契约变更协议 · §SHOULD**
|
|
303
|
+
|
|
304
|
+
- 应优先采用可并行部署、可观测并可撤回的演进方式。
|
|
305
|
+
|
|
306
|
+
**源:BE 09 角色与责任协议 · §SHOULD**
|
|
307
|
+
|
|
308
|
+
- 应在 handoff 中明确输入、输出、截止条件和拒收标准。
|
|
309
|
+
|
|
310
|
+
## Contract
|
|
311
|
+
|
|
312
|
+
**源:FE 01 开发检查项协议 · §Contract**
|
|
313
|
+
|
|
314
|
+
```text
|
|
315
|
+
Goal, Classification, ProtocolsLoaded, SpecStatus, ReuseSearch,
|
|
316
|
+
MustChange, MustSync, MustNotChange, ContractsAffected,
|
|
317
|
+
ValidationRequired, Evidence, SpecUpdateDecision, ResidualRisk
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**源:FE 03 验收门禁协议 · §Contract**
|
|
321
|
+
|
|
322
|
+
```text
|
|
323
|
+
Gate, SpecStatus, Result, Evidence[], Blockers[], Risks[],
|
|
324
|
+
Approver, ExceptionExpiry?, RollbackVerified?, SpecUpdateReviewed?
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**源:FE 06 变更治理协议 · §Contract**
|
|
328
|
+
|
|
329
|
+
```text
|
|
330
|
+
Change, SpecStatus, Version, Owner, AffectedConsumers[],
|
|
331
|
+
Compatibility, Migration, DeprecationDate?, RemovalDate?,
|
|
332
|
+
Tests, Rollback, SpecUpdateDecision
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**源:FE 08 角色责任协议 · §Contract**
|
|
336
|
+
|
|
337
|
+
```text
|
|
338
|
+
ArtifactOrDecision, Responsible, Accountable,
|
|
339
|
+
Consulted[], Informed[], RequiredReviewers[], EscalationPath
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
**源:BE 05 后端任务工作流协议 · §Contract**
|
|
343
|
+
|
|
344
|
+
每次执行必须输出范围、选中规范、变更结果、检查证据和剩余风险。
|
|
345
|
+
|
|
346
|
+
**源:BE 07 证据与验收协议 · §Contract**
|
|
347
|
+
|
|
348
|
+
验收记录至少包含检查项、命令或来源、结果、时间范围与责任方。
|
|
349
|
+
|
|
350
|
+
**源:BE 08 契约变更协议 · §Contract**
|
|
351
|
+
|
|
352
|
+
变更记录必须包含旧行为、新行为、影响面、兼容判断和验证证据。
|
|
353
|
+
|
|
354
|
+
**源:BE 09 角色与责任协议 · §Contract**
|
|
355
|
+
|
|
356
|
+
责任记录至少包含决策者、执行者、评审者、被通知方和升级路径。
|
|
357
|
+
|
|
358
|
+
## Checklist
|
|
359
|
+
|
|
360
|
+
**源:FE 01 开发检查项协议 · §Checklist**
|
|
361
|
+
|
|
362
|
+
- [ ] 已分类并加载协议。
|
|
363
|
+
- [ ] 已搜索已有能力。
|
|
364
|
+
- [ ] 已声明影响与禁止范围。
|
|
365
|
+
- [ ] 已确认契约、安全和数据边界。
|
|
366
|
+
- [ ] 已提供验证证据。
|
|
367
|
+
- [ ] 已完成 Spec Update Review,并记录更新或不更新的原因。
|
|
368
|
+
|
|
369
|
+
**源:FE 03 验收门禁协议 · §Checklist**
|
|
370
|
+
|
|
371
|
+
- [ ] Review 前范围、契约、自检齐全。
|
|
372
|
+
- [ ] 提测前评审关闭、构建成功、环境明确。
|
|
373
|
+
- [ ] 上线前回归、安全、监控、灰度、回滚通过。
|
|
374
|
+
- [ ] 例外有负责人和到期时间。
|
|
375
|
+
- [ ] 开发前 Ready for Development 已通过。
|
|
376
|
+
- [ ] 收尾前 Spec Update Review 已完成。
|
|
377
|
+
|
|
378
|
+
**源:FE 06 变更治理协议 · §Checklist**
|
|
379
|
+
|
|
380
|
+
- [ ] 根因层级明确。
|
|
381
|
+
- [ ] 调用方清单完整。
|
|
382
|
+
- [ ] 兼容、迁移和回滚可执行。
|
|
383
|
+
- [ ] 测试、示例和通知已更新。
|
|
384
|
+
- [ ] Spec 状态、版本、Owner 和生效范围已记录。
|
|
385
|
+
- [ ] 开发后规则回填已归类并执行。
|
|
386
|
+
|
|
387
|
+
**源:FE 08 角色责任协议 · §Checklist**
|
|
388
|
+
|
|
389
|
+
- [ ] 各阶段 Owner 明确。
|
|
390
|
+
- [ ] 跨层 Reviewer 已确定。
|
|
391
|
+
- [ ] 例外有批准者。
|
|
392
|
+
- [ ] AI 输出有人类责任人。
|
|
393
|
+
|
|
394
|
+
**源:BE 05 后端任务工作流协议 · §Checklist**
|
|
395
|
+
|
|
396
|
+
- [ ] 当前 stage 与任务目标一致。
|
|
397
|
+
|
|
398
|
+
**源:BE 07 证据与验收协议 · §Checklist**
|
|
399
|
+
|
|
400
|
+
- [ ] 计划、实现、测试、运行和发布证据处于同一变更范围。
|
|
401
|
+
|
|
402
|
+
**源:BE 08 契约变更协议 · §Checklist**
|
|
403
|
+
|
|
404
|
+
- [ ] API、数据、消息、配置和运行消费者均已检查。
|
|
405
|
+
|
|
406
|
+
**源:BE 09 角色与责任协议 · §Checklist**
|
|
407
|
+
|
|
408
|
+
- [ ] 跨 BP、Frontend、Backend、Test 与 Ops 的边界已明确。
|
|
409
|
+
|
|
410
|
+
## Examples
|
|
411
|
+
|
|
412
|
+
**源:FE 01 开发检查项协议 · §Examples**
|
|
413
|
+
|
|
414
|
+
### 内容示例,可删除
|
|
415
|
+
|
|
416
|
+
修复单页列宽时,先证明根因属于页面 schema,只修改该 schema 和页面测试,并明确禁止修改全局样式。
|
|
417
|
+
|
|
418
|
+
**源:FE 03 验收门禁协议 · §Examples**
|
|
419
|
+
|
|
420
|
+
### 内容示例,可删除
|
|
421
|
+
|
|
422
|
+
公共表格变更在组件测试、代表页面 E2E 和视觉回归通过后才可提测。
|
|
423
|
+
|
|
424
|
+
**源:FE 06 变更治理协议 · §Examples**
|
|
425
|
+
|
|
426
|
+
### 内容示例,可删除
|
|
427
|
+
|
|
428
|
+
新增 props 保留旧默认值,发布迁移说明,调用方完成迁移后再删除旧 props。
|
|
429
|
+
|
|
430
|
+
**源:FE 08 角色责任协议 · §Examples**
|
|
431
|
+
|
|
432
|
+
### 内容示例,可删除
|
|
433
|
+
|
|
434
|
+
业务 Owner 定义金额口径,后端负责权威计算,前端负责无损展示,QA 验证边界。
|
|
435
|
+
|
|
436
|
+
**源:BE 05 后端任务工作流协议 · §Examples**
|
|
437
|
+
|
|
438
|
+
- 简单内部 Mapper 修复只加载当前 stage 的 always 基线。
|
|
439
|
+
|
|
440
|
+
**源:BE 07 证据与验收协议 · §Examples**
|
|
441
|
+
|
|
442
|
+
- 用 migration 测试与 schema hash 证明数据库变更已验证。
|
|
443
|
+
|
|
444
|
+
**源:BE 08 契约变更协议 · §Examples**
|
|
445
|
+
|
|
446
|
+
- 新字段先以兼容方式发布,消费者迁移后再结束旧版本窗口。
|
|
447
|
+
|
|
448
|
+
**源:BE 09 角色与责任协议 · §Examples**
|
|
449
|
+
|
|
450
|
+
- API 提供方维护契约,调用方确认兼容窗口内完成迁移。
|
|
451
|
+
|
|
452
|
+
## Anti-patterns
|
|
453
|
+
|
|
454
|
+
**源:FE 01 开发检查项协议 · §Anti-patterns**
|
|
455
|
+
|
|
456
|
+
直接修改公共组件,既不搜索调用方,也不验证同类页面,把局部问题扩散成全局回归。
|
|
457
|
+
|
|
458
|
+
**源:FE 03 验收门禁协议 · §Anti-patterns**
|
|
459
|
+
|
|
460
|
+
仅凭“改动很小”跳过构建和调用方验证,直接交付测试或发布。
|
|
461
|
+
|
|
462
|
+
**源:FE 06 变更治理协议 · §Anti-patterns**
|
|
463
|
+
|
|
464
|
+
为一个页面修改公共组件默认 padding,导致所有页面布局变化且没有视觉回归。
|
|
465
|
+
|
|
466
|
+
**源:FE 08 角色责任协议 · §Anti-patterns**
|
|
467
|
+
|
|
468
|
+
接口含义未确认时由前端和 AI 自行解释,最终无人能判断哪个结果正确。
|
|
469
|
+
|
|
470
|
+
**源:BE 05 后端任务工作流协议 · §Anti-patterns**
|
|
471
|
+
|
|
472
|
+
- 因协议 critical 就无条件加载其完整正文。
|
|
473
|
+
|
|
474
|
+
**源:BE 07 证据与验收协议 · §Anti-patterns**
|
|
475
|
+
|
|
476
|
+
- 只列“测试通过”,不提供测试范围与结果来源。
|
|
477
|
+
|
|
478
|
+
**源:BE 08 契约变更协议 · §Anti-patterns**
|
|
479
|
+
|
|
480
|
+
- 只修改实现而不更新 OpenAPI、migration、事件 schema 或变更记录。
|
|
481
|
+
|
|
482
|
+
**源:BE 09 角色与责任协议 · §Anti-patterns**
|
|
483
|
+
|
|
484
|
+
- 交接只发送文档链接,不说明版本、状态和待办。
|
|
485
|
+
|
|
486
|
+
## Ownership
|
|
487
|
+
|
|
488
|
+
**源:FE 01 开发检查项协议 · §Ownership**
|
|
489
|
+
|
|
490
|
+
实现者负责填写,Reviewer 核验范围与证据,协议 Owner 裁决歧义。
|
|
491
|
+
|
|
492
|
+
**源:FE 03 验收门禁协议 · §Ownership**
|
|
493
|
+
|
|
494
|
+
实现者提供 Review 证据,Reviewer/QA 确认提测,发布和风险 Owner 确认上线。
|
|
495
|
+
|
|
496
|
+
**源:FE 06 变更治理协议 · §Ownership**
|
|
497
|
+
|
|
498
|
+
公共能力 Owner 对兼容负责,调用方 Owner 对迁移负责,架构 Owner 裁决跨模块影响。
|
|
499
|
+
|
|
500
|
+
**源:FE 08 角色责任协议 · §Ownership**
|
|
501
|
+
|
|
502
|
+
项目负责人维护角色模型,各领域 Owner 维护其 RACI,治理 Owner 处理无人归属。
|
|
503
|
+
|
|
504
|
+
**源:BE 05 后端任务工作流协议 · §Ownership**
|
|
505
|
+
|
|
506
|
+
执行者维护任务状态,评审者核对证据与声明一致性。
|
|
507
|
+
|
|
508
|
+
**源:BE 07 证据与验收协议 · §Ownership**
|
|
509
|
+
|
|
510
|
+
实现者提供证据,评审与发布责任人决定门禁是否满足。
|
|
511
|
+
|
|
512
|
+
**源:BE 08 契约变更协议 · §Ownership**
|
|
513
|
+
|
|
514
|
+
契约提供方维护兼容方案,消费者确认迁移完成。
|
|
515
|
+
|
|
516
|
+
**源:BE 09 角色与责任协议 · §Ownership**
|
|
517
|
+
|
|
518
|
+
治理维护者定义角色模型,项目自行绑定实际责任人。
|
|
519
|
+
|
|
520
|
+
## Change Policy
|
|
521
|
+
|
|
522
|
+
**源:FE 01 开发检查项协议 · §Change Policy**
|
|
523
|
+
|
|
524
|
+
新增检查项必须定义触发、验证和失败动作;降级 P0 检查项必须批准并记录期限。
|
|
525
|
+
|
|
526
|
+
**源:FE 03 验收门禁协议 · §Change Policy**
|
|
527
|
+
|
|
528
|
+
门禁降级或删除必须有书面风险评估、批准人和恢复计划。
|
|
529
|
+
|
|
530
|
+
**源:FE 06 变更治理协议 · §Change Policy**
|
|
531
|
+
|
|
532
|
+
Breaking Change 必须版本化;紧急修复仍需事后补齐影响、通知和迁移记录。
|
|
533
|
+
|
|
534
|
+
**源:FE 08 角色责任协议 · §Change Policy**
|
|
535
|
+
|
|
536
|
+
角色或批准边界变化必须通知协作者;临时代理必须有范围和期限。
|
|
537
|
+
|
|
538
|
+
**源:BE 05 后端任务工作流协议 · §Change Policy**
|
|
539
|
+
|
|
540
|
+
阶段语义变化必须同步注入器、索引和生命周期消费者。
|
|
541
|
+
|
|
542
|
+
**源:BE 07 证据与验收协议 · §Change Policy**
|
|
543
|
+
|
|
544
|
+
降低证据要求必须作为受控例外记录,不得静默删除门禁。
|
|
545
|
+
|
|
546
|
+
**源:BE 08 契约变更协议 · §Change Policy**
|
|
547
|
+
|
|
548
|
+
破坏性变更必须经过显式审批、版本升级和可执行回退方案。
|
|
549
|
+
|
|
550
|
+
**源:BE 09 角色与责任协议 · §Change Policy**
|
|
551
|
+
|
|
552
|
+
角色模型变化不得回写或推测消费项目的人员事实。
|
|
553
|
+
|
|
554
|
+
> **语言节**:本主题无语言节挂点(缺席诚实);规则本体即上文通用节。
|