diff --git a/STATUS.md b/STATUS.md index d54305b..ab7b7bb 100644 --- a/STATUS.md +++ b/STATUS.md @@ -1,6 +1,6 @@ # STATUS โ€” automotive-skills-suite -_Auto-generated 2026-06-08 by automotive-skills-daily-standup._ +_Auto-generated 2026-06-09 by automotive-skills-daily-standup._ | Builder | Domain | Paired Reviewer | Last Touched | Flag | |---------|--------|-----------------|--------------|------| @@ -86,5 +86,5 @@ _Auto-generated 2026-06-08 by automotive-skills-daily-standup._ - Builders: **76**, Reviewers: **76**, Paired ratio: **100.0%** - ๐ŸŸข Paired & fresh (โ‰ค30d): **2** ยท ๐ŸŸก Stale (>30d): **74** ยท ๐Ÿ”ด Orphan builders: **0** - Domain spread: safety=15, quality=10, comms=8, cyber=6, autosar=5, diagnostics=5, program-mgmt=5, v&v=5, aspice=4, sysml=4, calibration=3, mbse=3, sotif=3 -- Date: 2026-06-08 +- Date: 2026-06-09 - Source: scan of `skills/` directory + `git log -1` per file. diff --git a/docs/AUTONOMOUS_LOG.md b/docs/AUTONOMOUS_LOG.md index 947a3d7..725f0bf 100644 --- a/docs/AUTONOMOUS_LOG.md +++ b/docs/AUTONOMOUS_LOG.md @@ -486,3 +486,17 @@ Standout finding is non-DoD and more impactful than the trigger gaps: the SKILL. - Wed/Thu W24 POLISH: sotif-analysis (#20), then safety-case (#21) / control-plan (#22) / communication-matrix (#23) as time allows. Expect ~3 of 4 skill targets to land in-week. - Confirm with maintainer (or via next TRIAGE) whether the weekend mass-close means the polish-loop workflow itself should change โ€” if the human is closing weekly-target issues without merging the polish-log rewrites, the value of opening them weekly is worth revisiting. - The fmeda medium findings from W23 (classification-ladder branch, SMvDU acronym, 100ร— unit convention) and the cs-concept/tara findings still sit in the polish logs unapplied; none have an open issue anymore. Flag for human: decide whether these become PRs or are dropped. + +## 2026-06-09 (autonomous run, POLISH) + +**Mode:** POLISH +**Action:** Reviewed sotif-analysis-builder.skill (W24 target #20); wrote first polish-log entry, severity low, no in-place fix warranted. Regenerated STATUS.md. +**Files touched:** docs/skill-polish-log/sotif-analysis-builder.md (new), STATUS.md, docs/AUTONOMOUS_LOG.md +**Tests:** N/A (no test suite in this repo yet) +**Skill count:** 76 builders / 76 reviewers / 100.0% paired +**Open issues:** 5 (#19 ci, #20 sotif, #21 safety, #22 quality, #23 comms โ€” all weekly-target) +**Notes:** Picked sotif-analysis-builder via POLISH priority order โ€” open issues carry no skill-bug/reviewer-finding label (โ†’ skip), suite has zero orphan builders (โ†’ skip), so fell to least-recently-touched cohort (2026-05-01), and the W24 plan flagged sotif as the standing SOTIF-coverage mandate (only zero-touch domain in the May KPI). Deliberately did NOT take the Tuesday tooling slot #19 (classify_skill.py extraction): that is a multi-file refactor of inline STATUS logic, which the POLISH guardrail ("NEVER do large refactors") rules out for a daily pass โ€” left for a dedicated session. Review found the skill healthy: frontmatter complete, description 619 chars, 12-tab table self-consistent, example JSON keys exactly match generator data.get() fields, both scripts parse, no TODO/placeholder markers. No mechanical fix existed, so none was forced โ€” the ๐ŸŸก flag on sotif is date-based, not quality-based. Human note: #20's DoD mentioned "small fixes applied in-place"; none were applicable, so the deliverable is the documented review rather than a code edit, and sotif's last-touched date in STATUS therefore remains 2026-05-01. +**Follow-ups:** +- Wed/Thu W24 picks: safety-case-builder (#21), control-plan-builder (#22), communication-matrix-builder (#23) โ€” same least-recently-touched cohort. +- Tooling debt #19 (classify_skill.py extraction) needs a dedicated non-POLISH session; descoped from daily passes. +- Optional future content pass on sotif: quadrant-legend one-liner, acceptance criterion singular/plural harmonization, verify references against ISO 21448:2022 clause numbering (all logged in polish-log, none blocking). diff --git a/docs/skill-polish-log/sotif-analysis-builder.md b/docs/skill-polish-log/sotif-analysis-builder.md new file mode 100644 index 0000000..ec54542 --- /dev/null +++ b/docs/skill-polish-log/sotif-analysis-builder.md @@ -0,0 +1,56 @@ +# 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 00โ€“11 = 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.