Skip to content

pstack: add model-the-domain principle; true up README#147

Merged
poteto merged 2 commits into
mainfrom
pstack/model-the-domain
Jul 11, 2026
Merged

pstack: add model-the-domain principle; true up README#147
poteto merged 2 commits into
mainfrom
pstack/model-the-domain

Conversation

@poteto

@poteto poteto commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • New principle skill principle-model-the-domain: encode the domain in a structure (state machine, typed model, lookup table/registry, reducer, module boundary, the right collection — or whatever structure the invariants ask for) instead of scattered conditionals, applied while writing code. Includes the do-not-force guard and the tell (a feature that grows an if/else chain by one more branch). Chosen by a 5-encoding × 2-task × 2-model eval: write-time encodings beat both baseline and a post-hoc review skill, which made agents correctly decline the reshape as scope creep.
  • README trued up against actual state: principles count twenty → twenty-one with the new architecture entry; the /interrogate row said "four different models" while the skill's default list is three (now count-agnostic); added a line documenting that /poteto-mode is a sticky mode since pstack: make poteto-mode a sticky mode with a conditional reminder #144. Model slugs were already current (no stale composer-2.5-fast anywhere).
  • Version 0.10.3 → 0.10.4.

Test plan

  • Leak check clean (no internal names/paths in the new skill or README)
  • Skill body is a faithful copy of the merged everysphere leaf (no path references needed rewriting — the leaf is self-contained)

Note

Low Risk
Documentation and plugin metadata only; no application logic or production data-shape assumptions.

Overview
Adds a new architecture principle skill principle-model-the-domain, which tells agents to encode stateful or heavily branching domain logic in explicit structures (state machines, typed models, registries, reducers, boundaries, etc.) instead of scattered conditionals, with guidance not to over-abstract and a concrete “tell” when the principle was skipped.

The principle is wired into poteto-mode’s inline Architecture index and the README principles list (count twenty-one; model-the-domain listed under architecture). README also documents /poteto-mode as a sticky mode, softens /interrogate copy from “four different models” to count-agnostic “several,” and bumps plugin.json to 0.10.4.

Reviewed by Cursor Bugbot for commit 8f1beeb. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Principle missing from index
    • Added Model the Domain to poteto-mode's architecture index so agents can discover and apply its disabled leaf skill.

Create PR

Or push these changes by commenting:

@cursor push 5879648e6e
Preview (5879648e6e)
diff --git a/pstack/skills/poteto-mode/SKILL.md b/pstack/skills/poteto-mode/SKILL.md
--- a/pstack/skills/poteto-mode/SKILL.md
+++ b/pstack/skills/poteto-mode/SKILL.md
@@ -48,6 +48,7 @@
 
 **Architecture**
 
+- **Model the Domain** (**principle-model-the-domain**). Writing stateful logic, or code that branches a lot or repeats a shape assumption across files. Encode the domain in a structure instead of scattered conditionals.
 - **Boundary Discipline** (**principle-boundary-discipline**). Wiring validation, error handling, or framework adapters. Guards at system boundaries, trust internal types, keep business logic pure.
 - **Type System Discipline** (**principle-type-system-discipline**). Designing types or a signature in any typed language. Make illegal states unrepresentable, brand primitives, parse external data at boundaries.
 - **Make Operations Idempotent** (**principle-make-operations-idempotent**). Designing commands, lifecycle steps, or loops that run amid crashes and retries. Converge to the same end state.

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit 3c70833. Configure here.

Comment thread pstack/README.md
@poteto poteto merged commit a814542 into main Jul 11, 2026
2 checks passed
@poteto poteto deleted the pstack/model-the-domain branch July 11, 2026 02:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant