← pstackCONTENT HISTORY

Update to pstack

Snapshot Sep 30, 2026 · 23:14 UTC · version 0.2.0

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": "---\nname: principle-encode-lessons-in-structure\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.\"\ndisable-model-invocation: true\n---\n\n# Encode Lessons in Structure\n\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.\n\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.\n\n**Pattern:**\nWhen you catch yourself writing the same instruction a second time:\n1. Ask: can this be a lint rule, a metadata flag, a runtime check, or a script?\n2. If yes, encode it. Delete the instruction\n3. If no (genuinely requires judgment), make the instruction more prominent and add an example of the failure mode\n\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.\n\n**Corollary:** Don't paper over symptoms. If the fix is structural, ONLY use the structural fix. The instruction IS the symptom.\n\n**Feedback loop:**\n- **Capture every correction.** When the human intervenes or tests fail, decide if it's a one-off or a pattern.\n- **Route to the right layer.** One-off -> brain note. Recurring fix -> skill or lint rule. Systemic issue -> principle.\n- **Close the loop.** Don't just record. Apply now or create a concrete todo.\n\n**Anti-patterns:**\n- Acknowledging without recording (\"I'll keep that in mind\" does not persist)\n- Recording without routing (a brain note about a lint rule that should exist is wasted unless the lint rule gets implemented)\n- Fixing without generalizing (fixing one instance while leaving the recurring pattern intact)\n"
}

SHA-256 of public snapshot: 8da7385a69e87c21061697bff099eec422cdc842b4d4c18c9c157bdc947b0366