Code&Chaos
The Builder’s Field Guide

A living glossary for the language of software, AI, agents, systems, and the humans building with them.

III.

Building, Architecture & Workflows

The language of turning intent into systems: specs, scope, implementation, architecture, agent workflows, review loops, Git, testing, delivery, and the machinery that decides when work is actually done.

105 terms

Requirement Beginner
Plain-English definition

Something the system must do or a condition it must satisfy.

More precise definition

A requirement describes expected behavior, capability, quality, constraint, or outcome.

Example

The system must preserve the original message timestamp.

Commonly confused with

Spec, acceptance criteria

Common misconception

A requirement states what must be true. It does not necessarily explain how to implement it.

Specification — Spec Beginner
Plain-English definition

A written description of what should be built.

More precise definition

A specification may define goals, behavior, data shapes, constraints, failure cases, interfaces, acceptance criteria, and out-of-scope work.

Example

A document describing how a memory-capture tool should validate and store entries.

Commonly confused with

Plan, requirement, documentation

Common misconception

A spec describes the intended result. A plan describes how the builder intends to reach it.

Scope Beginner
Plain-English definition

The boundary of what work is included and excluded.

More precise definition

Scope defines the responsibilities, features, files, systems, and outcomes a task covers.

Example

This change updates the capture adapter but does not redesign the storage layer.

Commonly confused with

Goal, requirement

Common misconception

A good scope includes explicit exclusions, not only a list of requested features.

Out of Scope Beginner
Plain-English definition

Work deliberately excluded from the current task.

More precise definition

Out-of-scope items are documented so the implementation does not expand silently or solve adjacent problems without approval.

Example

Migrating historical records is out of scope for this patch.

Commonly confused with

Blocked work

Common misconception

Out of scope does not mean unimportant. It means not part of this delivery.

Constraint Beginner
Plain-English definition

A rule or limitation the solution must respect.

More precise definition

Constraints may come from technology, security, time, compatibility, cost, policy, performance, or product decisions.

Example

The tool must remain backward compatible with stored comma-separated domains.

Commonly confused with

Requirement

Common misconception

A requirement says what must happen. A constraint limits how or under what conditions it may happen.

Assumption Beginner
Plain-English definition

Something treated as true while planning or building.

More precise definition

Assumptions reduce uncertainty temporarily but should be documented and validated when they affect design decisions.

Example

We assume all existing records use valid domain names.

Commonly confused with

Fact, requirement

Common misconception

An undocumented assumption can quietly become a hidden failure condition.

Acceptance Criteria Beginner
Plain-English definition

Concrete conditions the finished work must satisfy.

More precise definition

Acceptance criteria translate goals into testable statements used to decide whether implementation passes.

Example

Given two valid domains, the adapter returns one comma-separated string in the original order.

Commonly confused with

Definition of Done, requirement

Common misconception

Acceptance criteria should be verifiable, not vague statements such as “works well.”

Definition of Done — DoD Beginner
Plain-English definition

The full checklist required before work counts as finished.

More precise definition

The definition of done may include implementation, tests, documentation, review, migration, deployment, monitoring, and confirmation that no critical regressions remain.

Example

Code merged, test suite passing, docs updated, and staging verified.

Commonly confused with

Acceptance criteria

Common misconception

Acceptance criteria describe the feature outcome. Definition of done describes the broader delivery standard.

Deliverable Beginner
Plain-English definition

The concrete thing expected at the end of the work.

More precise definition

A deliverable may be code, a design, a document, a migration, a test suite, a deployed service, or a decision record.

Example

A working adapter plus tests and updated schema documentation.

Commonly confused with

Milestone

Common misconception

A milestone is a checkpoint. A deliverable is an output.

Milestone Beginner
Plain-English definition

A meaningful checkpoint in a larger project.

More precise definition

Milestones mark progress toward a broader goal and may contain multiple tasks or deliverables.

Example

Complete the first three glossary categories.

Commonly confused with

Deliverable

Common misconception

A milestone may represent progress rather than a final shippable object.

Exploration — Discovery Beginner
Plain-English definition

The phase where the problem and existing system are investigated before building.

More precise definition

Exploration may include reading code, tracing behavior, inspecting schemas, identifying dependencies, comparing approaches, and documenting risks.

Example

Inspect every Ember capture action before changing the input type.

Commonly confused with

Implementation, planning

Common misconception

Exploration is not implementation. Its purpose is to reduce uncertainty before code changes begin.

Plan Beginner
Plain-English definition

The proposed sequence of work.

More precise definition

A plan connects the spec to implementation by naming steps, affected areas, risks, dependencies, validation methods, and stopping conditions.

Example

Update the app-side type, add an adapter, migrate callers, and run contract tests.

Commonly confused with

Specification

Common misconception

A plan should be allowed to change when exploration uncovers new evidence.

