The problem is not “another blog.” The problem is MelTuc ships living in six apps.
ShipLog is the automated build journal: scripts/run_shiplog.py captures events from
GHT, RRV, NLG, BRI, AIF, PDH. Kronos job shl_auto_capture at 07:00 hits
localhost /shl/api/cron/auto-capture for today’s new GHT repos. One row per title
per day. Manual CRUD, milestone toggle, bulk-delete manuals 1–100, streaks, analytics,
CSV/JSON export. Public changelog /shl/changelog and Atom
/shl/changelog.xml — landing, changelog, and feed are public; the dashboard is
not. Milestones push into nlg_content_pool. Settings: auto-capture,
public-by-default, notify-telegram (tokens retired → treat as off unless you re-enable).
Notification Center reads Herald; ShipLog is the ship diary, not the error bus.
Capture can be cron, a button, or a typed manual. Dedup is title+day, not a second git log.
Not GitHub Releases. Not Herald alerts.
/shl/changelog is supposed to be world-readable. The dashboard is not.
Most-active app/day, top-5 apps. Login-gated JSON too.
Herald/Notification Center are the error bus. ShipLog is what went out the door.
Bulk-delete is manual-only. Cron is localhost. Telegram setting may no-op.
If you need PagerDuty, use Herald. If you need a public factory log, this is it.
Cards match README routes.
Dashboard needs login. Changelog does not.
Open ShipLogRequires a MelTuc account. Create one free.
Automated build journal — ships, deploys, milestones; public changelog + Atom. Dashboard login for the full timeline. Health stays cheap. If this page disagrees with the signed-in app, trust the app — the product contract and tests enforce that rule.