generated from holm.tools.public/repo-template
🚀 🤖 Sammel: oui-decode aus fremden Sessions nutzbar machen (toolref statt API) #3
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
holm.tools.public/oui-decode#3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
██░░░░░░░░█████████░███████░░░████████░░██████░░░░Ausgangslage
Bedarf:
oui-decodewird wiederkehrend in anderen Sessions (MikroTik-Kontext) und von Kollegen gebraucht. Naheliegender Reflex war ein API-Endpunkt.Verworfen: JS-basierte statische API
Eine rein statische, JS-basierte API ist nur aus einem JS-Runtime konsumierbar (Browser
fetch/import,node).curlund RouterOS/tool fetchbekommen das HTML-Gerüst, nicht das Ergebnis — ohne Server führt kein JS die Auflösung aus.Der einzige serverlose Weg zu echten HTTP-URLs wäre ein vorgenerierter statischer JSON-Baum (
api/v1/oui/EC1C5D.json, ~39.5k Dateien) oder Shard-Bundles (256 Dateien +jqbeim Konsumenten). Holm-Entscheidung 2026-08-12: verworfen — 39.5k Fälle vorzurendern ist für ein Tool dieser Größe unverhältnismäßig. Damit entfällt der API-Layer ersatzlos; Web-App und CLI bleiben wie sie sind.Stattdessen: toolref-Registrierung
Der eigentliche Schmerz ist nicht der fehlende HTTP-Endpunkt, sondern dass fremde Sessions nicht wissen, dass und wie es das Tool gibt. Das löst
toolref— Syntax-Lookup per SQLite statt Quell-Lektüre.Dabei fielen zwei Blocker auf, die die Registrierung erst wertlos bzw. unmöglich machten. Teile:
-h/--helpliteral im Dispatch, damit toolref die gerenderte Hilfe erntet statt des rohenusage()-Heredocs mit${C_*}-Platzhaltern~/bin/mac-vendorbricht (db.js im Symlink-Dir gesucht, Executable-Bit fehlte)Definition of Done
mac-vendor countüber~/bin/mac-vendorliefert39516toolref mac-vendorgibt lesbare, ANSI-freie Syntax ohne${…}-Reste auspemmikan.mdfestgehalten, damit sie nicht in sechs Wochen erneut aufgemacht wird