Implementation Beginner
Plain-English definition

The actual code or system changes built from a plan or spec.

More precise definition

Implementation is the concrete realization of intended behavior through code, configuration, infrastructure, data changes, or integrations.

Example

Writing the function that converts domain arrays into the tool payload.

Commonly confused with

Design, deployment

Common misconception

An implementation can run correctly and still fail if it solves the wrong problem or violates the spec.

Iteration Beginner
Plain-English definition

One pass through a cycle of building, checking, and improving.

More precise definition

Iteration is a controlled revision based on evidence from testing, review, feedback, or changed understanding.

Example

The second iteration fixes an edge case found by the adversarial reviewer.

Commonly confused with

Loop

Common misconception

An iteration is one pass. A loop is the repeating structure that contains multiple passes.

Loop Beginner
Plain-English definition

A process that repeats until a stopping condition is reached.

More precise definition

In workflows, a loop may repeat build, test, review, diagnose, and revise steps.

Example

Build → verify → review → revise → verify again.

Commonly confused with

Iteration

Common misconception

A loop without a stopping condition can waste time or repeat the same failure indefinitely.

Bounded Loop Intermediate
Plain-English definition

A repeating process with a fixed limit.

More precise definition

A bounded loop stops after a defined number of attempts, elapsed time, cost limit, or failure threshold.

Example

Try three repair iterations, then hand the task to a fresh agent.

Commonly confused with

Infinite loop

Common misconception

A bounded loop needs both an attempt limit and a defined escalation path.

Stopping Condition Intermediate
Plain-English definition

The rule that tells a loop when to stop.

More precise definition

A stopping condition may be success, maximum attempts, timeout, budget exhaustion, or a blocker requiring a decision.

Example

Stop when all acceptance criteria pass or after three failed attempts.

Commonly confused with

Acceptance criteria

Common misconception

Success is one stopping condition. Failure limits and escalation thresholds are others.

Reviewer Beginner
Plain-English definition

A person or agent who examines work for correctness and quality.

More precise definition

A reviewer may assess logic, clarity, maintainability, architecture, test quality, scope, and alignment with the spec.

Example

A reviewer checks the final diff before merge.

Commonly confused with

Adversarial Reviewer, verifier

Common misconception

A reviewer is not necessarily trying to break the work. Their role is broader quality judgment.

Adversarial Reviewer Intermediate
Plain-English definition

A reviewer whose job is to actively try to break the work.

More precise definition

Adversarial review targets hidden assumptions, invalid inputs, edge cases, security flaws, regressions, and misleading success states.

Example

The adversarial reviewer tests duplicate domains, missing fields, and malformed payloads.

Commonly confused with

Reviewer

Common misconception

Adversarial review is not hostility toward the builder. It is deliberate pressure against the implementation.

Independent Review Intermediate
Plain-English definition

A review performed without being anchored to the builder’s preferred solution.

More precise definition

Independent review evaluates the work from fresh context and may catch assumptions shared by the original builder and reviewer.

Example

A separate agent reviews the implementation against the original spec.

Commonly confused with

Adversarial review

Common misconception

Independent and adversarial are different axes. A reviewer can be independent without actively attacking the system.

Subagent Beginner
Plain-English definition

An agent assigned a narrower task inside a larger workflow.

More precise definition

A subagent receives limited scope, context, tools, and expected output, then reports back to a parent agent or orchestrator.

Example

One subagent explores the codebase while another designs tests.

Commonly confused with

Agent, worker

Common misconception

A subagent should not automatically inherit unlimited scope or authority.

Orchestrator Intermediate
Plain-English definition

The component that coordinates multiple steps, tools, or agents.

More precise definition

An orchestrator assigns work, manages state, orders operations, handles retries, and combines results.

Example

The orchestrator sends implementation to a builder, then verification to a reviewer.

Commonly confused with

Executor

Common misconception

The orchestrator coordinates the work. It does not need to perform every task itself.

Delegation Beginner
Plain-English definition

Assigning part of a task to another person, agent, or service.

More precise definition

Good delegation defines scope, authority, inputs, expected outputs, constraints, and how results return to the parent workflow.

Example

Delegate schema review to a verifier subagent.

Commonly confused with

Handoff

Common misconception

Delegation keeps the parent responsible for integration. A handoff may transfer responsibility more fully.

Handoff Beginner
Plain-English definition

Transferring context, evidence, and responsibility to another person or agent.

More precise definition

A useful handoff includes the original goal, current state, decisions, failures, open questions, and next expected action.

Example

Send the fresh agent the spec, diff, test results, and failure log.

Commonly confused with

Delegation

Common misconception

A handoff without decision history often causes the next agent to repeat failed work.

Escalation Intermediate
Plain-English definition

Passing a blocked or high-risk task to a stronger, fresher, or authorized decision-maker.

