PRINCIPLE INDEX

02 / PRINCIPLE RECORD

Systems, not features.

Treat the behavior as a system before isolating the feature.

Treat the behavior as a system before isolating the feature.

Adding something new is exciting, particularly when the product is already working. That is also when restraint matters most.

Before building, I ask what is being added, what value it creates, who will use it, and why. I want to know whether it solves a real problem, treats a known symptom, or simply creates the appearance of progress. I also want to understand whether it should become a durable part of the product or temporary infrastructure with a defined exit.

A feature that treats a symptom is not automatically a mistake. The mistake is pretending it resolves the underlying system. If its purpose is temporary relief, that should be stated honestly and its effects elsewhere should be identified before implementation begins.

Record scope

  1. What outcome is the system expected to produce, and for whom?
  2. What enters the system, and which people, agents, tools, databases, or third parties touch it?
  3. Where do responsibility, information, and authority transfer—and how is the final result verified?

These sources do not define my method. They provide established language for testing its central ideas: interfaces shape outcomes, intervention points differ in leverage, and complex systems benefit from meaningful boundaries.

Source 01 / Integration + interfaces

NASA Systems Engineering Handbook / Rev 2

Why it matters: NASA treats interfaces as the pathways of system interaction and emphasizes balancing the whole system rather than optimizing one subsystem in isolation.

Source 02 / Leverage points

Leverage Points: Places to Intervene in a System / Donella Meadows / 1999

Why it matters: Changing a parameter is not the same as changing information flow, rules, goals, or structure. The visible intervention may not be the meaningful one.

Source 03 / Complexity + modularity

The Architecture of Complexity / Herbert A. Simon / 1962

Why it matters: Hierarchy and near-decomposability help explain why useful modules need strong internal relationships and deliberate boundaries with the systems around them.

Trace the work, not just the interface.

Before mapping components, I establish the system's outer boundary: what is offered, who needs it, why they would choose it, and what useful result the system must produce.

From there, I follow one piece of work from entry to verified output.

  1. Offer + intended result
  2. Inputs + participating actors
  3. Dependencies + responsibility transfers
  4. Output + verification

Routing principle: At every transition, check where information could be lost, delayed, duplicated, misunderstood, or granted more authority than the work requires.

Field note 01 / When onboarding became a system

SiteFerry already had a functioning, invitation-only workflow for my clients. Making it available to outside developers initially sounded like a natural product expansion: allow developers to onboard their own clients.

But developer onboarding was not a new screen or registration form. It changed how identity, workspace separation, repository access, agent permissions, approvals, revocation, previews, publishing, recovery, and evidence needed to work together.

Context: SiteFerry has completed an isolated, pre-production proof for the first part of that foundation. Codex and Cursor authenticated through a narrowly scoped MCP connection, received no automatic customer authority, and lost access when authorization was revoked. The customer-facing onboarding system is not yet deployed.

Field note 02 / Proportionate intervention

I reconsider part of a system when it creates blockers, restricts the product's potential, interferes with client onboarding, becomes unreliable, or stops functioning.

The response depends on the circumstances. A contained problem may need a repair. A recurring failure may expose a badly designed relationship. A component that prevents development may need replacement. Sometimes accepting a known limitation is more responsible than introducing new complexity.

Context: The objective is not to redesign everything whenever friction appears. It is to make the smallest intervention capable of restoring the system's health and future usefulness.

Where systems thinking can become an excuse.

Counterposition: Not every feature requires a complete architectural investigation. If the change is contained, reversible, low-risk, and supported by known interfaces, extensive system mapping can become another form of avoidance.

Test: Can the affected boundary, dependencies, failure modes, and rollback path be explained without guessing?

Abstraction boundary: Reuse creates leverage when the same relationship or operating problem has appeared repeatedly. Reusing a pattern because two surfaces merely look alike can force unlike problems into the same structure and create hidden debt.

Status: Systems thinking should reduce uncertainty enough to act. It should never become permission to postpone action indefinitely.

These sources are a route outward from the founder record. They support the language of interfaces, leverage, modularity, and whole-system performance without replacing the practical evidence of the work.

  1. NASA — Systems Engineering Handbook, Rev 2

Relevance: integration, interfaces, lifecycle, whole-system balance SOURCE ↗

  1. Donella Meadows — Leverage Points: Places to Intervene in a System

Relevance: feedback, information flow, rules, goals, structural intervention SOURCE ↗

  1. Herbert A. Simon — The Architecture of Complexity

Relevance: hierarchy, modularity, near-decomposability SOURCE ↗