Skip to content

Delta validation reads only the first line of a requirement body (false SHALL/MUST errors on hard-wrapped text) #1310

Description

@andrulli85

Version: 1.5.0

Repro: a delta spec requirement whose body is hard-wrapped markdown, with SHALL appearing after the first physical line:

### Requirement: Barge-in takes the turn
When the talk key is pressed while an agent response is in flight, the loop
SHALL stop playback immediately, ...

openspec validate fails with:

✗ [ERROR] voice-loop/spec.md: ADDED "Barge-in takes the turn" must contain SHALL or MUST

openspec show <change> --json --deltas-only confirms the parsed requirement text is only the first physical line — every hard-wrapped body is truncated there, so the SHALL/MUST check (and any consumer of the JSON text) sees one line of an N-line requirement.

Scope note: openspec archive copies the markdown content, so the ARCHIVED specs keep the full multi-line body — the truncation appears to affect validation and the JSON view only. Still, the same requirement is valid or invalid depending on where the author's editor wraps a line.

Expected: requirement text spans until the next ####/### heading (or blank-line rule, but consistently), so hard-wrapped prose validates and round-trips.

Workaround: keep each requirement body on one long line.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions