pomaster 0.4.0 → 0.5.1

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 (229) hide show
  1. package/README.md +102 -183
  2. package/catalog/catalog-lock.draft.json +117 -117
  3. package/catalog/policies/policy.ai.change_plan_first.json +1 -1
  4. package/catalog/policies/policy.ai.fact_inference_separation.json +1 -1
  5. package/catalog/policies/policy.ai.read_search_verify_before_write.json +1 -1
  6. package/catalog/policies/policy.ai.rule_relaxation_approval.json +1 -1
  7. package/catalog/policies/policy.arch.adr_immutable_history.json +1 -1
  8. package/catalog/policies/policy.arch.no_convenience_over_boundary.json +1 -1
  9. package/catalog/policies/policy.arch.prefer_verifiable_option.json +2 -2
  10. package/catalog/policies/policy.authz.no_gating_proxy_trust.json +1 -1
  11. package/catalog/policies/policy.authz.permission_scope_expansion_gate.json +1 -1
  12. package/catalog/policies/policy.authz.server_five_factor_verification.json +1 -1
  13. package/catalog/policies/policy.be.conc.prefer_db_constraints.json +1 -1
  14. package/catalog/policies/policy.be.db.expand_migrate_contract.json +1 -1
  15. package/catalog/policies/policy.be.idem.key_payload_conflict.json +1 -1
  16. package/catalog/policies/policy.be.model.single_boundary_conversion.json +1 -1
  17. package/catalog/policies/policy.be.sql.index_for_known_queries.json +1 -1
  18. package/catalog/policies/policy.be.state.single_rule_source.json +1 -1
  19. package/catalog/policies/policy.be.txn.short_locks_compensation.json +1 -1
  20. package/catalog/policies/policy.bound.search_first_entry_only.json +1 -1
  21. package/catalog/policies/policy.boundary.validate_in_encode_out.json +1 -1
  22. package/catalog/policies/policy.cache.failure_mode_guards.json +1 -1
  23. package/catalog/policies/policy.cache.schema_versioning.json +1 -1
  24. package/catalog/policies/policy.cfg.config_attribute_completeness.json +1 -1
  25. package/catalog/policies/policy.cfg.key_rename_dual_read.json +1 -1
  26. package/catalog/policies/policy.cfg.no_secret_dispersal.json +1 -1
  27. package/catalog/policies/policy.cfg.production_safe_defaults.json +1 -1
  28. package/catalog/policies/policy.cfg.schema_backed_config.json +1 -1
  29. package/catalog/policies/policy.chg.no_unrelated_changes.json +1 -1
  30. package/catalog/policies/policy.contract.no_invented_facts.json +1 -1
  31. package/catalog/policies/policy.dep.build_path_supply_chain.json +1 -1
  32. package/catalog/policies/policy.dep.no_untrusted_source_no_lock_bypass.json +1 -1
  33. package/catalog/policies/policy.dep.time_boxed_urgent_exception.json +1 -1
  34. package/catalog/policies/policy.deploy.no_dev_env_as_production_fact.json +1 -1
  35. package/catalog/policies/policy.deploy.operational_capabilities.json +1 -1
  36. package/catalog/policies/policy.deploy.runtime_fact_record.json +1 -1
  37. package/catalog/policies/policy.err.failure_five_part_mapping.json +1 -1
  38. package/catalog/policies/policy.err.no_internal_detail_exposure.json +1 -1
  39. package/catalog/policies/policy.err.published_code_immutable.json +1 -1
  40. package/catalog/policies/policy.evid.acceptance_binds_verifiable_evidence.json +1 -1
  41. package/catalog/policies/policy.evid.no_silent_gate_removal.json +1 -1
  42. package/catalog/policies/policy.evid.no_unverifiable_pass.json +1 -1
  43. package/catalog/policies/policy.flag.cleanup_after_full_rollout.json +1 -1
  44. package/catalog/policies/policy.flag.consistent_off_state.json +1 -1
  45. package/catalog/policies/policy.flag.kill_switch.json +1 -1
  46. package/catalog/policies/policy.flag.lifecycle_metadata.json +1 -1
  47. package/catalog/policies/policy.flag.not_a_permission.json +1 -1
  48. package/catalog/policies/policy.gate.p0_non_bypassable.json +1 -1
  49. package/catalog/policies/policy.gate.risk_factors_confirmed.json +1 -1
  50. package/catalog/policies/policy.guard.no_check_weakening.json +2 -2
  51. package/catalog/policies/policy.integration.call_definition_minimum.json +1 -1
  52. package/catalog/policies/policy.integration.fault_containment.json +1 -1
  53. package/catalog/policies/policy.job.lifecycle_definition.json +1 -1
  54. package/catalog/policies/policy.job.no_unmanaged_execution.json +1 -1
  55. package/catalog/policies/policy.job.operational_features.json +1 -1
  56. package/catalog/policies/policy.obs.actionable_signals.json +1 -1
  57. package/catalog/policies/policy.obs.alert_with_owner.json +1 -1
  58. package/catalog/policies/policy.obs.context_field_baseline.json +1 -1
  59. package/catalog/policies/policy.obs.no_sensitive_or_unbounded_logging.json +1 -1
  60. package/catalog/policies/policy.obs.no_sensitive_raw_values.json +1 -1
  61. package/catalog/policies/policy.obs.signal_change_impact.json +1 -1
  62. package/catalog/policies/policy.obs.source_map_access_control.json +1 -1
  63. package/catalog/policies/policy.obs.telemetry_lifecycle_declared.json +1 -1
  64. package/catalog/policies/policy.obs.trace_correlation.json +1 -1
  65. package/catalog/policies/policy.perf.budget_change_retest.json +1 -1
  66. package/catalog/policies/policy.perf.evidence_binding.json +1 -1
  67. package/catalog/policies/policy.perf.observation_dimensions.json +1 -1
  68. package/catalog/policies/policy.proc.checklist_change_policy.json +2 -2
  69. package/catalog/policies/policy.proc.scope_drift_reclassify.json +1 -1
  70. package/catalog/policies/policy.prv.processing_scope_re_review.json +1 -1
  71. package/catalog/policies/policy.prv.sensitive_data_six_facts.json +1 -1
  72. package/catalog/policies/policy.registry.human_fields_validated_decorrelated.json +1 -1
  73. package/catalog/policies/policy.rel.no_irreversible_unmonitored_full_release.json +1 -1
  74. package/catalog/policies/policy.rel.observability_before_ship.json +1 -1
  75. package/catalog/policies/policy.rel.process_change_needs_drill_audit.json +1 -1
  76. package/catalog/policies/policy.rel.traceable_build.json +1 -1
  77. package/catalog/policies/policy.role.human_signs_for_ai.json +1 -1
  78. package/catalog/policies/policy.sec.authn_policy_unified.json +1 -1
  79. package/catalog/policies/policy.sec.no_client_side_trust.json +4 -1
  80. package/catalog/policies/policy.sec.no_longterm_security_disable.json +1 -1
  81. package/catalog/policies/policy.sec.no_script_readable_credentials.json +1 -1
  82. package/catalog/policies/policy.sec.no_secrets_in_client_surface.json +2 -2
  83. package/catalog/policies/policy.sec.relaxation_approval.json +1 -1
  84. package/catalog/policies/policy.sec.security_relaxation_gate.json +4 -1
  85. package/catalog/policies/policy.sec.trust_boundary_enforcement.json +4 -1
  86. package/catalog/policies/policy.sec.upload_download_server_recheck.json +1 -1
  87. package/catalog/policies/policy.sec.url_source_allowlist.json +1 -1
  88. package/catalog/policies/policy.spec.family_conflict_precedence.json +1 -1
  89. package/catalog/policies/policy.spec.freeze_before_use.json +1 -1
  90. package/catalog/policies/policy.spec.primary_source_basis.json +1 -1
  91. package/catalog/policies/policy.struct.module_entry_dependency_declared.json +1 -1
  92. package/catalog/policies/policy.struct.no_unexplained_top_level_dir.json +1 -1
  93. package/catalog/policies/policy.struct.reuse_proven_structure.json +1 -1
  94. package/catalog/policies/policy.test.control_nondeterminism_keep_diagnosis.json +1 -1
  95. package/catalog/policies/policy.test.isolation_and_cleanup.json +1 -1
  96. package/catalog/policies/policy.test.no_synthetic_stability.json +1 -1
  97. package/catalog/policies/policy.test.pyramid_and_ci_matrix.json +1 -1
  98. package/catalog/policies/policy.test.removal_justification.json +1 -1
  99. package/catalog/policies/policy.test.removal_needs_substitute_evidence.json +1 -1
  100. package/catalog/policies/policy.test.risk_driven_plan.json +1 -1
  101. package/catalog/policies/policy.test.stable_observable_assertions.json +1 -1
  102. package/catalog/policies/policy.tool.discoverable_toolchain.json +1 -1
  103. package/catalog/policies/policy.tool.no_hand_edit_generated_no_ci_drift.json +1 -1
  104. package/catalog/policies/policy.tool.no_vendored_body_edits.json +1 -1
  105. package/catalog/policies/policy.tool.upgrade_verify_lock_rollback.json +1 -1
  106. package/catalog/policies/policy.web.comp.no_trivial_or_god_component.json +1 -1
  107. package/catalog/policies/policy.web.comp.public_contract_completeness.json +1 -1
  108. package/catalog/policies/policy.web.copy.action_object_clarity.json +1 -1
  109. package/catalog/policies/policy.web.copy.enumerable_placement.json +1 -1
  110. package/catalog/policies/policy.web.copy.error_next_step.json +1 -1
  111. package/catalog/policies/policy.web.handoff.state_matrix_full.json +1 -1
  112. package/catalog/policies/policy.web.i18n.copy_key_discipline.json +1 -1
  113. package/catalog/policies/policy.web.i18n.raw_value_for_compute.json +1 -1
  114. package/catalog/policies/policy.web.page.region_consistency.json +1 -1
  115. package/catalog/policies/policy.web.track.attempt_result_correlation.json +1 -1
  116. package/catalog/policies/policy.web.track.no_synthetic_actions.json +1 -1
  117. package/catalog/policies/policy.web.track.typed_client_validation.json +1 -1
  118. package/catalog/policies/policy.wf.no_planned_as_verified.json +1 -1
  119. package/catalog/policies/policy.wf.task_facts_preconfirm.json +1 -1
  120. package/dist/bin.js +11233 -7336
  121. package/legal/THIRD_PARTY_NOTICES.md +461 -35
  122. package/package.json +1 -1
  123. package/seeds/aggregation-manifest.json +691 -0
  124. package/seeds/manifest.json +466 -1043
  125. package/seeds/specs/hard/stacks/antdesign/antdesign-ui-overlay.md +48 -0
  126. package/seeds/specs/hard/stacks/antdesign/index.md +20 -0
  127. package/seeds/specs/hard/stacks/css/css-system-overlay.md +52 -0
  128. package/seeds/specs/hard/stacks/css/index.md +20 -0
  129. package/seeds/specs/hard/stacks/geist/geist-design-system-overlay.md +48 -0
  130. package/seeds/specs/hard/stacks/geist/index.md +20 -0
  131. package/seeds/specs/hard/stacks/vue3/index.md +20 -0
  132. package/seeds/specs/hard/stacks/vue3/vue3-framework-overlay.md +71 -0
  133. package/seeds/specs/hard/themes/ai-generated-code.md +171 -0
  134. package/seeds/specs/hard/themes/api-contract-and-error-semantics.md +532 -0
  135. package/seeds/specs/hard/themes/architecture-and-module-boundaries.md +323 -0
  136. package/seeds/specs/hard/themes/data-and-transactions.md +582 -0
  137. package/seeds/specs/hard/themes/engineering-toolchain-and-dependencies.md +333 -0
  138. package/seeds/specs/hard/themes/environment-and-configuration.md +196 -0
  139. package/seeds/specs/hard/themes/frontend-state-and-client-data.md +342 -0
  140. package/seeds/specs/hard/themes/index.md +374 -0
  141. package/seeds/specs/hard/themes/integration-and-async-runtime.md +331 -0
  142. package/seeds/specs/hard/{frontend/38-internationalization-protocol.md → themes/internationalization-and-copywriting.md} +112 -5
  143. package/seeds/specs/hard/themes/observability-and-analytics.md +305 -0
  144. package/seeds/specs/hard/themes/page-composition-and-browser-environment.md +554 -0
  145. package/seeds/specs/hard/{frontend/31-performance-protocol.md → themes/performance-and-capacity.md} +95 -6
  146. package/seeds/specs/hard/themes/permission-and-authorization.md +168 -0
  147. package/seeds/specs/hard/themes/privacy-and-data-lifecycle.md +176 -0
  148. package/seeds/specs/hard/themes/release-and-feature-flags.md +237 -0
  149. package/seeds/specs/hard/{frontend/04-security-protocol.md → themes/security.md} +95 -6
  150. package/seeds/specs/hard/themes/task-governance-and-acceptance.md +554 -0
  151. package/seeds/specs/hard/themes/testing-and-verification.md +266 -0
  152. package/seeds/specs/hard/themes/ui-presentation-and-design.md +670 -0
  153. package/seeds/specs/hard/themes/value-semantics-and-domain-data.md +339 -0
  154. package/seeds/specs/hard/backend/01-architecture-governance-protocol.md +0 -68
  155. package/seeds/specs/hard/backend/02-project-structure-governance-protocol.md +0 -68
  156. package/seeds/specs/hard/backend/03-directory-boundary-protocol.md +0 -68
  157. package/seeds/specs/hard/backend/04-layering-architecture-protocol.md +0 -68
  158. package/seeds/specs/hard/backend/05-task-workflow-protocol.md +0 -68
  159. package/seeds/specs/hard/backend/06-ai-generated-code-protocol.md +0 -68
  160. package/seeds/specs/hard/backend/07-evidence-acceptance-protocol.md +0 -68
  161. package/seeds/specs/hard/backend/08-contract-change-protocol.md +0 -68
  162. package/seeds/specs/hard/backend/09-role-responsibility-protocol.md +0 -68
  163. package/seeds/specs/hard/backend/10-security-protocol.md +0 -68
  164. package/seeds/specs/hard/backend/11-environment-configuration-protocol.md +0 -67
  165. package/seeds/specs/hard/backend/12-api-contract-protocol.md +0 -68
  166. package/seeds/specs/hard/backend/13-privacy-data-lifecycle-protocol.md +0 -68
  167. package/seeds/specs/hard/backend/14-business-rules-state-protocol.md +0 -68
  168. package/seeds/specs/hard/backend/15-data-model-protocol.md +0 -68
  169. package/seeds/specs/hard/backend/16-error-code-protocol.md +0 -68
  170. package/seeds/specs/hard/backend/17-permission-authorization-protocol.md +0 -68
  171. package/seeds/specs/hard/backend/18-database-schema-migration-protocol.md +0 -68
  172. package/seeds/specs/hard/backend/19-query-index-sql-protocol.md +0 -68
  173. package/seeds/specs/hard/backend/20-transaction-boundary-protocol.md +0 -68
  174. package/seeds/specs/hard/backend/21-concurrency-locking-protocol.md +0 -68
  175. package/seeds/specs/hard/backend/22-idempotency-protocol.md +0 -68
  176. package/seeds/specs/hard/backend/23-cache-redis-consistency-protocol.md +0 -68
  177. package/seeds/specs/hard/backend/24-external-integration-resilience-protocol.md +0 -68
  178. package/seeds/specs/hard/backend/25-async-job-scheduler-protocol.md +0 -68
  179. package/seeds/specs/hard/backend/26-engineering-tooling-protocol.md +0 -68
  180. package/seeds/specs/hard/backend/27-dependency-supply-chain-protocol.md +0 -68
  181. package/seeds/specs/hard/backend/28-testing-protocol.md +0 -68
  182. package/seeds/specs/hard/backend/29-observability-logging-tracing-protocol.md +0 -68
  183. package/seeds/specs/hard/backend/30-performance-capacity-protocol.md +0 -68
  184. package/seeds/specs/hard/backend/31-runtime-deployment-protocol.md +0 -68
  185. package/seeds/specs/hard/backend/32-release-versioning-rollback-protocol.md +0 -68
  186. package/seeds/specs/hard/backend/index.md +0 -177
  187. package/seeds/specs/hard/frontend/01-development-checklist-protocol.md +0 -86
  188. package/seeds/specs/hard/frontend/02-ai-generated-code-protocol.md +0 -82
  189. package/seeds/specs/hard/frontend/03-acceptance-gate-protocol.md +0 -86
  190. package/seeds/specs/hard/frontend/05-environment-configuration-protocol.md +0 -80
  191. package/seeds/specs/hard/frontend/06-change-governance-protocol.md +0 -90
  192. package/seeds/specs/hard/frontend/07-frontend-backend-communication-protocol.md +0 -219
  193. package/seeds/specs/hard/frontend/08-role-responsibility-protocol.md +0 -80
  194. package/seeds/specs/hard/frontend/09-module-boundary-protocol.md +0 -81
  195. package/seeds/specs/hard/frontend/10-engineering-tooling-protocol.md +0 -89
  196. package/seeds/specs/hard/frontend/11-dependency-package-management-protocol.md +0 -87
  197. package/seeds/specs/hard/frontend/12-business-rules-protocol.md +0 -79
  198. package/seeds/specs/hard/frontend/13-monetary-precision-protocol.md +0 -81
  199. package/seeds/specs/hard/frontend/14-data-model-protocol.md +0 -85
  200. package/seeds/specs/hard/frontend/15-request-api-protocol.md +0 -87
  201. package/seeds/specs/hard/frontend/16-error-handling-protocol.md +0 -79
  202. package/seeds/specs/hard/frontend/17-permission-protocol.md +0 -79
  203. package/seeds/specs/hard/frontend/18-state-management-protocol.md +0 -88
  204. package/seeds/specs/hard/frontend/19-cache-protocol.md +0 -79
  205. package/seeds/specs/hard/frontend/20-testing-protocol.md +0 -88
  206. package/seeds/specs/hard/frontend/21-design-system-protocol.md +0 -79
  207. package/seeds/specs/hard/frontend/22-theme-protocol.md +0 -79
  208. package/seeds/specs/hard/frontend/23-accessibility-protocol.md +0 -189
  209. package/seeds/specs/hard/frontend/24-component-protocol.md +0 -80
  210. package/seeds/specs/hard/frontend/25-page-structure-protocol.md +0 -79
  211. package/seeds/specs/hard/frontend/26-style-layout-protocol.md +0 -80
  212. package/seeds/specs/hard/frontend/27-rendering-state-protocol.md +0 -81
  213. package/seeds/specs/hard/frontend/28-form-protocol.md +0 -88
  214. package/seeds/specs/hard/frontend/29-routing-url-protocol.md +0 -79
  215. package/seeds/specs/hard/frontend/30-data-grid-protocol.md +0 -83
  216. package/seeds/specs/hard/frontend/32-file-import-export-protocol.md +0 -80
  217. package/seeds/specs/hard/frontend/33-release-versioning-protocol.md +0 -79
  218. package/seeds/specs/hard/frontend/34-monitoring-logging-protocol.md +0 -128
  219. package/seeds/specs/hard/frontend/35-mock-protocol.md +0 -97
  220. package/seeds/specs/hard/frontend/36-feature-flag-protocol.md +0 -79
  221. package/seeds/specs/hard/frontend/37-browser-device-compatibility-protocol.md +0 -83
  222. package/seeds/specs/hard/frontend/39-copywriting-protocol.md +0 -79
  223. package/seeds/specs/hard/frontend/40-analytics-protocol.md +0 -98
  224. package/seeds/specs/hard/frontend/41-design-handoff-protocol.md +0 -80
  225. package/seeds/specs/hard/frontend/42-browser-runtime-lifecycle-protocol.md +0 -86
  226. package/seeds/specs/hard/frontend/43-time-temporal-protocol.md +0 -86
  227. package/seeds/specs/hard/frontend/44-privacy-data-lifecycle-protocol.md +0 -87
  228. package/seeds/specs/hard/frontend/45-browser-storage-protocol.md +0 -87
  229. package/seeds/specs/hard/frontend/index.md +0 -308
