From f3f2a40c2a2518bcd262d5f119db6f1078b2e04a Mon Sep 17 00:00:00 2001 From: Klappy Date: Sun, 10 May 2026 23:02:55 +0000 Subject: [PATCH] fix(writings): repair software-virtues-revisited frontmatter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - exposure: published → public (only valid values per canon schema: nav | public | draft | hidden | internal; the renderer's homepage filter silently drops anything else, which is why this essay was invisible despite being on main since 2026-05-10) - voice: klappy → first_person (not in voice enum either) - backfill discovery block: type, slug, public, hook, description, author, subtitle, og/twitter — without these the homepage card rendered empty per the doc-listing API response Body untouched. Pulled hook/description from author's own opening blockquote, not invented. Canon: klappy://canon/constraints/frontmatter-validation-before-merge klappy://canon/meta/frontmatter-schema --- writings/software-virtues-revisited.md | 33 +++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/writings/software-virtues-revisited.md b/writings/software-virtues-revisited.md index fdfb3e4..335b55f 100644 --- a/writings/software-virtues-revisited.md +++ b/writings/software-virtues-revisited.md @@ -1,14 +1,41 @@ --- uri: klappy://writings/software-virtues-revisited title: "Software Virtues, Revisited — What I Wrote in 2018, What I Stand By, and What I Owed the Reader" +subtitle: "What I Wrote in 2018, What I Stand By, and What I Owed the Reader" +author: "Klappy" +type: essay +public: true audience: public -exposure: published +exposure: public tier: 3 -voice: klappy +voice: first_person stability: stable -tags: ["writings", "essay", "software-virtues", "quality-attributes", "tradeoffs", "ilities", "tension-matrix", "revisit"] +tags: + - writings + - essay + - software-virtues + - quality-attributes + - tradeoffs + - ilities + - tension-matrix + - revisit epoch: E0008.4 date: 2026-05-10 + +# Discovery +hook: "Eight years later, a partner asked me which '-ilities' actually trade off against which. I sent him the article and told him I still stand by it — then realized it never built the full map." +description: "Eight years ago I wrote about ten software virtues and the tensions among them. A partner asked today which actually trade off against which, in which use cases — and I realized the article I'd been recommending for a decade had only listed tensions per-virtue and never assembled the full map. So I built it, and then realized the map was a worked example of something larger: a constraints survey for new work with agents." +slug: software-virtues-revisited + +# Social graph +og_title: "Software Virtues, Revisited" +og_description: "Eight years later, a partner asked me which '-ilities' actually trade off against which. I sent him the article and told him I still stand by it — then realized it never built the full map." +og_type: article +twitter_card: summary_large_image +twitter_title: "Software Virtues, Revisited" +twitter_description: "Eight years later, a partner asked me which '-ilities' actually trade off against which. I sent him the article and told him I still stand by it — then realized it never built the full map." + +# Relationships derives_from: "https://medium.com/@klappy/what-are-software-virtues-and-how-to-prioritize-them-f0b583741afe (2018-09-09 — original article), canon/observations/quality-attribute-tension-matrix.md, canon/principles/quality-attributes-are-in-tension.md, canon/definitions/software-virtues-vocabulary.md, odd/maturity.md" complements: "writings/agentic-software-development.md" status: active