When can the new `not_run` job state be used in a workflow's `requires` list?

tl;dr: a new job state has appeared publicly, but may not be working - is it actually available? or when might it be?

I noticed in the public schema that a new not_run state has been added, as of 2 weeks ago. I found the source on GitHub. The documentation, though, naturally doesn’t include it, nor does the cci-language-server (the bottom half of the following image is being sourced from the public schema, hence my confusion):

I’ve tried to use it, but it isn’t functioning as expected: when a job doesn’t run because one of its requires doesn’t match, any job requiring that job to end with not_run state will not run. I know, of course, this isn’t at all defined as a feature yet, so there isn’t really a spec against which I can reasonably set my expectations.

So I’m just wondering when it may become available? Because it’ll allow me to massively reduce my configuration by removing a whole bunch of scripts that are basically doing the same thing, and reduce them down to proper CircleCI workflow orchestration :smiling_face: :folded_hands:


Example config:

version: 2.1
jobs:
  test_success:
    resource_class: small
    docker:
      - image: cimg/base:current
    steps:
      - run: 'echo success'
  test_failure:
    resource_class: small
    docker:
      - image: cimg/base:current
    steps:
      - run: 'echo failed && exit 1'
  test-coordinator:
    type: no-op
workflows:
  build_test_and_deploy:
    jobs:
      # Run tests in parallel.
      - test_success
      - test_failure
      - test_success:
          name: test_not_run
          filters:
            branches:
              only:
                - foo
      - test-coordinator:
          name: wait_for_tests_all
          requires:
            - test_success
            - test_failure
      - test-coordinator:
          name: after_tests_success
          requires:
            - wait_for_tests_all
      - test-coordinator:
          name: after_tests_failed
          requires:
            - wait_for_tests_all: failed
      - test-coordinator:
          name: after_tests_canceled
          requires:
            - wait_for_tests_all: canceled
      - test-coordinator:
          name: after_tests_not_run
          requires:
            - wait_for_tests_all: not_run

Results: none of the jobs named after_tests_* run. I assumed after_tests_not_run would run though.