Srikanth Sastry

Garden

A digital garden of interconnected notes โ€” ideas at various stages of development.

๐ŸŒฑ Seedling โ€” just planted ๐ŸŒฟ Budding โ€” growing, not yet stable ๐ŸŒณ Evergreen โ€” well-developed

๐ŸŒณ Evergreen (69)

AI Collapses the Economic Moat of Clean-Room Reimplementation

The copyleft moat was never purely legal. It was economic: compliance was cheaper than reimplementation. AI collapsed that cost.

ai-open-sourcereplicatorcopyleft

Align Alerts to SEV Criteria

Alerts should fire at or near the threshold where an SLO breach would occur, not well before.

operationsalertingmonitoring

Backward Compatibility for Leaky Abstractions

When a framework leaks implementation details (like serializing arguments at schedule time but loading code from HEAD at execution time), changing a function signature breaks the assumption that old code calls old signatures.

software-engineeringbackward-compatibilityleaky-abstractions

Check If Concern Is Systemic

Before resolving a concern, check whether it is isolated or systemic.

people-managementleadershipcommunication

Command Control Misnomer

"Command and control" is a misnomer for directive governance.

governancedirective-governanceterminology

Contributor Poker: Review as Investment

In open source maintenance, PR review is not quality assurance โ€” it is investment in a contributor's long-term development.

open-sourcecontributor-pokeriterated-game

Convert Ambient Knowledge into Local Context

The core design principle for the suggestible actor: convert ambient knowledge into local context.

aisoftware-designprescriptions

Copyright Is the Sole Enforcement Mechanism for Open Source

Every open source license is a conditional grant of copyright, and copyright is the only enforcement mechanism that sustains open source.

ai-open-sourcecopyrightlicensing

Coupled Tests

Coupled tests (tests whose outcomes depend on other tests through shared mutable state, execution ordering, or shared infrastructure) are one of the most corrosive anti-patterns in a test suite.

software-testingunit-teststest-design

Coverage Metrics Are Misleading

Coverage tells you which code was executed during tests, not which behavior was verified.

software-testingunit-testsmetrics

Defense in Depth Needs Visibility

Defense-in-depth only works if every fallback layer is visible and monitored.

software-engineeringdefense-in-depthmonitoring

Detroit vs. London Schools of Unit Testing

The Detroit and London schools define "unit test" differently, driving fundamentally different strategies.

software-testingunit-teststest-design

Directive Governance

Directive governance is the pattern where information flows up (compressed and lossy), decisions are made centrally based on that compressed information, directives flow down for execution, and accountability is for compliance with directives rather than for outcomes.

governancedirective-governancemechanistic-organization

Directive Governance Is Not Keynesian

Directive governance is not Keynesian central planning.

governancedirective-governancekeynes

Essential Complexity Makes Software Ungovernable

Essential complexity makes software organizations ungovernable from the top.

governancesoftware-engineeringbrooks

Every Mutation Needs an Undo

Every script that mutates system state should build an undo alongside the forward operation.

operationsscriptssoftware-engineering

Explaining Away Concerns Is Victim Blaming

Never become an apologist for the organization when someone raises a concern.

people-managementleadershipcommunication

Fakes Over Stubs

Prefer fakes over stubs when the dependency has stateful behavior.

software-testingunit-teststest-doubles

Friction Requires Intent

Ergonomic friction as a design tool only works when the actor has intent and judgment.

software-designergonomicsai

Git Conflicts with Trunk-Based SaaS Workflows

Git's distributed, branch-heavy design conflicts with trunk-based continuous deployment workflows.

software-engineeringversion-controlgit

Goal vs. Intent

Goal and intent are not the same thing.

aidefinitionsmental-models

In Software Execution Is Decision Making

The decision/execution boundary that directive governance depends on does not exist in software.

software-engineeringgovernancebrooks

Law of Demeter and Testing

Demeter violations in production code become mock chains and bloated test fixtures in test code.

software-testingunit-testslaw-of-demeter

Listen Before Solving Concerns

When a team member raises a concern, the manager's first job is to understand, not to solve.

people-managementleadershipcommunication

Minimize Public Surface for Testability

If a class is only used internally by another class, don't test it directly.

software-testingunit-testsencapsulation

Mission, Not Price, Coordinates Subsidiarity

Subsidiarity coordinates through shared mission, not price signals.

governancesubsidiarityhayek