@@ -39,7 +39,7 @@
39
39
  "sha256": "e871f5d7d1e9fe68956881877baba94f376a5539753441853f8cfa12939f5ebd",
40
40
  "bytes": 1387
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/29-observability-logging-tracing-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/observability-and-analytics.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.OBS.NO_SENSITIVE_OR_UNBOUNDED_LOGGING",
@@ -39,7 +39,7 @@
39
39
  "sha256": "3c37c1c3aa3ade8d43532a1fcc7561e95aef42a19e46b6eb53d864054a2da013",
40
40
  "bytes": 8248
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/34-monitoring-logging-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/observability-and-analytics.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.OBS.NO_SENSITIVE_RAW_VALUES",
@@ -30,7 +30,7 @@
30
30
  "sha256": "e871f5d7d1e9fe68956881877baba94f376a5539753441853f8cfa12939f5ebd",
31
31
  "bytes": 1387
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/backend/29-observability-logging-tracing-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/observability-and-analytics.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6C",
@@ -39,7 +39,7 @@
39
39
  "sha256": "3c37c1c3aa3ade8d43532a1fcc7561e95aef42a19e46b6eb53d864054a2da013",
40
40
  "bytes": 8248
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/34-monitoring-logging-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/observability-and-analytics.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.OBS.SOURCE_MAP_ACCESS_CONTROL",
@@ -39,7 +39,7 @@
39
39
  "sha256": "3c37c1c3aa3ade8d43532a1fcc7561e95aef42a19e46b6eb53d864054a2da013",
