All notable changes to the Automotive Skills Suite. Maintained by the autonomous
daily standup. Entries are grouped by intent (feat / fix / polish / docs) and move
from [Unreleased] into a dated section at each weekly release.
W40 (2026-09-28 → 2026-10-02). Accumulating since v2026.09.W39 (2026-09-26).
- W40 PLAN (Mon 2026-09-28): opened #66–#70, the carried HIGH backlog (
sw-arch-builder,sw-sr-builder,sw-fmea-builderTSC/HSI column shifts;safety-case-buildertruncated reader;bus-load-analysis-checklist-reviewertruncatedCHECKSdict) (4da1631) - September monthly KPI report,
docs/monthly/2026-09.md(f7ece99) - W41 (2026-10-05 → 2026-10-09) DOCS roll (Fri 2026-10-09): no skill, script or doc commits landed this week — the W41 PLAN and Tue–Thu POLISH slots did not commit to the repo, so there are no
feat:/fix:/polish:entries to group and no example README stubs owed. #66–#70 remain open and unaddressed; STATUS regenerated viascripts/regen_status.py. - W42 (2026-10-12 → 2026-10-16) DOCS roll (Fri 2026-10-16): one commit landed this week — the Tue 2026-10-13 POLISH run. No Mon PLAN, Wed or Thu commits; #66–#68 and #70 remain open and unaddressed.
- safety-case-builder — W42 Tue (2026-10-13, #69):
multi_xlsx_reader.pywas truncated mid-statement (retu), raisingNameErroron any input. Thereturnof the four-artifact dict was restored and the.skillrepackaged; the deferredoffice/__init__.pyfile-tree doc fix landed with it. Verified byast.parse, import + signature check, zip integrity and a cross-check of return keys against everyartifacts.get(...)ingenerate_safety_case.py; the full 15-tab build was not re-run here (96afe77)
- #70
bus-load-analysis-checklist-reviewer(CHECKSdict truncated,SyntaxError), #66–#68 (sw-arch-builder,sw-sr-builder,sw-fmea-builderTSC/HSI column shifts). Example inputexamples/sample_safety_case_input_esc.jsonstill has hardcoded/sessions/...paths. - No example README stubs owed:
safety-case-builderalready hasexamples/safety-case-builder/README.md.
W39 (2026-09-21 → 2026-09-25). Accumulating since v2026.09.W38 (2026-09-19). Rolled by the Friday DOCS run (2026-09-25) and shipped by the Saturday RELEASE run (2026-09-26).
- cs-goals-builder — W39 Tue (2026-09-22, #62):
Cybersecurity_Propertywas hard-codedConfidentialityon every CSG though the threat's STRIDE category determines it unambiguously._build_stride_index()added beside the existing_build_asset_index()(same tab,05_Threat_Scenarios, already indexed by scenario ID) so the property is now derived per row; unmatched rows reportNot Determinedwith a stderr warning instead of silently defaulting toConfidentiality. Verified on six scenarios — the shipped sample, an Information-Disclosure-stripped variant, the09_Risk_Determinationfallback path, a TARA missing05_Threat_Scenarios, an unrecognised STRIDE value, and a full cell-by-cell before/after diff (4604f67) - 24 checklist-reviewer archives (batch) — W39 Wed (2026-09-23, #63):
_find_header_row's>= 3populated-cell gate hid any two-column tab from its reviewer suite-wide. Measurement showed the issue's own proposed blanket>= 2would have moved two already-correct headers backward (control-plan02_Header_Blockrow 11→3,ppapPSW row 17→5), so the gate ships as "prefer ≥3, fall back to 2" instead — proven zero-diff across 2,616 checklist rows built from all 24 paired outputs before/after. Neither of the two symptoms the plan named turned out to move a verdict (cs_concept_probenever reads the affected tab;sw_fmea_probefeeds only an informational count), so the issue was downgraded HIGH → MED in its closing comment. The sweep also found two dead-on-arrival skills —safety-case-builderandbus-load-analysis-checklist-reviewer, both broken since their initial commits — left unfixed this run; see Known issues (50ba884) - cs-concept-builder — W39 Thu (2026-09-24, #65):
cs_goals_reader.pyread the CS Goals tab positionally starting at row 5 against a row-1 header. 3 of 15 goals (firmware injection, calibration tampering, CAN spoofing) were never read, every CSR's CAL echoed the goal's text instead of a rating, and every node inherited CAL-1. Filed MED, measured HIGH. Fixed with a header-spelling lookup table; verified from the repacked archive with all 15 goals present under the right header and 0 verdict moves acrosscs-concept-checklist-reviewer's 29 checks. This was #64's only known-bad chain edge, watched failing before the fix landed (6d0118f)
- Column-level chain-contract audit — W39 Thu (2026-09-24, #64):
scripts/column_contract.py(new, 503 lines) extendschain_contract_audit.pyfrom tab-existence checks to column-name and data-start-row assertions per chain edge. Landed by watching the new layer fail on #65's edge first — committed before the fix — then repairing #65 behind it. Beyond #65 it reports 13 further BREAKs, all dynamically confirmed by building the real chain rather than reading source:sw-arch-builderreads05_TSR_Catalogtwo columns off, so its"SW" in Typefilter tests the FSR_ID and every SW-TSR is dropped (0 imported), and reads04_Safety_Mechanism_Catalogand the SW-partition table off by one column each;sw-sr-builderreads06_HSI_Specificationone column right of where it should from column 2 on;sw-fmea-builder's tab-name scan looks forpartition/sw_tsr, which no TSC tab contains, and imports nothing from the TSC, silently. The entire TSC→software branch has been running on misread or empty input while the tab-level audit reported every one of those edges MATCH (5dcce3d)
- W39 weekly plan (Mon 2026-09-21): opened #62–#65 from the prior Sunday's triage handoff; the
_find_header_rowcandidate was measured down from "suite-wide HIGH" to "24 archives carry it, 2 have a live symptom" before being slotted, and the regression-harness item was held back deliberately to keep the week to four targets instead of eight (ea692a7) - W39 DOCS roll (Fri 2026-09-25, this section): 18 example README stubs added —
apqp-plan,aspice-assessment,control-plan,cs-concept,cs-goals,dfmea,hsi,hw-architecture,hw-safety-reqs,pfmea,ppap,safety-case,safety-plan,sw-arch,sw-fmea,sw-hsis,sw-sr,tarachecklist-reviewers — for the 18 of #63's 24-archive batch that had noexamples/<skill>/README.md. These are stubs sourced from each skill's own frontmatter description and confirmed builder pairing, not from execution: no real check counts or sample output, flagged as such in each file, and left for a future POLISH pass to deepen.cs-goals-builderandcs-concept-builderalready had READMEs, rewritten this week during #62 and #65, and were left alone. STATUS regenerated viascripts/regen_status.py— 76/76 paired (2 via alias registry), 7 🟢 fresh / 69 🟡 stale / 0 orphan (this commit)
- Three column-level BREAKs from #64, not yet filed as issues —
sw-arch-builder's TSC reader (every SW-TSR dropped; safety-mechanism catalog and SW-partition table both misread),sw-sr-builder's HSI column shift,sw-fmea-builder's TSC tab-name scan matching nothing. All HIGH, all dynamically confirmed by running the real chain; exact column pairs and reproduction steps indocs/chain-contract-audit.md. Should be fixed by header-name lookup, the same shape as #65, not by re-counting positions safety-case-builder—multi_xlsx_reader.pytruncated mid-statement (retu),NameErroron any input. Rated "exemplary" by a 2026-06-17 polish pass that never ran it. A one-line verified fix is written out indocs/skill-polish-log/reviewer-find-header-row-batch-63.mdbut not applied — one skill per POLISH slotbus-load-analysis-checklist-reviewer—check_definitions.py'sCHECKSdict truncated at entry 18 of 28,SyntaxErroron import. The fix is mechanical (all 28 check functions already exist; only the mapping entries are missing) but likewise not applied this runcolumn_contract.pycannot see the #65 edge it just fixed. cs-concept's new header-spelling reader is the right design and a genuine blind spot for a positional-assertion audit; the gap will widen as more readers move to name-based lookup, which is why the reviewer-probe regression harness (carried, HIGH, unfiled) is still needed as the dynamic complement- cs-concept does not model CAL-4 at all — generator, verification matrix and SKILL.md line 112 all stop at CAL-3, so 160 CAL-4 CSRs in the sample still inherit CAL-3 (MED, spotted in passing, not filed)
cs-goals-builderwrites goal text into02_TARA_Echo.Threat_Description(LOW-MED, spotted in passing, not filed)cs-concept-checklist-reviewerhas no check asserting the echoed CS-Goal count equals the upstream count, or that every CSR's CAL falls inCAL-1..4— a genuinereviewer-findingcandidate surfaced by #65's own fix, MED, not filed
W37 + W38 (2026-09-07 → 2026-09-18). Accumulating since v2026.09.W36 (2026-09-05). Rolled by the Friday DOCS run (2026-09-18) and shipped by the Saturday RELEASE run (2026-09-19). No v2026.09.W37 tag exists and none was backfilled — see RELEASES.md.
Five scheduled runs did not fire across these two weeks. W37 produced only its Monday PLAN and Tuesday POLISH — the Wed/Thu POLISH slots, the Friday DOCS roll and the Saturday RELEASE are all absent from the log, so two of W37's three targets (#60 mbse wiring, #61 test-case-catalog / flexray-config) were opened and never worked. W38 is the mirror image: no
docs/weekly/WEEK-2026-W38.mdand no commits dated 2026-09-14, so the Monday PLAN never ran, but all three POLISH slots did. Those three selected by rule (c) — least-recently-touched builder — because the open-issue queue is empty (#59–#61 were closed outside the automation). Net effect: nov2026.09.W37tag exists, this is the first DOCS roll since 2026-09-04, and the week's work is sound but unplanned.
- traceability-matrix pair — W37 Tue (2026-09-08, #59): the pair documented as non-functional in W36 was repaired in dependency order.
generate_trace.pyrewritten so input actually flows into all 11 advertised tabs with coverage and orphans derived rather than emitted as headings;trace_probe.pynow locates metrics and orphan rows by label instead of a fixed row window, soorphan_testspopulates.TM005/TM006/TM007corrected,TM008/TM009implemented, and the 12 checks that cannot be machine-verified labelledAUTO-SUGGEST DRAFTinstead of falling through to a hard-codedLC. Builder output now scores0 FC / 20 LC / 5 NOagainst an empty workbook's0 FC / 7 NO / 5 NA— the two spreads differ, which they did not before (302660e) - hw-safety-reqs-builder — W38 Tue (2026-09-15):
hw_sr_overrideswas discarded in its entirety and the run still exited 0.derive_hw_srs_from_tsrmatchedoverrides[tsr_id]exactly, but the shippedexamples/sample_hw_sr_input_esc.jsonkeyed its two overrides on a stale three-segment HW-TSR ID (TSR-001-01) whiletsc-builderemits four segments (TSR-001-01-01). The generic<TBD: ADC_CHx>template shipped in place of the analyst's text, element and DC% target, with a summary reportinghw_srs_derived: 825as though refinement had applied. Overrides now resolve, unmatched keys raise a namedWARNINGon stderr, and the JSON summary carriesoverrides_supplied/overrides_applied/overrides_unmatched. Same class as #54 — a documented input path that accepts data and drops it (a8f430d) - cs-goals-builder — W38 Wed (2026-09-16): the builder could not read the TARA workbook its own upstream produces.
tara_readerresolved columns against snake_case names with positional fallbacks;tara-builderemits human-readable headers (Cybersecurity Goal,Risk Value), so no alias matched forassetorcs_goal_textand both took their positional default — every CSG shipped with the goal text in theAssetcolumn and a bare risk integer as its goal text. Plausible-looking and wrong, carried end to end throughcs-concept-builderandcs-architecture-builder. Fixed with_HEADER_ALIASES/_normalize_headers()/_col()(name-first resolution,Nonerather than a guessed column where no alias matches) plus_build_asset_index(), which walks05_Threat_Scenariosand04_Asset_Inventorybecause the upstream CSG tab has no asset column at all. Also hardened against anAttributeErroron non-string header cells (a2af2f1) - dia-checklist-reviewer — W38 Thu (2026-09-17): three false findings on the pair's own canonical sample, all one kind — the probe assumed column names and layouts
dia-builderdoes not emit, then reported a compliance failure rather than a read failure. DIAA-8 stuck atPCon seven fully-scheduled joint reviews (milestone/participantsvs the emittedReview Name/Attendees/Planned Date); DIAA-14 stuck atPCagainst 6 in-scope / 5 out-of-scope bullets (_find_header_rowneeds ≥3 populated cells,03_Item_Scopeis a two-column vertical layout); DIAA-4/5 stuck atNOon 10 rows because combinedA,Rcells — the builder's own documented default — were compared withv.upper() == "A". Fixed via header aliases, a_scan_vertical_scope()fallback that only runs when the header parse finds nothing, and_raci_tokens(). DIAA movedFC 6 / NO 2 / PC 2→FC 8 / NO 2; the builder itself was found healthy and untouched (9170271)
- W37 weekly plan (Mon 2026-09-07): three targets #59, #60, #61 opened. Its pre-slotting audit killed a hypothesis three previous plans had carried — that
dashboard.pygatingREJECTEDonobligation == "Shall"whilecheck_definitions.pyusesMustmade the verdict dead code suite-wide. Measured across all 76 reviewers: genuinely dead in 3 archives (all mbse), consistent in 38, noShallliteral at all in 11, and 24 where the obligation is carried elsewhere and which remain an open question. The batch pass collapsed into a three-line add on target 2 rather than occupying a slot (f95f4c9) - W38 DOCS roll (Fri 2026-09-18): this section; three example READMEs written against the archives —
hw-safety-reqs-builder,cs-goals-builder,dia-checklist-reviewer, plustraceability-matrix-checklist-reviewercarried from the skipped W37 roll. Check and tab counts re-derived from source at write time: dia reviewer 14 CR + 14 DIAA + 5 VA = 33 matches SKILL.md, cs-goals 8 tabs matches SKILL.md, hw-safety-reqs 10 tabs matches SKILL.md — no drift found this week, the first clean docs roll since W33. STATUS regenerated viascripts/regen_status.py— 76/76 paired, 8 fresh / 68 stale / 0 orphan (this commit)
_find_header_rowrequires ≥3 populated cells. Any two-column tab in any builder is invisible to its paired reviewer, which will then report a content gap rather than a read failure. Confirmed ondia-checklist-reviewer; almost certainly not unique to it. Candidate for a suite-wide sweep — the DIA instance lived 4.5 monthschain_contract_audit.pyis tab-level only. It reported 0 BREAK across all 16 chains for the entire time thetara-builder→cs-goals-builderpayload was corrupt, because it asserts a referenced tab exists and never that the columns line up. A column-level assertion is the highest-leverage tooling change currently available and would retro-catch this class suite-widecs-goals-builderhard-codesCybersecurity_Property = "Confidentiality"on all 15 CSGs though the STRIDE category determines it. Left alone: threading a new field through a payload schema three downstream skills read is wider than a single POLISH slotexamples/sample_dia_esc.jsonhas a real RACI defect — WP11 Safety Plan has two Accountable parties and no Responsible; WP12 Safety Case hasA,Rfor both. Now that the reviewer reads correctly these surface as genuine NOs. Needs a human call: correct the sample, or relax DIAA-4 to allow declared joint accountabilitycs-concept-builder02_CS_Goals_Echoheader/data column shift (MED) — spotted in passing on 2026-09-16, belongs to another skill, no issue opened because the queue tooling was not exercised this weektraceability-matrix-checklist-reviewer.skillships threescripts/__pycache__/*.pycfiles. Harmless at runtime, contaminating in an archive. Recorded not fixed — repacking a.skillis POLISH work. Worth a suite-wide__pycache__scan- No regression harness runs builder output through the paired reviewer's probe. Every defect fixed this week is of exactly that shape and every one survived months. Worth a PLAN target
W35 + W36 (2026-08-24 → 2026-09-05). Accumulating since v2026.08.W34 (2026-08-22). Shipped by the Saturday RELEASE run (2026-09-05). No v2026.08.W35 tag exists and none was backfilled — see RELEASES.md.
Two weeks in one section. The scheduled run died after 2026-08-27 and missed the W35 Friday DOCS roll and the W35 Saturday RELEASE, so no
v2026.08.W35tag exists and W35's four commits were never written up here. This DOCS run (2026-09-04) rolls both weeks. Grouped by intent, W35 first.
- autosar-bsw-config-builder — W35 Tue (2026-08-25, #54): builder no longer silently drops
memory_layoutandbus_interfacesfrom its input; the paired reviewer'sC005/C006are reachable again. Builder and reviewer repacked in one commit (84ea8b4) - autosar batch (5 archives) — W35 Wed (2026-08-26, #55): canonical 5,782-byte
recalc.pyrestored and the mis-generated## Skills inventoryheading corrected in the remaining five autosar archives. Repo-wide:recalc.py152/152 at one hash, bad heading 0/152 (656bdfe) - sysml reviewers (4 archives) — W35 Thu (2026-08-27, #56):
sysml-block-diagram-checklist-reviewercrashed on every input; one-line probe fix applied and the identical defect found and fixed in the other three sysml reviewers. Domain went from zero working reviewers to four (6e8cce6) - mbse reviewers (3 archives) — W36 Thu (2026-09-03, #58): all three mbse reviewers crashed at
dashboard.py:138(flat list passed where{tab: [(check, result)]}expected — the #56 class). One-line fix, verified by execution on each reviewer's own builder output. Domain went from zero working reviewers to three; the 2026-09-01 chain-scan's unresolvedStakeholder Needsrow settled by execution as not a break (da1082a)
- sysml-block-diagram-builder — W36 Wed (2026-09-02, #57): builder now accepts
--input <model.json>; the five placeholder blocks are gone from the generator (no--inputnow yields an empty template with a stderr warning — behaviour change, see Known issues); schema documented in SKILL.md with a brake-by-wireexamples/sysml-block-diagram-builder/sample_input.json. Paired reviewer'sBDD-12now validates both connector ends. This is the reference implementation for the W37 sysml batch (72eefda)
- traceability-matrix-builder + reviewer — W36 Tue (2026-09-01, #52, first
v&ventry): documented, nothing fixed. Builder ignores its input and emits five heading cells; reviewer certifies that empty workbook at 24/25 compliant because 22 of 25 checks are a hard-codedLCfall-through. Full finding indocs/skill-polish-log/traceability-matrix-builder.md; repair queued for W37 in dependency order (5660048) - mbse-system-context-builder — W36 Thu (2026-09-03, #58): first pass on the last never-entered domain. Builder populates five tabs correctly from input; seven of twelve tabs are single-cell placeholders and
stakeholder_needs/boundaryare silently dropped — filed HIGH indocs/skill-polish-log/mbse-system-context-builder.md, not fixed.examples/mbse-system-context-builder/(README + ACCsample_input.json) added (da1082a) - sysml-block-diagram-builder — W35 Thu (2026-08-27, #56): first sysml pass; two HIGH gaps documented and deliberately not repaired (no input path — since fixed under #57 — and reviewer check-count drift) (
6e8cce6)
- W35 weekly plan (Mon 2026-08-24): three targets #54, #55, #56; #56 opened (
6ed7fe5) - W36 weekly plan (Mon 2026-08-31): deferred #52 slotted first, #57 and #58 opened (
30044b2) - Monthly KPI report
docs/monthly/2026-08.md(2026-09-01): 29 commits, 17 archives touched, 3 releases; best month on every velocity measure (357da3d) - Builder-to-reviewer chain scan (2026-09-01, inside #52): all 76 pairs scanned for reviewer-probed sheet names the paired builder never emits. Confirmed breaks:
traceability-matrix,test-case-catalog(probesTest Case Inventory, builder emitsTest Cases),flexray-config(probesTitle, builder emitsTitle_Page). This falsifies the premise on whichdocs/chain-contract-audit.mdexcludes builder-to-reviewer pairs — #46 should be re-scoped, not closed - W36 DOCS roll (Fri 2026-09-04): this section; 4 reviewer-side example stubs added —
sysml-block-diagram-checklist-reviewer,mbse-system-context-checklist-reviewer,mbse-model-architecture-checklist-reviewer,mbse-requirements-allocation-checklist-reviewer— written against the archives, which surfaced the check-count drifts below. STATUS regenerated viascripts/regen_status.py— 76/76 paired, 10 fresh / 66 stale / 0 orphan (this commit)
- Behaviour change:
sysml-block-diagram-builderwith no--inputemits an empty template, not the old five placeholder blocks. Anything scripting the bare command should point atexamples/sysml-block-diagram-builder/sample_input.json - Reviewer check-count drift, counted from
check_definitions.pyon 2026-09-04:sysml-block-diagram-checklist-revieweradvertises 28 checks / 7 tabs, ships 15 / 3;mbse-system-context-checklist-revieweradvertises "25+", ships 6;mbse-model-architecture-checklist-revieweradvertises "30+", ships 8;mbse-requirements-allocation-checklist-revieweradvertises "28+", ships 6. Same class as the W33/W34 entries; awaiting the standing-item-9 decision on whether this task authors checks dashboard.pyin the mbse reviewers counts major issues asNO and obligation == "Shall"while the checks useMust/Should, soREJECTEDcan never fire — a{}workbook scoring 4 NO reportsCONDITIONAL APPROVAL. Grep suggests the same split exists elsewhere; repo-wide check queuedtraceability-matrixpair non-functional (above);test-case-catalogandflexray-configeach have a one-name sheet mismatch that may be a one-line fix — unconfirmed
W34 (2026-08-17 → 2026-08-22). Accumulating since v2026.08.W33 (2026-08-15). Shipped by the Saturday RELEASE run (2026-08-22).
- Repo-wide chain-contract audit — W34 target (Tue 2026-08-18, #46) after five consecutive weeks of being carried and never started. Landed only because Monday descoped it to builder-to-builder reads and slotted it first instead of last.
scripts/chain_contract_audit.py+docs/chain-contract-audit.mdcommitted; read-only, modifies no.skillfile. Found one silent BREAK —fmeda-builder's TSC reader — filed as #53 (5fa7109) - fmeda-builder — (Wed 2026-08-19, #53): the break the audit found, fixed the day after it was found. The TSC reader expected sheet names the current
tsc-builderno longer emits, so safety-mechanism allocations were silently absent from the FMEDA worksheet — no exception, no warning, the same failure shape as #43. Repo chain breaks now zero (ec8fc8e) - autosar-bsw-config-builder — W34 target (Thu 2026-08-20, #51): first pass on the largest never-polished domain. Gained
examples/sample_input.jsonand a realrecalc.py(restored byte-identical fromautosar-swc-builder, import verified); the## Skills inventoryheading corrected. Two defects found and deliberately not fixed in the same pass — filed as #54 and #55 rather than expanded into a refactor (15d4c8b)
- W34 weekly plan published (Mon 2026-08-17) — 3 targets for 3 polish days, down from W33's 4-for-3; #46 descoped and moved to first slot, #51 and #52 opened (
547ced0) - W34 DOCS roll (Fri 2026-08-21):
[Unreleased]filled with the three polish entries above; 2 reviewer-side example stubs added —fmeda-checklist-reviewerandautosar-bsw-config-checklist-reviewer, the paired reviewers of both builders touched this week. Written against the actual archives rather than the SKILL.md prose, which surfaced two more check-count drifts (below). STATUS regenerated viascripts/regen_status.py— 76/76 paired, 16 fresh / 60 stale / 0 orphan (this commit)
fmeda-checklist-reviewer—SKILL.mdsays "14 + 14 checks" and labels the Confirmation Review tab "14 generic doc-quality checks";check_definitions.pyregisters 18CRentries, so the true total is 36 (18 CR + 14 FMEDAA + 4 VA), not 28. Found during the Friday stub writeautosar-bsw-config-checklist-reviewer—SKILL.mdadvertises "~30 compliance checks" and thecheck_definitions.pydocstring repeats it; the file defines 9 (C001–C009). Off by more than 3×. Should fold into the #55 batch pass, which already opens this SKILL.md- Both are the same drift class as
cs-architecture-checklist-reviewer(42 → 43) and both require a.skillzip repack, i.e. POLISH-mode work
- #52 (
traceability-matrix-builder, v&v) was Thursday's slot and was displaced by #53. That was the right call — #53 was a live chain break found by Tuesday's own audit, and fixing it the next day is the audit paying for itself — but it means W34 landed 3 of 4 items, and the v&v domain is still never-polished. #52 should take the first polish slot in W35, the way #46 did in W34
- Four known defects shipped with v2026.08.W33 remain open and all require a
.skillzip repack:cdd-checklist-reviewerdanglingreferences/pointers;cs-architecture-checklist-reviewercheck count 42 → 43 and 14 → 15 VA; the two interactingsotif-analysis-checklist-reviewerprobe defects; and the 19 over-length sheet names indocs/sheet-name-length-audit.md. See the v2026.08.W33 section ofRELEASES.md
W33 (2026-08-10 → 2026-08-15). Accumulating since v2026.08.W32 (2026-08-08). Shipped by the Saturday RELEASE run (2026-08-15).
- STATUS pairing regression — the Thursday run (
08cf363) reported74 strict-paired, 2 naming-mismatch orphans, contradictingdocs/PAIRING_ALIASES.md, which states that any STATUS regeneration MUST honor the alias table. Root cause is the one Monday's plan already flagged (fbcf48e): "the STATUS generator is not version-controlled, so its fixes evaporate each run." Each day re-derived the pairing logic inline, so the alias handling was rebuilt from scratch — and lost. Fixed at the root by committingscripts/regen_status.py, which parses the alias table out ofdocs/PAIRING_ALIASES.mdinstead of hard-coding it; a new alias row is now picked up with no code change. Back to 76/76 paired, 0 orphan (this commit) - Two builders mis-domained as
safety—msa-gage-rr-builderandspc-chart-builderare Measurement System Analysis (Gage R&R) and SPC tooling, i.e. IATF 16949 quality, not ISO 26262 safety. Nine builders match none of the documented domain prefix rules and were being hand-assigned on each ad-hoc run; all nine are now pinned explicitly inregen_status.pyso the label is stable, with these two corrected (this commit)
- W33 weekly plan published (Mon 2026-08-10) — 4 targets: #48 stub tail, #43 reader rewrite, #46 audit, plus new issue #50 (
cdd-builder, first diagnostics target since W30) (fbcf48e) - W33 DOCS roll (Fri 2026-08-14): 3 reviewer-side example stubs added for the paired reviewers of skills touched this week —
cdd-checklist-reviewer,cs-architecture-checklist-reviewer,sotif-analysis-checklist-reviewer. Written against the actual archives rather than the SKILL.md prose, which surfaced two documentation drifts (below). STATUS regenerated (this commit)
- sotif-analysis-builder — W33 target (Tue 2026-08-11, #48): tabs 03/07/09 ran 39/35/32 characters against Excel's hard 31-character limit; openpyxl warns but writes through, so shipped workbooks were malformed. Shortened and verified (12 tabs, 0 over-limit). Second-order fix: the reviewer's first-keyword-hit probe was reading tab 03 (function list) as the performance-limitation table, which the rename resolves. Also restored
cdd-builder's promised sample fixture and dropped three aspirationalreferences/entries. Newdocs/sheet-name-length-audit.mdrecords 19 over-length names across 10 skills (386191e) - cs-architecture-builder — W33 target (Wed 2026-08-12, #43):
cs_concept_reader.pyrewritten against the tabscs-concept-builderactually emits, with old names kept as fallbacks; silent empty parse now raises instead of returning nothing. Verified by execution — 0/0/0 before, 2/6/1 after (b9c8aef) - cs-concept-builder — (Thu 2026-08-13, #44): re-verified byte-clean; an EOCD-aware rescan found 0 truly corrupt members across all 152 archives, correcting the earlier 13-archive figure, which was scanner false positives on xlsx zip members nested inside the skill bundles (
08cf363)
cdd-checklist-reviewer—SKILL.mdinstructs the user to readreferences/methodology.mdandreferences/cdd_checks.mdand lists both under "Files in this skill"; neither exists in the archive, which contains onlySKILL.md+scripts/. Same dangling-reference class as9b4660ecs-architecture-checklist-reviewer—SKILL.mdclaims "42 standard checklist requirements" and "14 verification checks";check_definitions.pydefines 15va_*checks, so the true total is 43. Both the description and the tab table are one shortsotif-analysis-checklist-reviewer— the two interacting probe defects from386191eremain open: the insufficiency keyword never matches (count is permanently 0) and the header row is counted as data- All four require repacking a
.skillzip, which is POLISH-mode work; queued for next week
W32 (2026-08-03 → 2026-08-08). Accumulating since v2026.08.W31 (2026-08-01). Shipped by the Saturday RELEASE run (2026-08-08).
- aspice-process-evidence-builder — W32 target (Tue 2026-08-04, #45):
performance_records,quantitative_metricsandimprovementsinput keys now render into tabs 06/07/08; the hard-coded metric list survives only as a named empty-input fallback, and the status JSON gained per-section counts so silently dropped input shows up in smoke tests. Closes the remaining third of #45 (f00f1b2) - a2l-builder — W32 target (Wed 2026-08-05, #47):
normalize_members()added so comma-stringmembersno longer report a character count in Record Layouts / Group Hierarchy;conversion_methods.descriptiondocumented in the docstring schema (the worksheet already read it). Both input shapes smoke-tested, 13/13 sheets (6fab2ce) - safety-program-risk-register-builder — W32 target (Thu 2026-08-06, #49): first pass on the program-mgmt domain — SKILL.md corrected from a claimed 9 tabs to the true 8, three phantom files dropped from "Files in this skill", the dangling
references/risk_categories.mdpointer removed from the References tab, and a Known-limitations block added for the Risk Trend / Escalation Log empty scaffolds (9b4660e)
- W32 weekly plan published (Mon 2026-08-03) — no new issues opened; the week carries the five still-open targets #43, #45, #46, #47, #49 (
fcc4c0b) - W32 DOCS roll (Fri 2026-08-07):
[Unreleased]updated with the three W32 polish entries; 3 example README stubs added —safety-program-risk-register-builderplus the paired reviewersa2l-checklist-reviewerandaspice-process-evidence-checklist-reviewer; STATUS regenerated (this commit)
- STATUS.md regenerated (76/76 paired, 12 fresh / 64 stale / 0 orphan)
- RELEASES.md appended with the v2026.08.W32 section
- CHANGELOG
[Unreleased]rolled into this dated section docs/AUTONOMOUS_LOG.mdupdated with the RELEASE-mode entry
W31 (2026-07-27 → 2026-08-01). Accumulating since v2026.07.W30 (2026-07-25). Shipped by the Saturday RELEASE run (2026-08-01).
- aspice-gap-analysis-builder — W31 target (Tue 2026-07-28, #45): the required-but-never-read
assessment.xlsxCLI arg removed and the docs made honest about what the generator actually consumes (67c9072) - aspice-improvement-plan-builder — W31 target (Thu 2026-07-30, #45): same ignored-arg class — the unread
gap_analysis.xlsxarg removed, docs corrected to match behaviour (299cdad)
- W31 weekly plan published (Mon 2026-07-27) — targets: cs-concept→cs-architecture reader rewrite (#43, carried), ASPICE ignored-arg/scaffold wiring (#45, carried), repo-wide chain-contract audit (#46, carried), sotif-analysis first pass (#48, new), safety-program-risk-register first pass (#49, new) (
57238bf) - W31 DOCS roll (Fri 2026-07-31):
[Unreleased]updated with W31 entries; 2 reviewer-side example stubs added for the paired reviewers of skills touched this week; STATUS regenerated (e749617)
- STATUS.md regenerated (76/76 paired, 10 fresh / 66 stale / 0 orphan)
- RELEASES.md appended with the v2026.08.W31 section
- CHANGELOG
[Unreleased]rolled into this dated section docs/AUTONOMOUS_LOG.mdupdated with the RELEASE-mode entry
W30 (2026-07-20 → 2026-07-25). Accumulating since v2026.07.W29 (2026-07-18). Shipped by the Saturday RELEASE run (2026-07-25).
- cs-concept-builder — W30 target (Tue 2026-07-21, #44): 3,361 trailing NUL bytes stripped from the generator; same pass surfaced 13 more corrupt archives repo-wide (
691f614) - batch NUL-strip, 13 archives — (Wed 2026-07-22): the 13 corrupt archives found Tuesday cleaned in one batch; 9 generators compile again; xlsx false-positive findings corrected (
8a855cf) - a2l-builder — W30 target (Thu 2026-07-23, #47): axis-points crash fixed, trigger description strengthened, 13-tab output verified (
661c4bb)
- W30 weekly plan published (Mon 2026-07-20) — targets: cs-concept→cs-architecture chain repair (#43), cs-concept NUL-strip (#44), ASPICE bundle wiring (#45), repo-wide chain-contract audit (#46), a2l polish (#47) (
a0c3d91) - W30 DOCS roll (Fri 2026-07-24):
[Unreleased]updated with W30 entries; 11 example README stubs added for skills touched this week — first reviewer-side stubs, per the touched-this-week rule; STATUS regenerated (this commit)
- STATUS.md regenerated (76/76 paired, 8 fresh / 68 stale; aspice-assessment-builder aged past the 30-day line)
- RELEASES.md appended with the v2026.07.W30 section
- CHANGELOG
[Unreleased]rolled into this dated section docs/AUTONOMOUS_LOG.mdupdated with the RELEASE-mode entry
W28–W29 (from Mon 2026-07-06). Accumulating since v2026.07.W27 (2026-07-04). The W28 Fri DOCS (2026-07-10) and Sat RELEASE (2026-07-11) runs did not fire, so this section spans two weeks; W28 entries were back-filled by the W29 Fri DOCS roll (2026-07-17). Shipped by the Saturday RELEASE run (2026-07-18).
- ppap-package-builder — W28 weekly-target pass (Tue 2026-07-07, #39); embedded fix: over-limit sheet title
05_Element3_Engineering_Approval(32 chars) renamed to05_Element3_Eng_Approval; two chain-break findings logged (tab-09 name >31 chars vs reviewer probe; Element-18 status-tab probe mismatch) (90288f8) - item-definition-builder — W28 weekly-target pass (Wed 2026-07-08, #38); resolved via the alias-documentation path —
docs/PAIRING_ALIASES.mdcreated as the canonical builder↔reviewer alias registry; smoke test green, no.skilledits (26bb385) - aspice-improvement-plan-builder — W29 polish pass (Wed 2026-07-15); smoke test green (11 tabs), findings logged: required
gap_analysis.xlsxCLI arg never read (ignored-arg chain-break, same class as aspice-gap-analysis 2026-07-01) and tabs 04–09 are header-only scaffolds; no.skilledits (26ee19a) - aspice-process-evidence-builder — W29 polish pass (Wed 2026-07-15); clean data point for the ASPICE ignored-arg sweep (input JSON genuinely consumed, tabs 00–05 populated); scaffold-only tabs 06–08 finding logged; no
.skilledits (696e912) - cs-architecture-builder — W29 polish pass (Thu 2026-07-16); smoke test green (12 tabs, 14 CSR allocations), forward chain to reviewer exact (10/10 tab names), but high-severity silent upstream chain-break found: cs-concept-builder output tabs/headers don't match this builder's
cs_concept_reader.py(a real concept workbook reads back zero CSRs); coordinated fix deferred, no.skilledits (8304e58)
- W28 weekly plan published (Mon 2026-07-06) — targets: item-def pairing (#38), ppap pairing (#39), a2l (#40), sotif (#41), risk-register (#42) (
a431b86) docs/PAIRING_ALIASES.md— canonical alias registry for the two name-mismatched pairs: item-definition-builder ↔ item-def-checklist-reviewer, ppap-package-builder ↔ ppap-checklist-reviewer (26bb385)- W29 DOCS roll (Fri 2026-07-17):
[Unreleased]back-filled with W28 entries (missed 2026-07-10 DOCS run) and updated with W29 polish entries; example README stubs added for ppap-package-builder, aspice-improvement-plan-builder, aspice-process-evidence-builder, and cs-architecture-builder; STATUS regenerated (this commit)
- STATUS.md regenerated (76/76 paired, 4 fresh / 72 stale; dia/fmeda/fsc/hsi/item-definition reclassified other → safety)
- RELEASES.md appended with the v2026.07.W29 section
- CHANGELOG
[Unreleased]rolled into this dated section docs/AUTONOMOUS_LOG.mdupdated with the RELEASE-mode entry
W27 (Mon 2026-06-29 → Sat 2026-07-04, ISO week 27). Shipped by the Saturday RELEASE run.
- apqp-plan-builder — W27 polish pass (Tue 2026-06-30); smoke-tested, polish-log entry appended, STATUS regenerated; no
.skilledits (2df3374) - item-definition-builder — W27 polish pass (Wed 2026-07-01); reviewed, naming-mismatch finding logged to skill-polish-log, STATUS regenerated; no
.skilledits (01f38c5) - aspice-gap-analysis-builder — W27 polish pass (Thu 2026-07-02); smoke-tested, ignored-argument finding logged to skill-polish-log, STATUS regenerated; no
.skilledits (260c03f)
- W27 weekly plan published (Mon 2026-06-29) — targets: odx, autosar-bsw-config, mbse-context, sysml-state, traceability (
8847b29) - June 2026 monthly KPI report published (Wed 2026-07-01) (
35be610) - W27 DOCS roll (Fri 2026-07-03):
[Unreleased]updated with W27 polish + docs entries; example README stubs added for apqp-plan-builder, item-definition-builder, and aspice-gap-analysis-builder; STATUS regenerated (this commit)
- STATUS.md regenerated (76/76 paired, 3 fresh / 73 stale; generated-on date advanced to 2026-07-04)
- RELEASES.md appended with the v2026.07.W27 section
- CHANGELOG
[Unreleased]rolled into this dated section docs/AUTONOMOUS_LOG.mdupdated with the RELEASE-mode entry
W26 (Mon 2026-06-22 → Sat 2026-06-27, ISO week 26). Shipped by the Saturday RELEASE run.
- 5-why-builder — W26 polish pass (Tue 2026-06-23); example README stub added and polish-log entry appended; no
.skilledits (107d490) - communication-matrix-builder — W26 polish pass (Wed 2026-06-24); trigger phrasing broadened in description, polish-log entry added, STATUS regenerated (
9389a13) - aspice-assessment-builder — W26 polish pass (Thu 2026-06-25); embedded fix: capability-level rating rule corrected to ISO/IEC 33020; polish-log entry added, STATUS regenerated (
fd66c47)
- W26 weekly plan published (Mon 2026-06-22) — targets: 5-why, aspice-assessment, cs-concept, dia, communication-matrix (
e2162f8) - W26 DOCS roll (Fri 2026-06-26):
[Unreleased]updated with W26 polish entries; example README stubs added for aspice-assessment-builder and communication-matrix-builder; STATUS regenerated (57dd9ba)
- STATUS.md regenerated (76/76 paired, 3 fresh / 73 stale; generated-on date advanced to 2026-06-27)
- RELEASES.md appended with the v2026.06.W26 section
- CHANGELOG
[Unreleased]rolled into this dated section docs/AUTONOMOUS_LOG.mdupdated with the RELEASE-mode entry
Consolidates the unreleased W24 + W25 work; the W24 Saturday release (2026-06-13) did not fire, so these entries ship under the W25 tag. Commit messages carry "W24" labels (one-week drift vs. ISO week 25).
- sotif-analysis-builder — W24 #20 review pass (Tue 2026-06-09); polish-log entry added; no
.skilledits (a6df28d) - safety-case-builder — W24 #21 review pass (Wed 2026-06-17); polish-log entry added; no
.skilledits (2bd0c19) - control-plan-builder — polish pass (Thu 2026-06-18); embedded fix: sample-count in JSON example corrected 18 → 15 to match the 15 controlled characteristics; polish-log entry added (
54e2559)
- W24 weekly plan published — targets: classifier extract, sotif, safety-case, control-plan, comm-matrix (
2623e14) - W24 triage pass — label refresh, #12 typed, #17 delta confirmed, STATUS regen (
d8b19ef) - W25 DOCS roll (Fri 2026-06-19):
[Unreleased]backfilled with W24 entries; example README stubs added for control-plan-builder and safety-case-builder; STATUS regenerated (this commit)
- cs-concept-builder — W23 #1 polish pass (Tue 2026-06-02); W20 findings re-confirmed against unchanged archive, polish-log appended; no
.skilledits (description rewrite outside autonomous allowlist) (5b4b006) - tara-builder — W23 #2 polish pass (Wed 2026-06-03); new polish-log entry with 1 medium-severity finding (Auto-rating Heuristics internal contradiction) + 3 low-severity items; no
.skilledits (22d6409) - fmeda-builder — W23 #3 polish pass (Thu 2026-06-04); new polish-log entry with 2 medium-severity findings (Classification ladder unreachable branch; SMvDU non-standard acronym) + 3 low-severity items including 100× unit-convention suspicion in JSON example; no
.skilledits (d6afa26)
- W23 weekly plan published — targets: cs-concept, aspice-assessment, classify_skill.py extraction (#10), fmeda, tara; carryovers #4 and #5 referenced in place, fresh issues #15 and #16 opened (
3af1f6b) - W23 example README stubs added for skills touched this week (cs-concept-builder, tara-builder, fmeda-builder) (this commit)
- W23 CHANGELOG roll: 3 polish entries + 3 docs entries staged under
[Unreleased](this commit) - May 2026 monthly KPI report published — 23 commits, 24 distinct skills touched, 3 weekly releases, 100% paired ratio, 7.9% example coverage; SOTIF domain flagged zero-touch in May (
f8e940f) - v2026.06.W23 weekly snapshot tagged; RELEASES.md updated with W23 section; STATUS regenerated
- uds-services-builder — W22 #1 polish pass; small fixes applied in-skill, findings logged to skill-polish-log, STATUS regenerated (
9850780) - dfmea-builder — W22 #5 polish pass; findings logged to skill-polish-log, STATUS regenerated (
04482aa) - hara-builder — W22 #2 polish pass; findings logged to skill-polish-log, STATUS regenerated (
ef78172)
- W22 weekly plan published — targets: uds-services, hara, cs-concept, aspice-assessment, dfmea; carryover items from W20/W21 absorbed and 1 new tracking issue (#12) opened (
973c075) - W22 example README stubs added for skills touched this week (uds-services-builder, hara-builder, dfmea-builder) (
f9e63f9) - STATUS.md regen aliasing applied for
item-definition↔item-def-checklist-reviewerandppap-package↔ppap-checklist-reviewerso suite stays at 100% paired (f9e63f9) - v2026.05.W22 weekly snapshot tagged; RELEASES.md updated with W22 section
- autosar-swc-builder — W21 #8 polish pass; description fix applied, STATUS regenerated (
387bbcd) - dbc-builder — W21 #7 polish pass; findings logged to skill-polish-log, STATUS regenerated (
76b2fff) - 8d-problem-solving-builder — W21 #6 polish pass; findings logged to skill-polish-log, STATUS regenerated (
e8ff3b2)
- W21 weekly plan published — targets: 8d carryover, dbc, autosar-swc, uds-services, classifier-freeze (
3320c23) - CHANGELOG.md introduced;
examples/<skill>/README.mdstubs added for skills touched in W21 (1a5ca80) - v2026.05.W21 weekly snapshot tagged; RELEASES.md updated
- hara-builder, cs-concept-builder, aspice-assessment-builder — W20 polish passes; findings logged to skill-polish-log
- W20 weekly plan published; RELEASES.md created; first autonomous-cadence weekly snapshot tagged