Skip to content

feat(0044-amend): optional failure title, lifted into the index — v0.1.4 - #9

Merged
siddhant573 merged 1 commit into
LambdaTest:mainfrom
siddhant573:feat/failure-title
Jul 7, 2026
Merged

feat(0044-amend): optional failure title, lifted into the index — v0.1.4#9
siddhant573 merged 1 commit into
LambdaTest:mainfrom
siddhant573:feat/failure-title

Conversation

@siddhant573

Copy link
Copy Markdown
Collaborator

Summary

Adds an optional title to failure records (amending decision 0044) — a short defect-style name for the failure, typically the investigation verdict's bug title. Triage queues and dashboards need a label, not just a status: rca.root_cause is a sentence, title is a name.

  • Step record (failure.schema.json): optional top-level titletype: string, minLength: 1. Open string, never cross-checked. No new required fields, no new diagnostic codes.
  • Index lift (finalize): FailureRow gains title?; lifted verbatim when the record's title is a non-empty string — the same mirror-never-validate posture as the triage_status lift. Absent/empty/non-string → omitted from the row (no title: null noise). Sort and totals unchanged.
  • Index schema (failure-index.schema.json): documents the optional title row property.
  • Validator: no new checks — title is not part of the row/path-agreement cross-check, and a record-vs-row mismatch is impossible on a freshly finalized pack since finalize generates the index.
  • Docs: amendment note in 0044-failure-records.md; design/contract/04-L1.md Failures section shows title at both levels.
  • Release: version → 0.1.4 + CHANGELOG entry. Purely additive — records without a title index exactly as before.

Test plan

  • TDD: 3 new tests written first (red), then implementation (green)
    • finalize lifts title verbatim; omits when absent/empty/non-string; titleless records index fine
    • step schema accepts title, rejects empty
    • index schema accepts a lifted title row property, rejects empty
  • fixtures/0.1/L1/valid/failure-full carries the title at both levels — conformance passes in directory and sealed-zip forms, no other fixture changed
  • npx vitest run — 130/130 · npx tsc --noEmit clean

After merge: cut GitHub Release 0.1.4 (tag must match package.json) — the release workflow publishes @testmuai/evidence-cli@0.1.4 to npm; kane-cli can then bump to ^0.1.4.

🤖 Generated with Claude Code

A step-level failure.yaml MAY carry a short defect-style `title` (open
string, never cross-checked — no new codes, no new required fields).
finalize lifts it verbatim into the run-level index row when it is a
non-empty string, same mirror-never-validate posture as the triage_status
lift; absent/empty titles are omitted (no title: null noise). Triage
queues and dashboards get a name, not just a status.

Amendment note in decision 0044; contract page updated; failure-full
fixture carries the title at both levels; CHANGELOG + version 0.1.4.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@siddhant573
siddhant573 merged commit 4182812 into LambdaTest:main Jul 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant