@airmark/quiver 0.33.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +18 -12
  2. package/package.json +7 -7
  3. package/quills/af4141/0.1.0/Quill.yaml +3 -12
  4. package/quills/af4141/0.1.0/example.md +53 -0
  5. package/quills/afmc_moa/0.0.1/Quill.yaml +29 -45
  6. package/quills/afmc_moa/0.0.1/example.md +114 -0
  7. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/src/config.typ +1 -1
  8. package/quills/classic_resume/{0.0.1 → 0.1.0}/Quill.yaml +88 -168
  9. package/quills/classic_resume/0.1.0/example.md +111 -0
  10. package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/src/components.typ +77 -35
  11. package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/src/config.typ +23 -14
  12. package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/src/layout.typ +37 -7
  13. package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/src/lib.typ +1 -0
  14. package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/src/util.typ +50 -0
  15. package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/typst.toml +0 -5
  16. package/quills/classic_resume/{0.0.1 → 0.1.0}/plate.typ +63 -56
  17. package/quills/cyber_career_plan/0.1.0/Quill.yaml +328 -0
  18. package/quills/cyber_career_plan/0.1.0/example.md +55 -0
  19. package/quills/cyber_career_plan/0.1.0/plate.typ +681 -0
  20. package/quills/daf1206/0.1.0/Quill.yaml +14 -16
  21. package/quills/daf1206/0.1.0/example.md +55 -0
  22. package/quills/daf4392/0.1.0/Quill.yaml +1 -6
  23. package/quills/daf4392/0.1.0/example.md +51 -0
  24. package/quills/usaf_letter/0.1.0/Quill.yaml +7 -42
  25. package/quills/usaf_letter/0.1.0/example.md +35 -0
  26. package/quills/{usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/LICENSE → usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/SpectralSC/OFL.txt} +2 -2
  27. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/SpectralSC/SpectralSC-Italic.ttf +0 -0
  28. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/SpectralSC/SpectralSC-Regular.ttf +0 -0
  29. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/frontmatter.typ +1 -1
  30. package/quills/usaf_letter/0.1.0/plate.typ +1 -4
  31. package/quills/usaf_memo/0.2.0/Quill.yaml +7 -40
  32. package/quills/usaf_memo/0.2.0/example.md +45 -0
  33. package/quills/usaf_memo/0.3.0/Quill.yaml +13 -50
  34. package/quills/usaf_memo/0.3.0/example.md +48 -0
  35. package/quills/{usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/Cinzel/LICENSE → usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/SpectralSC/OFL.txt} +2 -2
  36. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/SpectralSC/SpectralSC-Italic.ttf +0 -0
  37. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/SpectralSC/SpectralSC-Regular.ttf +0 -0
  38. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/frontmatter.typ +1 -1
  39. package/quills/usaf_memo/0.3.0/plate.typ +1 -4
  40. package/templates/deros_extension.md +40 -0
  41. package/templates/templates.json +7 -0
  42. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/src/util.typ +0 -32
  43. package/quills/cyber_ribbon_chart/0.0.1/Quill.yaml +0 -320
  44. package/quills/cyber_ribbon_chart/0.0.1/plate.typ +0 -428
  45. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/Cinzel/Cinzel-Regular.ttf +0 -0
  46. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/CopperplateCC/CopperplateCC-Heavy.otf +0 -0
  47. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/Cinzel-Regular.ttf +0 -0
  48. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/CopperplateCC-Heavy.otf +0 -0
  49. /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/LICENSE +0 -0
  50. /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-Bold.ttf +0 -0
  51. /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-BoldItalic.ttf +0 -0
  52. /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-Italic.ttf +0 -0
  53. /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-Regular.ttf +0 -0
  54. /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/OFL.txt +0 -0
package/README.md CHANGED
@@ -16,8 +16,8 @@ and aligned to the current Quillmark spec.
16
16
  | `daf1206` | 0.1.0 | DAF Form 1206 — Nomination for Award |
17
17
  | `daf4392` | 0.1.0 | DAF Form 4392 — Pre-Departure Safety Briefing (Page 2) |
18
18
  | `afmc_moa` | 0.0.1 | DoD Memorandum of Agreement (DoDI 4000.19) |
19
- | `classic_resume` | 0.0.1 | Classic single-page resume |
20
- | `cyber_ribbon_chart` | 0.0.1 | 17X Cyber Operations Officer ribbon chart and career vector planner |
19
+ | `classic_resume` | 0.1.0 | Classic single-page resume |
20
+ | `cyber_career_plan` | 0.1.0 | 17X Cyber Operations Officer career plan: current assignment, vectors and record |
21
21
 
22
22
  ## Install
23
23
 
@@ -94,6 +94,7 @@ quills/
94
94
  <name>/
