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.
Files changed (393) hide show
  1. package/README.md +25 -10
  2. package/catalog/archetypes/archetype.frontend.error_taxonomy.json +13 -5
  3. package/catalog/archetypes/archetype.frontend.feature_oriented.json +1 -1
  4. package/catalog/archetypes/archetype.state.async_command.json +4 -4
  5. package/catalog/catalog-lock.draft.json +1120 -104
  6. package/catalog/gates/gate.be.api.contract_checks.json +2 -1
  7. package/catalog/gates/gate.be.chg.contract_change_checks.json +2 -1
  8. package/catalog/gates/gate.chg.prechange_checks.json +2 -1
  9. package/catalog/gates/gate.web.api.request_checks.json +2 -1
  10. package/catalog/gates/gate.web.grid.checks.json +2 -1
  11. package/catalog/knowledge/knowledge.api.example_stable_error_code.json +2 -1
  12. package/catalog/knowledge/knowledge.chg.example_compat_window.json +2 -1
  13. package/catalog/knowledge/knowledge.chg.example_prop_migration.json +2 -1
  14. package/catalog/knowledge/knowledge.fp.api.field_drift_no_contract.json +2 -1
  15. package/catalog/knowledge/knowledge.fp.api.per_page_http_client.json +2 -1
  16. package/catalog/knowledge/knowledge.fp.be.contract_drift.json +2 -1
  17. package/catalog/knowledge/knowledge.fp.chg.page_local_padding.json +2 -1
  18. package/catalog/knowledge/knowledge.fp.grid.global_td_width.json +2 -1
  19. package/catalog/knowledge/knowledge.web.api.example_get_entity_list.json +2 -1
  20. package/catalog/knowledge/knowledge.web.grid.example_column_preset.json +2 -1
  21. package/catalog/policies/authority.be.api_contract_ownership.json +2 -1
  22. package/catalog/policies/authority.be.contract_ownership.json +2 -1
  23. package/catalog/policies/authority.chg.change_owners.json +2 -1
  24. package/catalog/policies/authority.web.api.request_owners.json +2 -1
  25. package/catalog/policies/authority.web.grid.ownership.json +2 -1
  26. package/catalog/policies/policy.ai.change_plan_first.json +91 -0
  27. package/catalog/policies/policy.ai.fact_inference_separation.json +91 -0
  28. package/catalog/policies/policy.ai.read_search_verify_before_write.json +92 -0
  29. package/catalog/policies/policy.ai.rule_relaxation_approval.json +91 -0
  30. package/catalog/policies/policy.api.backward_compat_defaults.json +2 -1
  31. package/catalog/policies/policy.api.contract_impl_consistency.json +2 -1
  32. package/catalog/policies/policy.api.no_informal_contract.json +2 -1
  33. package/catalog/policies/policy.arch.adr_immutable_history.json +91 -0
  34. package/catalog/policies/policy.arch.decision_tradeoff_record.json +2 -1
  35. package/catalog/policies/policy.arch.no_convenience_over_boundary.json +93 -0
  36. package/catalog/policies/policy.arch.prefer_verifiable_option.json +92 -0
  37. package/catalog/policies/policy.authz.no_gating_proxy_trust.json +99 -0
  38. package/catalog/policies/policy.authz.permission_scope_expansion_gate.json +99 -0
  39. package/catalog/policies/policy.authz.server_five_factor_verification.json +101 -0
  40. package/catalog/policies/policy.be.conc.prefer_db_constraints.json +97 -0
  41. package/catalog/policies/policy.be.db.expand_migrate_contract.json +97 -0
  42. package/catalog/policies/policy.be.idem.key_payload_conflict.json +97 -0
  43. package/catalog/policies/policy.be.model.single_boundary_conversion.json +97 -0
  44. package/catalog/policies/policy.be.sql.index_for_known_queries.json +97 -0
  45. package/catalog/policies/policy.be.state.single_rule_source.json +97 -0
  46. package/catalog/policies/policy.be.txn.short_locks_compensation.json +96 -0
  47. package/catalog/policies/policy.bound.search_first_entry_only.json +91 -0
  48. package/catalog/policies/policy.boundary.validate_in_encode_out.json +92 -0
  49. package/catalog/policies/policy.cache.failure_mode_guards.json +93 -0
  50. package/catalog/policies/policy.cache.lifecycle_definition.json +2 -1
  51. package/catalog/policies/policy.cache.schema_versioning.json +91 -0
  52. package/catalog/policies/policy.cfg.config_attribute_completeness.json +95 -0
  53. package/catalog/policies/policy.cfg.key_rename_dual_read.json +92 -0
  54. package/catalog/policies/policy.cfg.no_secret_dispersal.json +90 -0
  55. package/catalog/policies/policy.cfg.production_safe_defaults.json +92 -0
  56. package/catalog/policies/policy.cfg.schema_backed_config.json +92 -0
  57. package/catalog/policies/policy.chg.affect_templates.json +2 -1
  58. package/catalog/policies/policy.chg.breaking_versioning.json +2 -1
  59. package/catalog/policies/policy.chg.compat_migration_rollback.json +2 -1
  60. package/catalog/policies/policy.chg.deprecate_before_delete.json +2 -1
  61. package/catalog/policies/policy.chg.fix_at_root_cause_level.json +2 -1
  62. package/catalog/policies/policy.chg.no_unrelated_changes.json +91 -0
  63. package/catalog/policies/policy.chg.observable_evolution.json +2 -1
  64. package/catalog/policies/policy.chg.prechange_consumer_scan.json +2 -1
  65. package/catalog/policies/policy.chg.staged_rollout.json +2 -1
  66. package/catalog/policies/policy.chg.sync_contract_docs_tests.json +2 -1
  67. package/catalog/policies/policy.conflict.priority_ladder.json +2 -1
  68. package/catalog/policies/policy.contract.no_invented_facts.json +93 -0
  69. package/catalog/policies/policy.dep.admission_six_dimension_check.json +2 -1
  70. package/catalog/policies/policy.dep.build_path_supply_chain.json +93 -0
  71. package/catalog/policies/policy.dep.change_surface_review.json +2 -1
  72. package/catalog/policies/policy.dep.introduction_review.json +2 -1
  73. package/catalog/policies/policy.dep.no_untrusted_source_no_lock_bypass.json +92 -0
  74. package/catalog/policies/policy.dep.time_boxed_urgent_exception.json +91 -0
  75. package/catalog/policies/policy.deploy.no_dev_env_as_production_fact.json +91 -0
  76. package/catalog/policies/policy.deploy.operational_capabilities.json +93 -0
  77. package/catalog/policies/policy.deploy.runtime_fact_record.json +97 -0
  78. package/catalog/policies/policy.derived.single_implementation.json +2 -1
  79. package/catalog/policies/policy.err.failure_five_part_mapping.json +101 -0
  80. package/catalog/policies/policy.err.no_internal_detail_exposure.json +97 -0
  81. package/catalog/policies/policy.err.published_code_immutable.json +98 -0
  82. package/catalog/policies/policy.evid.acceptance_binds_verifiable_evidence.json +92 -0
  83. package/catalog/policies/policy.evid.no_silent_gate_removal.json +90 -0
  84. package/catalog/policies/policy.evid.no_unverifiable_pass.json +92 -0
  85. package/catalog/policies/policy.flag.cleanup_after_full_rollout.json +94 -0
  86. package/catalog/policies/policy.flag.consistent_off_state.json +92 -0
  87. package/catalog/policies/policy.flag.kill_switch.json +91 -0
  88. package/catalog/policies/policy.flag.lifecycle_metadata.json +93 -0
  89. package/catalog/policies/policy.flag.not_a_permission.json +92 -0
  90. package/catalog/policies/policy.gate.p0_non_bypassable.json +92 -0
  91. package/catalog/policies/policy.gate.risk_factors_confirmed.json +93 -0
  92. package/catalog/policies/policy.guard.no_check_weakening.json +92 -0
  93. package/catalog/policies/policy.integration.call_definition_minimum.json +95 -0
  94. package/catalog/policies/policy.integration.fault_containment.json +94 -0
  95. package/catalog/policies/policy.job.lifecycle_definition.json +96 -0
  96. package/catalog/policies/policy.job.no_unmanaged_execution.json +92 -0
  97. package/catalog/policies/policy.job.operational_features.json +93 -0
  98. package/catalog/policies/policy.obs.actionable_signals.json +93 -0
  99. package/catalog/policies/policy.obs.alert_with_owner.json +91 -0
  100. package/catalog/policies/policy.obs.context_field_baseline.json +91 -0
  101. package/catalog/policies/policy.obs.correlation_context_minimum.json +2 -1
  102. package/catalog/policies/policy.obs.no_sensitive_or_unbounded_logging.json +92 -0
  103. package/catalog/policies/policy.obs.no_sensitive_raw_values.json +93 -0
  104. package/catalog/policies/policy.obs.rum_dimension_whitelist.json +2 -1
  105. package/catalog/policies/policy.obs.signal_change_impact.json +91 -0
  106. package/catalog/policies/policy.obs.source_map_access_control.json +92 -0
  107. package/catalog/policies/policy.obs.telemetry_lifecycle_declared.json +93 -0
  108. package/catalog/policies/policy.obs.trace_correlation.json +91 -0
  109. package/catalog/policies/policy.perf.budget_change_retest.json +91 -0
  110. package/catalog/policies/policy.perf.evidence_binding.json +95 -0
  111. package/catalog/policies/policy.perf.observation_dimensions.json +94 -0
  112. package/catalog/policies/policy.proc.checklist_change_policy.json +91 -0
  113. package/catalog/policies/policy.proc.pre_code_declaration.json +2 -1
  114. package/catalog/policies/policy.proc.scope_drift_reclassify.json +91 -0
  115. package/catalog/policies/policy.prv.processing_scope_re_review.json +97 -0
  116. package/catalog/policies/policy.prv.sensitive_data_six_facts.json +102 -0
  117. package/catalog/policies/policy.registry.human_fields_validated_decorrelated.json +93 -0
  118. package/catalog/policies/policy.rel.no_irreversible_unmonitored_full_release.json +91 -0
  119. package/catalog/policies/policy.rel.observability_before_ship.json +91 -0
  120. package/catalog/policies/policy.rel.pre_release_confirmation.json +2 -1
  121. package/catalog/policies/policy.rel.process_change_needs_drill_audit.json +91 -0
  122. package/catalog/policies/policy.rel.traceable_build.json +93 -0
  123. package/catalog/policies/policy.role.domain_decision_authority.json +2 -1
  124. package/catalog/policies/policy.role.human_signs_for_ai.json +93 -0
  125. package/catalog/policies/policy.sec.authn_policy_unified.json +91 -0
  126. package/catalog/policies/policy.sec.no_client_side_trust.json +92 -0
  127. package/catalog/policies/policy.sec.no_longterm_security_disable.json +91 -0
  128. package/catalog/policies/policy.sec.no_script_readable_credentials.json +91 -0
  129. package/catalog/policies/policy.sec.no_secrets_in_client_surface.json +91 -0
  130. package/catalog/policies/policy.sec.relaxation_approval.json +92 -0
  131. package/catalog/policies/policy.sec.security_relaxation_gate.json +92 -0
  132. package/catalog/policies/policy.sec.third_party_execution_register.json +2 -1
  133. package/catalog/policies/policy.sec.trust_boundary_enforcement.json +93 -0
  134. package/catalog/policies/policy.sec.upload_download_server_recheck.json +91 -0
  135. package/catalog/policies/policy.sec.url_source_allowlist.json +91 -0
  136. package/catalog/policies/policy.spec.admission_criteria.json +2 -1
  137. package/catalog/policies/policy.spec.derived_view_regeneration.json +2 -1
  138. package/catalog/policies/policy.spec.draft_not_baseline.json +2 -1
  139. package/catalog/policies/policy.spec.family_conflict_precedence.json +93 -0
  140. package/catalog/policies/policy.spec.file_structure_contract.json +2 -1
  141. package/catalog/policies/policy.spec.freeze_before_use.json +93 -0
  142. package/catalog/policies/policy.spec.metadata_required.json +2 -1
  143. package/catalog/policies/policy.spec.post_dev_backfill_classify.json +2 -1
  144. package/catalog/policies/policy.spec.primary_source_basis.json +93 -0
  145. package/catalog/policies/policy.spec.procedural_record_not_surrogate.json +2 -1
  146. package/catalog/policies/policy.spec.semantic_identity.json +2 -1
  147. package/catalog/policies/policy.spec.unresolved_ledger_gate.json +2 -1
  148. package/catalog/policies/policy.stack.derived_store_not_authority.json +93 -0
  149. package/catalog/policies/policy.stack.dual_web_stack_boundary.json +93 -0
  150. package/catalog/policies/policy.stack.entry_chain_recorded.json +93 -0
  151. package/catalog/policies/policy.stack.entry_limits_aligned.json +94 -0
  152. package/catalog/policies/policy.stack.local_form_not_prod_fact.json +93 -0
  153. package/catalog/policies/policy.stack.multi_datastore_ownership.json +93 -0
  154. package/catalog/policies/policy.stack.no_implicit_selection.json +2 -1
  155. package/catalog/policies/policy.stack.persistence_coexistence_scope.json +93 -0
  156. package/catalog/policies/policy.stack.toolchain_versions_pinned.json +95 -0
  157. package/catalog/policies/policy.stack.upgrade_compat_verified.json +93 -0
  158. package/catalog/policies/policy.struct.module_entry_dependency_declared.json +92 -0
  159. package/catalog/policies/policy.struct.no_unexplained_top_level_dir.json +91 -0
  160. package/catalog/policies/policy.struct.reuse_proven_structure.json +91 -0
  161. package/catalog/policies/policy.test.control_nondeterminism_keep_diagnosis.json +91 -0
  162. package/catalog/policies/policy.test.isolation_and_cleanup.json +93 -0
  163. package/catalog/policies/policy.test.no_synthetic_stability.json +92 -0
  164. package/catalog/policies/policy.test.pyramid_and_ci_matrix.json +92 -0
  165. package/catalog/policies/policy.test.removal_justification.json +91 -0
  166. package/catalog/policies/policy.test.removal_needs_substitute_evidence.json +91 -0
  167. package/catalog/policies/policy.test.risk_driven_plan.json +92 -0
  168. package/catalog/policies/policy.test.stable_observable_assertions.json +92 -0
  169. package/catalog/policies/policy.tool.discoverable_toolchain.json +92 -0
  170. package/catalog/policies/policy.tool.no_hand_edit_generated_no_ci_drift.json +91 -0
  171. package/catalog/policies/policy.tool.no_vendored_body_edits.json +94 -0
  172. package/catalog/policies/policy.tool.scoped_scan_boundary.json +2 -1
  173. package/catalog/policies/policy.tool.upgrade_verify_lock_rollback.json +92 -0
  174. package/catalog/policies/policy.web.api.auth_app_client_split.json +2 -1
  175. package/catalog/policies/policy.web.api.client_change_impact.json +2 -1
  176. package/catalog/policies/policy.web.api.domain_api_only.json +2 -1
  177. package/catalog/policies/policy.web.api.error_normalization.json +2 -1
  178. package/catalog/policies/policy.web.api.generated_client.json +2 -1
  179. package/catalog/policies/policy.web.api.late_result_guard.json +2 -1
  180. package/catalog/policies/policy.web.api.mutation_idempotency.json +2 -1
  181. package/catalog/policies/policy.web.api.no_network_optimism.json +2 -1
  182. package/catalog/policies/policy.web.api.query_cancel_stale_drop.json +2 -1
  183. package/catalog/policies/policy.web.api.request_infrastructure.json +2 -1
  184. package/catalog/policies/policy.web.api.retry_discipline.json +2 -1
  185. package/catalog/policies/policy.web.api.session_recovery_split.json +2 -1
  186. package/catalog/policies/policy.web.api.single_http_client.json +2 -1
  187. package/catalog/policies/policy.web.api.single_loading_source.json +2 -1
  188. package/catalog/policies/policy.web.api.transport_vs_business.json +2 -1
  189. package/catalog/policies/policy.web.api.trusted_endpoint_source.json +2 -1
  190. package/catalog/policies/policy.web.api.typed_domain_naming.json +2 -1
  191. package/catalog/policies/policy.web.arch.layer_isolation.json +2 -1
  192. package/catalog/policies/policy.web.arch.naming_conventions.json +2 -1
  193. package/catalog/policies/policy.web.arch.public_api_barrel.json +2 -1
  194. package/catalog/policies/policy.web.chg.controlled_change_triggers.json +2 -1
  195. package/catalog/policies/policy.web.comp.no_trivial_or_god_component.json +91 -0
  196. package/catalog/policies/policy.web.comp.public_contract_completeness.json +93 -0
  197. package/catalog/policies/policy.web.copy.action_object_clarity.json +92 -0
  198. package/catalog/policies/policy.web.copy.enumerable_placement.json +91 -0
  199. package/catalog/policies/policy.web.copy.error_next_step.json +92 -0
  200. package/catalog/policies/policy.web.copy.suppression_ledger_discipline.json +2 -1
  201. package/catalog/policies/policy.web.grid.column_schema_fields.json +2 -1
  202. package/catalog/policies/policy.web.grid.config_isolation.json +2 -1
  203. package/catalog/policies/policy.web.grid.freeze_key_columns.json +2 -1
  204. package/catalog/policies/policy.web.grid.interaction_registry.json +2 -1
  205. package/catalog/policies/policy.web.grid.keyboard_clipboard.json +2 -1
  206. package/catalog/policies/policy.web.grid.schema_driven_shell.json +2 -1
  207. package/catalog/policies/policy.web.grid.schema_versioning.json +2 -1
  208. package/catalog/policies/policy.web.grid.server_ops_virtualization.json +2 -1
  209. package/catalog/policies/policy.web.grid.shell_change_matrix.json +2 -1
  210. package/catalog/policies/policy.web.grid.width_fix_ladder.json +2 -1
  211. package/catalog/policies/policy.web.handoff.state_matrix_full.json +94 -0
  212. package/catalog/policies/policy.web.i18n.copy_key_discipline.json +92 -0
  213. package/catalog/policies/policy.web.i18n.raw_value_for_compute.json +91 -0
  214. package/catalog/policies/policy.web.page.region_consistency.json +93 -0
  215. package/catalog/policies/policy.web.perf.budget_skeleton.json +2 -1
  216. package/catalog/policies/policy.web.style.ownership_matrix.json +2 -1
  217. package/catalog/policies/policy.web.track.attempt_result_correlation.json +91 -0
  218. package/catalog/policies/policy.web.track.consent_lifecycle.json +2 -1
  219. package/catalog/policies/policy.web.track.no_synthetic_actions.json +92 -0
  220. package/catalog/policies/policy.web.track.privacy_default_deny.json +2 -1
  221. package/catalog/policies/policy.web.track.stable_event_keys.json +2 -1
  222. package/catalog/policies/policy.web.track.typed_client_validation.json +91 -0
  223. package/catalog/policies/policy.web.uiux.provider_evidence_not_business_truth.json +2 -1
  224. package/catalog/policies/policy.wf.no_planned_as_verified.json +91 -0
  225. package/catalog/policies/policy.wf.task_facts_preconfirm.json +94 -0
  226. package/catalog/policies/profile.baseline.java_enterprise_default.json +96 -0
  227. package/catalog/sensors/sensor.browser.deterministic.json +2 -1
  228. package/catalog/sensors/sensor.browser.interactive.json +2 -1
  229. package/catalog/sensors/sensor.build.static.json +2 -1
  230. package/catalog/sensors/sensor.contract.conformance.json +2 -1
  231. package/catalog/sensors/sensor.performance.budget.json +2 -1
  232. package/catalog/sensors/sensor.production.metric.json +2 -1
  233. package/catalog/tools/seed_b6b_frontend.py +1424 -0
  234. package/catalog/tools/seed_b6c_backend.py +1495 -0
  235. package/catalog/tools/seed_b6d_baseline.py +620 -0
  236. package/catalog/tools/seed_b6e_evidence.py +1305 -0
  237. package/catalog/tools/seed_d3_review.py +1105 -0
  238. package/catalog/tools/seed_v06_batch2_materials.py +27 -18
  239. package/dist/bin.js +31967 -24201
  240. package/package.json +2 -1
  241. package/seeds/baseline/backend/api-contract.md +26 -0
  242. package/seeds/baseline/backend/architecture.md +31 -0
  243. package/seeds/baseline/backend/data-access.md +31 -0
  244. package/seeds/baseline/backend/directory-structure.md +11 -0
  245. package/seeds/baseline/backend/integration-runtime.md +21 -0
  246. package/seeds/baseline/backend/quality.md +31 -0
  247. package/seeds/baseline/backend/stack.yaml +13 -0
  248. package/seeds/baseline/backend/transaction-concurrency.md +26 -0
  249. package/seeds/baseline/data/lineage.md +11 -0
  250. package/seeds/baseline/data/migration.md +11 -0
  251. package/seeds/baseline/data/model.md +31 -0
  252. package/seeds/baseline/data/precision-units.md +31 -0
  253. package/seeds/baseline/data/quality.md +31 -0
  254. package/seeds/baseline/frontend/api-and-error.md +21 -0
  255. package/seeds/baseline/frontend/architecture.md +26 -0
  256. package/seeds/baseline/frontend/design-system.md +21 -0
  257. package/seeds/baseline/frontend/directory-structure.md +16 -0
  258. package/seeds/baseline/frontend/quality.md +26 -0
  259. package/seeds/baseline/frontend/stack.yaml +17 -0
  260. package/seeds/baseline/frontend/state-and-data.md +26 -0
  261. package/seeds/baseline/manifest.yaml +32 -0
  262. package/seeds/baseline/platform/delivery.md +36 -0
  263. package/seeds/baseline/platform/environment.md +11 -0
  264. package/seeds/baseline/platform/observability.md +31 -0
  265. package/seeds/baseline/platform/security.md +26 -0
  266. package/seeds/manifest.json +2006 -0
  267. package/seeds/specs/evidence/accessibility.md +89 -0
  268. package/seeds/specs/evidence/architecture.md +89 -0
  269. package/seeds/specs/evidence/browser-e2e.md +91 -0
  270. package/seeds/specs/evidence/build.md +91 -0
  271. package/seeds/specs/evidence/business-acceptance.md +89 -0
  272. package/seeds/specs/evidence/complexity-crap.md +97 -0
  273. package/seeds/specs/evidence/contract.md +89 -0
  274. package/seeds/specs/evidence/coverage.md +91 -0
  275. package/seeds/specs/evidence/data-migration.md +91 -0
  276. package/seeds/specs/evidence/dead-code-duplicate.md +89 -0
  277. package/seeds/specs/evidence/dependency-supply-chain.md +89 -0
  278. package/seeds/specs/evidence/index.md +55 -0
  279. package/seeds/specs/evidence/mutation.md +89 -0
  280. package/seeds/specs/evidence/performance.md +89 -0
  281. package/seeds/specs/evidence/release.md +91 -0
  282. package/seeds/specs/evidence/runtime-observability.md +91 -0
  283. package/seeds/specs/evidence/security.md +89 -0
  284. package/seeds/specs/evidence/typecheck-lint.md +91 -0
  285. package/seeds/specs/evidence/unit-component-integration.md +91 -0
  286. package/seeds/specs/evidence/visual-regression.md +89 -0
  287. package/seeds/specs/hard/backend/01-architecture-governance-protocol.md +68 -0
  288. package/seeds/specs/hard/backend/02-project-structure-governance-protocol.md +68 -0
  289. package/seeds/specs/hard/backend/03-directory-boundary-protocol.md +68 -0
  290. package/seeds/specs/hard/backend/04-layering-architecture-protocol.md +68 -0
  291. package/seeds/specs/hard/backend/05-task-workflow-protocol.md +68 -0
  292. package/seeds/specs/hard/backend/06-ai-generated-code-protocol.md +68 -0
  293. package/seeds/specs/hard/backend/07-evidence-acceptance-protocol.md +68 -0
  294. package/seeds/specs/hard/backend/08-contract-change-protocol.md +68 -0
  295. package/seeds/specs/hard/backend/09-role-responsibility-protocol.md +68 -0
  296. package/seeds/specs/hard/backend/10-security-protocol.md +68 -0
  297. package/seeds/specs/hard/backend/11-environment-configuration-protocol.md +67 -0
  298. package/seeds/specs/hard/backend/12-api-contract-protocol.md +68 -0
  299. package/seeds/specs/hard/backend/13-privacy-data-lifecycle-protocol.md +68 -0
  300. package/seeds/specs/hard/backend/14-business-rules-state-protocol.md +68 -0
  301. package/seeds/specs/hard/backend/15-data-model-protocol.md +68 -0
  302. package/seeds/specs/hard/backend/16-error-code-protocol.md +68 -0
  303. package/seeds/specs/hard/backend/17-permission-authorization-protocol.md +68 -0
  304. package/seeds/specs/hard/backend/18-database-schema-migration-protocol.md +68 -0
  305. package/seeds/specs/hard/backend/19-query-index-sql-protocol.md +68 -0
  306. package/seeds/specs/hard/backend/20-transaction-boundary-protocol.md +68 -0
  307. package/seeds/specs/hard/backend/21-concurrency-locking-protocol.md +68 -0
  308. package/seeds/specs/hard/backend/22-idempotency-protocol.md +68 -0
  309. package/seeds/specs/hard/backend/23-cache-redis-consistency-protocol.md +68 -0
  310. package/seeds/specs/hard/backend/24-external-integration-resilience-protocol.md +68 -0
  311. package/seeds/specs/hard/backend/25-async-job-scheduler-protocol.md +68 -0
  312. package/seeds/specs/hard/backend/26-engineering-tooling-protocol.md +68 -0
  313. package/seeds/specs/hard/backend/27-dependency-supply-chain-protocol.md +68 -0
  314. package/seeds/specs/hard/backend/28-testing-protocol.md +68 -0
  315. package/seeds/specs/hard/backend/29-observability-logging-tracing-protocol.md +68 -0
  316. package/seeds/specs/hard/backend/30-performance-capacity-protocol.md +68 -0
  317. package/seeds/specs/hard/backend/31-runtime-deployment-protocol.md +68 -0
  318. package/seeds/specs/hard/backend/32-release-versioning-rollback-protocol.md +68 -0
  319. package/seeds/specs/hard/backend/index.md +177 -0
  320. package/seeds/specs/hard/frontend/01-development-checklist-protocol.md +86 -0
  321. package/seeds/specs/hard/frontend/02-ai-generated-code-protocol.md +82 -0
  322. package/seeds/specs/hard/frontend/03-acceptance-gate-protocol.md +86 -0
  323. package/seeds/specs/hard/frontend/04-security-protocol.md +283 -0
  324. package/seeds/specs/hard/frontend/05-environment-configuration-protocol.md +80 -0
  325. package/seeds/specs/hard/frontend/06-change-governance-protocol.md +90 -0
  326. package/seeds/specs/hard/frontend/07-frontend-backend-communication-protocol.md +219 -0
  327. package/seeds/specs/hard/frontend/08-role-responsibility-protocol.md +80 -0
  328. package/seeds/specs/hard/frontend/09-module-boundary-protocol.md +81 -0
  329. package/seeds/specs/hard/frontend/10-engineering-tooling-protocol.md +89 -0
  330. package/seeds/specs/hard/frontend/11-dependency-package-management-protocol.md +87 -0
  331. package/seeds/specs/hard/frontend/12-business-rules-protocol.md +79 -0
  332. package/seeds/specs/hard/frontend/13-monetary-precision-protocol.md +81 -0
  333. package/seeds/specs/hard/frontend/14-data-model-protocol.md +85 -0
  334. package/seeds/specs/hard/frontend/15-request-api-protocol.md +87 -0
  335. package/seeds/specs/hard/frontend/16-error-handling-protocol.md +79 -0
  336. package/seeds/specs/hard/frontend/17-permission-protocol.md +79 -0
  337. package/seeds/specs/hard/frontend/18-state-management-protocol.md +88 -0
  338. package/seeds/specs/hard/frontend/19-cache-protocol.md +79 -0
  339. package/seeds/specs/hard/frontend/20-testing-protocol.md +88 -0
  340. package/seeds/specs/hard/frontend/21-design-system-protocol.md +79 -0
  341. package/seeds/specs/hard/frontend/22-theme-protocol.md +79 -0
  342. package/seeds/specs/hard/frontend/23-accessibility-protocol.md +189 -0
  343. package/seeds/specs/hard/frontend/24-component-protocol.md +80 -0
  344. package/seeds/specs/hard/frontend/25-page-structure-protocol.md +79 -0
  345. package/seeds/specs/hard/frontend/26-style-layout-protocol.md +80 -0
  346. package/seeds/specs/hard/frontend/27-rendering-state-protocol.md +81 -0
  347. package/seeds/specs/hard/frontend/28-form-protocol.md +88 -0
  348. package/seeds/specs/hard/frontend/29-routing-url-protocol.md +79 -0
  349. package/seeds/specs/hard/frontend/30-data-grid-protocol.md +83 -0
  350. package/seeds/specs/hard/frontend/31-performance-protocol.md +137 -0
  351. package/seeds/specs/hard/frontend/32-file-import-export-protocol.md +80 -0
  352. package/seeds/specs/hard/frontend/33-release-versioning-protocol.md +79 -0
  353. package/seeds/specs/hard/frontend/34-monitoring-logging-protocol.md +128 -0
  354. package/seeds/specs/hard/frontend/35-mock-protocol.md +97 -0
  355. package/seeds/specs/hard/frontend/36-feature-flag-protocol.md +79 -0
  356. package/seeds/specs/hard/frontend/37-browser-device-compatibility-protocol.md +83 -0
  357. package/seeds/specs/hard/frontend/38-internationalization-protocol.md +243 -0
  358. package/seeds/specs/hard/frontend/39-copywriting-protocol.md +79 -0
  359. package/seeds/specs/hard/frontend/40-analytics-protocol.md +98 -0
  360. package/seeds/specs/hard/frontend/41-design-handoff-protocol.md +80 -0
  361. package/seeds/specs/hard/frontend/42-browser-runtime-lifecycle-protocol.md +86 -0
  362. package/seeds/specs/hard/frontend/43-time-temporal-protocol.md +86 -0
  363. package/seeds/specs/hard/frontend/44-privacy-data-lifecycle-protocol.md +87 -0
  364. package/seeds/specs/hard/frontend/45-browser-storage-protocol.md +87 -0
  365. package/seeds/specs/hard/frontend/index.md +308 -0
  366. package/seeds/specs/hard/stacks/java/index.md +20 -0
  367. package/seeds/specs/hard/stacks/java/java-language-overlay.md +35 -0
  368. package/seeds/specs/hard/stacks/jpa/index.md +20 -0
  369. package/seeds/specs/hard/stacks/jpa/jpa-persistence-overlay.md +35 -0
  370. package/seeds/specs/hard/stacks/kubernetes-ingress/index.md +20 -0
  371. package/seeds/specs/hard/stacks/kubernetes-ingress/kubernetes-ingress-overlay.md +35 -0
  372. package/seeds/specs/hard/stacks/messaging/index.md +20 -0
  373. package/seeds/specs/hard/stacks/messaging/messaging-reliability-overlay.md +35 -0
  374. package/seeds/specs/hard/stacks/mybatis/index.md +20 -0
  375. package/seeds/specs/hard/stacks/mybatis/mybatis-persistence-overlay.md +35 -0
  376. package/seeds/specs/hard/stacks/mysql/index.md +20 -0
  377. package/seeds/specs/hard/stacks/mysql/mysql-database-overlay.md +35 -0
  378. package/seeds/specs/hard/stacks/nginx/index.md +20 -0
  379. package/seeds/specs/hard/stacks/nginx/nginx-proxy-overlay.md +35 -0
  380. package/seeds/specs/hard/stacks/postgresql/index.md +20 -0
  381. package/seeds/specs/hard/stacks/postgresql/postgresql-database-overlay.md +35 -0
  382. package/seeds/specs/hard/stacks/redis/index.md +20 -0
  383. package/seeds/specs/hard/stacks/redis/redis-cache-overlay.md +35 -0
  384. package/seeds/specs/hard/stacks/spring-batch/index.md +20 -0
  385. package/seeds/specs/hard/stacks/spring-batch/spring-batch-job-overlay.md +35 -0
  386. package/seeds/specs/hard/stacks/spring-boot/index.md +20 -0
  387. package/seeds/specs/hard/stacks/spring-boot/spring-boot-application-overlay.md +35 -0
  388. package/seeds/specs/hard/stacks/spring-mvc/index.md +20 -0
  389. package/seeds/specs/hard/stacks/spring-mvc/spring-mvc-web-overlay.md +35 -0
  390. package/seeds/specs/hard/stacks/spring-webflux/index.md +20 -0
  391. package/seeds/specs/hard/stacks/spring-webflux/spring-webflux-reactive-overlay.md +35 -0
  392. package/seeds/specs/hard/stacks/tomcat/index.md +20 -0
  393. package/seeds/specs/hard/stacks/tomcat/tomcat-runtime-overlay.md +35 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "catalog_version": "0.1.0-pilot",
