Skip to content

cop cycle path: cycles.jsonl schema check — fixes[] must be objects with id #5736

Closed as not planned

Description

@noahgift

Refs #5510. Operator ruling 5, verbatim (relayed by aprender-57): "Writer defect: your cycles.jsonl emits fixes[] as strings, which breaks loops.sh. Emit {id,...} objects. Add a cycles.jsonl schema check to your CI."

Loss

A malformed cycles.jsonl row (a fixes[] entry that is a bare string, not an object) is accepted on the cop cycle path, so downstream readers fail or silently skip the row.

Change

Two parts: (1) the writer emits fixes[] as {id,...} objects, never strings; (2) add a schema check to CI: every fixes[] element must be an object with an id. A violating row is rejected with the row number and the offending element.

Falsifiers (test first)

  • A row whose fixes is ["abc"]: the check FAILs and names the element.
  • A row whose fixes is [{"id":"x"}]: PASS.
  • A row with fixes: [] or no fixes: PASS (empty is valid).
  • A row with {"fixes":[{"note":"no id"}]}: FAIL (object without id).

Scope

One check, one ticket, ≤200 changed lines. Owner aprender-w5018. Work on a branch; no PR until the open count is ≤10 (operator freeze, drafts counted).

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions