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/coverage.md
4
+ - 对象面词形:SPEC.COVERAGE(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 语句类型:「coverage meets the registered layered budget」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 各分组×各指标(lines/statements/functions/branches)数值。
24
+
25
+ - 口径定义(Total/Executable 类执行口径)与排除项清单生效证明。
26
+
27
+ - 变化代码覆盖率(变更面单独口径)。
28
+
29
+ ## Allowed Producers
30
+
31
+ - 项目登记的 coverage runner;数值必须出自原始报告,禁手写。
32
+
33
+ ## Tool Bindings
34
+
35
+ - PRD §13.2 词形:Istanbul/V8/c8 coverage(前端)、JaCoCo(Java);由项目按技术栈登记。
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 具体条款:各分组指标不低于 baseline/quality 登记的项目阈值;分母排除项与登记一致(无 generated/mock 扭曲)。
48
+
49
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
50
+
51
+ ### FAIL
52
+
53
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
54
+
55
+ - 本 Spec 具体情形:任一分组低于阈值无例外;分母被生成物/ mock 扭曲;口径与登记漂移。
56
+
57
+ ### UNKNOWN
58
+
59
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
60
+
61
+ ### NOT_RUN
62
+
63
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
64
+
65
+ ## Required Artifacts
66
+
67
+ - 原始 coverage 报告(blob,内容寻址);分组×指标明细表。
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/data-migration.md
4
+ - 对象面词形:SPEC.DATA_MIGRATION(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 定义「数据迁移安全」这一证据的要求:迁移按登记策略(baseline/data/migration.md 的 expand/migrate/contract/rollback)逐阶段执行,前后 schema 快照与数据校验在座,回滚面可执行。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰的 schema 对象与数据面(与 baseline/data/model.md 登记对账)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「migration executed per plan with verifiable rollback」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 迁移脚本与其版本锚;逐阶段执行记录(阶段/范围/影响行数口径)。
24
+
25
+ - 前后 schema 快照(内容寻址);数据校验结果(校验和/抽样对账口径)。
26
+
27
+ - 回滚面:方案在座且经演练或论证(演练记录/不可演练的理由论证)。
28
+
29
+ ## Allowed Producers
30
+
31
+ - 迁移执行通路与校验工具;schema 快照出自数据库实际内省,禁以迁移脚本自述替代。
32
+
33
+ ## Tool Bindings
34
+
35
+ - 迁移工具与快照/校验手段由项目登记(baseline/data/migration.md 登记引用);evidence-model 五类中 migration-schema 证据类的落位。
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 具体条款:执行记录与登记策略一致;校验通过;回滚面在座(可执行)。
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
+ - 执行记录;前后 schema 快照;校验报告;回滚演练/论证材料。
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
+ - 激活时点:schema 变更;数据订正;发布含迁移时。
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/dead-code-duplicate.md
4
+ - 对象面词形:SPEC.DEAD_CODE_DUPLICATE(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
+ - 变更触碰的模块与其入口面(可达性口径以项目登记的入口清单为准)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「no unhandled dead or duplicated code introduced by the change」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 死代码清单(逐条:符号+不可达判定口径);重复块清单(逐条:位置+重复度)。
24
+
25
+ - 逐条处置记录(删除/保留+理由)。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 项目登记的静态分析工具机判;人工发现可补充登记,不可替代清单机判。
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
+ - 保留类豁免(如对外契约要求的导出)逐条登记(理由+复核触发)。
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,89 @@
1
+ # Evidence Spec — 依赖与供应链
2
+
3
+ - 路径:specs/evidence/dependency-supply-chain.md
4
+ - 对象面词形:SPEC.DEPENDENCY_SUPPLY_CHAIN(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
+ - 变更涉及的依赖闭包(新增/升级/移除的包与其传递面)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「dependency changes are registered, audited and vulnerability-screened」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 锁文件 diff 与依赖树变更清单(逐包:版本/来源/许可证)。
24
+
25
+ - 已知漏洞扫描结果(逐条:包/严重度/修复建议);新依赖审批记录。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 锁文件工具与漏洞扫描工具执行;审批记录来自项目登记面(许可/例外台账)。
30
+
31
+ ## Tool Bindings
32
+
33
+ - 锁文件与扫描工具由项目登记(与 SPEC.SECURITY 依赖审计腿衔接——本 Spec 管登记与溯源面,该腿管门禁判定面);来源可信口径以 baseline 登记为准。
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
+ - 锁文件 diff;依赖树快照;扫描原始输出。
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
+ - 激活时点:依赖变更;lockfile 修订;发布前。
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,55 @@
1
+ # Evidence Spec Kit —— 证据要求面索引
2
+
3
+ - 路径:specs/evidence/index.md
4
+ - 职责(PRD §13):Evidence Spec Kit 索引——19 份证据要求面 + §13.1 十七段固定结构 + 判卷四值词形闭包 + 文件↔对象面词形映射。
5
+ - 纪律:Evidence Spec 持要求不持判定(PRD §9.2/§2.5)——判定值只在 Verification Result(claim 四态)/Gate Result(七态);本目录全部文件是项目可编辑要求面(播种 marker-free,seed-once-missing-only)。
6
+
7
+ ## Kit 分母(19 spec + index = 20)
8
+
9
+ | 文件 | 对象面词形 | 要求面一句话 |
10
+ |---|---|---|
11
+ | build.md | SPEC.BUILD | 构建成功证据:登记命令在登记环境退出码 0,产物清单与交付登记一致且可取回 |
12
+ | typecheck-lint.md | SPEC.TYPECHECK_LINT | 静态检查证据:类型检查与 lint 零未处置 error 级发现,规则集配置锚在座 |
13
+ | unit-component-integration.md | SPEC.UNIT_COMPONENT_INTEGRATION | 三层测试证据:unit/component/integration 全部在册命令执行,计数与失败清单可溯,范围覆盖变更面 |
14
+ | contract.md | SPEC.CONTRACT | 契约证据:契约 diff 在座,兼容判定对照登记的版本承诺,破坏性变更零未处置 |
15
+ | coverage.md | SPEC.COVERAGE | 覆盖率证据:分层口径(全局/关键模块/变化代码)逐层在座,对照项目登记阈值,分母不被生成物扭曲 |
16
+ | complexity-crap.md | SPEC.COMPLEXITY_CRAP | CRAP 证据:按 v1 公式逐符号计算在座,超阈值符号逐个处置;目的=高复杂度+低测试保护,阈值项目化 |
17
+ | mutation.md | SPEC.MUTATION | 变异测试证据:六维在册(score/survivors/killed/timeout/not-covered/affected scope),score 对照项目阈值,survivors 逐个处置 |
18
+ | architecture.md | SPEC.ARCHITECTURE | 架构证据:依赖方向与分层约定的机判结果在座,违规零未处置,规则集对照 baseline 登记 |
19
+ | dead-code-duplicate.md | SPEC.DEAD_CODE_DUPLICATE | 死代码/重复证据:可达性口径与重复块清单在座,新引入项零未处置 |
20
+ | browser-e2e.md | SPEC.BROWSER_E2E | E2E 证据:在册 journey 在真实浏览器逐项通过,evidence 必含 console error/network 维度,trace 在座 |
21
+ | visual-regression.md | SPEC.VISUAL_REGRESSION | 视觉回归证据:渲染快照与基准逐 viewport 对比,diff 全部属已登记的有意变更或零漂移 |
22
+ | accessibility.md | SPEC.ACCESSIBILITY | 可访问性证据:自动核查发现清单在座,对标标准登记于 baseline,严重级发现零未处置 |
23
+ | performance.md | SPEC.PERFORMANCE | 性能证据:预算字段对照 baseline,实验室判卷面与字段判卷面双 observation 独立在座不聚合 |
24
+ | security.md | SPEC.SECURITY | 安全证据:三独立腿(secret 泄露/依赖漏洞/静态分析)各自在座各自判定,禁合并为单一绿灯 |
25
+ | dependency-supply-chain.md | SPEC.DEPENDENCY_SUPPLY_CHAIN | 供应链证据:锁文件与声明一致,新依赖有登记审批,已知漏洞与来源可信逐项在座 |
26
+ | data-migration.md | SPEC.DATA_MIGRATION | 迁移证据:expand/migrate/contract 各阶段执行记录与前后 schema 快照在座,校验通过,回滚面可执行 |
27
+ | business-acceptance.md | SPEC.BUSINESS_ACCEPTANCE | 验收证据:acceptance spec 的 Expected State 逐场景被证据覆盖,业务侧确认记录在座 |
28
+ | runtime-observability.md | SPEC.RUNTIME_OBSERVABILITY | 运行时证据:部署锚+log/metric/trace 登记面在目标环境可取回,关联 ID 贯通 |
29
+ | release.md | SPEC.RELEASE | 发布证据:制品 hash 可追溯,审批链完整,版本与回滚面对照交付登记 |
30
+
31
+ ## 固定结构(§13.1 十七段)
32
+
33
+ 顶层 13 段:Purpose / Subjects / Claims / Required Observations / Allowed Producers / Tool Bindings / Assertions / Required Artifacts / Retention / Exceptions / Activation Guidance / Ownership / Change Policy;
34
+ Assertions 段带四个判定词位:PASS / FAIL / UNKNOWN / NOT_RUN。
35
+
36
+ ## 判卷四值词形(§13.1 闭包——禁发明第五值)
37
+
38
+ - PASS:要求条款逐条满足且证据资格成立——由 Verification Result / Gate Result 判定,Spec 文件不自填。
39
+ - FAIL:任一必需要求不满足或证据资格不成立(资格清单外/跨对象借证)。
40
+ - UNKNOWN:证据在座但不足以判定——诚实位,禁当 PASS。
41
+ - NOT_RUN:证据类型未被产出或范围显式不适用且例外已登记——显式缺席诚实位(证据不可得一律落本位),禁静默缺证当 PASS。
42
+
43
+ ## 对象面衔接(B2 Evidence Spec 一等对象——gates 绑定登记级)
44
+
45
+ - 登记词形:SPEC.* governed id(21-evidence-spec kind profile:kind=business_rule + payload.spec_kind=evidence_spec 判别;词形随 PR-0008 在 vocab-lock prefixes_v0 闭包)。
46
+ - 登记通路:对应 store 对象由 init 步骤 4.7 预植(裁定批 D D2——kernel applyTransaction upsert_object 单事务,PROPOSED 起步,seed-once);此后对象演进归项目运行时 applyTransaction。requirements[].claim_refs/gate_refs 是资格清单——closeout 按资格判卷,资格外 claim/run 不满足条款。
47
+ - 文件↔对象绑定 = 登记级(本索引映射表 + 各 spec 头行词形),无第二套机器绑定机制(无消费者不加机制——对象面 requirements 已承载资格判定)。
48
+ - catalog gate recipe 零引用字段位:gate recipe 判卷走 03-gate-result 七态词表,与本 Kit 的衔接经由对象面 requirements.gate_refs,不新增词形不动 catalog。
49
+
50
+ ## 生产/消费平面(PRD §3)
51
+
52
+ - claims:.pomaster/evidence/claims/(claim 禁自填 PASSED——经 Verification)。
53
+ - runs:.pomaster/evidence/runs/(一个 Run 文件即该次 observation 的 normalized receipt,不另设 receipt/result 同义件)。
54
+ - blobs:.pomaster/evidence/blobs/(raw artifact,优先内容寻址)。
55
+ - binding:claim → run_ids → blob_refs → task → governed_object → git_sha(稳定引用完成,不建独立目录)。
@@ -0,0 +1,89 @@
1
+ # Evidence Spec — 变异测试
2
+
3
+ - 路径:specs/evidence/mutation.md
4
+ - 对象面词形:SPEC.MUTATION(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 定义「测试有效性」这一证据的要求:变异测试在变更面执行,六维证据在座,mutation score 对照项目登记阈值,survivors 逐个处置。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰的执行类代码(范围=affected scope;生成物/声明类不入围)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「tests kill the registered share of mutants on changed scope」类。
20
+
21
+ ## Required Observations
22
+
23
+ - PRD §13.3 六维逐字:mutation score;survivors;killed;timeout;not-covered;affected scope。
24
+
25
+ - survivors 逐个处置记录(补断言/等价变异论证/豁免登记)。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 项目登记的变异测试框架执行;六维必须出自原始报告。
30
+
31
+ ## Tool Bindings
32
+
33
+ - PRD §13.3 逐字:支持 Stryker、PIT / PITest;由项目按技术栈登记其一。
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 具体条款:score 不低于 baseline/quality 登记的项目阈值;survivors 逐个有处置;not-covered 面与 coverage 证据一致。
46
+
47
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
48
+
49
+ ### FAIL
50
+
51
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
52
+
53
+ - 本 Spec 具体情形:score 低于阈值无例外;survivors 未处置;六维缺任一。
54
+
55
+ ### UNKNOWN
56
+
57
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
58
+
59
+ ### NOT_RUN
60
+
61
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
62
+
63
+ ## Required Artifacts
64
+
65
+ - 完整 mutation 报告(blob,内容寻址);survivors 明细。
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
+ - 激活时点:关键执行类变更(与 baseline/quality 登记的适用范围一致);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,89 @@
1
+ # Evidence Spec — 性能
2
+
3
+ - 路径:specs/evidence/performance.md
4
+ - 对象面词形:SPEC.PERFORMANCE(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 定义「性能预算被满足」这一证据的要求:实验室判卷面与字段判卷面两类 observation 独立在座(vNext 既有 PERFORMANCE 双 runner 语义:lighthouse=实验室判卷/web vitals=字段判卷——禁聚合为单一绿灯),逐项对照性能预算字段判定。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰页面(预算字段以项目登记的 §29 性能预算面为准)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「pages meet the registered performance budget」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 预算字段(逐项:指标/预算/实测/口径)。
24
+
25
+ - 实验室判卷报告;字段判卷数据(样本量与采集口径在座)。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 双 runner 各自独立执行;两类报告各自在座,禁以一类替代另一类。
30
+
31
+ ## Tool Bindings
32
+
33
+ - PRD §2.8 词形池:Lighthouse(实验室面);字段面按项目登记的采集通道。
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 具体条款:预算字段逐项实测不劣于 baseline 登记(超限逐项有例外——预算方向随指标语义:延迟类上限/吞吐类下限);双面 observation 都在座。
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
+ - 双 runner 原始报告(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「阈值必须项目化」);本文件修订只改要求条款,不改阈值数字。