Viewing files at commit 54b9920be8dfCommit detailsView latest

Browse files
config/platform_semantics.json 36 lines · 2.6 KB · json
1
{
2
  "schema_version": 1,
3
  "semantics_version": "platform-v1",
4
  "note": "Fairness contract for the platform lane. A semantics class describes the workflow contract both platforms must satisfy before their rows are comparable; rows record platform_semantics_version, platform_semantics_class, protection_variant, platform_comparison_key, and semantic_contract_match. Class names, variant names, and field meanings are immutable once published (ADR-0005): material changes require a new class/variant name or a semantics_version bump recorded on every row.",
5
  "classes": {
6
    "integration-default": {
7
      "description": "The default hosted integration workflow: the task branch must be published to the platform; the change is integrated as a reviewable unit (a pull request on GitHub, the pushed virtual branch on oak); the platform's default merge method lands it in main; the merged result must then be present in a local checkout.",
8
      "branch_publish_required": true,
9
      "integration_object": "pull_request_or_platform_equivalent",
10
      "merge_method": "platform_default",
11
      "async_mergeability_check": "platform_dependent; GitHub computes PR mergeability asynchronously and that settling is a measured operation; oak merge is synchronous so the settle has no equivalent (null, poll_iterations structurally 0)",
12
      "local_sync_required": true
13
    },
14
    "minimal-merge": {
15
      "description": "The fastest honest path the platform offers from a local task branch to the change merged in main: publish is still required, but no reviewable unit is required when the platform can integrate directly; merge method is the cheapest the platform allows under the protection variant.",
16
      "branch_publish_required": true,
17
      "integration_object": "optional",
18
      "merge_method": "fastest_available",
19
      "async_mergeability_check": "platform_dependent",
20
      "local_sync_required": true
21
    }
22
  },
23
  "protection_variants": [
24
    "protection-none",
25
    "check-instant",
26
    "check-slow60s",
27
    "required-review",
28
    "strict-uptodate",
29
    "merge-queue"
30
  ],
31
  "implemented_protection_variants": [
32
    "protection-none",
33
    "check-instant"
34
  ],
35
  "protection_variants_note": "Implemented: protection-none, and check-instant - a required status check that the HARNESS posts instantly via the commit status API (deterministic, free, no Actions); PRs need that status green before merge, measured as integration.checks.green.settle. The remaining variants are declared now so their names are reserved with fixed meaning (ADR-0005) before any rows are published under them. Requesting an unimplemented variant yields skip rows, never silently different semantics."
36
}