40
40
  "bytes": 8248
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/34-monitoring-logging-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/observability-and-analytics.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.OBS.TELEMETRY_LIFECYCLE_DECLARED",
@@ -38,7 +38,7 @@
38
38
  "sha256": "3c37c1c3aa3ade8d43532a1fcc7561e95aef42a19e46b6eb53d864054a2da013",
39
39
  "bytes": 8248
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/34-monitoring-logging-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/observability-and-analytics.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.OBS.TRACE_CORRELATION",
@@ -30,7 +30,7 @@
30
30
  "sha256": "b575dd07e4bb6def646acb55c3d62d086a9fd12035b2ab359ec353bf443773e5",
31
31
  "bytes": 1326
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/backend/30-performance-capacity-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/performance-and-capacity.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6C",
@@ -39,7 +39,7 @@
39
39
  "sha256": "b575dd07e4bb6def646acb55c3d62d086a9fd12035b2ab359ec353bf443773e5",
40
40
  "bytes": 1326
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/30-performance-capacity-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/performance-and-capacity.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.PERF.EVIDENCE_BINDING",
@@ -30,7 +30,7 @@
30
30
  "sha256": "b575dd07e4bb6def646acb55c3d62d086a9fd12035b2ab359ec353bf443773e5",
31
31
  "bytes": 1326
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/backend/30-performance-capacity-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/performance-and-capacity.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6C",
@@ -15,7 +15,7 @@
15
15
  "group": "FE-G1",