Mocks in Testing

Mocks verify outbound interactions from the SUT to its dependencies.

software-testingunit-teststest-doubles

Mocks vs. Stubs: When to Use Which

Stubs and mocks serve fundamentally different purposes and should not be used interchangeably.

software-testingunit-teststest-doubles

Never Sacrifice Test Accuracy

Never sacrifice test accuracy.

software-testingunit-teststest-design

Privacy in Processing vs. Privacy in Identity

Privacy frameworks split on where rights attach: to what is done with data (processing) or to whether data can be traced back to a person (identity).

privacylegislationpseudonymization

Reduce Cyclomatic Complexity

Cyclomatic complexity measures independent execution paths through a function.

software-designrefactoringcode-quality

Reuse Code, Not Objects

DRY applies to code, not to object instances.

software-engineeringdesign-patternsDRY

Shadow-Verify-Migrate Pattern

Migrate between service implementations in three composed steps: shadow, verify, switch.

software-engineeringdesign-patternsmigration

Simplicity Over DRY in Tests

DRY is near-universal in production code, but applying it dogmatically to test code causes more problems than it solves.

software-testingunit-testsDRY

Structurelessness Hides Hierarchy

Eliminating formal hierarchy does not eliminate hierarchy.

governanceorganizational-designhierarchy

Stubs in Testing

Stubs replace inbound interactions from dependencies to the SUT by providing canned responses so the test controls what the SUT sees.

software-testingunit-teststest-doubles

Subsidiarity

Decisions should be made at the lowest level competent to make them.

governancesubsidiarityorganizational-theory

Subsidiarity Is a Third Position

Subsidiarity is a third position, not a pole on the Keynes-to-Hayek spectrum.

governancesubsidiarityhayek

Subsidiarity Is Not Flat Organization

Subsidiarity preserves hierarchy but changes what it is for.

governancesubsidiarityorganizational-theory

Subsidiarity Preserves Hierarchy

Subsidiarity preserves hierarchy; Hayek's market does not.

governancesubsidiarityhayek

Survival vs. Excellence as Engineering Modes

Software development has two modes (survival and excellence), and the choice should be deliberate, not a default.

software-engineeringengineering-culturetech-debt

TDD for Bug Fixes

Bug fixes should follow a TDD workflow split across two PRs.

software-testingtddbug-fixing

Test Behavior, Not Implementation

Test what a system does (brains), not how it does it (nerves).

software-testingunit-teststest-design

Testability Forces Dependency Injection

Testability forces dependency injection: code that constructs its own dependencies internally is untestable without expensive integration infrastructure.

software-testingunit-testssoftware-design

Testability Forces Modularity

Hard-to-test code is a design smell: if a class is hard to test, it is doing too much.

software-testingunit-testssoftware-design

Tests as a Refactoring Safety Net

Unit tests transform refactoring from a high-wire act into a routine operation.

software-testingunit-testsrefactoring

Tests as Executable Documentation

Unit tests are the best documentation for code.

software-testingunit-testsdocumentation

Tests as First Customer

Writing unit tests makes you your own first customer.

software-testingunit-testsapi-design

Tests Exist for Maintainability

The fundamental purpose of unit tests is not verification.

software-testingunit-testssoftware-maintenance

Tests Prune the Debugging Search Space

Every code path covered by a passing test is a path you can rule out during debugging.

software-testingunit-testsdebugging

The AI Agent Category Error

Placing the AI coding agent on the intent spectrum is a category error.

aisoftware-designactor-models

The AI-Assisted vs. AI-Generated Boundary Is Legally Undefined

The Copyright Office says AI assistance does not bar copyrightability but has not defined where AI-assisted ends and AI-generated begins.

ai-open-sourcecopyrightlegal-ambiguity

The Detroit School of Unit Testing

The Detroit (classical) school defines a unit as a unit of behavior: one or more classes collaborating to produce an observable result.

software-testingunit-teststest-design

The Directive Gap

The directive gap is the distance between the human's goal (with all their ambient knowledge) and the context actually available to the agent during execution.

aisoftware-designfailure-modes

The Empty Grant: AI-Generated Code Creates Unenforceable Licenses

AI-generated code is not copyrightable, which means it cannot carry license conditions.

ai-open-sourcecopyrightlicensing

The Failure Argument Is Conditional

The argument that directive governance fails in software is conditional, not universal like Hayek's.

