Skip to content

CLI JSON omits identity triple + structured EVID fields — read-only consumers can't render them #397

Description

@explosivebit

Context

@forgeplan/web is a read-only CLI proxy (shells forgeplan <cmd> --json, rule: no MCP). It built PROB-060 slug-canonical identity display + a "weakest evidence" risk view assuming the CLI returns the identity triple + per-EVID structured fields. An audit vs forgeplan 0.33.0 found they are not in CLI JSON.

Findings (verified on 0.33.0)

  • list --json items expose only id, kind, status, title.
  • get --json exposes slug (nullable, frontmatter) but not id_display / id_canonical / predicted_number / assigned_number. predicted_number/assigned_number exist only as markdown frontmatter; id_display is a rendered value; id_canonical is not a real field.
  • per-EVID congruence_level / evidence_type live only inside each EVID body under ## Structured Fields — not in get/score --json.
  • The triple partially exists in the MCP DTO (id_display = raw id, id_canonical = lowercased id), but read-only consumers using the CLI never see it → CLI/MCP contract asymmetry.

Impact

Any read-only consumer (web viewer, dashboards, CI) cannot render the canonical display id, the pre-merge ? draft marker, or rank evidence by CL/type without an N+1 get fan-out + fragile markdown parsing. In @forgeplan/web this left the entire PROB-060 display path dormant (degrades to raw id) and forced FR-007 (weakest-evidence with CL/type) to ship degraded.

Request

Add an identity/structured projection to CLI JSON (a --render flag is fine):

  • list/get emit id_display (rendered, ? for pre-merge) + id_canonical.
  • get/score emit per-EVID congruence_level + evidence_type (promote the ## Structured Fields to JSON).

Related: #394 (same identity model), #353 / #383 (CLI↔MCP asymmetry), #374 (--json parity).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions