Skip to content

Commit ff8ad23

Browse files
author
Presta
committed
docs(37): mark Enhancement 2 and 3 complete in USER-GUIDE.md
Updated Veritas-Model-ADO Workflow Enhancements section: - Enhancement 2: Marked complete (March 2, 1:50 PM ET, commit c2eccd3) - Enhancement 3: Marked complete (March 2, 2:10 PM ET, commit 6ac756c) - Enhanced Enhancement 3 documentation with actual implementation details: * wbs-quality-gates.js module (checkWbsQualityGates, computeFieldPopulationScore) * MTI formula upgrade (4-component to 5-component with fieldPopulationScore) * Audit integration (quality gate check before computeTrust) * Test results (37-data-model: 118 total, 0 done, PASS) Both enhancements push to respective repos and available for use.
1 parent c2eccd3 commit ff8ad23

File tree

1 file changed

+42
-1
lines changed

1 file changed

+42
-1
lines changed

USER-GUIDE.md

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1219,6 +1219,8 @@ Where:
12191219

12201220
#### Enhancement 2: Enrich seed-from-plan.py Metadata Extraction
12211221

1222+
**Status**: ✅ COMPLETE (March 2, 2026 1:50 PM ET — [Commit c2eccd3](https://github.com/eva-foundry/37-data-model/commit/c2eccd3))
1223+
12221224
**Problem**: `seed-from-plan.py` extracts minimal metadata (id, title, status only). PLAN.md often contains sprint/epic context in section headers that is ignored.
12231225

12241226
**Solution**: Enhance parser to infer metadata from PLAN.md structure:
@@ -1255,12 +1257,51 @@ Where:
12551257

12561258
#### Enhancement 3: Veritas Quality Gates for Field Population
12571259

1260+
**Status**: ✅ COMPLETE (March 2, 2026 2:10 PM ET — [Commit 6ac756c](https://github.com/eva-foundry/48-eva-veritas/commit/6ac756c))
1261+
12581262
**Problem**: Stories can be marked `status=done` without sprint/assignee/ado_id populated, breaking workflow integrity.
12591263

12601264
**Solution**: Add Veritas audit rules to enforce field population before done status:
12611265

1266+
**Implementation** (48-eva-veritas [6ac756c](https://github.com/eva-foundry/48-eva-veritas/commit/6ac756c)):
1267+
1. **New Module**: `src/lib/wbs-quality-gates.js` (240 lines)
1268+
- `checkWbsQualityGates()`: Validates sprint, assignee, ado_id for done stories
1269+
- `computeFieldPopulationScore()`: Calculates avg population rate (sprint+assignee+ado_id)/3 for MTI
1270+
- Queries data model API for live WBS data (no local file dependency)
1271+
- Returns violations array with story IDs and missing fields
1272+
1273+
2. **Audit Integration**: `src/audit.js`
1274+
- Runs quality gate check after reconcile, before computeTrust
1275+
- Logs violations (first 10 shown, "+ N more" if > 10)
1276+
- Writes `quality_gates` object to trust.json for report inclusion
1277+
- Non-fatal: continues audit even if quality gates fail
1278+
- Skippable: `--skip-quality-gates` flag to disable check
1279+
1280+
3. **MTI Formula Upgrade**: `src/lib/trust.js` (4-component → 5-component)
1281+
- Added `fieldPopulationScore` as 5th component (10% weight)
1282+
- Formula progression:
1283+
* 5-component: coverage 35%, evidence 20%, consistency 25%, complexity 10%, field_population 10%
1284+
* 4-component-field-population: coverage 40%, evidence 20%, consistency 30%, field_population 10%
1285+
* 4-component-complexity: coverage 40%, evidence 20%, consistency 25%, complexity 15%
1286+
* 3-component-fallback: coverage 50%, evidence 20%, consistency 30%
1287+
1288+
4. **Trust Computation**: `src/compute-trust.js`
1289+
- Fetches field population score from data model API before computing MTI
1290+
- Passes `fieldPopulationScore` as 3rd parameter to `computeTrustScore()`
1291+
- Logs: "[INFO] Field population score: 87% (sprint, assignee, ado_id)"
1292+
1293+
**Test Result** (37-data-model):
1294+
```powershell
1295+
node src/cli.js audit --repo C:\AICOE\eva-foundry\37-data-model
1296+
# [PASS] WBS quality gates: all 0 done stories have required fields
1297+
# [INFO] Field population score: 0% (sprint, assignee, ado_id)
1298+
# MTI Score: 74 (PASS, threshold 70) - formula=3-component-fallback
1299+
```
1300+
1301+
**Conceptual example of quality gate logic:**
1302+
12621303
```javascript
1263-
// In 48-eva-veritas/src/rules/wbs-quality-gates.js:
1304+
// Simplified logic (actual implementation in src/lib/wbs-quality-gates.js):
12641305

12651306
export const wbsQualityGates = {
12661307
"wbs-field-population": {

0 commit comments

Comments
 (0)