16
16
  "candidate_id": "POLICY.PROC.CHECKLIST_CHANGE_POLICY",
17
17
  "density_rank": null,
18
- "density_score": 33.0,
18
+ "density_score": 33,
19
19
  "pool_statement_sha16": "81dc9f22d1c9d513",
20
20
  "curated_rule": "B6b-I 分母(FE 01-23)required 池(ELIGIBLE 未物化)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡)按同公式密度序取前 3 = 25(D5 上限);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
21
21
  "denominator": "MASTer(池卡 source_protocol 锚)"
@@ -38,7 +38,7 @@
38
38
  "sha256": "fa8914b29dbf7af25c8128aa1b8936fd658e37854e0a4f457175e2e3c82c3a03",
39
39
  "bytes": 2691
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/01-development-checklist-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/task-governance-and-acceptance.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.PROC.CHECKLIST_CHANGE_POLICY",
@@ -38,7 +38,7 @@
38
38
  "sha256": "fa8914b29dbf7af25c8128aa1b8936fd658e37854e0a4f457175e2e3c82c3a03",
39
39
  "bytes": 2691
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/01-development-checklist-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/task-governance-and-acceptance.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.PROC.SCOPE_DRIFT_RECLASSIFY",
@@ -37,7 +37,7 @@
37
37
  "sha256": "df20ccb85008f8744ea16db3ea64e54bdf9fd19d7aa3098c45dc44fff94c3d8d",