95
95
  <x.y.z>/
96
96
  Quill.yaml
97
+ example.md
97
98
  plate.typ
98
99
  assets/
99
100
  packages/
@@ -129,23 +130,27 @@ this collection's own `node_modules`, so the versions pinned here are the format
129
130
  the quiver is packed in and the wasm the gate renders through.
130
131
 
131
132
  **Does it work?** `quillkit test` loads the collection with `fromDir`, compiles
132
- every quill, and renders each one's seed: every field absent, rendering its
133
- `default:` or its blank. It is the gate CI runs, so a validation failure
134
- surfaces here rather than on a consumer's build:
133
+ every quill, and renders each one's seed, every field absent but what a card
134
+ kind's `seed:` writes and rendering its `default:` or its blank, and its
135
+ `example.md`, one filled-in page of made-up values. `npm test` then fails a
136
+ quill that ships no example or whose example warns, and a template that warns.
137
+ It is the gate CI runs, so a validation failure surfaces here rather than on a
138
+ consumer's build:
135
139
 
136
140
  ```bash
137
141
  npm install
138
142
  npm test
139
143
  ```
140
144
 
141
- The gate renders no answer, so a page with a long list or a wrapping value in
142
- it is a design fixture's to exercise (`design/`), not the gate's.
145
+ The gate renders one answer per quill, so a page with a long list or a
146
+ wrapping value in it is a design fixture's to exercise (`design/`).
143
147
 
144
148
  **What is it like to use?** `npm run dev` is `quillkit studio`: it packs this
145
149
  quiver, serves the studio client over it, and repacks on every save — pick a
146
- quill, edit the seeded document, watch it paint, read the diagnostics. The
147
- client is quillkit's own, so there is nothing to install for it and nothing to
148
- keep in step.
150
+ quill, edit its example (or, with **Examples** off, its seed), or open one
151
+ of the official templates from **Templates…**, watch it paint, read the
152
+ diagnostics. The client is quillkit's own, so there is nothing to install for it
153
+ and nothing to keep in step.
149
154
 
150
155
  Reload to pick up a repack. Editing a quill into an invalid state is not a
151
156
  failure of the loop: it packs, and the client says what is wrong with that quill
@@ -158,8 +163,9 @@ is authoritative, studio is advisory.
158
163
 
159
164
  `npm run site` writes the arrangement a deploy serves into `site/` — the client
160
165
  at the root, a built quiver at `quiver/` beneath it — without serving it. It
161
- passes `--drafts`, so the `0.0.x` prototypes are packed beside the releases and
162
- every deploy previews them as `npm run dev` does. CI
166
+ passes `--drafts`, so the `0.0.x` prototypes are packed beside the releases, and
167
+ `--templates`, so every deploy previews them and the templates as `npm run dev`
168
+ does. CI
163
169
  uploads that on every run, so a pull request — a fork's included — is reviewed
164
170
  by downloading the artifact and serving the directory.
165
171
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airmark/quiver",
3
- "version": "0.33.0",
3
+ "version": "0.35.0",
4
4
  "description": "Airmark Quiver — Air Force and DAF document Quills for Quillmark.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -18,14 +18,14 @@
18
18
  "node": ">=24"
19
19
  },
20
20
  "devDependencies": {
21
- "@quillmark/quiver": "0.30.0",
22
- "@quillmark/wasm": "^0.116.0",
23
- "quillkit": "0.9.0"
21
+ "@quillmark/quiver": "0.33.0",
22
+ "@quillmark/wasm": "^0.121.0",
23
+ "quillkit": "0.13.0"
24
24
  },
25
25
  "scripts": {
26
- "test": "quillkit test && node scripts/check-templates.mjs",
27
- "site": "quillkit site --out site --drafts",
28
- "dev": "quillkit studio"
26
+ "test": "quillkit test && node scripts/check-examples.mjs && node scripts/check-templates.mjs",
27
+ "site": "quillkit site --out site --drafts --templates templates",
28
+ "dev": "quillkit studio --templates templates"
29
29
  },
