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,89 @@
1
+ # Evidence Spec — 可访问性
2
+
3
+ - 路径:specs/evidence/accessibility.md
4
+ - 对象面词形:SPEC.ACCESSIBILITY(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/quality 的 a11y 面,严重级发现零未处置。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰页面与其交互组件(键盘可达/焦点/对比度/语义标注面)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「zero unhandled serious accessibility findings against the registered a11y baseline」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 自动核查发现清单(逐条:规则/严重度/命中元素)。
24
+
25
+ - 对标标准与其版本(baseline/quality a11y 登记引用);人工核查记录(如适用)。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 项目登记的自动核查工具执行;人工核查可补充,不可替代自动清单。
30
+
31
+ ## Tool Bindings
32
+
33
+ - PRD §2.8 词形池:axe;由项目登记规则集与扫描范围。
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
+ - 激活时点:页面/组件交互面变更;发布前。
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/architecture.md
4
+ - 对象面词形:SPEC.ARCHITECTURE(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/architecture.md 与 directory-structure.md 登记的规则集)经机器核查,违规清单在座且逐条处置。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰模块及其依赖闭包(以 baseline/backend/architecture.md 的层/模块登记为准;前端同构对应 frontend 分区)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「changed code respects the registered dependency and layering rules」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 规则集锚(登记引用);违规清单(逐条:源/目标/规则)。
24
+
25
+ - 违规处置记录(修复/例外登记)。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 项目登记的架构核查工具机判;人工评审可补充,不可替代机判。
30
+
31
+ ## Tool Bindings
32
+
33
+ - PRD §2.8 词形池:dependency-cruiser、ArchUnit(vNext 既有 ARCHITECTURE 门禁腿 import-linter 同族);由项目按技术栈登记。
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 具体情形:任一违规无处置;规则集与 baseline 登记漂移。
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/browser-e2e.md
4
+ - 对象面词形:SPEC.BROWSER_E2E(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 定义「关键用户路径可用」这一证据的要求:在册 journey 清单在真实浏览器执行,逐步结果可溯,证据必含 console error 与 network 维度(vNext BROWSER 门禁确定性腿既有语义)。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰页面(PAGE.* 面)上的关键 journey;journey 清单由项目登记。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「registered journeys pass in a real browser with zero unhandled console errors」类。
20
+
21
+ ## Required Observations
22
+
23
+ - journey 逐步执行结果(逐条:步骤/期望/实测)。
24
+
25
+ - console error 清单(逐条未处置项);network 维度(失败请求/异常时延)。
26
+
27
+ - 执行环境锚(浏览器与视口;base_url 与环境登记一致)。
28
+
29
+ ## Allowed Producers
30
+
31
+ - 浏览器自动化执行(确定性腿);交互腿 MCP 通道(chrome-devtools/playwright MCP——既有 Browser Eyes 双通道语义)按各自动作资格补位,通道名随 receipt 登记。
32
+
33
+ ## Tool Bindings
34
+
35
+ - PRD §2.8 词形池:Playwright(确定性腿);MCP 交互腿通道登记于项目 .mcp.json。
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 具体条款:在册 journey 全通过;console error 零未处置;network 维度零未解释失败。
48
+
49
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
50
+
51
+ ### FAIL
52
+
53
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
54
+
55
+ - 本 Spec 具体情形:journey 失败;未处置 console error;环境与登记漂移。
56
+
57
+ ### UNKNOWN
58
+
59
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
60
+
61
+ ### NOT_RUN
62
+
63
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
64
+
65
+ ## Required Artifacts
66
+
67
+ - 执行 trace 与截图(blob,内容寻址);console/network 明细。
68
+
69
+ ## Retention
70
+
71
+ - 证据与 raw artifact 至少保留至对应 claim 关账;发布面证据按 baseline/platform/delivery.md 登记的保留策略;blob 面优先内容寻址(PRD §3.4)。
72
+
73
+ ## Exceptions
74
+
75
+ - journey 级豁免(功能暂缓)逐条登记(理由+复归触发)。
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/build.md
4
+ - 对象面词形:SPEC.BUILD(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/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 语句类型:「changed code builds successfully in the registered environment」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 构建命令与参数(与登记逐字一致);退出码。
24
+
25
+ - 执行锚:execution_id/AGX 与 store seq(时间锚恒 seq,零墙钟)。
26
+
27
+ - 产物清单(名称+内容寻址引用)。
28
+
29
+ ## Allowed Producers
30
+
31
+ - 项目登记的构建工具链执行(本地或 CI);Agent 自述「我构建过了」不是合法生产者。
32
+
33
+ ## Tool Bindings
34
+
35
+ - 构建命令以 baseline/platform/delivery.md 登记为准;CI 产出的完整构建日志是合法观察来源。
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;产物清单与交付登记一致(缺产物/多产物均不满足)。
48
+
49
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
50
+
51
+ ### FAIL
52
+
53
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
54
+
55
+ - 本 Spec 具体情形:退出码非 0;产物缺席;实际命令与登记漂移。
56
+
57
+ ### UNKNOWN
58
+
59
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
60
+
61
+ ### NOT_RUN
62
+
63
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
64
+
65
+ ## Required Artifacts
66
+
67
+ - 完整构建日志;产物清单及其内容寻址引用(evidence/blobs/,优先内容寻址)。
68
+
69
+ ## Retention
70
+
71
+ - 证据与 raw artifact 至少保留至对应 claim 关账;发布面证据按 baseline/platform/delivery.md 登记的保留策略;blob 面优先内容寻址(PRD §3.4)。
72
+
73
+ ## Exceptions
74
+
75
+ - 环境不可得(如需密钥/专用机)→ NOT_RUN + 例外显式登记;禁口头豁免。
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/business-acceptance.md
4
+ - 对象面词形:SPEC.BUSINESS_ACCEPTANCE(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 定义「业务期望被证实」这一证据的要求:specs/acceptance/ 登记的验收场景逐条有 Observable Expected State 的证据与业务侧确认记录。
10
+
11
+ ## Subjects
12
+
13
+ - 变更对应的验收场景(以 specs/acceptance/ 的 Acceptance Spec 登记为准)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「acceptance scenario expected state is evidenced and confirmed」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 场景执行记录(逐条:场景引用/前置/实测状态)。
24
+
25
+ - 业务侧确认记录(确认人角色/确认结论/范围);与场景 Evidence Spec References 的对账(每场景引用的本 Kit spec 已各自满足)。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 场景执行证据出自本 Kit 其余 spec 的合格产出;业务确认记录来自 Owner/Actor 登记面(具名,禁匿名汇总)。
30
+
31
+ ## Tool Bindings
32
+
33
+ - 无专用工具:本 Spec 的资格锚是 acceptance spec 登记与其引用的证据 spec 判定结果;确认记录形态由项目登记。
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 具体条款:验收场景逐条有确认记录;场景引用的证据 spec 各自判定非 FAIL/UNKNOWN/NOT_RUN(四值闭包逐项核——显式缺席不构成验收通过)。
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
+ - 确认记录;场景执行证据引用(指向本 Kit 其余 spec 的 artifact)。
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,97 @@
1
+ # Evidence Spec — 复杂度风险(CRAP)
2
+
3
+ - 路径:specs/evidence/complexity-crap.md
4
+ - 对象面词形:SPEC.COMPLEXITY_CRAP(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 定义「复杂度风险被度量与处置」这一证据的要求。CRAP v1:
10
+
11
+ ```text
12
+ CRAP = Complexity² × (1 - Coverage)³ + Complexity
13
+ ```
14
+
15
+ 其中 Coverage 使用 0~1。CRAP 目的:识别 High Complexity + Low Test Protection(高复杂度且缺测试保护);不是评价代码优不优雅。
16
+
17
+ 阈值必须项目化,不能把某个数字写成全世界永久真理(§13.2 逐字)——项目阈值只住 baseline/quality 的 CRAP 登记,本 Spec 不设通用数字。
18
+
19
+ ## Subjects
20
+
21
+ - 变更触碰的符号(函数/方法级;语言以项目登记的分析器覆盖面为准)。
22
+
23
+ ## Claims
24
+
25
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
26
+
27
+ - 可立 claim 语句类型:「changed code complexity risk is measured and mitigated」类。
28
+
29
+ ## Required Observations
30
+
31
+ - 逐符号 Complexity 与 Coverage 及其 CRAP 值(计算原始输出)。
32
+
33
+ - 超阈值符号清单与逐个处置记录(补测试/重构/例外登记)。
34
+
35
+ ## Allowed Producers
36
+
37
+ - 复杂度分析与覆盖率数据的合法组合产出;数值必须出自工具输出。
38
+
39
+ ## Tool Bindings
40
+
41
+ - PRD §13.2 逐字词形:允许前端 Complexity Adapter + Istanbul/V8/c8 coverage;允许 Java Complexity source + JaCoCo。
42
+
43
+ ## Assertions
44
+
45
+ - 判定资格总则:四值词形闭包(PASS/FAIL/UNKNOWN/NOT_RUN——PRD §13.1;禁发明第五值);判卷执行归 Verification Result(claim 四态)/Gate Result(七态),本文件不自填判定值。
46
+
47
+ - 资格判定:可满足本 Spec 条款的 claim/run 必须出自对象面 requirements 资格清单(claim_refs/gate_refs 在册;资格外一律不满足,跨对象借证=资格不成立——21-evidence-spec kind profile 词形)。
48
+
49
+ ### PASS
50
+
51
+ - 资格:全部 Required Observations 在座且出自 Allowed Producers/Tool Bindings 资格面;Required Artifacts 齐备且可取回;要求条款逐条满足。
52
+
53
+ - 本 Spec 具体条款:变更面逐符号 CRAP 计算在座;超阈值符号逐个有处置(测试保护提升/重构/例外登记)。
54
+
55
+ - 判定值由 Verification Result / Gate Result 写——本文件不自填 PASS。
56
+
57
+ ### FAIL
58
+
59
+ - 资格:任一必需要求不满足(观察缺席/出自资格外生产者/工件缺席或不可解析/claim_refs·gate_refs 清单外或跨对象借证)。
60
+
61
+ - 本 Spec 具体情形:计算缺席;超阈值符号无处置;Coverage 输入缺席(公式不可计算)。
62
+
63
+ ### UNKNOWN
64
+
65
+ - 证据在座但不足以判定(receipt 维度不全/工件损坏/口径未登记)——诚实位,禁当 PASS 呈现;补证后重判。
66
+
67
+ ### NOT_RUN
68
+
69
+ - 本证据类型未被产出(工具未执行/环境缺席)或范围显式不适用且例外已登记——显式缺席诚实位,禁把未跑写成 PASS/UNKNOWN。
70
+
71
+ ## Required Artifacts
72
+
73
+ - 逐符号 CRAP 表(原始输出);处置记录。
74
+
75
+ ## Retention
76
+
77
+ - 证据与 raw artifact 至少保留至对应 claim 关账;发布面证据按 baseline/platform/delivery.md 登记的保留策略;blob 面优先内容寻址(PRD §3.4)。
78
+
79
+ ## Exceptions
80
+
81
+ - 符号级豁免逐条登记(理由+复核触发);豁免不改变计算,只改变处置要求。
82
+
83
+ ## Activation Guidance
84
+
85
+ - 激活时点:代码变更提交前(与 coverage 同窗);CI 门禁放行前。
86
+
87
+ ## Ownership
88
+
89
+ - 要求属主:项目 Owner(条款与例外裁决)。
90
+
91
+ - 证据生产:变更执行 lane 角色(Activation Guidance 所列时点);判定:Verification/Gate 通路——角色分离,生产者不得自判 PASS。
92
+
93
+ ## Change Policy
94
+
95
+ - 本文件是项目可编辑要求面:条款修订走项目变更流程(CHANGE.* 登记);要求条款(必要性)修订需 Owner 确认,措辞/呈现类修订不受限。
96
+
97
+ - 阈值联动:数值阈值只住 baseline/quality 登记(§13.2「阈值必须项目化」);本文件修订只改要求条款,不改阈值数字。
@@ -0,0 +1,89 @@
1
+ # Evidence Spec — API 契约兼容
2
+
3
+ - 路径:specs/evidence/contract.md
4
+ - 对象面词形:SPEC.CONTRACT(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 定义「API 契约兼容」这一证据的要求:契约源在座,机器 diff 与兼容性判定完成,破坏性变更对照 baseline/backend/api-contract.md 的版本承诺逐条处置。
10
+
11
+ ## Subjects
12
+
13
+ - 变更触碰的 API(以 API_REQ.* governed 面与契约源登记为准)。
14
+
15
+ ## Claims
16
+
17
+ - claim 词形:CLM-*(07 schema 词面);claim 由运行时 record 通路登记(UNVERIFIED 起步,声称方禁自填 VERIFIED)——本 Spec 只定义可立 claim 的语句类型,不产生判定值。
18
+
19
+ - 可立 claim 语句类型:「api contract diff is compatible within the registered versioning promise」类。
20
+
21
+ ## Required Observations
22
+
23
+ - 契约源(OpenAPI 或等价)与其版本锚;diff 清单(逐条:路径/方法/变更类别)。
24
+
25
+ - 兼容性判定结果(逐条:兼容/破坏);破坏性变更的处置(版本升级/例外登记)。
26
+
27
+ ## Allowed Producers
28
+
29
+ - 项目登记的契约 diff 工具与属性用例生成器(vNext 既有 CONTRACT 门禁双腿语义:oasdiff/schemathesis 词形族);判定必须出自工具输出。
30
+
31
+ ## Tool Bindings
32
+
33
+ - diff 工具与契约源位置由项目登记;双独立腿(diff+用例)结果都需在座,禁合并为单一绿灯。
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 非破坏,或破坏性变更已按登记的版本承诺处置(版本升级/废弃流程在座)。
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
+ - 激活时点:变更触碰 API 面;契约文件修订;对外发布前。
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「阈值必须项目化」);本文件修订只改要求条款,不改阈值数字。