3
3
  "profile": "web-standard@0",
4
- "generated_by": "catalog/tools/materialize_catalog_pilot.py(pilot-0001 60 条;entries 按 id 排序)+ catalog/tools/materialize_batch4_uplift.py(batch-4 语料批 Universal 上提追加 9 条)+ corpus/spec-knowledge/materialize-curated.py(SPEC-D 汇总池 D5 精选追加 25 条)+ catalog/sensors/(P1-5 Sensor Capability Catalog Lite 六条目登记,裁决 8 D6/D7)+ W1-A2 P0.5-1 T3 标注战役(机器 applicability 字段批量标注 + 幂等重锁;PRD v0.5.2 §5.2/§14,裁决 8 ②) + catalog/tools/seed_v06_archetypes.py + materialize_v06_relock.py(P-v06 批次 1:archetypes 十条目 + GATE.NEW_ENTITY.CHECKS 登记,D-2/D-4 裁决) + catalog/tools/seed_v06_batch2_materials.py + materialize_v06_relock.py(P-v06 批次 2:STATE_ARCHETYPE 八态 + FRONTEND_ARCHETYPE 三型 + ERROR_TAXONOMY 十二条目,research frontend-state-references.md 2026-09-03 锚) + catalog/tools/materialize_v06_relock.py(P-v06 批次 2.6 Browser Eyes:SENSOR.BROWSER.* 双眼 implementations 显式化 + KNOWLEDGE.WEB.BROWSER.MCP_EYES 登记,Owner 指令 2026-09-03) + catalog/tools/seed_v06_batch3_materials.py + materialize_v06_relock.py(P-v06 批次 3:Backend/API/Data 原型十七条目,research backend-references.md 2026-09-03 锚) + catalog/tools/seed_v06_batch4_materials.py + materialize_v06_relock.py(P-v06 批次 4:RUNTIME 物料两条目 ENVIRONMENT_PARITY/OBSERVABILITY_BINDING,research runtime-references.md 2026-09-03 锚)",
4
+ "generated_by": "catalog/tools/materialize_catalog_pilot.py(pilot-0001 60 条;entries 按 id 排序)+ catalog/tools/materialize_batch4_uplift.py(batch-4 语料批 Universal 上提追加 9 条)+ corpus/spec-knowledge/materialize-curated.py(SPEC-D 汇总池 D5 精选追加 25 条)+ catalog/sensors/(P1-5 Sensor Capability Catalog Lite 六条目登记,裁决 8 D6/D7)+ W1-A2 P0.5-1 T3 标注战役(机器 applicability 字段批量标注 + 幂等重锁;PRD v0.5.2 §5.2/§14,裁决 8 ②) + catalog/tools/seed_v06_archetypes.py + materialize_v06_relock.py(P-v06 批次 1:archetypes 十条目 + GATE.NEW_ENTITY.CHECKS 登记,D-2/D-4 裁决) + catalog/tools/seed_v06_batch2_materials.py + materialize_v06_relock.py(P-v06 批次 2:STATE_ARCHETYPE 八态 + FRONTEND_ARCHETYPE 三型 + ERROR_TAXONOMY 十二条目,research frontend-state-references.md 2026-09-03 锚) + catalog/tools/materialize_v06_relock.py(P-v06 批次 2.6 Browser Eyes:SENSOR.BROWSER.* 双眼 implementations 显式化 + KNOWLEDGE.WEB.BROWSER.MCP_EYES 登记,Owner 指令 2026-09-03) + catalog/tools/seed_v06_batch3_materials.py + materialize_v06_relock.py(P-v06 批次 3:Backend/API/Data 原型十七条目,research backend-references.md 2026-09-03 锚) + catalog/tools/seed_v06_batch4_materials.py + materialize_v06_relock.py(P-v06 批次 4:RUNTIME 物料两条目 ENVIRONMENT_PARITY/OBSERVABILITY_BINDING,research runtime-references.md 2026-09-03 锚) + pomaster catalog relock(CLI 恢复键;幂等重锁不含时戳——A4)",
5
5
  "x-digest-ethics": {
6
6
  "basis": "D24 / vocab-lock.digest_ethics",
7
7
  "write_blocking": false,
@@ -75,42 +75,154 @@
75
75
  "policies/authority.chg.change_owners.json",
76
76
  "policies/authority.web.api.request_owners.json",
77
77
  "policies/authority.web.grid.ownership.json",
78
+ "policies/policy.ai.change_plan_first.json",
79
+ "policies/policy.ai.fact_inference_separation.json",
80
+ "policies/policy.ai.read_search_verify_before_write.json",
81
+ "policies/policy.ai.rule_relaxation_approval.json",
78
82
  "policies/policy.api.backward_compat_defaults.json",
79
83
  "policies/policy.api.contract_impl_consistency.json",
80
84
  "policies/policy.api.no_informal_contract.json",
85
+ "policies/policy.arch.adr_immutable_history.json",
81
86
  "policies/policy.arch.decision_tradeoff_record.json",
87
+ "policies/policy.arch.no_convenience_over_boundary.json",
88
+ "policies/policy.arch.prefer_verifiable_option.json",
89
+ "policies/policy.authz.no_gating_proxy_trust.json",
90
+ "policies/policy.authz.permission_scope_expansion_gate.json",
91
+ "policies/policy.authz.server_five_factor_verification.json",
92
+ "policies/policy.be.conc.prefer_db_constraints.json",
93
+ "policies/policy.be.db.expand_migrate_contract.json",
94
+ "policies/policy.be.idem.key_payload_conflict.json",
95
+ "policies/policy.be.model.single_boundary_conversion.json",
96
+ "policies/policy.be.sql.index_for_known_queries.json",
97
+ "policies/policy.be.state.single_rule_source.json",
98
+ "policies/policy.be.txn.short_locks_compensation.json",
99
+ "policies/policy.bound.search_first_entry_only.json",
100
+ "policies/policy.boundary.validate_in_encode_out.json",
101
+ "policies/policy.cache.failure_mode_guards.json",
82
102
  "policies/policy.cache.lifecycle_definition.json",
103
+ "policies/policy.cache.schema_versioning.json",
104
+ "policies/policy.cfg.config_attribute_completeness.json",
105
+ "policies/policy.cfg.key_rename_dual_read.json",
106
+ "policies/policy.cfg.no_secret_dispersal.json",
107
+ "policies/policy.cfg.production_safe_defaults.json",
108
+ "policies/policy.cfg.schema_backed_config.json",
83
109
  "policies/policy.chg.affect_templates.json",
84
110
  "policies/policy.chg.breaking_versioning.json",
85
111
  "policies/policy.chg.compat_migration_rollback.json",
86
112
  "policies/policy.chg.deprecate_before_delete.json",
87
113
  "policies/policy.chg.fix_at_root_cause_level.json",
114
+ "policies/policy.chg.no_unrelated_changes.json",
88
115
  "policies/policy.chg.observable_evolution.json",
89
116
  "policies/policy.chg.prechange_consumer_scan.json",
90
117
  "policies/policy.chg.staged_rollout.json",
91
118
  "policies/policy.chg.sync_contract_docs_tests.json",
92
119
  "policies/policy.conflict.priority_ladder.json",
120
+ "policies/policy.contract.no_invented_facts.json",
93
121
  "policies/policy.dep.admission_six_dimension_check.json",
122
+ "policies/policy.dep.build_path_supply_chain.json",
94
123
  "policies/policy.dep.change_surface_review.json",
95
124
  "policies/policy.dep.introduction_review.json",
125
+ "policies/policy.dep.no_untrusted_source_no_lock_bypass.json",
126
+ "policies/policy.dep.time_boxed_urgent_exception.json",
127
+ "policies/policy.deploy.no_dev_env_as_production_fact.json",
128
+ "policies/policy.deploy.operational_capabilities.json",
129
+ "policies/policy.deploy.runtime_fact_record.json",
96
130
  "policies/policy.derived.single_implementation.json",
131
+ "policies/policy.err.failure_five_part_mapping.json",
132
+ "policies/policy.err.no_internal_detail_exposure.json",
133
+ "policies/policy.err.published_code_immutable.json",
134
+ "policies/policy.evid.acceptance_binds_verifiable_evidence.json",
135
+ "policies/policy.evid.no_silent_gate_removal.json",
136
+ "policies/policy.evid.no_unverifiable_pass.json",
137
+ "policies/policy.flag.cleanup_after_full_rollout.json",
138
+ "policies/policy.flag.consistent_off_state.json",
139
+ "policies/policy.flag.kill_switch.json",
140
+ "policies/policy.flag.lifecycle_metadata.json",
141
+ "policies/policy.flag.not_a_permission.json",
142
+ "policies/policy.gate.p0_non_bypassable.json",
143
+ "policies/policy.gate.risk_factors_confirmed.json",
144
+ "policies/policy.guard.no_check_weakening.json",
145
+ "policies/policy.integration.call_definition_minimum.json",
146
+ "policies/policy.integration.fault_containment.json",
147
+ "policies/policy.job.lifecycle_definition.json",
148
+ "policies/policy.job.no_unmanaged_execution.json",
149
+ "policies/policy.job.operational_features.json",
150
+ "policies/policy.obs.actionable_signals.json",
151
+ "policies/policy.obs.alert_with_owner.json",
152
+ "policies/policy.obs.context_field_baseline.json",
97
153
  "policies/policy.obs.correlation_context_minimum.json",
154
+ "policies/policy.obs.no_sensitive_or_unbounded_logging.json",
155
+ "policies/policy.obs.no_sensitive_raw_values.json",
98
156
  "policies/policy.obs.rum_dimension_whitelist.json",
157
+ "policies/policy.obs.signal_change_impact.json",
158
+ "policies/policy.obs.source_map_access_control.json",
159
+ "policies/policy.obs.telemetry_lifecycle_declared.json",
160
+ "policies/policy.obs.trace_correlation.json",
161
+ "policies/policy.perf.budget_change_retest.json",
162
+ "policies/policy.perf.evidence_binding.json",
163
+ "policies/policy.perf.observation_dimensions.json",
164
+ "policies/policy.proc.checklist_change_policy.json",
99
165
  "policies/policy.proc.pre_code_declaration.json",
166
+ "policies/policy.proc.scope_drift_reclassify.json",
167
+ "policies/policy.prv.processing_scope_re_review.json",
168
+ "policies/policy.prv.sensitive_data_six_facts.json",
169
+ "policies/policy.registry.human_fields_validated_decorrelated.json",
170
+ "policies/policy.rel.no_irreversible_unmonitored_full_release.json",
171
+ "policies/policy.rel.observability_before_ship.json",
100
172
  "policies/policy.rel.pre_release_confirmation.json",
173
+ "policies/policy.rel.process_change_needs_drill_audit.json",
174
+ "policies/policy.rel.traceable_build.json",
101
175
  "policies/policy.role.domain_decision_authority.json",
176
+ "policies/policy.role.human_signs_for_ai.json",
177
+ "policies/policy.sec.authn_policy_unified.json",
178
+ "policies/policy.sec.no_client_side_trust.json",
179
+ "policies/policy.sec.no_longterm_security_disable.json",
180
+ "policies/policy.sec.no_script_readable_credentials.json",
181
+ "policies/policy.sec.no_secrets_in_client_surface.json",
182
+ "policies/policy.sec.relaxation_approval.json",
183
+ "policies/policy.sec.security_relaxation_gate.json",
102
184
  "policies/policy.sec.third_party_execution_register.json",
185
+ "policies/policy.sec.trust_boundary_enforcement.json",
186
+ "policies/policy.sec.upload_download_server_recheck.json",
187
+ "policies/policy.sec.url_source_allowlist.json",
103
188
  "policies/policy.spec.admission_criteria.json",
104
189
  "policies/policy.spec.derived_view_regeneration.json",
105
190
  "policies/policy.spec.draft_not_baseline.json",
191
+ "policies/policy.spec.family_conflict_precedence.json",
106
192
  "policies/policy.spec.file_structure_contract.json",
193
+ "policies/policy.spec.freeze_before_use.json",
107
194
  "policies/policy.spec.metadata_required.json",
108
195
  "policies/policy.spec.post_dev_backfill_classify.json",
196
+ "policies/policy.spec.primary_source_basis.json",
109
197
  "policies/policy.spec.procedural_record_not_surrogate.json",
110
198
  "policies/policy.spec.semantic_identity.json",
111
199
  "policies/policy.spec.unresolved_ledger_gate.json",
200
+ "policies/policy.stack.derived_store_not_authority.json",
201
+ "policies/policy.stack.dual_web_stack_boundary.json",
202
+ "policies/policy.stack.entry_chain_recorded.json",
203
+ "policies/policy.stack.entry_limits_aligned.json",
204
+ "policies/policy.stack.local_form_not_prod_fact.json",
205
+ "policies/policy.stack.multi_datastore_ownership.json",
112
206
  "policies/policy.stack.no_implicit_selection.json",
207
+ "policies/policy.stack.persistence_coexistence_scope.json",
208
+ "policies/policy.stack.toolchain_versions_pinned.json",
209
+ "policies/policy.stack.upgrade_compat_verified.json",
210
+ "policies/policy.struct.module_entry_dependency_declared.json",
211
+ "policies/policy.struct.no_unexplained_top_level_dir.json",
212
+ "policies/policy.struct.reuse_proven_structure.json",
213
+ "policies/policy.test.control_nondeterminism_keep_diagnosis.json",
214
+ "policies/policy.test.isolation_and_cleanup.json",
215
+ "policies/policy.test.no_synthetic_stability.json",
216
+ "policies/policy.test.pyramid_and_ci_matrix.json",
217
+ "policies/policy.test.removal_justification.json",
218
+ "policies/policy.test.removal_needs_substitute_evidence.json",
219
+ "policies/policy.test.risk_driven_plan.json",
220
+ "policies/policy.test.stable_observable_assertions.json",
221
+ "policies/policy.tool.discoverable_toolchain.json",
222
+ "policies/policy.tool.no_hand_edit_generated_no_ci_drift.json",
223
+ "policies/policy.tool.no_vendored_body_edits.json",
113
224
  "policies/policy.tool.scoped_scan_boundary.json",
225
+ "policies/policy.tool.upgrade_verify_lock_rollback.json",
114
226
  "policies/policy.web.api.auth_app_client_split.json",
115
227
  "policies/policy.web.api.client_change_impact.json",
116
228
  "policies/policy.web.api.domain_api_only.json",
@@ -132,6 +244,11 @@
132
244
  "policies/policy.web.arch.naming_conventions.json",
133
245
  "policies/policy.web.arch.public_api_barrel.json",
134
246
  "policies/policy.web.chg.controlled_change_triggers.json",
247
+ "policies/policy.web.comp.no_trivial_or_god_component.json",
248
+ "policies/policy.web.comp.public_contract_completeness.json",
249
+ "policies/policy.web.copy.action_object_clarity.json",
250
+ "policies/policy.web.copy.enumerable_placement.json",
251
+ "policies/policy.web.copy.error_next_step.json",
135
252
  "policies/policy.web.copy.suppression_ledger_discipline.json",
136
253
  "policies/policy.web.grid.column_schema_fields.json",
137
254
  "policies/policy.web.grid.config_isolation.json",
@@ -143,12 +260,22 @@
143
260
  "policies/policy.web.grid.server_ops_virtualization.json",
144
261
  "policies/policy.web.grid.shell_change_matrix.json",
145
262
  "policies/policy.web.grid.width_fix_ladder.json",
263
+ "policies/policy.web.handoff.state_matrix_full.json",
264
+ "policies/policy.web.i18n.copy_key_discipline.json",
265
+ "policies/policy.web.i18n.raw_value_for_compute.json",
266
+ "policies/policy.web.page.region_consistency.json",
146
267
  "policies/policy.web.perf.budget_skeleton.json",
147
268
  "policies/policy.web.style.ownership_matrix.json",
269
+ "policies/policy.web.track.attempt_result_correlation.json",
148
270
  "policies/policy.web.track.consent_lifecycle.json",
271
+ "policies/policy.web.track.no_synthetic_actions.json",
149
272
  "policies/policy.web.track.privacy_default_deny.json",
150
273
  "policies/policy.web.track.stable_event_keys.json",
274
+ "policies/policy.web.track.typed_client_validation.json",
151
275
  "policies/policy.web.uiux.provider_evidence_not_business_truth.json",
276
+ "policies/policy.wf.no_planned_as_verified.json",
277
+ "policies/policy.wf.task_facts_preconfirm.json",
278
+ "policies/profile.baseline.java_enterprise_default.json",
152
279
  "sensors/sensor.browser.deterministic.json",
153
280
  "sensors/sensor.browser.interactive.json",
154
281
  "sensors/sensor.build.static.json",
@@ -220,42 +347,154 @@
220
347
  "policies/authority.chg.change_owners.json",
221
348
  "policies/authority.web.api.request_owners.json",
222
349
  "policies/authority.web.grid.ownership.json",
350
+ "policies/policy.ai.change_plan_first.json",
351
+ "policies/policy.ai.fact_inference_separation.json",
352
+ "policies/policy.ai.read_search_verify_before_write.json",
353
+ "policies/policy.ai.rule_relaxation_approval.json",
223
354
  "policies/policy.api.backward_compat_defaults.json",
224
355
  "policies/policy.api.contract_impl_consistency.json",
225
356
  "policies/policy.api.no_informal_contract.json",
357
+ "policies/policy.arch.adr_immutable_history.json",
226
358
  "policies/policy.arch.decision_tradeoff_record.json",
359
+ "policies/policy.arch.no_convenience_over_boundary.json",
360
+ "policies/policy.arch.prefer_verifiable_option.json",
361
+ "policies/policy.authz.no_gating_proxy_trust.json",
362
+ "policies/policy.authz.permission_scope_expansion_gate.json",
363
+ "policies/policy.authz.server_five_factor_verification.json",
364
+ "policies/policy.be.conc.prefer_db_constraints.json",
365
+ "policies/policy.be.db.expand_migrate_contract.json",
366
+ "policies/policy.be.idem.key_payload_conflict.json",
367
+ "policies/policy.be.model.single_boundary_conversion.json",
368
+ "policies/policy.be.sql.index_for_known_queries.json",
369
+ "policies/policy.be.state.single_rule_source.json",
370
+ "policies/policy.be.txn.short_locks_compensation.json",
371
+ "policies/policy.bound.search_first_entry_only.json",
372
+ "policies/policy.boundary.validate_in_encode_out.json",
373
+ "policies/policy.cache.failure_mode_guards.json",
227
374
  "policies/policy.cache.lifecycle_definition.json",
375
+ "policies/policy.cache.schema_versioning.json",
376
+ "policies/policy.cfg.config_attribute_completeness.json",
377
+ "policies/policy.cfg.key_rename_dual_read.json",
378
+ "policies/policy.cfg.no_secret_dispersal.json",
379
+ "policies/policy.cfg.production_safe_defaults.json",
380
+ "policies/policy.cfg.schema_backed_config.json",
228
381
  "policies/policy.chg.affect_templates.json",
229
382
  "policies/policy.chg.breaking_versioning.json",
230
383
  "policies/policy.chg.compat_migration_rollback.json",
231
384
  "policies/policy.chg.deprecate_before_delete.json",
232
385
  "policies/policy.chg.fix_at_root_cause_level.json",
386
+ "policies/policy.chg.no_unrelated_changes.json",
233
387
  "policies/policy.chg.observable_evolution.json",
234
388
  "policies/policy.chg.prechange_consumer_scan.json",
235
389
  "policies/policy.chg.staged_rollout.json",
236
390
  "policies/policy.chg.sync_contract_docs_tests.json",
237
391
  "policies/policy.conflict.priority_ladder.json",
392
+ "policies/policy.contract.no_invented_facts.json",
238
393
  "policies/policy.dep.admission_six_dimension_check.json",
394
+ "policies/policy.dep.build_path_supply_chain.json",
239
395
  "policies/policy.dep.change_surface_review.json",
240
396
  "policies/policy.dep.introduction_review.json",
397
+ "policies/policy.dep.no_untrusted_source_no_lock_bypass.json",
398
+ "policies/policy.dep.time_boxed_urgent_exception.json",
399
+ "policies/policy.deploy.no_dev_env_as_production_fact.json",
400
+ "policies/policy.deploy.operational_capabilities.json",
401
+ "policies/policy.deploy.runtime_fact_record.json",
241
402
  "policies/policy.derived.single_implementation.json",
403
+ "policies/policy.err.failure_five_part_mapping.json",
404
+ "policies/policy.err.no_internal_detail_exposure.json",
405
+ "policies/policy.err.published_code_immutable.json",
406
+ "policies/policy.evid.acceptance_binds_verifiable_evidence.json",
407
+ "policies/policy.evid.no_silent_gate_removal.json",
408
+ "policies/policy.evid.no_unverifiable_pass.json",
409
+ "policies/policy.flag.cleanup_after_full_rollout.json",
410
+ "policies/policy.flag.consistent_off_state.json",
411
+ "policies/policy.flag.kill_switch.json",
412
+ "policies/policy.flag.lifecycle_metadata.json",
413
+ "policies/policy.flag.not_a_permission.json",
414
+ "policies/policy.gate.p0_non_bypassable.json",
415
+ "policies/policy.gate.risk_factors_confirmed.json",
416
+ "policies/policy.guard.no_check_weakening.json",
417
+ "policies/policy.integration.call_definition_minimum.json",
418
+ "policies/policy.integration.fault_containment.json",
419
+ "policies/policy.job.lifecycle_definition.json",
420
+ "policies/policy.job.no_unmanaged_execution.json",
421
+ "policies/policy.job.operational_features.json",
422
+ "policies/policy.obs.actionable_signals.json",
423
+ "policies/policy.obs.alert_with_owner.json",
424
+ "policies/policy.obs.context_field_baseline.json",
242
425
  "policies/policy.obs.correlation_context_minimum.json",
426
+ "policies/policy.obs.no_sensitive_or_unbounded_logging.json",
427
+ "policies/policy.obs.no_sensitive_raw_values.json",
243
428
  "policies/policy.obs.rum_dimension_whitelist.json",
429
+ "policies/policy.obs.signal_change_impact.json",
430
+ "policies/policy.obs.source_map_access_control.json",
431
+ "policies/policy.obs.telemetry_lifecycle_declared.json",
432
+ "policies/policy.obs.trace_correlation.json",
433
+ "policies/policy.perf.budget_change_retest.json",
434
+ "policies/policy.perf.evidence_binding.json",
435
+ "policies/policy.perf.observation_dimensions.json",
436
+ "policies/policy.proc.checklist_change_policy.json",
244
437
  "policies/policy.proc.pre_code_declaration.json",
438
+ "policies/policy.proc.scope_drift_reclassify.json",
439
+ "policies/policy.prv.processing_scope_re_review.json",
440
+ "policies/policy.prv.sensitive_data_six_facts.json",
441
+ "policies/policy.registry.human_fields_validated_decorrelated.json",
442
+ "policies/policy.rel.no_irreversible_unmonitored_full_release.json",
443
+ "policies/policy.rel.observability_before_ship.json",
245
444
  "policies/policy.rel.pre_release_confirmation.json",
445
+ "policies/policy.rel.process_change_needs_drill_audit.json",
446
+ "policies/policy.rel.traceable_build.json",
246
447
  "policies/policy.role.domain_decision_authority.json",
448
+ "policies/policy.role.human_signs_for_ai.json",
449
+ "policies/policy.sec.authn_policy_unified.json",
450
+ "policies/policy.sec.no_client_side_trust.json",
451
+ "policies/policy.sec.no_longterm_security_disable.json",
452
+ "policies/policy.sec.no_script_readable_credentials.json",
453
+ "policies/policy.sec.no_secrets_in_client_surface.json",
454
+ "policies/policy.sec.relaxation_approval.json",
455
+ "policies/policy.sec.security_relaxation_gate.json",
247
456
  "policies/policy.sec.third_party_execution_register.json",
457
+ "policies/policy.sec.trust_boundary_enforcement.json",
458
+ "policies/policy.sec.upload_download_server_recheck.json",
459
+ "policies/policy.sec.url_source_allowlist.json",
248
460
  "policies/policy.spec.admission_criteria.json",
249
461
  "policies/policy.spec.derived_view_regeneration.json",
250
462
  "policies/policy.spec.draft_not_baseline.json",
463
+ "policies/policy.spec.family_conflict_precedence.json",
251
464
  "policies/policy.spec.file_structure_contract.json",
465
+ "policies/policy.spec.freeze_before_use.json",
252
466
  "policies/policy.spec.metadata_required.json",
253
467
  "policies/policy.spec.post_dev_backfill_classify.json",
468
+ "policies/policy.spec.primary_source_basis.json",
254
469
  "policies/policy.spec.procedural_record_not_surrogate.json",
255
470
  "policies/policy.spec.semantic_identity.json",
256
471
  "policies/policy.spec.unresolved_ledger_gate.json",
472
+ "policies/policy.stack.derived_store_not_authority.json",
473
+ "policies/policy.stack.dual_web_stack_boundary.json",
474
+ "policies/policy.stack.entry_chain_recorded.json",
475
+ "policies/policy.stack.entry_limits_aligned.json",
476
+ "policies/policy.stack.local_form_not_prod_fact.json",
477
+ "policies/policy.stack.multi_datastore_ownership.json",
257
478
  "policies/policy.stack.no_implicit_selection.json",
479
+ "policies/policy.stack.persistence_coexistence_scope.json",
480
+ "policies/policy.stack.toolchain_versions_pinned.json",
481
+ "policies/policy.stack.upgrade_compat_verified.json",
482
+ "policies/policy.struct.module_entry_dependency_declared.json",
483
+ "policies/policy.struct.no_unexplained_top_level_dir.json",
484
+ "policies/policy.struct.reuse_proven_structure.json",
485
+ "policies/policy.test.control_nondeterminism_keep_diagnosis.json",
486
+ "policies/policy.test.isolation_and_cleanup.json",
487
+ "policies/policy.test.no_synthetic_stability.json",
488
+ "policies/policy.test.pyramid_and_ci_matrix.json",
489
+ "policies/policy.test.removal_justification.json",
490
+ "policies/policy.test.removal_needs_substitute_evidence.json",
491
+ "policies/policy.test.risk_driven_plan.json",
492
+ "policies/policy.test.stable_observable_assertions.json",
493
+ "policies/policy.tool.discoverable_toolchain.json",
494
+ "policies/policy.tool.no_hand_edit_generated_no_ci_drift.json",
495
+ "policies/policy.tool.no_vendored_body_edits.json",
258
496
  "policies/policy.tool.scoped_scan_boundary.json",
497
+ "policies/policy.tool.upgrade_verify_lock_rollback.json",
259
498
  "policies/policy.web.api.auth_app_client_split.json",
260
499
  "policies/policy.web.api.client_change_impact.json",
261
500
  "policies/policy.web.api.domain_api_only.json",
@@ -277,6 +516,11 @@
277
516
  "policies/policy.web.arch.naming_conventions.json",
278
517
  "policies/policy.web.arch.public_api_barrel.json",
279
518
  "policies/policy.web.chg.controlled_change_triggers.json",
519
+ "policies/policy.web.comp.no_trivial_or_god_component.json",
520
+ "policies/policy.web.comp.public_contract_completeness.json",
521
+ "policies/policy.web.copy.action_object_clarity.json",
522
+ "policies/policy.web.copy.enumerable_placement.json",
523
+ "policies/policy.web.copy.error_next_step.json",
280
524
  "policies/policy.web.copy.suppression_ledger_discipline.json",
281
525
  "policies/policy.web.grid.column_schema_fields.json",
282
526
  "policies/policy.web.grid.config_isolation.json",
@@ -288,12 +532,22 @@
288
532
  "policies/policy.web.grid.server_ops_virtualization.json",
289
533
  "policies/policy.web.grid.shell_change_matrix.json",
290
534
  "policies/policy.web.grid.width_fix_ladder.json",
535
+ "policies/policy.web.handoff.state_matrix_full.json",
536
+ "policies/policy.web.i18n.copy_key_discipline.json",
537
+ "policies/policy.web.i18n.raw_value_for_compute.json",
538
+ "policies/policy.web.page.region_consistency.json",
291
539
  "policies/policy.web.perf.budget_skeleton.json",
292
540
  "policies/policy.web.style.ownership_matrix.json",
541
+ "policies/policy.web.track.attempt_result_correlation.json",
293
542
  "policies/policy.web.track.consent_lifecycle.json",
543
+ "policies/policy.web.track.no_synthetic_actions.json",
294
544
  "policies/policy.web.track.privacy_default_deny.json",
295
545
  "policies/policy.web.track.stable_event_keys.json",
546
+ "policies/policy.web.track.typed_client_validation.json",
296
547
  "policies/policy.web.uiux.provider_evidence_not_business_truth.json",
548
+ "policies/policy.wf.no_planned_as_verified.json",
549
+ "policies/policy.wf.task_facts_preconfirm.json",
550
+ "policies/profile.baseline.java_enterprise_default.json",
297
551
  "sensors/sensor.browser.deterministic.json",
298
552
  "sensors/sensor.browser.interactive.json",
299
553
  "sensors/sensor.build.static.json",
@@ -396,31 +650,31 @@
396
650
  {
397
651
  "id": "AUTHORITY.BE.API_CONTRACT_OWNERSHIP",
398
652
  "path": "policies/authority.be.api_contract_ownership.json",
399
- "content_sha256": "sha256:ea32fd4f036903543c2e2242b635a7dc7edceee8cac72c20bed0062ace05a912",
653
+ "content_sha256": "sha256:ab0ba13167f2ea3f33698fd59d30c6a46eaed2cd42d7d77256de479c49f21368",
400
654
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md"
401
655
  },
402
656
  {
403
657
  "id": "AUTHORITY.BE.CONTRACT_OWNERSHIP",
404
658
  "path": "policies/authority.be.contract_ownership.json",
405
- "content_sha256": "sha256:85f643c6687d9e7dc1910197ae555e218d145c3d4a8f0f821d5367ce49c2e694",
659
+ "content_sha256": "sha256:3b363c63ed2480b2f05d7726855eaaa3982afda5217f3746391181800b4b1a24",
406
660
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md"
407
661
  },
408
662
  {
409
663
  "id": "AUTHORITY.CHG.CHANGE_OWNERS",
410
664
  "path": "policies/authority.chg.change_owners.json",
411
- "content_sha256": "sha256:967a41d84d4ee1511a51def82af90b8b42a5939d096d54daaf7d5658cdf9c9f1",
665
+ "content_sha256": "sha256:b08cad7325a47a4a5b4cd52f358eef25e725cab4ce18856469aa1d3bf255a5a6",
412
666
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
413
667
  },
414
668
  {
415
669
  "id": "AUTHORITY.WEB.API.REQUEST_OWNERS",
416
670
  "path": "policies/authority.web.api.request_owners.json",
417
- "content_sha256": "sha256:c6e2d913af5eb5eefb5ea0cf9af6adc1e96bdbd95f49024eee47cf3ae3c1eef4",
671
+ "content_sha256": "sha256:1278194037ef46edede667c3b3b0a351e3d0333872b49007f4f17849b63ea36d",
418
672
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
419
673
  },
420
674
  {
421
675
  "id": "AUTHORITY.WEB.GRID.OWNERSHIP",
422
676
  "path": "policies/authority.web.grid.ownership.json",
423
- "content_sha256": "sha256:f2bcb074de783d1ff6bab5c2a7e36c1aa97cc520e550b08da8dd277660e4129c",
677
+ "content_sha256": "sha256:058dcd0aca7da174903266ad63ad6e89910310e5c466c36a3e9c1755e6cdee16",
424
678
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
425
679
  },
426
680
  {
@@ -486,13 +740,13 @@
486
740
  {
487
741
  "id": "FRONTEND_ARCHETYPE.ERROR_TAXONOMY",
488
742
  "path": "archetypes/archetype.frontend.error_taxonomy.json",
489
- "content_sha256": "sha256:eff9f10f0702ab502af8a81b5c884afc3736eeb45f2d3f1f8724689e8b9af327",
743
+ "content_sha256": "sha256:31fd889c99ac7b4a5d967bf05f1856c2c155a08c5c1d5ce979114ade2d96152b",
490
744
  "source_ref": "catalog/tools/seed_v06_batch2_materials.py(P-v06 批次 2;外部参照 frontend-state-references.md 2026-09-03 实抓锚)"
491
745
  },
492
746
  {
493
747
  "id": "FRONTEND_ARCHETYPE.FEATURE_ORIENTED",
494
748
  "path": "archetypes/archetype.frontend.feature_oriented.json",
495
- "content_sha256": "sha256:6c31a17870effff68e7f205af56313d32be1f31e722cbf1a56ff722838c6bf05",
749
+ "content_sha256": "sha256:b97d2338d75b9291cc5d74da755d0f2e59bf40d0317d39dc3a555c6cc4b84767",
496
750
  "source_ref": "catalog/tools/seed_v06_batch2_materials.py(P-v06 批次 2;外部参照 frontend-state-references.md 2026-09-03 实抓锚)"
497
751
  },
498
752
  {
@@ -510,19 +764,19 @@
510
764
  {
511
765
  "id": "GATE.BE.API.CONTRACT_CHECKS",
512
766
  "path": "gates/gate.be.api.contract_checks.json",
513
- "content_sha256": "sha256:4b8938397ee1c5abdd1395435e31ee5442e243123b05dff7b3e7e9b562069442",
767
+ "content_sha256": "sha256:4153f4f77bca98ffd664a21c182173e0b4941bc643637d6cc32e674141919019",
514
768
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md"
515
769
  },
516
770
  {
517
771
  "id": "GATE.BE.CHG.CONTRACT_CHANGE_CHECKS",
518
772
  "path": "gates/gate.be.chg.contract_change_checks.json",
519
- "content_sha256": "sha256:6b53322302fa40a73d276c40cc8f2ca0fce6e5e9d1a33f88635331fc94dda3dc",
773
+ "content_sha256": "sha256:5899bd3be7465265ffeb0733299efd7933ca2351de8f9ee4862f59fdb9ea50f5",
520
774
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md"
521
775
  },
522
776
  {
523
777
  "id": "GATE.CHG.PRECHANGE_CHECKS",
524
778
  "path": "gates/gate.chg.prechange_checks.json",
525
- "content_sha256": "sha256:86f0fdcb146ecad551d5cc561cdce0f3280c22ad5adc9ab5886bb83d3cdad5f0",
779
+ "content_sha256": "sha256:3c683ff9f1f90cb8c32b4504217cf83df6b5804604431f19d8fd26c353ce45d2",
526
780
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
527
781
  },
528
782
  {
@@ -534,67 +788,67 @@
534
788
  {
535
789
  "id": "GATE.WEB.API.REQUEST_CHECKS",
536
790
  "path": "gates/gate.web.api.request_checks.json",
537
- "content_sha256": "sha256:6b49d5111634ceb768a5e426db7ff34231a91943f0c1b2117d4986e1564e0cf3",
791
+ "content_sha256": "sha256:7aa88bedfa777ec4e43f55461128813ed1222762f1ee8232239e66dd6d05df83",
538
792
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
539
793
  },
540
794
  {
541
795
  "id": "GATE.WEB.GRID.CHECKS",
542
796
  "path": "gates/gate.web.grid.checks.json",
543
- "content_sha256": "sha256:cf7e571efd93f8ae29334ad0bc1445033ece680a51835ce474d40d8a31d07619",
797
+ "content_sha256": "sha256:a76aea4df29abbffe2806f2c7bb2ef34cac12f540fe7ff68282b941c41a5a1c3",
544
798
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
545
799
  },
546
800
  {
547
801
  "id": "KNOWLEDGE.API.EXAMPLE_STABLE_ERROR_CODE",
548
802
  "path": "knowledge/knowledge.api.example_stable_error_code.json",
549
- "content_sha256": "sha256:8def854ff85f5448b231a82fabfb63cb4ecdf3c51661d4551e386dd667dbc5c6",
803
+ "content_sha256": "sha256:37bf3957591366e65f728bc61c68ebd7841d6bebd161d3eb2fbb1bf739990b0c",
550
804
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md"
551
805
  },
552
806
  {
553
807
  "id": "KNOWLEDGE.CHG.EXAMPLE_COMPAT_WINDOW",
554
808
  "path": "knowledge/knowledge.chg.example_compat_window.json",
555
- "content_sha256": "sha256:31e4a6a1a0898e319fd341535e11c71ef7d55183059e8d7c96a4628c54245448",
809
+ "content_sha256": "sha256:2aa1023b84a551c8a94699313ba9c170e2d2625b601e2982010a8f88797449d3",
556
810
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md"
557
811
  },
558
812
  {
559
813
  "id": "KNOWLEDGE.CHG.EXAMPLE_PROP_MIGRATION",
560
814
  "path": "knowledge/knowledge.chg.example_prop_migration.json",
561
- "content_sha256": "sha256:d372a4941abecaafd6d53331d5eac8fe13595333276ae8350f16aac29df94de0",
815
+ "content_sha256": "sha256:1a6ace8962656c140db70f89e32b966f9876207b7b1cbc33d0695dab522f148b",
562
816
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
563
817
  },
564
818
  {
565
819
  "id": "KNOWLEDGE.FP.API.FIELD_DRIFT_NO_CONTRACT",
566
820
  "path": "knowledge/knowledge.fp.api.field_drift_no_contract.json",
567
- "content_sha256": "sha256:e2182eb5b67c6c71e82ca37cb17a6d063541fc3d7f8f5e778ecfaea47d0207ca",
821
+ "content_sha256": "sha256:9dae37dd10e9d93b67e7c65f371d6368ac54a4129aa093756be04b22cd9f4675",
568
822
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md"
569
823
  },
570
824
  {
571
825
  "id": "KNOWLEDGE.FP.API.PER_PAGE_HTTP_CLIENT",
572
826
  "path": "knowledge/knowledge.fp.api.per_page_http_client.json",
573
- "content_sha256": "sha256:627907901169077da6d53a5b52162445b18cc5671afb4bcdb6be3571567f1aeb",
827
+ "content_sha256": "sha256:89cbedc21c13c3f0755b3517af5ac01761cba9b56c6999c99342c05ebf7fe194",
574
828
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
575
829
  },
576
830
  {
577
831
  "id": "KNOWLEDGE.FP.BE.CONTRACT_DRIFT",
578
832
  "path": "knowledge/knowledge.fp.be.contract_drift.json",
579
- "content_sha256": "sha256:871eba9fbf646b43dec353e8b66d9a9a8153c2dbd7803617f3ee8ff46dcdb93a",
833
+ "content_sha256": "sha256:1d68e6f6072f8008e9d5418e5cbbfb039c09a7dd25dc1e234ba997ff1e572636",
580
834
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md"
581
835
  },
582
836
  {
583
837
  "id": "KNOWLEDGE.FP.CHG.PAGE_LOCAL_PADDING",
584
838
  "path": "knowledge/knowledge.fp.chg.page_local_padding.json",
585
- "content_sha256": "sha256:74c2e8fad33ad38af354d8bcf9ce5b9a4c4285605361dc5768f5d1cd89e65bc3",
839
+ "content_sha256": "sha256:86ab2667528d2d1b9d10db71a10c8988326b06716545ccb711145334546e7f8e",
586
840
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
587
841
  },
588
842
  {
589
843
  "id": "KNOWLEDGE.FP.GRID.GLOBAL_TD_WIDTH",
590
844
  "path": "knowledge/knowledge.fp.grid.global_td_width.json",
591
- "content_sha256": "sha256:3bf580c79d851921c227fc8fabb57b9dce8e8a4e73cc30f54a22d9972ef7031d",
845
+ "content_sha256": "sha256:88016e2c8cc8668413470754f6d73c8fb90064cbf97ca65bd9a91b9be7bd853b",
592
846
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
593
847
  },
594
848
  {
595
849
  "id": "KNOWLEDGE.WEB.API.EXAMPLE_GET_ENTITY_LIST",
596
850
  "path": "knowledge/knowledge.web.api.example_get_entity_list.json",
597
- "content_sha256": "sha256:e179dacbb1ba29a80c88a7ca812ddc463a31d8dcf835e87ffd2fd32e9a0ef755",
851
+ "content_sha256": "sha256:a8baada5dbd5f22c0665c3ea873e37be8afc0aa52c119f8c8f6dc388b8511a88",
598
852
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
599
853
  },
600
854
  {
@@ -606,7 +860,7 @@
606
860
  {
607
861
  "id": "KNOWLEDGE.WEB.GRID.EXAMPLE_COLUMN_PRESET",
608
862
  "path": "knowledge/knowledge.web.grid.example_column_preset.json",
609
- "content_sha256": "sha256:131424299e976c0bafaa70f38fcc338469b6ace06600fa78164c5a124eefd3ee",
863
+ "content_sha256": "sha256:6752745bb7ed1a584b3864c36255848115704d52a8db5a6b6284673f9d8a6673",
610
864
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
611
865
  },
612
866
  {
@@ -621,450 +875,1212 @@
621
875
  "content_sha256": "sha256:db29d5c8d16966137ea9389bfaead5051fe3e9d6b974acdc5c7ad5a4fc0c8e0e",
622
876
  "source_ref": "catalog/tools/seed_v06_archetypes.py(P-v06 批次 1;外部参照 external-design-references.md 2026-09-02 实抓锚)"
623
877
  },
878
+ {
879
+ "id": "POLICY.AI.CHANGE_PLAN_FIRST",
880
+ "path": "policies/policy.ai.change_plan_first.json",
881
+ "content_sha256": "sha256:247dccf745dd3dc6dc5bf04bb47748f242c085b70ce0d8f8b161ac9ab898f191",
882
+ "source_ref": "package://catalog/policies/policy.ai.change_plan_first.json"
883
+ },
884
+ {
885
+ "id": "POLICY.AI.FACT_INFERENCE_SEPARATION",
886
+ "path": "policies/policy.ai.fact_inference_separation.json",
887
+ "content_sha256": "sha256:708a44464a2ec989eaf8a3e80bc3371fc6178673e89aea1cd1b260446cf60979",
888
+ "source_ref": "package://catalog/policies/policy.ai.fact_inference_separation.json"
889
+ },
890
+ {
891
+ "id": "POLICY.AI.READ_SEARCH_VERIFY_BEFORE_WRITE",
892
+ "path": "policies/policy.ai.read_search_verify_before_write.json",
893
+ "content_sha256": "sha256:89ee24dc5ee0be14d28e13b9995598aba5a1c796dae34f5b8de797441d0a6ba6",
894
+ "source_ref": "package://catalog/policies/policy.ai.read_search_verify_before_write.json"
895
+ },
896
+ {
897
+ "id": "POLICY.AI.RULE_RELAXATION_APPROVAL",
898
+ "path": "policies/policy.ai.rule_relaxation_approval.json",
899
+ "content_sha256": "sha256:f4be14610a9dcfba92bf2c3346b7db3598cb2efb4aac6abf667b7be894dc3b35",
900
+ "source_ref": "package://catalog/policies/policy.ai.rule_relaxation_approval.json"
901
+ },
624
902
  {
625
903
  "id": "POLICY.API.BACKWARD_COMPAT_DEFAULTS",
626
904
  "path": "policies/policy.api.backward_compat_defaults.json",
627
- "content_sha256": "sha256:9391d1e52b2f32e4f93c8691790d9c04b34614538a15c78636e7db1436fb8271",
905
+ "content_sha256": "sha256:c918fe158be7d3fb0b0be7ba6393b1ae7d02fd933378cd48a06641ad97cdd77f",
628
906
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md"
629
907
  },
630
908
  {
631
909
  "id": "POLICY.API.CONTRACT_IMPL_CONSISTENCY",
632
910
  "path": "policies/policy.api.contract_impl_consistency.json",
633
- "content_sha256": "sha256:482986487e479e8ea5828a33e14913dd0b8fa71ec18f6201cbc491acd26b26b9",
911
+ "content_sha256": "sha256:660e13138f86c63c9faef8624946d13bb03a3264a93c1314b6cf3f429354b972",
634
912
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md"
635
913
  },
636
914
  {
637
915
  "id": "POLICY.API.NO_INFORMAL_CONTRACT",
638
916
  "path": "policies/policy.api.no_informal_contract.json",
639
- "content_sha256": "sha256:51e62f446a9a09904b15409cbf532430d2b2afab35f67788e4421e76913456cb",
917
+ "content_sha256": "sha256:d8b61a1fbcd06fddc4e7236f9f3c9b70f3c957f77dbba28ffa0aa17e6c9ca50f",
640
918
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/12-api-contract-protocol.md"
641
919
  },
920
+ {
921
+ "id": "POLICY.ARCH.ADR_IMMUTABLE_HISTORY",
922
+ "path": "policies/policy.arch.adr_immutable_history.json",
923
+ "content_sha256": "sha256:e7666a1b06b6f953f4a7c06c68ea60a7dc8f95a21b3b3e68964f77df98f1526c",
924
+ "source_ref": "package://catalog/policies/policy.arch.adr_immutable_history.json"
925
+ },
642
926
  {
643
927
  "id": "POLICY.ARCH.DECISION_TRADEOFF_RECORD",
644
928
  "path": "policies/policy.arch.decision_tradeoff_record.json",
645
- "content_sha256": "sha256:05d9895b333a5c0245628f7986b81095e0a77b90705d005a9ee5c2a3af6344d2",
929
+ "content_sha256": "sha256:cf84e5d1e5223a830ed1e4d6d3a5901e819d06c0ef4b49b03799f0eef484250a",
646
930
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G1.yaml"
647
931
  },
932
+ {
933
+ "id": "POLICY.ARCH.NO_CONVENIENCE_OVER_BOUNDARY",
934
+ "path": "policies/policy.arch.no_convenience_over_boundary.json",
935
+ "content_sha256": "sha256:551081c7928bc2690ba35b5872e683969fd4abc0d4ae1739889d3890cea41a67",
936
+ "source_ref": "package://catalog/policies/policy.arch.no_convenience_over_boundary.json"
937
+ },
938
+ {
939
+ "id": "POLICY.ARCH.PREFER_VERIFIABLE_OPTION",
940
+ "path": "policies/policy.arch.prefer_verifiable_option.json",
941
+ "content_sha256": "sha256:0406182aae9a42763fee0026e01c2d32b3d9713c04eedd908b4bdee289f85df6",
942
+ "source_ref": "package://catalog/policies/policy.arch.prefer_verifiable_option.json"
943
+ },
944
+ {
945
+ "id": "POLICY.AUTHZ.NO_GATING_PROXY_TRUST",
946
+ "path": "policies/policy.authz.no_gating_proxy_trust.json",
947
+ "content_sha256": "sha256:ac7b295c29a12576c440064df7c82d924c59f0086cc916febaf68e5f9cd3fba8",
948
+ "source_ref": "package://catalog/policies/policy.authz.no_gating_proxy_trust.json"
949
+ },
950
+ {
951
+ "id": "POLICY.AUTHZ.PERMISSION_SCOPE_EXPANSION_GATE",
952
+ "path": "policies/policy.authz.permission_scope_expansion_gate.json",
953
+ "content_sha256": "sha256:0c74b8e668b0cb3c82a2ac1d8af834b770982f8b0620f9b9f391b989c06127c4",
954
+ "source_ref": "package://catalog/policies/policy.authz.permission_scope_expansion_gate.json"
955
+ },
956
+ {
957
+ "id": "POLICY.AUTHZ.SERVER_FIVE_FACTOR_VERIFICATION",
958
+ "path": "policies/policy.authz.server_five_factor_verification.json",
959
+ "content_sha256": "sha256:c3d6f7c6902a456f9c39d2faef2ebed99a4625fed7286e479c92b3dc788b4b45",
960
+ "source_ref": "package://catalog/policies/policy.authz.server_five_factor_verification.json"
961
+ },
962
+ {
963
+ "id": "POLICY.BE.CONC.PREFER_DB_CONSTRAINTS",
964
+ "path": "policies/policy.be.conc.prefer_db_constraints.json",
965
+ "content_sha256": "sha256:42067a41711e3dd825bfc10da0e6a6b264c19958e66d53c68bcafa6577622b54",
966
+ "source_ref": "package://catalog/policies/policy.be.conc.prefer_db_constraints.json"
967
+ },
968
+ {
969
+ "id": "POLICY.BE.DB.EXPAND_MIGRATE_CONTRACT",
970
+ "path": "policies/policy.be.db.expand_migrate_contract.json",
971
+ "content_sha256": "sha256:d6e0a6dbb4a7d01afb0657184e4f11926376c1a5d3d2cae255ddc66609941b22",
972
+ "source_ref": "package://catalog/policies/policy.be.db.expand_migrate_contract.json"
973
+ },
974
+ {
975
+ "id": "POLICY.BE.IDEM.KEY_PAYLOAD_CONFLICT",
976
+ "path": "policies/policy.be.idem.key_payload_conflict.json",
977
+ "content_sha256": "sha256:b4d8c84b0f55e887e26b5e99621c3c64c43428d5e1fbb8bf0fac2538bd90741c",
978
+ "source_ref": "package://catalog/policies/policy.be.idem.key_payload_conflict.json"
979
+ },
980
+ {
981
+ "id": "POLICY.BE.MODEL.SINGLE_BOUNDARY_CONVERSION",
982
+ "path": "policies/policy.be.model.single_boundary_conversion.json",
983
+ "content_sha256": "sha256:b3aacf075e0e0a65be9b23b0f7a2e4ce8c4b5be950e1d24dbb9413269303237c",
984
+ "source_ref": "package://catalog/policies/policy.be.model.single_boundary_conversion.json"
985
+ },
986
+ {
987
+ "id": "POLICY.BE.SQL.INDEX_FOR_KNOWN_QUERIES",
988
+ "path": "policies/policy.be.sql.index_for_known_queries.json",
989
+ "content_sha256": "sha256:d35842d7ff49d7524d2aa3ca9842fa32a0d6fa7db3a6b1f2c524276c9a8a5582",
990
+ "source_ref": "package://catalog/policies/policy.be.sql.index_for_known_queries.json"
991
+ },
992
+ {
993
+ "id": "POLICY.BE.STATE.SINGLE_RULE_SOURCE",
994
+ "path": "policies/policy.be.state.single_rule_source.json",
995
+ "content_sha256": "sha256:ba6145324f37925bded88f462686f2da9b243b513e38a46480a07096f44ed932",
996
+ "source_ref": "package://catalog/policies/policy.be.state.single_rule_source.json"
997
+ },
998
+ {
999
+ "id": "POLICY.BE.TXN.SHORT_LOCKS_COMPENSATION",
1000
+ "path": "policies/policy.be.txn.short_locks_compensation.json",
1001
+ "content_sha256": "sha256:5b29d3facdbeee82d5a83c5b1c31e259335dcafeadb4a5ea6e3602f9f102594a",
1002
+ "source_ref": "package://catalog/policies/policy.be.txn.short_locks_compensation.json"
1003
+ },
1004
+ {
1005
+ "id": "POLICY.BOUND.SEARCH_FIRST_ENTRY_ONLY",
1006
+ "path": "policies/policy.bound.search_first_entry_only.json",
1007
+ "content_sha256": "sha256:8c9a9cacb159fb183148e561dec59033e78ceb6ed73582afdf642b39b70f5506",
1008
+ "source_ref": "package://catalog/policies/policy.bound.search_first_entry_only.json"
1009
+ },
1010
+ {
1011
+ "id": "POLICY.BOUNDARY.VALIDATE_IN_ENCODE_OUT",
1012
+ "path": "policies/policy.boundary.validate_in_encode_out.json",
1013
+ "content_sha256": "sha256:2fbf067da85d25a5009b9d940fb79932125f2b9ec4bd89a4910dae26b4b69df4",
1014
+ "source_ref": "package://catalog/policies/policy.boundary.validate_in_encode_out.json"
1015
+ },
1016
+ {
1017
+ "id": "POLICY.CACHE.FAILURE_MODE_GUARDS",
1018
+ "path": "policies/policy.cache.failure_mode_guards.json",
1019
+ "content_sha256": "sha256:15b5979080ba4abb83234263d9eca027753acce4e7ceeede8553b314a79f97d1",
1020
+ "source_ref": "package://catalog/policies/policy.cache.failure_mode_guards.json"
1021
+ },
648
1022
  {
649
1023
  "id": "POLICY.CACHE.LIFECYCLE_DEFINITION",
650
1024
  "path": "policies/policy.cache.lifecycle_definition.json",
651
- "content_sha256": "sha256:41935230c5eb30609e28d5e164b99815acc2ada90a67f70543adfa3855ac1b3b",
1025
+ "content_sha256": "sha256:e76aec82e2f0dd7271bb4d8a11330f4ed67038d5b928acf7a67452ccf2aa307c",
652
1026
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G4.yaml"
653
1027
  },
1028
+ {
1029
+ "id": "POLICY.CACHE.SCHEMA_VERSIONING",
1030
+ "path": "policies/policy.cache.schema_versioning.json",
1031
+ "content_sha256": "sha256:4c60adb7ebce74371cd1358aa3b3cfa2aee4e519ebd500a287c8672bfb6dd10b",
1032
+ "source_ref": "package://catalog/policies/policy.cache.schema_versioning.json"
1033
+ },
1034
+ {
1035
+ "id": "POLICY.CFG.CONFIG_ATTRIBUTE_COMPLETENESS",
1036
+ "path": "policies/policy.cfg.config_attribute_completeness.json",
1037
+ "content_sha256": "sha256:29d3999c2ae69df2c61681527d1521760b7b49ffc38be2f729bd389e36b2fdec",
1038
+ "source_ref": "package://catalog/policies/policy.cfg.config_attribute_completeness.json"
1039
+ },
1040
+ {
1041
+ "id": "POLICY.CFG.KEY_RENAME_DUAL_READ",
1042
+ "path": "policies/policy.cfg.key_rename_dual_read.json",
1043
+ "content_sha256": "sha256:b23264c27419148590e574cb7c6e89555bd283b35431dc5a650ff3db41e2c42b",
1044
+ "source_ref": "package://catalog/policies/policy.cfg.key_rename_dual_read.json"
1045
+ },
1046
+ {
1047
+ "id": "POLICY.CFG.NO_SECRET_DISPERSAL",
1048
+ "path": "policies/policy.cfg.no_secret_dispersal.json",
1049
+ "content_sha256": "sha256:894e2ce6f4228d394f443f46dfa97bfc4580a135e36c1d186452a3c0db0784ca",
1050
+ "source_ref": "package://catalog/policies/policy.cfg.no_secret_dispersal.json"
1051
+ },
1052
+ {
1053
+ "id": "POLICY.CFG.PRODUCTION_SAFE_DEFAULTS",
1054
+ "path": "policies/policy.cfg.production_safe_defaults.json",
1055
+ "content_sha256": "sha256:364c19d247e7ae63e66070e4489bbbb8d6a94f54df47f3d2e8e963e71c1d5ec0",
1056
+ "source_ref": "package://catalog/policies/policy.cfg.production_safe_defaults.json"
1057
+ },
1058
+ {
1059
+ "id": "POLICY.CFG.SCHEMA_BACKED_CONFIG",
1060
+ "path": "policies/policy.cfg.schema_backed_config.json",
1061
+ "content_sha256": "sha256:ef305fcd69f641778cdc421d302e67fb4bb0d461813c26d6eff464a4e454f25b",
1062
+ "source_ref": "package://catalog/policies/policy.cfg.schema_backed_config.json"
1063
+ },
654
1064
  {
655
1065
  "id": "POLICY.CHG.AFFECT_TEMPLATES",
656
1066
  "path": "policies/policy.chg.affect_templates.json",
657
- "content_sha256": "sha256:b4d113bcef7a428d4ab9c6f0179f19f7fde3f9abf0ef7640bcf14bf75fe69b40",
1067
+ "content_sha256": "sha256:b2e44677b89a2ae7965a1a5b5f6640052d3cff14fde24f0a1601ba4b0d86c54a",
658
1068
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
659
1069
  },
660
1070
  {
661
1071
  "id": "POLICY.CHG.BREAKING_VERSIONING",
662
1072
  "path": "policies/policy.chg.breaking_versioning.json",
663
- "content_sha256": "sha256:19cae0081fca61d2b54348b88b4a2b4b456727de7f0cd4effcbdf2f1bb85451e",
1073
+ "content_sha256": "sha256:f715e9d1f11bee0cd87d38d1b11dfe00f5b54c69e425007afb4d6f77e127eaf6",
664
1074
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
665
1075
  },
666
1076
  {
667
1077
  "id": "POLICY.CHG.COMPAT_MIGRATION_ROLLBACK",
668
1078
  "path": "policies/policy.chg.compat_migration_rollback.json",
669
- "content_sha256": "sha256:9940a8a608e276a1d1a855086cfce4a25ef0dfbf0b15ad994ff1bbdc783e8cf7",
1079
+ "content_sha256": "sha256:8b67ed67c6f48fa07f3ebd39b0e71c3e7f27c47b33f0c85fe7a38fa6875c9fd0",
670
1080
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
671
1081
  },
672
1082
  {
673
1083
  "id": "POLICY.CHG.DEPRECATE_BEFORE_DELETE",
674
1084
  "path": "policies/policy.chg.deprecate_before_delete.json",
675
- "content_sha256": "sha256:b9f87998d5400b0af2e2a9fcfe9eecaacd2d92c4b4fef4fa45a7189e11bbcdfc",
1085
+ "content_sha256": "sha256:b41e0f193c55b4eda17f012b8add322f29745c712eabb717a03f55909b630202",
676
1086
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
677
1087
  },
678
1088
  {
679
1089
  "id": "POLICY.CHG.FIX_AT_ROOT_CAUSE_LEVEL",
680
1090
  "path": "policies/policy.chg.fix_at_root_cause_level.json",
681
- "content_sha256": "sha256:e5ddc6242ebd9d611c382f20a294b4a172f28b98700bd89ad49cc59ec99f0961",
1091
+ "content_sha256": "sha256:3034bb19c97f0bd165e25348246997f5e2eb0ca935d712045abe212065ea7680",
682
1092
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
683
1093
  },
1094
+ {
1095
+ "id": "POLICY.CHG.NO_UNRELATED_CHANGES",
1096
+ "path": "policies/policy.chg.no_unrelated_changes.json",
1097
+ "content_sha256": "sha256:6fa71d9a21556e5ddd7f2b1f3b42682fe8774de58fae3325d83c2cad3d4b3b47",
1098
+ "source_ref": "package://catalog/policies/policy.chg.no_unrelated_changes.json"
1099
+ },
684
1100
  {
685
1101
  "id": "POLICY.CHG.OBSERVABLE_EVOLUTION",
686
1102
  "path": "policies/policy.chg.observable_evolution.json",
687
- "content_sha256": "sha256:51bc1e3ea738a2c4a277f1195484b24bb410b9f4a21ace0cb3668b958b04122d",
1103
+ "content_sha256": "sha256:2791da08e24da473dc4c8d5d6675cc8eb4b60acba93a7a253587571a00fe3f77",
688
1104
  "source_ref": "pomaster/components/backend-hard-spec/assets/universal/08-contract-change-protocol.md"
689
1105
  },
690
1106
  {
691
1107
  "id": "POLICY.CHG.PRECHANGE_CONSUMER_SCAN",
692
1108
  "path": "policies/policy.chg.prechange_consumer_scan.json",
693
- "content_sha256": "sha256:e2e625878f81f282f2ddfe6f547bbce3d1414f377a80a1f7b7eb2b1aa692f6ea",
1109
+ "content_sha256": "sha256:bb1ffec84c661b9a3c52c7dcc4ae87e87e248d49dbca24ec7fa71d0c71102ff1",
694
1110
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
695
1111
  },
696
1112
  {
697
1113
  "id": "POLICY.CHG.STAGED_ROLLOUT",
698
1114
  "path": "policies/policy.chg.staged_rollout.json",
699
- "content_sha256": "sha256:3a44137a8de1ed95db7da427c3ae7d78a8fe808b2bbfac25ebc2d713ed8ad986",
1115
+ "content_sha256": "sha256:9e54a42fc332c6df6223dc6316f2cd892cfb9bb2903f87970e2b5709fe630a46",
700
1116
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
701
1117
  },
702
1118
  {
703
1119
  "id": "POLICY.CHG.SYNC_CONTRACT_DOCS_TESTS",
704
1120
  "path": "policies/policy.chg.sync_contract_docs_tests.json",
705
- "content_sha256": "sha256:d8a7b163e10d0de226b6eefa1f74fcaec2b1225fa61c3df682e759f5944c1fc2",
1121
+ "content_sha256": "sha256:054f06a1c9410bc69e025cde710b8da72e01e349c3900b65d57ab74e7645ab77",
706
1122
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
707
1123
  },
708
1124
  {
709
1125
  "id": "POLICY.CONFLICT.PRIORITY_LADDER",
710
1126
  "path": "policies/policy.conflict.priority_ladder.json",
711
- "content_sha256": "sha256:c0f3e8fc8d6c9a767cb3568c84bf01aa48f9cf18cdf6a7f4ed956b3f394b7191",
1127
+ "content_sha256": "sha256:29572ced15e5c9e27280031dd2b98a270de56fd6873b4de8e55b694207e4bcc3",
712
1128
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
713
1129
  },
1130
+ {
1131
+ "id": "POLICY.CONTRACT.NO_INVENTED_FACTS",
1132
+ "path": "policies/policy.contract.no_invented_facts.json",
1133
+ "content_sha256": "sha256:f0bde64549b7887f441facd0d747f7becb78f21e3bac1b779070b30e894c0551",
1134
+ "source_ref": "package://catalog/policies/policy.contract.no_invented_facts.json"
1135
+ },
714
1136
  {
715
1137
  "id": "POLICY.DEP.ADMISSION_SIX_DIMENSION_CHECK",
716
1138
  "path": "policies/policy.dep.admission_six_dimension_check.json",
717
- "content_sha256": "sha256:789c44b7a661fc60c6785eea4c68c0d5337ca35525602ee0d90cecdf8a1f9ec1",
1139
+ "content_sha256": "sha256:a455873cb16953571abfff1e2db7caea15e53c367d798ce98320151dd9a8e0fe",
718
1140
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G1.yaml"
719
1141
  },
1142
+ {
1143
+ "id": "POLICY.DEP.BUILD_PATH_SUPPLY_CHAIN",
1144
+ "path": "policies/policy.dep.build_path_supply_chain.json",
1145
+ "content_sha256": "sha256:1bd1751e8c8cb822d4bbbdd82ed658909176ebb45d92afdbd7eca682cfeda3fd",
1146
+ "source_ref": "package://catalog/policies/policy.dep.build_path_supply_chain.json"
1147
+ },
720
1148
  {
721
1149
  "id": "POLICY.DEP.CHANGE_SURFACE_REVIEW",
722
1150
  "path": "policies/policy.dep.change_surface_review.json",
723
- "content_sha256": "sha256:ba8e31a76c2e6dbddeb75294e8a77720bf225f761cd277a4d5cbabfde56aa48b",
1151
+ "content_sha256": "sha256:e6cbf017bf01c4b2837c01458ebd5821f6293fe2cecba25fea3be5eef93dc62a",
724
1152
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
725
1153
  },
726
1154
  {
727
1155
  "id": "POLICY.DEP.INTRODUCTION_REVIEW",
728
1156
  "path": "policies/policy.dep.introduction_review.json",
729
- "content_sha256": "sha256:a1f14397d363055d40444af6d356024fc4c47bfaa7115242959eff111f981bb7",
1157
+ "content_sha256": "sha256:07141959f1d2fde68405e9c0b1bdc51142792dadeff04a6a2cc85231477040b9",
730
1158
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
731
1159
  },
1160
+ {
1161
+ "id": "POLICY.DEP.NO_UNTRUSTED_SOURCE_NO_LOCK_BYPASS",
1162
+ "path": "policies/policy.dep.no_untrusted_source_no_lock_bypass.json",
1163
+ "content_sha256": "sha256:25cb7bde5a102e1145d6cdc3d135b1f1cc0b05c409a7063f2f1d1b542e6cc575",
1164
+ "source_ref": "package://catalog/policies/policy.dep.no_untrusted_source_no_lock_bypass.json"
1165
+ },
1166
+ {
1167
+ "id": "POLICY.DEP.TIME_BOXED_URGENT_EXCEPTION",
1168
+ "path": "policies/policy.dep.time_boxed_urgent_exception.json",
1169
+ "content_sha256": "sha256:7520218fa8e374718a0b9968e2de13f6ca8286c5df58e8b168b57e94b23d1349",
1170
+ "source_ref": "package://catalog/policies/policy.dep.time_boxed_urgent_exception.json"
1171
+ },
1172
+ {
1173
+ "id": "POLICY.DEPLOY.NO_DEV_ENV_AS_PRODUCTION_FACT",
1174
+ "path": "policies/policy.deploy.no_dev_env_as_production_fact.json",
1175
+ "content_sha256": "sha256:f79a711a1df690787a195c762849b8f5233a24dfbfbc68e6c9522bf36a2e3b08",
1176
+ "source_ref": "package://catalog/policies/policy.deploy.no_dev_env_as_production_fact.json"
1177
+ },
1178
+ {
1179
+ "id": "POLICY.DEPLOY.OPERATIONAL_CAPABILITIES",
1180
+ "path": "policies/policy.deploy.operational_capabilities.json",
1181
+ "content_sha256": "sha256:fd84dd3b937de6f4be1225b8392ee7a89203607aa52b0e2440efcbc1c3000976",
1182
+ "source_ref": "package://catalog/policies/policy.deploy.operational_capabilities.json"
1183
+ },
1184
+ {
1185
+ "id": "POLICY.DEPLOY.RUNTIME_FACT_RECORD",
1186
+ "path": "policies/policy.deploy.runtime_fact_record.json",
1187
+ "content_sha256": "sha256:5229c5653639d01e80b107ddc50f509ddda411cb9d49b383cb7d9328548bdab0",
1188
+ "source_ref": "package://catalog/policies/policy.deploy.runtime_fact_record.json"
1189
+ },
732
1190
  {
733
1191
  "id": "POLICY.DERIVED.SINGLE_IMPLEMENTATION",
734
1192
  "path": "policies/policy.derived.single_implementation.json",
735
- "content_sha256": "sha256:46b442c851ba903e165740d92162453408295c2dde8a0a358ca1de414a14d5b6",
1193
+ "content_sha256": "sha256:daf7f387fd934139f3cdcef5830699aa6bd302b3a5d0cf6c5c84a82bf415845a",
736
1194
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/GUIDES.yaml"
737
1195
  },
1196
+ {
1197
+ "id": "POLICY.ERR.FAILURE_FIVE_PART_MAPPING",
1198
+ "path": "policies/policy.err.failure_five_part_mapping.json",
1199
+ "content_sha256": "sha256:b01f298e3b9a00b928785c1c019e001c5ef9399e1af3527731ab4ee46429420f",
1200
+ "source_ref": "package://catalog/policies/policy.err.failure_five_part_mapping.json"
1201
+ },
1202
+ {
1203
+ "id": "POLICY.ERR.NO_INTERNAL_DETAIL_EXPOSURE",
1204
+ "path": "policies/policy.err.no_internal_detail_exposure.json",
1205
+ "content_sha256": "sha256:4ec6b110d3ba42fb4d12ebf5662078ef44112cd727ebb4915617e676593c68aa",
1206
+ "source_ref": "package://catalog/policies/policy.err.no_internal_detail_exposure.json"
1207
+ },
1208
+ {
1209
+ "id": "POLICY.ERR.PUBLISHED_CODE_IMMUTABLE",
1210
+ "path": "policies/policy.err.published_code_immutable.json",
1211
+ "content_sha256": "sha256:7a6331cb059d720b8953028743cfadf3be4f282323d370107a912ba7f90a8a94",
1212
+ "source_ref": "package://catalog/policies/policy.err.published_code_immutable.json"
1213
+ },
1214
+ {
1215
+ "id": "POLICY.EVID.ACCEPTANCE_BINDS_VERIFIABLE_EVIDENCE",
1216
+ "path": "policies/policy.evid.acceptance_binds_verifiable_evidence.json",
1217
+ "content_sha256": "sha256:080e895228689150edb4f3cb24f05428d3e23aa28051e96ae729ddb2bd3eddba",
1218
+ "source_ref": "package://catalog/policies/policy.evid.acceptance_binds_verifiable_evidence.json"
1219
+ },
1220
+ {
1221
+ "id": "POLICY.EVID.NO_SILENT_GATE_REMOVAL",
1222
+ "path": "policies/policy.evid.no_silent_gate_removal.json",
1223
+ "content_sha256": "sha256:11edd4ff67147be9af442692af807156821e00a68c19a12f3a9f612d62eb79e0",
1224
+ "source_ref": "package://catalog/policies/policy.evid.no_silent_gate_removal.json"
1225
+ },
1226
+ {
1227
+ "id": "POLICY.EVID.NO_UNVERIFIABLE_PASS",
1228
+ "path": "policies/policy.evid.no_unverifiable_pass.json",
1229
+ "content_sha256": "sha256:7173259eaa8a628cbebec10592f5e62389ee5e5fe6a598c25fda03d8492211ce",
1230
+ "source_ref": "package://catalog/policies/policy.evid.no_unverifiable_pass.json"
1231
+ },
1232
+ {
1233
+ "id": "POLICY.FLAG.CLEANUP_AFTER_FULL_ROLLOUT",
1234
+ "path": "policies/policy.flag.cleanup_after_full_rollout.json",
1235
+ "content_sha256": "sha256:8c3c5ab972bd64c60ed3e6426144084b5fb43bb07ea0165011f96426fce5e85e",
1236
+ "source_ref": "package://catalog/policies/policy.flag.cleanup_after_full_rollout.json"
1237
+ },
1238
+ {
1239
+ "id": "POLICY.FLAG.CONSISTENT_OFF_STATE",
1240
+ "path": "policies/policy.flag.consistent_off_state.json",
1241
+ "content_sha256": "sha256:1d2941a5a176796f4e2ecc2692814da8f0e6bc1f141fa2616f5f99ed20e4572e",
1242
+ "source_ref": "package://catalog/policies/policy.flag.consistent_off_state.json"
1243
+ },
1244
+ {
1245
+ "id": "POLICY.FLAG.KILL_SWITCH",
1246
+ "path": "policies/policy.flag.kill_switch.json",
1247
+ "content_sha256": "sha256:627820649d0d16636f982170a566e63779f481ec591dc908827b26a3cb9c259e",
1248
+ "source_ref": "package://catalog/policies/policy.flag.kill_switch.json"
1249
+ },
1250
+ {
1251
+ "id": "POLICY.FLAG.LIFECYCLE_METADATA",
1252
+ "path": "policies/policy.flag.lifecycle_metadata.json",
1253
+ "content_sha256": "sha256:6068d63c4ae50f4f825477c24a42b2dcb84cffcf40d084cda80842c807ec8aed",
1254
+ "source_ref": "package://catalog/policies/policy.flag.lifecycle_metadata.json"
1255
+ },
1256
+ {
1257
+ "id": "POLICY.FLAG.NOT_A_PERMISSION",
1258
+ "path": "policies/policy.flag.not_a_permission.json",
1259
+ "content_sha256": "sha256:7e4947ea754ed1174c40fecce930617ae47810d1cf726400221177b2c017fdf7",
1260
+ "source_ref": "package://catalog/policies/policy.flag.not_a_permission.json"
1261
+ },
1262
+ {
1263
+ "id": "POLICY.GATE.P0_NON_BYPASSABLE",
1264
+ "path": "policies/policy.gate.p0_non_bypassable.json",
1265
+ "content_sha256": "sha256:20ab9dad2a430ed97394c3eb3093b39bff7ba696998822793d14e0372e9827ad",
1266
+ "source_ref": "package://catalog/policies/policy.gate.p0_non_bypassable.json"
1267
+ },
1268
+ {
1269
+ "id": "POLICY.GATE.RISK_FACTORS_CONFIRMED",
1270
+ "path": "policies/policy.gate.risk_factors_confirmed.json",
1271
+ "content_sha256": "sha256:8922c87bfa0886194cfedd40aa773aae67bbe16ec549f639862851e080d14cf7",
1272
+ "source_ref": "package://catalog/policies/policy.gate.risk_factors_confirmed.json"
1273
+ },
1274
+ {
1275
+ "id": "POLICY.GUARD.NO_CHECK_WEAKENING",
1276
+ "path": "policies/policy.guard.no_check_weakening.json",
1277
+ "content_sha256": "sha256:1ba4e18fe94b835bac373036a97bceaeb2f2fd39dc4656627d5791724c6afdda",
1278
+ "source_ref": "package://catalog/policies/policy.guard.no_check_weakening.json"
1279
+ },
1280
+ {
1281
+ "id": "POLICY.INTEGRATION.CALL_DEFINITION_MINIMUM",
1282
+ "path": "policies/policy.integration.call_definition_minimum.json",
1283
+ "content_sha256": "sha256:aa47613012e1f83f32780c28ec280bbbf639de0ff224f9c3ab889e073923683d",
1284
+ "source_ref": "package://catalog/policies/policy.integration.call_definition_minimum.json"
1285
+ },
1286
+ {
1287
+ "id": "POLICY.INTEGRATION.FAULT_CONTAINMENT",
1288
+ "path": "policies/policy.integration.fault_containment.json",
1289
+ "content_sha256": "sha256:833ef514c37c07c5930d191e07ba60a156955a9535cd0d3d3525807ce31026f2",
1290
+ "source_ref": "package://catalog/policies/policy.integration.fault_containment.json"
1291
+ },
1292
+ {
1293
+ "id": "POLICY.JOB.LIFECYCLE_DEFINITION",
1294
+ "path": "policies/policy.job.lifecycle_definition.json",
1295
+ "content_sha256": "sha256:63a9aea1a8cb48e2c2ca4a5fcaa860bbf917db98790022085abd1daeb46ccbc4",
1296
+ "source_ref": "package://catalog/policies/policy.job.lifecycle_definition.json"
1297
+ },
1298
+ {
1299
+ "id": "POLICY.JOB.NO_UNMANAGED_EXECUTION",
1300
+ "path": "policies/policy.job.no_unmanaged_execution.json",
1301
+ "content_sha256": "sha256:aaea873c1c3ec504c869935b08a460fce82f34ac94d8aa9697df3142b461f36d",
1302
+ "source_ref": "package://catalog/policies/policy.job.no_unmanaged_execution.json"
1303
+ },
1304
+ {
1305
+ "id": "POLICY.JOB.OPERATIONAL_FEATURES",
1306
+ "path": "policies/policy.job.operational_features.json",
1307
+ "content_sha256": "sha256:2740f46093f56c71441637cfc9cf5913dabf6322a990847f3f85c570fc4b9217",
1308
+ "source_ref": "package://catalog/policies/policy.job.operational_features.json"
1309
+ },
1310
+ {
1311
+ "id": "POLICY.OBS.ACTIONABLE_SIGNALS",
1312
+ "path": "policies/policy.obs.actionable_signals.json",
1313
+ "content_sha256": "sha256:6ded19ec34c26ff969268f98a195664a06f736b3f2f53f615b0af7bf4cec680e",
1314
+ "source_ref": "package://catalog/policies/policy.obs.actionable_signals.json"
1315
+ },
1316
+ {
1317
+ "id": "POLICY.OBS.ALERT_WITH_OWNER",
1318
+ "path": "policies/policy.obs.alert_with_owner.json",
1319
+ "content_sha256": "sha256:7c466413e3d28c8727f60ff9b52ff7c6229ad479fa3397d9a387d3f5d6cb0b3c",
1320
+ "source_ref": "package://catalog/policies/policy.obs.alert_with_owner.json"
1321
+ },
1322
+ {
1323
+ "id": "POLICY.OBS.CONTEXT_FIELD_BASELINE",
1324
+ "path": "policies/policy.obs.context_field_baseline.json",
1325
+ "content_sha256": "sha256:18b2086c62c99a70ec83760b1526da94400e50f8d363085425bc334672f04a22",
1326
+ "source_ref": "package://catalog/policies/policy.obs.context_field_baseline.json"
1327
+ },
738
1328
  {
739
1329
  "id": "POLICY.OBS.CORRELATION_CONTEXT_MINIMUM",
740
1330
  "path": "policies/policy.obs.correlation_context_minimum.json",
741
- "content_sha256": "sha256:50069a77ebef43041521a26808137b8d2cf5fdc5e85b2457df5687ed0c805473",
1331
+ "content_sha256": "sha256:4d764d66e7bbcf9475c9939bfcb75c6aa8d9e6f335794f39289a28416ac8ea8e",
742
1332
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G4.yaml"
743
1333
  },
1334
+ {
1335
+ "id": "POLICY.OBS.NO_SENSITIVE_OR_UNBOUNDED_LOGGING",
1336
+ "path": "policies/policy.obs.no_sensitive_or_unbounded_logging.json",
1337
+ "content_sha256": "sha256:65cf2ba0017cae6e76879b0cad0b363414c2ab6f14b2b70152fe95deeebb8d03",
1338
+ "source_ref": "package://catalog/policies/policy.obs.no_sensitive_or_unbounded_logging.json"
1339
+ },
1340
+ {
1341
+ "id": "POLICY.OBS.NO_SENSITIVE_RAW_VALUES",
1342
+ "path": "policies/policy.obs.no_sensitive_raw_values.json",
1343
+ "content_sha256": "sha256:9fb21eb483bc0eb2dae8004dc57a64705a82125ed5c80c783520e030a697f883",
1344
+ "source_ref": "package://catalog/policies/policy.obs.no_sensitive_raw_values.json"
1345
+ },
744
1346
  {
745
1347
  "id": "POLICY.OBS.RUM_DIMENSION_WHITELIST",
746
1348
  "path": "policies/policy.obs.rum_dimension_whitelist.json",
747
- "content_sha256": "sha256:991ef5189f8ae6c15e730e7aa0873f44524e516bc2bbaa7d840271d59f17a0fa",
1349
+ "content_sha256": "sha256:be0a8d5573a25a0fc1ed0dfdb10b5a5fd2ea2e802f89966efef5265c8da8e802",
748
1350
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
749
1351
  },
1352
+ {
1353
+ "id": "POLICY.OBS.SIGNAL_CHANGE_IMPACT",
1354
+ "path": "policies/policy.obs.signal_change_impact.json",
1355
+ "content_sha256": "sha256:597ae4c0579036e61bc294fae67b59079887feec5c4d7100e8724f1449a9624d",
1356
+ "source_ref": "package://catalog/policies/policy.obs.signal_change_impact.json"
1357
+ },
1358
+ {
1359
+ "id": "POLICY.OBS.SOURCE_MAP_ACCESS_CONTROL",
1360
+ "path": "policies/policy.obs.source_map_access_control.json",
1361
+ "content_sha256": "sha256:4ee2cd86512b177a6b2ba358385323f6310fdaf34a8071cf4d50ff7f93187925",
1362
+ "source_ref": "package://catalog/policies/policy.obs.source_map_access_control.json"
1363
+ },
1364
+ {
1365
+ "id": "POLICY.OBS.TELEMETRY_LIFECYCLE_DECLARED",
1366
+ "path": "policies/policy.obs.telemetry_lifecycle_declared.json",
1367
+ "content_sha256": "sha256:a3d14368e2e2f2f638b8d67f3dd1d4ce7b89aa0da75fa85adac8a68247fb6185",
1368
+ "source_ref": "package://catalog/policies/policy.obs.telemetry_lifecycle_declared.json"
1369
+ },
1370
+ {
1371
+ "id": "POLICY.OBS.TRACE_CORRELATION",
1372
+ "path": "policies/policy.obs.trace_correlation.json",
1373
+ "content_sha256": "sha256:0a193358a963f9948e13906f28075b1657b0f1a1279ecb8566bee3e6e481e5a5",
1374
+ "source_ref": "package://catalog/policies/policy.obs.trace_correlation.json"
1375
+ },
1376
+ {
1377
+ "id": "POLICY.PERF.BUDGET_CHANGE_RETEST",
1378
+ "path": "policies/policy.perf.budget_change_retest.json",
1379
+ "content_sha256": "sha256:0855f91f112b2e1d182c5db336c5cbd0fc1376d63f1a744be4799f6c0c397ca7",
1380
+ "source_ref": "package://catalog/policies/policy.perf.budget_change_retest.json"
1381
+ },
1382
+ {
1383
+ "id": "POLICY.PERF.EVIDENCE_BINDING",
1384
+ "path": "policies/policy.perf.evidence_binding.json",
1385
+ "content_sha256": "sha256:c423e2a47348855e87c2ee5ba73f3b208e3038260cf091922781b0001047ba1a",
1386
+ "source_ref": "package://catalog/policies/policy.perf.evidence_binding.json"
1387
+ },
1388
+ {
1389
+ "id": "POLICY.PERF.OBSERVATION_DIMENSIONS",
1390
+ "path": "policies/policy.perf.observation_dimensions.json",
1391
+ "content_sha256": "sha256:7e8a784b4f6c47e7112b0e4c97ad93b677203394a1e1ce6b96301c8bd106133e",
1392
+ "source_ref": "package://catalog/policies/policy.perf.observation_dimensions.json"
1393
+ },
1394
+ {
1395
+ "id": "POLICY.PROC.CHECKLIST_CHANGE_POLICY",
1396
+ "path": "policies/policy.proc.checklist_change_policy.json",
1397
+ "content_sha256": "sha256:2b17a6b7ac5324980f5520fc9c013855a03a87e334c2a28fa15ddc02f7d76e25",
1398
+ "source_ref": "package://catalog/policies/policy.proc.checklist_change_policy.json"
1399
+ },
750
1400
  {
751
1401
  "id": "POLICY.PROC.PRE_CODE_DECLARATION",
752
1402
  "path": "policies/policy.proc.pre_code_declaration.json",
753
- "content_sha256": "sha256:d32e2bf8c544aa203f46d4880181c3a4fd0b65fbfb80a940902dc73b1b0a6943",
1403
+ "content_sha256": "sha256:25bec1449f13a19b7ed366889fac0e447a87c7f8a823685255d4bc5c12ad8c97",
754
1404
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
755
1405
  },
1406
+ {
1407
+ "id": "POLICY.PROC.SCOPE_DRIFT_RECLASSIFY",
1408
+ "path": "policies/policy.proc.scope_drift_reclassify.json",
1409
+ "content_sha256": "sha256:21d52844470008620a9358e6da9093a0b34e3eb3c7c9b44e760af19015f318fd",
1410
+ "source_ref": "package://catalog/policies/policy.proc.scope_drift_reclassify.json"
1411
+ },
1412
+ {
1413
+ "id": "POLICY.PRV.PROCESSING_SCOPE_RE_REVIEW",
1414
+ "path": "policies/policy.prv.processing_scope_re_review.json",
1415
+ "content_sha256": "sha256:f43c03110e51ae88faf5cac672cff9bcba62d4d9f584870e0673ba73a65ad43b",
1416
+ "source_ref": "package://catalog/policies/policy.prv.processing_scope_re_review.json"
1417
+ },
1418
+ {
1419
+ "id": "POLICY.PRV.SENSITIVE_DATA_SIX_FACTS",
1420
+ "path": "policies/policy.prv.sensitive_data_six_facts.json",
1421
+ "content_sha256": "sha256:a8b0f74d06feca30c472a8acc81ab901d51cb23432a1d3eb3c3eb1a7d7812dfe",
1422
+ "source_ref": "package://catalog/policies/policy.prv.sensitive_data_six_facts.json"
1423
+ },
1424
+ {
1425
+ "id": "POLICY.REGISTRY.HUMAN_FIELDS_VALIDATED_DECORRELATED",
1426
+ "path": "policies/policy.registry.human_fields_validated_decorrelated.json",
1427
+ "content_sha256": "sha256:c1f323db29cbaceb67c0883c5e4a437d9a1cb41a0e9fe0ba1e3196f1e6ac0bc6",
1428
+ "source_ref": "package://catalog/policies/policy.registry.human_fields_validated_decorrelated.json"
1429
+ },
1430
+ {
1431
+ "id": "POLICY.REL.NO_IRREVERSIBLE_UNMONITORED_FULL_RELEASE",
1432
+ "path": "policies/policy.rel.no_irreversible_unmonitored_full_release.json",
1433
+ "content_sha256": "sha256:6fdac4023566e4e54cd66070923191828963bdfde1000ab8a3aed76c6194fa5b",
1434
+ "source_ref": "package://catalog/policies/policy.rel.no_irreversible_unmonitored_full_release.json"
1435
+ },
1436
+ {
1437
+ "id": "POLICY.REL.OBSERVABILITY_BEFORE_SHIP",
1438
+ "path": "policies/policy.rel.observability_before_ship.json",
1439
+ "content_sha256": "sha256:4699561e79c77874e2a0407b1efd1eaacb69a77464698b83dee77ed4958474e2",
1440
+ "source_ref": "package://catalog/policies/policy.rel.observability_before_ship.json"
1441
+ },
756
1442
  {
757
1443
  "id": "POLICY.REL.PRE_RELEASE_CONFIRMATION",
758
1444
  "path": "policies/policy.rel.pre_release_confirmation.json",
759
- "content_sha256": "sha256:1837323cd3674f5a01a29b13422b877ea03e8a5a00829cff0d6a75024f907f6d",
1445
+ "content_sha256": "sha256:b4579adf68c108a68093474a91e3d48caa44cd989e11cfdaa4a5c6cd7ab07d8e",
760
1446
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G1.yaml"
761
1447
  },
1448
+ {
1449
+ "id": "POLICY.REL.PROCESS_CHANGE_NEEDS_DRILL_AUDIT",
1450
+ "path": "policies/policy.rel.process_change_needs_drill_audit.json",
1451
+ "content_sha256": "sha256:e7967aa091d025d8214d699a130ead9772702e4fdf08c77f1ea2927b28536085",
1452
+ "source_ref": "package://catalog/policies/policy.rel.process_change_needs_drill_audit.json"
1453
+ },
1454
+ {
1455
+ "id": "POLICY.REL.TRACEABLE_BUILD",
1456
+ "path": "policies/policy.rel.traceable_build.json",
1457
+ "content_sha256": "sha256:27552d868a1cc381d40ce54f5252fabb817ae9cce29161520f8d4e128b538f63",
1458
+ "source_ref": "package://catalog/policies/policy.rel.traceable_build.json"
1459
+ },
762
1460
  {
763
1461
  "id": "POLICY.ROLE.DOMAIN_DECISION_AUTHORITY",
764
1462
  "path": "policies/policy.role.domain_decision_authority.json",
765
- "content_sha256": "sha256:635a7607dd0305046fbe42431ae6e97b41665acea94fad6af80395339f23278a",
1463
+ "content_sha256": "sha256:986615dcb29b581e7ed06d80ce6bcdca87d4d0d927df71eeaf4a9e41da497a96",
766
1464
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
767
1465
  },
1466
+ {
1467
+ "id": "POLICY.ROLE.HUMAN_SIGNS_FOR_AI",
1468
+ "path": "policies/policy.role.human_signs_for_ai.json",
1469
+ "content_sha256": "sha256:febbc42cebbdee983251cae37c21380bf2eb6127659a9828329aeb4859717e62",
1470
+ "source_ref": "package://catalog/policies/policy.role.human_signs_for_ai.json"
1471
+ },
1472
+ {
1473
+ "id": "POLICY.SEC.AUTHN_POLICY_UNIFIED",
1474
+ "path": "policies/policy.sec.authn_policy_unified.json",
1475
+ "content_sha256": "sha256:1da34cab89a731cad49dd2e6c788aa94407c40a9a140bc677343913f64ed1fbb",
1476
+ "source_ref": "package://catalog/policies/policy.sec.authn_policy_unified.json"
1477
+ },
1478
+ {
1479
+ "id": "POLICY.SEC.NO_CLIENT_SIDE_TRUST",
1480
+ "path": "policies/policy.sec.no_client_side_trust.json",
1481
+ "content_sha256": "sha256:4ca06f88f15ac7ca5120736142491c43757796085ff55fd5b453c4b3fb0b201d",
1482
+ "source_ref": "package://catalog/policies/policy.sec.no_client_side_trust.json"
1483
+ },
1484
+ {
1485
+ "id": "POLICY.SEC.NO_LONGTERM_SECURITY_DISABLE",
1486
+ "path": "policies/policy.sec.no_longterm_security_disable.json",
1487
+ "content_sha256": "sha256:5a3ac40f8b4e7b884703c669d0e3e4a28a7b7aa14c9570bb24d4e16b7f8811cd",
1488
+ "source_ref": "package://catalog/policies/policy.sec.no_longterm_security_disable.json"
1489
+ },
1490
+ {
1491
+ "id": "POLICY.SEC.NO_SCRIPT_READABLE_CREDENTIALS",
1492
+ "path": "policies/policy.sec.no_script_readable_credentials.json",
1493
+ "content_sha256": "sha256:9c892e1b8b1cc516f2194ede3265fef3733c0b8ce4214723ce7f4fd8ef64ad21",
1494
+ "source_ref": "package://catalog/policies/policy.sec.no_script_readable_credentials.json"
1495
+ },
1496
+ {
1497
+ "id": "POLICY.SEC.NO_SECRETS_IN_CLIENT_SURFACE",
1498
+ "path": "policies/policy.sec.no_secrets_in_client_surface.json",
1499
+ "content_sha256": "sha256:f99caa3ca7bf775126ae46b68738a8894d0905233325e407237a894340b39191",
1500
+ "source_ref": "package://catalog/policies/policy.sec.no_secrets_in_client_surface.json"
1501
+ },
1502
+ {
1503
+ "id": "POLICY.SEC.RELAXATION_APPROVAL",
1504
+ "path": "policies/policy.sec.relaxation_approval.json",
1505
+ "content_sha256": "sha256:5fb20bd46ca2abde7d6a22a318c8dd45039c64356be7bba3f05cb45e8988b627",
1506
+ "source_ref": "package://catalog/policies/policy.sec.relaxation_approval.json"
1507
+ },
1508
+ {
1509
+ "id": "POLICY.SEC.SECURITY_RELAXATION_GATE",
1510
+ "path": "policies/policy.sec.security_relaxation_gate.json",
1511
+ "content_sha256": "sha256:66ce0866674aaab4f8466dc17c366d4886ec40eadd29d6cef0c768c669d1239e",
1512
+ "source_ref": "package://catalog/policies/policy.sec.security_relaxation_gate.json"
1513
+ },
768
1514
  {
769
1515
  "id": "POLICY.SEC.THIRD_PARTY_EXECUTION_REGISTER",
770
1516
  "path": "policies/policy.sec.third_party_execution_register.json",
771
- "content_sha256": "sha256:a87b0f4ffbd1a7eb3b2fca73d94c4cca51925379b0348fa67ac28e241c33feef",
1517
+ "content_sha256": "sha256:5a2fa2a09ee744b814a6ea69a4bf888e8b960b613365b22c5a96442f77aa8934",
772
1518
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
773
1519
  },
1520
+ {
1521
+ "id": "POLICY.SEC.TRUST_BOUNDARY_ENFORCEMENT",
1522
+ "path": "policies/policy.sec.trust_boundary_enforcement.json",
1523
+ "content_sha256": "sha256:33e85b6d1133a5bfb7d24f86d940b2f90ab9ea82ca1dea7c98d08a76e7669c12",
1524
+ "source_ref": "package://catalog/policies/policy.sec.trust_boundary_enforcement.json"
1525
+ },
1526
+ {
1527
+ "id": "POLICY.SEC.UPLOAD_DOWNLOAD_SERVER_RECHECK",
1528
+ "path": "policies/policy.sec.upload_download_server_recheck.json",
1529
+ "content_sha256": "sha256:53f1a1ffd39a9ae930da445363e7bead7dfaf498d781f2db1acbfe0a063d5c8e",
1530
+ "source_ref": "package://catalog/policies/policy.sec.upload_download_server_recheck.json"
1531
+ },
1532
+ {
1533
+ "id": "POLICY.SEC.URL_SOURCE_ALLOWLIST",
1534
+ "path": "policies/policy.sec.url_source_allowlist.json",
1535
+ "content_sha256": "sha256:0d01c92c8796ea3875dafbbf826f1a47ebc03c690943e1ff8314db74e0bc330b",
1536
+ "source_ref": "package://catalog/policies/policy.sec.url_source_allowlist.json"
1537
+ },
774
1538
  {
775
1539
  "id": "POLICY.SPEC.ADMISSION_CRITERIA",
776
1540
  "path": "policies/policy.spec.admission_criteria.json",
777
- "content_sha256": "sha256:8512e88b7003040c6d176345ffbe4e077435ea166b7b358a5c580e8f3c37d58f",
1541
+ "content_sha256": "sha256:ccb3349abe97e26c2471582f3139c8d6d3a4536f77deeea085a4a8fb502a43aa",
778
1542
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
779
1543
  },
780
1544
  {
781
1545
  "id": "POLICY.SPEC.DERIVED_VIEW_REGENERATION",
782
1546
  "path": "policies/policy.spec.derived_view_regeneration.json",
783
- "content_sha256": "sha256:c979686e6f2dcc5857644b1c151b2099b697af512335c7bda37123155e2594b4",
1547
+ "content_sha256": "sha256:59ec61f3b1afdc36f1bf0bc3b32d96b3d83963a4e9e7b37df49c030ede44d716",
784
1548
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G4.yaml"
785
1549
  },
786
1550
  {
787
1551
  "id": "POLICY.SPEC.DRAFT_NOT_BASELINE",
788
1552
  "path": "policies/policy.spec.draft_not_baseline.json",
789
- "content_sha256": "sha256:abfcca9c3730a08454f1adaebf6ef8c9d2d2b92b24683b3310f8fb74909df3c2",
1553
+ "content_sha256": "sha256:871690ecd796b782fe4f750c29dc5354c5c2f0d69a6df6d5c57d03e759b88ab7",
790
1554
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
791
1555
  },
1556
+ {
1557
+ "id": "POLICY.SPEC.FAMILY_CONFLICT_PRECEDENCE",
1558
+ "path": "policies/policy.spec.family_conflict_precedence.json",
1559
+ "content_sha256": "sha256:dd3e8bc99041a2f45bb772a407b1ad6ff6ee5021d2b71c037832b1e0f0610f9b",
1560
+ "source_ref": "package://catalog/policies/policy.spec.family_conflict_precedence.json"
1561
+ },
792
1562
  {
793
1563
  "id": "POLICY.SPEC.FILE_STRUCTURE_CONTRACT",
794
1564
  "path": "policies/policy.spec.file_structure_contract.json",
795
- "content_sha256": "sha256:0a2265eee325f1fc748ffc3f649e11e1a54c42a87a18be9aadf57bbabedf1e2b",
1565
+ "content_sha256": "sha256:452d9e8ada9330a5d647fb254d7ff6c85f4d97cc210365b7b861bd1761e01014",
796
1566
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
797
1567
  },
1568
+ {
1569
+ "id": "POLICY.SPEC.FREEZE_BEFORE_USE",
1570
+ "path": "policies/policy.spec.freeze_before_use.json",
1571
+ "content_sha256": "sha256:ea7d1d2143e0aefc304702aad9222fc1dd65df6ce041fde614330f2ecc8b3006",
1572
+ "source_ref": "package://catalog/policies/policy.spec.freeze_before_use.json"
1573
+ },
798
1574
  {
799
1575
  "id": "POLICY.SPEC.METADATA_REQUIRED",
800
1576
  "path": "policies/policy.spec.metadata_required.json",
801
- "content_sha256": "sha256:35a16c6ed12adc464c15984cb5cc2277924ef2067b5d851eab79976210140c6e",
1577
+ "content_sha256": "sha256:230bc1a4614777d0da799f374ae257911ab72a27f8a88bbe708ebbcbdf1e1602",
802
1578
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
803
1579
  },
804
1580
  {
805
1581
  "id": "POLICY.SPEC.POST_DEV_BACKFILL_CLASSIFY",
806
1582
  "path": "policies/policy.spec.post_dev_backfill_classify.json",
807
- "content_sha256": "sha256:b1b014d2f9761141c8066c0907581d8cae4a6e003fa12c8c22dd4132207527f8",
1583
+ "content_sha256": "sha256:255a22c6949cfb9d753d389f4f98f9f24a73210e66d12987e4fea22a8e3ba3c1",
808
1584
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
809
1585
  },
1586
+ {
1587
+ "id": "POLICY.SPEC.PRIMARY_SOURCE_BASIS",
1588
+ "path": "policies/policy.spec.primary_source_basis.json",
1589
+ "content_sha256": "sha256:54b664aab15ce94b77dfe2ccbee7be5e8e3054c0ddbed319e65e1a501f7c2d68",
1590
+ "source_ref": "package://catalog/policies/policy.spec.primary_source_basis.json"
1591
+ },
810
1592
  {
811
1593
  "id": "POLICY.SPEC.PROCEDURAL_RECORD_NOT_SURROGATE",
812
1594
  "path": "policies/policy.spec.procedural_record_not_surrogate.json",
813
- "content_sha256": "sha256:3d1a3f2a469cd8b13d9b1627bd3730cd3f0080712890bdbfdea1ad619e6dc7c4",
1595
+ "content_sha256": "sha256:45830125c62a6cd4550be46b8d6143f7eb2eaf1ca2b3cd3040c5b64983846431",
814
1596
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
815
1597
  },
816
1598
  {
817
1599
  "id": "POLICY.SPEC.SEMANTIC_IDENTITY",
818
1600
  "path": "policies/policy.spec.semantic_identity.json",
819
- "content_sha256": "sha256:aa1122f51aff6ad8097df48121e8a6d5f4e81bf6544f98025ff742318b8b4bb9",
1601
+ "content_sha256": "sha256:1dece51125c5af40ff61f7ada1b512f62fe17e08b60fc9c3f9bd5958011c1d7d",
820
1602
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
821
1603
  },
822
1604
  {
823
1605
  "id": "POLICY.SPEC.UNRESOLVED_LEDGER_GATE",
824
1606
  "path": "policies/policy.spec.unresolved_ledger_gate.json",
825
- "content_sha256": "sha256:a68e15bc4fd2c1a26e54da0175b74c74486680bda24db7db950d635b40e5e120",
1607
+ "content_sha256": "sha256:c7cd10d7f02a8af1131c50de086f671337005a3bf7a15fea8329f5b8c1b77c71",
826
1608
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G4.yaml"
827
1609
  },
1610
+ {
1611
+ "id": "POLICY.STACK.DERIVED_STORE_NOT_AUTHORITY",
1612
+ "path": "policies/policy.stack.derived_store_not_authority.json",
1613
+ "content_sha256": "sha256:8ff0c9bff78d71bd06b6738d7bbee46474794de07357fa70a36702ec39406435",
1614
+ "source_ref": "package://catalog/policies/policy.stack.derived_store_not_authority.json"
1615
+ },
1616
+ {
1617
+ "id": "POLICY.STACK.DUAL_WEB_STACK_BOUNDARY",
1618
+ "path": "policies/policy.stack.dual_web_stack_boundary.json",
1619
+ "content_sha256": "sha256:8696752a211f3d5193fdab771fb3f7675409e949a0b3ab527c5bee533696f9ca",
1620
+ "source_ref": "package://catalog/policies/policy.stack.dual_web_stack_boundary.json"
1621
+ },
1622
+ {
1623
+ "id": "POLICY.STACK.ENTRY_CHAIN_RECORDED",
1624
+ "path": "policies/policy.stack.entry_chain_recorded.json",
1625
+ "content_sha256": "sha256:5655859ced746d0cca13f87e896680cebfcb4ad1b7b27a69c3499f7a3dd20b3e",
1626
+ "source_ref": "package://catalog/policies/policy.stack.entry_chain_recorded.json"
1627
+ },
1628
+ {
1629
+ "id": "POLICY.STACK.ENTRY_LIMITS_ALIGNED",
1630
+ "path": "policies/policy.stack.entry_limits_aligned.json",
1631
+ "content_sha256": "sha256:fb2e53fd3a599fecb11896c99bd5805d8a4ba0e020bdae6452dcdfe3977d1944",
1632
+ "source_ref": "package://catalog/policies/policy.stack.entry_limits_aligned.json"
1633
+ },
1634
+ {
1635
+ "id": "POLICY.STACK.LOCAL_FORM_NOT_PROD_FACT",
1636
+ "path": "policies/policy.stack.local_form_not_prod_fact.json",
1637
+ "content_sha256": "sha256:2bcc0e65480a27ab29956b7dcdd0b744297cf097d49677f094f05c4e1a21fe64",
1638
+ "source_ref": "package://catalog/policies/policy.stack.local_form_not_prod_fact.json"
1639
+ },
1640
+ {
1641
+ "id": "POLICY.STACK.MULTI_DATASTORE_OWNERSHIP",
1642
+ "path": "policies/policy.stack.multi_datastore_ownership.json",
1643
+ "content_sha256": "sha256:63ee92800d6670e7bd98cba54dc1112a96eb5819ba8178bf3df3ddd3bf8e94f2",
1644
+ "source_ref": "package://catalog/policies/policy.stack.multi_datastore_ownership.json"
1645
+ },
828
1646
  {
829
1647
  "id": "POLICY.STACK.NO_IMPLICIT_SELECTION",
830
1648
  "path": "policies/policy.stack.no_implicit_selection.json",
831
- "content_sha256": "sha256:42058339a4e003d8c9765c2d9d5ffde20f7f0528c6ee56eef998ef710f30193b",
1649
+ "content_sha256": "sha256:9764eef31a5f5feaa65b133caa53a9bbca9c783b9d5b06678fe2a5991c407710",
832
1650
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/BE-G5.yaml"
833
1651
  },
1652
+ {
1653
+ "id": "POLICY.STACK.PERSISTENCE_COEXISTENCE_SCOPE",
1654
+ "path": "policies/policy.stack.persistence_coexistence_scope.json",
1655
+ "content_sha256": "sha256:f90a373d6262c5e1a998766c4f11fde619c3a5eba718a9ae4af0f90c5f7e4e96",
1656
+ "source_ref": "package://catalog/policies/policy.stack.persistence_coexistence_scope.json"
1657
+ },
1658
+ {
1659
+ "id": "POLICY.STACK.TOOLCHAIN_VERSIONS_PINNED",
1660
+ "path": "policies/policy.stack.toolchain_versions_pinned.json",
1661
+ "content_sha256": "sha256:93fe5da4c6f2f9d1e8a6e11b9a1d0b375194d5e459c772eddc5dbe159fb87b03",
1662
+ "source_ref": "package://catalog/policies/policy.stack.toolchain_versions_pinned.json"
1663
+ },
1664
+ {
1665
+ "id": "POLICY.STACK.UPGRADE_COMPAT_VERIFIED",
1666
+ "path": "policies/policy.stack.upgrade_compat_verified.json",
1667
+ "content_sha256": "sha256:46f2ecbeafd12eece42863fe5c76d82778f38e6696e6db3b208b59aef8cd110a",
1668
+ "source_ref": "package://catalog/policies/policy.stack.upgrade_compat_verified.json"
1669
+ },
1670
+ {
1671
+ "id": "POLICY.STRUCT.MODULE_ENTRY_DEPENDENCY_DECLARED",
1672
+ "path": "policies/policy.struct.module_entry_dependency_declared.json",
1673
+ "content_sha256": "sha256:29f0dfb0e88ce815a4d380aff1228d5b3f637e61a53b518b0ce6e5701a700601",
1674
+ "source_ref": "package://catalog/policies/policy.struct.module_entry_dependency_declared.json"
1675
+ },
1676
+ {
1677
+ "id": "POLICY.STRUCT.NO_UNEXPLAINED_TOP_LEVEL_DIR",
1678
+ "path": "policies/policy.struct.no_unexplained_top_level_dir.json",
1679
+ "content_sha256": "sha256:1d1488fbb105139b4c4a19f7f0e2d463892bbd130bf0abba025e193fc7835200",
1680
+ "source_ref": "package://catalog/policies/policy.struct.no_unexplained_top_level_dir.json"
1681
+ },
1682
+ {
1683
+ "id": "POLICY.STRUCT.REUSE_PROVEN_STRUCTURE",
1684
+ "path": "policies/policy.struct.reuse_proven_structure.json",
1685
+ "content_sha256": "sha256:b53c7b71d65aca2597f9ca45f37753701513d91b7cd1dfe78a4a64f4d18614b3",
1686
+ "source_ref": "package://catalog/policies/policy.struct.reuse_proven_structure.json"
1687
+ },
1688
+ {
1689
+ "id": "POLICY.TEST.CONTROL_NONDETERMINISM_KEEP_DIAGNOSIS",
1690
+ "path": "policies/policy.test.control_nondeterminism_keep_diagnosis.json",
1691
+ "content_sha256": "sha256:83af75a16c5acb62cd1e8a0a19599a0957344b056385e72062e5c42d2599ba36",
1692
+ "source_ref": "package://catalog/policies/policy.test.control_nondeterminism_keep_diagnosis.json"
1693
+ },
1694
+ {
1695
+ "id": "POLICY.TEST.ISOLATION_AND_CLEANUP",
1696
+ "path": "policies/policy.test.isolation_and_cleanup.json",
1697
+ "content_sha256": "sha256:3f48cd70546cff7583d7d8d472b7ae0430be6354c190dd244d8b1a19b4997a80",
1698
+ "source_ref": "package://catalog/policies/policy.test.isolation_and_cleanup.json"
1699
+ },
1700
+ {
1701
+ "id": "POLICY.TEST.NO_SYNTHETIC_STABILITY",
1702
+ "path": "policies/policy.test.no_synthetic_stability.json",
1703
+ "content_sha256": "sha256:5cbd06d941a3b27fe54f6987a22e0a6b186b024983d8709742db3d624172028d",
1704
+ "source_ref": "package://catalog/policies/policy.test.no_synthetic_stability.json"
1705
+ },
1706
+ {
1707
+ "id": "POLICY.TEST.PYRAMID_AND_CI_MATRIX",
1708
+ "path": "policies/policy.test.pyramid_and_ci_matrix.json",
1709
+ "content_sha256": "sha256:dffa808da8b4580b42ba6bc7311a9c691b8c1dd01d2768fd36f27350c0f91e64",
1710
+ "source_ref": "package://catalog/policies/policy.test.pyramid_and_ci_matrix.json"
1711
+ },
1712
+ {
1713
+ "id": "POLICY.TEST.REMOVAL_JUSTIFICATION",
1714
+ "path": "policies/policy.test.removal_justification.json",
1715
+ "content_sha256": "sha256:9d5b3c8dc22acf8935251d7fadb89e11832e21e0f2c1cd22629b380008ff9ded",
1716
+ "source_ref": "package://catalog/policies/policy.test.removal_justification.json"
1717
+ },
1718
+ {
1719
+ "id": "POLICY.TEST.REMOVAL_NEEDS_SUBSTITUTE_EVIDENCE",
1720
+ "path": "policies/policy.test.removal_needs_substitute_evidence.json",
1721
+ "content_sha256": "sha256:58295fb057b4c9fbdacb0557626ab306c912081aa3a06c21f35ece48ef799557",
1722
+ "source_ref": "package://catalog/policies/policy.test.removal_needs_substitute_evidence.json"
1723
+ },
1724
+ {
1725
+ "id": "POLICY.TEST.RISK_DRIVEN_PLAN",
1726
+ "path": "policies/policy.test.risk_driven_plan.json",
1727
+ "content_sha256": "sha256:8344a23c2c86a12322f65b36ce61a442f079edd3932ff2d5beac54d8510a9f00",
1728
+ "source_ref": "package://catalog/policies/policy.test.risk_driven_plan.json"
1729
+ },
1730
+ {
1731
+ "id": "POLICY.TEST.STABLE_OBSERVABLE_ASSERTIONS",
1732
+ "path": "policies/policy.test.stable_observable_assertions.json",
1733
+ "content_sha256": "sha256:482715885d3cfb909c572a2007e4a3f884adf162ab466a65e813d60051fab8ed",
1734
+ "source_ref": "package://catalog/policies/policy.test.stable_observable_assertions.json"
1735
+ },
1736
+ {
1737
+ "id": "POLICY.TOOL.DISCOVERABLE_TOOLCHAIN",
1738
+ "path": "policies/policy.tool.discoverable_toolchain.json",
1739
+ "content_sha256": "sha256:80078ec0eae476fc1cb97ac7d0dc8033c2c5db8aa1c1b2a901f496ad6e2ae481",
1740
+ "source_ref": "package://catalog/policies/policy.tool.discoverable_toolchain.json"
1741
+ },
1742
+ {
1743
+ "id": "POLICY.TOOL.NO_HAND_EDIT_GENERATED_NO_CI_DRIFT",
1744
+ "path": "policies/policy.tool.no_hand_edit_generated_no_ci_drift.json",
1745
+ "content_sha256": "sha256:92b678e5d048045095394243dbb0a7e740860c4b866bbfc55550504587c7e18e",
1746
+ "source_ref": "package://catalog/policies/policy.tool.no_hand_edit_generated_no_ci_drift.json"
1747
+ },
1748
+ {
1749
+ "id": "POLICY.TOOL.NO_VENDORED_BODY_EDITS",
1750
+ "path": "policies/policy.tool.no_vendored_body_edits.json",
1751
+ "content_sha256": "sha256:4a2a944e0f08d731d8ee6d85cd870a1ad9e268119939b70f84f60a68536c32b1",
1752
+ "source_ref": "package://catalog/policies/policy.tool.no_vendored_body_edits.json"
1753
+ },
834
1754
  {
835
1755
  "id": "POLICY.TOOL.SCOPED_SCAN_BOUNDARY",
836
1756
  "path": "policies/policy.tool.scoped_scan_boundary.json",
837
- "content_sha256": "sha256:696ec965298e8cce7257875cb0401535a48b4f00527a552404b24d845c60a368",
1757
+ "content_sha256": "sha256:a89e377b437a1bfa676ec2d29c4d005a5e0ccc0c85895f3126f0d683f677108d",
838
1758
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G1.yaml"
839
1759
  },
1760
+ {
1761
+ "id": "POLICY.TOOL.UPGRADE_VERIFY_LOCK_ROLLBACK",
1762
+ "path": "policies/policy.tool.upgrade_verify_lock_rollback.json",
1763
+ "content_sha256": "sha256:64a9c1012949debd9e1c58c46766283d5949332848a2303619d2657a96abd558",
1764
+ "source_ref": "package://catalog/policies/policy.tool.upgrade_verify_lock_rollback.json"
1765
+ },
840
1766
  {
841
1767
  "id": "POLICY.WEB.API.AUTH_APP_CLIENT_SPLIT",
842
1768
  "path": "policies/policy.web.api.auth_app_client_split.json",
843
- "content_sha256": "sha256:0901949ef126bed1ee3f7bbb74c70152ae06e92ca6ce8b5bc600d685df233959",
1769
+ "content_sha256": "sha256:22577c5e4f650c433838fc5ce0445abe7fcc6d02cfa78b9b24d85b1f4a415913",
844
1770
  "source_ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
845
1771
  },
846
1772
  {
847
1773
  "id": "POLICY.WEB.API.CLIENT_CHANGE_IMPACT",
848
1774
  "path": "policies/policy.web.api.client_change_impact.json",
849
- "content_sha256": "sha256:54948aa42fb61af21386c76a88feabf819a33d16cad3bd9417db2f6df5e210d4",
1775
+ "content_sha256": "sha256:41b666a168e8897d1ba2f0ab9aad9abc6bcce00122f4fe26eefe2c5fec7fc075",
850
1776
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
851
1777
  },
852
1778
  {
853
1779
  "id": "POLICY.WEB.API.DOMAIN_API_ONLY",
854
1780
  "path": "policies/policy.web.api.domain_api_only.json",
855
- "content_sha256": "sha256:04003181afc7c7d55cbb44e131ec0d65ae76d4d6f17b00dee8733145a28278d5",
1781
+ "content_sha256": "sha256:d9163157a56ac24c9afefda9fb383bdf524f82932178203e4d961ab900a396ac",
856
1782
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
857
1783
  },
858
1784
  {
859
1785
  "id": "POLICY.WEB.API.ERROR_NORMALIZATION",
860
1786
  "path": "policies/policy.web.api.error_normalization.json",
861
- "content_sha256": "sha256:f997c25d8d585934efb151b655735d9cbdee6ceaee6332400f3a11907df100b6",
1787
+ "content_sha256": "sha256:688af371a47f4f6417ae572067b1bcf4beedd7135ef67aee7442f37cef20fe34",
862
1788
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
863
1789
  },
864
1790
  {
865
1791
  "id": "POLICY.WEB.API.GENERATED_CLIENT",
866
1792
  "path": "policies/policy.web.api.generated_client.json",
867
- "content_sha256": "sha256:31f15f21f9d07d53ef031c852957700b0140b29042807434c37cd43a6b1b5ee4",
1793
+ "content_sha256": "sha256:d758aced04674ddc6a0a52232c75f5f30d024f890d065524716613ab145eac35",
868
1794
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
869
1795
  },
870
1796
  {
871
1797
  "id": "POLICY.WEB.API.LATE_RESULT_GUARD",
872
1798
  "path": "policies/policy.web.api.late_result_guard.json",
873
- "content_sha256": "sha256:63eeaeb1ebc346425752dbc34cec63536300ff6fb4daf1ecfc1f5da5140f166f",
1799
+ "content_sha256": "sha256:56f9a3c1fa54fd74ee326476b44c75e48d2e301d2c54bec222b143c4946ab512",
874
1800
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
875
1801
  },
876
1802
  {
877
1803
  "id": "POLICY.WEB.API.MUTATION_IDEMPOTENCY",
878
1804
  "path": "policies/policy.web.api.mutation_idempotency.json",
879
- "content_sha256": "sha256:6e02103e00c24453c7224aa9e8a91b01dbb8d46a900bf1130d711911675ff4f3",
1805
+ "content_sha256": "sha256:aa54ea3ddd686c173e85d2ba70a5e95c9888c140066baaf7922d3b9da99cb061",
880
1806
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
881
1807
  },
882
1808
  {
883
1809
  "id": "POLICY.WEB.API.NO_NETWORK_OPTIMISM",
884
1810
  "path": "policies/policy.web.api.no_network_optimism.json",
885
- "content_sha256": "sha256:bc1d7b5b09992ffc1b132f269ffe0af7dcef27068339e0ec58ba241fbd8255dd",
1811
+ "content_sha256": "sha256:a3f9d7ea7c4b0379933931a8caa336aae782af34d021565bb6cf183763d2860e",
886
1812
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
887
1813
  },
888
1814
  {
889
1815
  "id": "POLICY.WEB.API.QUERY_CANCEL_STALE_DROP",
890
1816
  "path": "policies/policy.web.api.query_cancel_stale_drop.json",
891
- "content_sha256": "sha256:ed50ec800f23afb4e7965bc6a560d241d53589aec190dca403310c2b02ebfd5c",
1817
+ "content_sha256": "sha256:90ef6be5962d8cc8b3ad31ebe93d0c619626512bde147efb90515e1209d069aa",
892
1818
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
893
1819
  },
894
1820
  {
895
1821
  "id": "POLICY.WEB.API.REQUEST_INFRASTRUCTURE",
896
1822
  "path": "policies/policy.web.api.request_infrastructure.json",
897
- "content_sha256": "sha256:9a9768f1ce73afa70355b3ca0378372654d8be6a418847524eff0eafb89dc797",
1823
+ "content_sha256": "sha256:ef2210afce2a4b46a1271d50901cc034421e06ff38afc4e23fd8b928050238ef",
898
1824
  "source_ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
899
1825
  },
900
1826
  {
901
1827
  "id": "POLICY.WEB.API.RETRY_DISCIPLINE",
902
1828
  "path": "policies/policy.web.api.retry_discipline.json",
903
- "content_sha256": "sha256:f49013f3bea9763cf86da25ea22c37d8a556496e7a49850c42c9b1ffa596b1a0",
1829
+ "content_sha256": "sha256:23a83a191382c63fc7a56f0fc836a9f62bf5daab19e43554a7ca45a105097710",
904
1830
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
905
1831
  },
906
1832
  {
907
1833
  "id": "POLICY.WEB.API.SESSION_RECOVERY_SPLIT",
908
1834
  "path": "policies/policy.web.api.session_recovery_split.json",
909
- "content_sha256": "sha256:d64abcd2551e1eba5af1ce21d7296733555279682c9b47037eb8f457357d8a16",
1835
+ "content_sha256": "sha256:09412b76ecca318f52b08abdf60efc034b711db1bc737a1fdb7b41e87a1ac1b6",
910
1836
  "source_ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
911
1837
  },
912
1838
  {
913
1839
  "id": "POLICY.WEB.API.SINGLE_HTTP_CLIENT",
914
1840
  "path": "policies/policy.web.api.single_http_client.json",
915
- "content_sha256": "sha256:2f040f3de18b3776791f911f6564b21bc2b993f7a272b6541588a348d14fac02",
1841
+ "content_sha256": "sha256:330299245176cd57839d194457917c5a446c50c4fd8ed00dea395af5039392c1",
916
1842
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
917
1843
  },
918
1844
  {
919
1845
  "id": "POLICY.WEB.API.SINGLE_LOADING_SOURCE",
920
1846
  "path": "policies/policy.web.api.single_loading_source.json",
921
- "content_sha256": "sha256:7070fecdc3d892a3d3d499eec39edae8a2347dafbfecf1fdf65f7aa198044ec0",
1847
+ "content_sha256": "sha256:8c338bdac7d46a95d3c1a5c1b7ff9e7ccf5f781c37caadf4bc6104d606cdbae9",
922
1848
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
923
1849
  },
924
1850
  {
925
1851
  "id": "POLICY.WEB.API.TRANSPORT_VS_BUSINESS",
926
1852
  "path": "policies/policy.web.api.transport_vs_business.json",
927
- "content_sha256": "sha256:323b674d3cb78283da598ed6b26334e4ddee277635a252b4bc7e5b3deaec0e42",
1853
+ "content_sha256": "sha256:da60d2cdcb9aa81e0c8441006ad413bb80d8fa2a4168d89314878b69f13a6bea",
928
1854
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
929
1855
  },
930
1856
  {
931
1857
  "id": "POLICY.WEB.API.TRUSTED_ENDPOINT_SOURCE",
932
1858
  "path": "policies/policy.web.api.trusted_endpoint_source.json",
933
- "content_sha256": "sha256:babdb69c717aa9fa90be6f7ac71f64ac2bb1019b5ffb3bc882628824d55f1b19",
1859
+ "content_sha256": "sha256:d5aa9f753460b1f67d5855ea8d6b7da8c66fb8b343e305c12f319fefeeeaae7c",
934
1860
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
935
1861
  },
936
1862
  {
937
1863
  "id": "POLICY.WEB.API.TYPED_DOMAIN_NAMING",
938
1864
  "path": "policies/policy.web.api.typed_domain_naming.json",
939
- "content_sha256": "sha256:6a8dc6389a848e09e9abbd1ec9eba70385c7b3bef4d9b8b59dcb873e853e83b2",
1865
+ "content_sha256": "sha256:e8195d0ee69835db65012ff1ad50198405edee5ab40ce2fdaff8f32c34f250de",
940
1866
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/15-request-api-protocol.md"
941
1867
  },
942
1868
  {
943
1869
  "id": "POLICY.WEB.ARCH.LAYER_ISOLATION",
944
1870
  "path": "policies/policy.web.arch.layer_isolation.json",
945
- "content_sha256": "sha256:f22cb344f315360a17f0c8584f78b2b76f7882ad70e3b01b1ffd3ef84952558b",
1871
+ "content_sha256": "sha256:1d07912dd95e168d6ed7fa93e209e2b7e87e057230d81700fb9d7fd3166909aa",
946
1872
  "source_ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
947
1873
  },
948
1874
  {
949
1875
  "id": "POLICY.WEB.ARCH.NAMING_CONVENTIONS",
950
1876
  "path": "policies/policy.web.arch.naming_conventions.json",
951
- "content_sha256": "sha256:77720ea57bc35bf145338487ae8492cc6d3765a89471f9d74d3c85ffc90eaa33",
1877
+ "content_sha256": "sha256:8247f945329ebb6e809daffac692384833ce23d9a64f5d3766041b66fe94fb52",
952
1878
  "source_ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
953
1879
  },
954
1880
  {
955
1881
  "id": "POLICY.WEB.ARCH.PUBLIC_API_BARREL",
956
1882
  "path": "policies/policy.web.arch.public_api_barrel.json",
957
- "content_sha256": "sha256:7898033964629e6f04f0be3c43d5ebd584f534fd0580084f8d5670906462d6a6",
1883
+ "content_sha256": "sha256:f1163cfd413bb0399368fd748af002e7ad4bc8f5fca2aa1ef24e5a26aa817ef5",
958
1884
  "source_ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
959
1885
  },
960
1886
  {
961
1887
  "id": "POLICY.WEB.CHG.CONTROLLED_CHANGE_TRIGGERS",
962
1888
  "path": "policies/policy.web.chg.controlled_change_triggers.json",
963
- "content_sha256": "sha256:d14df5908831547b2b9f903d795dc709dcb64d7761325024db698f7776486bf7",
1889
+ "content_sha256": "sha256:e12a4abb0ff88295b7db07c8ce38e282d66a467ae476d069cae43f7c9c02eafd",
964
1890
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/06-change-governance-protocol.md"
965
1891
  },
1892
+ {
1893
+ "id": "POLICY.WEB.COMP.NO_TRIVIAL_OR_GOD_COMPONENT",
1894
+ "path": "policies/policy.web.comp.no_trivial_or_god_component.json",
1895
+ "content_sha256": "sha256:7275c862af8a8dfe780e8764d4a77851f1cb1569d5344d029469bb6c30d67d34",
1896
+ "source_ref": "package://catalog/policies/policy.web.comp.no_trivial_or_god_component.json"
1897
+ },
1898
+ {
1899
+ "id": "POLICY.WEB.COMP.PUBLIC_CONTRACT_COMPLETENESS",
1900
+ "path": "policies/policy.web.comp.public_contract_completeness.json",
1901
+ "content_sha256": "sha256:d6d4c1a7f97542478fe0165d4e956392a8e6771a8b755e8b0c75ced55b1bbc63",
1902
+ "source_ref": "package://catalog/policies/policy.web.comp.public_contract_completeness.json"
1903
+ },
1904
+ {
1905
+ "id": "POLICY.WEB.COPY.ACTION_OBJECT_CLARITY",
1906
+ "path": "policies/policy.web.copy.action_object_clarity.json",
1907
+ "content_sha256": "sha256:b27112be09d9392071c534c2be47516426a0e425a5c9ad501a1610ebe2c54613",
1908
+ "source_ref": "package://catalog/policies/policy.web.copy.action_object_clarity.json"
1909
+ },
1910
+ {
1911
+ "id": "POLICY.WEB.COPY.ENUMERABLE_PLACEMENT",
1912
+ "path": "policies/policy.web.copy.enumerable_placement.json",
1913
+ "content_sha256": "sha256:dcc00dd98bdce2e06dec2b795747280303d02da9b195567fc75ba35cf59d77c5",
1914
+ "source_ref": "package://catalog/policies/policy.web.copy.enumerable_placement.json"
1915
+ },
1916
+ {
1917
+ "id": "POLICY.WEB.COPY.ERROR_NEXT_STEP",
1918
+ "path": "policies/policy.web.copy.error_next_step.json",
1919
+ "content_sha256": "sha256:32f3d395154e681204e567195dc39e3f8c65d4bbf76d100941daadeac6afc578",
1920
+ "source_ref": "package://catalog/policies/policy.web.copy.error_next_step.json"
1921
+ },
966
1922
  {
967
1923
  "id": "POLICY.WEB.COPY.SUPPRESSION_LEDGER_DISCIPLINE",
968
1924
  "path": "policies/policy.web.copy.suppression_ledger_discipline.json",
969
- "content_sha256": "sha256:c6e392a87f1bd8f6e55adbe4b975f9c247eeb0f84c5f3227f6acd14a1c5ed589",
1925
+ "content_sha256": "sha256:0cddf63ea40d537b84cc8e0b7606945327cdb1f2109d7dc5bb9cffb028efbb3a",
970
1926
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G4.yaml"
971
1927
  },
972
1928
  {
973
1929
  "id": "POLICY.WEB.GRID.COLUMN_SCHEMA_FIELDS",
974
1930
  "path": "policies/policy.web.grid.column_schema_fields.json",
975
- "content_sha256": "sha256:12b574bf8f7bc19e9826b0beb1bc5fac930c8f038c902fd656e36fb615aa30de",
1931
+ "content_sha256": "sha256:bec0f4c10460d4b3aa6fbdbdb7d2e032105d1f3a65d3fe1e3af4e26224b52af3",
976
1932
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
977
1933
  },
978
1934
  {
979
1935
  "id": "POLICY.WEB.GRID.CONFIG_ISOLATION",
980
1936
  "path": "policies/policy.web.grid.config_isolation.json",
981
- "content_sha256": "sha256:f20e6d69ecfc763194238c75356419c7439b19efbcee5001b80c3bf3e3c7466f",
1937
+ "content_sha256": "sha256:8fddd7c81f562795c824bd0d4bda7f52c58b5ea4a0a6fa3b41ccd2d9011d5502",
982
1938
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
983
1939
  },
984
1940
  {
985
1941
  "id": "POLICY.WEB.GRID.FREEZE_KEY_COLUMNS",
986
1942
  "path": "policies/policy.web.grid.freeze_key_columns.json",
987
- "content_sha256": "sha256:a38ede2c756f7d97d719f552b492741e72c2f9c3f8c7937cae1f507a130c0efc",
1943
+ "content_sha256": "sha256:b690fc2e428865dbcbb8425a5bb204b718a93d81aafb4ab3445a60db89b1bb93",
988
1944
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
989
1945
  },
990
1946
  {
991
1947
  "id": "POLICY.WEB.GRID.INTERACTION_REGISTRY",
992
1948
  "path": "policies/policy.web.grid.interaction_registry.json",
993
- "content_sha256": "sha256:f8d90f27516359b5728661b97022059a479613fd95dbd2debab220599cdb88c0",
1949
+ "content_sha256": "sha256:27c3992c2d3be7dda030bfcc999ad3096ff4a457e64a37f7089b20dcb507f52a",
994
1950
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
995
1951
  },
996
1952
  {
997
1953
  "id": "POLICY.WEB.GRID.KEYBOARD_CLIPBOARD",
998
1954
  "path": "policies/policy.web.grid.keyboard_clipboard.json",
999
- "content_sha256": "sha256:979a838c1f779a8ab41498c79643ffc18543cb52f4f87f4f82faff118e4bce0d",
1955
+ "content_sha256": "sha256:1ddeb39ebe556864e23b8b1fbedd2a485467d1d20e3e2465f074604a0ecd794d",
1000
1956
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
1001
1957
  },
1002
1958
  {
1003
1959
  "id": "POLICY.WEB.GRID.SCHEMA_DRIVEN_SHELL",
1004
1960
  "path": "policies/policy.web.grid.schema_driven_shell.json",
1005
- "content_sha256": "sha256:68b2e00625e342117aa1500e64a365a6b6219755cb80469006f8acfb5d28351c",
1961
+ "content_sha256": "sha256:384c075a97265c6d1099fe0bb5cc557b00bd1d44b4625d04f66e08460dcff6b8",
1006
1962
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
1007
1963
  },
1008
1964
  {
1009
1965
  "id": "POLICY.WEB.GRID.SCHEMA_VERSIONING",
1010
1966
  "path": "policies/policy.web.grid.schema_versioning.json",
1011
- "content_sha256": "sha256:5849dec2842d0f45d9534de2bdbc5d297c1b2db4056935c18505c95282a56f1a",
1967
+ "content_sha256": "sha256:fb9cb748bd8a5d1f4c0cd9edd7f17cc640a18b251fc957e7b665ee138764057c",
1012
1968
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
1013
1969
  },
1014
1970
  {
1015
1971
  "id": "POLICY.WEB.GRID.SERVER_OPS_VIRTUALIZATION",
1016
1972
  "path": "policies/policy.web.grid.server_ops_virtualization.json",
1017
- "content_sha256": "sha256:6864cfb98d35aba2df6986c9941acc1ce2213ffb2937b1a95eba7b85256145e0",
1973
+ "content_sha256": "sha256:3d4d87dc05135af24f1b395017811b57d9ed77962eb4ab8c79f337c3bf559f44",
1018
1974
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
1019
1975
  },
1020
1976
  {
1021
1977
  "id": "POLICY.WEB.GRID.SHELL_CHANGE_MATRIX",
1022
1978
  "path": "policies/policy.web.grid.shell_change_matrix.json",
1023
- "content_sha256": "sha256:e1edb0e1def27432ae9433e03a03b49b9331bd55aef435e82538648e5f44ef7d",
1979
+ "content_sha256": "sha256:9279c893f9a34674862380340e48151c0ec2050f244418f2a92f13af7ec559a0",
1024
1980
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
1025
1981
  },
1026
1982
  {
1027
1983
  "id": "POLICY.WEB.GRID.WIDTH_FIX_LADDER",
1028
1984
  "path": "policies/policy.web.grid.width_fix_ladder.json",
1029
- "content_sha256": "sha256:c8d6e84c118e17a7b369b17c0bb84b4cb735544430603ee954f77e4bdb677c01",
1985
+ "content_sha256": "sha256:ed660183d70e075e84124cd3812da2e94892b1f8b2a7ca730401cf022c58ddde",
1030
1986
  "source_ref": "pomaster/components/frontend-hard-spec/assets/universal/30-data-grid-protocol.md"
1031
1987
  },
1988
+ {
1989
+ "id": "POLICY.WEB.HANDOFF.STATE_MATRIX_FULL",
1990
+ "path": "policies/policy.web.handoff.state_matrix_full.json",
1991
+ "content_sha256": "sha256:78496b0ced8557bd180dc0e4787933845890bbb78ef49b977e39c4d8092e561e",
1992
+ "source_ref": "package://catalog/policies/policy.web.handoff.state_matrix_full.json"
1993
+ },
1994
+ {
1995
+ "id": "POLICY.WEB.I18N.COPY_KEY_DISCIPLINE",
1996
+ "path": "policies/policy.web.i18n.copy_key_discipline.json",
1997
+ "content_sha256": "sha256:1b9d438f00592cde0dad9a3cf918d5b8d4f4dee099acd800e88a37ee3cbadd72",
1998
+ "source_ref": "package://catalog/policies/policy.web.i18n.copy_key_discipline.json"
1999
+ },
2000
+ {
2001
+ "id": "POLICY.WEB.I18N.RAW_VALUE_FOR_COMPUTE",
2002
+ "path": "policies/policy.web.i18n.raw_value_for_compute.json",
2003
+ "content_sha256": "sha256:50cca2b85ae43ada65e3e3c2f8adc7c286e747accb0c8d3dfb81f6eda07b5093",
2004
+ "source_ref": "package://catalog/policies/policy.web.i18n.raw_value_for_compute.json"
2005
+ },
2006
+ {
2007
+ "id": "POLICY.WEB.PAGE.REGION_CONSISTENCY",
2008
+ "path": "policies/policy.web.page.region_consistency.json",
2009
+ "content_sha256": "sha256:a6e95025b50b929b2494340933599b2d783a4e572be2993944b2ee1b7fccc973",
2010
+ "source_ref": "package://catalog/policies/policy.web.page.region_consistency.json"
2011
+ },
1032
2012
  {
1033
2013
  "id": "POLICY.WEB.PERF.BUDGET_SKELETON",
1034
2014
  "path": "policies/policy.web.perf.budget_skeleton.json",
1035
- "content_sha256": "sha256:ef8d31e9a571e1139e3e17a603d03616500364e41aaf12a5601265846df8d872",
2015
+ "content_sha256": "sha256:24e6c99ee7fd52eb60a7104289225eb4bdfa3c1e5189dca69cb2fbae5c860034",
1036
2016
  "source_ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
1037
2017
  },
1038
2018
  {
1039
2019
  "id": "POLICY.WEB.STYLE.OWNERSHIP_MATRIX",
1040
2020
  "path": "policies/policy.web.style.ownership_matrix.json",
1041
- "content_sha256": "sha256:24da44f9d446b51cf103c296600b75a7c1a8e2692d3ead932dd49a7741e84572",
2021
+ "content_sha256": "sha256:aac376bcd0d42a68b5ac4a2e73ed428feeab0bdfdb06b71a46e899029e6202da",
1042
2022
  "source_ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
1043
2023
  },
2024
+ {
2025
+ "id": "POLICY.WEB.TRACK.ATTEMPT_RESULT_CORRELATION",
2026
+ "path": "policies/policy.web.track.attempt_result_correlation.json",
2027
+ "content_sha256": "sha256:290e4d111a00c628504a4038cada02a8375d8e03838546c544758cf1bee4d181",
2028
+ "source_ref": "package://catalog/policies/policy.web.track.attempt_result_correlation.json"
2029
+ },
1044
2030
  {
1045
2031
  "id": "POLICY.WEB.TRACK.CONSENT_LIFECYCLE",
1046
2032
  "path": "policies/policy.web.track.consent_lifecycle.json",
1047
- "content_sha256": "sha256:2755b7e87c9aaa00bc558c306886cc5e8a1e57b1efbba3b381204c1b62f7d12f",
2033
+ "content_sha256": "sha256:2d2b0b91a0a21efae5103ff8689d0f730f479e5ae4783dddf7fbdc4297d675f9",
1048
2034
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G4.yaml"
1049
2035
  },
2036
+ {
2037
+ "id": "POLICY.WEB.TRACK.NO_SYNTHETIC_ACTIONS",
2038
+ "path": "policies/policy.web.track.no_synthetic_actions.json",
2039
+ "content_sha256": "sha256:2157103e7ebc024e77a82c906b3e2bcf8561cf199d9998cef1a981ddb4e8bb7a",
2040
+ "source_ref": "package://catalog/policies/policy.web.track.no_synthetic_actions.json"
2041
+ },
1050
2042
  {
1051
2043
  "id": "POLICY.WEB.TRACK.PRIVACY_DEFAULT_DENY",
1052
2044
  "path": "policies/policy.web.track.privacy_default_deny.json",
1053
- "content_sha256": "sha256:0f5a8ddcf3c951713601b20d097aeed6ae7ecf5c727083dcc41e5c2a2bc380f4",
2045
+ "content_sha256": "sha256:9c92cc6a928cd02852a3c0e614f5036e66acced7fc3287be434aa69594f5c383",
1054
2046
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G4.yaml"
1055
2047
  },
1056
2048
  {
1057
2049
  "id": "POLICY.WEB.TRACK.STABLE_EVENT_KEYS",
1058
2050
  "path": "policies/policy.web.track.stable_event_keys.json",
1059
- "content_sha256": "sha256:601cb1a5a514cf06398b053e0e76ca0a25f314938d405c814624f7c143a91173",
2051
+ "content_sha256": "sha256:ae45a16f6764175dba85817d21383a878683371fc8724013a50436d7602ff889",
1060
2052
  "source_ref": "POMaster_VNext/corpus/spec-knowledge/candidates/FE-G4.yaml"
1061
2053
  },
2054
+ {
2055
+ "id": "POLICY.WEB.TRACK.TYPED_CLIENT_VALIDATION",
2056
+ "path": "policies/policy.web.track.typed_client_validation.json",
2057
+ "content_sha256": "sha256:ef9e548a01e4623a0827097c44e85c8df198f3ee4ee7232c2dfa15a6b8ad928d",
2058
+ "source_ref": "package://catalog/policies/policy.web.track.typed_client_validation.json"
2059
+ },
1062
2060
  {
1063
2061
  "id": "POLICY.WEB.UIUX.PROVIDER_EVIDENCE_NOT_BUSINESS_TRUTH",
1064
2062
  "path": "policies/policy.web.uiux.provider_evidence_not_business_truth.json",
1065
- "content_sha256": "sha256:11166f8d112732b605dfcbdff4b72806dd82ebb50259b9dc1e8a54ccc22e53bf",
2063
+ "content_sha256": "sha256:e25dc41a255f86c91e26de9ce546e7d08efb8c291bd133977ff8a844ef3186fb",
1066
2064
  "source_ref": "POMaster_VNext/corpus/master/batch-4/split-ledger.yaml"
1067
2065
  },
2066
+ {
2067
+ "id": "POLICY.WF.NO_PLANNED_AS_VERIFIED",
2068
+ "path": "policies/policy.wf.no_planned_as_verified.json",
2069
+ "content_sha256": "sha256:d95b9c49cade87620aaadd1e10c4a0408f8dd908415a5b7694650b5c3647eaf3",
2070
+ "source_ref": "package://catalog/policies/policy.wf.no_planned_as_verified.json"
2071
+ },
2072
+ {
2073
+ "id": "POLICY.WF.TASK_FACTS_PRECONFIRM",
2074
+ "path": "policies/policy.wf.task_facts_preconfirm.json",
2075
+ "content_sha256": "sha256:5ac963e30b6904fd8f267577c20c1a482a671fd85a75cbf2a20d4a449b8de57c",
2076
+ "source_ref": "package://catalog/policies/policy.wf.task_facts_preconfirm.json"
2077
+ },
2078
+ {
2079
+ "id": "PROFILE.BASELINE.JAVA_ENTERPRISE_DEFAULT",
2080
+ "path": "policies/profile.baseline.java_enterprise_default.json",
2081
+ "content_sha256": "sha256:98f16c0fbe99165425c43a08cd4009e72ed3a4234ea7be2734495050824c0762",
2082
+ "source_ref": "package://catalog/policies/profile.baseline.java_enterprise_default.json"
2083
+ },
1068
2084
  {
1069
2085
  "id": "RUNTIME_ARCHETYPE.ENVIRONMENT_PARITY",
1070
2086
  "path": "archetypes/archetype.runtime.environment_parity.json",
@@ -1080,43 +2096,43 @@
1080
2096
  {
1081
2097
  "id": "SENSOR.BROWSER.DETERMINISTIC",
1082
2098
  "path": "sensors/sensor.browser.deterministic.json",
1083
- "content_sha256": "sha256:6efdb9e2d5003949280561040cb77a66ee54089e4db0f1ddee5e0a8a78083ca5",
2099
+ "content_sha256": "sha256:ef9e5979c3f4856604bbe44e05aaa2a570ebe35b4b5c66e6ce645a1b01d3bcaf",
1084
2100
  "source_ref": "catalog/tools/materialize_v06_relock.py(P-v06 批次 2.6 Browser Eyes:SENSOR.BROWSER.* 双眼 implementations 显式化——chrome-devtools-mcp 观测 + @playwright/mcp 验证;Owner 指令 2026-09-03)"
1085
2101
  },
1086
2102
  {
1087
2103
  "id": "SENSOR.BROWSER.INTERACTIVE",
1088
2104
  "path": "sensors/sensor.browser.interactive.json",
1089
- "content_sha256": "sha256:158863e7e47c50e73043bbc784ab78ffd367e25c939654b21605dbdf2e7a029b",
2105
+ "content_sha256": "sha256:ef243f1bc89d1368b48b8cb371d1a179441882ab338613d54e89bea015a4981a",
1090
2106
  "source_ref": "catalog/tools/materialize_v06_relock.py(P-v06 批次 2.6 Browser Eyes:SENSOR.BROWSER.* 双眼 implementations 显式化——chrome-devtools-mcp 观测 + @playwright/mcp 验证;Owner 指令 2026-09-03)"
1091
2107
  },
1092
2108
  {
1093
2109
  "id": "SENSOR.BUILD.STATIC",
1094
2110
  "path": "sensors/sensor.build.static.json",
1095
- "content_sha256": "sha256:cd1c965677e08ef3f0b92c9014ee4a3c8fa967419fbfabd1079590b6746ef462",
2111
+ "content_sha256": "sha256:6607225ed2e099c3b57321a481ea3fbde312e0adf3e8f06f0626242c81ebdc34",
1096
2112
  "source_ref": "doc/POMaster-vNext-PRD-v0.5.2-agent-perception.md §14 P1-5(W1-E 线登记;仓库外路径——PRD 住 POMaster 工作区根 doc/,不在本仓;I9① 2026-09-02 修正原悬空词形 POMaster_VNext/doc/…)"
1097
2113
  },
1098
2114
  {
1099
2115
  "id": "SENSOR.CONTRACT.CONFORMANCE",
1100
2116
  "path": "sensors/sensor.contract.conformance.json",
1101
- "content_sha256": "sha256:cf961ae80c9472c1e7d5ffc85bc5d3c975a0dd390b1c52986cfccee1c1373194",
2117
+ "content_sha256": "sha256:59edec7340264c9e40e325accb377c177ca9262d58aa8da6d4fc09f2a1f77db7",
1102
2118
  "source_ref": "doc/POMaster-vNext-PRD-v0.5.2-agent-perception.md §14 P1-5(W1-E 线登记;仓库外路径——PRD 住 POMaster 工作区根 doc/,不在本仓;I9① 2026-09-02 修正原悬空词形 POMaster_VNext/doc/…)"
1103
2119
  },
1104
2120
  {
1105
2121
  "id": "SENSOR.PERFORMANCE.BUDGET",
1106
2122
  "path": "sensors/sensor.performance.budget.json",
1107
- "content_sha256": "sha256:6bf3c3a8eeca97f59400fca0217522016d4fbfe8b2de00891a3173d715875798",
2123
+ "content_sha256": "sha256:b4e2e1d7a021f583d2d2825fcaff9f4374ea46470cecb5c1378d1e0bb245df8a",
1108
2124
  "source_ref": "doc/POMaster-vNext-PRD-v0.5.2-agent-perception.md §14 P1-5(W1-E 线登记;仓库外路径——PRD 住 POMaster 工作区根 doc/,不在本仓;I9① 2026-09-02 修正原悬空词形 POMaster_VNext/doc/…)"
1109
2125
  },
1110
2126
  {
1111
2127
  "id": "SENSOR.PRODUCTION.METRIC",
1112
2128
  "path": "sensors/sensor.production.metric.json",
1113
- "content_sha256": "sha256:969954331cfb8267524e614de72a8605c7cb8195c0f0e5867acf7adf82f52361",
2129
+ "content_sha256": "sha256:7ba56fba3e4435a219592898fe009673df0ac61ea30828081ed65614fc3ed441",
1114
2130
  "source_ref": "doc/POMaster-vNext-PRD-v0.5.2-agent-perception.md §14 P1-5(W1-E 线登记;仓库外路径——PRD 住 POMaster 工作区根 doc/,不在本仓;I9① 2026-09-02 修正原悬空词形 POMaster_VNext/doc/…)"
1115
2131
  },
1116
2132
  {
1117
2133
  "id": "STATE_ARCHETYPE.ASYNC_COMMAND",
1118
2134
  "path": "archetypes/archetype.state.async_command.json",
1119
- "content_sha256": "sha256:6f0ece6752cb063dba920b68790fac134ad30c5093beb6df31a99bf57004df82",
2135
+ "content_sha256": "sha256:041a8a3373c6512986a862a58fe965d0ed3125d2f8ded119a0f6c23d451438e3",
1120
2136
  "source_ref": "catalog/tools/seed_v06_batch2_materials.py(P-v06 批次 2;外部参照 frontend-state-references.md 2026-09-03 实抓锚)"
1121
2137
  },
1122
2138
  {