More precise definition

Escalation occurs when the current workflow reaches a limit, lacks authority, or needs a product, architecture, or safety decision.

Example

After three failed attempts, escalate to a fresh agent with full evidence.

Commonly confused with

Retry, handoff

Common misconception

Escalation is not failure. It is a designed response to bounded uncertainty or authority limits.

Fresh Agent Intermediate
Plain-English definition

A new agent brought in without the original agent’s accumulated assumptions.

More precise definition

Fresh-context review helps reduce anchoring, confirmation bias, and repeated attachment to a failing solution path.

Example

A fresh agent receives the spec and evidence but not the previous agent’s preferred implementation.

Commonly confused with

Restart

Common misconception

Fresh does not mean context-free. The agent still needs evidence, constraints, and failure history.

Spike Intermediate
Plain-English definition

A short exploratory task used to reduce uncertainty.

More precise definition

A spike investigates feasibility, risk, performance, or integration questions without committing to production implementation.

Example

Build a small spike to test whether the provider supports streaming tool calls.

Commonly confused with

Prototype, proof of concept

Common misconception

A spike is research work. Its code may be disposable.

Proof of Concept — POC Beginner
Plain-English definition

A small build that proves an idea can work.

More precise definition

A proof of concept demonstrates technical feasibility without necessarily being polished, scalable, secure, or production-ready.

Example

A minimal agent that successfully calls one Ember tool through MCP.

Commonly confused with

Prototype, MVP

Common misconception

A successful POC proves feasibility, not readiness for users.

Prototype Beginner
Plain-English definition

An early version built to explore behavior, design, or interaction.

More precise definition

A prototype may simulate or partially implement a product so teams can learn before committing to full production work.

Example

A clickable glossary prototype with collapsible categories.

Commonly confused with

Proof of concept, MVP

Common misconception

A prototype explores what the experience should be. A POC usually proves whether something is technically possible.

Minimum Viable Product — MVP Beginner
Plain-English definition

The smallest useful version of a product that can be tested with real users.

More precise definition

An MVP contains enough value to validate demand or behavior while deliberately excluding nonessential work.

Example

A searchable glossary with three categories before the full taxonomy is complete.

Commonly confused with

Prototype, proof of concept

Common misconception

Viable means genuinely useful, not merely incomplete or low quality.

Architecture Beginner
Plain-English definition

The high-level structure of a system and how its parts fit together.

More precise definition

Architecture defines major components, responsibilities, boundaries, data flow, dependencies, and deployment relationships.

Example

Separating the app-side domain model from the Ember tool payload through an adapter.

Commonly confused with

Implementation, design

Common misconception

Architecture is not only diagrams. It is the set of structural decisions embodied in the system.

System Design Intermediate
Plain-English definition

The process of deciding how a system should be structured and behave.

More precise definition

System design considers components, interfaces, data, reliability, scale, security, trade-offs, and operational behavior.

Example

Designing how memory capture, search, processing, and review interact.

Commonly confused with

Architecture

Common misconception

Architecture is the resulting structural shape; system design is the process and reasoning that produces it.

Component Beginner
Plain-English definition

A distinct part of a larger system.

More precise definition

A component has a defined responsibility and interface and may be replaced, tested, or deployed separately depending on the architecture.

Example

A search service, UI panel, adapter, or database worker.

Commonly confused with

Module, service

Common misconception

Component is a broad architectural term. Its exact size depends on context.

Boundary Intermediate
Plain-English definition

The point where two parts of a system meet.

More precise definition

Boundaries define responsibility, trust, validation, data conversion, and error handling between components or systems.

Example

The boundary between app-side domain data and the Ember tool payload.

Commonly confused with

Interface

Common misconception

An interface describes how interaction happens. A boundary is the broader separation where that interaction occurs.

Interface Beginner
Plain-English definition

The defined way one part of a system can interact with another.

More precise definition

An interface describes available operations, accepted inputs, returned outputs, and sometimes behavior guarantees.

Example

A TypeScript interface describing a capture payload.

Commonly confused with

Contract, schema

Common misconception

Interface can mean a code type or a broader system interaction surface.

Contract Intermediate
Plain-English definition

The agreement between two parts of a system.

More precise definition

A contract includes structure and behavioral promises: what is accepted, what is returned, what errors mean, and what must remain stable.

Example

The app promises to send valid domain values; the tool promises to store them.

Commonly confused with

Interface, schema

Common misconception

A schema covers structure. A contract may also include timing, meaning, side effects, and error behavior.

Schema Beginner
Plain-English definition

A formal description of the expected shape of data.

More precise definition

A schema defines fields, types, allowed values, required or optional status, nesting, and validation constraints.

Example

A tool schema requiring action, domains, salience, and weight.

Commonly confused with

Contract, type

Common misconception