30
30
  "keywords": [
31
31
  "quillmark",
@@ -14,13 +14,11 @@ main:
14
14
  name:
15
15
  type: string
16
16
  default: ""
17
- example: "Doe, John A."
18
17
  description: Full name in Last, First, Middle Initial format.
19
18
 
20
19
  unit:
21
20
  type: string
22
21
  default: ""
23
- example: 1st Air Control Squadron
24
22
  description: Unit or organization of assignment.
25
23
 
26
24
  grade:
@@ -45,7 +43,6 @@ card_kinds:
45
43
  date:
46
44
  type: date
47
45
  default: ""
48
- example: "2026-03-14"
49
46
  ui:
50
47
  group: record
51
48
  description: Date of the action (column A).
@@ -53,7 +50,6 @@ card_kinds:
53
50
  action:
54
51
  type: string
55
52
  default: ""
56
- example: Upgraded to 5-level; assumed ADO duties
57
53
  ui:
58
54
  group: record
59
55
  description: One type of action per line (column B).
@@ -61,16 +57,14 @@ card_kinds:
61
57
  written_grade:
62
58
  type: string
63
59
  default: ""
64
- example: "3"
65
60
  ui:
66
61
  group: record
67
62
  compact: true
68
- description: Written grade, if applicable (column C).
63
+ description: Written grade, as in 3, if applicable (column C).
69
64
 
70
65
  written_grade_date:
71
66
  type: date
72
67
  default: ""
73
- example: "2026-02-28"
74
68
  ui:
75
69
  group: record
76
70
  compact: true
@@ -79,16 +73,14 @@ card_kinds:
79
73
  positional_grade:
80
74
  type: string
81
75
  default: ""
82
- example: "2"
83
76
  ui:
84
77
  group: record
85
78
  compact: true
86
- description: Positional grade, if applicable (column E).
79
+ description: Positional grade, as in 2, if applicable (column E).
87
80
 
88
81
  positional_grade_date:
89
82
  type: date
90
83
  default: ""
91
- example: "2026-03-14"
92
84
  ui:
93
85
  group: record
94
86
  compact: true
@@ -97,7 +89,6 @@ card_kinds:
97
89
  auth_or_remarks:
98
90
  type: string
99
91
  default: ""
100
- example: "J.A.D."
101
92
  ui:
102
93
  group: record
103
- description: Authentication or remarks entry (column G).
94
+ description: Authentication initials, as in J.A.D., or remarks entry (column G).
@@ -0,0 +1,53 @@
1
+ ~~~
2
+ $quill: af4141
3
+ name: Doe, John A.
4
+ unit: 1st Air Control Squadron
5
+ grade: SSgt
6
+ commanders_auth: R.T.K., Lt Col
7
+ ~~~
8
+
9
+ ~~~
10
+ $kind: experience
11
+ date: 2025-06-02
12
+ action: Assigned to 1st Air Control Squadron
13
+ auth_or_remarks: M.S.P.
14
+ ~~~
15
+
16
+ ~~~
17
+ $kind: experience
18
+ date: 2025-09-19
19
+ action: Completed initial qualification training
20
+ auth_or_remarks: M.S.P.
21
+ ~~~
22
+
23
+ ~~~
24
+ $kind: experience
25
+ date: 2026-02-28
26
+ action: Initial evaluation, written phase
27
+ written_grade: "3"
28
+ written_grade_date: 2026-02-28
29
+ auth_or_remarks: L.E.W.
30
+ ~~~
31
+
32
+ ~~~
33
+ $kind: experience
34
+ date: 2026-03-14
35
+ action: Initial evaluation, positional phase
36
+ positional_grade: "2"
37
+ positional_grade_date: 2026-03-14
38
+ auth_or_remarks: L.E.W.
39
+ ~~~
40
+
41
+ ~~~
42
+ $kind: experience
43
+ date: 2026-03-14
44
+ action: Upgraded to 5-level
45
+ auth_or_remarks: R.T.K.
46
+ ~~~
47
+
48
+ ~~~
49
+ $kind: experience
50
+ date: 2026-03-16
51
+ action: Assumed ADO duties
52
+ auth_or_remarks: R.T.K.
53
+ ~~~
@@ -16,7 +16,6 @@ main:
16
16
  first_party_name:
17
17
  type: plaintext
18
18
  inline: true
19
- example: "[First Party Name and Acronym]"
20
19
  ui:
21
20
  group: parties
22
21
  description: "Full organization name and acronym of the first party (the MOA's proponent). Printed as 'THE [FIRST PARTY]' in the title block and referenced throughout as '[the First Party]'."
@@ -24,7 +23,6 @@ main:
24
23
  second_party_name:
25
24
  type: plaintext
26
25
  inline: true
27
- example: "[Second Party Name and Acronym]"
28
26
  ui:
29
27
  group: parties
30
28
  description: "Full organization name and acronym of the second party. Printed as 'THE [SECOND PARTY]' in the title block."
@@ -40,7 +38,6 @@ main:
40
38
  subject:
41
39
  type: plaintext
42
40
  inline: true
43
- example: "[Insert Subject]"
44
41
  ui:
45
42
  group: parties
46
43
  description: "Subject of the agreement, printed in the title block ('FOR [SUBJECT]') and on the Attachment A cover if reimbursable."
@@ -48,7 +45,6 @@ main:
48
45
  agreement_number:
49
46
  type: plaintext
50
47
  inline: true
51
- example: "[Insert Agreement Number]"
52
48
  ui:
53
49
  group: parties
54
50
  description: Unique agreement identification number, printed in the title block.
@@ -58,8 +54,6 @@ main:
58
54
  items:
59
55
  type: plaintext
60
56
  default: []
61
- example:
62
- - "[Insert Second Party Mailing Address]"
63
57
  ui:
64
58
  group: correspondence
65
59
  description: "Second Party's mailing address for MOA correspondence and notices. Also shown in the intro paragraph if second_party_is_non_government is true."
@@ -76,7 +70,6 @@ main:
76
70
  type: richtext
77
71
  inline: true
78
72
  default: ""
79
- example: "[Insert Reimbursable Support]"
80
73
  ui:
81
74
  group: financial_details
82
75
  description: "Attachment A, item 1: description of the reimbursable support. Only used when reimbursable is true."
@@ -85,27 +78,24 @@ main:
85
78
  type: plaintext
86
79
  inline: true
87
80
  default: ""
88
- example: "$[Insert Estimated Amount]"
89
81
  ui:
90
82
  group: financial_details
91
83
  compact: true
92
- description: "Attachment A, item 2: estimated amount of funds to be reimbursed. Only used when reimbursable is true."
84
+ description: "Attachment A, item 2: estimated amount of funds to be reimbursed, as in $50,000. Only used when reimbursable is true."
93
85
 
94
86
  appropriation_fy:
95
87
  type: plaintext
96
88
  inline: true
97
89
  default: ""
98
- example: "[Insert Appropriation FY]"
99
90
  ui:
100
91
  group: financial_details
101
92
  compact: true
102
- description: "Attachment A, item 2: appropriation fiscal year. Only used when reimbursable is true."
93
+ description: "Attachment A, item 2: appropriation fiscal year, printed after 'FY', as in 2027. Only used when reimbursable is true."
103
94
 
104
95
  cost_center_provider:
105
96
  type: plaintext
106
97
  inline: true
107
98
  default: ""
108
- example: "[Insert Provider Cost Center Number]"
109
99
  ui:
110
100
  group: financial_details
111
101
  compact: true
@@ -115,7 +105,6 @@ main:
115
105
  type: plaintext
116
106
  inline: true
117
107
  default: ""
118
- example: "[Insert Receiver Cost Center Number]"
119
108
  ui:
120
109
  group: financial_details
121
110
  compact: true
@@ -125,7 +114,6 @@ main:
125
114
  type: plaintext
126
115
  inline: true
127
116
  default: ""
128
- example: "[Insert Provider Financial POC]"
129
117
  ui:
130
118
  group: financial_details
131
119
  description: "Attachment A, item 4: provider's financial point of contact. Only used when reimbursable is true."
@@ -134,7 +122,6 @@ main:
134
122
  type: plaintext
135
123
  inline: true
136
124
  default: ""
137
- example: "[Insert Receiver Financial POC]"
138
125
  ui:
139
126
  group: financial_details
140
127
  description: "Attachment A, item 4: receiver's financial point of contact. Only used when reimbursable is true."
@@ -143,7 +130,6 @@ main:
143
130
  type: richtext
144
131
  inline: true
145
132
  default: ""
146
- example: "[Insert Any Additional Financial Information]"
147
133
  ui:
148
134
  group: financial_details
149
135
  description: "Attachment A, item 5: any other financial information required by DoD 7000.14-R or desired in the agreement. Only used when reimbursable is true."
@@ -151,7 +137,6 @@ main:
151
137
  first_party_signatory:
152
138
  type: plaintext
153
139
  inline: true
154
- example: "[First Party Signatory Name and Title]"
155
140
  ui:
156
141
  group: signatures
157
142
  description: "Name and title of the First Party's approval authority, printed under the signature line."
@@ -159,7 +144,6 @@ main:
159
144
  second_party_signatory:
160
145
  type: plaintext
161
146
  inline: true
162
- example: "[Second Party Signatory Name and Title]"
163
147
  ui:
164
148
  group: signatures
165
149
  description: "Name and title of the Second Party's approval authority, printed under the signature line."
@@ -174,30 +158,30 @@ main:
174
158
  card_kinds:
175
159
  background:
176
160
  title: Background
177
- description: "Background section (DoDI 4000.19 paragraph 1) explaining the circumstances leading to this MOA. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders before authorities."
178
- body:
179
- example: |
161
+ description: "Background section (DoDI 4000.19 paragraph 1) explaining the circumstances leading to this MOA. The body opens with 'BACKGROUND:'. Optional: include it only to explain a need the purpose does not make self-evident, typically with another federal agency; between OSD or DoD Components it is normally omitted. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders before authorities."
162
+ seed:
163
+ $body: |
180
164
  BACKGROUND: [If there is a need to discuss background, do so here. Normally, there is no need to discuss the background or provide justification for the MOA, particularly if between OSD or DoD Components. Occasionally, however, there is a desire to explain the need for the MOA; particularly where it is not self-evident from the purpose or it is with another federal agency.]
181
165
 
182
166
  authorities:
183
167
  title: Authorities
184
- description: "Authorities section citing the legal basis for this MOA. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after background, before purpose_and_scope."
185
- body:
186
- example: |
168
+ description: "Authorities section citing the legal basis for this MOA. The body opens with 'AUTHORITIES:' and states the legal authority for the MOA, such as the Economy Act, and each Party's authorities. Another federal agency's own asserted authority is prefaced 'The [Party] asserts the following authority:'; DoD need not agree with it. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after background, before purpose_and_scope."
169
+ seed:
170
+ $body: |
187
171
  AUTHORITIES: [State the legal authority upon which the reimbursable MOA is based, such as the Economy Act, or any other legal or significant authority that authorizes any such actions associated with this MOA. Discuss the authorities of the Parties here. If the other Party is another federal agency and insists on stating what it believes to be its own authority, preface that assertion with "The [Party] asserts the following authority:" The DoD has no obligation to agree with such assertions of authority by other federal agencies.]
188
172
 
189
173
  purpose_and_scope:
190
174
  title: Purpose and Scope
191
- description: "Purpose and Scope section describing what this MOA establishes. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after authorities, before responsibilities_of_the_parties."
192
- body:
193
- example: |
175
+ description: "Purpose and Scope section describing what this MOA establishes. The body opens with 'PURPOSE AND SCOPE:' and states the MOA's purpose and scope. Every MOA includes it. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after authorities, before responsibilities_of_the_parties."
176
+ seed:
177
+ $body: |
194
178
  PURPOSE AND SCOPE: [State the purpose and the scope of the MOA here. Always use this paragraph.]
195
179
 
196
180
  responsibilities_of_the_parties:
197
181
  title: Responsibilities of the Parties
198
- description: "Responsibilities of the Parties section listing each party's obligations under this MOA. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after purpose_and_scope, before personnel."
199
- body:
200
- example: |
182
+ description: "Responsibilities of the Parties section listing each party's obligations under this MOA. The body opens with 'RESPONSIBILITIES OF THE PARTIES:', then a list item per Party ('The [First Party] will—', 'The [Second Party] will—', 'Both Parties will—'), each nesting every specific obligation of that Party. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after purpose_and_scope, before personnel."
183
+ seed:
184
+ $body: |
201
185
  RESPONSIBILITIES OF THE PARTIES:
202
186
 
203
187
  - The [First Party] will—
@@ -209,16 +193,16 @@ card_kinds:
209
193
 
210
194
  personnel:
211
195
  title: Personnel
212
- description: "Personnel section describing each party's responsibility for its own personnel costs. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after responsibilities_of_the_parties, before general_provisions."
213
- body:
214
- example: |
196
+ description: "Personnel section describing each party's responsibility for its own personnel costs. The body opens with 'PERSONNEL:' and states each Party's responsibility for all costs of its personnel (pay and benefits, support, travel) and for their supervision and management, with the process for any shared supervision. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after responsibilities_of_the_parties, before general_provisions."
197
+ seed:
198
+ $body: |
215
199
  PERSONNEL: [Explain each Party's responsibility for all costs of its personnel, including pay and benefits, support, and travel, if applicable to the agreement. Each Party is responsible for supervision and management of its personnel. For shared supervision or management, explain the process to accomplish that.]
216
200
 
217
201
  general_provisions:
218
202
  title: General Provisions
219
- description: "General Provisions section covering points of contact, termination, expiration, and other standard MOA terms. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after personnel, before financial_details."
220
- body:
221
- example: |
203
+ description: "General Provisions section covering points of contact, termination, expiration, and other standard MOA terms. The body opens with 'GENERAL PROVISIONS:', then a list of DoDI 4000.19's standard provisions, each led by its capitalized title: POINTS OF CONTACT (a primary and an alternate POC per Party, each with name, position, office, phone and email), CORRESPONDENCE, REVIEW OF AGREEMENT (a non-reimbursable MOA at least at mid-point, a reimbursable one annually for financial impacts), MODIFICATION OF AGREEMENT, DISPUTES, TERMINATION OF AGREEMENT (its days of written notice), TRANSFERABILITY, ENTIRE AGREEMENT, EFFECTIVE DATE, EXPIRATION DATE, NO THIRD PARTY BENEFICIARIES, SEVERABILITY and OTHER FEDERAL AGENCIES. CANCELLATION OR MODIFICATION OF PREVIOUS AGREEMENT, naming that agreement's subject, number and effective date, appears only when this MOA supersedes one. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after personnel, before financial_details."
204
+ seed:
205
+ $body: |
222
206
  GENERAL PROVISIONS:
223
207
 
224
208
  - POINTS OF CONTACT (POCS). The following POCs will be used by the Parties to communicate matters concerning this MOA. Each Party may change its POC upon reasonable notice to the other Party.
@@ -244,9 +228,9 @@ card_kinds:
244
228
 
245
229
  financial_details:
246
230
  title: Financial Details
247
- description: "Financial Details section (DoDI 4000.19 paragraph 7) covering availability of funds, billing, payment, and Economy Act determination. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after general_provisions, before list_of_attachments."
248
- body:
249
- example: |
231
+ description: "Financial Details section (DoDI 4000.19 paragraph 7) covering availability of funds, billing, payment, and Economy Act determination. The body opens with 'FINANCIAL DETAILS:'. A non-reimbursable MOA follows it with 'This MOA does not provide for reimbursement between the Parties.' A reimbursable one lists AVAILABILITY OF FUNDS, BILLING, PAYMENT OF BILLS, FINANCIAL SPECIFICS (referring to Attachment A and stating any allowance or advance payments) and ECONOMY ACT DETERMINATION AND FINDINGS (D&F). The D&F adds that the provider can render the support without jeopardizing its missions when the provider is an OSD or DoD Component, and that any required D&F is completed when a separate written one is required. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders after general_provisions, before list_of_attachments."
232
+ seed:
233
+ $body: |
250
234
  FINANCIAL DETAILS [include Attachment A in all reimbursable MOAs; if the MOA is not reimbursable add, "This MOA does not provide for reimbursement between the Parties"]:
251
235
 
252
236
  - AVAILABILITY OF FUNDS. This MOA does not document the obligation of funds between the Parties. The obligation of funds by the Parties, resulting from this MOA, is subject to the availability of funds pursuant to the DoD Financial Management Regulation. No provision in this MOA will be interpreted to require obligation or payment of funds in violation of the Anti-Deficiency Act, Section 1341 of Title 31, United States Code.
@@ -257,9 +241,9 @@ card_kinds:
257
241
 
258
242
  list_of_attachments:
259
243
  title: List of Attachments
260
- description: "List of Attachments section enumerating this MOA's attachments. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders last, after financial_details, immediately before the signature blocks."
261
- body:
262
- example: |
244
+ description: "List of Attachments section enumerating this MOA's attachments. The body opens with 'LIST OF ATTACHMENTS:', then a list item per attachment, as in 'Attachment A, Financial Details'. Authored as its own card, but rendered inline as the body's numbered paragraphs — same chained decimal numbering as the rest of the body, no page break. Exactly one is expected; if more than one is supplied, only the first is used. Renders last, after financial_details, immediately before the signature blocks."
245
+ seed:
246
+ $body: |
263
247
  LIST OF ATTACHMENTS:
264
248
 
265
249
  - [List each attachment here, e.g. "Attachment A, Financial Details".]
@@ -269,14 +253,14 @@ card_kinds:
269
253
  description: "A lettered attachment to the MOA, starting at Attachment B (Attachment A is reserved for the reimbursable financial-details page and is generated automatically when 'reimbursable' is true). Each card starts on its own page."
270
254
  ui:
271
255
  groups: [attachment]
272
- body:
273
- example: |
256
+ seed:
257
+ title: "[Insert Attachment Title]"
258
+ $body: |
274
259
  [Describe the attachment's content here.]
275
260
  fields:
276
261
  title:
277
262
  type: plaintext
278
263
  inline: true
279
- example: "[Insert Attachment Title]"
280
264
  ui:
281
265
  group: attachment
282
266
  description: "Subject of the attachment, printed on the cover line ('to [subject], [agreement_number] [title]')."
@@ -0,0 +1,114 @@
1
+ ~~~
2
+ $quill: afmc_moa
3
+ $kind: main
4
+ first_party_name: Air Force Example Test Center (AFETC)
5
+ second_party_name: Navy Example Warfare Laboratory (NEWL)
6
+ subject: Thermal-Vacuum Chamber Test Support
7
+ agreement_number: FA1234-26-M-0017
8
+ second_party_mailing_address:
9
+ - NEWL/CD
10
+ - 200 Sample Road, Building 12
11
+ - Example NAS ST 23456-7890
12
+ reimbursable: true
13
+ reimbursable_support: Scheduled use of the AFETC thermal-vacuum chamber, with operator and instrumentation technician support, for NEWL sensor qualification tests.
14
+ estimated_amount: "$184,500"
15
+ appropriation_fy: "2027"
16
+ cost_center_provider: "AFETC-7730"
17
+ cost_center_receiver: "NEWL-4102"
18
+ financial_poc_provider: "Ms. Dana R. Whitfield, AFETC/FM, DSN 555-0140, dana.whitfield@example.mil"
19
+ financial_poc_receiver: "Mr. Luis M. Ortega, NEWL/FM, DSN 555-0240, luis.ortega@example.mil"
20
+ financial_additional_info: Funds are provided by Military Interdepartmental Purchase Request (MIPR) on a reimbursable basis. No advance payment is authorized.
21
+ first_party_signatory: "HAROLD J. KESSLER, Commander"
22
+ second_party_signatory: "MEREDITH A. CALLOWAY, Director"
23
+ mid_point_review_due_date: 2029-04-01
24
+ ~~~
25
+
26
+ ~~~
27
+ $kind: authorities
28
+ ~~~
29
+ AUTHORITIES: This MOA is entered into under the authority of the Economy Act, Section 1535 of Title 31, United States Code, and DoD Instruction 4000.19, "Support Agreements."
30
+
31
+ ~~~
32
+ $kind: purpose_and_scope
33
+ ~~~
34
+ PURPOSE AND SCOPE: This MOA establishes the terms under which the AFETC provides thermal-vacuum chamber test support to the NEWL for the qualification of NEWL sensor payloads. It covers scheduling, test execution, data delivery and reimbursement for that support, and no other AFETC facility.
35
+
36
+ ~~~
37
+ $kind: responsibilities_of_the_parties
38
+ ~~~
39
+ RESPONSIBILITIES OF THE PARTIES:
40
+
41
+ - The AFETC will—
42
+ - Schedule up to four chamber test windows per fiscal year for NEWL test articles.
43
+ - Provide chamber operators and instrumentation technicians for each scheduled test window.
44
+ - Deliver raw and reduced test data to the NEWL within 10 business days of test completion.
45
+ - The NEWL will—
46
+ - Request each test window at least 60 days before its start.
47
+ - Deliver test articles, test procedures and hazard analyses to the AFETC at least 14 days before each test window.
48
+ - Reimburse the AFETC for the support in Attachment A.
49
+ - Both Parties will—
50
+ - Conduct a joint safety review before each test window.
51
+ - Protect test data in accordance with its marking.
52
+
53
+ ~~~
54
+ $kind: personnel
55
+ ~~~
56
+ PERSONNEL: Each Party is responsible for all costs of its personnel, including pay and benefits, support, and travel. Each Party is responsible for supervision and management of its personnel. NEWL personnel present in the chamber area follow the direction of the AFETC test director on matters of safety.
57
+
58
+ ~~~
59
+ $kind: general_provisions
60
+ ~~~
61
+ GENERAL PROVISIONS:
62
+
63
+ - POINTS OF CONTACT (POCS). The following POCs will be used by the Parties to communicate matters concerning this MOA. Each Party may change its POC upon reasonable notice to the other Party.
64
+ - For the AFETC—
65
+ - Primary POC: Mr. Thomas E. Brandt, Chamber Facility Manager, AFETC/TEO, DSN 555-0110, thomas.brandt@example.mil.
66
+ - Alternate POC: Capt Alicia N. Moreno, Test Director, AFETC/TEO, DSN 555-0111, alicia.moreno@example.mil.
67
+ - For the NEWL—
68
+ - Primary POC: Dr. Evan P. Hollis, Sensor Program Lead, NEWL/CD, DSN 555-0210, evan.hollis@example.mil.
69
+ - Alternate POC: LT Priya S. Raman, Test Engineer, NEWL/CD, DSN 555-0211, priya.raman@example.mil.
70
+ - CORRESPONDENCE. All correspondence to be sent and notices to be given pursuant to this MOA will be addressed, if to the AFETC, to AFETC/TEO, 100 Example Avenue, Example AFB ST 12345-6789, and, if to the NEWL, to NEWL/CD, 200 Sample Road, Building 12, Example NAS ST 23456-7890, or as may from time to time otherwise be directed by the Parties.
71
+ - REVIEW OF AGREEMENT. This MOA will be reviewed on or around the anniversary of its effective date annually for financial impacts; if there are substantial changes in resource requirements, the agreement will be reviewed in its entirety.
72
+ - MODIFICATION OF AGREEMENT. This MOA may only be modified by the written agreement of the Parties, duly signed by their authorized representatives.
73
+ - DISPUTES. Any disputes relating to this MOA will, subject to any applicable law, Executive Order, or DoD issuance, be resolved by consultation between the Parties.
74
+ - TERMINATION OF AGREEMENT. This MOA may be terminated by either Party by giving at least 90 days' written notice to the other Party. The MOA may also be terminated at any time upon the mutual written consent of the Parties.
75
+ - TRANSFERABILITY. This MOA is not transferable except with the written consent of the Parties.
76
+ - ENTIRE AGREEMENT. It is expressly understood and agreed that this MOA embodies the entire agreement between the Parties regarding the MOA's subject matter, thereby merging and superseding all prior agreements and representations by the Parties with respect to such subject matter.
77
+ - EFFECTIVE DATE. This MOA takes effect beginning on the day after the last Party signs.
78
+ - EXPIRATION DATE. This MOA expires on 30 September 2031.
79
+ - CANCELLATION OR MODIFICATION OF PREVIOUS AGREEMENT. This MOA modifies or cancels and supersedes the previously signed agreement between the same Parties with the subject Environmental Test Facility Support, Agreement # FA1234-21-M-0009 and effective date of 1 October 2021.
80
+ - NO THIRD PARTY BENEFICIARIES. Nothing in this MOA, express or implied, is intended to give to, or will be construed to confer upon, any person or entity not a party any remedy or claim under or by reason of this MOA and this MOA will be for the sole and exclusive benefit of the Parties.
81
+ - SEVERABILITY. If any term, provision, or condition of this MOA is held to be invalid, void, or unenforceable by a governmental authority and such holding is not or cannot be appealed further, then such invalid, void, or unenforceable term, provision, or condition shall be deemed severed from this MOA and all remaining terms, provisions, and conditions of this MOA shall continue in full force and effect. The Parties shall endeavor in good faith to replace such invalid, void, or unenforceable term, provision, or condition with valid and enforceable terms, provisions, or conditions which achieve the purpose intended by the Parties to the greatest extent permitted by law.
82
+ - OTHER FEDERAL AGENCIES. This MOA does not bind any federal agency, other than the Parties, nor waive required compliance with any law or regulation.
83
+
84
+ ~~~
85
+ $kind: financial_details
86
+ ~~~
87
+ FINANCIAL DETAILS:
88
+
89
+ - AVAILABILITY OF FUNDS. This MOA does not document the obligation of funds between the Parties. The obligation of funds by the Parties, resulting from this MOA, is subject to the availability of funds pursuant to the DoD Financial Management Regulation. No provision in this MOA will be interpreted to require obligation or payment of funds in violation of the Anti-Deficiency Act, Section 1341 of Title 31, United States Code.
90
+ - BILLING. The AFETC will bill the NEWL on a monthly basis in accordance with the procedures of the Billing Party. A record of the transaction will be sent to the NEWL within 30 calendar days after the month in which the transaction occurred.
91
+ - PAYMENT OF BILLS. The NEWL paying office will forward payments, along with a copy of billed invoices, to the AFETC within 30 calendar days of the date of invoice. Bills rendered will not be subject to audit in advance of payment.
92
+ - FINANCIAL SPECIFICS. See Attachment A for all other details and information on the reimbursable support identified in this MOA. No allowance or advance payment is made under this MOA.
93
+ - ECONOMY ACT DETERMINATION AND FINDINGS (D&F). If the MOA is being entered into in accordance with Section 1535 of Title 31, United States Code (the Economy Act), both Parties agree that the requirements listed in Paragraph (a) of the Economy Act have been met. The provider has determined that the capabilities exist to render the requested support without jeopardizing its assigned missions. Any required Economy Act D&F has been completed.
94
+
95
+ ~~~
96
+ $kind: list_of_attachments
97
+ ~~~
98
+ LIST OF ATTACHMENTS:
99
+
100
+ - Attachment A, Financial Details
101
+ - Attachment B, Chamber Test Window Schedule
102
+
103
+ ~~~
104
+ $kind: attachment
105
+ title: Chamber Test Window Schedule
106
+ ~~~
107
+ The AFETC reserves the following thermal-vacuum chamber test windows for the NEWL in fiscal year 2027. Each window includes one day of chamber pump-down and one day of return to ambient.
108
+
109
+ - 2-13 November 2026: NEWL Sensor Block 2, thermal balance.
110
+ - 8-19 February 2027: NEWL Sensor Block 2, thermal cycling.
111
+ - 10-21 May 2027: NEWL Sensor Block 3, thermal balance.
112
+ - 9-20 August 2027: Reserved for retest.
113
+
114
+ The NEWL confirms or releases each window at least 60 days before its start. A released window returns to the AFETC schedule without charge.
@@ -11,7 +11,7 @@
11
11
  // =============================================================================
12
12
  // TYPOGRAPHY
13
13
  // =============================================================================
14
- #let DEFAULT_BODY_FONTS = ("NimbusRomNo9L", "times new roman")
14
+ #let DEFAULT_BODY_FONTS = ("NimbusRomNo9L",)
15
15
 
16
16
  // =============================================================================
17
17
  // DECIMAL OUTLINE NUMBERING