Commit 22519e5
proof(SafeGit): DISCHARGE forbiddenRefCharsAnchor via Refl (proven#90) (#102)
Yet another "OWED comment was overly cautious" discharge in the
[proven#90 Phase 3](#90)
campaign.
## What it does
\`\`\`idris
public export
forbiddenRefCharsAnchor :
forbiddenRefChars = [' ', '~', '^', ':', '?', '*', '[', '\\\\', '\\x7F']
forbiddenRefCharsAnchor = Refl
\`\`\`
## Why it works
\`forbiddenRefChars\` is \`public export\` in SafeGit.idr L24-26 with
this exact list literal as its body. The elaborator unfolds the LHS to
the RHS for \`Refl\`. No "Char-list reduction" is needed — both sides
are the same literal after the standard \`public export\` unfolding.
## Out of scope
The other 2 SafeGit OWEDs have real blockers:
- \`emptyRefNameInvalid\` — String-FFI (\`unpack\`, \`length\` on
\`""\`)
- \`refNameExtracts\` — auto-implicit elaboration
Refs #90
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent ebcf192 commit 22519e5
1 file changed
Lines changed: 7 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
17 | 20 | | |
18 | | - | |
| 21 | + | |
19 | 22 | | |
| 23 | + | |
20 | 24 | | |
21 | 25 | | |
22 | 26 | | |
| |||
0 commit comments