diff --git a/.github/workflows/cla_assistant.yml b/.github/workflows/cla_assistant.yml
index e725bee..5341ef1 100644
--- a/.github/workflows/cla_assistant.yml
+++ b/.github/workflows/cla_assistant.yml
@@ -13,10 +13,9 @@ jobs:
steps:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the Contributor License Agreement and I hereby accept the Terms.') || github.event_name == 'pull_request_target'
- uses: cla-assistant/github-action@v2.3.1
+ uses: contributor-assistant/github-action@v2.6.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- PERSONAL_ACCESS_TOKEN : ${{ secrets.CLA_BOT_ACCESS_TOKEN }}
with:
remote-organization-name: qir-alliance
remote-repository-name: data_storage
diff --git a/.github/workflows/link_and_spell_check.yml b/.github/workflows/link_and_spell_check.yml
index b24aeca..91bab47 100644
--- a/.github/workflows/link_and_spell_check.yml
+++ b/.github/workflows/link_and_spell_check.yml
@@ -25,19 +25,16 @@ jobs:
}
shell: pwsh
- name: markdownlint-cli
- # cspell:words nosborn
- uses: nosborn/github-action-markdown-cli@v2.0.0
+ uses: nosborn/github-action-markdown-cli@v3.3.0
with:
files: .
config_file: 'utils/md_lint_config.yml'
- name: Markdown link check
- # cspell:words gaurav
- uses: gaurav-nelson/github-action-markdown-link-check@v1
+ uses: gaurav-nelson/github-action-markdown-link-check@1.0.15
with:
use-verbose-mode: 'yes'
if: ${{ success() || failure() }}
- name: "Check spelling in changed files"
- # cspell:words streetsidesoftware
uses: streetsidesoftware/cspell-action@v6
with:
inline: warning
diff --git a/specification/under_development/profiles/Adaptive_Profile.md b/specification/under_development/profiles/Adaptive_Profile.md
index f10da4a..ab77c07 100644
--- a/specification/under_development/profiles/Adaptive_Profile.md
+++ b/specification/under_development/profiles/Adaptive_Profile.md
@@ -51,15 +51,6 @@ support more advanced adaptive computations:
9. Multiple return points.
-
-
The use of these optional features is represented as a [module
flag](#module-flags-metadata) in the program IR. Any backend that supports
capabilities 1-4, and as many of capabilities 5-9 as it desires, is considered
@@ -72,7 +63,7 @@ capabilities are outlined in the following sections.
## Mandatory Capabilities
-**Bullet 1: Quantum transformations**
+### Bullet 1: Quantum transformations
The set of available instructions that transform the quantum state may vary
depending on the targeted backend. The profile specification defines how to
@@ -87,7 +78,7 @@ role of the QIS, recommendations for front- and backend providers, as well as
the distinction between runtime functions and quantum instructions, can be found
in this [document](../Instruction_Set.md).
-**Bullet 2: Measurements**
+### Bullet 2: Measurements
As for the Base Profile, a measurement function is a QIS function marked with an
[`irreversible` attribute](./Base_Profile.md#quantum-instruction-set) that
@@ -104,7 +95,7 @@ supported QIS, without impacting the state of the non-measured qubits.
Furthermore, it must be possible to use the measured qubit(s) afterwards and
apply additional quantum instructions to the same qubit(s).
-**Bullet 3: Forward Branching**
+### Bullet 3: Forward Branching
Additionally, the Adaptive Profile requires that it must be possible to take
action based on a measurement result. Specifically, it must be possible to
@@ -149,7 +140,7 @@ conditionally perform quantum instructions depending on measurement outcomes,
for example when performing real-time error-correction as part of a quantum
programs.
-**Bullet 4: Program output**
+### Bullet 4: Program output
The specifications of QIR and all its profiles need to accurately reflect the
program intent. This includes being able to define and customize the program
@@ -328,8 +319,6 @@ constant. We refer to the [LLVM language
reference](https://llvm.org/docs/LangRef.html#switch-instruction) for more
information about the switch instruction.
-
-
### Bullet 9: Multiple Return Points
A backend my choose to support multiple return points in an entry point
@@ -779,19 +768,6 @@ identified by an integer value that is bitcast to a pointer to match the
expected type. How such an integer value is interpreted and specifically how it
relates to hardware resources is ultimately up to the executing backend.
-
-
The integer value that is cast must be either a constant, or a phi node of
integer type if [iterations](#bullet-7-backwards-branching) are used/supported.
If the cast value is a phi node, it must not directly or indirectly depend on
@@ -903,7 +879,7 @@ measurements and boolean computations:
%2 = and i1 %0, %1
br i1 %2, label %then, label %continue
-then:
+then:
tail call void @__quantum__qis__x__body(%Qubit* nonnull inttoptr (i64 2 to %Qubit*))
br label %continue
diff --git a/specification/under_development/profiles/Base_Profile.md b/specification/under_development/profiles/Base_Profile.md
index 5867156..1f135bd 100644
--- a/specification/under_development/profiles/Base_Profile.md
+++ b/specification/under_development/profiles/Base_Profile.md
@@ -26,7 +26,9 @@ fundamentally consist of unitary transformations of the quantum state as well as
measurements at the end of the program. More details about each of the bullets
are outlined below.
-**Bullet 1: Quantum transformations**
+## Mandatory Capabilities
+
+### Bullet 1: Quantum transformations
The set of available instructions that transform the quantum state may vary
depending on the targeted backend. The profile specification defines how to
@@ -41,7 +43,7 @@ the QIS, recommendations for front- and backend providers, as well as the
distinction between runtime functions and quantum instructions can be found in
[this document](../Instruction_Set.md).
-**Bullet 2: Measurements**
+### Bullet 2: Measurements
The second requirement should be taken to mean that a Base Profile compliant
program does *not* apply instructions to a qubit after it has been measured;
@@ -54,7 +56,7 @@ to measure only a subset of all available qubits at a time.
- Executing a Base Profile compliant program does not require support for
applying quantum instructions dependent on measurement outcomes.
-**Bullet 3: Program output**
+### Bullet 3: Program output
The QIR specification and its profiles describe a mechanism to accurately
reflect program intent with regard to program output. The Base Profile
diff --git a/specification/v0.1/2_Callables.md b/specification/v0.1/2_Callables.md
index 8009716..54d8d60 100644
--- a/specification/v0.1/2_Callables.md
+++ b/specification/v0.1/2_Callables.md
@@ -1,6 +1,6 @@
# Callables
-We use the term _callable_ to mean a subroutine in the source language.
+We use the term *callable* to mean a subroutine in the source language.
Different source languages use different names for this concept.
> [!NOTE]