38
38
  "bytes": 1381
39
39
  },
40
- "seeded_spec": ".pomaster/specs/hard/backend/13-privacy-data-lifecycle-protocol.md",
40
+ "seeded_spec": ".pomaster/specs/hard/themes/privacy-and-data-lifecycle.md",
41
41
  "seed_manifest": "packages/cli/seeds/manifest.json",
42
42
  "d3_review": {
43
43
  "excluded_from_batch": "B6C",
@@ -37,7 +37,7 @@
37
37
  "sha256": "df20ccb85008f8744ea16db3ea64e54bdf9fd19d7aa3098c45dc44fff94c3d8d",
38
38
  "bytes": 1381
39
39
  },
40
- "seeded_spec": ".pomaster/specs/hard/backend/13-privacy-data-lifecycle-protocol.md",
40
+ "seeded_spec": ".pomaster/specs/hard/themes/privacy-and-data-lifecycle.md",
41
41
  "seed_manifest": "packages/cli/seeds/manifest.json",
42
42
  "d3_review": {
43
43
  "excluded_from_batch": "B6C",
@@ -32,7 +32,7 @@
32
32
  "sha256": "c628d47dcae1ddd58ea3651eeae9dd84ff5157365a3892a367bd7b5bf0af2b9d",
33
33
  "bytes": 2782
34
34
  },
35
- "seeded_spec": ".pomaster/specs/hard/frontend/10-engineering-tooling-protocol.md",
35
+ "seeded_spec": ".pomaster/specs/hard/themes/engineering-toolchain-and-dependencies.md",
36
36
  "seed_manifest": "packages/cli/seeds/manifest.json",
37
37
  "d3_review": {
38
38
  "excluded_from_batch": "B6B-1",
@@ -39,7 +39,7 @@
39
39
  "sha256": "26a6a23928fc24338f69fb34199ecdea5f654e21534a76ac53a7c0b78030b3c8",
40
40
  "bytes": 1359
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/32-release-versioning-rollback-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.REL.NO_IRREVERSIBLE_UNMONITORED_FULL_RELEASE",
@@ -38,7 +38,7 @@
38
38
  "sha256": "aae0557f4935bac24d04e37ebde5638471b709ff568fea0d13de35bd5dd404af",
39
39
  "bytes": 1764
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/33-release-versioning-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.REL.OBSERVABILITY_BEFORE_SHIP",
@@ -30,7 +30,7 @@
30
30
  "sha256": "26a6a23928fc24338f69fb34199ecdea5f654e21534a76ac53a7c0b78030b3c8",
31
31
  "bytes": 1359
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/backend/32-release-versioning-rollback-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6C",
@@ -39,7 +39,7 @@
39
39
  "sha256": "aae0557f4935bac24d04e37ebde5638471b709ff568fea0d13de35bd5dd404af",
40
40
  "bytes": 1764
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/33-release-versioning-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/release-and-feature-flags.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.REL.TRACEABLE_BUILD",
@@ -40,7 +40,7 @@
40
40
  "sha256": "732ac305cd16207e4a7bd4c95a6774d1aca33fb4e45cf29991ac0f6475605d6f",
41
41
  "bytes": 1894
42
42
  },
