pomaster 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -10
- package/catalog/archetypes/archetype.frontend.error_taxonomy.json +13 -5
- package/catalog/archetypes/archetype.frontend.feature_oriented.json +1 -1
- package/catalog/archetypes/archetype.state.async_command.json +4 -4
- package/catalog/catalog-lock.draft.json +1120 -104
- package/catalog/gates/gate.be.api.contract_checks.json +2 -1
- package/catalog/gates/gate.be.chg.contract_change_checks.json +2 -1
- package/catalog/gates/gate.chg.prechange_checks.json +2 -1
- package/catalog/gates/gate.web.api.request_checks.json +2 -1
- package/catalog/gates/gate.web.grid.checks.json +2 -1
- package/catalog/knowledge/knowledge.api.example_stable_error_code.json +2 -1
- package/catalog/knowledge/knowledge.chg.example_compat_window.json +2 -1
- package/catalog/knowledge/knowledge.chg.example_prop_migration.json +2 -1
- package/catalog/knowledge/knowledge.fp.api.field_drift_no_contract.json +2 -1
- package/catalog/knowledge/knowledge.fp.api.per_page_http_client.json +2 -1
- package/catalog/knowledge/knowledge.fp.be.contract_drift.json +2 -1
- package/catalog/knowledge/knowledge.fp.chg.page_local_padding.json +2 -1
- package/catalog/knowledge/knowledge.fp.grid.global_td_width.json +2 -1
- package/catalog/knowledge/knowledge.web.api.example_get_entity_list.json +2 -1
- package/catalog/knowledge/knowledge.web.grid.example_column_preset.json +2 -1
- package/catalog/policies/authority.be.api_contract_ownership.json +2 -1
- package/catalog/policies/authority.be.contract_ownership.json +2 -1
- package/catalog/policies/authority.chg.change_owners.json +2 -1
- package/catalog/policies/authority.web.api.request_owners.json +2 -1
- package/catalog/policies/authority.web.grid.ownership.json +2 -1
- package/catalog/policies/policy.ai.change_plan_first.json +91 -0
- package/catalog/policies/policy.ai.fact_inference_separation.json +91 -0
- package/catalog/policies/policy.ai.read_search_verify_before_write.json +92 -0
- package/catalog/policies/policy.ai.rule_relaxation_approval.json +91 -0
- package/catalog/policies/policy.api.backward_compat_defaults.json +2 -1
- package/catalog/policies/policy.api.contract_impl_consistency.json +2 -1
- package/catalog/policies/policy.api.no_informal_contract.json +2 -1
- package/catalog/policies/policy.arch.adr_immutable_history.json +91 -0
- package/catalog/policies/policy.arch.decision_tradeoff_record.json +2 -1
- package/catalog/policies/policy.arch.no_convenience_over_boundary.json +93 -0
- package/catalog/policies/policy.arch.prefer_verifiable_option.json +92 -0
- package/catalog/policies/policy.authz.no_gating_proxy_trust.json +99 -0
- package/catalog/policies/policy.authz.permission_scope_expansion_gate.json +99 -0
- package/catalog/policies/policy.authz.server_five_factor_verification.json +101 -0
- package/catalog/policies/policy.be.conc.prefer_db_constraints.json +97 -0
- package/catalog/policies/policy.be.db.expand_migrate_contract.json +97 -0
- package/catalog/policies/policy.be.idem.key_payload_conflict.json +97 -0
- package/catalog/policies/policy.be.model.single_boundary_conversion.json +97 -0
- package/catalog/policies/policy.be.sql.index_for_known_queries.json +97 -0
- package/catalog/policies/policy.be.state.single_rule_source.json +97 -0
- package/catalog/policies/policy.be.txn.short_locks_compensation.json +96 -0
- package/catalog/policies/policy.bound.search_first_entry_only.json +91 -0
- package/catalog/policies/policy.boundary.validate_in_encode_out.json +92 -0
- package/catalog/policies/policy.cache.failure_mode_guards.json +93 -0
- package/catalog/policies/policy.cache.lifecycle_definition.json +2 -1
- package/catalog/policies/policy.cache.schema_versioning.json +91 -0
- package/catalog/policies/policy.cfg.config_attribute_completeness.json +95 -0
- package/catalog/policies/policy.cfg.key_rename_dual_read.json +92 -0
- package/catalog/policies/policy.cfg.no_secret_dispersal.json +90 -0
- package/catalog/policies/policy.cfg.production_safe_defaults.json +92 -0
- package/catalog/policies/policy.cfg.schema_backed_config.json +92 -0
- package/catalog/policies/policy.chg.affect_templates.json +2 -1
- package/catalog/policies/policy.chg.breaking_versioning.json +2 -1
- package/catalog/policies/policy.chg.compat_migration_rollback.json +2 -1
- package/catalog/policies/policy.chg.deprecate_before_delete.json +2 -1
- package/catalog/policies/policy.chg.fix_at_root_cause_level.json +2 -1
- package/catalog/policies/policy.chg.no_unrelated_changes.json +91 -0
- package/catalog/policies/policy.chg.observable_evolution.json +2 -1
- package/catalog/policies/policy.chg.prechange_consumer_scan.json +2 -1
- package/catalog/policies/policy.chg.staged_rollout.json +2 -1
- package/catalog/policies/policy.chg.sync_contract_docs_tests.json +2 -1
- package/catalog/policies/policy.conflict.priority_ladder.json +2 -1
- package/catalog/policies/policy.contract.no_invented_facts.json +93 -0
- package/catalog/policies/policy.dep.admission_six_dimension_check.json +2 -1
- package/catalog/policies/policy.dep.build_path_supply_chain.json +93 -0
- package/catalog/policies/policy.dep.change_surface_review.json +2 -1
- package/catalog/policies/policy.dep.introduction_review.json +2 -1
- package/catalog/policies/policy.dep.no_untrusted_source_no_lock_bypass.json +92 -0
- package/catalog/policies/policy.dep.time_boxed_urgent_exception.json +91 -0
- package/catalog/policies/policy.deploy.no_dev_env_as_production_fact.json +91 -0
- package/catalog/policies/policy.deploy.operational_capabilities.json +93 -0
- package/catalog/policies/policy.deploy.runtime_fact_record.json +97 -0
- package/catalog/policies/policy.derived.single_implementation.json +2 -1
- package/catalog/policies/policy.err.failure_five_part_mapping.json +101 -0
- package/catalog/policies/policy.err.no_internal_detail_exposure.json +97 -0
- package/catalog/policies/policy.err.published_code_immutable.json +98 -0
- package/catalog/policies/policy.evid.acceptance_binds_verifiable_evidence.json +92 -0
- package/catalog/policies/policy.evid.no_silent_gate_removal.json +90 -0
- package/catalog/policies/policy.evid.no_unverifiable_pass.json +92 -0
- package/catalog/policies/policy.flag.cleanup_after_full_rollout.json +94 -0
- package/catalog/policies/policy.flag.consistent_off_state.json +92 -0
- package/catalog/policies/policy.flag.kill_switch.json +91 -0
- package/catalog/policies/policy.flag.lifecycle_metadata.json +93 -0
- package/catalog/policies/policy.flag.not_a_permission.json +92 -0
- package/catalog/policies/policy.gate.p0_non_bypassable.json +92 -0
- package/catalog/policies/policy.gate.risk_factors_confirmed.json +93 -0
- package/catalog/policies/policy.guard.no_check_weakening.json +92 -0
- package/catalog/policies/policy.integration.call_definition_minimum.json +95 -0
- package/catalog/policies/policy.integration.fault_containment.json +94 -0
- package/catalog/policies/policy.job.lifecycle_definition.json +96 -0
- package/catalog/policies/policy.job.no_unmanaged_execution.json +92 -0
- package/catalog/policies/policy.job.operational_features.json +93 -0
- package/catalog/policies/policy.obs.actionable_signals.json +93 -0
- package/catalog/policies/policy.obs.alert_with_owner.json +91 -0
- package/catalog/policies/policy.obs.context_field_baseline.json +91 -0
- package/catalog/policies/policy.obs.correlation_context_minimum.json +2 -1
- package/catalog/policies/policy.obs.no_sensitive_or_unbounded_logging.json +92 -0
- package/catalog/policies/policy.obs.no_sensitive_raw_values.json +93 -0
- package/catalog/policies/policy.obs.rum_dimension_whitelist.json +2 -1
- package/catalog/policies/policy.obs.signal_change_impact.json +91 -0
- package/catalog/policies/policy.obs.source_map_access_control.json +92 -0
- package/catalog/policies/policy.obs.telemetry_lifecycle_declared.json +93 -0
- package/catalog/policies/policy.obs.trace_correlation.json +91 -0
- package/catalog/policies/policy.perf.budget_change_retest.json +91 -0
- package/catalog/policies/policy.perf.evidence_binding.json +95 -0
- package/catalog/policies/policy.perf.observation_dimensions.json +94 -0
- package/catalog/policies/policy.proc.checklist_change_policy.json +91 -0
- package/catalog/policies/policy.proc.pre_code_declaration.json +2 -1
- package/catalog/policies/policy.proc.scope_drift_reclassify.json +91 -0
- package/catalog/policies/policy.prv.processing_scope_re_review.json +97 -0
- package/catalog/policies/policy.prv.sensitive_data_six_facts.json +102 -0
- package/catalog/policies/policy.registry.human_fields_validated_decorrelated.json +93 -0
- package/catalog/policies/policy.rel.no_irreversible_unmonitored_full_release.json +91 -0
- package/catalog/policies/policy.rel.observability_before_ship.json +91 -0
- package/catalog/policies/policy.rel.pre_release_confirmation.json +2 -1
- package/catalog/policies/policy.rel.process_change_needs_drill_audit.json +91 -0
- package/catalog/policies/policy.rel.traceable_build.json +93 -0
- package/catalog/policies/policy.role.domain_decision_authority.json +2 -1
- package/catalog/policies/policy.role.human_signs_for_ai.json +93 -0
- package/catalog/policies/policy.sec.authn_policy_unified.json +91 -0
- package/catalog/policies/policy.sec.no_client_side_trust.json +92 -0
- package/catalog/policies/policy.sec.no_longterm_security_disable.json +91 -0
- package/catalog/policies/policy.sec.no_script_readable_credentials.json +91 -0
- package/catalog/policies/policy.sec.no_secrets_in_client_surface.json +91 -0
- package/catalog/policies/policy.sec.relaxation_approval.json +92 -0
- package/catalog/policies/policy.sec.security_relaxation_gate.json +92 -0
- package/catalog/policies/policy.sec.third_party_execution_register.json +2 -1
- package/catalog/policies/policy.sec.trust_boundary_enforcement.json +93 -0
- package/catalog/policies/policy.sec.upload_download_server_recheck.json +91 -0
- package/catalog/policies/policy.sec.url_source_allowlist.json +91 -0
- package/catalog/policies/policy.spec.admission_criteria.json +2 -1
- package/catalog/policies/policy.spec.derived_view_regeneration.json +2 -1
- package/catalog/policies/policy.spec.draft_not_baseline.json +2 -1
- package/catalog/policies/policy.spec.family_conflict_precedence.json +93 -0
- package/catalog/policies/policy.spec.file_structure_contract.json +2 -1
- package/catalog/policies/policy.spec.freeze_before_use.json +93 -0
- package/catalog/policies/policy.spec.metadata_required.json +2 -1
- package/catalog/policies/policy.spec.post_dev_backfill_classify.json +2 -1
- package/catalog/policies/policy.spec.primary_source_basis.json +93 -0
- package/catalog/policies/policy.spec.procedural_record_not_surrogate.json +2 -1
- package/catalog/policies/policy.spec.semantic_identity.json +2 -1
- package/catalog/policies/policy.spec.unresolved_ledger_gate.json +2 -1
- package/catalog/policies/policy.stack.derived_store_not_authority.json +93 -0
- package/catalog/policies/policy.stack.dual_web_stack_boundary.json +93 -0
- package/catalog/policies/policy.stack.entry_chain_recorded.json +93 -0
- package/catalog/policies/policy.stack.entry_limits_aligned.json +94 -0
- package/catalog/policies/policy.stack.local_form_not_prod_fact.json +93 -0
- package/catalog/policies/policy.stack.multi_datastore_ownership.json +93 -0
- package/catalog/policies/policy.stack.no_implicit_selection.json +2 -1
- package/catalog/policies/policy.stack.persistence_coexistence_scope.json +93 -0
- package/catalog/policies/policy.stack.toolchain_versions_pinned.json +95 -0
- package/catalog/policies/policy.stack.upgrade_compat_verified.json +93 -0
- package/catalog/policies/policy.struct.module_entry_dependency_declared.json +92 -0
- package/catalog/policies/policy.struct.no_unexplained_top_level_dir.json +91 -0
- package/catalog/policies/policy.struct.reuse_proven_structure.json +91 -0
- package/catalog/policies/policy.test.control_nondeterminism_keep_diagnosis.json +91 -0
- package/catalog/policies/policy.test.isolation_and_cleanup.json +93 -0
- package/catalog/policies/policy.test.no_synthetic_stability.json +92 -0
- package/catalog/policies/policy.test.pyramid_and_ci_matrix.json +92 -0
- package/catalog/policies/policy.test.removal_justification.json +91 -0
- package/catalog/policies/policy.test.removal_needs_substitute_evidence.json +91 -0
- package/catalog/policies/policy.test.risk_driven_plan.json +92 -0
- package/catalog/policies/policy.test.stable_observable_assertions.json +92 -0
- package/catalog/policies/policy.tool.discoverable_toolchain.json +92 -0
- package/catalog/policies/policy.tool.no_hand_edit_generated_no_ci_drift.json +91 -0
- package/catalog/policies/policy.tool.no_vendored_body_edits.json +94 -0
- package/catalog/policies/policy.tool.scoped_scan_boundary.json +2 -1
- package/catalog/policies/policy.tool.upgrade_verify_lock_rollback.json +92 -0
- package/catalog/policies/policy.web.api.auth_app_client_split.json +2 -1
- package/catalog/policies/policy.web.api.client_change_impact.json +2 -1
- package/catalog/policies/policy.web.api.domain_api_only.json +2 -1
- package/catalog/policies/policy.web.api.error_normalization.json +2 -1
- package/catalog/policies/policy.web.api.generated_client.json +2 -1
- package/catalog/policies/policy.web.api.late_result_guard.json +2 -1
- package/catalog/policies/policy.web.api.mutation_idempotency.json +2 -1
- package/catalog/policies/policy.web.api.no_network_optimism.json +2 -1
- package/catalog/policies/policy.web.api.query_cancel_stale_drop.json +2 -1
- package/catalog/policies/policy.web.api.request_infrastructure.json +2 -1
- package/catalog/policies/policy.web.api.retry_discipline.json +2 -1
- package/catalog/policies/policy.web.api.session_recovery_split.json +2 -1
- package/catalog/policies/policy.web.api.single_http_client.json +2 -1
- package/catalog/policies/policy.web.api.single_loading_source.json +2 -1
- package/catalog/policies/policy.web.api.transport_vs_business.json +2 -1
- package/catalog/policies/policy.web.api.trusted_endpoint_source.json +2 -1
- package/catalog/policies/policy.web.api.typed_domain_naming.json +2 -1
- package/catalog/policies/policy.web.arch.layer_isolation.json +2 -1
- package/catalog/policies/policy.web.arch.naming_conventions.json +2 -1
- package/catalog/policies/policy.web.arch.public_api_barrel.json +2 -1
- package/catalog/policies/policy.web.chg.controlled_change_triggers.json +2 -1
- package/catalog/policies/policy.web.comp.no_trivial_or_god_component.json +91 -0
- package/catalog/policies/policy.web.comp.public_contract_completeness.json +93 -0
- package/catalog/policies/policy.web.copy.action_object_clarity.json +92 -0
- package/catalog/policies/policy.web.copy.enumerable_placement.json +91 -0
- package/catalog/policies/policy.web.copy.error_next_step.json +92 -0
- package/catalog/policies/policy.web.copy.suppression_ledger_discipline.json +2 -1
- package/catalog/policies/policy.web.grid.column_schema_fields.json +2 -1
- package/catalog/policies/policy.web.grid.config_isolation.json +2 -1
- package/catalog/policies/policy.web.grid.freeze_key_columns.json +2 -1
- package/catalog/policies/policy.web.grid.interaction_registry.json +2 -1
- package/catalog/policies/policy.web.grid.keyboard_clipboard.json +2 -1
- package/catalog/policies/policy.web.grid.schema_driven_shell.json +2 -1
- package/catalog/policies/policy.web.grid.schema_versioning.json +2 -1
- package/catalog/policies/policy.web.grid.server_ops_virtualization.json +2 -1
- package/catalog/policies/policy.web.grid.shell_change_matrix.json +2 -1
- package/catalog/policies/policy.web.grid.width_fix_ladder.json +2 -1
- package/catalog/policies/policy.web.handoff.state_matrix_full.json +94 -0
- package/catalog/policies/policy.web.i18n.copy_key_discipline.json +92 -0
- package/catalog/policies/policy.web.i18n.raw_value_for_compute.json +91 -0
- package/catalog/policies/policy.web.page.region_consistency.json +93 -0
- package/catalog/policies/policy.web.perf.budget_skeleton.json +2 -1
- package/catalog/policies/policy.web.style.ownership_matrix.json +2 -1
- package/catalog/policies/policy.web.track.attempt_result_correlation.json +91 -0
- package/catalog/policies/policy.web.track.consent_lifecycle.json +2 -1
- package/catalog/policies/policy.web.track.no_synthetic_actions.json +92 -0
- package/catalog/policies/policy.web.track.privacy_default_deny.json +2 -1
- package/catalog/policies/policy.web.track.stable_event_keys.json +2 -1
- package/catalog/policies/policy.web.track.typed_client_validation.json +91 -0
- package/catalog/policies/policy.web.uiux.provider_evidence_not_business_truth.json +2 -1
- package/catalog/policies/policy.wf.no_planned_as_verified.json +91 -0
- package/catalog/policies/policy.wf.task_facts_preconfirm.json +94 -0
- package/catalog/policies/profile.baseline.java_enterprise_default.json +96 -0
- package/catalog/sensors/sensor.browser.deterministic.json +2 -1
- package/catalog/sensors/sensor.browser.interactive.json +2 -1
- package/catalog/sensors/sensor.build.static.json +2 -1
- package/catalog/sensors/sensor.contract.conformance.json +2 -1
- package/catalog/sensors/sensor.performance.budget.json +2 -1
- package/catalog/sensors/sensor.production.metric.json +2 -1
- package/catalog/tools/seed_b6b_frontend.py +1424 -0
- package/catalog/tools/seed_b6c_backend.py +1495 -0
- package/catalog/tools/seed_b6d_baseline.py +620 -0
- package/catalog/tools/seed_b6e_evidence.py +1305 -0
- package/catalog/tools/seed_d3_review.py +1105 -0
- package/catalog/tools/seed_v06_batch2_materials.py +27 -18
- package/dist/bin.js +31967 -24201
- package/package.json +2 -1
- package/seeds/baseline/backend/api-contract.md +26 -0
- package/seeds/baseline/backend/architecture.md +31 -0
- package/seeds/baseline/backend/data-access.md +31 -0
- package/seeds/baseline/backend/directory-structure.md +11 -0
- package/seeds/baseline/backend/integration-runtime.md +21 -0
- package/seeds/baseline/backend/quality.md +31 -0
- package/seeds/baseline/backend/stack.yaml +13 -0
- package/seeds/baseline/backend/transaction-concurrency.md +26 -0
- package/seeds/baseline/data/lineage.md +11 -0
- package/seeds/baseline/data/migration.md +11 -0
- package/seeds/baseline/data/model.md +31 -0
- package/seeds/baseline/data/precision-units.md +31 -0
- package/seeds/baseline/data/quality.md +31 -0
- package/seeds/baseline/frontend/api-and-error.md +21 -0
- package/seeds/baseline/frontend/architecture.md +26 -0
- package/seeds/baseline/frontend/design-system.md +21 -0
- package/seeds/baseline/frontend/directory-structure.md +16 -0
- package/seeds/baseline/frontend/quality.md +26 -0
- package/seeds/baseline/frontend/stack.yaml +17 -0
- package/seeds/baseline/frontend/state-and-data.md +26 -0
- package/seeds/baseline/manifest.yaml +32 -0
- package/seeds/baseline/platform/delivery.md +36 -0
- package/seeds/baseline/platform/environment.md +11 -0
- package/seeds/baseline/platform/observability.md +31 -0
- package/seeds/baseline/platform/security.md +26 -0
- package/seeds/manifest.json +2006 -0
- package/seeds/specs/evidence/accessibility.md +89 -0
- package/seeds/specs/evidence/architecture.md +89 -0
- package/seeds/specs/evidence/browser-e2e.md +91 -0
- package/seeds/specs/evidence/build.md +91 -0
- package/seeds/specs/evidence/business-acceptance.md +89 -0
- package/seeds/specs/evidence/complexity-crap.md +97 -0
- package/seeds/specs/evidence/contract.md +89 -0
- package/seeds/specs/evidence/coverage.md +91 -0
- package/seeds/specs/evidence/data-migration.md +91 -0
- package/seeds/specs/evidence/dead-code-duplicate.md +89 -0
- package/seeds/specs/evidence/dependency-supply-chain.md +89 -0
- package/seeds/specs/evidence/index.md +55 -0
- package/seeds/specs/evidence/mutation.md +89 -0
- package/seeds/specs/evidence/performance.md +89 -0
- package/seeds/specs/evidence/release.md +91 -0
- package/seeds/specs/evidence/runtime-observability.md +91 -0
- package/seeds/specs/evidence/security.md +89 -0
- package/seeds/specs/evidence/typecheck-lint.md +91 -0
- package/seeds/specs/evidence/unit-component-integration.md +91 -0
- package/seeds/specs/evidence/visual-regression.md +89 -0
- package/seeds/specs/hard/backend/01-architecture-governance-protocol.md +68 -0
- package/seeds/specs/hard/backend/02-project-structure-governance-protocol.md +68 -0
- package/seeds/specs/hard/backend/03-directory-boundary-protocol.md +68 -0
- package/seeds/specs/hard/backend/04-layering-architecture-protocol.md +68 -0
- package/seeds/specs/hard/backend/05-task-workflow-protocol.md +68 -0
- package/seeds/specs/hard/backend/06-ai-generated-code-protocol.md +68 -0
- package/seeds/specs/hard/backend/07-evidence-acceptance-protocol.md +68 -0
- package/seeds/specs/hard/backend/08-contract-change-protocol.md +68 -0
- package/seeds/specs/hard/backend/09-role-responsibility-protocol.md +68 -0
- package/seeds/specs/hard/backend/10-security-protocol.md +68 -0
- package/seeds/specs/hard/backend/11-environment-configuration-protocol.md +67 -0
- package/seeds/specs/hard/backend/12-api-contract-protocol.md +68 -0
- package/seeds/specs/hard/backend/13-privacy-data-lifecycle-protocol.md +68 -0
- package/seeds/specs/hard/backend/14-business-rules-state-protocol.md +68 -0
- package/seeds/specs/hard/backend/15-data-model-protocol.md +68 -0
- package/seeds/specs/hard/backend/16-error-code-protocol.md +68 -0
- package/seeds/specs/hard/backend/17-permission-authorization-protocol.md +68 -0
- package/seeds/specs/hard/backend/18-database-schema-migration-protocol.md +68 -0
- package/seeds/specs/hard/backend/19-query-index-sql-protocol.md +68 -0
- package/seeds/specs/hard/backend/20-transaction-boundary-protocol.md +68 -0
- package/seeds/specs/hard/backend/21-concurrency-locking-protocol.md +68 -0
- package/seeds/specs/hard/backend/22-idempotency-protocol.md +68 -0
- package/seeds/specs/hard/backend/23-cache-redis-consistency-protocol.md +68 -0
- package/seeds/specs/hard/backend/24-external-integration-resilience-protocol.md +68 -0
- package/seeds/specs/hard/backend/25-async-job-scheduler-protocol.md +68 -0
- package/seeds/specs/hard/backend/26-engineering-tooling-protocol.md +68 -0
- package/seeds/specs/hard/backend/27-dependency-supply-chain-protocol.md +68 -0
- package/seeds/specs/hard/backend/28-testing-protocol.md +68 -0
- package/seeds/specs/hard/backend/29-observability-logging-tracing-protocol.md +68 -0
- package/seeds/specs/hard/backend/30-performance-capacity-protocol.md +68 -0
- package/seeds/specs/hard/backend/31-runtime-deployment-protocol.md +68 -0
- package/seeds/specs/hard/backend/32-release-versioning-rollback-protocol.md +68 -0
- package/seeds/specs/hard/backend/index.md +177 -0
- package/seeds/specs/hard/frontend/01-development-checklist-protocol.md +86 -0
- package/seeds/specs/hard/frontend/02-ai-generated-code-protocol.md +82 -0
- package/seeds/specs/hard/frontend/03-acceptance-gate-protocol.md +86 -0
- package/seeds/specs/hard/frontend/04-security-protocol.md +283 -0
- package/seeds/specs/hard/frontend/05-environment-configuration-protocol.md +80 -0
- package/seeds/specs/hard/frontend/06-change-governance-protocol.md +90 -0
- package/seeds/specs/hard/frontend/07-frontend-backend-communication-protocol.md +219 -0
- package/seeds/specs/hard/frontend/08-role-responsibility-protocol.md +80 -0
- package/seeds/specs/hard/frontend/09-module-boundary-protocol.md +81 -0
- package/seeds/specs/hard/frontend/10-engineering-tooling-protocol.md +89 -0
- package/seeds/specs/hard/frontend/11-dependency-package-management-protocol.md +87 -0
- package/seeds/specs/hard/frontend/12-business-rules-protocol.md +79 -0
- package/seeds/specs/hard/frontend/13-monetary-precision-protocol.md +81 -0
- package/seeds/specs/hard/frontend/14-data-model-protocol.md +85 -0
- package/seeds/specs/hard/frontend/15-request-api-protocol.md +87 -0
- package/seeds/specs/hard/frontend/16-error-handling-protocol.md +79 -0
- package/seeds/specs/hard/frontend/17-permission-protocol.md +79 -0
- package/seeds/specs/hard/frontend/18-state-management-protocol.md +88 -0
- package/seeds/specs/hard/frontend/19-cache-protocol.md +79 -0
- package/seeds/specs/hard/frontend/20-testing-protocol.md +88 -0
- package/seeds/specs/hard/frontend/21-design-system-protocol.md +79 -0
- package/seeds/specs/hard/frontend/22-theme-protocol.md +79 -0
- package/seeds/specs/hard/frontend/23-accessibility-protocol.md +189 -0
- package/seeds/specs/hard/frontend/24-component-protocol.md +80 -0
- package/seeds/specs/hard/frontend/25-page-structure-protocol.md +79 -0
- package/seeds/specs/hard/frontend/26-style-layout-protocol.md +80 -0
- package/seeds/specs/hard/frontend/27-rendering-state-protocol.md +81 -0
- package/seeds/specs/hard/frontend/28-form-protocol.md +88 -0
- package/seeds/specs/hard/frontend/29-routing-url-protocol.md +79 -0
- package/seeds/specs/hard/frontend/30-data-grid-protocol.md +83 -0
- package/seeds/specs/hard/frontend/31-performance-protocol.md +137 -0
- package/seeds/specs/hard/frontend/32-file-import-export-protocol.md +80 -0
- package/seeds/specs/hard/frontend/33-release-versioning-protocol.md +79 -0
- package/seeds/specs/hard/frontend/34-monitoring-logging-protocol.md +128 -0
- package/seeds/specs/hard/frontend/35-mock-protocol.md +97 -0
- package/seeds/specs/hard/frontend/36-feature-flag-protocol.md +79 -0
- package/seeds/specs/hard/frontend/37-browser-device-compatibility-protocol.md +83 -0
- package/seeds/specs/hard/frontend/38-internationalization-protocol.md +243 -0
- package/seeds/specs/hard/frontend/39-copywriting-protocol.md +79 -0
- package/seeds/specs/hard/frontend/40-analytics-protocol.md +98 -0
- package/seeds/specs/hard/frontend/41-design-handoff-protocol.md +80 -0
- package/seeds/specs/hard/frontend/42-browser-runtime-lifecycle-protocol.md +86 -0
- package/seeds/specs/hard/frontend/43-time-temporal-protocol.md +86 -0
- package/seeds/specs/hard/frontend/44-privacy-data-lifecycle-protocol.md +87 -0
- package/seeds/specs/hard/frontend/45-browser-storage-protocol.md +87 -0
- package/seeds/specs/hard/frontend/index.md +308 -0
- package/seeds/specs/hard/stacks/java/index.md +20 -0
- package/seeds/specs/hard/stacks/java/java-language-overlay.md +35 -0
- package/seeds/specs/hard/stacks/jpa/index.md +20 -0
- package/seeds/specs/hard/stacks/jpa/jpa-persistence-overlay.md +35 -0
- package/seeds/specs/hard/stacks/kubernetes-ingress/index.md +20 -0
- package/seeds/specs/hard/stacks/kubernetes-ingress/kubernetes-ingress-overlay.md +35 -0
- package/seeds/specs/hard/stacks/messaging/index.md +20 -0
- package/seeds/specs/hard/stacks/messaging/messaging-reliability-overlay.md +35 -0
- package/seeds/specs/hard/stacks/mybatis/index.md +20 -0
- package/seeds/specs/hard/stacks/mybatis/mybatis-persistence-overlay.md +35 -0
- package/seeds/specs/hard/stacks/mysql/index.md +20 -0
- package/seeds/specs/hard/stacks/mysql/mysql-database-overlay.md +35 -0
- package/seeds/specs/hard/stacks/nginx/index.md +20 -0
- package/seeds/specs/hard/stacks/nginx/nginx-proxy-overlay.md +35 -0
- package/seeds/specs/hard/stacks/postgresql/index.md +20 -0
- package/seeds/specs/hard/stacks/postgresql/postgresql-database-overlay.md +35 -0
- package/seeds/specs/hard/stacks/redis/index.md +20 -0
- package/seeds/specs/hard/stacks/redis/redis-cache-overlay.md +35 -0
- package/seeds/specs/hard/stacks/spring-batch/index.md +20 -0
- package/seeds/specs/hard/stacks/spring-batch/spring-batch-job-overlay.md +35 -0
- package/seeds/specs/hard/stacks/spring-boot/index.md +20 -0
- package/seeds/specs/hard/stacks/spring-boot/spring-boot-application-overlay.md +35 -0
- package/seeds/specs/hard/stacks/spring-mvc/index.md +20 -0
- package/seeds/specs/hard/stacks/spring-mvc/spring-mvc-web-overlay.md +35 -0
- package/seeds/specs/hard/stacks/spring-webflux/index.md +20 -0
- package/seeds/specs/hard/stacks/spring-webflux/spring-webflux-reactive-overlay.md +35 -0
- package/seeds/specs/hard/stacks/tomcat/index.md +20 -0
- package/seeds/specs/hard/stacks/tomcat/tomcat-runtime-overlay.md +35 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-spec-d-materialization": {
|
|
3
|
+
"status": "PROPOSAL",
|
|
4
|
+
"package": "裁定批 F/D3-R1 排除卡逐卡复核物化(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
|
|
5
|
+
"human_review_required": true,
|
|
6
|
+
"evidence": "PLANNED",
|
|
7
|
+
"provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
|
|
8
|
+
"group": "BE-G2",
|
|
9
|
+
"candidate_id": "POLICY.CFG.KEY_RENAME_DUAL_READ",
|
|
10
|
+
"pool_statement_sha16": "31201d16fd6f1086",
|
|
11
|
+
"curated_rule": "D3 逐卡复核批(Owner 2026-09-05 裁定 D3=逐卡复核;72 张保守排除卡逐卡核锚):required 9(D3b source=null 补锚落 MUST/MUST NOT 且与 MASTer 行锚交叉验证)+ advisory 16(Change Policy 锚 14 张降 advisory[行内容含「必须」行为规范、强度只降不升] + 池密度序前 2)= 25(D6 合并上限 policy+TP 合计 25/批内执行;超出 17 张 advisory 留 D3-R2 轮次台账);维持排除 30(Ownership 归属说明族)",
|
|
12
|
+
"denominator": "MASTer(池卡锚)"
|
|
13
|
+
},
|
|
14
|
+
"x-b6-porting": {
|
|
15
|
+
"status": "PROPOSAL",
|
|
16
|
+
"batch": "D3-R1",
|
|
17
|
+
"human_review_required": true,
|
|
18
|
+
"classification_face": "policy",
|
|
19
|
+
"enforcement_axis": {
|
|
20
|
+
"source_sections": [
|
|
21
|
+
"Change Policy"
|
|
22
|
+
],
|
|
23
|
+
"rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
|
|
24
|
+
"asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
|
|
25
|
+
},
|
|
26
|
+
"extra_master_sections": [],
|
|
27
|
+
"denominator": "vendor",
|
|
28
|
+
"vendor_pin": {
|
|
29
|
+
"path": "pomaster/components/backend-hard-spec/assets/universal/11-environment-configuration-protocol.md",
|
|
30
|
+
"sha256": "eb9e82e9df64ce238501bc51cd359f36150f911c149904e2ed5a43d9b652b1bd",
|
|
31
|
+
"bytes": 1362
|
|
32
|
+
},
|
|
33
|
+
"seeded_spec": ".pomaster/specs/hard/backend/11-environment-configuration-protocol.md",
|
|
34
|
+
"seed_manifest": "packages/cli/seeds/manifest.json",
|
|
35
|
+
"d3_review": {
|
|
36
|
+
"excluded_from_batch": "B6C",
|
|
37
|
+
"exclusion_reason_at_seed": "卡层 source=null(锚证据不足),保守排除待复核",
|
|
38
|
+
"adjudication": "D3 逐卡复核(Owner 2026-09-05 裁定 D3=逐卡复核,裁定批 F 落地 2026-09-05):本卡原属 B6C 保守排除留池(排除理由:卡层 source=null(锚证据不足),保守排除待复核);复核补锚回 vendor/MASTer 源取得行级证据,锚段=Change Policy,按强度入册(行内容含「必须」行为规范、Change Policy 段 advisory 落点(强度只降不升))",
|
|
39
|
+
"anchor_evidence": "MASTer 11-environment-configuration-protocol.md 57「配置键重命名必须提供双读或迁移窗口并验证旧值清理。」",
|
|
40
|
+
"pool_enforcement_at_seed": "required_when_applicable"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"id": "POLICY.CFG.KEY_RENAME_DUAL_READ",
|
|
44
|
+
"kind": "policy",
|
|
45
|
+
"axis_profile": "policy_default",
|
|
46
|
+
"classification": "UNIVERSAL_POLICY",
|
|
47
|
+
"axes": {
|
|
48
|
+
"lifecycle": "PROPOSED",
|
|
49
|
+
"confidence": "UNRESOLVED",
|
|
50
|
+
"evidence": "PLANNED",
|
|
51
|
+
"change": "STABLE"
|
|
52
|
+
},
|
|
53
|
+
"title_zh": "配置键更名双读过渡",
|
|
54
|
+
"statement_zh": "配置键更名属于兼容性变更:必须维持新旧双读过渡期或给出迁移窗口,并以验证手段确认旧值已清理干净后方可收口。",
|
|
55
|
+
"statement_en_keywords": [
|
|
56
|
+
"config key rename",
|
|
57
|
+
"dual-read window",
|
|
58
|
+
"migration window",
|
|
59
|
+
"old-value cleanup verification"
|
|
60
|
+
],
|
|
61
|
+
"applies_when": {
|
|
62
|
+
"lane": "backend",
|
|
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": "裁定批 F/D3-R1 D3 逐卡复核物化(原 B6C 保守排除卡补锚收编);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/BE-G2.yaml",
|
|
79
|
+
"captured_by": "agent:claude/spec-d-consolidation",
|
|
80
|
+
"locator": {
|
|
81
|
+
"candidate": "POLICY.CFG.KEY_RENAME_DUAL_READ",
|
|
82
|
+
"source_protocol": ".trellis/spec/backend/11-environment-configuration-protocol.md",
|
|
83
|
+
"lines": "57"
|
|
84
|
+
},
|
|
85
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"review_notes": [
|
|
89
|
+
"配置键更名双读过渡在既有 228 条中无对应条目;与 POLICY.CHG.COMPAT_MIGRATION_ROLLBACK(通用兼容迁移)不同轴(配置键专项),互引。",
|
|
90
|
+
"Change Policy 锚(MASTer 11 L57)——降 advisory 入册。"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-spec-d-materialization": {
|
|
3
|
+
"status": "PROPOSAL",
|
|
4
|
+
"package": "裁定批 F/D3-R1 排除卡逐卡复核物化(SPEC-D 池卡复用;分母=MASTer 池卡 + vendor 播种字节双锚)",
|
|
5
|
+
"human_review_required": true,
|
|
6
|
+
"evidence": "PLANNED",
|
|
7
|
+
"provenance": "POMaster_VNext/corpus/spec-knowledge/candidates/consolidated-pool.yaml",
|
|
8
|
+
"group": "BE-G2",
|
|
9
|
+
"candidate_id": "POLICY.CFG.NO_SECRET_DISPERSAL",
|
|
10
|
+
"pool_statement_sha16": "c27b34bafe51c6e8",
|
|
11
|
+
"curated_rule": "D3 逐卡复核批(Owner 2026-09-05 裁定 D3=逐卡复核;72 张保守排除卡逐卡核锚):required 9(D3b source=null 补锚落 MUST/MUST NOT 且与 MASTer 行锚交叉验证)+ advisory 16(Change Policy 锚 14 张降 advisory[行内容含「必须」行为规范、强度只降不升] + 池密度序前 2)= 25(D6 合并上限 policy+TP 合计 25/批内执行;超出 17 张 advisory 留 D3-R2 轮次台账);维持排除 30(Ownership 归属说明族)",
|
|
12
|
+
"denominator": "MASTer(池卡锚)"
|
|
13
|
+
},
|
|
14
|
+
"x-b6-porting": {
|
|
15
|
+
"status": "PROPOSAL",
|
|
16
|
+
"batch": "D3-R1",
|
|
17
|
+
"human_review_required": true,
|
|
18
|
+
"classification_face": "policy",
|
|
19
|
+
"enforcement_axis": {
|
|
20
|
+
"source_sections": [
|
|
21
|
+
"MUST NOT"
|
|
22
|
+
],
|
|
23
|
+
"rule": "SHOULD/Change Policy 源条目 enforcement 必须 advisory(禁升 required);MUST/MUST NOT 源条目 enforcement 必须 required_when_applicable(降级合法)",
|
|
24
|
+
"asserted_by": "packages/cli/tests/catalog-b6-porting.spec.ts"
|
|
25
|
+
},
|
|
26
|
+
"extra_master_sections": [],
|
|
27
|
+
"denominator": "vendor",
|
|
28
|
+
"vendor_pin": {
|
|
29
|
+
"path": "pomaster/components/backend-hard-spec/assets/universal/11-environment-configuration-protocol.md",
|
|
30
|
+
"sha256": "eb9e82e9df64ce238501bc51cd359f36150f911c149904e2ed5a43d9b652b1bd",
|
|
31
|
+
"bytes": 1362
|
|
32
|
+
},
|
|
33
|
+
"seeded_spec": ".pomaster/specs/hard/backend/11-environment-configuration-protocol.md",
|
|
34
|
+
"seed_manifest": "packages/cli/seeds/manifest.json",
|
|
35
|
+
"d3_review": {
|
|
36
|
+
"excluded_from_batch": "B6C",
|
|
37
|
+
"exclusion_reason_at_seed": "卡层 source=null(锚证据不足),保守排除待复核",
|
|
38
|
+
"adjudication": "D3 逐卡复核(Owner 2026-09-05 裁定 D3=逐卡复核,裁定批 F 落地 2026-09-05):本卡原属 B6C 保守排除留池(排除理由:卡层 source=null(锚证据不足),保守排除待复核);复核补锚回 vendor/MASTer 源取得行级证据,锚段=MUST NOT,按强度入册(MUST/MUST NOT 行锚 required 原样)",
|
|
39
|
+
"anchor_evidence": "MASTer 11-environment-configuration-protocol.md 29「- 不得把 secret 写入仓库、日志、示例、命令行历史或生成文档。」",
|
|
40
|
+
"pool_enforcement_at_seed": "required_when_applicable"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"id": "POLICY.CFG.NO_SECRET_DISPERSAL",
|
|
44
|
+
"kind": "policy",
|
|
45
|
+
"axis_profile": "policy_default",
|
|
46
|
+
"classification": "UNIVERSAL_POLICY",
|
|
47
|
+
"axes": {
|
|
48
|
+
"lifecycle": "PROPOSED",
|
|
49
|
+
"confidence": "UNRESOLVED",
|
|
50
|
+
"evidence": "PLANNED",
|
|
51
|
+
"change": "STABLE"
|
|
52
|
+
},
|
|
53
|
+
"title_zh": "机密不落五类持久化面",
|
|
54
|
+
"statement_zh": "机密凭据不得出现在五类持久化面中的任何一处:版本库、日志输出、示例代码、shell 历史、以及被生成发布的文档。",
|
|
55
|
+
"statement_en_keywords": [
|
|
56
|
+
"no secret dispersal",
|
|
57
|
+
"repo/log/example/shell-history/generated-docs forbidden surfaces"
|
|
58
|
+
],
|
|
59
|
+
"applies_when": {
|
|
60
|
+
"lane": "backend",
|
|
61
|
+
"condition": "处理任何 secret 或凭据时",
|
|
62
|
+
"applicability_note": "处理任何 secret 或凭据时"
|
|
63
|
+
},
|
|
64
|
+
"enforcement": "required_when_applicable",
|
|
65
|
+
"authority": {
|
|
66
|
+
"owner": "HUMAN_OWNER",
|
|
67
|
+
"delegates": [],
|
|
68
|
+
"write_policy": "EVOLUTION_CHANNEL",
|
|
69
|
+
"escalation_hint": "catalog-spec-decomposition"
|
|
70
|
+
},
|
|
71
|
+
"origin": "ingested",
|
|
72
|
+
"origin_note": "裁定批 F/D3-R1 D3 逐卡复核物化(原 B6C 保守排除卡补锚收编);statement 沿用 SPEC-D 候选卡独立措辞(clean-room),零逐字拷贝上游源文本;播种分母=vendor 字节(x-b6-porting.vendor_pin),分解分母=MASTer 池卡(x-spec-d-materialization)",
|
|
73
|
+
"sources": [
|
|
74
|
+
{
|
|
75
|
+
"type": "design_seed",
|
|
76
|
+
"ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G2.yaml",
|
|
77
|
+
"captured_by": "agent:claude/spec-d-consolidation",
|
|
78
|
+
"locator": {
|
|
79
|
+
"candidate": "POLICY.CFG.NO_SECRET_DISPERSAL",
|
|
80
|
+
"source_protocol": ".trellis/spec/backend/11-environment-configuration-protocol.md",
|
|
81
|
+
"lines": "29"
|
|
82
|
+
},
|
|
83
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"review_notes": [
|
|
87
|
+
"secret 五类持久化面禁令在既有 228 条中无对应条目;与 B6b-I SEC.NO_SECRETS_IN_CLIENT_SURFACE(客户端可见面)、SEC.NO_SCRIPT_READABLE_CREDENTIALS(存储介质脚本可读性)互引(前端面/介质轴 vs 后端持久化面轴)。",
|
|
88
|
+
"D3b 补锚:MASTer 11-environment-configuration-protocol.md L29(MUST NOT 段)。"
|
|
89
|
+
]
|
|
90
|
+
}
|
|
@@ -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 域段待登记:CFG",
|
|
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-I 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.CFG.PRODUCTION_SAFE_DEFAULTS",
|
|
17
|
+
"density_rank": null,
|
|
18
|
+
"density_score": 32.31,
|
|
19
|
+
"pool_statement_sha16": "d145c171a0a0e84e",
|
|
20
|
+
"curated_rule": "B6b-I 分母(FE 01-23)required 池(ELIGIBLE 未物化)按池密度序取前 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-1",
|
|
26
|
+
"human_review_required": true,
|
|
27
|
+
"enforcement_axis": {
|
|
28
|
+
"source_sections": [
|
|
29
|
+
"MUST",
|
|
30
|
+
"SHOULD"
|
|
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/05-environment-configuration-protocol.md",
|
|
39
|
+
"sha256": "3affc23c84d64d10c8911b84bd9db82a34fcb9b675f7365672d554ecf34c8fb6",
|
|
40
|
+
"bytes": 1887
|
|
41
|
+
},
|
|
42
|
+
"seeded_spec": ".pomaster/specs/hard/frontend/05-environment-configuration-protocol.md",
|
|
43
|
+
"seed_manifest": "packages/cli/seeds/manifest.json"
|
|
44
|
+
},
|
|
45
|
+
"id": "POLICY.CFG.PRODUCTION_SAFE_DEFAULTS",
|
|
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
|
+
"production safe defaults",
|
|
59
|
+
"debug off in production",
|
|
60
|
+
"explicit non production identity"
|
|
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-I 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.CFG.PRODUCTION_SAFE_DEFAULTS",
|
|
83
|
+
"source_protocol": ".trellis/spec/frontend/05-environment-configuration-protocol.md",
|
|
84
|
+
"lines": "L22, L36"
|
|
85
|
+
},
|
|
86
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"review_notes": [
|
|
90
|
+
"环境默认态治理在既有 143 条中无对应条目(POLICY.CFG 词形未用),零语义重复。"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
@@ -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 域段待登记:CFG",
|
|
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-I 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.CFG.SCHEMA_BACKED_CONFIG",
|
|
17
|
+
"density_rank": null,
|
|
18
|
+
"density_score": 32.19,
|
|
19
|
+
"pool_statement_sha16": "d6d0bf1e5270d81e",
|
|
20
|
+
"curated_rule": "B6b-I 分母(FE 01-23)required 池(ELIGIBLE 未物化)按池密度序取前 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-1",
|
|
26
|
+
"human_review_required": true,
|
|
27
|
+
"enforcement_axis": {
|
|
28
|
+
"source_sections": [
|
|
29
|
+
"MUST"
|
|
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/05-environment-configuration-protocol.md",
|
|
38
|
+
"sha256": "3affc23c84d64d10c8911b84bd9db82a34fcb9b675f7365672d554ecf34c8fb6",
|
|
39
|
+
"bytes": 1887
|
|
40
|
+
},
|
|
41
|
+
"seeded_spec": ".pomaster/specs/hard/frontend/05-environment-configuration-protocol.md",
|
|
42
|
+
"seed_manifest": "packages/cli/seeds/manifest.json"
|
|
43
|
+
},
|
|
44
|
+
"id": "POLICY.CFG.SCHEMA_BACKED_CONFIG",
|
|
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
|
+
"schema backed config",
|
|
58
|
+
"typed defaults",
|
|
59
|
+
"required validation",
|
|
60
|
+
"environment matrix"
|
|
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-I 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.CFG.SCHEMA_BACKED_CONFIG",
|
|
83
|
+
"source_protocol": ".trellis/spec/frontend/05-environment-configuration-protocol.md",
|
|
84
|
+
"lines": "L20"
|
|
85
|
+
},
|
|
86
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"review_notes": [
|
|
90
|
+
"配置结构化定义在既有 143 条中无对应条目(POLICY.CFG 词形未用),零语义重复;与同批物化的 POLICY.CFG.PRODUCTION_SAFE_DEFAULTS 义务正交(配置形状治理 vs 环境默认态),互引不合并。"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-pilot-proposal": {
|
|
9
10
|
"status": "PROPOSAL",
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-pilot-proposal": {
|
|
9
10
|
"status": "PROPOSAL",
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-pilot-proposal": {
|
|
9
10
|
"status": "PROPOSAL",
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-pilot-proposal": {
|
|
9
10
|
"status": "PROPOSAL",
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-pilot-proposal": {
|
|
9
10
|
"status": "PROPOSAL",
|
|
@@ -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)",
|
|
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-I 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.CHG.NO_UNRELATED_CHANGES",
|
|
17
|
+
"density_rank": null,
|
|
18
|
+
"density_score": 32.31,
|
|
19
|
+
"pool_statement_sha16": "f32924ed9507378e",
|
|
20
|
+
"curated_rule": "B6b-I 分母(FE 01-23)required 池(ELIGIBLE 未物化)按池密度序取前 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-1",
|
|
26
|
+
"human_review_required": true,
|
|
27
|
+
"enforcement_axis": {
|
|
28
|
+
"source_sections": [
|
|
29
|
+
"MUST NOT"
|
|
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/01-development-checklist-protocol.md",
|
|
38
|
+
"sha256": "fa8914b29dbf7af25c8128aa1b8936fd658e37854e0a4f457175e2e3c82c3a03",
|
|
39
|
+
"bytes": 2691
|
|
40
|
+
},
|
|
41
|
+
"seeded_spec": ".pomaster/specs/hard/frontend/01-development-checklist-protocol.md",
|
|
42
|
+
"seed_manifest": "packages/cli/seeds/manifest.json"
|
|
43
|
+
},
|
|
44
|
+
"id": "POLICY.CHG.NO_UNRELATED_CHANGES",
|
|
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
|
+
"no unrelated changes",
|
|
58
|
+
"no drive by refactor",
|
|
59
|
+
"preserve unrelated edits"
|
|
60
|
+
],
|
|
61
|
+
"applies_when": {
|
|
62
|
+
"lane": "any",
|
|
63
|
+
"condition": "任何变更执行中",
|
|
64
|
+
"applicability_note": "任何变更执行中"
|
|
65
|
+
},
|
|
66
|
+
"enforcement": "required_when_applicable",
|
|
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-I 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.CHG.NO_UNRELATED_CHANGES",
|
|
82
|
+
"source_protocol": ".trellis/spec/frontend/01-development-checklist-protocol.md",
|
|
83
|
+
"lines": "L32"
|
|
84
|
+
},
|
|
85
|
+
"clean_room_note": "independently rewritten from SPEC-D decomposition candidate cards; zero verbatim copy"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"review_notes": [
|
|
89
|
+
"与既有 POLICY.CHG.* 族不同轴(彼管变更过程协同,本管变更内容纯净性);双锚卡(01 L32 + 02 L15/L24),02 不重复立卡。"
|
|
90
|
+
]
|
|
91
|
+
}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-pilot-proposal": {
|
|
9
10
|
"status": "PROPOSAL",
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-pilot-proposal": {
|
|
9
10
|
"status": "PROPOSAL",
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-pilot-proposal": {
|
|
9
10
|
"status": "PROPOSAL",
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world)",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(两种落法待裁决,见 candidates-draft.json meta.vocab_findings[0],affected=45)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-pilot-proposal": {
|
|
9
10
|
"status": "PROPOSAL",
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"status": "vocab_pr_candidate",
|
|
4
4
|
"finding": "kind='policy' 不在 vocab-lock kinds_registry.truth_bodies(POLICY. 前缀已冻结注册,closed-world);新 id 域段待登记:CONFLICT",
|
|
5
5
|
"proposal": "词汇表 PR 登记 policy kind 及新域段;或 Owner 裁决 policy 条目住 catalog/ 而非 truth/objects 正文层(与前批 45+9 条同因同请,合并进同一 vocab PR)",
|
|
6
|
-
"locked_vocab_untouched": true
|
|
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 先例)"
|
|
7
8
|
},
|
|
8
9
|
"x-spec-d-materialization": {
|
|
9
10
|
"status": "PROPOSAL",
|