A schema can be structurally valid while still violating business rules.

Abstraction Intermediate
Plain-English definition

A simpler surface that hides unnecessary internal complexity.

More precise definition

An abstraction exposes essential behavior while concealing implementation details behind a controlled interface.

Example

captureMemory() hiding validation, payload conversion, and the underlying API call.

Commonly confused with

Encapsulation

Common misconception

A bad abstraction hides important behavior or leaks internal details unpredictably.

Encapsulation Intermediate
Plain-English definition

Keeping internal state or logic behind a controlled boundary.

More precise definition

Encapsulation limits direct access so callers interact through defined methods or interfaces.

Example

Preventing callers from editing internal memory state directly.

Commonly confused with

Abstraction

Common misconception

Abstraction simplifies what callers see. Encapsulation controls what callers can access.

Separation of Concerns Intermediate
Plain-English definition

Dividing a system so each part handles a distinct responsibility.

More precise definition

Separation of concerns reduces tangled logic by isolating responsibilities such as validation, formatting, storage, and transport.

Example

A validator validates; an adapter reshapes; a client sends.

Commonly confused with

Single responsibility

Common misconception

Single responsibility focuses on one component. Separation of concerns describes the larger system division.

Single Responsibility Intermediate
Plain-English definition

One component should have one clear reason to change.

More precise definition

The principle encourages focused functions, classes, or modules with cohesive responsibilities.

Example

Do not combine validation, database writes, and notification sending in one function.

Commonly confused with

Separation of concerns

Common misconception

Single responsibility does not mean every function must be tiny. It means its purpose should be coherent.

Coupling Intermediate
Plain-English definition

How dependent two parts of a system are on each other.

More precise definition

Tight coupling means changes in one component frequently force changes in another. Loose coupling reduces that dependency.

Example

A UI directly depending on database-specific fields is tightly coupled.

Commonly confused with

Cohesion

Common misconception

Some coupling is necessary. The goal is controlled, explicit dependency.

Cohesion Intermediate
Plain-English definition

How naturally the responsibilities inside one component belong together.

More precise definition

High cohesion means a component’s data and behavior support one focused purpose.

Example

A module containing only capture validation and related types.

Commonly confused with

Coupling

Common misconception

Good architecture usually seeks high cohesion inside components and lower coupling between them.

Dependency Injection — DI Intermediate
Plain-English definition

Giving a component its dependencies from outside.

More precise definition

Dependency injection separates construction from use, allowing real services to be replaced with test doubles or alternate implementations.

Example

Passing a search client into a service instead of creating it inside the function.

Commonly confused with

Import

Common misconception

Importing a dependency is not the same as injecting a configured instance.

Adapter Intermediate
Plain-English definition

Code that makes one interface or data shape work with another.

More precise definition

An adapter translates between incompatible contracts while isolating that translation from the rest of the system.

Example

Converting EmberDomain[] into the comma-separated string expected by the tool.

Commonly confused with

Mapper, serializer

Common misconception

An adapter exists because two interfaces differ. A mapper may reshape data even within one system.

Mapper — Transformer Intermediate
Plain-English definition

Code that converts one data shape into another.

More precise definition

A mapper selects, renames, computes, or restructures fields without necessarily handling transport or compatibility concerns.

Example

Mapping a database record into a public API response.

Commonly confused with

Adapter, serializer

Common misconception

Mapping changes structure. Serialization changes representation for storage or transfer.

Serializer Intermediate
Plain-English definition

Code that converts structured data into a transferable or storable form.

More precise definition

Serialization turns objects or records into formats such as JSON, bytes, or delimited strings.

Example

Turning a domain array into build,relationship for a tool payload.

Commonly confused with

Mapper, adapter

Common misconception

Serialization changes representation. It does not necessarily change the meaning of the data.

Source of Truth Intermediate
Plain-English definition

The authoritative place where a value or rule is defined.

More precise definition

A source of truth is the system or document trusted to resolve disagreement about state, configuration, schema, or business rules.

Example

The canonical domain registry is the source of truth for valid Ember domains.

Commonly confused with

Cache, copy

Common misconception

Multiple synchronized copies can exist, but only one should be authoritative.

Guard Clause Beginner
Plain-English definition

An early check that exits before invalid work continues.

More precise definition

Guard clauses reject invalid state, missing inputs, permissions, or unsupported conditions near the start of a function.

Example

If content is missing, throw an error before writing to storage.

Commonly confused with

Validation

Common misconception

Validation may involve many rules. A guard clause is the early control-flow pattern that stops execution.

Invariant Intermediate
Plain-English definition

A rule that must always remain true.

More precise definition

An invariant defines a condition the system must preserve across operations and state changes.

Example

Every active thread must have a valid status and unique identifier.

Commonly confused with

Requirement, validation rule

Common misconception

