pomaster 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/README.md +57 -22
  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 +95 -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 +95 -0
  132. package/catalog/policies/policy.sec.third_party_execution_register.json +2 -1
  133. package/catalog/policies/policy.sec.trust_boundary_enforcement.json +96 -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 +20514 -10735
  240. package/package.json +2 -1
  241. package/seeds/aggregation-manifest.json +691 -0
  242. package/seeds/baseline/backend/api-contract.md +26 -0
  243. package/seeds/baseline/backend/architecture.md +31 -0
  244. package/seeds/baseline/backend/data-access.md +31 -0
  245. package/seeds/baseline/backend/directory-structure.md +11 -0
  246. package/seeds/baseline/backend/integration-runtime.md +21 -0
  247. package/seeds/baseline/backend/quality.md +31 -0
  248. package/seeds/baseline/backend/stack.yaml +13 -0
  249. package/seeds/baseline/backend/transaction-concurrency.md +26 -0
  250. package/seeds/baseline/data/lineage.md +11 -0
  251. package/seeds/baseline/data/migration.md +11 -0
  252. package/seeds/baseline/data/model.md +31 -0
  253. package/seeds/baseline/data/precision-units.md +31 -0
  254. package/seeds/baseline/data/quality.md +31 -0
  255. package/seeds/baseline/frontend/api-and-error.md +21 -0
  256. package/seeds/baseline/frontend/architecture.md +26 -0
  257. package/seeds/baseline/frontend/design-system.md +21 -0
  258. package/seeds/baseline/frontend/directory-structure.md +16 -0
  259. package/seeds/baseline/frontend/quality.md +26 -0
  260. package/seeds/baseline/frontend/stack.yaml +17 -0
  261. package/seeds/baseline/frontend/state-and-data.md +26 -0
  262. package/seeds/baseline/manifest.yaml +32 -0
  263. package/seeds/baseline/platform/delivery.md +36 -0
  264. package/seeds/baseline/platform/environment.md +11 -0
  265. package/seeds/baseline/platform/observability.md +31 -0
  266. package/seeds/baseline/platform/security.md +26 -0
  267. package/seeds/manifest.json +1429 -0
  268. package/seeds/specs/evidence/accessibility.md +89 -0
  269. package/seeds/specs/evidence/architecture.md +89 -0
  270. package/seeds/specs/evidence/browser-e2e.md +91 -0
  271. package/seeds/specs/evidence/build.md +91 -0
  272. package/seeds/specs/evidence/business-acceptance.md +89 -0
  273. package/seeds/specs/evidence/complexity-crap.md +97 -0
  274. package/seeds/specs/evidence/contract.md +89 -0
  275. package/seeds/specs/evidence/coverage.md +91 -0
  276. package/seeds/specs/evidence/data-migration.md +91 -0
  277. package/seeds/specs/evidence/dead-code-duplicate.md +89 -0
  278. package/seeds/specs/evidence/dependency-supply-chain.md +89 -0
  279. package/seeds/specs/evidence/index.md +55 -0
  280. package/seeds/specs/evidence/mutation.md +89 -0
  281. package/seeds/specs/evidence/performance.md +89 -0
  282. package/seeds/specs/evidence/release.md +91 -0
  283. package/seeds/specs/evidence/runtime-observability.md +91 -0
  284. package/seeds/specs/evidence/security.md +89 -0
  285. package/seeds/specs/evidence/typecheck-lint.md +91 -0
  286. package/seeds/specs/evidence/unit-component-integration.md +91 -0
  287. package/seeds/specs/evidence/visual-regression.md +89 -0
  288. package/seeds/specs/hard/stacks/antdesign/antdesign-ui-overlay.md +48 -0
  289. package/seeds/specs/hard/stacks/antdesign/index.md +20 -0
  290. package/seeds/specs/hard/stacks/css/css-system-overlay.md +52 -0
  291. package/seeds/specs/hard/stacks/css/index.md +20 -0
  292. package/seeds/specs/hard/stacks/geist/geist-design-system-overlay.md +48 -0
  293. package/seeds/specs/hard/stacks/geist/index.md +20 -0
  294. package/seeds/specs/hard/stacks/java/index.md +20 -0
  295. package/seeds/specs/hard/stacks/java/java-language-overlay.md +35 -0
  296. package/seeds/specs/hard/stacks/jpa/index.md +20 -0
  297. package/seeds/specs/hard/stacks/jpa/jpa-persistence-overlay.md +35 -0
  298. package/seeds/specs/hard/stacks/kubernetes-ingress/index.md +20 -0
  299. package/seeds/specs/hard/stacks/kubernetes-ingress/kubernetes-ingress-overlay.md +35 -0
  300. package/seeds/specs/hard/stacks/messaging/index.md +20 -0
  301. package/seeds/specs/hard/stacks/messaging/messaging-reliability-overlay.md +35 -0
  302. package/seeds/specs/hard/stacks/mybatis/index.md +20 -0
  303. package/seeds/specs/hard/stacks/mybatis/mybatis-persistence-overlay.md +35 -0
  304. package/seeds/specs/hard/stacks/mysql/index.md +20 -0
  305. package/seeds/specs/hard/stacks/mysql/mysql-database-overlay.md +35 -0
  306. package/seeds/specs/hard/stacks/nginx/index.md +20 -0
  307. package/seeds/specs/hard/stacks/nginx/nginx-proxy-overlay.md +35 -0
  308. package/seeds/specs/hard/stacks/postgresql/index.md +20 -0
  309. package/seeds/specs/hard/stacks/postgresql/postgresql-database-overlay.md +35 -0
  310. package/seeds/specs/hard/stacks/redis/index.md +20 -0
  311. package/seeds/specs/hard/stacks/redis/redis-cache-overlay.md +35 -0
  312. package/seeds/specs/hard/stacks/spring-batch/index.md +20 -0
  313. package/seeds/specs/hard/stacks/spring-batch/spring-batch-job-overlay.md +35 -0
  314. package/seeds/specs/hard/stacks/spring-boot/index.md +20 -0
  315. package/seeds/specs/hard/stacks/spring-boot/spring-boot-application-overlay.md +35 -0
  316. package/seeds/specs/hard/stacks/spring-mvc/index.md +20 -0
  317. package/seeds/specs/hard/stacks/spring-mvc/spring-mvc-web-overlay.md +35 -0
  318. package/seeds/specs/hard/stacks/spring-webflux/index.md +20 -0
  319. package/seeds/specs/hard/stacks/spring-webflux/spring-webflux-reactive-overlay.md +35 -0
  320. package/seeds/specs/hard/stacks/tomcat/index.md +20 -0
  321. package/seeds/specs/hard/stacks/tomcat/tomcat-runtime-overlay.md +35 -0
  322. package/seeds/specs/hard/stacks/vue3/index.md +20 -0
  323. package/seeds/specs/hard/stacks/vue3/vue3-framework-overlay.md +71 -0
  324. package/seeds/specs/hard/themes/ai-generated-code.md +171 -0
  325. package/seeds/specs/hard/themes/api-contract-and-error-semantics.md +532 -0
  326. package/seeds/specs/hard/themes/architecture-and-module-boundaries.md +323 -0
  327. package/seeds/specs/hard/themes/data-and-transactions.md +582 -0
  328. package/seeds/specs/hard/themes/engineering-toolchain-and-dependencies.md +333 -0
  329. package/seeds/specs/hard/themes/environment-and-configuration.md +196 -0
  330. package/seeds/specs/hard/themes/frontend-state-and-client-data.md +342 -0
  331. package/seeds/specs/hard/themes/index.md +374 -0
  332. package/seeds/specs/hard/themes/integration-and-async-runtime.md +331 -0
  333. package/seeds/specs/hard/themes/internationalization-and-copywriting.md +350 -0
  334. package/seeds/specs/hard/themes/observability-and-analytics.md +305 -0
  335. package/seeds/specs/hard/themes/page-composition-and-browser-environment.md +554 -0
  336. package/seeds/specs/hard/themes/performance-and-capacity.md +226 -0
  337. package/seeds/specs/hard/themes/permission-and-authorization.md +168 -0
  338. package/seeds/specs/hard/themes/privacy-and-data-lifecycle.md +176 -0
  339. package/seeds/specs/hard/themes/release-and-feature-flags.md +237 -0
  340. package/seeds/specs/hard/themes/security.md +372 -0
  341. package/seeds/specs/hard/themes/task-governance-and-acceptance.md +554 -0
  342. package/seeds/specs/hard/themes/testing-and-verification.md +266 -0
  343. package/seeds/specs/hard/themes/ui-presentation-and-design.md +670 -0
  344. package/seeds/specs/hard/themes/value-semantics-and-domain-data.md +339 -0
