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,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/stacks/spring-boot/index.md
|
|
3
|
+
seed_source_sha256: afa8f211cc66a0baeff8cf4e837f4dc88da24a690bbbe637d56423a09e4c03cb
|
|
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
|
+
---
|
|
12
|
+
|
|
13
|
+
# Spring Boot Overlay 索引
|
|
14
|
+
|
|
15
|
+
本目录只描述 Spring Boot 应用能力,不推断 Web 栈、持久化方式或部署容器。
|
|
16
|
+
|
|
17
|
+
| ID | 文件 | 能力 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `backend-stack:spring-boot` | `spring-boot-application-overlay.md` | `application-framework` |
|
|
20
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/stacks/spring-boot/spring-boot-application-overlay.md
|
|
3
|
+
seed_source_sha256: c8b2afe8de6c5af245035381a272644acee75d4e7d0efea901cac1f45d18d2a4
|
|
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-stack:spring-boot
|
|
12
|
+
capability: application-framework
|
|
13
|
+
requires: [backend-stack:java]
|
|
14
|
+
conflicts: []
|
|
15
|
+
coexistence: independent
|
|
16
|
+
stages: [prepare, implement, check, release]
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Spring Boot 应用 Overlay
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
本 Overlay 具体化 Spring Boot 的配置装配、启动、健康检查和依赖管理边界。
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
|
|
27
|
+
- 必须记录 Boot 版本、配置来源、自动配置例外和启动验证。
|
|
28
|
+
- 不得从 Spring Boot 推断 Spring MVC、WebFlux、JAR、WAR 或 Tomcat 形态。
|
|
29
|
+
- 配置项和 actuator 暴露必须遵守安全与环境配置协议。
|
|
30
|
+
|
|
31
|
+
## Checklist
|
|
32
|
+
|
|
33
|
+
- [ ] Java 依赖已显式选择。
|
|
34
|
+
- [ ] 自动配置与运行时事实可由构建或启动证据验证。
|
|
35
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/stacks/spring-mvc/index.md
|
|
3
|
+
seed_source_sha256: 8ec06aab6382d0f33ac13d6a8c083f3628081e2ee2defaa871dfcba21a73fb07
|
|
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
|
+
---
|
|
12
|
+
|
|
13
|
+
# Spring MVC Overlay 索引
|
|
14
|
+
|
|
15
|
+
本目录只描述 Servlet Web 能力;与其他 Web 栈并存时必须声明模块范围。
|
|
16
|
+
|
|
17
|
+
| ID | 文件 | 能力 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `backend-stack:spring-mvc` | `spring-mvc-web-overlay.md` | `web-framework` |
|
|
20
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/stacks/spring-mvc/spring-mvc-web-overlay.md
|
|
3
|
+
seed_source_sha256: 19a75e281d7406d4ce38accd4aa528496e9cb666a8d123bc489c7404cb67fcb6
|
|
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-stack:spring-mvc
|
|
12
|
+
capability: web-framework
|
|
13
|
+
requires: [backend-stack:java, backend-stack:spring-boot]
|
|
14
|
+
conflicts: []
|
|
15
|
+
coexistence: explicit-scope
|
|
16
|
+
stages: [prepare, implement, check]
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Spring MVC Web Overlay
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
本 Overlay 具体化 Servlet 请求链、Controller、参数绑定、异常映射和线程模型。
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
|
|
27
|
+
- Controller 必须保持传输层职责,业务规则进入明确的应用或领域边界。
|
|
28
|
+
- 阻塞调用、上传下载和异步请求必须声明超时、资源与安全约束。
|
|
29
|
+
- 与 WebFlux 并存时必须记录模块、端口或应用边界。
|
|
30
|
+
|
|
31
|
+
## Checklist
|
|
32
|
+
|
|
33
|
+
- [ ] Java 与 Spring Boot 依赖已显式选择。
|
|
34
|
+
- [ ] API、错误码、权限和测试证据与实现一致。
|
|
35
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/stacks/spring-webflux/index.md
|
|
3
|
+
seed_source_sha256: f6f8a2719772d4b7e35b38aa604b4017abaa8cf9d558779239a863af4e3666ce
|
|
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
|
+
---
|
|
12
|
+
|
|
13
|
+
# Spring WebFlux Overlay 索引
|
|
14
|
+
|
|
15
|
+
本目录只描述响应式 Web 能力;与阻塞栈并存时必须声明边界。
|
|
16
|
+
|
|
17
|
+
| ID | 文件 | 能力 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `backend-stack:spring-webflux` | `spring-webflux-reactive-overlay.md` | `reactive-web-framework` |
|
|
20
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/stacks/spring-webflux/spring-webflux-reactive-overlay.md
|
|
3
|
+
seed_source_sha256: 4d2045c5bfa66004516dffa55e965e90958270adba9599f116990ac27cc489f8
|
|
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-stack:spring-webflux
|
|
12
|
+
capability: reactive-web-framework
|
|
13
|
+
requires: [backend-stack:java, backend-stack:spring-boot]
|
|
14
|
+
conflicts: []
|
|
15
|
+
coexistence: explicit-scope
|
|
16
|
+
stages: [prepare, implement, check]
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Spring WebFlux 响应式 Overlay
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
本 Overlay 具体化响应式请求链、背压、调度器和非阻塞边界。
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
|
|
27
|
+
- 必须识别并隔离阻塞 I/O,不得在事件循环中执行不可控阻塞操作。
|
|
28
|
+
- 必须验证取消、超时、背压和上下文传播。
|
|
29
|
+
- 与 Spring MVC 并存时必须记录模块、端口或应用边界。
|
|
30
|
+
|
|
31
|
+
## Checklist
|
|
32
|
+
|
|
33
|
+
- [ ] Java 与 Spring Boot 依赖已显式选择。
|
|
34
|
+
- [ ] 阻塞边界与容量证据可复核。
|
|
35
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/stacks/tomcat/index.md
|
|
3
|
+
seed_source_sha256: 669d418601ec7a26507179f0bfe085621d7d45fd75ba2d297048431ccd91b43d
|
|
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
|
+
---
|
|
12
|
+
|
|
13
|
+
# Tomcat Overlay 索引
|
|
14
|
+
|
|
15
|
+
本目录只描述 Tomcat Servlet 容器能力,并明确区分 embedded 与 external。
|
|
16
|
+
|
|
17
|
+
| ID | 文件 | 能力 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `backend-stack:tomcat` | `tomcat-runtime-overlay.md` | `servlet-container` |
|
|
20
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/backend-hard-spec/assets/stacks/tomcat/tomcat-runtime-overlay.md
|
|
3
|
+
seed_source_sha256: 133f15dbb7866e9e06cecf4e2cfcc2b2f14eeb06d9ea3d29be68c9e11cdd1e11
|
|
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-stack:tomcat
|
|
12
|
+
capability: servlet-container
|
|
13
|
+
requires: [backend-stack:java]
|
|
14
|
+
conflicts: []
|
|
15
|
+
coexistence: explicit-runtime
|
|
16
|
+
stages: [prepare, implement, check, release]
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Tomcat 运行时 Overlay
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
本 Overlay 具体化 embedded 与 external Tomcat 的连接器、线程、部署和加固边界。
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
|
|
27
|
+
- 必须在技术基线中明确 embedded 或 external,以及 JAR 或 WAR。
|
|
28
|
+
- 连接器、代理头、线程和请求限制必须与入口及容量方案一致。
|
|
29
|
+
- 不得把本地启动形态当作生产运行事实。
|
|
30
|
+
|
|
31
|
+
## Checklist
|
|
32
|
+
|
|
33
|
+
- [ ] Java 依赖已显式选择。
|
|
34
|
+
- [ ] 容器版本、打包、配置来源和运行证据一致。
|
|
35
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/frontend-hard-spec/assets/stacks/vue3/index.md
|
|
3
|
+
seed_source_sha256: 1d17431560308ce46ea300f9200a7ebb007b5a52c21bbfeda2362516a3b5cbc8
|
|
4
|
+
seed_version: B6F
|
|
5
|
+
lane: frontend
|
|
6
|
+
status: CURRENT
|
|
7
|
+
authority_scope: mixed_required_and_advisory
|
|
8
|
+
applies_to: [frontend]
|
|
9
|
+
related_evidence_specs: []
|
|
10
|
+
related_tools: []
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Vue 3 Overlay 索引
|
|
14
|
+
|
|
15
|
+
本目录只描述 Vue 3 框架能力与官方配套(Pinia / Vue Router / TypeScript 工具链)边界,不隐式选择 UI 组件库、CSS 体系、grid 方案或构建工具。
|
|
16
|
+
|
|
17
|
+
| ID | 文件 | 能力 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `frontend-stack:vue3` | `vue3-framework-overlay.md` | `application-framework` |
|
|
20
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
seed_source: pomaster/components/frontend-hard-spec/assets/stacks/vue3/vue3-framework-overlay.md
|
|
3
|
+
seed_source_sha256: 15e7fd3808760bb330933f4a0479e4e95e3e07d0e24485d1b9b860019a708935
|
|
4
|
+
seed_version: B6F
|
|
5
|
+
lane: frontend
|
|
6
|
+
status: CURRENT
|
|
7
|
+
authority_scope: mixed_required_and_advisory
|
|
8
|
+
applies_to: [frontend]
|
|
9
|
+
related_evidence_specs: []
|
|
10
|
+
related_tools: []
|
|
11
|
+
legacy_id: frontend-stack:vue3
|
|
12
|
+
capability: application-framework
|
|
13
|
+
requires: []
|
|
14
|
+
conflicts: []
|
|
15
|
+
coexistence: independent
|
|
16
|
+
stages: [prepare, implement, check, release]
|
|
17
|
+
x-research-anchors:
|
|
18
|
+
note: >-
|
|
19
|
+
Vue 3.5.42(npm registry latest + GitHub vuejs/core tag v3.5.42 双源一致,2026-09-05 实抓);
|
|
20
|
+
vuejs.org 为无版本号滚动站点,版本位以实抓日 + 同日包版本实抓为准。pinia 4.0.3(npm 单源)
|
|
21
|
+
与 vue-router 5.3.1(npm + GitHub 双源)为现行主版本线——不得沿用 pinia 2/3、
|
|
22
|
+
vue-router 3/4 旧主版本记忆。TypeScript 7.0.2(npm latest 实抓)与 vue-tsc /
|
|
23
|
+
@vue/tsconfig 的兼容矩阵未逐条核实(研究 Caveats 在册),写死 TS 版本约束前须补核实。
|
|
24
|
+
sources:
|
|
25
|
+
- url: https://vuejs.org/guide/essentials/component-basics.html
|
|
26
|
+
fetched: 2026-09-05
|
|
27
|
+
- url: https://vuejs.org/guide/scaling-up/sfc.html
|
|
28
|
+
fetched: 2026-09-05
|
|
29
|
+
- url: https://vuejs.org/api/sfc-spec.html
|
|
30
|
+
fetched: 2026-09-05
|
|
31
|
+
- url: https://vuejs.org/guide/essentials/reactivity-fundamentals.html
|
|
32
|
+
fetched: 2026-09-05
|
|
33
|
+
- url: https://vuejs.org/guide/reusability/composables.html
|
|
34
|
+
fetched: 2026-09-05
|
|
35
|
+
- url: https://vuejs.org/guide/essentials/lifecycle.html
|
|
36
|
+
fetched: 2026-09-05
|
|
37
|
+
- url: https://vuejs.org/guide/scaling-up/state-management.html
|
|
38
|
+
fetched: 2026-09-05
|
|
39
|
+
- url: https://pinia.vuejs.org/
|
|
40
|
+
fetched: 2026-09-05
|
|
41
|
+
- url: https://vuejs.org/guide/scaling-up/routing.html
|
|
42
|
+
fetched: 2026-09-05
|
|
43
|
+
- url: https://router.vuejs.org/
|
|
44
|
+
fetched: 2026-09-05
|
|
45
|
+
- url: https://vuejs.org/guide/typescript/overview.html
|
|
46
|
+
fetched: 2026-09-05
|
|
47
|
+
- url: https://vuejs.org/style-guide/
|
|
48
|
+
fetched: 2026-09-05
|
|
49
|
+
- url: https://v2.vuejs.org/lts/
|
|
50
|
+
fetched: 2026-09-05
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
# Vue 3 框架 Overlay
|
|
54
|
+
|
|
55
|
+
## Scope
|
|
56
|
+
|
|
57
|
+
本 Overlay 具体化 Vue 3 组件模型、SFC、响应式系统与官方配套(状态 / 路由 / TypeScript 工具链)的选型与版本边界。
|
|
58
|
+
|
|
59
|
+
## Rules
|
|
60
|
+
|
|
61
|
+
- 必须固定并记录 Vue 3、Pinia、vue-router 与 TypeScript 工具链(vue-tsc / @vue/tsconfig)的版本位与来源;版本位经实抓核实,不得沿用旧主版本记忆(现行线为 pinia 4.x / vue-router 5.x)。
|
|
62
|
+
- 状态与路由必须选官方方案:新应用状态管理选 Pinia(Vue 核心团队维护;Vuex 已是维护模式),SPA 路由选官方 Vue Router——两者是官方口径,不自造替代。
|
|
63
|
+
- 组件、SFC 与响应式写法以官方文档与风格指南优先级(A/B/C 三档)为基准;响应式必须声明 ref / reactive 选型边界(reactive 的 proxy 局限官方有专门小节)。
|
|
64
|
+
- 组合式函数必须遵守官方约定(命名、入参、返回值、副作用、使用限制),生命周期钩子按官方注册时机使用。
|
|
65
|
+
- 不得由 Vue 3 选型推断 UI 组件库、CSS 体系、grid 或构建工具选型;Vue 2 已 EOL,其心智不得带入新项目基线。
|
|
66
|
+
|
|
67
|
+
## Checklist
|
|
68
|
+
|
|
69
|
+
- [ ] 版本位(vue / pinia / vue-router / typescript)经实抓核实并记录在项目技术基线。
|
|
70
|
+
- [ ] 状态、路由与 TS 类型检查工具链为官方词形(Pinia / Vue Router / vue-tsc)且带实抓日期锚。
|
|
71
|
+
|
|
@@ -0,0 +1,171 @@
|
|
|
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:ai-generated-code
|
|
12
|
+
criticality: critical # 聚合注记:取源最高;info 性注记非执行语义
|
|
13
|
+
injection_mode: always # 聚合注记:来源同值;info 性注记非执行语义
|
|
14
|
+
stages: [prepare, implement, check] # 聚合注记:来源 stages 并集;info 性注记非执行语义
|
|
15
|
+
triggers: [] # 聚合注记:来源无 triggers 字段;info 性注记非执行语义
|
|
16
|
+
requires: [] # 聚合注记:来源 requires 并集(全空)
|
|
17
|
+
x-aggregation: # 聚合来源(D6):逐源 vendor pin(sha256 与卡 vendor_pin 同值)
|
|
18
|
+
- seed_source: pomaster/components/frontend-hard-spec/assets/universal/02-ai-generated-code-protocol.md
|
|
19
|
+
sha256: a80ea1c51c9afc0b96001cfffa0675edafb1572563652840bcf88770d81203c8
|
|
20
|
+
seed_version: B6B-1
|
|
21
|
+
- seed_source: pomaster/components/backend-hard-spec/assets/universal/06-ai-generated-code-protocol.md
|
|
22
|
+
sha256: a88614806137f33161b741d2a9fbc6ee310fa4f0cbf6acd222de07c14aee3d75
|
|
23
|
+
seed_version: B6C
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# AI 生成代码
|
|
27
|
+
|
|
28
|
+
> **聚合纪律**:本文档 12 节正文规则行逐字取自 frontmatter x-aggregation 所列来源协议(节内按「端 → 源编号升序」以加粗来源行分块,源内标题与层级原样保留),零新增、零改写、零删除;新增文本仅限文档标题、本注记与逐节来源行。
|
|
29
|
+
|
|
30
|
+
## Scope
|
|
31
|
+
|
|
32
|
+
**源:FE 02 AI 生成代码协议(pomaster/components/frontend-hard-spec/assets/universal/02-ai-generated-code-protocol.md)**
|
|
33
|
+
|
|
34
|
+
P0。约束 AI 分析、生成、修改、评审和验证代码时的行为。
|
|
35
|
+
|
|
36
|
+
**源:BE 06 AI 生成代码协议(pomaster/components/backend-hard-spec/assets/universal/06-ai-generated-code-protocol.md)**
|
|
37
|
+
|
|
38
|
+
约束 Agent 的前置检查、事实边界、复用搜索、实现与验证声明。
|
|
39
|
+
|
|
40
|
+
## Non-Scope
|
|
41
|
+
|
|
42
|
+
**源:FE 02 AI 生成代码协议**
|
|
43
|
+
|
|
44
|
+
不替代人工需求决策、代码所有权、测试、合规审批或上线责任。
|
|
45
|
+
|
|
46
|
+
**源:BE 06 AI 生成代码协议**
|
|
47
|
+
|
|
48
|
+
不授权 Agent 自行决定业务事实或扩大写集。
|
|
49
|
+
|
|
50
|
+
## Terms
|
|
51
|
+
|
|
52
|
+
**源:FE 02 AI 生成代码协议**
|
|
53
|
+
|
|
54
|
+
- AI Change Plan:写代码前声明的协议、事实、范围和验证计划。
|
|
55
|
+
- Invented Contract:无正式来源而猜测的字段、状态、权限、API 或规则。
|
|
56
|
+
- Unrelated Change:当前目标不需要的修改。
|
|
57
|
+
|
|
58
|
+
**源:BE 06 AI 生成代码协议**
|
|
59
|
+
|
|
60
|
+
权威事实包括已确认的 PRD、契约、schema、配置来源和仓库证据。
|
|
61
|
+
|
|
62
|
+
## MUST
|
|
63
|
+
|
|
64
|
+
**源:FE 02 AI 生成代码协议 · §MUST**
|
|
65
|
+
|
|
66
|
+
- AI 写代码前读取适用协议并输出 Change Plan。
|
|
67
|
+
- AI 必须先搜索已有组件、抽象、契约、工具和同类实现。
|
|
68
|
+
- AI 必须区分事实、推断和待确认项。
|
|
69
|
+
- AI 必须说明为什么修改这些文件、为什么不修改其他层。
|
|
70
|
+
- AI 必须运行可用检查并如实报告未验证项。
|
|
71
|
+
- AI 必须保留与任务无关的用户现有改动。
|
|
72
|
+
|
|
73
|
+
**源:BE 06 AI 生成代码协议 · §MUST**
|
|
74
|
+
|
|
75
|
+
- 写入前必须读取规范、搜索复用点,并按风险运行可复核检查。
|
|
76
|
+
|
|
77
|
+
## MUST NOT
|
|
78
|
+
|
|
79
|
+
**源:FE 02 AI 生成代码协议 · §MUST NOT**
|
|
80
|
+
|
|
81
|
+
- MUST NOT 发明正式字段、枚举、公式、权限码、接口、路由或配置。
|
|
82
|
+
- MUST NOT 重复创建已有能力。
|
|
83
|
+
- MUST NOT 删除测试、降低断言、关闭规则或用类型逃逸掩盖问题。
|
|
84
|
+
- MUST NOT 声称执行了实际未运行的验证。
|
|
85
|
+
|
|
86
|
+
**源:BE 06 AI 生成代码协议 · §MUST NOT**
|
|
87
|
+
|
|
88
|
+
- 不得发明字段、接口、错误码、迁移、锁、Redis key、topic、secret 或环境阈值。
|
|
89
|
+
|
|
90
|
+
## SHOULD
|
|
91
|
+
|
|
92
|
+
**源:FE 02 AI 生成代码协议 · §SHOULD**
|
|
93
|
+
|
|
94
|
+
- SHOULD 把重复决策沉淀为协议、contract 或自动检查。
|
|
95
|
+
- SHOULD 为高风险公共变更提供迁移和回滚。
|
|
96
|
+
|
|
97
|
+
**源:BE 06 AI 生成代码协议 · §SHOULD**
|
|
98
|
+
|
|
99
|
+
- 应显式标记假设、未知项和需要升级确认的决策。
|
|
100
|
+
|
|
101
|
+
## Contract
|
|
102
|
+
|
|
103
|
+
**源:FE 02 AI 生成代码协议 · §Contract**
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
Goal, Protocols, Facts, Assumptions, TODO_CONFIRM,
|
|
107
|
+
ReuseSearch, FilesToChange, FilesNotToChange,
|
|
108
|
+
Validation, ResidualRisk
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**源:BE 06 AI 生成代码协议 · §Contract**
|
|
112
|
+
|
|
113
|
+
生成内容必须绑定输入来源、目标写集和验证结果。
|
|
114
|
+
|
|
115
|
+
## Checklist
|
|
116
|
+
|
|
117
|
+
**源:FE 02 AI 生成代码协议 · §Checklist**
|
|
118
|
+
|
|
119
|
+
- [ ] 已读协议和正式契约。
|
|
120
|
+
- [ ] 已证明新建必要性。
|
|
121
|
+
- [ ] 未猜测业务和接口事实。
|
|
122
|
+
- [ ] 修改与同步范围明确。
|
|
123
|
+
- [ ] 验证结果真实可复核。
|
|
124
|
+
|
|
125
|
+
**源:BE 06 AI 生成代码协议 · §Checklist**
|
|
126
|
+
|
|
127
|
+
- [ ] 已检查既有实现、镜像路径、未提交改动和任务边界。
|
|
128
|
+
|
|
129
|
+
## Examples
|
|
130
|
+
|
|
131
|
+
**源:FE 02 AI 生成代码协议 · §Examples**
|
|
132
|
+
|
|
133
|
+
### 内容示例,可删除
|
|
134
|
+
|
|
135
|
+
AI 修复报表列宽前识别列 schema 所属层级,验证相同表格类型,再修改领域 preset。
|
|
136
|
+
|
|
137
|
+
**源:BE 06 AI 生成代码协议 · §Examples**
|
|
138
|
+
|
|
139
|
+
- 缺少隔离级别事实时记录待确认项,而不是选择一个默认值。
|
|
140
|
+
|
|
141
|
+
## Anti-patterns
|
|
142
|
+
|
|
143
|
+
**源:FE 02 AI 生成代码协议 · §Anti-patterns**
|
|
144
|
+
|
|
145
|
+
未搜索组件库便新建相似组件,并顺手重构 store、API 和全局样式。
|
|
146
|
+
|
|
147
|
+
**源:BE 06 AI 生成代码协议 · §Anti-patterns**
|
|
148
|
+
|
|
149
|
+
- 用聊天记忆替代仓库、契约、测试或运行证据。
|
|
150
|
+
|
|
151
|
+
## Ownership
|
|
152
|
+
|
|
153
|
+
**源:FE 02 AI 生成代码协议 · §Ownership**
|
|
154
|
+
|
|
155
|
+
AI 仅为 Contributor;任务、代码、评审和上线分别由对应人类 Owner 负责。
|
|
156
|
+
|
|
157
|
+
**源:BE 06 AI 生成代码协议 · §Ownership**
|
|
158
|
+
|
|
159
|
+
Agent 对变更与声明负责,用户拥有超出既定范围的决策权。
|
|
160
|
+
|
|
161
|
+
## Change Policy
|
|
162
|
+
|
|
163
|
+
**源:FE 02 AI 生成代码协议 · §Change Policy**
|
|
164
|
+
|
|
165
|
+
放宽 AI 禁止规则必须由工程治理和领域 Owner 批准;新型 AI 错误应转为协议或门禁。
|
|
166
|
+
|
|
167
|
+
**源:BE 06 AI 生成代码协议 · §Change Policy**
|
|
168
|
+
|
|
169
|
+
新增高频误改模式时应追加明确禁止项和回归测试。
|
|
170
|
+
|
|
171
|
+
> **语言节**:本主题无语言节挂点(缺席诚实);规则本体即上文通用节。
|