An invariant applies continuously, not only at the initial input boundary.

Happy Path Beginner
Plain-English definition

The expected successful flow through a feature.

More precise definition

The happy path assumes valid input and functioning dependencies and shows the intended normal outcome.

Example

Valid capture → payload built → tool succeeds → confirmation returned.

Commonly confused with

Primary use case

Common misconception

Happy-path success does not prove failure handling or edge cases are correct.

Edge Case Beginner
Plain-English definition

A less common but valid situation near the limits of expected behavior.

More precise definition

Edge cases include empty input, one-item lists, maximum values, duplicates, missing optional fields, and timing boundaries.

Example

A capture with no tags or exactly one domain.

Commonly confused with

Invalid input

Common misconception

Edge cases are often valid inputs. They are not automatically errors.

Failure Mode Intermediate
Plain-English definition

A specific way the system can fail.

More precise definition

Failure modes identify triggers, visible symptoms, affected components, recoverability, and expected handling.

Example

The tool times out after writing data but before returning confirmation.

Commonly confused with

Bug, error

Common misconception

A failure mode describes how failure occurs. A bug is one possible cause.

Side Effect Intermediate
Plain-English definition

Anything a function does beyond returning a value.

More precise definition

Side effects include writing data, mutating state, sending messages, making network calls, logging, and changing files.

Example

Saving a memory node to the database.

Commonly confused with

Return value

Common misconception

Side effects are not automatically bad. They simply require deliberate control and testing.

Pure Function Intermediate
Plain-English definition

A function whose output depends only on its inputs and that has no side effects.

More precise definition

A pure function returns the same result for the same input and does not modify external state.

Example

A function that joins an array of domains into one string.

Commonly confused with

Deterministic function

Common misconception

Purity includes both deterministic output and absence of side effects.

Mutation Intermediate
Plain-English definition

Changing existing data in place.

More precise definition

Mutation modifies an object, array, or state container rather than creating a new value.

Example

Calling array.push() changes the original array.

Commonly confused with

Reassignment

Common misconception

A const object can still be mutated unless its contents are protected.

Immutable Intermediate
Plain-English definition

Not changed after creation.

More precise definition

Immutable patterns create new values instead of modifying existing ones, making change history and reasoning more predictable.

Example

Returning a new object with updated tags instead of editing the original.

Commonly confused with

const

Common misconception

const prevents reassignment of the variable. It does not automatically make nested data immutable.

Idempotent Intermediate
Plain-English definition

Running the same operation multiple times produces the same final effect as running it once.

More precise definition

Idempotency protects retries from creating duplicate or compounding side effects.

Example

Setting the same identity document content twice leaves one final document with that content.

Commonly confused with

Deterministic

Common misconception

An idempotent operation may return different metadata each time while preserving the same final state.

Regression Beginner
Plain-English definition

A new change that breaks behavior that previously worked.

More precise definition

Regressions may affect correctness, performance, compatibility, security, or user experience.

Example

A schema cleanup causes review actions to reject valid requests.

Commonly confused with

Bug

Common misconception

Every regression is a bug, but not every bug is a regression.

Refactor Beginner
Plain-English definition

Changing the internal structure of code without intentionally changing its behavior.

More precise definition

Refactoring improves clarity, maintainability, reuse, or architecture while preserving externally observable behavior.

Example

Extracting payload conversion into a dedicated adapter.

Commonly confused with

Feature change, rewrite

Common misconception

A refactor can still cause regressions, so preserved behavior must be tested.

Technical Debt Intermediate
Plain-English definition

Shortcuts or accumulated design problems that make future work harder.

More precise definition

Technical debt includes fragile architecture, missing tests, duplicated logic, outdated dependencies, unclear contracts, and deferred cleanup.

Example

Keeping domain values as unvalidated free strings across the codebase.

Commonly confused with

Bug

Common misconception

Technical debt is not always accidental. Teams may accept it deliberately for speed, but the cost remains.

Breaking Change Beginner
Plain-English definition

A change that forces existing callers, users, or data to adapt.

More precise definition

Breaking changes alter a public contract, behavior, format, or compatibility guarantee.

Example

Changing domains from comma-separated text to an array without an adapter.

Commonly confused with

Regression

Common misconception

A breaking change can be intentional and correctly implemented. A regression is unintended damage.

Backward Compatible Intermediate
Plain-English definition

Existing callers or data continue to work after a change.

More precise definition

Backward compatibility preserves previously supported contracts while adding or changing behavior safely.

Example

Accepting both legacy domain strings and the new array format during migration.

Commonly confused with

Forward compatible

Common misconception

Backward compatible does not mean every old behavior must remain forever. It means the transition is supported.

Migration Intermediate
Plain-English definition

A controlled move from an old structure or system to a new one.

More precise definition

Migrations may transform stored data, schemas, configuration, APIs, infrastructure, or callers while preserving correctness.

