{
  "_meta": {
    "template_key": "helpifyr-boost-admission-dry-run",
    "template_version": "2.1.0",
    "aligned_with": {
      "repo": "JaddaHelpifyr/helpifyr-fabric",
      "branch": "main",
      "schema": "contracts/admission/admission_dry_run_input.schema.json",
      "dual_mode_merge": "e723b928dff1f30c4e8bd52e18fd2c48e65a0add (#1277)",
      "verified_live": "first verified 2026-07-15, re-verified 2026-08-10 against jhf-fabric-platform-api :38080",
      "compatibility_policy_version": "1.2.0"
    },
    "auth_notice": "As of 2026-08-09, every surface below except GET /health requires an operator token (X-API-Key, X-Fabric-Auth-Token, or Authorization: Bearer <token>). Without a valid token every route -- including nonexistent ones -- returns 401 with the same generic body; this is NOT a payload validation error. Request a self-check token from your Fabric contact before running the dry-run yourself.",
    "how_to_use": [
      "1. Choose your integration_model: oss-repository | proprietary-service | hybrid.",
      "2. Copy the matching object from `variants` — that inner object IS the complete request body.",
      "3. Do NOT submit this whole file and do NOT keep the `_meta` / `variants` wrapper. Submit only one variant object.",
      "4. Replace every placeholder value. Keep the field SET exactly as shown for your mode (adding OSS fields to a proprietary-service body is a blocking error).",
      "5. Validate: POST the object to /api/v1/tools/admission/dry-run on the Fabric admission API."
    ],
    "submit_surface": "POST /api/v1/tools/admission/dry-run",
    "result_semantics": {
      "http_200_ready": "Well-formed and admissible. blocking_findings is empty. This is the target.",
      "http_200_ready-with-followups": "Admissible but has non-blocking warnings (e.g. non-canonical deprecation_window). Address warnings when possible.",
      "http_200_blocked": "Well-formed but NOT admissible. See blocking_findings (semantic rule violated, e.g. OSS field in a proprietary body).",
      "http_422": "Malformed request rejected before admission logic: missing required field, unknown/extra field, or a secret-like value in proprietary_verification.evidence_ref."
    },
    "canonical_values": {
      "integration_model": ["oss-repository", "proprietary-service", "hybrid"],
      "capability_class": [
        "identity", "secrets", "delivery", "erp-business-truth", "project-workflow",
        "retrieval-evidence", "voice-runtime", "web-operator-surface", "workflow-engineering",
        "compliance-governance", "ecm-document-management", "adaptive-learning", "workspace-groupware-runtime",
        "semantic-projection-verification-harness"
      ],
      "compatibility_mode": ["exact-only", "major-compatible", "additive-minor-compatible"],
      "default_compatibility_mode": "additive-minor-compatible",
      "default_deprecation_window": "one published minor line",
      "lifecycle_status": ["draft", "active-limited", "active", "deprecated", "sunset", "retired", "blocked"],
      "attestation_mode": ["owner-attested", "third-party-attested"]
    },
    "per_mode_field_rules": {
      "oss-repository": "docs_metadata MUST include oss_inventory_doc_path + oss_inventory_verify_entrypoint. proprietary_verification MUST be omitted.",
      "proprietary-service": "docs_metadata MUST NOT include any oss_inventory_* field. proprietary_verification is REQUIRED.",
      "hybrid": "docs_metadata MUST include both oss_inventory_* fields AND proprietary_verification is REQUIRED."
    }
  },

  "variants": {
    "oss-repository": {
      "integration_model": "oss-repository",
      "manifest_document": {
        "id": "helpifyr.<tool-key>",
        "tool_key": "<tool-key>",
        "name": "<Human Readable Name>",
        "repository": {
          "url": "https://<public-git-host>/<org>/<repo>.git",
          "branch": "main"
        },
        "runtime_kind": "service",
        "capability_class": "delivery",
        "lifecycle_stage": "draft",
        "version": "0.1.0",
        "release_channel": "stable"
      },
      "docs_metadata": {
        "docs_entrypoint": "docs/OVERVIEW.md",
        "docs_standard_version": "1.0.0",
        "oss_inventory_doc_path": "docs/OSS_INVENTORY.md",
        "oss_inventory_verify_entrypoint": "python scripts/verify_oss_inventory_version_truth.py --check",
        "related_issue_refs": [
          "JaddaHelpifyr/helpifyr-fabric#<adoption-issue>",
          "<partner-org>/<repo>#<boost-issue>"
        ]
      },
      "producer_declarations": [],
      "consumer_declarations": [
        {
          "contract_family": "helpifyr-schema-governance-docs-standard",
          "surface_ref": "GET /api/v1/contracts/docs-standard",
          "accepted_versions": ["1.0.0"]
        },
        {
          "contract_family": "helpifyr-schema-governance-admission-governance",
          "surface_ref": "GET /api/v1/contracts/admission-governance",
          "accepted_versions": ["1.0.0"]
        }
      ],
      "compatibility": {
        "mode": "additive-minor-compatible",
        "deprecation_window": "one published minor line"
      },
      "lifecycle": {
        "status": "draft",
        "effective_from": "2026-07-15"
      },
      "verify_metadata": {
        "verify_entrypoint": "python scripts/verify_partner_admission.py --check",
        "readiness_surface_refs": ["GET /health"],
        "live_verification_target": "https://<boost-host>"
      }
    },

    "proprietary-service": {
      "integration_model": "proprietary-service",
      "manifest_document": {
        "id": "helpifyr.<tool-key>",
        "tool_key": "<tool-key>",
        "name": "<Human Readable Name>",
        "runtime_kind": "service",
        "capability_class": "delivery",
        "lifecycle_stage": "draft",
        "version": "0.1.0",
        "release_channel": "stable"
      },
      "docs_metadata": {
        "docs_entrypoint": "https://<provider-docs>/overview",
        "docs_standard_version": "1.0.0",
        "related_issue_refs": [
          "JaddaHelpifyr/helpifyr-fabric#<adoption-issue>"
        ]
      },
      "proprietary_verification": {
        "verification_authority": "<who attests, e.g. Provider QA (owner) or Auditor XY>",
        "evidence_ref": "<non-sensitive reference, e.g. attestation-id or report URL — NO tokens/passwords/keys>",
        "attestation_mode": "owner-attested"
      },
      "producer_declarations": [],
      "consumer_declarations": [
        {
          "contract_family": "helpifyr-schema-governance-docs-standard",
          "surface_ref": "GET /api/v1/contracts/docs-standard",
          "accepted_versions": ["1.0.0"]
        },
        {
          "contract_family": "helpifyr-schema-governance-admission-governance",
          "surface_ref": "GET /api/v1/contracts/admission-governance",
          "accepted_versions": ["1.0.0"]
        }
      ],
      "compatibility": {
        "mode": "additive-minor-compatible",
        "deprecation_window": "one published minor line"
      },
      "lifecycle": {
        "status": "draft",
        "effective_from": "2026-07-15"
      },
      "verify_metadata": {
        "verify_entrypoint": "GET https://<boost-host>/api/v1/self-check",
        "readiness_surface_refs": ["GET https://<boost-host>/health"],
        "live_verification_target": "https://<boost-host>"
      }
    },

    "hybrid": {
      "integration_model": "hybrid",
      "manifest_document": {
        "id": "helpifyr.<tool-key>",
        "tool_key": "<tool-key>",
        "name": "<Human Readable Name>",
        "repository": {
          "url": "https://<public-git-host>/<org>/<repo>.git",
          "branch": "main"
        },
        "runtime_kind": "service",
        "capability_class": "delivery",
        "lifecycle_stage": "draft",
        "version": "0.1.0",
        "release_channel": "stable"
      },
      "docs_metadata": {
        "docs_entrypoint": "docs/OVERVIEW.md",
        "docs_standard_version": "1.0.0",
        "oss_inventory_doc_path": "docs/OSS_INVENTORY.md",
        "oss_inventory_verify_entrypoint": "python scripts/verify_oss_inventory_version_truth.py --check",
        "related_issue_refs": [
          "JaddaHelpifyr/helpifyr-fabric#<adoption-issue>",
          "<partner-org>/<repo>#<boost-issue>"
        ]
      },
      "proprietary_verification": {
        "verification_authority": "<who attests the closed-source part>",
        "evidence_ref": "<non-sensitive reference — NO secrets>",
        "attestation_mode": "third-party-attested"
      },
      "producer_declarations": [],
      "consumer_declarations": [
        {
          "contract_family": "helpifyr-schema-governance-docs-standard",
          "surface_ref": "GET /api/v1/contracts/docs-standard",
          "accepted_versions": ["1.0.0"]
        },
        {
          "contract_family": "helpifyr-schema-governance-admission-governance",
          "surface_ref": "GET /api/v1/contracts/admission-governance",
          "accepted_versions": ["1.0.0"]
        }
      ],
      "compatibility": {
        "mode": "additive-minor-compatible",
        "deprecation_window": "one published minor line"
      },
      "lifecycle": {
        "status": "draft",
        "effective_from": "2026-07-15"
      },
      "verify_metadata": {
        "verify_entrypoint": "python scripts/verify_partner_admission.py --check",
        "readiness_surface_refs": ["GET /health", "GET https://<boost-host>/health"],
        "live_verification_target": "https://<boost-host>"
      }
    }
  },

  "_negative_reference_do_not_submit": [
    {
      "case": "missing integration_model",
      "expected": "HTTP 422 (Field required)"
    },
    {
      "case": "any extra/unknown field at any level (additionalProperties:false)",
      "expected": "HTTP 422 (extra_forbidden)"
    },
    {
      "case": "proprietary_verification.evidence_ref contains a secret-like value (token/password/api key/connection string)",
      "expected": "HTTP 422 (must be a non-sensitive reference)"
    },
    {
      "case": "proprietary-service body that still carries oss_inventory_doc_path or oss_inventory_verify_entrypoint",
      "expected": "HTTP 200 admission_status=blocked (must omit OSS inventory metadata)"
    },
    {
      "case": "proprietary-service or hybrid body without proprietary_verification",
      "expected": "HTTP 200 admission_status=blocked (require proprietary_verification with non-sensitive owner evidence)"
    }
  ]
}
