mirror of
https://github.com/hanzoai/datastore.git
synced 2026-10-30 14:48:37 +00:00
Companion to the prior rename commit (`e140a0ac655`), which only
moved the file but didn't catch the content edits I'd made. This
commit drops the actual Slack-isms inside both files:
- `SKILL.md`: 6 cross-references updated (`slack_templates.md` โ
`report_templates.md`); "Make a Slack summary of Keeper stress
runs" โ "Give me a summary report of Keeper stress runs";
"Slack message" / "Slack post" framing in the deliverable table,
references list, Example 3, and the closing "output discipline"
paragraph all replaced with neutral wording. The frontmatter
`description` (the trigger surface) drops "Slack-ready summary"
in favour of "summary report".
- `references/report_templates.md`: title and section heading
("Slack message templates", "Slack rendering tips") become
"Monospace report templates" and "Monospace rendering tips";
the `#keeper-dev` channel framing in Template 1's heading
becomes "release-readiness or broad audience"; the "Slack's
monospace handles them well" rendering tip becomes
"handles consistently across terminal, GitHub PR comments, and
chat code blocks".
Template content (the actual ASCII boxes, placeholders, emoji
section markers) is unchanged. The skill is invoked via the
Claude Code CLI; the templates produce monospace text that
renders the same in any monospace consumer.
8.4 KiB
8.4 KiB
Monospace report templates
Three templates depending on report scope. Pick whichever matches the audience. Each renders cleanly in any monospace context โ terminal output, code-fenced markdown (PR comments, design docs), team-chat code blocks, etc.
Template 1 โ Full validation report (release-readiness or broad audience)
Use this for comprehensive validation reports. Replace placeholders in {{double-curly}}.
๐ Keeper Stress-Test Validation โ {{n_prs}} PRs reviewed
Window: {{date_from}} โ {{date_to}} ยท {{n_nightlies}} nightly stress runs ยท {{n_scenarios}} scenario/backend combos
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
SHIP-READINESS โ every PR landed clean
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โข 0 server-side failures across all stress runs
(KeeperCommitsFailed = 0, KeeperSnapshot{Creations,Applys}Failed = 0,
KeeperRequestRejectedDueToSoftMemoryLimit = 0)
โข 0 regressions above the ยฑ3-5% measurement noise floor
โข Per-PR smoke stress (3 scenarios) ran clean for every Keeper-touching PR before merge
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ PERFORMANCE GAINS โ what these PRs delivered (median-of-3 baseline โ current)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ Read throughput
โ {{TABLE: scenario | default ฮ% | rocks ฮ% }}
โ
โโ Read tail latency (p99)
โ {{TABLE: scenario | default ฮ% | rocks ฮ% }}
โ
โโ Write throughput
โ {{summary: flat / improved / regressed and by how much}}
โ
โโ Write tail latency
โ {{TABLE: scenario | default ฮ% | rocks ฮ% }}
โ
โโ Memory (Keeper-reported state, not cgroup)
{{e.g. write-multi[default]: KeeperApproximateDataSize 5.04 โ 4.83 GB (-4.2%)}}
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ PERF COHORT โ N PRs that drove the gains
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
No single PR moved metrics by >5% individually. The improvements are
cumulative across many small changes:
โโ Lock contention reduction
โ {{PR list with one-line descriptions}}
โ
โโ Read-path parallelism / fast-path
โ {{PR list}}
โ
โโ Memory footprint reduction
โ {{PR list}}
โ
โโ Hot-path microoptimisations
{{PR list}}
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
CORRECTNESS / ๐ง TOOLING / ๐งน REFACTOR / โช NET-ZERO PRS
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{{categorized lists}}
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ COUNTS
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{{counts table summing to total}}
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ CAVEATS
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โข Per-PR attribution at <5% rps precision is below the noise floor.
โข {{any known confound that landed in window โ see known_confounds.md}}
โข Best-day nightlies show larger gains than median-of-3; +X% headline is conservative.
๐ฏ Bottom line:
{{2-3 line summary based on actual deltas}}
Template 2 โ Tight version (for general engineering channels)
Use this for quick status updates. Single paragraph + one-liner per category.
Keeper PRs validation โ {{n_prs}} PRs, {{verdict_one_word}}.
Window: {{date_from}} โ {{date_to}}.
๐ Read paths: +X% rps median, -Y% read p99 on heavy scenarios
โ๏ธ Writes: throughput flat (within ยฑ3-5% noise); -Z% write p99 on default backend
๐ง Memory: +/- N% Keeper-state on {{scenario}} (cgroup deltas excluded โ those are bench artifacts)
โ
0 server-side failures across {{n_nightlies}} nightlies ร {{n_scenarios}} scenarios
๐ Top contributors: {{top 3-4 PRs}}
๐ง Plus N correctness fixes + M tooling features
Full report: {{path}}
Template 3 โ One-liner (for status / standup)
โ
Keeper {{n_prs}}-PR validation: shipped clean. +{{X}}% read rps, -{{Y}}% write p99, 0 server-side failures across {{n_nightlies}} nightlies. Report in {{path}}.
Filling in templates
The skill's pipeline produces these artefacts from which to extract values:
| Need | Source artefact | Field |
|---|---|---|
| Headline rps ฮ% | cumulative_gains_summary.tsv |
rps_pct per read-no-fault[default] etc. |
| Headline p99 ฮ% | cumulative_gains_summary.tsv |
read_p99_pct, write_p99_pct |
| Per-PR table | per_pr_summary.tsv + pr_to_nightly.tsv |
one row per PR |
| Server-failure count | merged_metrics.tsv |
filter on *Failed_max > 0 across CommitsFailed_max, SnapshotApplysFailed_max, SnapshotCreationsFailed_max, RejectedSoftMemLimit_max (should be empty). The raw staging/prom_gauges.tsv exposes these as rows with name = ClickHouseProfileEvents_Keeper*Failed* and value in max_value; filter there if you haven't built merged_metrics.tsv yet. |
| Nightly count | merged_metrics.tsv |
count(distinct sha8) |
| Scenario+backend count | merged_metrics.tsv |
count(distinct (scenario,backend)) |
| Memory verification | both container.tsv AND prom_gauges.tsv (look at KeeperApproximateDataSize) |
confirm Keeper-reported memory matches the claimed ฮ |
Monospace rendering tips
- Wrap the whole block in triple backticks for monospace alignment
- Prefer ASCII box drawing (
โ,โ,โ,โ) over Unicode tables โ handles consistently across terminal, GitHub PR comments, and chat code blocks - Keep line width โค 95 chars to avoid wrapping in narrower viewers
- Don't use markdown tables (
|---|---|) inside code blocks; they render as literal text, not as a table - Emojis at section markers (โ ๐ ๐ โ๏ธ ๐ง ๐งน โช โ ๏ธ ๐ฏ) are fine and improve scannability