← fstackCONTENT HISTORY

Update to fstack

Snapshot Sep 30, 2026 · 23:16 UTC · version 1.1.2

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Apply when you catch yourself writing the same instruction a second time, or notice a recurring correction. Encode the rule as a lint, metadata flag, runtime check, or script instead of more text.",
  "included_files": [],
  "name": "principle-encode-lessons-in-structure",
  "skill_md_contents": "---\r\nname: principle-encode-lessons-in-structure\r\ndescription: \"Apply when you catch yourself writing the same instruction a second time, or notice a recurring correction. Encode the rule as a lint, metadata flag, runtime check, or script instead of more text.\"\r\nuser-invocable: false\r\ndisable-model-invocation: true\r\n---\r\n\r\n# Encode Lessons in Structure\r\n\r\nEncode recurring fixes in mechanisms (tools, code, metadata, automation) instead of textual instructions. Every error, human correction, and unexpected outcome is a learning signal. Capture it, route it, and close the loop.\r\n\r\n**Why:** Textual instructions are easy to miss. They require the reader to notice, remember, and comply. Structural mechanisms (lint rules, metadata flags, runtime checks, automation scripts) enforce the rule without cooperation.\r\n\r\n**Pattern:**\r\nWhen you catch yourself writing the same instruction a second time:\r\n1. Ask: can this be a lint rule, a metadata flag, a runtime check, or a script?\r\n2. If yes, encode it. Delete the instruction\r\n3. If no (genuinely requires judgment), make the instruction more prominent and add an example of the failure mode\r\n\r\n**Pick the strongest rung.** When more than one mechanism would work, choose the strongest the situation allows (an unrepresentable state that cannot compile, then a lint or banned API that fails CI, then a canonical helper, then a runtime check), because agents copy whatever the surrounding code already does and a weaker guard becomes the next template.\r\n\r\n**Corollary:** Don't paper over symptoms. If the fix is structural, ONLY use the structural fix. The instruction IS the symptom.\r\n\r\n**Feedback loop:**\r\n- **Capture every correction.** When the human intervenes or tests fail, decide if it's a one-off or a pattern.\r\n- **Route to the right layer.** One-off -> brain note. Recurring fix -> skill or lint rule. Systemic issue -> principle.\r\n- **Close the loop.** Don't just record. Apply now or create a concrete todo.\r\n\r\n**Anti-patterns:**\r\n- Acknowledging without recording (\"I'll keep that in mind\" does not persist)\r\n- Recording without routing (a brain note about a lint rule that should exist is wasted unless the lint rule gets implemented)\r\n- Fixing without generalizing (fixing one instance while leaving the recurring pattern intact)\r\n"
}

SHA-256 of public snapshot: db3abd88b4a262a75c458d32015e798fe5808491487a4d15692c724302106085