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,691 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "pomaster.seed-aggregation/1",
|
|
3
|
+
"batch": "B7-THEME",
|
|
4
|
+
"generated_by": "scripts/seed_b7_theme.py(09-05-spec-thematic-reorg B7-THEME 物化批;映射表 .trellis/tasks/09-05-spec-thematic-reorg/research/theme-mapping.md 的仓内物化落位——D6:本文件为归并关系单一仓内清单,任务侧映射表保持档案不依赖)",
|
|
5
|
+
"themes": [
|
|
6
|
+
{
|
|
7
|
+
"slug": "architecture-and-module-boundaries",
|
|
8
|
+
"h1": "架构与模块边界",
|
|
9
|
+
"lane": "[frontend, backend]",
|
|
10
|
+
"target": ".pomaster/specs/hard/themes/architecture-and-module-boundaries.md",
|
|
11
|
+
"sources": [
|
|
12
|
+
{
|
|
13
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/09-module-boundary-protocol.md",
|
|
14
|
+
"sha256": "f9a3c194910bbb31cd322849cb277db5d2ae0fd74773eef7df34197b8ad89c4f",
|
|
15
|
+
"seed_version": "B6B-1"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/01-architecture-governance-protocol.md",
|
|
19
|
+
"sha256": "726502f4e5a5dcf2e8076fafa943b33de4b7ab9bd0fc2d8551479b43385e7636",
|
|
20
|
+
"seed_version": "B6C"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/02-project-structure-governance-protocol.md",
|
|
24
|
+
"sha256": "add6e21ffa5dd45940dda725e8d4e234c9d2a49775139c895cc7ad5f7caf7bf0",
|
|
25
|
+
"seed_version": "B6C"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/03-directory-boundary-protocol.md",
|
|
29
|
+
"sha256": "95a917cfe3c929b5a0a40de5f6215b25ef4a358a4e7f1c7cb2daa08defcf6bcc",
|
|
30
|
+
"seed_version": "B6C"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/04-layering-architecture-protocol.md",
|
|
34
|
+
"sha256": "4a2ab2aa695a7b78136a2fd96076a869c367bb008a417be508756c632ad4ed6e",
|
|
35
|
+
"seed_version": "B6C"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"language_sections": []
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"slug": "task-governance-and-acceptance",
|
|
42
|
+
"h1": "任务治理与验收",
|
|
43
|
+
"lane": "[frontend, backend]",
|
|
44
|
+
"target": ".pomaster/specs/hard/themes/task-governance-and-acceptance.md",
|
|
45
|
+
"sources": [
|
|
46
|
+
{
|
|
47
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/01-development-checklist-protocol.md",
|
|
48
|
+
"sha256": "fa8914b29dbf7af25c8128aa1b8936fd658e37854e0a4f457175e2e3c82c3a03",
|
|
49
|
+
"seed_version": "B6B-1"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/03-acceptance-gate-protocol.md",
|
|
53
|
+
"sha256": "646dcbd7035d43d84ca592218a356c08a4baca36619109797322d90ba3d99b73",
|
|
54
|
+
"seed_version": "B6B-1"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md",
|
|
58
|
+
"sha256": "2f19b46e451153cab35e9fb511d9da0f072f86424e7d3f7a6b307cd17a9d1b32",
|
|
59
|
+
"seed_version": "B6B-1"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/08-role-responsibility-protocol.md",
|
|
63
|
+
"sha256": "732ac305cd16207e4a7bd4c95a6774d1aca33fb4e45cf29991ac0f6475605d6f",
|
|
64
|
+
"seed_version": "B6B-1"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/05-task-workflow-protocol.md",
|
|
68
|
+
"sha256": "b0d176f1f2d19cd14739ff4de39d77659036516ab1377b83c261ecc53a2de2dd",
|
|
69
|
+
"seed_version": "B6C"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/07-evidence-acceptance-protocol.md",
|
|
73
|
+
"sha256": "fb86312eaadaec81d21e20abfb979e0127138002731ddc4fb1ead9ec90cd10bb",
|
|
74
|
+
"seed_version": "B6C"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md",
|
|
78
|
+
"sha256": "805c146b31c70d08f876631bc19273076eb242d78fcb3b3a3bd33437e28a6953",
|
|
79
|
+
"seed_version": "B6C"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/09-role-responsibility-protocol.md",
|
|
83
|
+
"sha256": "603b285faa271b77140f28e1038f850cd01b17ed1813b965898c4746233b342f",
|
|
84
|
+
"seed_version": "B6C"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"language_sections": []
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"slug": "ai-generated-code",
|
|
91
|
+
"h1": "AI 生成代码",
|
|
92
|
+
"lane": "[frontend, backend]",
|
|
93
|
+
"target": ".pomaster/specs/hard/themes/ai-generated-code.md",
|
|
94
|
+
"sources": [
|
|
95
|
+
{
|
|
96
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/02-ai-generated-code-protocol.md",
|
|
97
|
+
"sha256": "a80ea1c51c9afc0b96001cfffa0675edafb1572563652840bcf88770d81203c8",
|
|
98
|
+
"seed_version": "B6B-1"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/06-ai-generated-code-protocol.md",
|
|
102
|
+
"sha256": "a88614806137f33161b741d2a9fbc6ee310fa4f0cbf6acd222de07c14aee3d75",
|
|
103
|
+
"seed_version": "B6C"
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"language_sections": []
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"slug": "security",
|
|
110
|
+
"h1": "安全",
|
|
111
|
+
"lane": "[frontend, backend]",
|
|
112
|
+
"target": ".pomaster/specs/hard/themes/security.md",
|
|
113
|
+
"sources": [
|
|
114
|
+
{
|
|
115
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/04-security-protocol.md",
|
|
116
|
+
"sha256": "4d9bb6bd34a64fcc3e362c969492bc326533e16ef4c6d2284dc01442733504e6",
|
|
117
|
+
"seed_version": "B6B-1"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/10-security-protocol.md",
|
|
121
|
+
"sha256": "56387f03edd35df50a5a701f4daab174b744d490663393f43331cf5401149f67",
|
|
122
|
+
"seed_version": "B6C"
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"language_sections": []
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"slug": "environment-and-configuration",
|
|
129
|
+
"h1": "环境与配置",
|
|
130
|
+
"lane": "[frontend, backend]",
|
|
131
|
+
"target": ".pomaster/specs/hard/themes/environment-and-configuration.md",
|
|
132
|
+
"sources": [
|
|
133
|
+
{
|
|
134
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/05-environment-configuration-protocol.md",
|
|
135
|
+
"sha256": "3affc23c84d64d10c8911b84bd9db82a34fcb9b675f7365672d554ecf34c8fb6",
|
|
136
|
+
"seed_version": "B6B-1"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/11-environment-configuration-protocol.md",
|
|
140
|
+
"sha256": "eb9e82e9df64ce238501bc51cd359f36150f911c149904e2ed5a43d9b652b1bd",
|
|
141
|
+
"seed_version": "B6C"
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"language_sections": [
|
|
145
|
+
{
|
|
146
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/spring-boot/spring-boot-application-overlay.md",
|
|
147
|
+
"sha256": "c8b2afe8de6c5af245035381a272644acee75d4e7d0efea901cac1f45d18d2a4",
|
|
148
|
+
"attach": "primary"
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"slug": "engineering-toolchain-and-dependencies",
|
|
154
|
+
"h1": "工程工具链与依赖",
|
|
155
|
+
"lane": "[frontend, backend]",
|
|
156
|
+
"target": ".pomaster/specs/hard/themes/engineering-toolchain-and-dependencies.md",
|
|
157
|
+
"sources": [
|
|
158
|
+
{
|
|
159
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/10-engineering-tooling-protocol.md",
|
|
160
|
+
"sha256": "c628d47dcae1ddd58ea3651eeae9dd84ff5157365a3892a367bd7b5bf0af2b9d",
|
|
161
|
+
"seed_version": "B6B-1"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/11-dependency-package-management-protocol.md",
|
|
165
|
+
"sha256": "a0cc135edaf0dfd1f5122d2ff7298866143ef3a273ad4d45f5e1eff763691867",
|
|
166
|
+
"seed_version": "B6B-1"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/26-engineering-tooling-protocol.md",
|
|
170
|
+
"sha256": "b0fcecee17a3acdb11f59f065ae7cac269cc292e999dd39444e5293565d38fe1",
|
|
171
|
+
"seed_version": "B6C"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/27-dependency-supply-chain-protocol.md",
|
|
175
|
+
"sha256": "7e0817507039ab5f633ff4cb7eb3590d8755a547b8db91867f92bc702a64ddfe",
|
|
176
|
+
"seed_version": "B6C"
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
"language_sections": [
|
|
180
|
+
{
|
|
181
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/java/java-language-overlay.md",
|
|
182
|
+
"sha256": "38b592a5beaa899abb45e871e5097cafedeea80502baee00bcfbfcfa313dab85",
|
|
183
|
+
"attach": "primary"
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"slug": "testing-and-verification",
|
|
189
|
+
"h1": "测试与验证",
|
|
190
|
+
"lane": "[frontend, backend]",
|
|
191
|
+
"target": ".pomaster/specs/hard/themes/testing-and-verification.md",
|
|
192
|
+
"sources": [
|
|
193
|
+
{
|
|
194
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/20-testing-protocol.md",
|
|
195
|
+
"sha256": "477dc049d1e1ec72898a07615655ee374924c7796a0210741e8c97474644a4d6",
|
|
196
|
+
"seed_version": "B6B-1"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/35-mock-protocol.md",
|
|
200
|
+
"sha256": "c9288fe227cb26633d23c5d0e2e710b9cde716371f66cf3157c63b3ec8a58342",
|
|
201
|
+
"seed_version": "B6B-2"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/28-testing-protocol.md",
|
|
205
|
+
"sha256": "f5df73dd7bec4ccf4132c3d7a9918a6f1cb0dd9682aa17956cb24446aa406ad7",
|
|
206
|
+
"seed_version": "B6C"
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"language_sections": []
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"slug": "observability-and-analytics",
|
|
213
|
+
"h1": "可观测性与埋点",
|
|
214
|
+
"lane": "[frontend, backend]",
|
|
215
|
+
"target": ".pomaster/specs/hard/themes/observability-and-analytics.md",
|
|
216
|
+
"sources": [
|
|
217
|
+
{
|
|
218
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/34-monitoring-logging-protocol.md",
|
|
219
|
+
"sha256": "3c37c1c3aa3ade8d43532a1fcc7561e95aef42a19e46b6eb53d864054a2da013",
|
|
220
|
+
"seed_version": "B6B-2"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/40-analytics-protocol.md",
|
|
224
|
+
"sha256": "f638c8054ba32d44a15f1dd4fa42b637e1f6ad39cd73c6e1d45cd5bfd71b2c56",
|
|
225
|
+
"seed_version": "B6B-2"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/29-observability-logging-tracing-protocol.md",
|
|
229
|
+
"sha256": "e871f5d7d1e9fe68956881877baba94f376a5539753441853f8cfa12939f5ebd",
|
|
230
|
+
"seed_version": "B6C"
|
|
231
|
+
}
|
|
232
|
+
],
|
|
233
|
+
"language_sections": []
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"slug": "release-and-feature-flags",
|
|
237
|
+
"h1": "发布与开关",
|
|
238
|
+
"lane": "[frontend, backend]",
|
|
239
|
+
"target": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
|
|
240
|
+
"sources": [
|
|
241
|
+
{
|
|
242
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/33-release-versioning-protocol.md",
|
|
243
|
+
"sha256": "aae0557f4935bac24d04e37ebde5638471b709ff568fea0d13de35bd5dd404af",
|
|
244
|
+
"seed_version": "B6B-2"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/36-feature-flag-protocol.md",
|
|
248
|
+
"sha256": "ba6cf2d5607ba54d9864cd6c07899d2e13a8d33ea248fbd7469b92c23474f474",
|
|
249
|
+
"seed_version": "B6B-2"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/32-release-versioning-rollback-protocol.md",
|
|
253
|
+
"sha256": "26a6a23928fc24338f69fb34199ecdea5f654e21534a76ac53a7c0b78030b3c8",
|
|
254
|
+
"seed_version": "B6C"
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
"language_sections": []
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"slug": "privacy-and-data-lifecycle",
|
|
261
|
+
"h1": "隐私与数据生命周期",
|
|
262
|
+
"lane": "[frontend, backend]",
|
|
263
|
+
"target": ".pomaster/specs/hard/themes/privacy-and-data-lifecycle.md",
|
|
264
|
+
"sources": [
|
|
265
|
+
{
|
|
266
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/44-privacy-data-lifecycle-protocol.md",
|
|
267
|
+
"sha256": "5b3472bba296c1bb437c3ce41e1c937b636605e39b78cf06747d1010e46ba08e",
|
|
268
|
+
"seed_version": "B6B-2"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/13-privacy-data-lifecycle-protocol.md",
|
|
272
|
+
"sha256": "df20ccb85008f8744ea16db3ea64e54bdf9fd19d7aa3098c45dc44fff94c3d8d",
|
|
273
|
+
"seed_version": "B6C"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"language_sections": []
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"slug": "api-contract-and-error-semantics",
|
|
280
|
+
"h1": "API 契约与错误语义",
|
|
281
|
+
"lane": "[frontend, backend]",
|
|
282
|
+
"target": ".pomaster/specs/hard/themes/api-contract-and-error-semantics.md",
|
|
283
|
+
"sources": [
|
|
284
|
+
{
|
|
285
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/07-frontend-backend-communication-protocol.md",
|
|
286
|
+
"sha256": "b14d2f8281198ff663e6e21e58df2e429c4683907cb77b6ebcdb6609d37f72d2",
|
|
287
|
+
"seed_version": "B6B-1"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md",
|
|
291
|
+
"sha256": "b9489d69e35a19b8d5ba2442108190e7b99989ef471c8cf413d9e4e408ca2969",
|
|
292
|
+
"seed_version": "B6B-1"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/16-error-handling-protocol.md",
|
|
296
|
+
"sha256": "0c6adc425e01a003e1f3c83fcf51f1d287767c95a4da50c15f5f639d9104f07f",
|
|
297
|
+
"seed_version": "B6B-1"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md",
|
|
301
|
+
"sha256": "35519d81548cabff729de888e0bf9e0d5b40a0274c9fa3684641b50e75938ca0",
|
|
302
|
+
"seed_version": "B6C"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/16-error-code-protocol.md",
|
|
306
|
+
"sha256": "aa80ee60f7431e14859f61e563784e71b2002f35e220964170a779800fdde090",
|
|
307
|
+
"seed_version": "B6C"
|
|
308
|
+
}
|
|
309
|
+
],
|
|
310
|
+
"language_sections": [
|
|
311
|
+
{
|
|
312
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/spring-mvc/spring-mvc-web-overlay.md",
|
|
313
|
+
"sha256": "19a75e281d7406d4ce38accd4aa528496e9cb666a8d123bc489c7404cb67fcb6",
|
|
314
|
+
"attach": "primary"
|
|
315
|
+
}
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"slug": "permission-and-authorization",
|
|
320
|
+
"h1": "权限与鉴权",
|
|
321
|
+
"lane": "[frontend, backend]",
|
|
322
|
+
"target": ".pomaster/specs/hard/themes/permission-and-authorization.md",
|
|
323
|
+
"sources": [
|
|
324
|
+
{
|
|
325
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/17-permission-protocol.md",
|
|
326
|
+
"sha256": "3f51aeb30497c07a3b552c8f21ecff22730d276c85fd504fde16e9e17b622ec0",
|
|
327
|
+
"seed_version": "B6B-1"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/17-permission-authorization-protocol.md",
|
|
331
|
+
"sha256": "d85a431b682a3a7c3dd4a6ee1f67fc375b54edb4a8e7fe98d283103b64a6b41e",
|
|
332
|
+
"seed_version": "B6C"
|
|
333
|
+
}
|
|
334
|
+
],
|
|
335
|
+
"language_sections": []
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"slug": "performance-and-capacity",
|
|
339
|
+
"h1": "性能与容量",
|
|
340
|
+
"lane": "[frontend, backend]",
|
|
341
|
+
"target": ".pomaster/specs/hard/themes/performance-and-capacity.md",
|
|
342
|
+
"sources": [
|
|
343
|
+
{
|
|
344
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/31-performance-protocol.md",
|
|
345
|
+
"sha256": "416ff411c75e538feec3aad8be5e733b95913580fd937c0abebd16aa0d21608c",
|
|
346
|
+
"seed_version": "B6B-2"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/30-performance-capacity-protocol.md",
|
|
350
|
+
"sha256": "b575dd07e4bb6def646acb55c3d62d086a9fd12035b2ab359ec353bf443773e5",
|
|
351
|
+
"seed_version": "B6C"
|
|
352
|
+
}
|
|
353
|
+
],
|
|
354
|
+
"language_sections": []
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"slug": "ui-presentation-and-design",
|
|
358
|
+
"h1": "UI 呈现与设计",
|
|
359
|
+
"lane": "[frontend]",
|
|
360
|
+
"target": ".pomaster/specs/hard/themes/ui-presentation-and-design.md",
|
|
361
|
+
"sources": [
|
|
362
|
+
{
|
|
363
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/21-design-system-protocol.md",
|
|
364
|
+
"sha256": "317d4086949eb7d26ea2465adc6521ba6ebb611dca0d2f32aec2c57a985be4f3",
|
|
365
|
+
"seed_version": "B6B-1"
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/22-theme-protocol.md",
|
|
369
|
+
"sha256": "b93ed272a0def5abc689fe66d939b87cacf6f38cce5d6278cfd5c94d1754b3ec",
|
|
370
|
+
"seed_version": "B6B-1"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/23-accessibility-protocol.md",
|
|
374
|
+
"sha256": "10557bf1221d1cf2748e29149820890e4523789701a35f7336e3f661fed82bfb",
|
|
375
|
+
"seed_version": "B6B-1"
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/24-component-protocol.md",
|
|
379
|
+
"sha256": "5ed49550278ae263d7b4f3914c20c31a3005dc101d45bbd48c025a444f7441c4",
|
|
380
|
+
"seed_version": "B6B-2"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/26-style-layout-protocol.md",
|
|
384
|
+
"sha256": "a66b216ca119c7296431233fb2bb6db9affd1f71ba011e5394aaaafdab9e8240",
|
|
385
|
+
"seed_version": "B6B-2"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md",
|
|
389
|
+
"sha256": "c702a9956fd5e7aac40e1eefebcdd7a3518b95bd1a750bfcb31cbaddb80f41ff",
|
|
390
|
+
"seed_version": "B6B-2"
|
|
391
|
+
}
|
|
392
|
+
],
|
|
393
|
+
"language_sections": [
|
|
394
|
+
{
|
|
395
|
+
"overlay": "pomaster/components/frontend-hard-spec/assets/stacks/vue3/vue3-framework-overlay.md",
|
|
396
|
+
"sha256": "15e7fd3808760bb330933f4a0479e4e95e3e07d0e24485d1b9b860019a708935",
|
|
397
|
+
"attach": "primary"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"overlay": "pomaster/components/frontend-hard-spec/assets/stacks/antdesign/antdesign-ui-overlay.md",
|
|
401
|
+
"sha256": "e70a6dad3fedbf8c4a182d92af9c9229e13cc368f880b3ccd96fe11ccdbdd7be",
|
|
402
|
+
"attach": "primary"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"overlay": "pomaster/components/frontend-hard-spec/assets/stacks/geist/geist-design-system-overlay.md",
|
|
406
|
+
"sha256": "a9edc3d23708ccef6aeade6669dd638117f341052c47e0145347a5b51e085680",
|
|
407
|
+
"attach": "primary"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"overlay": "pomaster/components/frontend-hard-spec/assets/stacks/css/css-system-overlay.md",
|
|
411
|
+
"sha256": "4167e2a2d4c457f594db95336470dca4f0778e76df006e815207c0761667692a",
|
|
412
|
+
"attach": "primary"
|
|
413
|
+
}
|
|
414
|
+
]
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"slug": "page-composition-and-browser-environment",
|
|
418
|
+
"h1": "页面构成与浏览器环境",
|
|
419
|
+
"lane": "[frontend]",
|
|
420
|
+
"target": ".pomaster/specs/hard/themes/page-composition-and-browser-environment.md",
|
|
421
|
+
"sources": [
|
|
422
|
+
{
|
|
423
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/25-page-structure-protocol.md",
|
|
424
|
+
"sha256": "5fb926a798842262d7f87555e3e63e104c868a401eb27f3c1f899e677fdf5f4f",
|
|
425
|
+
"seed_version": "B6B-2"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/27-rendering-state-protocol.md",
|
|
429
|
+
"sha256": "a640bacd811e05a35075d96ffb99ba51b8b6e11cc2a5443e3bbca0eb124738e4",
|
|
430
|
+
"seed_version": "B6B-2"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/28-form-protocol.md",
|
|
434
|
+
"sha256": "1359f0b753ece0f633b1aadea11e4ffd03dfc38f5b1f59e8cd869eba502e4807",
|
|
435
|
+
"seed_version": "B6B-2"
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/29-routing-url-protocol.md",
|
|
439
|
+
"sha256": "3066c383489e1cb72271fe48d4a716860c58381d90e46ee1b2f114c61010949e",
|
|
440
|
+
"seed_version": "B6B-2"
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/37-browser-device-compatibility-protocol.md",
|
|
444
|
+
"sha256": "81c0d4bf8996f6cf6b38d1c8514385065785728011222b524d73d8135703a3b3",
|
|
445
|
+
"seed_version": "B6B-2"
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/41-design-handoff-protocol.md",
|
|
449
|
+
"sha256": "335df4991a29eb77222b0596de5db7fcc0bd5d9019ecf9bf882a08cea74c1937",
|
|
450
|
+
"seed_version": "B6B-2"
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/42-browser-runtime-lifecycle-protocol.md",
|
|
454
|
+
"sha256": "b328c8b3bab2006254587143c634e17ff554d2f0103056d07edba5ffaba29fe1",
|
|
455
|
+
"seed_version": "B6B-2"
|
|
456
|
+
}
|
|
457
|
+
],
|
|
458
|
+
"language_sections": []
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"slug": "frontend-state-and-client-data",
|
|
462
|
+
"h1": "前端状态与客户端数据",
|
|
463
|
+
"lane": "[frontend]",
|
|
464
|
+
"target": ".pomaster/specs/hard/themes/frontend-state-and-client-data.md",
|
|
465
|
+
"sources": [
|
|
466
|
+
{
|
|
467
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/18-state-management-protocol.md",
|
|
468
|
+
"sha256": "72445fcd0ac7e21ebea38a5f72849543f936c7a96eee54eb99330226acaaf400",
|
|
469
|
+
"seed_version": "B6B-1"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/19-cache-protocol.md",
|
|
473
|
+
"sha256": "893d5651016233eec36333775441a935746fe1202c8924dc2edf753d61523daf",
|
|
474
|
+
"seed_version": "B6B-1"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/32-file-import-export-protocol.md",
|
|
478
|
+
"sha256": "2262d7ce2e910e4d64b0c6f3ef1af0b72c3cafc31d6cb1a796a8fb8b1801cbbc",
|
|
479
|
+
"seed_version": "B6B-2"
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/45-browser-storage-protocol.md",
|
|
483
|
+
"sha256": "01d0d3cb618519c94c939658526a97ad1df851a8f820a22a9b4595bef03cc2cb",
|
|
484
|
+
"seed_version": "B6B-2"
|
|
485
|
+
}
|
|
486
|
+
],
|
|
487
|
+
"language_sections": []
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"slug": "value-semantics-and-domain-data",
|
|
491
|
+
"h1": "值语义与领域数据",
|
|
492
|
+
"lane": "[frontend]",
|
|
493
|
+
"target": ".pomaster/specs/hard/themes/value-semantics-and-domain-data.md",
|
|
494
|
+
"sources": [
|
|
495
|
+
{
|
|
496
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/12-business-rules-protocol.md",
|
|
497
|
+
"sha256": "dda683a7c907989032c82a2c1c3e552b51226e0e0cd5bdf3b6068cc7f649c525",
|
|
498
|
+
"seed_version": "B6B-1"
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/13-monetary-precision-protocol.md",
|
|
502
|
+
"sha256": "4930246c7dfed2751d3a71d617a21e24b46b376131723451b39152582c7a3d4f",
|
|
503
|
+
"seed_version": "B6B-1"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/14-data-model-protocol.md",
|
|
507
|
+
"sha256": "7d4e31ef04a1f57d88e982c01dabc22c421bafc850b7295a73d084ec3c6fc838",
|
|
508
|
+
"seed_version": "B6B-1"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/43-time-temporal-protocol.md",
|
|
512
|
+
"sha256": "4669cc3d927289f99bbd66c3e906f97d548f0cf8ea9e94b66e8b21cb24d00afb",
|
|
513
|
+
"seed_version": "B6B-2"
|
|
514
|
+
}
|
|
515
|
+
],
|
|
516
|
+
"language_sections": []
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"slug": "internationalization-and-copywriting",
|
|
520
|
+
"h1": "国际化与文案",
|
|
521
|
+
"lane": "[frontend]",
|
|
522
|
+
"target": ".pomaster/specs/hard/themes/internationalization-and-copywriting.md",
|
|
523
|
+
"sources": [
|
|
524
|
+
{
|
|
525
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/38-internationalization-protocol.md",
|
|
526
|
+
"sha256": "68ed4e126042eee191f071786d58983b3b2df94a826a13b50fc52aaa6536c7fa",
|
|
527
|
+
"seed_version": "B6B-2"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/39-copywriting-protocol.md",
|
|
531
|
+
"sha256": "5df3a2ddcd1140b2e62dd80f547cf6c0197c44a91ebbdda02ded44bcaefed351",
|
|
532
|
+
"seed_version": "B6B-2"
|
|
533
|
+
}
|
|
534
|
+
],
|
|
535
|
+
"language_sections": []
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"slug": "data-and-transactions",
|
|
539
|
+
"h1": "数据与事务",
|
|
540
|
+
"lane": "[backend]",
|
|
541
|
+
"target": ".pomaster/specs/hard/themes/data-and-transactions.md",
|
|
542
|
+
"sources": [
|
|
543
|
+
{
|
|
544
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/14-business-rules-state-protocol.md",
|
|
545
|
+
"sha256": "fb255dd2331ac35e73a1ad222e4de4ec2f5fb3a09e675de0e1919d80022ac291",
|
|
546
|
+
"seed_version": "B6C"
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/15-data-model-protocol.md",
|
|
550
|
+
"sha256": "21cdd88fac93c9dc834a51d62978b51453ca02eca68f223859aeca0ada99c3f2",
|
|
551
|
+
"seed_version": "B6C"
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/18-database-schema-migration-protocol.md",
|
|
555
|
+
"sha256": "e7d0b660673dc1978653c39c9efcc7ad7d9b2809c4a88040a6fcf74839bc82c0",
|
|
556
|
+
"seed_version": "B6C"
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/19-query-index-sql-protocol.md",
|
|
560
|
+
"sha256": "60a660730a82a4f911bc6c18d5f6808a320f722df27d397a4e4b13835111610d",
|
|
561
|
+
"seed_version": "B6C"
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/20-transaction-boundary-protocol.md",
|
|
565
|
+
"sha256": "4c4634b71f1e07e9cae074f9790fa50b3425f0af71300ab2ac12e644b521eff4",
|
|
566
|
+
"seed_version": "B6C"
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/21-concurrency-locking-protocol.md",
|
|
570
|
+
"sha256": "6141612e1135cc67ccd9d47553ea5fa7b9c00e05b6e50706f8e117c80d3b8d95",
|
|
571
|
+
"seed_version": "B6C"
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/22-idempotency-protocol.md",
|
|
575
|
+
"sha256": "c97d003622b9075f0c094ec5c5bfa950a977e18b2f4ce8ffc9bc014858e27670",
|
|
576
|
+
"seed_version": "B6C"
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/23-cache-redis-consistency-protocol.md",
|
|
580
|
+
"sha256": "073da5821658adfc0580798873fde95c49dc9d993a63949b3b1543a9c0e18a11",
|
|
581
|
+
"seed_version": "B6C"
|
|
582
|
+
}
|
|
583
|
+
],
|
|
584
|
+
"language_sections": [
|
|
585
|
+
{
|
|
586
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/java/java-language-overlay.md",
|
|
587
|
+
"sha256": "38b592a5beaa899abb45e871e5097cafedeea80502baee00bcfbfcfa313dab85",
|
|
588
|
+
"attach": "secondary"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/jpa/jpa-persistence-overlay.md",
|
|
592
|
+
"sha256": "e43479fd8659b89863cf47dee9fee3c52727cc2978ffd1b854ea17c777b1e9e6",
|
|
593
|
+
"attach": "primary"
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/mybatis/mybatis-persistence-overlay.md",
|
|
597
|
+
"sha256": "968bfa7df9b4c675161427809fd3d4e9e5b62b2b53a880420f36af00d2c60e57",
|
|
598
|
+
"attach": "primary"
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/mysql/mysql-database-overlay.md",
|
|
602
|
+
"sha256": "a47d8c61959c120707bb907275e74ce13b4b36b03fa493bc09cc7d47fcc949d7",
|
|
603
|
+
"attach": "primary"
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/postgresql/postgresql-database-overlay.md",
|
|
607
|
+
"sha256": "dbe9f21a72c1124519375176efb2b2b4138b21c45becebfc66eaa2ab41def16e",
|
|
608
|
+
"attach": "primary"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/redis/redis-cache-overlay.md",
|
|
612
|
+
"sha256": "6ae4d18ce2658a77d34bb3cf2a2c38745b646a730eb3c270c2a4c2a0a24497c7",
|
|
613
|
+
"attach": "primary"
|
|
614
|
+
}
|
|
615
|
+
]
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"slug": "integration-and-async-runtime",
|
|
619
|
+
"h1": "集成与异步运行时",
|
|
620
|
+
"lane": "[backend]",
|
|
621
|
+
"target": ".pomaster/specs/hard/themes/integration-and-async-runtime.md",
|
|
622
|
+
"sources": [
|
|
623
|
+
{
|
|
624
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/24-external-integration-resilience-protocol.md",
|
|
625
|
+
"sha256": "e6b0626c9169e9126319bd08ee5d5bdbe38421cfa175509524145aee30ff539a",
|
|
626
|
+
"seed_version": "B6C"
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/25-async-job-scheduler-protocol.md",
|
|
630
|
+
"sha256": "36af3b4466b4e617a9c552a404d98ab74604752b7410e15756d7f132394fb980",
|
|
631
|
+
"seed_version": "B6C"
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/31-runtime-deployment-protocol.md",
|
|
635
|
+
"sha256": "c791451de0be3aa0629fd562e2b43cc54066e4b10d786264fa7a333c561ef23a",
|
|
636
|
+
"seed_version": "B6C"
|
|
637
|
+
}
|
|
638
|
+
],
|
|
639
|
+
"language_sections": [
|
|
640
|
+
{
|
|
641
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/spring-webflux/spring-webflux-reactive-overlay.md",
|
|
642
|
+
"sha256": "4d2045c5bfa66004516dffa55e965e90958270adba9599f116990ac27cc489f8",
|
|
643
|
+
"attach": "primary"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/spring-batch/spring-batch-job-overlay.md",
|
|
647
|
+
"sha256": "58f710fcfeeaeafcaa19fd4ef27bce22c3c34d8d1ef7992f95f65a3e1bd9cd78",
|
|
648
|
+
"attach": "primary"
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/tomcat/tomcat-runtime-overlay.md",
|
|
652
|
+
"sha256": "133f15dbb7866e9e06cecf4e2cfcc2b2f14eeb06d9ea3d29be68c9e11cdd1e11",
|
|
653
|
+
"attach": "primary"
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/nginx/nginx-proxy-overlay.md",
|
|
657
|
+
"sha256": "442da24b2bb5274003978636cf793bae02b25f24aa080fcc926c5347da39ce19",
|
|
658
|
+
"attach": "primary"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/kubernetes-ingress/kubernetes-ingress-overlay.md",
|
|
662
|
+
"sha256": "4369b51a677453c24b5ec4d4b97001c91932918fc779c55562012ebc6b312bf5",
|
|
663
|
+
"attach": "primary"
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"overlay": "pomaster/components/backend-hard-spec/assets/stacks/messaging/messaging-reliability-overlay.md",
|
|
667
|
+
"sha256": "ed7f82208521675510ab4a42b229f9be269a52514cf5188c9bf83323d7590572",
|
|
668
|
+
"attach": "primary"
|
|
669
|
+
}
|
|
670
|
+
]
|
|
671
|
+
}
|
|
672
|
+
],
|
|
673
|
+
"navigation": {
|
|
674
|
+
"slug": "index",
|
|
675
|
+
"h1": "硬规范主题导航",
|
|
676
|
+
"target": ".pomaster/specs/hard/themes/index.md",
|
|
677
|
+
"sources": [
|
|
678
|
+
{
|
|
679
|
+
"seed_source": "pomaster/components/frontend-hard-spec/assets/universal/index.md",
|
|
680
|
+
"sha256": "37fc443ce1f90eaa2584a82e12300d8281760332ec69d55a52b26cb22a2b2375",
|
|
681
|
+
"seed_version": "B6B-2"
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
"seed_source": "pomaster/components/backend-hard-spec/assets/universal/index.md",
|
|
685
|
+
"sha256": "b50c1fdcab5d1a3217a6e28059580195f681b6e68f465eb8e055bd8e5310c479",
|
|
686
|
+
"seed_version": "B6C"
|
|
687
|
+
}
|
|
688
|
+
],
|
|
689
|
+
"note": "D2 合并导航文档——路由表/激活基线/冲突优先级按主题文档改写承接(非逐字节聚合;改写授权 = Owner 裁定 D2/OQ-13 导航层承接)"
|
|
690
|
+
}
|
|
691
|
+
}
|