43
- "seeded_spec": ".pomaster/specs/hard/frontend/08-role-responsibility-protocol.md",
43
+ "seeded_spec": ".pomaster/specs/hard/themes/task-governance-and-acceptance.md",
44
44
  "seed_manifest": "packages/cli/seeds/manifest.json"
45
45
  },
46
46
  "id": "POLICY.ROLE.HUMAN_SIGNS_FOR_AI",
@@ -38,7 +38,7 @@
38
38
  "sha256": "4d9bb6bd34a64fcc3e362c969492bc326533e16ef4c6d2284dc01442733504e6",
39
39
  "bytes": 21948
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/04-security-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.SEC.AUTHN_POLICY_UNIFIED",
@@ -30,7 +30,7 @@
30
30
  "sha256": "56387f03edd35df50a5a701f4daab174b744d490663393f43331cf5401149f67",
31
31
  "bytes": 1385
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/backend/10-security-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6C",
@@ -59,6 +59,9 @@
59
59
  "self-declared ownership"
60
60
  ],
61
61
  "applies_when": {
62
+ "capabilities": [
63
+ "CAPABILITY.API_CONTRACT"
64
+ ],
62
65
  "lane": "backend",
63
66
  "condition": "服务端处理任何携带客户端来源信息的请求",
64
67
  "applicability_note": "服务端处理任何携带客户端来源信息的请求"
@@ -38,7 +38,7 @@
38
38
  "sha256": "4d9bb6bd34a64fcc3e362c969492bc326533e16ef4c6d2284dc01442733504e6",
39
39
  "bytes": 21948
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/04-security-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.SEC.NO_LONGTERM_SECURITY_DISABLE",
@@ -38,7 +38,7 @@
38
38
  "sha256": "4d9bb6bd34a64fcc3e362c969492bc326533e16ef4c6d2284dc01442733504e6",
39
39
  "bytes": 21948
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/04-security-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.SEC.NO_SCRIPT_READABLE_CREDENTIALS",
@@ -15,7 +15,7 @@
15
15
  "group": "FE-G1",
16
16
  "candidate_id": "POLICY.SEC.NO_SECRETS_IN_CLIENT_SURFACE",
17
17
  "density_rank": null,
18
- "density_score": 33.0,
18
+ "density_score": 33,
19
19
  "pool_statement_sha16": "cd65cc8d8776e7ee",
20
20
  "curated_rule": "B6b-I 分母(FE 01-23)required 池(ELIGIBLE 未物化)按池密度序取前 22 + advisory 池(SHOULD 源 backlog policy 卡)按同公式密度序取前 3 = 25(D5 上限);UNIVERSAL + UNIVERSAL_POLICY + 无 uncertainty + 非 project_scope + 非重复",
21
21
  "denominator": "MASTer(池卡 source_protocol 锚)"
@@ -38,7 +38,7 @@
38
38
  "sha256": "4d9bb6bd34a64fcc3e362c969492bc326533e16ef4c6d2284dc01442733504e6",
39
39
  "bytes": 21948
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/04-security-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.SEC.NO_SECRETS_IN_CLIENT_SURFACE",
@@ -30,7 +30,7 @@
30
30
  "sha256": "4d9bb6bd34a64fcc3e362c969492bc326533e16ef4c6d2284dc01442733504e6",
31
31
  "bytes": 21948
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/frontend/04-security-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6B-1",
@@ -30,7 +30,7 @@
30
30
  "sha256": "56387f03edd35df50a5a701f4daab174b744d490663393f43331cf5401149f67",
31
31
  "bytes": 1385
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/backend/10-security-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6C",
@@ -59,6 +59,9 @@
59
59
  "expiry review"
60
60
  ],
61
61
  "applies_when": {
62
+ "capabilities": [
63
+ "CAPABILITY.API_CONTRACT"
64
+ ],
62
65
  "lane": "backend",
63
66
  "condition": "放宽任何安全控制时",
64
67
  "applicability_note": "放宽任何安全控制时"
@@ -30,7 +30,7 @@
30
30
  "sha256": "56387f03edd35df50a5a701f4daab174b744d490663393f43331cf5401149f67",
31
31
  "bytes": 1385
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/backend/10-security-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6C",
@@ -60,6 +60,9 @@
60
60
  "audit trail"
61
61
  ],