@@ -0,0 +1,91 @@
1
+ # Evidence Spec — 发布
2
+
3
+ - 路径:specs/evidence/release.md
4
+ - 对象面词形:SPEC.RELEASE(B2 Evidence Spec 一等对象——kind=business_rule + payload.spec_kind=evidence_spec 判别;本文件是项目可编辑要求面,对应对象由 init 步骤 4.7 预植 SPEC.* store 对象(PROPOSED 起步,裁定批 D D2);本文件为该对象 requirements 的播种底稿,对象演进归项目运行时 applyTransaction)
5
+ - 语义锚:Project-Store PRD §13(Evidence Spec Kit)——要求面非证据面:持要求不持判定,判定值只在 Verification Result(claim 四态)/Gate Result(七态)。
6
+
7
+ ## Purpose
8
+
9
+ 本 Spec 定义「发布可信」这一证据的要求:发布制品 hash 可追溯,审批链完整,版本词形与回滚面对照 baseline/platform/delivery.md 登记逐项在座。
10
+
11
+ ## Subjects
12
+
13
+ - 发布单元(以 baseline/platform/delivery.md 登记的发布单元为准)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「release artifact is traceable, approved and rollback-capable」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 制品清单及内容寻址 hash(与构建产物对账——SPEC.BUILD 产物引用)。
24
+
25
+ - 版本词形与来源(登记引用);审批链记录(逐节点:角色/结论)。
26
+
27
+ - 回滚面:方案在座且具备可执行性(演练记录或论证)。
28
+
29
+ ## Allowed Producers
30
+
31
+ - 构建通路(制品 hash);审批登记面(审批链);禁以聊天记录替代登记审批。
32
+
33
+ ## Tool Bindings
34
+
35
+ - 制品库与审批登记面由项目登记(baseline/platform/delivery.md 引用);hash 词形内容寻址(PRD §3.4 同源纪律)。
36
+
37
+ ## Assertions
38
+
39
+ - 判定资格总则:四值词形闭包(PASS/FAIL/UNKNOWN/NOT_RUN——PRD §13.1;禁发明第五值);判卷执行归 Verification Result(claim 四态)/Gate Result(七态),本文件不自填判定值。
40
+
41
+ - 资格判定:可满足本 Spec 条款的 claim/run 必须出自对象面 requirements 资格清单(claim_refs/gate_refs 在册;资格外一律不满足,跨对象借证=资格不成立——21-evidence-spec kind profile 词形)。
42
+
43
+ ### PASS
44
+
45
+ - 资格:全部 Required Observations 在座且出自 Allowed Producers/Tool Bindings 资格面;Required Artifacts 齐备且可取回;要求条款逐条满足。
46
+
47
+ - 本 Spec 具体条款:制品 hash 与构建产物一致;审批链完整;版本与回滚面登记在座。
48
+
49
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
50
+
51
+ ### FAIL
52
+
53
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
54
+
55
+ - 本 Spec 具体情形:hash 对不上;审批缺节点;回滚面缺席。
56
+
57
+ ### UNKNOWN
58
+
59
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
60
+
61
+ ### NOT_RUN
62
+
63
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
64
+
65
+ ## Required Artifacts
66
+
67
+ - 制品(内容寻址引用);审批记录;回滚演练/论证材料。
68
+
69
+ ## Retention
70
+
71
+ - 证据与 raw artifact 至少保留至对应 claim 关账;发布面证据按 baseline/platform/delivery.md 登记的保留策略;blob 面优先内容寻址(PRD §3.4)。
72
+
73
+ ## Exceptions
74
+
75
+ - 紧急发布快速通道逐次登记(理由+事后补审时限);补审逾期即登记违规。
76
+
77
+ ## Activation Guidance
78
+
79
+ - 激活时点:每次发布;回滚后重新发布。
80
+
81
+ ## Ownership
82
+
83
+ - 要求属主:项目 Owner(条款与例外裁决)。
84
+
85
+ - 证据生产:变更执行 lane 角色(Activation Guidance 所列时点);判定:Verification/Gate 通路——角色分离,生产者不得自判 PASS。
86
+
87
+ ## Change Policy
88
+
89
+ - 本文件是项目可编辑要求面:条款修订走项目变更流程(CHANGE.* 登记);要求条款(必要性)修订需 Owner 确认,措辞/呈现类修订不受限。
90
+
91
+ - 阈值联动:数值阈值只住 baseline/quality 登记(§13.2「阈值必须项目化」);本文件修订只改要求条款,不改阈值数字。
@@ -0,0 +1,91 @@
1
+ # Evidence Spec — 运行时可观测
2
+
3
+ - 路径:specs/evidence/runtime-observability.md
4
+ - 对象面词形:SPEC.RUNTIME_OBSERVABILITY(B2 Evidence Spec 一等对象——kind=business_rule + payload.spec_kind=evidence_spec 判别;本文件是项目可编辑要求面,对应对象由 init 步骤 4.7 预植 SPEC.* store 对象(PROPOSED 起步,裁定批 D D2);本文件为该对象 requirements 的播种底稿,对象演进归项目运行时 applyTransaction)
5
+ - 语义锚:Project-Store PRD §13(Evidence Spec Kit)——要求面非证据面:持要求不持判定,判定值只在 Verification Result(claim 四态)/Gate Result(七态)。
6
+
7
+ ## Purpose
8
+
9
+ 本 Spec 定义「运行时行为可观测」这一证据的要求:部署锚与 log/metric/trace 登记面(baseline/platform/observability.md 口径)在目标环境可取回,关联 ID 贯通请求链路。
10
+
11
+ ## Subjects
12
+
13
+ - 变更部署到的运行环境与环境登记(ENV.* 面;环境差异以 baseline/platform/environment.md 登记为准)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「registered observability surfaces are retrievable in the target environment」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 部署锚(部署清单/版本/实例)与目标环境登记一致。
24
+
25
+ - log/metric/trace 各面取样(按 baseline 登记口径);关联 ID 贯通证明(同一请求跨面可串联)。
26
+
27
+ - audit 面(登记的审计事件可取回,如适用)。
28
+
29
+ ## Allowed Producers
30
+
31
+ - 目标环境的观测通道取样(读侧);取样必须带环境锚,禁跨环境混样。
32
+
33
+ ## Tool Bindings
34
+
35
+ - 观测通道由项目登记(baseline/platform/observability.md 引用);证据形态对应 evidence-model 五类中 runtime-deployment 类。
36
+
37
+ ## Assertions
38
+
39
+ - 判定资格总则:四值词形闭包(PASS/FAIL/UNKNOWN/NOT_RUN——PRD §13.1;禁发明第五值);判卷执行归 Verification Result(claim 四态)/Gate Result(七态),本文件不自填判定值。
40
+
41
+ - 资格判定:可满足本 Spec 条款的 claim/run 必须出自对象面 requirements 资格清单(claim_refs/gate_refs 在册;资格外一律不满足,跨对象借证=资格不成立——21-evidence-spec kind profile 词形)。
42
+
43
+ ### PASS
44
+
45
+ - 资格:全部 Required Observations 在座且出自 Allowed Producers/Tool Bindings 资格面;Required Artifacts 齐备且可取回;要求条款逐条满足。
46
+
47
+ - 本 Spec 具体条款:登记 observation 面逐项可取回;关联 ID 贯通;部署锚与环境登记一致。
48
+
49
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
50
+
51
+ ### FAIL
52
+
53
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
54
+
55
+ - 本 Spec 具体情形:登记面在目标环境不可取回;关联 ID 断链;环境漂移未登记。
56
+
57
+ ### UNKNOWN
58
+
59
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
60
+
61
+ ### NOT_RUN
62
+
63
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
64
+
65
+ ## Required Artifacts
66
+
67
+ - 取样原始数据(blob);部署锚快照。
68
+
69
+ ## Retention
70
+
71
+ - 证据与 raw artifact 至少保留至对应 claim 关账;发布面证据按 baseline/platform/delivery.md 登记的保留策略;blob 面优先内容寻址(PRD §3.4)。
72
+
73
+ ## Exceptions
74
+
75
+ - 环境级豁免(如本地环境无 trace 后端)逐环境登记(理由+目标环境复归条件)。
76
+
77
+ ## Activation Guidance
78
+
79
+ - 激活时点:部署后验证;运行时缺陷排查收口;发布前演练。
80
+
81
+ ## Ownership
82
+
83
+ - 要求属主:项目 Owner(条款与例外裁决)。
84
+
85
+ - 证据生产:变更执行 lane 角色(Activation Guidance 所列时点);判定:Verification/Gate 通路——角色分离,生产者不得自判 PASS。
86
+
87
+ ## Change Policy
88
+
89
+ - 本文件是项目可编辑要求面:条款修订走项目变更流程(CHANGE.* 登记);要求条款(必要性)修订需 Owner 确认,措辞/呈现类修订不受限。
90
+
91
+ - 阈值联动:数值阈值只住 baseline/quality 登记(§13.2「阈值必须项目化」);本文件修订只改要求条款,不改阈值数字。
@@ -0,0 +1,89 @@
1
+ # Evidence Spec — 安全核查
2
+
3
+ - 路径:specs/evidence/security.md
4
+ - 对象面词形:SPEC.SECURITY(B2 Evidence Spec 一等对象——kind=business_rule + payload.spec_kind=evidence_spec 判别;本文件是项目可编辑要求面,对应对象由 init 步骤 4.7 预植 SPEC.* store 对象(PROPOSED 起步,裁定批 D D2);本文件为该对象 requirements 的播种底稿,对象演进归项目运行时 applyTransaction)
5
+ - 语义锚:Project-Store PRD §13(Evidence Spec Kit)——要求面非证据面:持要求不持判定,判定值只在 Verification Result(claim 四态)/Gate Result(七态)。
6
+
7
+ ## Purpose
8
+
9
+ 本 Spec 定义「安全核查通过」这一证据的要求:三条独立腿(secret 泄露扫描/依赖漏洞审计/静态分析)各自产出发现清单并各自判定(vNext 既有 SECURITY 门禁三腿语义:三个独立 adapter,禁止合并为单一 security ok 绿灯),未处置发现逐腿呈现。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰代码与仓库面(密钥/凭据/依赖声明)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「three security legs each pass with zero unhandled findings」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 三腿各自:工具/范围/发现清单(逐条:类别/严重度/位置)/误报与豁免登记。
24
+
25
+ - 未处置发现汇总(逐腿)。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 三腿各自独立工具执行(vNext 既有词形族:gitleaks/pip_audit/semgrep 类);任一腿缺席=本证据 NOT_RUN,禁以其余腿补位。
30
+
31
+ ## Tool Bindings
32
+
33
+ - 三腿工具由项目登记(登记配置锚在座);腿间禁合并判定(聚合绿灯=资格不成立)。
34
+
35
+ ## Assertions
36
+
37
+ - 判定资格总则:四值词形闭包(PASS/FAIL/UNKNOWN/NOT_RUN——PRD §13.1;禁发明第五值);判卷执行归 Verification Result(claim 四态)/Gate Result(七态),本文件不自填判定值。
38
+
39
+ - 资格判定:可满足本 Spec 条款的 claim/run 必须出自对象面 requirements 资格清单(claim_refs/gate_refs 在册;资格外一律不满足,跨对象借证=资格不成立——21-evidence-spec kind profile 词形)。
40
+
41
+ ### PASS
42
+
43
+ - 资格:全部 Required Observations 在座且出自 Allowed Producers/Tool Bindings 资格面;Required Artifacts 齐备且可取回;要求条款逐条满足。
44
+
45
+ - 本 Spec 具体条款:三腿各自零未处置发现(发现=已处置或已登记豁免)。
46
+
47
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
48
+
49
+ ### FAIL
50
+
51
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
52
+
53
+ - 本 Spec 具体情形:任一腿存在未处置发现;腿缺席冒充通过。
54
+
55
+ ### UNKNOWN
56
+
57
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
58
+
59
+ ### NOT_RUN
60
+
61
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
62
+
63
+ ## Required Artifacts
64
+
65
+ - 三腿各自原始输出;豁免登记引用。
66
+
67
+ ## Retention
68
+
69
+ - 证据与 raw artifact 至少保留至对应 claim 关账;发布面证据按 baseline/platform/delivery.md 登记的保留策略;blob 面优先内容寻址(PRD §3.4)。
70
+
71
+ ## Exceptions
72
+
73
+ - 逐发现豁免(理由+期限+复核触发),按腿登记;期限到期未复核即转 FAIL。
74
+
75
+ ## Activation Guidance
76
+
77
+ - 激活时点:代码/依赖变更提交前;CI 门禁放行前;发布前。
78
+
79
+ ## Ownership
80
+
81
+ - 要求属主:项目 Owner(条款与例外裁决)。
82
+
83
+ - 证据生产:变更执行 lane 角色(Activation Guidance 所列时点);判定:Verification/Gate 通路——角色分离,生产者不得自判 PASS。
84
+
85
+ ## Change Policy
86
+
87
+ - 本文件是项目可编辑要求面:条款修订走项目变更流程(CHANGE.* 登记);要求条款(必要性)修订需 Owner 确认,措辞/呈现类修订不受限。
88
+
89
+ - 阈值联动:数值阈值只住 baseline/quality 登记(§13.2「阈值必须项目化」);本文件修订只改要求条款,不改阈值数字。
@@ -0,0 +1,91 @@
1
+ # Evidence Spec — 类型检查与静态检查
2
+
3
+ - 路径:specs/evidence/typecheck-lint.md
4
+ - 对象面词形:SPEC.TYPECHECK_LINT(B2 Evidence Spec 一等对象——kind=business_rule + payload.spec_kind=evidence_spec 判别;本文件是项目可编辑要求面,对应对象由 init 步骤 4.7 预植 SPEC.* store 对象(PROPOSED 起步,裁定批 D D2);本文件为该对象 requirements 的播种底稿,对象演进归项目运行时 applyTransaction)
5
+ - 语义锚:Project-Store PRD §13(Evidence Spec Kit)——要求面非证据面:持要求不持判定,判定值只在 Verification Result(claim 四态)/Gate Result(七态)。
6
+
7
+ ## Purpose
8
+
9
+ 本 Spec 定义「静态检查通过」这一证据的要求:项目登记的类型检查器与 linter 在变更面执行完成,零未处置的 error 级发现,规则集配置锚在座可溯。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰的代码文件及其类型依赖闭包(闭包口径以项目登记的检查范围为准)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「changed code passes typecheck and lint with zero unresolved error-level findings」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 类型检查命令退出码与发现清单(逐条:文件/位置/规则)。
24
+
25
+ - lint 命令退出码与发现清单(同上)。
26
+
27
+ - 规则集配置锚(配置文件路径+内容寻址引用),证明发现清单出自登记规则集。
28
+
29
+ ## Allowed Producers
30
+
31
+ - 项目登记的类型检查器与 linter;发现清单必须出自工具原始输出,禁人工转述替代。
32
+
33
+ ## Tool Bindings
34
+
35
+ - 类型检查器/linter 的具体工具与规则集由项目登记(配置锚在座);未登记工具的发现清单不具备资格。
36
+
37
+ ## Assertions
38
+
39
+ - 判定资格总则:四值词形闭包(PASS/FAIL/UNKNOWN/NOT_RUN——PRD §13.1;禁发明第五值);判卷执行归 Verification Result(claim 四态)/Gate Result(七态),本文件不自填判定值。
40
+
41
+ - 资格判定:可满足本 Spec 条款的 claim/run 必须出自对象面 requirements 资格清单(claim_refs/gate_refs 在册;资格外一律不满足,跨对象借证=资格不成立——21-evidence-spec kind profile 词形)。
42
+
43
+ ### PASS
44
+
45
+ - 资格:全部 Required Observations 在座且出自 Allowed Producers/Tool Bindings 资格面;Required Artifacts 齐备且可取回;要求条款逐条满足。
46
+
47
+ - 本 Spec 具体条款:两类命令退出码 0;发现清单为空,或每条发现都有例外登记(Exceptions 通道)。
48
+
49
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
50
+
51
+ ### FAIL
52
+
53
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
54
+
55
+ - 本 Spec 具体情形:任一 error 级发现无例外登记;配置锚缺席(发现不可溯源)。
56
+
57
+ ### UNKNOWN
58
+
59
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
60
+
61
+ ### NOT_RUN
62
+
63
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
64
+
65
+ ## Required Artifacts
66
+
67
+ - 工具原始输出(逐字);例外登记引用。
68
+
69
+ ## Retention
70
+
71
+ - 证据与 raw artifact 至少保留至对应 claim 关账;发布面证据按 baseline/platform/delivery.md 登记的保留策略;blob 面优先内容寻址(PRD §3.4)。
72
+
73
+ ## Exceptions
74
+
75
+ - 逐发现登记豁免(理由+批准者+复核触发);批量豁免禁用。
76
+
77
+ ## Activation Guidance
78
+
79
+ - 激活时点:每次代码变更提交前;CI 门禁放行前。
80
+
81
+ ## Ownership
82
+
83
+ - 要求属主:项目 Owner(条款与例外裁决)。
84
+
85
+ - 证据生产:变更执行 lane 角色(Activation Guidance 所列时点);判定:Verification/Gate 通路——角色分离,生产者不得自判 PASS。
86
+
87
+ ## Change Policy
88
+
89
+ - 本文件是项目可编辑要求面:条款修订走项目变更流程(CHANGE.* 登记);要求条款(必要性)修订需 Owner 确认,措辞/呈现类修订不受限。
90
+
91
+ - 阈值联动:数值阈值只住 baseline/quality 登记(§13.2「阈值必须项目化」);本文件修订只改要求条款,不改阈值数字。
@@ -0,0 +1,91 @@
1
+ # Evidence Spec — 单元/组件/集成测试
2
+
3
+ - 路径:specs/evidence/unit-component-integration.md
4
+ - 对象面词形:SPEC.UNIT_COMPONENT_INTEGRATION(B2 Evidence Spec 一等对象——kind=business_rule + payload.spec_kind=evidence_spec 判别;本文件是项目可编辑要求面,对应对象由 init 步骤 4.7 预植 SPEC.* store 对象(PROPOSED 起步,裁定批 D D2);本文件为该对象 requirements 的播种底稿,对象演进归项目运行时 applyTransaction)
5
+ - 语义锚:Project-Store PRD §13(Evidence Spec Kit)——要求面非证据面:持要求不持判定,判定值只在 Verification Result(claim 四态)/Gate Result(七态)。
6
+
7
+ ## Purpose
8
+
9
+ 本 Spec 定义「测试通过且范围充分」这一证据的要求:单元/组件/集成三层测试按登记命令执行,结果计数与失败清单可溯,执行范围覆盖变更面。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰的代码及其直接协作面(范围口径以 baseline/quality 登记为准)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「changed code is sufficiently test protected」类(PRD §3.2 例文同族)。
20
+
21
+ ## Required Observations
22
+
23
+ - 测试命令(与登记一致)与退出码;用例计数(total/passed/failed/skipped)。
24
+
25
+ - 失败与跳过清单(逐条:用例+理由);随机种子(如适用,保复现)。
26
+
27
+ - 执行范围声明(三层各自覆盖的变更面)。
28
+
29
+ ## Allowed Producers
30
+
31
+ - 项目登记的测试 runner 执行;计数必须出自 runner 原始报告,禁手写计数。
32
+
33
+ ## Tool Bindings
34
+
35
+ - 测试 runner 由项目登记(PRD §2.8 词形池:Vitest 等);未登记 runner 的结果不具备资格。
36
+
37
+ ## Assertions
38
+
39
+ - 判定资格总则:四值词形闭包(PASS/FAIL/UNKNOWN/NOT_RUN——PRD §13.1;禁发明第五值);判卷执行归 Verification Result(claim 四态)/Gate Result(七态),本文件不自填判定值。
40
+
41
+ - 资格判定:可满足本 Spec 条款的 claim/run 必须出自对象面 requirements 资格清单(claim_refs/gate_refs 在册;资格外一律不满足,跨对象借证=资格不成立——21-evidence-spec kind profile 词形)。
42
+
43
+ ### PASS
44
+
45
+ - 资格:全部 Required Observations 在座且出自 Allowed Producers/Tool Bindings 资格面;Required Artifacts 齐备且可取回;要求条款逐条满足。
46
+
47
+ - 本 Spec 具体条款:全部在册命令退出码 0;failed=0;执行范围覆盖变更面(范围缺口逐条有例外登记)。
48
+
49
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
50
+
51
+ ### FAIL
52
+
53
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
54
+
55
+ - 本 Spec 具体情形:任一命令失败;范围缺口无例外;计数与原始报告不一致。
56
+
57
+ ### UNKNOWN
58
+
59
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
60
+
61
+ ### NOT_RUN
62
+
63
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
64
+
65
+ ## Required Artifacts
66
+
67
+ - runner 原始报告(junit/json 形态);失败用例的诊断输出。
68
+
69
+ ## Retention
70
+
71
+ - 证据与 raw artifact 至少保留至对应 claim 关账;发布面证据按 baseline/platform/delivery.md 登记的保留策略;blob 面优先内容寻址(PRD §3.4)。
72
+
73
+ ## Exceptions
74
+
75
+ - skipped/范围缺口逐条登记(理由+补测触发);禁整层静默跳过。
76
+
77
+ ## Activation Guidance
78
+
79
+ - 激活时点:每次代码变更提交前;CI 门禁放行前;重构前后对照。
80
+
81
+ ## Ownership
82
+
83
+ - 要求属主:项目 Owner(条款与例外裁决)。
84
+
85
+ - 证据生产:变更执行 lane 角色(Activation Guidance 所列时点);判定:Verification/Gate 通路——角色分离,生产者不得自判 PASS。
86
+
87
+ ## Change Policy
88
+
89
+ - 本文件是项目可编辑要求面:条款修订走项目变更流程(CHANGE.* 登记);要求条款(必要性)修订需 Owner 确认,措辞/呈现类修订不受限。
90
+
91
+ - 阈值联动:数值阈值只住 baseline/quality 登记(§13.2「阈值必须项目化」);本文件修订只改要求条款,不改阈值数字。
@@ -0,0 +1,89 @@
1
+ # Evidence Spec — 视觉回归
2
+
3
+ - 路径:specs/evidence/visual-regression.md
4
+ - 对象面词形:SPEC.VISUAL_REGRESSION(B2 Evidence Spec 一等对象——kind=business_rule + payload.spec_kind=evidence_spec 判别;本文件是项目可编辑要求面,对应对象由 init 步骤 4.7 预植 SPEC.* store 对象(PROPOSED 起步,裁定批 D D2);本文件为该对象 requirements 的播种底稿,对象演进归项目运行时 applyTransaction)
5
+ - 语义锚:Project-Store PRD §13(Evidence Spec Kit)——要求面非证据面:持要求不持判定,判定值只在 Verification Result(claim 四态)/Gate Result(七态)。
6
+
7
+ ## Purpose
8
+
9
+ 本 Spec 定义「视觉呈现未发生意外漂移」这一证据的要求:渲染快照与基准逐 viewport 对比,diff 清单逐条判定(有意变更登记/意外漂移)。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰页面与其关键状态(状态集合由项目登记)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「visual diffs are limited to the registered intended changes」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 快照集(逐 viewport)与基准版本锚;diff 清单(逐条:页面/状态/viewport/差异度)。
24
+
25
+ - diff 判定(有意变更登记引用/意外漂移)。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 项目登记的快照对比执行;基准更新必须走登记通路,禁就地改基准消 diff。
30
+
31
+ ## Tool Bindings
32
+
33
+ - 快照/对比工具由项目登记(可与 SPEC.BROWSER_E2E 同链路);基准存储位置与版本锚登记在座。
34
+
35
+ ## Assertions
36
+
37
+ - 判定资格总则:四值词形闭包(PASS/FAIL/UNKNOWN/NOT_RUN——PRD §13.1;禁发明第五值);判卷执行归 Verification Result(claim 四态)/Gate Result(七态),本文件不自填判定值。
38
+
39
+ - 资格判定:可满足本 Spec 条款的 claim/run 必须出自对象面 requirements 资格清单(claim_refs/gate_refs 在册;资格外一律不满足,跨对象借证=资格不成立——21-evidence-spec kind profile 词形)。
40
+
41
+ ### PASS
42
+
43
+ - 资格:全部 Required Observations 在座且出自 Allowed Producers/Tool Bindings 资格面;Required Artifacts 齐备且可取回;要求条款逐条满足。
44
+
45
+ - 本 Spec 具体条款:diff 全部属于已登记的有意变更,或 diff 为零。
46
+
47
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
48
+
49
+ ### FAIL
50
+
51
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
52
+
53
+ - 本 Spec 具体情形:意外漂移未处置;基准版本锚缺席。
54
+
55
+ ### UNKNOWN
56
+
57
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
58
+
59
+ ### NOT_RUN
60
+
61
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
62
+
63
+ ## Required Artifacts
64
+
65
+ - 前后快照与 diff 图(blob,内容寻址);有意变更登记引用。
66
+
67
+ ## Retention
68
+
69
+ - 证据与 raw artifact 至少保留至对应 claim 关账;发布面证据按 baseline/platform/delivery.md 登记的保留策略;blob 面优先内容寻址(PRD §3.4)。
70
+
71
+ ## Exceptions
72
+
73
+ - 动态区域掩码逐条登记(理由+范围);禁全页掩码。
74
+
75
+ ## Activation Guidance
76
+
77
+ - 激活时点:样式/布局/组件视觉面变更;发布前。
78
+
79
+ ## Ownership
80
+
81
+ - 要求属主:项目 Owner(条款与例外裁决)。
82
+
83
+ - 证据生产:变更执行 lane 角色(Activation Guidance 所列时点);判定:Verification/Gate 通路——角色分离,生产者不得自判 PASS。
84
+
85
+ ## Change Policy
86
+
87
+ - 本文件是项目可编辑要求面:条款修订走项目变更流程(CHANGE.* 登记);要求条款(必要性)修订需 Owner 确认,措辞/呈现类修订不受限。
88
+
89
+ - 阈值联动:数值阈值只住 baseline/quality 登记(§13.2「阈值必须项目化」);本文件修订只改要求条款,不改阈值数字。
@@ -0,0 +1,48 @@
1
+ ---
2
+ seed_source: pomaster/components/frontend-hard-spec/assets/stacks/antdesign/antdesign-ui-overlay.md
3
+ seed_source_sha256: e70a6dad3fedbf8c4a182d92af9c9229e13cc368f880b3ccd96fe11ccdbdd7be
4
+ seed_version: B6F
5
+ lane: frontend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [frontend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: frontend-stack:antdesign
12
+ capability: ui-component-library
13
+ requires: [frontend-stack:vue3]
14
+ conflicts: []
15
+ coexistence: independent
16
+ stages: [prepare, implement, check, release]
17
+ x-research-anchors:
18
+ note: >-
19
+ Ant Design Vue 4.2.6(npm registry + antdv.com 站点头部版本选择器双源一致,2026-09-05
20
+ 实抓;antdv.com 为 JS 渲染站点,经 chrome-devtools 实载取证)。v4 主题 = CSS-in-JS
21
+ 为官方口径(v3 的 less / CSS 变量降级为构建期静态消费兼容通道)。React 版 Ant Design
22
+ (ant.design,v6.6.2 实抓,external-sites-index 既有锚)仅作跨栈对照注明,组件 API
23
+ 与主题机制不混用于 Vue 栈。
24
+ sources:
25
+ - url: https://antdv.com/docs/vue/introduce
26
+ fetched: 2026-09-05
27
+ - url: https://antdv.com/docs/vue/customize-theme
28
+ fetched: 2026-09-05
29
+ ---
30
+
31
+ # Ant Design Vue 组件库 Overlay
32
+
33
+ ## Scope
34
+
35
+ 本 Overlay 具体化 Ant Design Vue 组件库的引入、按需加载、主题(CSS-in-JS Design Token)与 React 版 antd 的对照边界。
36
+
37
+ ## Rules
38
+
39
+ - 必须固定组件库词形与版本位:Vue 栈为 ant-design-vue 4.x 线;React 版 Ant Design 仅作跨栈对照,其组件 API 与主题机制不得混用。
40
+ - 引入与按需加载必须走官方口径:全局重置用 `import 'ant-design-vue/dist/reset.css'`;按需加载用 unplugin-vue-components + AntDesignVueResolver(官方示例 importStyle: false 旁注 css in js)。
41
+ - 主题定制主通路为 v4 CSS-in-JS:ConfigProvider 的 theme prop(Design Token 三层派生 Seed → Map → Alias、default / dark / compact 三算法、组件级 Component Token),运行时消费用 useToken;v3 less 变量只作构建期静态消费兼容通道(theme.defaultAlgorithm(defaultSeed) + less-loader modifyVars),两条通路不得未声明混装。
42
+ - 不得由组件库选型推断 CSS 作用域体系、预处理器或 utility 方案(css 键独立选型);组件库主题 token 不替代项目 design token 分层协议。
43
+
44
+ ## Checklist
45
+
46
+ - [ ] 版本位经 npm registry 实抓(4.2.6 双源一致)并记录在项目技术基线。
47
+ - [ ] 主题通路(运行时 CSS-in-JS / 构建期 less 兼容)已显式声明且与实际接线一致。
48
+
@@ -0,0 +1,20 @@
1
+ ---
2
+ seed_source: pomaster/components/frontend-hard-spec/assets/stacks/antdesign/index.md
3
+ seed_source_sha256: 261b20e682f7907813dbf46d10391022bf9212e62e6964c33d1d7cbf57128b45
4
+ seed_version: B6F
5
+ lane: frontend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [frontend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ ---
12
+
13
+ # Ant Design Vue Overlay 索引
14
+
15
+ 本目录只描述 Ant Design Vue 组件库能力(v4 CSS-in-JS 主题与按需加载),不推断 Vue 版本与 CSS 作用域体系,也不混用 React 版 Ant Design 形态。
16
+
17
+ | ID | 文件 | 能力 |
18
+ |---|---|---|
19
+ | `frontend-stack:antdesign` | `antdesign-ui-overlay.md` | `ui-component-library` |
20
+
@@ -0,0 +1,52 @@
1
+ ---
2
+ seed_source: pomaster/components/frontend-hard-spec/assets/stacks/css/css-system-overlay.md
3
+ seed_source_sha256: 4167e2a2d4c457f594db95336470dca4f0778e76df006e815207c0761667692a
4
+ seed_version: B6G
5
+ lane: frontend
6
+ status: CURRENT
7
+ authority_scope: mixed_required_and_advisory
8
+ applies_to: [frontend]
9
+ related_evidence_specs: []
10
+ related_tools: []
11
+ legacy_id: frontend-stack:css
12
+ capability: css-system
13
+ requires: [frontend-stack:vue3]
14
+ conflicts: []
15
+ coexistence: independent
16
+ stages: [prepare, implement, check, release]
17
+ x-research-anchors:
18
+ note: >-
19
+ css 键选型 = Owner 裁定 D8(09-05-spec-thematic-reorg):组合词形
20
+ scoped-sfc+antdv-cssinjs-tokens+antdv-reset-css。版本位 vue 3.5.42 /
21
+ ant-design-vue 4.2.6(npm registry 实抓 2026-09-05;ant-design-vue 另经 antdv.com
22
+ 站点头部版本选择器双源一致;antdv.com 为 JS 渲染站点,经 chrome-devtools 实载
23
+ 取证)。scoped CSS / :deep() / :slotted() / :global() 词形与子组件根元素口径
24
+ 出自 vuejs.org SFC CSS Features 特性页(vue 3.5.42 时点滚动站);CSS-in-JS 主题
25
+ (ConfigProvider theme + useToken)与 reset.css 引入词形出自 antdv.com 官方文档。
26
+ sources:
27
+ - url: https://vuejs.org/api/sfc-css-features.html
28
+ fetched: 2026-09-05
29
+ - url: https://antdv.com/docs/vue/customize-theme
30
+ fetched: 2026-09-05
31
+ - url: https://antdv.com/docs/vue/introduce
32
+ fetched: 2026-09-05
33
+ ---
34
+
35
+ # CSS 体系 Overlay
36
+
37
+ ## Scope
38
+
39
+ 本 Overlay 具体化项目 CSS 体系选型(裁定 D8 组合词形 scoped-sfc+antdv-cssinjs-tokens+antdv-reset-css)的官方词形与版本边界:SFC scoped 作用域机制、Ant Design Vue CSS-in-JS 主题 token 消费与官方全局重置。
40
+
41
+ ## Rules
42
+
43
+ - 必须固定并记录 CSS 体系组合词形与版本位:scoped-sfc+antdv-cssinjs-tokens+antdv-reset-css(vue 3.5.42 / ant-design-vue 4.2.6,npm registry 实抓双源一致);组合之外的作用域/utility 方案属 css 键改型,不得未声明引入。
44
+ - scoped 作用域以 SFC `<style scoped>` 为项目主机制(编译为 data-v-hash 属性选择器);穿透与例外必须用官方逃逸词形 `:deep()`(子组件穿透)、`:slotted()`(slot 内容)、`:global()`(全局例外);子组件根元素同时受父 scoped 影响为官方口径。
45
+ - antdv 主题 token 消费走 v4 CSS-in-JS 官方通路:ConfigProvider 的 theme prop(Design Token 三层派生 Seed → Map → Alias、default / dark / compact 三算法、组件级 Component Token),运行时消费用 useToken;组件库主题 token 不替代项目 design token 分层协议。
46
+ - 全局重置以官方单一来源承载:`import 'ant-design-vue/dist/reset.css'`;不得未声明引入与之竞争的第二套全局重置。
47
+
48
+ ## Checklist
49
+
50
+ - [ ] css 键组合词形与版本位(vue / ant-design-vue)经 npm registry 实抓并记录在项目技术基线。
51
+ - [ ] scoped 逃逸词形(:deep() / :slotted() / :global())、antdv 主题通路(ConfigProvider theme + useToken)与全局重置(reset.css import)与实际接线一致。
52
+