swiftlang/swift-org-website

Proposal 422 contents in the reference JSON are broken

MahdiBM opened this issue · 1 comments

Similar to #489.

Describe the bug

The Proposal 422 is broken in the reference JSON which makes for a few problems:
1- The website doesn't show it.
2- Automation tools like Penny are ... bothered 😅

To Reproduce

Try curl -s "https://download.swift.org/swift-evolution/proposals.json" | jq 'last':

{
    "authors": [
      {
        "link": "https://github.com/ApolloZhu",
        "name": "Apollo Zhu"
      }
    ],
    "errors": [
      {
        "kind": "error",
        "message": "Missing proposal ID link (SE-NNNN)[NNNN-filename.md].",
        "stage": "parse"
      }
    ],
    "id": "",
    "implementation": [
      {
        "account": "apple",
        "id": "70602",
        "repository": "swift",
        "type": "pull"
      }
    ],
    "link": "",
    "reviewManager": {
      "link": "https://github.com/DougGregor",
      "name": "Doug Gregor"
    },
    "sha": "196c3d5601a4433ff12d6b8d526355f8b19f8f4f",
    "status": {
      "state": ".awaitingReview"
    },
    "summary": "This proposal aims to lift the restriction afore set in [SE-0382 \"Expression\nmacros\"](https://github.com/apple/swift-evolution/blob/main/proposals/0382-expression-macros.md)\nto allow non-built-in expression macros as caller-side default argument\nexpressions.\n",
    "title": " Expression macro as caller-side default argument\n"
  }

The problems is stated in "errors": [] array.
It shouldn't be there and probably indicate something went wrong in the code producing the JSON.
As a result, the "id": "", is empty, instead being something like "id": "SE-0422",. Also "link": "",.

A good JSON looks like so:

{
    "authors": [
      {
        "link": "https://github.com/angela-laar",
        "name": "Angela Laar"
      },
      {
        "link": "https://github.com/kavon",
        "name": "Kavon Farvardin"
      },
      {
        "link": "https://github.com/xedin",
        "name": "Pavel Yaskevich"
      }
    ],
    "id": "SE-0418",
    "implementation": [
      {
        "account": "apple",
        "id": "67498",
        "repository": "swift",
        "type": "pull"
      },
      {
        "account": "apple",
        "id": "70076",
        "repository": "swift",
        "type": "pull"
      }
    ],
    "link": "0418-inferring-sendable-for-methods.md",
    "reviewManager": {
      "link": "https://github.com/beccadax",
      "name": "Becca Royal-Gordon"
    },
    "sha": "9c423fd798382bcb5260aa9b473bd5d351acacd1",
    "status": {
      "state": ".accepted"
    },
    "summary": "This proposal is focused on a few corner cases in the language surrounding\nfunctions as values and key path literals when using concurrency. We propose\nSendability should be inferred for partial and unapplied methods. We also\npropose to lift a Sendability restriction placed on key path literals in\n[SE-0302](https://github.com/apple/swift-evolution/blob/main/proposals/0302-concurrent-value-and-concurrent-closures.md#key-path-literals)\nby allowing the developers to control whether key path literal is Sendable or\nnot. The goal is to improve flexibility, simplicity, and ergonomics without\nsignificant changes to Swift.\n",
    "title": " Inferring Sendable for methods and key path literals\n"
  }

Expected behavior

The JSON element in the array to look like the others with no "errors".

Actual behavior

The JSON element in array contains unexpected "errors".