62
62
  "applies_when": {
63
+ "capabilities": [
64
+ "CAPABILITY.API_CONTRACT"
65
+ ],
63
66
  "lane": "backend",
64
67
  "condition": "任何跨信任域的数据流或调用入口",
65
68
  "applicability_note": "任何跨信任域的数据流或调用入口"
@@ -38,7 +38,7 @@
38
38
  "sha256": "4d9bb6bd34a64fcc3e362c969492bc326533e16ef4c6d2284dc01442733504e6",
39
39
  "bytes": 21948
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/04-security-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.SEC.UPLOAD_DOWNLOAD_SERVER_RECHECK",
@@ -38,7 +38,7 @@
38
38
  "sha256": "4d9bb6bd34a64fcc3e362c969492bc326533e16ef4c6d2284dc01442733504e6",
39
39
  "bytes": 21948
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/04-security-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/security.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.SEC.URL_SOURCE_ALLOWLIST",
@@ -32,7 +32,7 @@
32
32
  "sha256": "b50c1fdcab5d1a3217a6e28059580195f681b6e68f465eb8e055bd8e5310c479",
33
33
  "bytes": 14733
34
34
  },
35
- "seeded_spec": ".pomaster/specs/hard/backend/index.md",
35
+ "seeded_spec": ".pomaster/specs/hard/themes/index.md",
36
36
  "seed_manifest": "packages/cli/seeds/manifest.json",
37
37
  "d3_review": {
38
38
  "excluded_from_batch": "B6C",
@@ -32,7 +32,7 @@
32
32
  "sha256": "37fc443ce1f90eaa2584a82e12300d8281760332ec69d55a52b26cb22a2b2375",
33
33
  "bytes": 22578
34
34
  },
35
- "seeded_spec": ".pomaster/specs/hard/frontend/index.md",
35
+ "seeded_spec": ".pomaster/specs/hard/themes/index.md",
36
36
  "seed_manifest": "packages/cli/seeds/manifest.json",
37
37
  "d3_review": {
38
38
  "excluded_from_batch": "B6B-2",
@@ -32,7 +32,7 @@
32
32
  "sha256": "37fc443ce1f90eaa2584a82e12300d8281760332ec69d55a52b26cb22a2b2375",
33
33
  "bytes": 22578
34
34
  },
35
- "seeded_spec": ".pomaster/specs/hard/frontend/index.md",
35
+ "seeded_spec": ".pomaster/specs/hard/themes/index.md",
36
36
  "seed_manifest": "packages/cli/seeds/manifest.json",
37
37
  "d3_review": {
38
38
  "excluded_from_batch": "B6B-2",
@@ -39,7 +39,7 @@
39
39
  "sha256": "add6e21ffa5dd45940dda725e8d4e234c9d2a49775139c895cc7ad5f7caf7bf0",
40
40
  "bytes": 1343
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/02-project-structure-governance-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/architecture-and-module-boundaries.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.STRUCT.MODULE_ENTRY_DEPENDENCY_DECLARED",
@@ -39,7 +39,7 @@
39
39
  "sha256": "add6e21ffa5dd45940dda725e8d4e234c9d2a49775139c895cc7ad5f7caf7bf0",
40
40
  "bytes": 1343
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/02-project-structure-governance-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/architecture-and-module-boundaries.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.STRUCT.NO_UNEXPLAINED_TOP_LEVEL_DIR",
@@ -39,7 +39,7 @@
39
39
  "sha256": "add6e21ffa5dd45940dda725e8d4e234c9d2a49775139c895cc7ad5f7caf7bf0",
40
40
  "bytes": 1343
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/02-project-structure-governance-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/architecture-and-module-boundaries.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.STRUCT.REUSE_PROVEN_STRUCTURE",
@@ -39,7 +39,7 @@
39
39
  "sha256": "f5df73dd7bec4ccf4132c3d7a9918a6f1cb0dd9682aa17956cb24446aa406ad7",
40
40
  "bytes": 1267
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/28-testing-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/testing-and-verification.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.TEST.CONTROL_NONDETERMINISM_KEEP_DIAGNOSIS",
@@ -39,7 +39,7 @@
39
39
  "sha256": "477dc049d1e1ec72898a07615655ee374924c7796a0210741e8c97474644a4d6",
40
40
  "bytes": 2831
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/20-testing-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/testing-and-verification.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.TEST.ISOLATION_AND_CLEANUP",
@@ -39,7 +39,7 @@
39
39
  "sha256": "f5df73dd7bec4ccf4132c3d7a9918a6f1cb0dd9682aa17956cb24446aa406ad7",
40
40
  "bytes": 1267
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/28-testing-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/testing-and-verification.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.TEST.NO_SYNTHETIC_STABILITY",
@@ -38,7 +38,7 @@
38
38
  "sha256": "477dc049d1e1ec72898a07615655ee374924c7796a0210741e8c97474644a4d6",
39
39
  "bytes": 2831
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/20-testing-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/testing-and-verification.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.TEST.PYRAMID_AND_CI_MATRIX",
@@ -30,7 +30,7 @@
30
30
  "sha256": "477dc049d1e1ec72898a07615655ee374924c7796a0210741e8c97474644a4d6",
31
31
  "bytes": 2831
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/frontend/20-testing-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/testing-and-verification.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6B-1",
@@ -30,7 +30,7 @@
30
30
  "sha256": "f5df73dd7bec4ccf4132c3d7a9918a6f1cb0dd9682aa17956cb24446aa406ad7",
31
31
  "bytes": 1267
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/backend/28-testing-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/testing-and-verification.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6C",
@@ -39,7 +39,7 @@
39
39
  "sha256": "f5df73dd7bec4ccf4132c3d7a9918a6f1cb0dd9682aa17956cb24446aa406ad7",
40
40
  "bytes": 1267
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/28-testing-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/testing-and-verification.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.TEST.RISK_DRIVEN_PLAN",
@@ -39,7 +39,7 @@
39
39
  "sha256": "477dc049d1e1ec72898a07615655ee374924c7796a0210741e8c97474644a4d6",
40
40
  "bytes": 2831
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/20-testing-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/testing-and-verification.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.TEST.STABLE_OBSERVABLE_ASSERTIONS",
@@ -39,7 +39,7 @@
39
39
  "sha256": "b0fcecee17a3acdb11f59f065ae7cac269cc292e999dd39444e5293565d38fe1",
40
40
  "bytes": 1263
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/26-engineering-tooling-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/engineering-toolchain-and-dependencies.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.TOOL.DISCOVERABLE_TOOLCHAIN",
@@ -39,7 +39,7 @@
39
39
  "sha256": "b0fcecee17a3acdb11f59f065ae7cac269cc292e999dd39444e5293565d38fe1",
40
40
  "bytes": 1263
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/backend/26-engineering-tooling-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/engineering-toolchain-and-dependencies.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.TOOL.NO_HAND_EDIT_GENERATED_NO_CI_DRIFT",
@@ -41,7 +41,7 @@
41
41
  "sha256": "c628d47dcae1ddd58ea3651eeae9dd84ff5157365a3892a367bd7b5bf0af2b9d",
42
42
  "bytes": 2782
43
43
  },
