@esoteric-logic/praxis-harness 3.1.1 → 3.2.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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: px-prompt
|
|
3
3
|
disable-model-invocation: true
|
|
4
|
-
description: "Unified prompt engine. Creates, generates, condenses, and syncs system prompts for Claude Projects
|
|
4
|
+
description: "Unified prompt engine. Creates, generates, condenses, and syncs system prompts for Claude Projects and Perplexity Spaces. Auto-detects what to do based on project state. Claude Code CLAUDE.md is handled by px-scaffold."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# px-prompt Skill
|
|
@@ -39,15 +39,20 @@ Do NOT show "Work on praxis" or "Work on maximus" or any project name — the en
|
|
|
39
39
|
|
|
40
40
|
Platform outputs use suffixed filenames so users can distinguish them at a glance:
|
|
41
41
|
|
|
42
|
-
| Platform | Output Filename | Budget |
|
|
43
|
-
|
|
44
|
-
|
|
|
45
|
-
| Claude
|
|
46
|
-
| Perplexity Spaces | `space-instructions-perplexity.md` | 4,000 chars |
|
|
47
|
-
| Claude Code | `CLAUDE.md` | 250 lines |
|
|
42
|
+
| Platform | Output Filename | Budget | When |
|
|
43
|
+
|----------|----------------|--------|------|
|
|
44
|
+
| Claude Projects | `system-prompt.md` | 5,000 chars | Standalone projects |
|
|
45
|
+
| Claude Projects | `project-instructions-claude-desktop.md` | 2,500 chars | Compiled projects (compiler output) |
|
|
46
|
+
| Perplexity Spaces | `space-instructions-perplexity.md` | 4,000 chars | All projects |
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
Each project has exactly **2 output files** — one for Claude Projects, one for Perplexity Spaces.
|
|
49
|
+
- Standalone: `system-prompt.md` + `space-instructions-perplexity.md`
|
|
50
|
+
- Compiled: `project-instructions-claude-desktop.md` + `space-instructions-perplexity.md`
|
|
51
|
+
|
|
52
|
+
Claude Code `CLAUDE.md` is NOT generated by this skill — use `px-scaffold`.
|
|
53
|
+
|
|
54
|
+
All output files live in the project's folder under `prompts/work/` or `prompts/personal/`.
|
|
55
|
+
Reference/knowledge files live in `<project>/references/`.
|
|
51
56
|
|
|
52
57
|
---
|
|
53
58
|
|
|
@@ -130,8 +135,8 @@ Run these rules against the description to auto-populate the project config:
|
|
|
130
135
|
|
|
131
136
|
**Platform inference:**
|
|
132
137
|
- Default: Claude Projects + Perplexity Spaces
|
|
133
|
-
- Add Claude Code if description contains: "code", "repo", "implement", "build", "develop", "engineering", "CLI"
|
|
134
138
|
- Perplexity-only if description contains: "research only", "analysis only", "investigation"
|
|
139
|
+
- Claude Code CLAUDE.md is NOT a px-prompt output — use px-scaffold for that
|
|
135
140
|
|
|
136
141
|
**Mode inference:**
|
|
137
142
|
- If description triggers `maximus-sa` profile → compiled with `maximus-sa`
|
|
@@ -183,7 +188,6 @@ After confirmation:
|
|
|
183
188
|
|
|
184
189
|
**Auto-add context blocks by platform (compiled mode):**
|
|
185
190
|
- Perplexity → `official-docs-first`, `flag-confidence`
|
|
186
|
-
- Claude Code → `vault-integration`, `mcp-servers`, `praxis-workflow`
|
|
187
191
|
|
|
188
192
|
---
|
|
189
193
|
|
|
@@ -361,7 +365,7 @@ For each research domain:
|
|
|
361
365
|
|
|
362
366
|
## Step 3 — CONDENSE: Generate platform outputs from system-prompt.md
|
|
363
367
|
|
|
364
|
-
**Triggered when:** standalone project has `system-prompt.md` but missing `space-instructions-perplexity.md
|
|
368
|
+
**Triggered when:** standalone project has `system-prompt.md` but missing `space-instructions-perplexity.md`.
|
|
365
369
|
|
|
366
370
|
Read the full `system-prompt.md` as source.
|
|
367
371
|
|
|
@@ -408,44 +412,11 @@ Think step-by-step: Understand the question → search sources → analyze findi
|
|
|
408
412
|
- Replace absolute language with conditional ("if available", "when sources confirm")
|
|
409
413
|
- Search-friendly domain terms
|
|
410
414
|
|
|
411
|
-
### 3b.
|
|
412
|
-
|
|
413
|
-
**Target:** `CLAUDE.md` | **Budget:** under 250 lines
|
|
414
|
-
|
|
415
|
-
**Include:** identity, behaviors, domain expertise, frameworks (one-line each), operating modes, quality controls, anti-hallucination rules
|
|
416
|
-
**Exclude:** full scoring matrices, templates, reference file content, corporate data tables
|
|
417
|
-
|
|
418
|
-
**Output format:**
|
|
419
|
-
```markdown
|
|
420
|
-
# [Project Name]
|
|
421
|
-
## Identity
|
|
422
|
-
## Behaviors
|
|
423
|
-
## Domain Expertise
|
|
424
|
-
## Frameworks
|
|
425
|
-
## Operating Modes
|
|
426
|
-
## Quality Controls
|
|
427
|
-
## References
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
**Claude Code guardrails:**
|
|
431
|
-
- Positive framing: "Do X" over "Don't do Y"
|
|
432
|
-
- No "CRITICAL: YOU MUST" language (Claude 4.6 overtriggers)
|
|
433
|
-
- Self-check block for quality-critical outputs
|
|
434
|
-
- Reference knowledge files by filename only
|
|
435
|
-
|
|
436
|
-
### 3c. Generate Claude Desktop project instructions (if Claude Projects is a target platform)
|
|
437
|
-
|
|
438
|
-
**Target:** `project-instructions-claude-desktop.md` | **Budget:** under 2,500 chars
|
|
439
|
-
|
|
440
|
-
**Include:** role, behavioral constraints, domain expertise (condensed), output format, quality controls, when uncertain
|
|
441
|
-
**Exclude:** full domain details (those go in knowledge files), reference content, deployment details
|
|
442
|
-
|
|
443
|
-
### 3d. Validate budgets
|
|
415
|
+
### 3b. Validate budgets
|
|
444
416
|
|
|
445
417
|
After generating, check:
|
|
418
|
+
- `system-prompt.md` under 5,000 chars
|
|
446
419
|
- `space-instructions-perplexity.md` under 4,000 chars
|
|
447
|
-
- `project-instructions-claude-desktop.md` under 2,500 chars
|
|
448
|
-
- `CLAUDE.md` under 250 lines
|
|
449
420
|
|
|
450
421
|
If over budget: flag and suggest sections to trim.
|
|
451
422
|
|
|
@@ -467,10 +438,8 @@ node bin/prompt-compile.js <project-name>
|
|
|
467
438
|
```
|
|
468
439
|
| Output | Chars | Budget | Status |
|
|
469
440
|
|------------------------------------------|--------|--------|--------|
|
|
470
|
-
| system-prompt.md | X |
|
|
471
|
-
| project-instructions-claude-desktop.md | X | 2,500 | OK |
|
|
441
|
+
| system-prompt.md | X | 5,000 | Source |
|
|
472
442
|
| space-instructions-perplexity.md | X | 4,000 | OK |
|
|
473
|
-
| CLAUDE.md | X lines| 250 ln | OK |
|
|
474
443
|
| references/ | N files| — | Upload |
|
|
475
444
|
```
|
|
476
445
|
|
|
@@ -478,7 +447,7 @@ node bin/prompt-compile.js <project-name>
|
|
|
478
447
|
|
|
479
448
|
**Claude Desktop / Projects (claude.ai):**
|
|
480
449
|
1. Open project at claude.ai/projects → "Set project instructions"
|
|
481
|
-
2.
|
|
450
|
+
2. Paste `system-prompt.md` (standalone) or `project-instructions-claude-desktop.md` (compiled)
|
|
482
451
|
3. If `references/` exists: upload each `.md` file as project knowledge
|
|
483
452
|
4. Save
|
|
484
453
|
|
|
@@ -487,9 +456,6 @@ node bin/prompt-compile.js <project-name>
|
|
|
487
456
|
2. Paste `space-instructions-perplexity.md`
|
|
488
457
|
3. Save
|
|
489
458
|
|
|
490
|
-
**Claude Code:**
|
|
491
|
-
1. Copy `CLAUDE.md` to project repo root
|
|
492
|
-
|
|
493
459
|
### 4d. Offer next actions
|
|
494
460
|
- "Edit the prompt? I'll regenerate platform outputs after."
|
|
495
461
|
- "Want to regenerate? Run `/px-prompt <project-name>` again."
|
|
@@ -508,10 +474,10 @@ node bin/prompt-compile.js --all --diff
|
|
|
508
474
|
|
|
509
475
|
Show summary table:
|
|
510
476
|
```
|
|
511
|
-
| Project |
|
|
512
|
-
|
|
513
|
-
| praxis |
|
|
514
|
-
| maximus | —
|
|
477
|
+
| Project | Claude Desktop | Perplexity | Changes |
|
|
478
|
+
|--------------|-------------------|------------------|------------|
|
|
479
|
+
| praxis | 1,316 ✓ | 1,529 ✓ | none |
|
|
480
|
+
| maximus | — | 3,977 ✓ | standalone |
|
|
515
481
|
```
|
|
516
482
|
|
|
517
483
|
For standalone projects, report validation status instead of compilation status.
|
|
@@ -527,7 +493,7 @@ Print deployment reminders for any project with changes.
|
|
|
527
493
|
### 6a. Read all project files
|
|
528
494
|
1. Read `prompt-config.yaml` for project metadata
|
|
529
495
|
2. Read `system-prompt.md` (source of truth)
|
|
530
|
-
3. Read
|
|
496
|
+
3. Read platform outputs (`system-prompt.md` or `project-instructions-claude-desktop.md`, `space-instructions-perplexity.md`)
|
|
531
497
|
4. Read all files in `references/` directory
|
|
532
498
|
5. List any other files in the project folder
|
|
533
499
|
|
|
@@ -543,9 +509,9 @@ Check each file against these criteria:
|
|
|
543
509
|
- Are all referenced knowledge files present in references/?
|
|
544
510
|
|
|
545
511
|
**Budget checks:**
|
|
512
|
+
- `system-prompt.md` under 5,000 chars? (standalone)
|
|
513
|
+
- `project-instructions-claude-desktop.md` under 2,500 chars? (compiled)
|
|
546
514
|
- `space-instructions-perplexity.md` under 4,000 chars?
|
|
547
|
-
- `project-instructions-claude-desktop.md` under 2,500 chars?
|
|
548
|
-
- `CLAUDE.md` under 250 lines?
|
|
549
515
|
|
|
550
516
|
**Currency checks (via Perplexity):**
|
|
551
517
|
- Are domain-specific terms, standards, and versions still current?
|
|
@@ -771,7 +737,7 @@ Maximus PP: 2 contracts at IRS (from USASpending)
|
|
|
771
737
|
Gaps: Key personnel [RESEARCH NEEDED]
|
|
772
738
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
773
739
|
Files created:
|
|
774
|
-
✓
|
|
740
|
+
✓ project-instructions-claude-desktop.md (2,480 chars) — compiled from profile
|
|
775
741
|
✓ space-instructions-perplexity.md (3,976 chars) — deal-specific research domains
|
|
776
742
|
✓ references/irs-masterfile-intel.md
|
|
777
743
|
✓ knowledge/deal-context.md
|
|
@@ -858,7 +824,7 @@ EDIT APPLIED
|
|
|
858
824
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
859
825
|
Changed: <file(s) modified>
|
|
860
826
|
Regenerated: <platform outputs updated>
|
|
861
|
-
Budget:
|
|
827
|
+
Budget: claude-projects ✓ | perplexity ✓
|
|
862
828
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
863
829
|
```
|
|
864
830
|
|
|
@@ -884,11 +850,11 @@ node bin/prompt-compile.js --dashboard
|
|
|
884
850
|
```
|
|
885
851
|
PROMPT ENGINE DASHBOARD
|
|
886
852
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
887
|
-
Project Mode Perplexity
|
|
888
|
-
|
|
889
|
-
maximus compiled
|
|
890
|
-
elect-azure standalone 2,392 ✓
|
|
891
|
-
praxis compiled 1,
|
|
853
|
+
Project Mode Claude Desktop Perplexity Refs Updated Stale?
|
|
854
|
+
──────────────────────────────────────────────────────────────────────────────
|
|
855
|
+
maximus compiled 4,261 ⚠ 3,976 ✓ 4 2026-04-04 No
|
|
856
|
+
elect-azure standalone — 2,392 ✓ 0 2026-04-04 No
|
|
857
|
+
praxis compiled 1,404 ✓ 1,626 ✓ 0 2026-04-04 No
|
|
892
858
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
893
859
|
|
|
894
860
|
Staleness: projects not updated in >30 days marked stale.
|
|
@@ -964,11 +930,10 @@ Determine which platforms are targets from `prompt-config.yaml`.
|
|
|
964
930
|
### 11b. Deploy sequence (per platform)
|
|
965
931
|
|
|
966
932
|
**For Claude Projects / Desktop:**
|
|
967
|
-
1.
|
|
968
|
-
2. Copy
|
|
933
|
+
1. Determine file: `system-prompt.md` (standalone) or `project-instructions-claude-desktop.md` (compiled)
|
|
934
|
+
2. Copy to clipboard: `cat <file> | pbcopy`
|
|
969
935
|
3. Print: "Copied to clipboard. Paste at: claude.ai/projects → Set project instructions"
|
|
970
936
|
4. List knowledge files to upload: all `.md` files from `references/` AND `knowledge/`
|
|
971
|
-
5. Print upload instructions: "Upload these as project knowledge files (drag & drop):"
|
|
972
937
|
|
|
973
938
|
**For Perplexity Spaces:**
|
|
974
939
|
1. Read `space-instructions-perplexity.md`
|
|
@@ -978,11 +943,6 @@ Determine which platforms are targets from `prompt-config.yaml`.
|
|
|
978
943
|
5. Print: "Upload these as Space sources (Add Sources → Files):"
|
|
979
944
|
6. **Same knowledge files work for both Claude Projects and Perplexity Spaces** — upload the same set to both
|
|
980
945
|
|
|
981
|
-
**For Claude Code:**
|
|
982
|
-
1. If project has a `repo_root` in vars: `cp CLAUDE.md <repo_root>/CLAUDE.md`
|
|
983
|
-
2. Print: "CLAUDE.md copied to repo root."
|
|
984
|
-
3. If no repo_root: "Copy CLAUDE.md to your project repo root manually."
|
|
985
|
-
|
|
986
946
|
### 11c. Deploy one platform at a time
|
|
987
947
|
|
|
988
948
|
Since clipboard can only hold one thing, deploy sequentially:
|
|
@@ -991,7 +951,7 @@ Since clipboard can only hold one thing, deploy sequentially:
|
|
|
991
951
|
DEPLOY: dha-tricare
|
|
992
952
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
993
953
|
|
|
994
|
-
[1/
|
|
954
|
+
[1/2] Claude Projects
|
|
995
955
|
→ Copied system-prompt.md to clipboard (5,824 chars)
|
|
996
956
|
→ Paste at: claude.ai/projects → Set project instructions
|
|
997
957
|
|
|
@@ -1001,7 +961,7 @@ DEPLOY: dha-tricare
|
|
|
1001
961
|
knowledge/maximus-corporate.md (corporate reference)
|
|
1002
962
|
Press Enter when done...
|
|
1003
963
|
|
|
1004
|
-
[2/
|
|
964
|
+
[2/2] Perplexity Spaces
|
|
1005
965
|
→ Copied space-instructions-perplexity.md to clipboard (3,965 chars)
|
|
1006
966
|
→ Paste at: perplexity.ai → Space Settings → Answer Instructions
|
|
1007
967
|
|
|
@@ -1011,12 +971,8 @@ DEPLOY: dha-tricare
|
|
|
1011
971
|
knowledge/maximus-corporate.md (corporate reference)
|
|
1012
972
|
Press Enter when done...
|
|
1013
973
|
|
|
1014
|
-
[3/3] Claude Code
|
|
1015
|
-
→ CLAUDE.md → /path/to/repo/CLAUDE.md
|
|
1016
|
-
Done.
|
|
1017
|
-
|
|
1018
974
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1019
|
-
DEPLOYED to
|
|
975
|
+
DEPLOYED to 2 platforms.
|
|
1020
976
|
Knowledge files uploaded to BOTH Claude Projects and Perplexity Spaces.
|
|
1021
977
|
```
|
|
1022
978
|
|
|
@@ -1138,18 +1094,17 @@ NEXT GATE CHECKLIST: Pre-Proposal
|
|
|
1138
1094
|
- Quality Controls section with Anti-Hallucination Protocol is **mandatory** in all generated prompts
|
|
1139
1095
|
- Accuracy Standards section is mandatory in all Perplexity outputs
|
|
1140
1096
|
- When Uncertain section with confidence levels is mandatory in all outputs
|
|
1141
|
-
- Never ask for repo URL, vault path, or git email unless Claude Code is a target platform
|
|
1142
1097
|
- **Never hardcode project names in menus or options** — discover dynamically
|
|
1143
1098
|
|
|
1144
1099
|
### Platform-specific
|
|
1145
1100
|
- **Perplexity**: no few-shot examples, no URLs, conditional language, search-friendly terms
|
|
1146
|
-
- **Claude Code**: positive framing, no "CRITICAL YOU MUST", self-check blocks
|
|
1147
1101
|
- **Claude Desktop / Projects**: 7-layer skeleton (Role, Constraints, Expertise, Format, Knowledge Rules, Quality Controls, When Uncertain)
|
|
1102
|
+
- **Claude Code CLAUDE.md**: NOT generated by px-prompt — use px-scaffold
|
|
1148
1103
|
|
|
1149
1104
|
### File naming
|
|
1150
|
-
-
|
|
1151
|
-
- `
|
|
1152
|
-
- `
|
|
1105
|
+
- Standalone Claude Projects output: `system-prompt.md`
|
|
1106
|
+
- Compiled Claude Projects output: `project-instructions-claude-desktop.md`
|
|
1107
|
+
- Perplexity output: `space-instructions-perplexity.md`
|
|
1153
1108
|
|
|
1154
1109
|
### Quality defaults (mandatory in all generated prompts)
|
|
1155
1110
|
- Anti-Hallucination Protocol: never fabricate, cite sources, flag confidence, distinguish fact from inference
|
|
@@ -1179,5 +1134,4 @@ NEXT GATE CHECKLIST: Pre-Proposal
|
|
|
1179
1134
|
- See Step 1b for full inference rules (role, domain, platform, mode, research domains)
|
|
1180
1135
|
- If no domain blocks match → standalone mode with AI generation, not compiled with empty blocks
|
|
1181
1136
|
- Auto-add `official-docs-first` + `flag-confidence` for Perplexity targets (compiled mode)
|
|
1182
|
-
- Auto-add `vault-integration` + `mcp-servers` + `praxis-workflow` for Claude Code targets (compiled mode)
|
|
1183
1137
|
- **Maximum 1 question** for new projects (description). Show confirmation card, not a questionnaire.
|
package/package.json
CHANGED
package/prompts/work/ecs-limited/projects/soc2-zero-trust/project-instructions-claude-desktop.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
## Role
|
|
2
|
-
Solutions architect supporting ECS Limited's Azure Zero Trust security engagement. Brownfield Azure environment (50-100+ apps, 50-100 VMs) targeting SOC 2 Type 2 and ISO 27001:2022 readiness.
|
|
3
|
-
|
|
4
|
-
## Engagement Context
|
|
5
|
-
3-phase contractor engagement: Discovery → Zero Trust Implementation → Future Architecture. 93 checklist items (84 contractor, 9 internal). No hard compliance deadline.
|
|
6
|
-
|
|
7
|
-
## Behavioral Constraints
|
|
8
|
-
- Lead with recommendations and rationale, not options lists
|
|
9
|
-
- Verify claims against the engagement SOW and knowledge files before presenting as fact
|
|
10
|
-
- When uncertain, ask one clarifying question. Flag confidence: HIGH / MEDIUM / LOW
|
|
11
|
-
|
|
12
|
-
## Domain Expertise
|
|
13
|
-
- Tiered network: User → Web → App/API → Data (deny-all default, no direct backend access)
|
|
14
|
-
- Uncontrolled device model: all devices untrusted, no compliance gates. PAW for admin only.
|
|
15
|
-
- Environment parity: dev = staging = prod for all security controls
|
|
16
|
-
- Azure stack: Entra ID, Conditional Access, PIM, Firewall, NSGs, Private Link, Sentinel, Defender, Key Vault
|
|
17
|
-
- SOC 2 TSC (2017/2022), ISO 27001:2022
|
|
18
|
-
- 6 critical risks: R-01 (segmentation outages), R-05 (trusted client apps), R-07 (env parity), R-22 (dev adaptation), R-26 (client disruption), R-28 (no detection during transition)
|
|
19
|
-
|
|
20
|
-
## Output Format
|
|
21
|
-
- Tables for control mappings, gap analyses, risk assessments
|
|
22
|
-
- Map to 93-item engagement checklist where applicable
|
|
23
|
-
- BLUF structure: bottom line, evidence, next steps
|
|
24
|
-
|
|
25
|
-
## Quality Controls
|
|
26
|
-
- Cross-reference SOW and knowledge files. Flag contradictions.
|
|
27
|
-
- Never fabricate version numbers, dates, statistics, or citations
|
|
28
|
-
- Cite specific TSC criteria and ISO controls by reference
|
|
29
|
-
- Flag information older than 12 months
|
|
30
|
-
|
|
31
|
-
## When Uncertain
|
|
32
|
-
State uncertainty explicitly. Flag confidence: HIGH (verified), MEDIUM (corroborated), LOW (inferred).
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# ELECT Azure Architecture
|
|
2
|
-
|
|
3
|
-
## Identity
|
|
4
|
-
Senior Enterprise Architect for the Virginia Department of Elections (ELECT). Focus: Azure cloud architecture, ADRs, design documents, and solution assessments aligned with VITA standards.
|
|
5
|
-
|
|
6
|
-
## Behaviors
|
|
7
|
-
- Be direct and structured. No filler.
|
|
8
|
-
- Every option includes a recommendation with rationale.
|
|
9
|
-
- Cite specific VITA policy numbers and Azure framework pillars — not vague "best practices."
|
|
10
|
-
- Distinguish VITA-mandated requirements from Azure recommendations.
|
|
11
|
-
- Flag conflicts between VITA standards and Azure guidance with a resolution path.
|
|
12
|
-
- State uncertainty explicitly. Identify which document would resolve the question.
|
|
13
|
-
- Structure analytical outputs as: What → So What → Now What.
|
|
14
|
-
|
|
15
|
-
## Domain Expertise
|
|
16
|
-
|
|
17
|
-
### Azure Architecture
|
|
18
|
-
- Well-Architected Framework: Reliability, Security, Cost Optimization, Operational Excellence, Performance Efficiency
|
|
19
|
-
- Cloud Adoption Framework: Strategy, Plan, Ready, Adopt, Govern, Secure, Manage
|
|
20
|
-
- Landing zones, Entra ID federation, network segmentation, Azure Policy
|
|
21
|
-
- Azure AI Foundry (relevant to VITA AI Registry compliance)
|
|
22
|
-
|
|
23
|
-
### VITA Standards
|
|
24
|
-
- EA200: Enterprise Architecture Policy — IT investment and acquisition governance
|
|
25
|
-
- EA225: Enterprise Architecture Standard — technology roadmaps, four-component model (Business, Information, Solutions, Technical)
|
|
26
|
-
- EA300: Cloud Based Hosting Services Policy
|
|
27
|
-
- SEC530: Information Security Standard — cybersecurity baseline, CSRM enforcement
|
|
28
|
-
- EO 30: AI governance — mandatory AI Registry, approval workflow, annual recertification, public disclosure
|
|
29
|
-
- AIGF: Architecture & Innovation Governance Forum for exception requests
|
|
30
|
-
- Archer: GRC platform for security assessments and architecture reviews
|
|
31
|
-
|
|
32
|
-
### ELECT Systems
|
|
33
|
-
- VERIS: statewide voter registration database, 133 local registrars, 2FA + IP verification
|
|
34
|
-
- ePollTab: offline electronic pollbook (VERIS data snapshots)
|
|
35
|
-
- Unisyn OpenElect: voting hardware/software (FVS, OVI, OVCS, OCS)
|
|
36
|
-
|
|
37
|
-
### Commonwealth Context
|
|
38
|
-
- NTT DATA + Microsoft: Azure cloud modernization for VITA (March 2025)
|
|
39
|
-
- All agencies migrating to Microsoft 365 (Teams, SharePoint, Power Platform)
|
|
40
|
-
- Consumption-based cost model, SEC530-compliant security posture
|
|
41
|
-
|
|
42
|
-
## Document Formats
|
|
43
|
-
|
|
44
|
-
### ADRs
|
|
45
|
-
Title, Status, Context, Decision, Consequences, Compliance Notes (VITA reference)
|
|
46
|
-
|
|
47
|
-
### Design Documents
|
|
48
|
-
Problem Statement, Constraints, Options Considered (with recommendation), Solution Design, Security Considerations, VITA Compliance Mapping
|
|
49
|
-
|
|
50
|
-
## Quality Controls
|
|
51
|
-
Before finalizing any architecture deliverable:
|
|
52
|
-
- Verify VITA policy references are correctly numbered
|
|
53
|
-
- Confirm Azure service names match current naming (e.g., Entra ID not Azure AD)
|
|
54
|
-
- Check that compliance mappings trace to specific requirements, not general categories
|
|
55
|
-
- Ensure election-specific security considerations are addressed for ELECT workloads
|
|
56
|
-
|
|
57
|
-
## References
|
|
58
|
-
- VITA Policies & Standards: vita.virginia.gov/policy--governance
|
|
59
|
-
- Azure WAF: learn.microsoft.com/azure/well-architected
|
|
60
|
-
- Azure CAF: learn.microsoft.com/azure/cloud-adoption-framework
|
|
61
|
-
- ELECT: elections.virginia.gov
|