Example

Converting stored domain strings into validated arrays.

Commonly confused with

Deployment

Common misconception

Deployment releases code. Migration changes state or structure and may happen before, during, or after deployment.

Branch Beginner
Plain-English definition

A separate line of development in Git.

More precise definition

A branch points to a sequence of commits and lets work progress without directly changing another branch.

Example

Create a feature branch for the glossary search update.

Commonly confused with

Fork

Common misconception

A branch usually exists inside the same repository. A fork is a separate copy of the repository.

Commit Beginner
Plain-English definition

A saved checkpoint of code changes in Git.

More precise definition

A commit records a snapshot, author, timestamp, parent history, and message describing a coherent change.

Example

Commit the domain adapter and its tests.

Commonly confused with

Push

Common misconception

A commit is saved locally first. Push sends commits to a remote repository.

Push Beginner
Plain-English definition

Sending local Git commits to a remote repository.

More precise definition

Push updates a remote branch with commits from the local repository.

Example

Push the feature branch so the reviewer can open the PR.

Commonly confused with

Commit, array push

Common misconception

Committing does not automatically send changes to GitHub or another remote.

Pull Request — PR Beginner
Plain-English definition

A request to review and merge one branch into another.

More precise definition

A pull request presents the diff, discussion, automated checks, approvals, and merge status for a proposed change.

Example

Open a PR from glossary-search into main.

Commonly confused with

Pull, merge

Common misconception

A PR does not automatically merge code. It is the review and integration request.

Diff Beginner
Plain-English definition

The exact lines added, removed, or changed between two versions.

More precise definition

A diff is a comparison artifact used for review, debugging, patching, and understanding scope.

Example

Review the final diff before committing.

Commonly confused with

Commit

Common misconception

A commit is a saved change set. A diff is the comparison showing what changed.

Merge Beginner
Plain-English definition

Combining changes from one branch into another.

More precise definition

A merge integrates histories and may create a merge commit or use another merge strategy.

Example

Merge the approved PR into main.

Commonly confused with

Rebase

Common misconception

Merge combines histories. Rebase rewrites where commits appear to begin.

Merge Conflict Beginner
Plain-English definition

A situation where Git cannot automatically combine competing changes.

More precise definition

Conflicts occur when changes overlap incompatibly or Git cannot determine the intended final content.

Example

Two branches edited the same schema line differently.

Commonly confused with

Test failure

Common misconception

A merge conflict is a version-control problem, not proof that either implementation is logically wrong.

Rebase Intermediate
Plain-English definition

Moving a branch’s commits so they appear on top of a newer base.

More precise definition

Rebase rewrites commit ancestry to create a cleaner linear history or update work against the latest branch state.

Example

Rebase the feature branch onto main before review.

Commonly confused with

Merge

Common misconception

Rebase rewrites history and should be used carefully on shared branches.

Squash Intermediate
Plain-English definition

Combining several commits into one.

More precise definition

Squashing simplifies history by replacing multiple related commits with a single coherent commit.

Example

Squash the fixup commits before merge.

Commonly confused with

Rebase

Common misconception

Squash changes commit history, not the final file content by itself.

Cherry-pick Intermediate
Plain-English definition

Copying one specific commit onto another branch.

More precise definition

Cherry-pick applies the change represented by a selected commit without merging the entire source branch.

Example

Cherry-pick the hotfix into the release branch.

Commonly confused with

Merge

Common misconception

Cherry-picking duplicates the change into a new history rather than sharing the original branch relationship.

Revert Beginner
Plain-English definition

Creating a new commit that reverses an earlier commit.

More precise definition

Revert preserves history while applying the opposite change of a selected commit.

Example

Revert the schema change that broke production.

Commonly confused with

Rollback, reset

Common misconception

Revert does not erase history. It adds new history that undoes the effect.

Rollback Beginner
Plain-English definition

Returning a system to an earlier working state.

More precise definition

Rollback is the operational act of restoring code, configuration, data, or deployment state after a failed release.

Example

Roll back the deployment while the bug is investigated.

Commonly confused with

Revert

Common misconception

Revert is a Git action. Rollback is the broader recovery operation.

Patch Beginner
Plain-English definition

A focused set of code changes.

More precise definition

A patch may fix a bug, change behavior, or update security without representing a full feature release.

Example

A patch correcting optional field validation.

Commonly confused with

Hotfix

Common misconception

A patch describes the size or form of the change. A hotfix describes urgency and production context.

Hotfix Beginner
Plain-English definition

An urgent fix for a live problem.

More precise definition

A hotfix follows an accelerated release path to correct a production issue while minimizing additional change.

Example

Ship a hotfix for captures failing in production.

Commonly confused with

Patch

Common misconception

Urgency does not remove the need for review, tests, and rollback planning.