44
- "seeded_spec": ".pomaster/specs/hard/frontend/10-engineering-tooling-protocol.md",
44
+ "seeded_spec": ".pomaster/specs/hard/themes/engineering-toolchain-and-dependencies.md",
45
45
  "seed_manifest": "packages/cli/seeds/manifest.json"
46
46
  },
47
47
  "id": "POLICY.TOOL.NO_VENDORED_BODY_EDITS",
@@ -30,7 +30,7 @@
30
30
  "sha256": "b0fcecee17a3acdb11f59f065ae7cac269cc292e999dd39444e5293565d38fe1",
31
31
  "bytes": 1263
32
32
  },
33
- "seeded_spec": ".pomaster/specs/hard/backend/26-engineering-tooling-protocol.md",
33
+ "seeded_spec": ".pomaster/specs/hard/themes/engineering-toolchain-and-dependencies.md",
34
34
  "seed_manifest": "packages/cli/seeds/manifest.json",
35
35
  "d3_review": {
36
36
  "excluded_from_batch": "B6C",
@@ -38,7 +38,7 @@
38
38
  "sha256": "5ed49550278ae263d7b4f3914c20c31a3005dc101d45bbd48c025a444f7441c4",
39
39
  "bytes": 1964
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/24-component-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/ui-presentation-and-design.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.WEB.COMP.NO_TRIVIAL_OR_GOD_COMPONENT",
@@ -39,7 +39,7 @@
39
39
  "sha256": "5ed49550278ae263d7b4f3914c20c31a3005dc101d45bbd48c025a444f7441c4",
40
40
  "bytes": 1964
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/24-component-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/ui-presentation-and-design.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.WEB.COMP.PUBLIC_CONTRACT_COMPLETENESS",
@@ -39,7 +39,7 @@
39
39
  "sha256": "5df3a2ddcd1140b2e62dd80f547cf6c0197c44a91ebbdda02ded44bcaefed351",
40
40
  "bytes": 1756
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/39-copywriting-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/internationalization-and-copywriting.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.WEB.COPY.ACTION_OBJECT_CLARITY",
@@ -38,7 +38,7 @@
38
38
  "sha256": "5df3a2ddcd1140b2e62dd80f547cf6c0197c44a91ebbdda02ded44bcaefed351",
39
39
  "bytes": 1756
40
40
  },
41
- "seeded_spec": ".pomaster/specs/hard/frontend/39-copywriting-protocol.md",
41
+ "seeded_spec": ".pomaster/specs/hard/themes/internationalization-and-copywriting.md",
42
42
  "seed_manifest": "packages/cli/seeds/manifest.json"
43
43
  },
44
44
  "id": "POLICY.WEB.COPY.ENUMERABLE_PLACEMENT",
@@ -39,7 +39,7 @@
39
39
  "sha256": "5df3a2ddcd1140b2e62dd80f547cf6c0197c44a91ebbdda02ded44bcaefed351",
40
40
  "bytes": 1756
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/39-copywriting-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/internationalization-and-copywriting.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.WEB.COPY.ERROR_NEXT_STEP",
@@ -40,7 +40,7 @@
40
40
  "sha256": "335df4991a29eb77222b0596de5db7fcc0bd5d9019ecf9bf882a08cea74c1937",
41
41
  "bytes": 2048
42
42
  },
43
- "seeded_spec": ".pomaster/specs/hard/frontend/41-design-handoff-protocol.md",
43
+ "seeded_spec": ".pomaster/specs/hard/themes/page-composition-and-browser-environment.md",
44
44
  "seed_manifest": "packages/cli/seeds/manifest.json"
45
45
  },
46
46
  "id": "POLICY.WEB.HANDOFF.STATE_MATRIX_FULL",
@@ -39,7 +39,7 @@
39
39
  "sha256": "68ed4e126042eee191f071786d58983b3b2df94a826a13b50fc52aaa6536c7fa",
40
40
  "bytes": 14541
41
41
  },
42
- "seeded_spec": ".pomaster/specs/hard/frontend/38-internationalization-protocol.md",
42
+ "seeded_spec": ".pomaster/specs/hard/themes/internationalization-and-copywriting.md",
43
43
  "seed_manifest": "packages/cli/seeds/manifest.json"
44
44
  },
45
45
  "id": "POLICY.WEB.I18N.COPY_KEY_DISCIPLINE",