WORK-535
ID:WORK-535Status:ready

Report a rune's actual universal attributes in refrakt reference

refrakt reference card prints:

Priority:highComplexity:simpleMilestone:v0.32.0Source:SPEC-125

Criteria completion

Criteria completion: 0 of 8 (0%) checked; tracking started on Sep 6, no incremental history yet0%25%50%75%100%Sep 6Sep 6

Tracking started Sep 6 — check back for trends.

Acceptance Criteria

  • The blanket "available on every rune" claim is gone
  • The universal attributes reported for a rune are the ones its schema actually carries, read from the schema rather than from a static list
  • --format json reports the same narrowed set, so machine consumers agree with the human output
  • refrakt reference list and refrakt reference dump are consistent with the single-rune output
  • No theme config is loaded to produce it
  • A test pins the correction against a rune with known-inapplicable attributes, so the false claim cannot return
  • AGENTS.md (or whatever dump --check guards) is regenerated if its content shifts
  • npm run build and the full repo suite pass

Approach

Worth deciding rather than defaulting: does an inapplicable attribute vanish from the output entirely, or appear marked as unavailable?

Vanishing is simplest and matches the schema. But the structure contract already records why an axis is unavailable on a rune ("this rune declares no body section"), and surfacing that is more useful to someone wondering why reading is missing from card when it is on textblock. Reference output is a teaching surface, so the reason is probably worth showing — but it should be a choice, not an accident of implementation.

Blocked by

  • WORK-534

References

  • SPEC-125 — Phase 3
  • WORK-527 — the contract entries carrying the reasons