Install
$ agentstack add skill-benchflow-ai-skillsbench-ebcdic-overpunch-decoding ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
EBCDIC overpunch (zoned decimal sign)
On classic mainframe tapes, signed numeric amounts are stored as N-1 digits followed by a single byte where the high-order bits carry the sign and the low-order bits carry the final decimal digit. When the file is converted to ASCII / printable form, the last byte is rendered as a letter (or a brace).
Sign and digit table
| Char | Sign | Last digit | | Char | Sign | Last digit | |------|------|------------|-------|------|------|------------| | { | + | 0 | | } | − | 0 | | A | + | 1 | | J | − | 1 | | B | + | 2 | | K | − | 2 | | C | + | 3 | | L | − | 3 | | D | + | 4 | | M | − | 4 | | E | + | 5 | | N | − | 5 | | F | + | 6 | | O | − | 6 | | G | + | 7 | | P | − | 7 | | H | + | 8 | | Q | − | 8 | | I | + | 9 | | R | − | 9 |
Positive zero is {; negative zero is }. Both decode to magnitude 0 — keep the sign attached so downstream arithmetic doesn't drop a debit's polarity.
A common defect
The positive half of the table ({, A–I) is the visible-looking case and is often handled first. The negative half (}, J–R) looks like ordinary letters and is easy to forget. If only the positive letters are decoded, debits and credits both come through as positive — the totals look plausible but signs are wrong on every negative row.
Decoding pattern (placeholder names)
Split the field into the leading digits and the overpunch byte, look up the sign + units digit from the table above, recombine, then build the signed working-storage value. The shape below uses generic identifiers — substitute your own field names:
*> placeholders: digits-buf holds the recombined unsigned digits,
*> op-char is the overpunch byte, sgn / lo-digit are scratch.
split raw-amount into (leading-digits, op-char)
EVALUATE op-char
WHEN "{" sgn := "+" lo-digit := 0 *> positive zero
WHEN "A" THRU "I" sgn := "+" lo-digit := 1..9
WHEN "}" sgn := "-" lo-digit := 0 *> negative zero
WHEN "J" THRU "R" sgn := "-" lo-digit := 1..9
END-EVALUATE
digits-buf := leading-digits with lo-digit appended
signed-value := (sgn = "-") ? -digits-buf : +digits-buf
The decisive point is that the EVALUATE must cover both halves of the table — the negative letters } and J–R as well as the positive {/A–I. The exact PIC clauses and MOVE targets depend on your own record layout; what matters is that no overpunch character falls through undecoded.
Some shops use COBOL's SIGN IS TRAILING SEPARATE / SIGN IS TRAILING clauses with native EBCDIC zoned data, but on ASCII-converted tapes the characters above are literally what you read — explicit lookup is the clearest decode.
Verification tip
Pick one positive and one negative row from the tape, decode by hand using the table, and reconcile against an expected total. If only the positive side works you will see plausible magnitudes but inverted aggregate signs.
References
- IBM Enterprise COBOL Language Reference — "Zoned decimal" / "USAGE
DISPLAY" with SIGN IS … clauses.
- IBM Knowledge Center: "Signed zoned decimal numbers" (overpunch table for
positive { A B C D E F G H I and negative } J K L M N O P Q R).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: benchflow-ai
- Source: benchflow-ai/skillsbench
- License: Apache-2.0
- Homepage: https://www.skillsbench.ai
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.