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,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:EVID",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25+9 条同因同请,合并进同一 vocab PR)",
|
|
6
|
+
"locked_vocab_untouched": true,
|
|
7
|
+
"resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006,不受 kinds_registry.truth_bodies 闭包管辖),POLICY. 前缀为 governed 闭包既有前缀,id 域段词形随 catalog_layer_vocab.policy_id_domains / policy_web_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
|
|
8
|
+
},
|
|
9
|
+
"x-spec-d-materialization": {
|
|
10
|
+
"status": "PROPOSAL",
|
|
11
|
+
"package": "B6c BE 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
|
|
12
|
+
"human_review_required": true,
|
|
13
|
+
"evidence": "PLANNED",
|
|
14
|
+
"provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
|
|
15
|
+
"group": "BE-G1",
|
|
16
|
+
"candidate_id": "POLICY.EVID.NO_UNVERIFIABLE_PASS",
|
|
17
|
+
"density_rank": "UNIVERSAL",
|
|
18
|
+
"density_score": 31.75,
|
|
19
|
+
"pool_statement_sha16": "114b5ba7808be9db",
|
|
20
|
+
"curated_rule": "B6c 分母(BE universal 33:32 编号协议 + index)required 池(ELIGIBLE 未物化 + 卡层锚落 MUST/MUST NOT 且与 MASTer 行锚交叉验证)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 行锚全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
|
|
21
|
+
"denominator": "MASTer(池卡 source 锚)"
|
|
22
|
+
},
|
|
23
|
+
"x-b6-porting": {
|
|
24
|
+
"status": "PROPOSAL",
|
|
25
|
+
"batch": "B6C",
|
|
26
|
+
"human_review_required": true,
|
|
27
|
+
"classification_face": "policy",
|
|
28
|
+
"enforcement_axis": {
|
|
29
|
+
"source_sections": [
|
|
30
|
+
"MUST NOT"
|
|
31
|
+
],
|
|
32
|
+
"rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
|
|
33
|
+
"asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
|
|
34
|
+
},
|
|
35
|
+
"extra_master_sections": [],
|
|
36
|
+
"denominator": "vendor",
|
|
37
|
+
"vendor_pin": {
|
|
38
|
+
"path": "pomaster/components/backend-hard-spec/assets/universal/07-evidence-acceptance-protocol.md",
|
|
39
|
+
"sha256": "fb86312eaadaec81d21e20abfb979e0127138002731ddc4fb1ead9ec90cd10bb",
|
|
40
|
+
"bytes": 1280
|
|
41
|
+
},
|
|
42
|
+
"seeded_spec": ".pomaster/specs/hard/themes/task-governance-and-acceptance.md",
|
|
43
|
+
"seed_manifest": "packages/cli/seeds/manifest.json"
|
|
44
|
+
},
|
|
45
|
+
"id": "POLICY.EVID.NO_UNVERIFIABLE_PASS",
|
|
46
|
+
"kind": "policy",
|
|
47
|
+
"axis_profile": "policy_default",
|
|
48
|
+
"classification": "UNIVERSAL_POLICY",
|
|
49
|
+
"axes": {
|
|
50
|
+
"lifecycle": "PROPOSED",
|
|
51
|
+
"confidence": "UNRESOLVED",
|
|
52
|
+
"evidence": "PLANNED",
|
|
53
|
+
"change": "STABLE"
|
|
54
|
+
},
|
|
55
|
+
"title_zh": "禁不可复核通过依据",
|
|
56
|
+
"statement_zh": "口头完成声明、过期报告与无来源截图不得作为门禁通过依据。",
|
|
57
|
+
"statement_en_keywords": [
|
|
58
|
+
"no verbal pass",
|
|
59
|
+
"no stale report",
|
|
60
|
+
"no unsourced screenshot"
|
|
61
|
+
],
|
|
62
|
+
"applies_when": {
|
|
63
|
+
"lane": "any",
|
|
64
|
+
"condition": "任何门禁判定",
|
|
65
|
+
"applicability_note": "任何门禁判定"
|
|
66
|
+
},
|
|
67
|
+
"enforcement": "required_when_applicable",
|
|
68
|
+
"authority": {
|
|
69
|
+
"owner": "HUMAN_OWNER",
|
|
70
|
+
"delegates": [],
|
|
71
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
72
|
+
"escalation_hint": "catalog-spec-decomposition"
|
|
73
|
+
},
|
|
74
|
+
"origin": "ingested",
|
|
75
|
+
"origin_note": "B6c BE 播种移植物化;statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
|
|
76
|
+
"sources": [
|
|
77
|
+
{
|
|
78
|
+
"type": "design_seed",
|
|
79
|
+
"ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G1.yaml",
|
|
80
|
+
"captured_by": "agent:claude/spec-d-consolidation",
|
|
81
|
+
"locator": {
|
|
82
|
+
"candidate": "POLICY.EVID.NO_UNVERIFIABLE_PASS",
|
|
83
|
+
"source_protocol": ".trellis/spec/backend/07-evidence-acceptance-protocol.md",
|
|
84
|
+
"lines": "29"
|
|
85
|
+
},
|
|
86
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"review_notes": [
|
|
90
|
+
"门禁通过依据可复核性在既有 193 条中无对应条目(EVID.NO_SILENT_GATE_REMOVAL 留池;GATE.P0_NON_BYPASSABLE 管绕过禁令),零语义重复。"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:FLAG",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25 条同因同请,合并进同一 vocab PR)",
|
|
6
|
+
"locked_vocab_untouched": true,
|
|
7
|
+
"resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006,不受 kinds_registry.truth_bodies 闭包管辖),POLICY. 前缀为 governed 闭包既有前缀,id 域段词形随 catalog_layer_vocab.policy_id_domains / policy_web_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
|
|
8
|
+
},
|
|
9
|
+
"x-spec-d-materialization": {
|
|
10
|
+
"status": "PROPOSAL",
|
|
11
|
+
"package": "B6b-II FE 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
|
|
12
|
+
"human_review_required": true,
|
|
13
|
+
"evidence": "PLANNED",
|
|
14
|
+
"provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
|
|
15
|
+
"group": "FE-G1",
|
|
16
|
+
"candidate_id": "POLICY.FLAG.CLEANUP_AFTER_FULL_ROLLOUT",
|
|
17
|
+
"density_rank": null,
|
|
18
|
+
"density_score": 32.62,
|
|
19
|
+
"pool_statement_sha16": "55af13900673b093",
|
|
20
|
+
"curated_rule": "B6b-II 分母(FE 24-45 + index)required 池(ELIGIBLE 未物化 + MASTer 行锚落 MUST/MUST NOT)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 锚段全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
|
|
21
|
+
"denominator": "MASTer(池卡 source_protocol 锚)"
|
|
22
|
+
},
|
|
23
|
+
"x-b6-porting": {
|
|
24
|
+
"status": "PROPOSAL",
|
|
25
|
+
"batch": "B6B-2",
|
|
26
|
+
"human_review_required": true,
|
|
27
|
+
"enforcement_axis": {
|
|
28
|
+
"source_sections": [
|
|
29
|
+
"MUST",
|
|
30
|
+
"MUST NOT",
|
|
31
|
+
"Change Policy"
|
|
32
|
+
],
|
|
33
|
+
"rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
|
|
34
|
+
"asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
|
|
35
|
+
},
|
|
36
|
+
"extra_master_sections": [],
|
|
37
|
+
"denominator": "vendor",
|
|
38
|
+
"vendor_pin": {
|
|
39
|
+
"path": "pomaster/components/frontend-hard-spec/assets/universal/36-feature-flag-protocol.md",
|
|
40
|
+
"sha256": "ba6cf2d5607ba54d9864cd6c07899d2e13a8d33ea248fbd7469b92c23474f474",
|
|
41
|
+
"bytes": 1699
|
|
42
|
+
},
|
|
43
|
+
"seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
|
|
44
|
+
"seed_manifest": "packages/cli/seeds/manifest.json"
|
|
45
|
+
},
|
|
46
|
+
"id": "POLICY.FLAG.CLEANUP_AFTER_FULL_ROLLOUT",
|
|
47
|
+
"kind": "policy",
|
|
48
|
+
"axis_profile": "policy_default",
|
|
49
|
+
"classification": "UNIVERSAL_POLICY",
|
|
50
|
+
"axes": {
|
|
51
|
+
"lifecycle": "PROPOSED",
|
|
52
|
+
"confidence": "UNRESOLVED",
|
|
53
|
+
"evidence": "PLANNED",
|
|
54
|
+
"change": "STABLE"
|
|
55
|
+
},
|
|
56
|
+
"title_zh": "全量后清理开关旧路径",
|
|
57
|
+
"statement_zh": "全量稳定后必须删除临时判断与旧路径;开关语义转长期时应迁移到正式配置系统并记录变化。",
|
|
58
|
+
"statement_en_keywords": [
|
|
59
|
+
"cleanup after full rollout",
|
|
60
|
+
"remove flag branches",
|
|
61
|
+
"migrate to config system",
|
|
62
|
+
"record flag retirement"
|
|
63
|
+
],
|
|
64
|
+
"applies_when": {
|
|
65
|
+
"lane": "any",
|
|
66
|
+
"condition": "开关生命周期收尾",
|
|
67
|
+
"applicability_note": "开关生命周期收尾"
|
|
68
|
+
},
|
|
69
|
+
"enforcement": "required_when_applicable",
|
|
70
|
+
"authority": {
|
|
71
|
+
"owner": "HUMAN_OWNER",
|
|
72
|
+
"delegates": [],
|
|
73
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
74
|
+
"escalation_hint": "catalog-spec-decomposition"
|
|
75
|
+
},
|
|
76
|
+
"origin": "ingested",
|
|
77
|
+
"origin_note": "B6b-II FE 播种移植物化;statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
|
|
78
|
+
"sources": [
|
|
79
|
+
{
|
|
80
|
+
"type": "design_seed",
|
|
81
|
+
"ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml",
|
|
82
|
+
"captured_by": "agent:claude/spec-d-consolidation",
|
|
83
|
+
"locator": {
|
|
84
|
+
"candidate": "POLICY.FLAG.CLEANUP_AFTER_FULL_ROLLOUT",
|
|
85
|
+
"source_protocol": ".trellis/spec/frontend/36-feature-flag-protocol.md",
|
|
86
|
+
"lines": "L23, L26, L67"
|
|
87
|
+
},
|
|
88
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"review_notes": [
|
|
92
|
+
"开关收尾清理在既有 168 条中无对应条目;与 POLICY.CHG.DEPRECATE_BEFORE_DELETE(先废弃后删除)相邻——彼管通用废弃时序,本管开关生命周期终局,互引不合并;多锚卡(MUST/MUST NOT + Change Policy 锚),主锚定强度 required。"
|
|
93
|
+
]
|
|
94
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:FLAG",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25 条同因同请,合并进同一 vocab PR)",
|
|
6
|
+
"locked_vocab_untouched": true,
|
|
7
|
+
"resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006,不受 kinds_registry.truth_bodies 闭包管辖),POLICY. 前缀为 governed 闭包既有前缀,id 域段词形随 catalog_layer_vocab.policy_id_domains / policy_web_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
|
|
8
|
+
},
|
|
9
|
+
"x-spec-d-materialization": {
|
|
10
|
+
"status": "PROPOSAL",
|
|
11
|
+
"package": "B6b-II FE 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
|
|
12
|
+
"human_review_required": true,
|
|
13
|
+
"evidence": "PLANNED",
|
|
14
|
+
"provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
|
|
15
|
+
"group": "FE-G1",
|
|
16
|
+
"candidate_id": "POLICY.FLAG.CONSISTENT_OFF_STATE",
|
|
17
|
+
"density_rank": null,
|
|
18
|
+
"density_score": 32.31,
|
|
19
|
+
"pool_statement_sha16": "79bed416f81a3f01",
|
|
20
|
+
"curated_rule": "B6b-II 分母(FE 24-45 + index)required 池(ELIGIBLE 未物化 + MASTer 行锚落 MUST/MUST NOT)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 锚段全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
|
|
21
|
+
"denominator": "MASTer(池卡 source_protocol 锚)"
|
|
22
|
+
},
|
|
23
|
+
"x-b6-porting": {
|
|
24
|
+
"status": "PROPOSAL",
|
|
25
|
+
"batch": "B6B-2",
|
|
26
|
+
"human_review_required": true,
|
|
27
|
+
"enforcement_axis": {
|
|
28
|
+
"source_sections": [
|
|
29
|
+
"MUST",
|
|
30
|
+
"MUST NOT"
|
|
31
|
+
],
|
|
32
|
+
"rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
|
|
33
|
+
"asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
|
|
34
|
+
},
|
|
35
|
+
"extra_master_sections": [],
|
|
36
|
+
"denominator": "vendor",
|
|
37
|
+
"vendor_pin": {
|
|
38
|
+
"path": "pomaster/components/frontend-hard-spec/assets/universal/36-feature-flag-protocol.md",
|
|
39
|
+
"sha256": "ba6cf2d5607ba54d9864cd6c07899d2e13a8d33ea248fbd7469b92c23474f474",
|
|
40
|
+
"bytes": 1699
|
|
41
|
+
},
|
|
42
|
+
"seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
|
|
43
|
+
"seed_manifest": "packages/cli/seeds/manifest.json"
|
|
44
|
+
},
|
|
45
|
+
"id": "POLICY.FLAG.CONSISTENT_OFF_STATE",
|
|
46
|
+
"kind": "policy",
|
|
47
|
+
"axis_profile": "policy_default",
|
|
48
|
+
"classification": "UNIVERSAL_POLICY",
|
|
49
|
+
"axes": {
|
|
50
|
+
"lifecycle": "PROPOSED",
|
|
51
|
+
"confidence": "UNRESOLVED",
|
|
52
|
+
"evidence": "PLANNED",
|
|
53
|
+
"change": "STABLE"
|
|
54
|
+
},
|
|
55
|
+
"title_zh": "开关关闭态全链路停用",
|
|
56
|
+
"statement_zh": "开关关闭时入口、路由与后台请求必须一并停用;界面收起而后台请求照发被禁止。",
|
|
57
|
+
"statement_en_keywords": [
|
|
58
|
+
"consistent off state",
|
|
59
|
+
"hide entry route and requests",
|
|
60
|
+
"no background calls when off"
|
|
61
|
+
],
|
|
62
|
+
"applies_when": {
|
|
63
|
+
"lane": "any",
|
|
64
|
+
"condition": "开关关闭态行为",
|
|
65
|
+
"applicability_note": "开关关闭态行为"
|
|
66
|
+
},
|
|
67
|
+
"enforcement": "required_when_applicable",
|
|
68
|
+
"authority": {
|
|
69
|
+
"owner": "HUMAN_OWNER",
|
|
70
|
+
"delegates": [],
|
|
71
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
72
|
+
"escalation_hint": "catalog-spec-decomposition"
|
|
73
|
+
},
|
|
74
|
+
"origin": "ingested",
|
|
75
|
+
"origin_note": "B6b-II FE 播种移植物化;statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
|
|
76
|
+
"sources": [
|
|
77
|
+
{
|
|
78
|
+
"type": "design_seed",
|
|
79
|
+
"ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml",
|
|
80
|
+
"captured_by": "agent:claude/spec-d-consolidation",
|
|
81
|
+
"locator": {
|
|
82
|
+
"candidate": "POLICY.FLAG.CONSISTENT_OFF_STATE",
|
|
83
|
+
"source_protocol": ".trellis/spec/frontend/36-feature-flag-protocol.md",
|
|
84
|
+
"lines": "L20, L30"
|
|
85
|
+
},
|
|
86
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"review_notes": [
|
|
90
|
+
"开关关闭态一致性在既有 168 条中无对应条目;与 FLAG.LIFECYCLE_METADATA 正交(彼管登记元数据,本管关闭态行为),零语义重复;双锚卡(36 L20+L30),36 文件不重复立卡。"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:FLAG",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25 条同因同请,合并进同一 vocab PR)",
|
|
6
|
+
"locked_vocab_untouched": true,
|
|
7
|
+
"resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006,不受 kinds_registry.truth_bodies 闭包管辖),POLICY. 前缀为 governed 闭包既有前缀,id 域段词形随 catalog_layer_vocab.policy_id_domains / policy_web_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
|
|
8
|
+
},
|
|
9
|
+
"x-spec-d-materialization": {
|
|
10
|
+
"status": "PROPOSAL",
|
|
11
|
+
"package": "B6b-II FE 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
|
|
12
|
+
"human_review_required": true,
|
|
13
|
+
"evidence": "PLANNED",
|
|
14
|
+
"provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
|
|
15
|
+
"group": "FE-G1",
|
|
16
|
+
"candidate_id": "POLICY.FLAG.KILL_SWITCH",
|
|
17
|
+
"density_rank": null,
|
|
18
|
+
"density_score": 31.81,
|
|
19
|
+
"pool_statement_sha16": "08bbec8132e3176b",
|
|
20
|
+
"curated_rule": "B6b-II 分母(FE 24-45 + index)required 池(ELIGIBLE 未物化 + MASTer 行锚落 MUST/MUST NOT)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 锚段全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
|
|
21
|
+
"denominator": "MASTer(池卡 source_protocol 锚)"
|
|
22
|
+
},
|
|
23
|
+
"x-b6-porting": {
|
|
24
|
+
"status": "PROPOSAL",
|
|
25
|
+
"batch": "B6B-2",
|
|
26
|
+
"human_review_required": true,
|
|
27
|
+
"enforcement_axis": {
|
|
28
|
+
"source_sections": [
|
|
29
|
+
"SHOULD"
|
|
30
|
+
],
|
|
31
|
+
"rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
|
|
32
|
+
"asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
|
|
33
|
+
},
|
|
34
|
+
"extra_master_sections": [],
|
|
35
|
+
"denominator": "vendor",
|
|
36
|
+
"vendor_pin": {
|
|
37
|
+
"path": "pomaster/components/frontend-hard-spec/assets/universal/36-feature-flag-protocol.md",
|
|
38
|
+
"sha256": "ba6cf2d5607ba54d9864cd6c07899d2e13a8d33ea248fbd7469b92c23474f474",
|
|
39
|
+
"bytes": 1699
|
|
40
|
+
},
|
|
41
|
+
"seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
|
|
42
|
+
"seed_manifest": "packages/cli/seeds/manifest.json"
|
|
43
|
+
},
|
|
44
|
+
"id": "POLICY.FLAG.KILL_SWITCH",
|
|
45
|
+
"kind": "policy",
|
|
46
|
+
"axis_profile": "policy_default",
|
|
47
|
+
"classification": "UNIVERSAL_POLICY",
|
|
48
|
+
"axes": {
|
|
49
|
+
"lifecycle": "PROPOSED",
|
|
50
|
+
"confidence": "UNRESOLVED",
|
|
51
|
+
"evidence": "PLANNED",
|
|
52
|
+
"change": "STABLE"
|
|
53
|
+
},
|
|
54
|
+
"title_zh": "关键写操作紧急停用开关",
|
|
55
|
+
"statement_zh": "关键写操作应配备紧急停用开关,并支持灰度、回滚与实验审计。",
|
|
56
|
+
"statement_en_keywords": [
|
|
57
|
+
"kill switch",
|
|
58
|
+
"emergency disable",
|
|
59
|
+
"rollout rollback audit"
|
|
60
|
+
],
|
|
61
|
+
"applies_when": {
|
|
62
|
+
"lane": "any",
|
|
63
|
+
"condition": "关键写操作发布",
|
|
64
|
+
"applicability_note": "关键写操作发布"
|
|
65
|
+
},
|
|
66
|
+
"enforcement": "advisory",
|
|
67
|
+
"authority": {
|
|
68
|
+
"owner": "HUMAN_OWNER",
|
|
69
|
+
"delegates": [],
|
|
70
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
71
|
+
"escalation_hint": "catalog-spec-decomposition"
|
|
72
|
+
},
|
|
73
|
+
"origin": "ingested",
|
|
74
|
+
"origin_note": "B6b-II FE 播种移植物化;statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
|
|
75
|
+
"sources": [
|
|
76
|
+
{
|
|
77
|
+
"type": "design_seed",
|
|
78
|
+
"ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml",
|
|
79
|
+
"captured_by": "agent:claude/spec-d-consolidation",
|
|
80
|
+
"locator": {
|
|
81
|
+
"candidate": "POLICY.FLAG.KILL_SWITCH",
|
|
82
|
+
"source_protocol": ".trellis/spec/frontend/36-feature-flag-protocol.md",
|
|
83
|
+
"lines": "L34-L35"
|
|
84
|
+
},
|
|
85
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"review_notes": [
|
|
89
|
+
"advisory 物化(SHOULD 源):紧急停用开关配备,源段 SHOULD——advisory 落点;与 FLAG 族 required 条目同族不同时点(配备建议 vs 登记/清理纪律),互引不合并;enforcement 轴断言钉。"
|
|
90
|
+
]
|
|
91
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:FLAG",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25 条同因同请,合并进同一 vocab PR)",
|
|
6
|
+
"locked_vocab_untouched": true,
|
|
7
|
+
"resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006,不受 kinds_registry.truth_bodies 闭包管辖),POLICY. 前缀为 governed 闭包既有前缀,id 域段词形随 catalog_layer_vocab.policy_id_domains / policy_web_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
|
|
8
|
+
},
|
|
9
|
+
"x-spec-d-materialization": {
|
|
10
|
+
"status": "PROPOSAL",
|
|
11
|
+
"package": "B6b-II FE 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
|
|
12
|
+
"human_review_required": true,
|
|
13
|
+
"evidence": "PLANNED",
|
|
14
|
+
"provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
|
|
15
|
+
"group": "FE-G1",
|
|
16
|
+
"candidate_id": "POLICY.FLAG.LIFECYCLE_METADATA",
|
|
17
|
+
"density_rank": null,
|
|
18
|
+
"density_score": 33.44,
|
|
19
|
+
"pool_statement_sha16": "15a8bb23eb1502a7",
|
|
20
|
+
"curated_rule": "B6b-II 分母(FE 24-45 + index)required 池(ELIGIBLE 未物化 + MASTer 行锚落 MUST/MUST NOT)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 锚段全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
|
|
21
|
+
"denominator": "MASTer(池卡 source_protocol 锚)"
|
|
22
|
+
},
|
|
23
|
+
"x-b6-porting": {
|
|
24
|
+
"status": "PROPOSAL",
|
|
25
|
+
"batch": "B6B-2",
|
|
26
|
+
"human_review_required": true,
|
|
27
|
+
"enforcement_axis": {
|
|
28
|
+
"source_sections": [
|
|
29
|
+
"MUST",
|
|
30
|
+
"MUST NOT"
|
|
31
|
+
],
|
|
32
|
+
"rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
|
|
33
|
+
"asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
|
|
34
|
+
},
|
|
35
|
+
"extra_master_sections": [],
|
|
36
|
+
"denominator": "vendor",
|
|
37
|
+
"vendor_pin": {
|
|
38
|
+
"path": "pomaster/components/frontend-hard-spec/assets/universal/36-feature-flag-protocol.md",
|
|
39
|
+
"sha256": "ba6cf2d5607ba54d9864cd6c07899d2e13a8d33ea248fbd7469b92c23474f474",
|
|
40
|
+
"bytes": 1699
|
|
41
|
+
},
|
|
42
|
+
"seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
|
|
43
|
+
"seed_manifest": "packages/cli/seeds/manifest.json"
|
|
44
|
+
},
|
|
45
|
+
"id": "POLICY.FLAG.LIFECYCLE_METADATA",
|
|
46
|
+
"kind": "policy",
|
|
47
|
+
"axis_profile": "policy_default",
|
|
48
|
+
"classification": "UNIVERSAL_POLICY",
|
|
49
|
+
"axes": {
|
|
50
|
+
"lifecycle": "PROPOSED",
|
|
51
|
+
"confidence": "UNRESOLVED",
|
|
52
|
+
"evidence": "PLANNED",
|
|
53
|
+
"change": "STABLE"
|
|
54
|
+
},
|
|
55
|
+
"title_zh": "功能开关登记六要素与期限",
|
|
56
|
+
"statement_zh": "每个功能开关必须登记责任人、目的、默认值、目标范围、生效期限与清理日期;无责任人、无期限的永久临时开关被禁止。",
|
|
57
|
+
"statement_en_keywords": [
|
|
58
|
+
"feature flag metadata",
|
|
59
|
+
"owner and expiry",
|
|
60
|
+
"no permanent temporary flag",
|
|
61
|
+
"cleanup date"
|
|
62
|
+
],
|
|
63
|
+
"applies_when": {
|
|
64
|
+
"lane": "any",
|
|
65
|
+
"condition": "功能开关创建与登记",
|
|
66
|
+
"applicability_note": "功能开关创建与登记"
|
|
67
|
+
},
|
|
68
|
+
"enforcement": "required_when_applicable",
|
|
69
|
+
"authority": {
|
|
70
|
+
"owner": "HUMAN_OWNER",
|
|
71
|
+
"delegates": [],
|
|
72
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
73
|
+
"escalation_hint": "catalog-spec-decomposition"
|
|
74
|
+
},
|
|
75
|
+
"origin": "ingested",
|
|
76
|
+
"origin_note": "B6b-II FE 播种移植物化;statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
|
|
77
|
+
"sources": [
|
|
78
|
+
{
|
|
79
|
+
"type": "design_seed",
|
|
80
|
+
"ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml",
|
|
81
|
+
"captured_by": "agent:claude/spec-d-consolidation",
|
|
82
|
+
"locator": {
|
|
83
|
+
"candidate": "POLICY.FLAG.LIFECYCLE_METADATA",
|
|
84
|
+
"source_protocol": ".trellis/spec/frontend/36-feature-flag-protocol.md",
|
|
85
|
+
"lines": "L19, L29"
|
|
86
|
+
},
|
|
87
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"review_notes": [
|
|
91
|
+
"功能开关生命周期登记在既有 168 条中无对应条目(FEATURE_ORIENTED 词形为组件形态轴),零语义重复;双锚卡(36 L19+L29),36 文件不重复立卡。"
|
|
92
|
+
]
|
|
93
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-vocab-pr": {
|
|
3
|
+
"status": "vocab_pr_candidate",
|
|
4
|
+
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:FLAG",
|
|
5
|
+
"proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+25 条同因同请,合并进同一 vocab PR)",
|
|
6
|
+
"locked_vocab_untouched": true,
|
|
7
|
+
"resolution": "2026-09-05 vocab PR-0009 收编落地(vocab-lock@v0.8-resolved,三镜像同 commit;Owner 裁定 D4=(a) 2026-09-05):kind='policy' 是 catalog 物料分类词形(catalog_layer_vocab.catalog_kind 在册——PR-0006,不受 kinds_registry.truth_bodies 闭包管辖),POLICY. 前缀为 governed 闭包既有前缀,id 域段词形随 catalog_layer_vocab.policy_id_domains / policy_web_domains 收编;本 pending 注记就此转正(finding/proposal/locked_vocab_untouched 为创建时点历史记录原样保留——mcp_eyes 先例)"
|
|
8
|
+
},
|
|
9
|
+
"x-spec-d-materialization": {
|
|
10
|
+
"status": "PROPOSAL",
|
|
11
|
+
"package": "B6b-II FE 播种移植(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
|
|
12
|
+
"human_review_required": true,
|
|
13
|
+
"evidence": "PLANNED",
|
|
14
|
+
"provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
|
|
15
|
+
"group": "FE-G1",
|
|
16
|
+
"candidate_id": "POLICY.FLAG.NOT_A_PERMISSION",
|
|
17
|
+
"density_rank": null,
|
|
18
|
+
"density_score": 32.19,
|
|
19
|
+
"pool_statement_sha16": "d785bf25a1e0ade6",
|
|
20
|
+
"curated_rule": "B6b-II 分母(FE 24-45 + index)required 池(ELIGIBLE 未物化 + MASTer 行锚落 MUST/MUST NOT)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡 + 锚段全落建议段闭包)按同公式密度序取前 3 = 25(D5 上限/批内执行);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
|
|
21
|
+
"denominator": "MASTer(池卡 source_protocol 锚)"
|
|
22
|
+
},
|
|
23
|
+
"x-b6-porting": {
|
|
24
|
+
"status": "PROPOSAL",
|
|
25
|
+
"batch": "B6B-2",
|
|
26
|
+
"human_review_required": true,
|
|
27
|
+
"enforcement_axis": {
|
|
28
|
+
"source_sections": [
|
|
29
|
+
"MUST",
|
|
30
|
+
"MUST NOT"
|
|
31
|
+
],
|
|
32
|
+
"rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
|
|
33
|
+
"asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
|
|
34
|
+
},
|
|
35
|
+
"extra_master_sections": [],
|
|
36
|
+
"denominator": "vendor",
|
|
37
|
+
"vendor_pin": {
|
|
38
|
+
"path": "pomaster/components/frontend-hard-spec/assets/universal/36-feature-flag-protocol.md",
|
|
39
|
+
"sha256": "ba6cf2d5607ba54d9864cd6c07899d2e13a8d33ea248fbd7469b92c23474f474",
|
|
40
|
+
"bytes": 1699
|
|
41
|
+
},
|
|
42
|
+
"seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
|
|
43
|
+
"seed_manifest": "packages/cli/seeds/manifest.json"
|
|
44
|
+
},
|
|
45
|
+
"id": "POLICY.FLAG.NOT_A_PERMISSION",
|
|
46
|
+
"kind": "policy",
|
|
47
|
+
"axis_profile": "policy_default",
|
|
48
|
+
"classification": "UNIVERSAL_POLICY",
|
|
49
|
+
"axes": {
|
|
50
|
+
"lifecycle": "PROPOSED",
|
|
51
|
+
"confidence": "UNRESOLVED",
|
|
52
|
+
"evidence": "PLANNED",
|
|
53
|
+
"change": "STABLE"
|
|
54
|
+
},
|
|
55
|
+
"title_zh": "开关不承载权限语义",
|
|
56
|
+
"statement_zh": "开关不承载权限或业务状态语义;受控操作必须同时通过开关与权限两道判定。",
|
|
57
|
+
"statement_en_keywords": [
|
|
58
|
+
"flag is not permission",
|
|
59
|
+
"dual gate flag and permission",
|
|
60
|
+
"no business state in flags"
|
|
61
|
+
],
|
|
62
|
+
"applies_when": {
|
|
63
|
+
"lane": "any",
|
|
64
|
+
"condition": "开关与权限边界",
|
|
65
|
+
"applicability_note": "开关与权限边界"
|
|
66
|
+
},
|
|
67
|
+
"enforcement": "required_when_applicable",
|
|
68
|
+
"authority": {
|
|
69
|
+
"owner": "HUMAN_OWNER",
|
|
70
|
+
"delegates": [],
|
|
71
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
72
|
+
"escalation_hint": "catalog-spec-decomposition"
|
|
73
|
+
},
|
|
74
|
+
"origin": "ingested",
|
|
75
|
+
"origin_note": "B6b-II FE 播种移植物化;statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
|
|
76
|
+
"sources": [
|
|
77
|
+
{
|
|
78
|
+
"type": "design_seed",
|
|
79
|
+
"ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml",
|
|
80
|
+
"captured_by": "agent:claude/spec-d-consolidation",
|
|
81
|
+
"locator": {
|
|
82
|
+
"candidate": "POLICY.FLAG.NOT_A_PERMISSION",
|
|
83
|
+
"source_protocol": ".trellis/spec/frontend/36-feature-flag-protocol.md",
|
|
84
|
+
"lines": "L22, L28"
|
|
85
|
+
},
|
|
86
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"review_notes": [
|
|
90
|
+
"开关与权限双判定边界在既有 168 条中无对应条目(17 权限协议面未入册;本条管开关不得替代权限判定),零语义重复。"
|
|
91
|
+
]
|
|
92
|
+
}
|