Files
automotive-skills-suite/docs/skill-polish-log/sotif-analysis-builder.md
T
Automotive Skills Autonomous a6df28d089 auto(polish): W24 #20 sotif-analysis-builder review pass, regen STATUS, journal
Autonomous daily run.
- POLISH: first polish-log entry for sotif-analysis-builder (severity low, no fix needed)
- Closes standing SOTIF zero-touch coverage mandate via documented review
- STATUS.md regenerated (76/76 paired, 100%); journal updated

Generated by automotive-skills-daily-standup scheduled task.
2026-06-09 11:08:00 +00:00

3.2 KiB
Raw Blame History

Polish log — sotif-analysis-builder

2026-06-09 (W24 POLISH, first pass)

Tracking issue: #20 (W24 polish target, label sotif) Mode: POLISH · Severity: low (no blocking issues found) In-place fix applied: none required (see rationale)

What's good

  • Frontmatter is valid and complete. Required fields name and description both present; description is 619 chars, comfortably under the 1024-char ceiling. The description correctly frames SOTIF as distinct from ISO 26262 random-HW faults, which is the single most important triggering distinction for this skill.
  • Body is coherent and self-consistent. The "Output structure (12 tabs)" header matches the table exactly (rows 0011 = 12 tabs). The tab inventory in the body lines up with the tab list implied by the description.
  • Schema/example/generator are aligned. Example input examples/sample_sotif_input_aeb.json has top-level keys [system, functions, odd_definition, performance_limitations, functional_insufficiencies, triggering_conditions, hazardous_behaviors, scenarios, acceptance_criteria] and every one is consumed by scripts/generate_sotif_analysis.py via a matching data.get(...). No orphan fields, no fields the generator reads that the example omits.
  • Scripts are syntactically sound. generate_sotif_analysis.py and recalc.py both parse without error. No TODO/FIXME/placeholder/lorem markers anywhere in the archive.
  • Correct cross-reference. "When to use" routes random-HW-failure hazards to hara-builder, reinforcing the SOTIF-vs-FuSa boundary.

What to fix

  • Nothing blocking. The skill is in good health.

Suggested (non-blocking) edits for a future pass

  • Quadrant terminology consistency (cosmetic): the body uses both the standard ISO 21448 4-quadrant labels and the prose "Known/Unknown × Safe/Unsafe". These agree, but a one-line legend near tab 09 would remove any ambiguity for new users.
  • Acceptance-criterion singular/plural: prose refers to "Acceptance criterion" (tab 10) while the input key is acceptance_criteria (plural). The generator already keys on the plural, so this is purely descriptive — worth a one-word harmonization only if the file is opened for another reason.
  • Reference freshness: references/iso21448_clauses.md cites the §6 concept / §5 scenario taxonomy structure; confirm against the current ISO 21448:2022 clause numbering on a future content pass (low priority — structure is unchanged).

Rationale for no in-place change

Per POLISH discipline, edits are limited to small, obvious, unambiguous fixes (typo, over-length description, missing required frontmatter). None of those conditions are present here. The suggestions above are content-judgement calls, not mechanical fixes, so they are logged for a future deliberate pass rather than applied blind. A small honest commit beats a wrong one.

Net assessment

Healthy skill. The 🟡 staleness flag in STATUS.md is date-based, not quality-based — the file simply hasn't been edited since 2026-05-01. This review satisfies the standing SOTIF-coverage mandate (SOTIF was the only zero-touch domain in the May KPI); the domain has now had a documented quality pass.