governancedirective-governancehayek

The Hollow Commons Schism Pattern

When an AI-powered downstream fork produces improvements that the upstream community refuses to accept, the commons splits into an AI-accelerated branch and a human-maintained branch.

hollow-commonsai-open-sourcefork-schism

The Intent Spectrum

All software design assumes an actor with intent.

software-designactor-modelsmental-models

The London School of Unit Testing

The London (mockist) school defines a unit as a single class, sometimes a single method.

software-testingunit-teststest-design

The Open Source Ouroboros

Open source code is the primary training data for the AI models that undermine open source, creating a feedback loop with no exit within the current framework.

ai-open-sourcehollow-commonstraining-data

The Ratchet Has No Market Analog

The crisis-centralization ratchet has no analog in markets.

governancedirective-governancecrisis-centralization-ratchet

The Suggestible Actor: Four Properties

The suggestible actor is defined by four properties that together predict its failure modes.

aisoftware-designactor-models

Unit Test Attribute Trilemma

Unit test suites have three attributes in tension: accuracy (if a test fails, is there a real bug?

software-testingunit-teststest-design

Upward Comms Asymmetric Commitment

Asymmetric commitment kills upward communication: leadership demands it without reciprocating downward.

people-managementleadershipcommunication

Upward Comms Format Obsession

Format obsession in upward communication displaces substance with compliance.

people-managementleadershipcommunication

Upward Comms No Engineer Buy In

Upward communication processes designed for management without consulting contributors are dead on arrival.

people-managementleadershipcommunication

Upward Comms Unresponsiveness

When upward communication vanishes without acknowledgment, contributors learn the process is performative.

people-managementleadershipcommunication

Upward Communication Anti Patterns

Upward communication fails because organizations ignore the power differential that makes it inherently fragile.

people-managementleadershipcommunication

VCS Should Match Your Development Model

Your version control system should fit your development model, not the other way around.

software-engineeringversion-controldevelopment-model

๐ŸŒฟ Budding (15)

Confabulation Is Plausible

AI agent confabulation is not random โ€” it is plausible-looking wrongness constructed from pattern and proximity rather than knowledge.

aifailure-modeshallucination

Crisis Centralization Ratchet

Tech companies centralize decision-making during crisis and almost never decentralize afterward.

governancecentralizationcrisis

Data Pipeline Is Achilles Heel

The data pipeline is directive governance's Achilles heel, not the decision-maker's rationality.

governancebounded-rationalityinformation-asymmetry

Delegation Mimicry Without Cultural Substrate

Most tech CEOs copy the structural form of delegation without the deliberate cultural investment that makes it work.

governancedirective-governancedelegation

Directive Governance Cargo Cult

Directive governance in tech is a mechanistic-organic hybrid cargo cult.

governancedirective-governancemechanistic-organization

Directive Governance Degrades Not Destroys

Violating directive governance's preconditions predicts degraded performance cushioned by market position, not immediate collapse.

governancedirective-governancemonopoly-rents

Directive Governance Preconditions

Directive governance fails when its three structural preconditions do not hold: compressibility, proxy validity, and separability.

governancedirective-governancepreconditions

Isomorphic Mimicry In Tech Governance

Tech companies adopt directive governance through isomorphic mimicry: copying a governance model from industries where it works without verifying that the preconditions hold.

governancedirective-governanceinstitutional-theory

Metrics Measure Maintenance Not Creation

Metrics measure maintenance, not creation.

metricsgovernanceinnovation

Partial Measurement Worse Than None

Partial measurement is worse than no measurement.

metricsmeasurementgovernance

Serial Satisficing Without Learning

Organizations serial-satisfice without learning: each correction is made under the same information constraints as the decision it corrects.

bounded-rationalitygovernancelayoffs

Susceptibility Peaks at Failure

An AI agent's susceptibility to local context peaks at the point of failure.

aisoftware-designdesign-levers

Three Assumptions Framework

Directive governance rests on three implicit assumptions about the information pipeline.

governancedirective-governanceinformation-theory

Tooling Advances Prove Brooks Right

Every advance in software tooling proves Brooks right.

software-engineeringbrooksessential-complexity

Unfalsifiable Organizational Corrections

Organizational corrections are unfalsifiable: executives assert rationality without evidence, and the counterfactual is untestable.

bounded-rationalitygovernanceepistemology