Skip to content

Commit a26393e

Browse files
hyperpolymathclaude
andcommitted
fix(hypatia-rules): align HYP-S005 state_keys with real schema
Seam check against boj-server's STATE.a2ml revealed the canonical state keys HYP-S005 cites ([external-targets], [issues-fed-back], [field-signal]) don't exist yet — only legacy [dogfooding-status] and [grade-b-status] do. [grade-b-status] in practice mixes internal capabilities with external targets (the boj-server audit's six items were all internal), so it cannot be a trustworthy B-eligibility signal on its own. Adds a @schema_conventions block naming the canonical sections, notes which are established vs pending adoption, and preserves [grade-b-status] as a fallback read with an explicit re-classification caveat. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 2792612 commit a26393e

1 file changed

Lines changed: 39 additions & 3 deletions

File tree

hypatia-rules/crg-overclaim-detector.a2ml

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,28 +96,64 @@ B:
9696
requires:
9797
- state_key: "external-targets"
9898
in_file: ".machine_readable/6a2/STATE.a2ml"
99-
reason: "B requires 6+ diverse external targets tested"
99+
reason: "B requires 6+ diverse external targets tested (canonical key)"
100+
fallback_key: "grade-b-status"
101+
fallback_caveat: "legacy key; entries are often internal capabilities and must be re-classified"
100102
- state_key: "issues-fed-back"
101103
in_file: ".machine_readable/6a2/STATE.a2ml"
102-
reason: "B requires an issues-fed-back pipeline"
104+
reason: "B requires an issues-fed-back pipeline (canonical key)"
103105
evidence_of:
104106
- "6+ diverse external-target entries, each with identity + date + outcome"
105107
- "external-issue label in the repo's issue tracker with >=1 closed issue"
106108
- "feedback log or changelog entry attributing a change to an external target"
107109
negative_signal:
108110
- "internal-capability items (QUIC, multinode, etc.) do NOT count as external targets"
111+
- "legacy [grade-b-status] entries that describe internal infrastructure must be moved"
109112

110113
A:
111114
requires_all_of: "B"
112115
requires:
113116
- state_key: "field-signal"
114117
in_file: ".machine_readable/6a2/STATE.a2ml"
115-
reason: "A requires real-world external feedback confirming value"
118+
reason: "A requires real-world external feedback confirming value (canonical key)"
116119
evidence_of:
117120
- "multi-source external usage confirmation (testimonials, third-party writeups, papers citing)"
118121
- "no harm signal: no unresolved safety / correctness incidents in last 90 days"
119122
@end
120123

124+
@schema_conventions:
125+
# Canonical STATE.a2ml section names this rule expects. Repos that pre-date
126+
# these conventions should migrate. `[grade-b-status]` is retained as a
127+
# fallback read for B but its entries must be re-classified — the boj-server
128+
# 2026-04-18 audit demonstrated that internal-capability items under
129+
# [grade-b-status] do not satisfy v2.0 B ("6+ diverse external targets").
130+
sections:
131+
- name: "[dogfooding-status]"
132+
grade: C
133+
shape: "key-value of capability -> \"done | in-progress | planned — <evidence>\""
134+
established: true
135+
- name: "[external-targets]"
136+
grade: B
137+
shape: "key-value of target-identity -> \"<date> — <test outcome> — <contact or URL>\""
138+
established: false
139+
notes: "at least 6 diverse entries; targets must be outside the hyperpolymath estate"
140+
- name: "[issues-fed-back]"
141+
grade: B
142+
shape: "key-value of issue-id -> \"<date> — <external reporter> — <resolution>\""
143+
established: false
144+
notes: "links to closed issues on the repo's tracker carrying an external-reporter label"
145+
- name: "[field-signal]"
146+
grade: A
147+
shape: "key-value of signal-source -> \"<date> — <confirmation type> — <reference>\""
148+
established: false
149+
notes: "multi-source; e.g. testimonial, third-party writeup, paper citation"
150+
- name: "[grade-b-status]"
151+
grade: B (legacy)
152+
shape: "freeform — mixes internal + external in practice"
153+
established: true
154+
notes: "superseded by [external-targets]; entries need re-classification per audit"
155+
@end
156+
121157
@action:
122158
emit_signal: compliance.finding.new
123159
message_template: >-

0 commit comments

Comments
 (0)