1. Executive Summary
This plan establishes a distributed role criteria architecture for the Calab.ai Handbook, where evaluation criteria are authored and governed at the Guild level but aggregated into role-specific Evaluation Workbooks at the HR Management practice level.
What it accomplishes:
- Creates a
Roles/directory structure under each Guild for role-level definitions and criteria files - Distributes the ~175 existing evaluation criteria (currently monolithically embedded in 5 HR workbook templates) into individual files per role-level within each Guild
- Introduces a cross-guild criteria mechanism allowing guilds to define expectations for roles owned by another guild
- Builds a custom dual-rendering plugin (
criteria-list) — following the establishedpage-listpattern (Decision 03) — that aggregates criteria from distributed files into Evaluation Workbooks at build/render time - Aligns Management Practice names between workbook references and actual directory names, creating 3 new practice directories
- Consolidates metadata into a standardised
metadata/subfolder within each Management Practice - Replaces the non-functional
dataviewjsauto-summary in workbooks with the newcriteria-listplugin
Key benefits:
- Governance: CODEOWNERS can control who creates criteria per guild path
- Single Source of Truth: Each criterion is authored once, in the guild that owns the expectation
- Scalability: Adding new role types (Architect, Delivery Lead) requires only new criteria files — the workbook regenerates automatically
- Dual rendering: Works identically in Obsidian and on the published Quartz site
Critical dependencies:
- Decision 04 (Distributed Role Criteria Architecture) — documents the structural decision
- Decision 05 (Criteria Aggregation Rendering) — documents the rendering approach
- CODEOWNERS (deferred per
docs/CODEOWNERS_DEFERRED.md) — governance enforcement comes later
2. Architecture Overview
2.1 Current State
Criteria are monolithically embedded in 5 workbook template files:
GL05 Administration Guild/Practices/HR Management/05 Templates/
├── Evaluation Workbook - L1 Engineer.md (382 lines, 29 criteria)
├── Evaluation Workbook - L2 Engineer.md (450 lines, 32 criteria)
├── Evaluation Workbook - L3 Engineer.md (522 lines, 41 criteria)
├── Evaluation Workbook - L4 Engineer.md (522 lines, 41 criteria)
└── Evaluation Workbook - L5 Engineer.md (450 lines, 32 criteria)
Problems:
- No governance control: Anyone with write access to the HR Management practice can modify criteria owned by other practices
- No scalability: Adding Architect or Delivery Lead tracks requires duplicating hundreds of lines
- Broken rendering:
dataviewjsblocks don’t render in Quartz (raw code shown on published site) - Practice name mismatches: Workbook practice names (e.g., “Consulting”) don’t match directory names (e.g., “Business Analysis”)
2.2 Proposed State
02 Guilds/
├── GL02 Sales Guild/
│ ├── Roles/
│ │ ├── README.md
│ │ └── Cross-Guild/
│ │ ├── README.md
│ │ └── Engineer/
│ │ ├── L1 Engineer.md
│ │ ├── L2 Senior Engineer.md
│ │ ├── L3 Lead Engineer.md
│ │ ├── L4 Senior Lead Engineer.md
│ │ └── L5 Principal Engineer.md
│ └── Practices/
│ ├── Stakeholder Mgmt/ ← NEW practice directory
│ │ ├── README.md
│ │ ├── 01 Policies/
│ │ │ └── ...
│ │ └── metadata/
│ │ ├── diagrams/
│ │ ├── plans/
│ │ └── specs/
│ ├── Pipeline Mgmt/
│ └── Proposal Mgmt/
│
├── GL03 Delivery Guild/
│ ├── Roles/
│ │ ├── README.md
│ │ └── Cross-Guild/
│ │ ├── README.md
│ │ └── Engineer/
│ │ ├── L1 Engineer.md
│ │ ├── L2 Senior Engineer.md
│ │ ├── L3 Lead Engineer.md
│ │ ├── L4 Senior Lead Engineer.md
│ │ └── L5 Principal Engineer.md
│ └── Practices/
│ ├── Consulting/ ← NEW practice directory
│ ├── Business Analysis/ ← NEW practice directory
│ ├── Project Mgmt/
│ ├── Business Analysis/
│ ├── Solution Eng/
│ └── Product Mgmt/
│
├── GL04 Technology Guild/
│ ├── Roles/
│ │ ├── README.md
│ │ └── Engineer/ ← PRIMARY role for this guild
│ │ ├── L1 Engineer.md
│ │ ├── L2 Senior Engineer.md
│ │ ├── L3 Lead Engineer.md
│ │ ├── L4 Senior Lead Engineer.md
│ │ └── L5 Principal Engineer.md
│ └── Practices/
│ ├── Software Eng/
│ ├── Solution Eng/
│ └── Platform Architecture/
│
└── GL05 Administration Guild/
└── Practices/
└── HR Management/
└── 05 Templates/
├── Evaluation Workbook - L1 Engineer.md ← Uses criteria-list plugin
├── Evaluation Workbook - L2 Engineer.md
├── Evaluation Workbook - L3 Engineer.md
├── Evaluation Workbook - L4 Engineer.md
└── Evaluation Workbook - L5 Engineer.md
2.3 Data Flow
1. Guild owners author criteria files in their Guild's Roles/ directory
└── YAML frontmatter contains: criterion_id, criterion, area, subarea, role, level
2. Workbook templates contain `criteria-list` code blocks:
┌─────────────────────────────────────────────────────┐
│ ```criteria-list │
│ role: Engineer │
│ level: L3 │
│ mode: summary | detail │
│ ``` │
└─────────────────────────────────────────────────────┘
3. At render time (Quartz build OR Obsidian reading view):
└── Plugin scans ALL `02 Guilds/*/Roles/` directories
├── Finds criteria files matching role + level
├── Reads frontmatter from each
├── Groups by area (Guild) and subarea (Management Practice)
└── Renders aggregated table/sections
2.4 Criteria File Schema
Each criteria file contains all criteria that a guild defines for a specific role and level. Example file: GL04 Technology Guild/Roles/Engineer/L3 Lead Engineer.md
---
publish: true
page-status: draft
created: 2026-02-16
owner: guild-technology
type: role-criteria
guild: GL04 Technology Guild
role: Engineer
level: L3
level-title: Lead Engineer
criteria-type: primary
criteria:
- id: L3-DEV01
subarea: Software Eng
criterion: >-
Codes complex functionality across distributed applications.
Completes code review of work done by less experienced members of the team.
- id: L3-DEV02
subarea: Software Eng
criterion: >-
Develops complex unit tests including mock objects
and automated integration tests.
- id: L3-DEV03
subarea: Software Eng
criterion: >-
Contributes to organisational standards and applies
peer-reviewed coding standards and best practices.
- id: L3-DEV04
subarea: Software Eng
criterion: >-
Completes full code review of work done by
less experienced members of the team.
- id: L3-KNO01
subarea: Software Eng
criterion: >-
Is recognised as a thought leader in one or more
areas of expertise.
- id: L3-KNO02
subarea: Software Eng
criterion: >-
Creates blog articles relevant to their area of expertise.
- id: L3-KNO03
subarea: Software Eng
criterion: >-
Demonstrates a minimum 8 contributions per year to
community forums in their area of expertise.
- id: L3-DD01
subarea: Solution Eng
criterion: >-
Creates Design Documents that describe
complex solution designs.
---
# L3 Lead Engineer — Technology Guild Criteria
These criteria define the Technology Guild's expectations for a Lead Engineer (L3).
They are authored and governed by the Technology Guild and aggregated into the
L3 Lead Engineer Evaluation Workbook by the HR Management practice.
## Criteria by Management Practice
### Software Eng
| ID | Criterion |
|---|---|
| L3-DEV01 | Codes complex functionality across distributed applications... |
| L3-DEV02 | Develops complex unit tests including mock objects... |
| L3-DEV03 | Contributes to organisational standards... |
| L3-DEV04 | Completes full code review... |
| L3-KNO01 | Is recognised as a thought leader... |
| L3-KNO02 | Creates blog articles... |
| L3-KNO03 | Demonstrates a minimum 8 contributions per year... |
### Solution Eng
| ID | Criterion |
|---|---|
| L3-DD01 | Creates Design Documents that describe complex solution designs... |Cross-guild criteria file example: GL02 Sales Guild/Roles/Cross-Guild/Engineer/L3 Lead Engineer.md
---
publish: true
page-status: draft
created: 2026-02-16
owner: guild-sales
type: role-criteria
guild: GL02 Sales Guild
role: Engineer
level: L3
level-title: Lead Engineer
criteria-type: secondary
criteria:
- id: L3-WA01
subarea: Stakeholder Mgmt
criterion: >-
Exercises substantial personal responsibility and autonomy.
- id: L3-WA02
subarea: Stakeholder Mgmt
criterion: >-
Acts as a team lead on large engagements taking ownership
of the project outcome and quality.
- id: L3-WA03
subarea: Stakeholder Mgmt
criterion: >-
Assists practice members in planning work, meeting goals
and solving problems.
---
# L3 Lead Engineer — Sales Guild Cross-Guild Criteria
These criteria define what the Sales Guild expects from a Lead Engineer (L3)
who is primarily a Technology Guild role. They are authored and governed by
the Sales Guild.
## Stakeholder Mgmt
| ID | Criterion |
|---|---|
| L3-WA01 | Exercises substantial personal responsibility and autonomy. |
| L3-WA02 | Acts as a team lead on large engagements... |
| L3-WA03 | Assists practice members in planning work... |2.5 Workbook Template (Proposed)
The refactored workbook template replaces embedded criteria with criteria-list code blocks:
---
workbook: Promotion & Performance Evaluation
level: L3 Lead Engineer
score_scale: 5
candidate:
career_coach:
review_cycle:
submission_type: Promotion | Annual Performance | Both
status: Draft
---
# L3 Lead Engineer — Promotion & Performance Evaluation Workbook
> **Scoring scale:** 0–5 (decimals allowed)
## Practice Summary (auto)
```criteria-list
role: Engineer
level: L3
mode: summary
```
---
## Detailed Criteria
```criteria-list
role: Engineer
level: L3
mode: detail
```The criteria-list plugin handles two modes:
summary: Renders an aggregated table grouped by Guild and Management Practice, showing criteria count, self-score %, assessor-score %, and delta % (replaces the currentdataviewjsblock)detail: Renders all criteria grouped by Guild → Practice with editable score fields (replaces the current inline field sections)
3. Implementation Steps
Step 1: Create Management Practice Directory Alignment
Tasks
-
Create 3 new Management Practice directories with full scaffold:
content/02 Guilds/GL02 Sales Guild/Practices/Stakeholder Mgmt/content/02 Guilds/GL03 Delivery Guild/Practices/Consulting/content/02 Guilds/GL03 Delivery Guild/Practices/Business Analysis/
-
For each new directory, create the standard scaffold:
[Practice Name]/ ├── README.md (use TMP03 Practice Overview template) ├── 01 Policies/ ├── 02 Processes/ ├── 03 Procedures/ ├── 04 Guides/ ├── 05 Templates/ └── metadata/ ├── diagrams/ ├── plans/ └── specs/ -
Fix the
Software Eng/README.mdcontent:- Update title from “Release Management” to “Software Eng”
- Update
practice-idfromTECH-REL-01toTECH-SE-01 - Update
ownerfromrelease-managertoengineering-lead - Rewrite Purpose, Scope, Interfaces, KPIs to reflect Software Eng (not Release Management)
-
Update the
page-listcode blocks in guild Practices overview files to reflect new practice directories.
Deliverable
- 3 new practice directories with scaffold and Overview files
- Fixed Software Eng overview content
- Updated Practices listings
Verification
- Each new directory contains
README.mdwith correct frontmatter page-listblocks in guild practice overviews include the new practicesnpx quartz buildsucceeds without errors
Step 2: Consolidate Metadata Folders
Tasks
-
Across all 12+ Management Practice directories, ensure standardised structure:
metadata/diagrams/metadata/plans/metadata/specs/
-
Add practice-level
metadata/to the QuartzignorePatternsinquartz.config.ts:ignorePatterns: [ // ... existing patterns ... "**/Practices/*/metadata/**", ], -
Update
05 Knowledge Standards.mdto document themetadata/subfolder convention for practice-level diagrams, plans, and specs.
Deliverable
- All 15 practice directories (12 existing + 3 new) use
metadata/subfolder - Quartz config updated to ignore practice-level metadata
- Knowledge Standards updated
Verification
- No legacy
_-prefixed metadata directories remain under any practice npx quartz buildsucceeds; no metadata folders appear in the published output- Knowledge Standards reflects the new convention
Step 3: Create Roles Directory Structure
Tasks
-
Create
Roles/directory under each guild that has role criteria:GL02 Sales Guild/Roles/ ├── README.md └── Cross-Guild/ ├── README.md └── Engineer/ ├── L1 Engineer.md ├── L2 Senior Engineer.md ├── L3 Lead Engineer.md ├── L4 Senior Lead Engineer.md └── L5 Principal Engineer.md GL03 Delivery Guild/Roles/ ├── README.md └── Cross-Guild/ ├── README.md └── Engineer/ ├── L1 Engineer.md ├── L2 Senior Engineer.md ├── L3 Lead Engineer.md ├── L4 Senior Lead Engineer.md └── L5 Principal Engineer.md GL04 Technology Guild/Roles/ ├── README.md └── Engineer/ ├── L1 Engineer.md ├── L2 Senior Engineer.md ├── L3 Lead Engineer.md ├── L4 Senior Lead Engineer.md └── L5 Principal Engineer.md -
Create
README.mdfiles for each Roles directory using standard frontmatter:--- publish: true page-status: draft created: 2026-02-16 owner: [guild-slug] type: section-overview --- -
Create
README.mdfor eachCross-Guild/directory explaining that these are secondary criteria that this guild defines for roles owned by other guilds.
Deliverable
- Roles directory structure under GL02, GL03, GL04
- Overview files at each level
Verification
- Directory structure matches the proposed layout
- All
README.mdfiles have valid frontmatter
Step 4: Extract Criteria into Distributed Files
Tasks
-
Extract criteria from the 5 existing workbook templates into individual role-level criteria files.
Source mapping (per guild):
Source Guild Source Workbook Subarea Target Directory Criteria Type GL04 Technology Guild Software Eng + Solution Eng + Platform Architecture GL04/Roles/Engineer/primary GL02 Sales Guild Stakeholder Mgmt GL02/Roles/Cross-Guild/Engineer/secondary GL03 Delivery Guild Consulting + Project Mgmt + Business Analyst GL03/Roles/Cross-Guild/Engineer/secondary -
For each of the 15 criteria files (5 levels × 3 guilds), populate YAML frontmatter with:
- All metadata fields (
publish,page-status,created,owner,type,guild,role,level,level-title,criteria-type) - All criteria items in the
criteria:array withid,subarea, andcriterionfields
- All metadata fields (
-
Update the
subareafield values to use the aligned Management Practice directory names:- “Stakeholder Mgmt” → “Stakeholder Mgmt”
- “Software Eng” → “Software Eng”
- “Solution Eng” → “Solution Eng”
- “Platform Architecture” → “Platform Architecture”
- “Consulting” → “Consulting”
- “Project Mgmt” → “Project Mgmt”
- “Business Analyst” → “Business Analysis”
-
Generate the markdown body for each file with a readable table rendering of the criteria (so the file is useful even without the plugin).
Deliverable
- 15 criteria files across 3 guilds (5 per guild)
- Each file contains all criteria for that guild’s expectations of the given role+level
- All criteria IDs and text preserved exactly from the original workbooks
Verification
- Total criteria count across all 15 files matches the original workbook totals:
- L1: 29, L2: 32, L3: 41, L4: 41, L5: 32 = 175 total
- Each criterion ID appears exactly once across all files for a given level
- All
subareavalues match actual Management Practice directory names - YAML frontmatter passes schema validation
Step 5: Build the criteria-list Quartz Transformer Plugin
Tasks
-
Create
quartz/plugins/transformers/criteriaList.tsfollowing thepageList.tspattern:Plugin behaviour:
Input: criteria-list code block with directives ┌──────────────────────────────────┐ │ ```criteria-list │ │ role: Engineer │ │ level: L3 │ │ mode: summary │ │ ``` │ └──────────────────────────────────┘ Processing: 1. Parse directives (role, level, mode) 2. Scan all `content/02 Guilds/*/Roles/` directories recursively 3. Find all .md files where frontmatter matches: - role == directive.role - level == directive.level - type == "role-criteria" 4. Read frontmatter.criteria array from each matching file 5. Group criteria by guild (area) and subarea Output (summary mode): | Guild | Management Practice | Criteria | Self Score (%) | Assessor Score (%) | Delta (%) | |-------|---------------------|----------|----------------|--------------------|-----------| | Technology Guild | Software Eng | 7 | — | — | — | | Technology Guild | Solution Eng | 8 | — | — | — | | ... | ... | ... | ... | ... | ... | Output (detail mode): For each guild → for each practice: ### [Guild Name] #### [Practice Name] | ID | Criterion | Self Score | Assessment Score | |----|-----------|------------|-----------------| | L3-DEV01 | Codes complex functionality... | ___ | ___ | | ... | ... | ... | ... | -
Register the plugin in
quartz/plugins/transformers/index.ts:export { CriteriaList } from "./criteriaList"; -
Add to
quartz.config.tsplugins:Plugin.CriteriaList(), -
Handle edge cases:
- No matching criteria files → render informational message
- Missing frontmatter fields → skip file with console warning
- Duplicate criterion IDs → log warning, render both
Deliverable
quartz/plugins/transformers/criteriaList.ts(~200-300 lines)- Plugin registered and configured
Verification
npx quartz buildsucceeds- Workbook pages render criteria tables (not raw code blocks)
- Summary mode shows correct criteria counts matching original workbooks
- Detail mode shows all criteria grouped by guild and practice
Step 6: Build the criteria-list Obsidian Plugin
Tasks
-
Create
content/.obsidian/plugins/obsidian-criteria-list/main.jsfollowing theobsidian-page-listpattern:Plugin behaviour mirrors the Quartz transformer exactly:
- Registers
criteria-listcode block processor - Parses directives (role, level, mode)
- Scans vault folders matching
02 Guilds/*/Roles/ - Reads frontmatter from matching criteria files
- Renders HTML tables in the reading view
- Registers
-
Create
content/.obsidian/plugins/obsidian-criteria-list/manifest.json:{ "id": "obsidian-criteria-list", "name": "Criteria List", "version": "1.0.0", "description": "Renders criteria-list code blocks by aggregating role criteria from Guild Roles directories", "author": "Calab.ai", "isDesktopOnly": false, "minAppVersion": "1.0.0" } -
Register the plugin in
content/.obsidian/community-plugins.json:["obsidian-page-list", "obsidian-criteria-list", ...]
Deliverable
- Obsidian plugin (~200 lines, plain JS)
- Plugin registered in community-plugins.json
Verification
- Open any workbook template in Obsidian reading view
- Summary table renders with correct criteria counts
- Detail view renders all criteria grouped by guild and practice
- Switching between edit and reading view works correctly
Step 7: Refactor Evaluation Workbook Templates
Tasks
-
Replace the content of all 5 existing workbook templates with the new
criteria-listcode block syntax. -
For each workbook (
L1throughL5):- Keep the existing frontmatter header (
workbook,level,score_scale,candidate,career_coach,review_cycle,submission_type,status) - Replace the
dataviewjssummary block with acriteria-listsummary block - Replace all the inline criterion sections with a
criteria-listdetail block
- Keep the existing frontmatter header (
-
Update the workbook
levelfrontmatter values for consistency:- L1:
level: L1 Engineer - L2:
level: L2 Senior Engineer - L3:
level: L3 Lead Engineer - L4:
level: L4 Senior Lead Engineer - L5:
level: L5 Principal Engineer
- L1:
Deliverable
- 5 refactored workbook templates, each ~30 lines (down from 380-520 lines)
Verification
- Each workbook renders identically to the current inline version (same criteria, same groupings, same order)
- No
dataviewjscode blocks remain in the codebase - No inline fields (
area::,subarea::, etc.) remain in workbook files npx quartz buildsucceeds and workbook pages render correctly
Step 8: Update Governance Documentation
Tasks
-
Update
content/00 Governance/05 Knowledge Standards.md:- Add section on “Role Criteria Files” documenting the schema and conventions
- Update “Folder Organization” section to include
Roles/under guilds andmetadata/under practices - Document the
criteria-listcode block convention alongside the existingpage-listdocumentation - Remove legacy
_-prefixed metadata folder references; documentmetadata/convention
-
Update
content/00 Governance/02 Operating Model.md:- Add section explaining the role → guild ownership model
- Document the cross-guild criteria mechanism
- Link to the relevant Roles overview pages
-
Update
content/02 Guilds/GL05 Administration Guild/Practices/HR Management/01 Policies/Promotion & Performance Review Policy.md:- Add frontmatter (currently missing)
- Update the “Functional Practice Involvement Model” section to reference the distributed criteria architecture
- Explain how criteria are governed at the guild/practice level but aggregated into workbooks
-
Update
content/metadata/Content Types.md:- Add
role-criteriaas a valid content type
- Add
Deliverable
- Updated governance documentation across 4 files
Verification
- All updated documents have valid frontmatter
- Cross-references resolve correctly
criteria-listconvention is documented in Knowledge Standards
Phase 2 Boundary: Human Review Required
Steps 1-8 above can be executed sequentially by the Build agent. The following steps require human review and decision-making before proceeding.
Step 9: Prepare CODEOWNERS for Role Criteria Paths
Tasks
-
When CODEOWNERS is implemented (per
docs/CODEOWNERS_DEFERRED.md), add these paths:# Guild-level role criteria ownership /content/02 Guilds/GL01 Executive Guild/Roles/** @calab-ai/guild-executive /content/02 Guilds/GL02 Sales Guild/Roles/** @calab-ai/guild-sales /content/02 Guilds/GL03 Delivery Guild/Roles/** @calab-ai/guild-delivery /content/02 Guilds/GL04 Technology Guild/Roles/** @calab-ai/guild-technology /content/02 Guilds/GL05 Administration Guild/Roles/** @calab-ai/guild-administration -
This ensures that each guild controls who can create and modify criteria for their roles and cross-guild expectations.
Deliverable
- CODEOWNERS entries documented in the plan (for future implementation)
Verification
- N/A until CODEOWNERS is activated
Step 10: Extend to Additional Role Types (Future)
Tasks
Once the Engineer criteria architecture is validated, extend to:
-
Architect Track (from the career pathway in the Promotion Policy):
GL04 Technology Guild/Roles/Architect/L3 Lead Architect.mdGL04 Technology Guild/Roles/Architect/L4 Senior Lead Architect.mdGL04 Technology Guild/Roles/Architect/L5 Principal Architect.md
-
Delivery Track:
GL03 Delivery Guild/Roles/Delivery Lead/L3 Delivery Lead.mdGL03 Delivery Guild/Roles/Delivery Lead/L4 Senior Delivery Lead.mdGL03 Delivery Guild/Roles/Delivery Lead/L5 Delivery Principal.md
-
Create corresponding Evaluation Workbook templates in HR Management.
Deliverable
- New role criteria files for Architect and Delivery Lead tracks
- New workbook templates
Verification
- Workbooks for new role types render correctly with aggregated criteria
4. Decision Points & Options
4.1 Score Storage Location
| Option | Pros | Cons | Recommendation |
|---|---|---|---|
| A: Scores in criteria files | Single location for criteria + scores; plugin reads everything from one source | Breaks SSOT — scores are per-candidate, criteria are per-role; criteria files would need to be duplicated per candidate | Not recommended |
| B: Scores in workbook files | Workbook is the per-candidate artefact; scores are naturally per-instance | Plugin must handle both read (criteria) and write (scores) contexts | Recommended |
| C: Scores in separate score files | Clean separation of concerns | Adds file management complexity; three locations to coordinate | Over-engineered |
Decision: Scores remain in the workbook files. The criteria-list plugin renders score input fields that candidates fill in. The criteria files themselves are templates/definitions only.
4.2 Criteria ID Namespacing
| Option | Pros | Cons | Recommendation |
|---|---|---|---|
| A: Keep existing IDs | No migration needed; backward compatible | L1 uses inconsistent numbering (sequential across practices) | Recommended for now |
| B: Namespace IDs by practice | Clear provenance (e.g., SE-L3-DEV01) | Requires renaming all existing IDs; breaks any external references | Defer |
Decision: Keep existing criterion IDs unchanged. Address ID namespacing in a future revision if needed.
5. Risk Assessment
| Risk | Impact | Likelihood | Mitigation |
|---|---|---|---|
| Criteria count mismatch during extraction | High — missing or duplicated criteria | Low | Automated verification: count criteria in source workbooks vs distributed files |
| Plugin rendering differences between Obsidian and Quartz | Medium — inconsistent UX | Medium | Shared test fixtures; side-by-side rendering comparison during development |
| Practice name changes break existing wikilinks | Medium — broken navigation | Low | Search-and-replace all wikilinks referencing old names; Quartz build will flag broken links |
| CODEOWNERS not yet active | Low — governance is advisory only | High (known) | Document governance expectations; enforce via PR review process until CODEOWNERS is active |
| Large YAML frontmatter for criteria files | Low — editor UX | Low | Use >- YAML multiline strings for criterion text; keep body markdown as readable backup |
| Workbook scoring workflow disrupted | High — active business process | Low | Maintain backward compatibility: keep old workbooks until new ones are validated |
6. Success Criteria
- All 175 existing criteria are distributed across 15 criteria files (5 levels x 3 guilds)
- Each criterion appears exactly once per level across all criteria files
- All 5 Evaluation Workbooks render correctly in both Obsidian and Quartz
-
criteria-listsummary mode shows identical criteria counts to currentdataviewjsoutput -
criteria-listdetail mode shows all criteria grouped by Guild then Management Practice - No
dataviewjscode blocks remain in the codebase - 3 new Management Practice directories created with standard scaffold
- All Management Practice metadata folders use standardised
metadata/subfolder convention - Software Eng overview content corrected
- Governance documentation updated to reflect new architecture
-
npx quartz buildsucceeds with zero errors
7. Appendices
Appendix A: Complete Criteria Extraction Map
L1 Engineer (29 criteria → 3 files)
| Target File | Guild | Subareas | Criteria IDs | Count |
|---|---|---|---|---|
GL04/Roles/Engineer/L1 Engineer.md | Technology Guild | SE Mgmt, Sol Arch Mgmt, Plat Arch Mgmt | L1-DEV10, L1-DEV11, L1-KNO12-KNO14, L1-DD15-DD16, L1-SPM17-SPM20, L1-ARC21 | 12 |
GL02/Roles/Cross-Guild/Engineer/L1 Engineer.md | Sales Guild | Stakeholder Mgmt Mgmt | L1-WA01-WA04 | 4 |
GL03/Roles/Cross-Guild/Engineer/L1 Engineer.md | Delivery Guild | Consulting Mgmt, Project Mgmt, Business Analysis Mgmt | L1-CS22-CS23, L1-SM24-SM27, L1-TL28-TL29, L1-BA05-BA07, L1-TP08-TP09 | 13 |
| Total | 29 |
L2 Senior Engineer (32 criteria → 3 files)
| Target File | Guild | Subareas | Criteria IDs | Count |
|---|---|---|---|---|
GL04/Roles/Engineer/L2 Senior Engineer.md | Technology Guild | SE Mgmt, Sol Arch Mgmt, Plat Arch Mgmt | L2-DEV01-DEV03, L2-KNO01-KNO04, L2-DD01-DD03, L2-SPM01-SPM03, L2-ARC01-ARC02 | 15 |
GL02/Roles/Cross-Guild/Engineer/L2 Senior Engineer.md | Sales Guild | Stakeholder Mgmt Mgmt | L2-WA01-WA04 | 4 |
GL03/Roles/Cross-Guild/Engineer/L2 Senior Engineer.md | Delivery Guild | Consulting Mgmt, Project Mgmt, Business Analysis Mgmt | L2-CS01-CS02, L2-SM01-SM03, L2-TL01-TL03, L2-BA01-BA03, L2-TP01-TP02 | 13 |
| Total | 32 |
L3 Lead Engineer (41 criteria → 3 files)
| Target File | Guild | Subareas | Criteria IDs | Count |
|---|---|---|---|---|
GL04/Roles/Engineer/L3 Lead Engineer.md | Technology Guild | SE Mgmt, Sol Arch Mgmt, Plat Arch Mgmt | L3-DEV01-DEV04, L3-KNO01-KNO03, L3-DD01-DD04, L3-SPM01-SPM04, L3-ARC01-ARC02 | 17 |
GL02/Roles/Cross-Guild/Engineer/L3 Lead Engineer.md | Sales Guild | Stakeholder Mgmt Mgmt | L3-WA01-WA03 | 3 |
GL03/Roles/Cross-Guild/Engineer/L3 Lead Engineer.md | Delivery Guild | Consulting Mgmt, Project Mgmt, Business Analysis Mgmt | L3-CS01-CS04, L3-SM01-SM06, L3-TL01-TL05, L3-BA01-BA03, L3-TP01-TP03 | 21 |
| Total | 41 |
L4 Senior Lead Engineer (41 criteria → 3 files)
| Target File | Guild | Subareas | Criteria IDs | Count |
|---|---|---|---|---|
GL04/Roles/Engineer/L4 Senior Lead Engineer.md | Technology Guild | SE Mgmt, Sol Arch Mgmt, Plat Arch Mgmt | L4-DEV01-DEV03, L4-KNO01-KNO03, L4-DD01-DD05, L4-SPM01-SPM04, L4-ARC01-ARC04 | 19 |
GL02/Roles/Cross-Guild/Engineer/L4 Senior Lead Engineer.md | Sales Guild | Stakeholder Mgmt Mgmt | L4-WA01-WA04 | 4 |
GL03/Roles/Cross-Guild/Engineer/L4 Senior Lead Engineer.md | Delivery Guild | Consulting Mgmt, Project Mgmt, Business Analysis Mgmt | L4-CS01-CS04, L4-SM01-SM04, L4-TL01-TL03, L4-BA01-BA03, L4-TP01-TP04 | 18 |
| Total | 41 |
L5 Principal Engineer (32 criteria → 3 files)
| Target File | Guild | Subareas | Criteria IDs | Count |
|---|---|---|---|---|
GL04/Roles/Engineer/L5 Principal Engineer.md | Technology Guild | SE Mgmt, Sol Arch Mgmt, Plat Arch Mgmt | L5-DEV01, L5-KNO01-KNO03, L5-DD01-DD03, L5-SPM01-SPM03, L5-ARC01-ARC04 | 14 |
GL02/Roles/Cross-Guild/Engineer/L5 Principal Engineer.md | Sales Guild | Stakeholder Mgmt Mgmt | L5-WA01-WA03, L5-SE01-SE03 | 6 |
GL03/Roles/Cross-Guild/Engineer/L5 Principal Engineer.md | Delivery Guild | Consulting Mgmt, Project Mgmt, Business Analysis Mgmt | L5-CS01-CS03, L5-TL01-TL03, L5-BA01-BA04, L5-TP01-TP02 | 12 |
| Total | 32 |
Appendix B: Management Practice Name Alignment
| Workbook Subarea (Current) | Directory Name (Current) | Action | New Subarea Value |
|---|---|---|---|
| Stakeholder Mgmt | (none) | Create Stakeholder Mgmt/ in GL02 | Stakeholder Mgmt |
| Software Eng | Software Eng (wrong content) | Fix content in existing directory | Software Eng |
| Solution Eng | Solution Eng | Rename workbook ref | Solution Eng |
| Platform Architecture | Platform Architecture | Rename workbook ref | Platform Architecture |
| Consulting | (none) | Create Consulting/ in GL03 | Consulting |
| Project Mgmt | Project Mgmt | Rename workbook ref | Project Mgmt |
| Business Analyst | (none) | Create Business Analysis/ in GL03 | Business Analysis |
Appendix C: File Count Summary
| Category | Files Created | Files Modified |
|---|---|---|
| New practice directories (3 x scaffold) | ~30 (overviews + empty folders) | 0 |
| Role criteria files | 15 | 0 |
| Roles overview files | ~8 | 0 |
| Plugin files (Quartz + Obsidian) | 4 | 2 (index.ts, quartz.config.ts) |
| Workbook templates | 0 | 5 |
| Governance documentation | 0 | 4 |
| Decision documents | 2 | 0 |
| Total | ~59 | ~11 |