Continuous Integration — CI Beginner
Plain-English definition

Automatically running checks when code changes.

More precise definition

CI systems build, lint, typecheck, and test proposed changes so problems are caught before integration.

Example

Every PR runs the TypeScript and test suites.

Commonly confused with

Continuous deployment

Common misconception

CI validates changes. It does not necessarily deploy them.

Pipeline Beginner
Plain-English definition

An automated sequence of build, test, review, or deployment steps.

More precise definition

A pipeline defines ordered jobs, dependencies, conditions, artifacts, and failure handling.

Example

Install → typecheck → unit tests → build → deploy preview.

Commonly confused with

Workflow

Common misconception

Pipeline often refers to automation machinery. Workflow can also include human or agent steps.

Lint Beginner
Plain-English definition

Checking code for style problems and suspicious patterns.

More precise definition

A linter performs static analysis using configurable rules and may report or automatically fix issues.

Example

The linter flags an unused variable.

Commonly confused with

Typecheck, format

Common misconception

Linting can catch some bugs, but it does not prove type or runtime correctness.

Typecheck Beginner
Plain-English definition

Checking whether values and operations match their declared types.

More precise definition

Typechecking verifies type contracts without necessarily running the program.

Example

Rejecting a string where an EmberDomain array is required.

Commonly confused with

Lint, runtime test

Common misconception

Typechecking proves type consistency, not complete behavioral correctness.

Unit Test Beginner
Plain-English definition

A test for one small piece of logic in isolation.

More precise definition

Unit tests exercise a function, class, or module with controlled inputs and dependencies.

Example

Testing that joinDomains returns build,relationship.

Commonly confused with

Integration test

Common misconception

A unit test can pass while the full workflow still fails.

Integration Test Beginner
Plain-English definition

A test that checks whether multiple parts work together.

More precise definition

Integration tests verify boundaries, adapters, services, databases, or APIs in combination.

Example

Testing that a CaptureDraft becomes a valid Ember tool request.

Commonly confused with

Unit test, E2E test

Common misconception

Integration tests cover connected components but may not exercise the full user journey.

End-to-End Test — E2E Beginner
Plain-English definition

A test of the complete workflow from beginning to end.

More precise definition

E2E tests exercise the system through realistic interfaces and dependencies, often as a user would.

Example

Submit a capture form, validate it, call the tool, store the node, and display success.

Commonly confused with

Integration test

Common misconception

E2E tests are powerful but slower and often more fragile than smaller tests.

Eval — Evaluation Beginner
Plain-English definition

A structured measurement of how well an AI system performs.

More precise definition

Evals may score correctness, relevance, judgment, tone, safety, consistency, tool use, or schema adherence.

Example

Checking whether an agent chooses the correct Ember domains across 100 examples.

Commonly confused with

Test, benchmark

Common misconception

A software test often has exact expected output. An eval may measure quality using rubrics, judges, or statistical thresholds.

Table Test — Table-Driven Test Intermediate
Plain-English definition

One test pattern run against many rows of inputs and expected outputs.

More precise definition

Table tests keep repeated test logic in one place while varying cases through structured data.

Example

Testing one domain, two domains, no tags, and invalid values through the same formatter test.

Commonly confused with

Data table

Common misconception

The table is usually an array or list of cases, not necessarily a visual spreadsheet.

Fixture Intermediate
Plain-English definition

Prepared data used repeatedly in tests.

More precise definition

Fixtures create known starting state for users, records, files, responses, or environments.

Example

A valid capture fixture with domains, salience, and weight.

Commonly confused with

Mock

Common misconception

A fixture is test data or setup. A mock replaces behavior.

Mock Intermediate
Plain-English definition

A fake dependency with controlled behavior and expectations.

More precise definition

Mocks replace real components and may verify how they were called.

Example

Mock the Ember client and assert it received the correct payload.

Commonly confused with

Stub, spy

Common misconception

Mock, stub, and spy are related test doubles but emphasize different behavior.

Stub Intermediate
Plain-English definition

A simple fake that returns predefined results.

More precise definition

A stub replaces a dependency so the test receives predictable output without using the real system.

Example

Stub search to return two known nodes.

Commonly confused with

Mock

Common misconception

A stub mainly supplies behavior. A mock commonly verifies interaction.

Spy Intermediate
Plain-English definition

A test helper that records how a function was called.

More precise definition

A spy tracks call count, arguments, order, and return behavior while sometimes preserving the original implementation.

Example

Spy on sendMessage to confirm it ran once with the expected channel ID.

Commonly confused with

Mock

Common misconception

A spy observes calls. It does not always replace the implementation.

Smoke Test Beginner
Plain-English definition

A quick check that the major system paths are alive.

More precise definition

Smoke tests verify basic availability and critical functions after a build or deployment.

Example

