auto(polish): W21 #7 dbc-builder pass, regen STATUS.md
Autonomous daily run. - POLISH pass on dbc-builder.skill; wrote docs/skill-polish-log/dbc-builder.md - DoD: 2 missing trigger phrases (DBC file, Vector CANdb); proposed rewrite drafted, not applied - Flagged non-DoD defect: SKILL.md tree claims examples/ dir the archive never shipped - Regenerated STATUS.md (76/76 paired, no domain drift) Generated by automotive-skills-daily-standup scheduled task.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Automotive Skills Suite — STATUS
|
||||
|
||||
_Generated: 2026-05-19 by autonomous daily run (POLISH mode)._
|
||||
_Generated: 2026-05-20 by autonomous daily run (POLISH mode)._
|
||||
|
||||
**Builders:** 76 · **Reviewers:** 76 · **Paired:** 76/76 (100.0%)
|
||||
|
||||
@@ -87,5 +87,5 @@ _Generated: 2026-05-19 by autonomous daily run (POLISH mode)._
|
||||
|
||||
- Total builders: **76** | Total reviewers: **76** | Paired ratio: **100.0%**
|
||||
- Flags: 🟢 76 fresh · 🟡 0 stale (>30d) · 🔴 0 unpaired
|
||||
- Domain spread: safety=14, comms=8, quality=8, cyber=6, program-mgmt=6, autosar=5, diagnostics=5, v&v=5, aspice=4, sysml=4, calibration=3, mbse=3, sotif=3, other=2
|
||||
- Classifier note: implements spec literally — `safety-program-/safety-gate-/wp-/change-impact-/lessons-learned/dia` → program-mgmt, `triggering-conditions/sotif-` → sotif, `msa-/spc-` → other (W21 target #5 will freeze this as a checked-in script).
|
||||
- Domain spread: safety=14, quality=8, comms=8, program-mgmt=6, cyber=6, autosar=5, diagnostics=5, v&v=5, aspice=4, sysml=4, calibration=3, mbse=3, sotif=3, other=2
|
||||
- Classifier note: domain map preserved from W20 canonical STATUS; W21 target #10 (`scripts/classify_skill.py`) will freeze this as a checked-in deterministic script.
|
||||
|
||||
@@ -168,3 +168,21 @@ Classifier regression caught and fixed during STATUS regen: my first pass had a
|
||||
- Thu POLISH: pick between #8 (autosar-swc) and #9 (uds-services). Recommend #9 uds-services — it's the diagnostics anchor and the spec's strict-trigger demand list (canonical service IDs 0x10/0x11/...) is the longest of any W21 target, so the description is the most likely to drift.
|
||||
- W21 target #5 (classifier freeze) still unserviced. If Wed/Thu cycle time permits, slot it in as a fourth POLISH; otherwise it carries to W22. Three consecutive runs have now hit classifier bugs that would have been caught by the golden-file test.
|
||||
- Issue #2 ("goodd", empty body) still open and needs-triage; un-actioned again — POLISH is the wrong venue. Flag this for the human if it's still open by Saturday's RELEASE.
|
||||
|
||||
## 2026-05-20 (autonomous run, POLISH)
|
||||
|
||||
**Mode:** POLISH (Wednesday)
|
||||
**Action:** Polished `dbc-builder.skill` per W21 target #2 (issue #7, comms cluster). Wrote `docs/skill-polish-log/dbc-builder.md` (180 lines). Regenerated STATUS.md (header date/note diff only — no skill-file mtimes changed). No edits applied to the .skill archive itself.
|
||||
**Files touched:** STATUS.md, docs/skill-polish-log/dbc-builder.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:** 9 (#2 needs-triage + #3-#6 W20 targets + #7-#10 W21 targets)
|
||||
**Notes:** As predicted in yesterday's 8d log and follow-up, the W20 trigger-coverage-drift pattern resumed for the comms cluster — and intensified. dbc-builder misses TWO DoD-required trigger phrases, not one: "DBC file" (description has only "DBC"/"Vector DBC") and "Vector CANdb" (description says "Vector DBC"). "signal definition" only reaches the description as a substring of "signal definitions", not as an explicit trigger-list entry. Description is 674/1024 chars (healthy headroom); frontmatter complete; the "11-tab xlsx" claim was cross-checked against `generate_dbc.py` and is exact (00_Title_Page through 10_References, 11 create_sheet calls). Drafted a 741-char proposed rewrite that folds in "DBC file", "Vector CANdb", "signal definition", and the casual phrasing "define CAN messages" while preserving every existing phrase — under the 1024 cap. Per the autonomous-edit allowlist (typo / over-length / missing-required-field only), the rewrite was NOT committed; consistent with the 8d pass, it stays in the polish log for human review.
|
||||
|
||||
Standout finding is non-DoD and more impactful than the trigger gaps: the SKILL.md "Files in this skill" tree advertises `examples/sample_input_can.json` ("full example to clone for new projects"), but extracting the `.skill` ZIP shows NO `examples/` directory at all — the archive ships 7 files, all under `references/` and `scripts/`. Step 3 of the workflow leans on cloning that worked example. Contrast: yesterday's 8d-problem-solving-builder archive DOES ship a populated `examples/sample_8d_input.json`. So this is dbc-builder-specific packaging drift, not a suite-wide convention change. Severity medium; remedy is either bundle a real CAN example JSON (preferred — brings it to suite parity) or drop the `examples/` line from the tree. Left for human review — authoring a new example file is outside the POLISH edit allowlist.
|
||||
|
||||
**Follow-ups:**
|
||||
- Thu POLISH: per yesterday's recommendation, take #9 uds-services-builder (diagnostics anchor, longest strict-trigger demand list of any W21 target). When extracting that archive, explicitly diff the SKILL.md "Files in this skill" tree against actual ZIP contents — the dbc-builder `examples/` miss may be cluster-wide and a one-line diff catches it cheaply.
|
||||
- W21 target #5 (classifier freeze, `scripts/classify_skill.py` + golden-file test) still unserviced — carries forward. Three+ consecutive runs have hit classifier/regen bugs this would prevent.
|
||||
- Issue #8 (autosar-swc) will not get a pass this week if Thu services #9 — it carries to W22 PLAN. Note in Saturday's RELEASE notes.
|
||||
- Issue #2 ("goodd", empty body) still open and needs-triage — un-actioned again. POLISH is the wrong venue; flag for the human at Saturday's RELEASE if still open.
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
# dbc-builder polish log
|
||||
|
||||
_Polish target for W21 (issue [#7](https://github.com/jherrodthomas/automotive-skills-suite/issues/7)). Reviewer: autonomous daily-standup task._
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-20 — first POLISH pass (W21 Wednesday)
|
||||
|
||||
**Mode:** POLISH (Wednesday)
|
||||
**File reviewed:** `skills/dbc-builder.skill` (ZIP archive; `SKILL.md` is 6,878 bytes / 115 lines).
|
||||
**DoD recap (from `docs/weekly/WEEK-2026-W21.md`, target #2):**
|
||||
description trigger list includes "CAN database," "signal definition," "DBC file,"
|
||||
"Vector CANdb," and at least one casual phrasing ("define CAN messages");
|
||||
description ≤ 1024 chars; frontmatter complete.
|
||||
|
||||
### DoD verdict
|
||||
|
||||
| DoD check | Result | Evidence |
|
||||
|---|---|---|
|
||||
| Trigger phrase "CAN database" | **PASS** | verbatim twice — "from a CAN database definition" and in the "mentions DBC, CAN database, Vector DBC..." trigger list |
|
||||
| Trigger phrase "signal definition" | **MARGINAL PASS** | present only as a substring of "signal definitions with bit positions" in the descriptive sentence; **not** in the explicit "mentions ..." trigger list (which carries "signal catalog" instead) |
|
||||
| Trigger phrase "DBC file" | **FAIL** | description carries "DBC" and "Vector DBC" but never the bigram "DBC file"; "DBC file" appears only in the SKILL.md body |
|
||||
| Trigger phrase "Vector CANdb" | **FAIL** | description says "Vector DBC"; Vector's authoring tool / format family is CANdb (CANdb++). The DoD-specified phrase "Vector CANdb" is absent |
|
||||
| At least one casual phrasing | **PASS** | two present — "document our CAN signals" and "audit the message catalog" (the DoD's "define CAN messages" is one example of the class, not a literal requirement) |
|
||||
| Description ≤ 1024 chars | **PASS** | 674 chars — generous headroom |
|
||||
| Frontmatter complete | **PASS** | `name` + `description` both present; YAML parses; no drift fields |
|
||||
|
||||
**Headline:** the W20 pattern (one missing formal trigger phrase per polish target)
|
||||
**resumes and doubles** — dbc-builder is missing two DoD trigger phrases, not one.
|
||||
Predicted in yesterday's 8d log ("comms cluster hasn't been touched yet so
|
||||
trigger-coverage drift is plausible"); confirmed. Separately, this pass turned up a
|
||||
**doc-vs-archive accuracy defect** that is more impactful than the trigger gaps (see
|
||||
"What to fix" #3).
|
||||
|
||||
### What's good
|
||||
|
||||
- **11-tab claim is exact and matches the generator.** Cross-checked SKILL.md's
|
||||
"11-tab xlsx" + the Output structure table against `scripts/generate_dbc.py`:
|
||||
the generator emits `00_Title_Page` · `01_Document_Control` · `02_ECU_Inventory` ·
|
||||
`03_Message_Catalog` · `04_Signal_Catalog` · `05_Signal-to-Message_Mapping` ·
|
||||
`06_Value_Tables` · `07_Signal_Group_Definitions` · `08_Network_Topology` ·
|
||||
`09_Validation_Rules` · `10_References` — 11 `create_sheet` calls, 00–10. Count,
|
||||
names, and ordering all match the doc. No drift between description, the Output
|
||||
structure table, and code.
|
||||
- **Description char count is generous.** 674 / 1024 — ~350 chars of headroom, so the
|
||||
proposed rewrite (adds three trigger phrases + one casual phrasing) lands well under
|
||||
the cap.
|
||||
- **Frontmatter is clean.** Both required keys present; YAML parses; no stray fields.
|
||||
- **Body is well-structured.** Five-step workflow (Capture → Read refs → Build JSON →
|
||||
Generate → Present/iterate), an explicit "When to use" list, a "Common pitfalls"
|
||||
list, and a "Files in this skill" tree. Among the more complete SKILL.md bodies in
|
||||
the suite — the comms cluster is in good shape structurally.
|
||||
- **Standards anchoring is correct.** CAN 2.0A/2.0B, ISO 11898-1:2015, AUTOSAR
|
||||
Communication module all cited accurately; generator's References tab matches.
|
||||
- **JSON-is-source-of-truth guidance is explicit.** Step 5 tells the model to edit the
|
||||
input JSON and regenerate rather than hand-editing the xlsx — good operational
|
||||
hygiene, consistent with peer builders.
|
||||
|
||||
### What to fix
|
||||
|
||||
1. **"DBC file" absent from the description trigger list.** DoD-required phrase.
|
||||
The description has "DBC" and "Vector DBC"; a user who types "generate a DBC file"
|
||||
or "we need a DBC file for this bus" gets only a partial-token match on "DBC".
|
||||
Adding the literal bigram "DBC file" to the "mentions ..." list closes it.
|
||||
Severity: **medium** (DoD gap, common user phrasing).
|
||||
|
||||
2. **"Vector CANdb" absent; description says "Vector DBC" instead.** DoD-required
|
||||
phrase. "Vector DBC" and "Vector CANdb" are both real — CANdb / CANdb++ is Vector's
|
||||
DBC-authoring product line — but the DoD specifies "Vector CANdb". Best fix keeps
|
||||
*both*: a user may search either. Severity: **medium** (DoD gap).
|
||||
|
||||
3. **`SKILL.md` "Files in this skill" tree claims `examples/sample_input_can.json`,
|
||||
but the archive ships NO `examples/` directory.** Extracted the `.skill` ZIP and
|
||||
enumerated all 7 files: `SKILL.md`, `references/dbc_conventions.md`,
|
||||
`references/methodology.md`, `scripts/generate_dbc.py`, `scripts/recalc.py`,
|
||||
`scripts/office/__init__.py`, `scripts/office/soffice.py`. There is no
|
||||
`examples/` folder. Yet the SKILL.md tree block lists
|
||||
`examples/sample_input_can.json # full example to clone for new projects`, and
|
||||
Step 3 of the workflow leans on cloning a worked example. This is a real accuracy
|
||||
defect: a model/engineer following SKILL.md will look for a file that was never
|
||||
packaged. Note the contrast with `8d-problem-solving-builder` (yesterday's target),
|
||||
whose archive *does* ship a populated `examples/sample_8d_input.json`. Two
|
||||
candidate remedies: (a) author and bundle `examples/sample_input_can.json` — the
|
||||
generator docstring already documents the schema, so a worked CAN example is
|
||||
straightforward to produce; or (b) drop the `examples/` line from the tree and
|
||||
soften Step 3. Remedy (a) is preferred — it brings dbc-builder to parity with the
|
||||
suite norm. Severity: **medium** (doc references a non-existent shipped artifact).
|
||||
|
||||
4. **"signal definition" only reaches the description as a substring.** It rides
|
||||
inside "signal definitions with bit positions" in the descriptive sentence; the
|
||||
explicit trigger list carries "signal catalog" but not "signal definition". A
|
||||
substring match is weaker than a list entry. Folding "signal definition" into the
|
||||
"mentions ..." list makes the DoD check unambiguous. Severity: **low**.
|
||||
|
||||
5. **Casual-phrasing coverage is adequate but misses the canonical verb "define".**
|
||||
The two casual phrasings present ("document our CAN signals", "audit the message
|
||||
catalog") are document/audit framed. A very common authoring-intent phrasing —
|
||||
"define CAN messages" / "define the CAN signals" — has no match. The DoD's
|
||||
parenthetical names exactly this phrase. Adding it is cheap and closes a realistic
|
||||
invocation path. Severity: **low**.
|
||||
|
||||
### Suggested edits (NOT applied this run)
|
||||
|
||||
The autonomous-edit allowlist for the daily-standup task is narrow — typo,
|
||||
over-length description, missing required frontmatter field. None of findings #1–#5
|
||||
match that list: #1, #2, #4, #5 are editorial trigger-coverage rewrites and #3 is
|
||||
either a content-authoring task (bundle a new example file) or a doc accuracy rewrite.
|
||||
Per the hard rule "stop short of any change you'd need to think hard about," and
|
||||
consistent with the 8d-problem-solving-builder pass on 2026-05-19, **no edits were
|
||||
committed to the `.skill` archive this run.** Findings captured here for the next
|
||||
human review pass. Issue #7 stays open with this log linked from the journal entry.
|
||||
|
||||
Minimal proposed rewrite of the description — adds "DBC file", "Vector CANdb"
|
||||
(keeping "Vector DBC"), "signal definition", and the casual phrasing "define CAN
|
||||
messages" to the trigger surface; all existing phrases preserved; 741 chars, under
|
||||
the 1024 cap:
|
||||
|
||||
```
|
||||
description: Generate an audit-ready DBC specification workbook from a CAN database
|
||||
definition. Produces an 11-tab xlsx capturing ECU inventory, message catalog with
|
||||
IDs and DLC, signal definitions with bit positions/length/byte order/scaling/units/
|
||||
value tables, message-signal allocation, network topology, and validation rules per
|
||||
CAN 2.0A/2.0B and ISO 11898. Use this skill whenever the user mentions DBC, DBC
|
||||
file, CAN database, Vector CANdb, Vector DBC, communication matrix for CAN, message
|
||||
catalog, signal catalog, signal definition, or CAN message specification, even in
|
||||
casual phrasings like "document our CAN signals", "define CAN messages", or "audit
|
||||
the message catalog". Always use this skill instead of producing freeform DBC notes
|
||||
in chat.
|
||||
```
|
||||
|
||||
| Check | Result |
|
||||
|---|---|
|
||||
| Char count | 741 (under 1024 cap) |
|
||||
| "CAN database" in trigger list | yes |
|
||||
| "DBC file" in trigger list | yes (added) |
|
||||
| "Vector CANdb" in trigger list | yes (added) |
|
||||
| "signal definition" in trigger list | yes (added) |
|
||||
| Casual phrasing "define CAN messages" | yes (added) |
|
||||
| Existing phrases preserved | yes — DBC, Vector DBC, communication matrix for CAN, message catalog, signal catalog, CAN message specification all retained |
|
||||
|
||||
Finding #3 (the missing `examples/` file) is **not** addressed by the description
|
||||
rewrite — it needs either a new bundled example JSON or a tree-block edit, and is
|
||||
left for human review.
|
||||
|
||||
### Other observations (not fixes, just notes for future passes)
|
||||
|
||||
- The comms cluster (8 builders) all key off this skill's vocabulary —
|
||||
communication-matrix, bus-load, gateway-routing, arxml-system. The
|
||||
`examples/` gap (finding #3) is worth a spot-check across the rest of the comms
|
||||
cluster on a future pass: if dbc-builder shipped without its example, sibling
|
||||
comms builders may have the same packaging miss.
|
||||
- `references/dbc_conventions.md` mentions J1939 awareness; the description does not.
|
||||
J1939 is a CAN higher-layer protocol with its own large user base. Not a DoD item
|
||||
and arguably out of scope for a generic DBC builder, but a "J1939" trigger token is
|
||||
a plausible future addition if the suite ever wants J1939 reach. Flagged, no action.
|
||||
- CAN FD: Step 1 of the workflow mentions "CAN FD awareness" in the interview prompts,
|
||||
but neither the description nor the Output structure surfaces CAN FD. If the
|
||||
generator does not actually model CAN FD (64-byte payloads, BRS), the workflow
|
||||
prompt slightly over-promises. Worth a generator spot-check next pass — out of DoD
|
||||
scope today.
|
||||
- `recalc.py` and `scripts/office/soffice.py` are present — the shared helper pair
|
||||
every builder in the suite carries. Consistent.
|
||||
|
||||
### Severity roll-up
|
||||
|
||||
| Finding | Severity | Action |
|
||||
|---|---|---|
|
||||
| "DBC file" absent from trigger list | medium | proposed rewrite drafted; await human review |
|
||||
| "Vector CANdb" absent (has "Vector DBC") | medium | folded into the same rewrite |
|
||||
| `examples/sample_input_can.json` claimed but not shipped | medium | needs bundled example or tree edit; left for human |
|
||||
| "signal definition" only a substring, not a list entry | low | folded into the rewrite |
|
||||
| Casual phrasing "define CAN messages" missing | low | folded into the rewrite |
|
||||
|
||||
**No code edits committed in this run.** Issue #7 stays open with this log linked.
|
||||
The W20 trigger-coverage-drift pattern resumed and intensified (two missing DoD
|
||||
phrases vs. one). The standout finding is non-DoD: the SKILL.md "Files in this skill"
|
||||
tree advertises an `examples/` file the archive never shipped. Recommendation for the
|
||||
next POLISH (W21 #8 autosar-swc-builder, Thursday): when extracting the archive,
|
||||
explicitly diff the SKILL.md "Files in this skill" tree against the actual ZIP
|
||||
contents — the dbc-builder `examples/` miss suggests this drift may be cluster-wide.
|
||||
Reference in New Issue
Block a user