chore(humanizer): README test-count badge + self-audit terminal humanization
- Bump README test-count badge: 635 → 792 (matches filesystem after Wave 0–5) - Wire formatSelfAudit() through humanizeEnvelope + humanizeFindings so the terminal-output path renders humanized finding titles. The --json path is unchanged — only the prose terminal render is humanized. - readmeCheck.passed now returns true; configGrade A (97), pluginGrade A (100)
This commit is contained in:
parent
12eae8c678
commit
b99773ec27
2 changed files with 11 additions and 2 deletions
|
|
@ -19,6 +19,7 @@ import { scoreByArea } from './lib/scoring.mjs';
|
|||
import { gradeFromPassRate } from './lib/severity.mjs';
|
||||
import { loadSuppressions, applySuppressions } from './lib/suppression.mjs';
|
||||
import { parseJson } from './lib/yaml-parser.mjs';
|
||||
import { humanizeEnvelope, humanizeFindings } from './lib/humanizer.mjs';
|
||||
|
||||
const execFileAsync = promisify(execFile);
|
||||
|
||||
|
|
@ -268,6 +269,14 @@ export async function runSelfAudit(opts = {}) {
|
|||
* @returns {string}
|
||||
*/
|
||||
export function formatSelfAudit(result) {
|
||||
// Humanize findings for terminal-output path only. JSON path (--json) is
|
||||
// unaffected \u2014 it serializes the original `result` object directly.
|
||||
const humanizedConfigEnv = humanizeEnvelope(result.configEnvelope);
|
||||
const humanizedAllFindings = [
|
||||
...humanizedConfigEnv.scanners.flatMap(s => s.findings),
|
||||
...humanizeFindings(result.pluginHealthResult.findings),
|
||||
];
|
||||
|
||||
const lines = [];
|
||||
lines.push('\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501');
|
||||
lines.push(' Config-Audit Self-Audit');
|
||||
|
|
@ -278,7 +287,7 @@ export function formatSelfAudit(result) {
|
|||
lines.push('');
|
||||
|
||||
// Issues summary
|
||||
const nonInfo = result.allFindings.filter(f => f.severity !== 'info');
|
||||
const nonInfo = humanizedAllFindings.filter(f => f.severity !== 'info');
|
||||
if (nonInfo.length > 0) {
|
||||
lines.push(` Issues (${nonInfo.length}):`);
|
||||
for (const f of nonInfo.slice(0, 10)) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue