mopac-pdf v0: markdown to beautiful PDFs via digest-pinned typst
Go CLI that turns the markdown currency of this stack (Redmine notes, Discourse posts, briefing output) into typeset PDFs: two embedded typst templates (report with title page/TOC/headers, dense brief), front-matter (title/subtitle/author/date/classification/template), GFM tables, and bar charts rendered in pure Go (go-chart) from fenced chart data blocks. Engine is a prebuilt typst 0.15.1 container pinned by digest and run --network none; PDF bytes to stdout or -o. Exit codes 0/1/2. All dev in docker (dev.sh/Makefile); unit tests + golden typst fixtures plus a host-side smoke against the real engine container. Generated with Crush Assisted-by: Crush:glm-5.2
This commit is contained in:
Vendored
+69
@@ -0,0 +1,69 @@
|
||||
#import "/template.typ": report
|
||||
#show: report.with(
|
||||
title: "Q3 Operations Briefing",
|
||||
subtitle: "Infrastructure & Platform Status",
|
||||
author: "reachableceo",
|
||||
date: "2026-08-29",
|
||||
classification: "TSYS INTERNAL",
|
||||
)
|
||||
|
||||
= Executive Summary
|
||||
|
||||
Platform operations ran *cleanly* through Q3 with _zero_ customer-facing incidents. The migration called out in `docs/MIGRATION-projects.md` completed two weeks ahead of schedule. Cost per compute hour fell 31% against plan.
|
||||
|
||||
Key outcomes for the quarter:
|
||||
|
||||
- All five product lines shipped their roadmap commitments
|
||||
- Mean time to recovery dropped from 42 minutes to 9 minutes
|
||||
- The briefing pipeline now delivers the 0630 CST morning brief on time
|
||||
|
||||
= Financial Overview
|
||||
|
||||
Revenue tracked ahead of plan every month of the quarter; margin expanded on mix shift toward managed services.
|
||||
|
||||
#table(
|
||||
columns: (1fr, 1fr, 1fr, 1fr),
|
||||
inset: 6.5pt,
|
||||
stroke: 0.5pt + rgb("#c9d3dd"),
|
||||
align: (left, right, right, right),
|
||||
table.header(
|
||||
table.cell(fill: rgb("#24425c"))[#text(fill: white, weight: "bold", size: 9pt)[Quarter]],
|
||||
table.cell(fill: rgb("#24425c"))[#text(fill: white, weight: "bold", size: 9pt)[Revenue]],
|
||||
table.cell(fill: rgb("#24425c"))[#text(fill: white, weight: "bold", size: 9pt)[Cost]],
|
||||
table.cell(fill: rgb("#24425c"))[#text(fill: white, weight: "bold", size: 9pt)[Margin]],
|
||||
),
|
||||
[Q1],
|
||||
[\$120K],
|
||||
[\$80K],
|
||||
[33%],
|
||||
[Q2],
|
||||
[\$180K],
|
||||
[\$90K],
|
||||
[50%],
|
||||
[Q3],
|
||||
[\$241K],
|
||||
[\$101K],
|
||||
[58%],
|
||||
[Q4 (fcst)],
|
||||
[\$260K],
|
||||
[\$110K],
|
||||
[58%],
|
||||
)
|
||||
|
||||
|
||||
== Revenue trajectory
|
||||
|
||||
#figure(image("chart-1.png", width: 78%), caption: [Revenue by quarter (\$K)])
|
||||
|
||||
= Risks & Follow-ups
|
||||
|
||||
+ Cloud contract renewal lands 10/15; finance needs the usage forecast by
|
||||
|
||||
9/20
|
||||
|
||||
+ The offstage VM pair still runs single-node Redis for quota state
|
||||
|
||||
#quote(block: true)[Recommendation: approve the HA Redis line item before the renewal window.]
|
||||
|
||||
Nothing in this brief is export-controlled; distribution is TSYS staff only.
|
||||
|
||||
Reference in New Issue
Block a user