Confirm the app loads, authentication works, and one tool call succeeds.

Commonly confused with

Sanity test

Common misconception

Smoke tests are broad and shallow. They do not prove every feature works.

Sanity Test Beginner
Plain-English definition

A narrow check that a specific change behaves plausibly.

More precise definition

Sanity testing focuses on the area just changed rather than exercising the entire system.

Example

Confirm the adapter still joins domains correctly after refactoring.

Commonly confused with

Smoke test

Common misconception

Smoke asks “Is the system broadly alive?” Sanity asks “Does this particular change appear sound?”

Contract Test Intermediate
Plain-English definition

A test that checks whether two systems still agree on their interface.

More precise definition

Contract tests validate requests, responses, schemas, errors, and compatibility between producers and consumers.

Example

Verify the app payload still matches the Ember tool schema.

Commonly confused with

Integration test

Common misconception

A contract test may run without the full real system if both sides share or verify the same contract.

Flaky Test Beginner
Plain-English definition

A test that passes and fails inconsistently without a meaningful code change.

More precise definition

Flakiness often comes from timing, shared state, network dependency, randomness, or poor isolation.

Example

An E2E test fails one run in ten because the page loads slowly.

Commonly confused with

Nondeterministic system behavior

Common misconception

Repeatedly rerunning a flaky test until it passes hides the problem and weakens trust.

Coverage — Code Coverage Intermediate
Plain-English definition

A measurement of how much code is executed by tests.

More precise definition

Coverage may report statements, branches, functions, or lines exercised during test runs.

Example

The unit suite covers 90% of branches.

Commonly confused with

Test quality

Common misconception

High coverage does not prove the tests check meaningful behavior.

Deploy Beginner
Plain-English definition

Putting a version of the software into a running environment.

More precise definition

Deployment may publish code, start services, update infrastructure, migrate data, and configure runtime settings.

Example

Deploy the approved build to staging.

Commonly confused with

Release, implementation

Common misconception

Deployment is the act of placing code into an environment. Release is making it available for intended use.

Release Beginner
Plain-English definition

A version of software made available for use.

More precise definition

A release groups approved changes, versioning, notes, artifacts, compatibility decisions, and rollout strategy.

Example

Release version 2.4.0 after staging verification.

Commonly confused with

Deployment

Common misconception

A build can be deployed internally without being released to users.

Staging Beginner
Plain-English definition

A production-like environment used for final testing before release.

More precise definition

Staging mirrors important production configuration and integrations while remaining isolated from live users or data where possible.

Example

Run the full capture workflow in staging before production.

Commonly confused with

Development, production

Common misconception

Staging is useful only if it resembles production closely enough to reveal real integration issues.

Production — Prod Beginner
Plain-English definition

The live environment used by real users.

More precise definition

Production carries real traffic, real data, operational risk, monitoring, and reliability expectations.

Example

The hotfix is now live in production.

Commonly confused with

Staging

Common misconception

A change working locally or in staging does not guarantee it will behave identically in production.

Canary Release Intermediate
Plain-English definition

Releasing a new version to a small portion of traffic first.

More precise definition

Canary rollout limits risk by measuring real behavior before expanding to all users.

Example

Send 5% of requests to the new router.

Commonly confused with

Feature flag

Common misconception

A canary controls exposure by traffic or instances. A feature flag controls whether a feature is enabled.

Shadow Mode Intermediate
Plain-English definition

Running a new system alongside the current one without letting it affect users.

More precise definition

Shadow mode receives copies of real inputs and records outputs for comparison while the existing system remains authoritative.

Example

Run the new agent router in shadow mode and compare decisions.

Commonly confused with

Canary release

Common misconception

Canary output affects a small group of users. Shadow output affects none.

Artifact Beginner
Plain-English definition

A produced file or output from a build or workflow.

More precise definition

Artifacts include binaries, packages, reports, generated sites, test results, screenshots, or deployment bundles.

Example

The built glossary HTML file is a release artifact.

Commonly confused with

Deliverable

Common misconception

A deliverable is the expected outcome. An artifact is a concrete produced object, often generated by the process.

Incident Intermediate
Plain-English definition

A production problem requiring coordinated response.

More precise definition

Incidents affect availability, correctness, security, data, or user trust and are managed through detection, mitigation, recovery, and follow-up.

Example

Captures are failing for all users after deployment.

Commonly confused with

Bug

Common misconception

A bug becomes an incident when its live impact requires operational response.

Postmortem Intermediate
Plain-English definition

A structured review after an incident.

More precise definition

A postmortem documents impact, timeline, root cause, contributing factors, response, and prevention work.

Example

Write a blameless postmortem after the capture outage.

Commonly confused with

Failure log

Common misconception

A good postmortem is not a blame document. It explains system conditions and improves future resilience.

No terms match that search yet. Try a broader word.