sweep the last typographic punctuation out of the components and data files
build-and-deploy / build (push) Failing after 14m21s

This commit is contained in:
2026-08-17 23:21:38 +10:00
parent 3cfd59a464
commit 43188589ab
35 changed files with 159 additions and 159 deletions
+12 -12
View File
@@ -1,17 +1,17 @@
// Grouped capability matrix NO percentage bars / ratings / logo walls.
// Grouped capability matrix - NO percentage bars / ratings / logo walls.
// Driven entirely by this file; the Skills section renders whatever is here.
export type SkillGroup = {
title: string;
// Short framing line for the group.
blurb: string;
/** Proof-point lines rendered between the blurb and the chips fills the
/** Proof-point lines rendered between the blurb and the chips - fills the
* tall tiles (hero / full) so the tile reads as substance, not whitespace. */
points?: string[];
items: string[];
/** Bento tile size "hero" = 2×2 flagship · "wide" = 2×1 · "full" = whole row · default 1×1. */
/** Bento tile size - "hero" = 2×2 flagship · "wide" = 2×1 · "full" = whole row · default 1×1. */
span?: "hero" | "wide" | "full";
/** Accent flavour "magenta" marks security-flavoured tiles. */
/** Accent flavour - "magenta" marks security-flavoured tiles. */
flavor?: "magenta";
/** Eyebrow label rendered on the hero tile. */
flag?: string;
@@ -24,10 +24,10 @@ export const skills: SkillGroup[] = [
flag: "FLAGSHIP",
blurb: "Serving vision and language models on real hardware at the edge.",
points: [
"Fail-closed computer vision on single-node OpenShift probes that catch a silently dead model, not just a dead pod.",
"One GPU, two jobs a single card time-sliced between LLM serving and video transcode, with neither noticing.",
"Fail-closed computer vision on single-node OpenShift - probes that catch a silently dead model, not just a dead pod.",
"One GPU, two jobs - a single card time-sliced between LLM serving and video transcode, with neither noticing.",
"Vendor video-analytics stacks re-platformed as first-class Kubernetes workloads, not appliances.",
"Local models behind an OpenAI-compatible gateway swap the backend, keep every client.",
"Local models behind an OpenAI-compatible gateway - swap the backend, keep every client.",
],
items: [
"NVIDIA GPU Operator",
@@ -56,7 +56,7 @@ export const skills: SkillGroup[] = [
},
{
title: "Automation & IaC",
blurb: "Single-touch deployments removing the manual step, not documenting it.",
blurb: "Single-touch deployments - removing the manual step, not documenting it.",
items: [
"Ansible / AWX",
"PowerShell (PowerCLI)",
@@ -97,11 +97,11 @@ export const skills: SkillGroup[] = [
{
title: "Observability & Ops",
span: "full",
blurb: "Knowing the system is healthy and the GPUs with it.",
blurb: "Knowing the system is healthy - and the GPUs with it.",
points: [
"Fleet metrics by remote-write every cluster ships to one Prometheus, GPUs included (DCGM / Intel Xe).",
"Alerts that reach a phone and mean it tuned until silence means healthy, not unmonitored.",
"A backup is a rumour until a restore drill proves it drills are scheduled, not aspirational.",
"Fleet metrics by remote-write - every cluster ships to one Prometheus, GPUs included (DCGM / Intel Xe).",
"Alerts that reach a phone and mean it - tuned until silence means healthy, not unmonitored.",
"A backup is a rumour until a restore drill proves it - drills are scheduled, not aspirational.",
],
items: [
"Prometheus",