Functional Specification¶
Define the expected input-output behavior of a component, process, role, model, or policy so it can be used, tested, replaced, or governed predictably.
The Diagnostic Story¶
Symptom: Teams spend meeting after meeting relitigating what a component, role, or process was supposed to do. Integrations break because callers assumed behavior the provider never committed to, tests rely on the reviewer's personal judgment rather than stated criteria, and new implementers reproduce the label of a function without reproducing its actual behavior.
Pivot: Make expected behavior explicit: define valid inputs, expected outputs, transformation rules, edge-case handling, and observable acceptance criteria, then assign responsibility for keeping the specification current when conditions change.
Resolution: Ambiguity disputes drop because the reference point is written down and verifiable. Components can be tested, substituted, and governed predictably, and edge-case failures become specification gaps to close rather than mysteries to debate.
Reach for this when you hear…¶
[API platform engineering] “Every consumer assumed a different null behavior on that endpoint because we never wrote it down — the spec meeting was painful but the integration failures after were worse.”
[healthcare role design] “Three departments each thought they owned the discharge decision and patients fell through the cracks — you have to write down who does what or the gap owns it.”
[regulatory compliance] “The auditor asked what the process was supposed to produce and we could not answer — we had the process but not the specification of what correct output meant.”
When This Archetype Applies¶
Complete catalog groundingAt least one sufficient condition set is fully represented by existing primes or domain-specific abstractions.
Diagnostic problem
A component, process, role, model, or policy receives inputs and produces outputs, but the expected transformation is ambiguous, inconsistent, undocumented, or contested.
What this problem means
The structural problem is behavioral ambiguity around a function-like element. Something receives inputs and produces outputs, but the mapping is implicit, inconsistent, undocumented, or contested.
This ambiguity appears in many domains. A software service may accept requests but fail to say which errors are possible. A policy may state an intent but not define how eligibility decisions are made. A role may have a title but no clear handoffs or deliverables. A clinical protocol may describe ordinary treatment but leave contraindications or escalation behavior unclear.
The result is a reliability gap. Users cannot predict behavior, implementers cannot reproduce it, auditors cannot evaluate it, and replacement providers cannot be compared against a stable expectation.
Show the applicability expression
Applicability expression5 distinct conditions
groundedpartly groundedopen
5 conditions, all required.
5At least one of theselettered A–E
Any single one of these completes the pattern.
Ambiguous observable behavior · grounded · any one of 3
Required externally observable behavior is ambiguous.
The source archetype describes the situation as follows: Behavioral ambiguity. The normalized requirement above isolates the load-bearing portion used in this condition set.
Missing conformance criteria · open
The specification leaves a gap in testable conformance criteria.
The source archetype describes the situation as follows: Testability gap. The normalized requirement above isolates the load-bearing portion used in this condition set.
Ambiguity creates substitution risk · open
Ambiguous required behavior creates substitution or procurement risk.
The source archetype describes the situation as follows: Substitution or procurement risk. The normalized requirement above isolates the load-bearing portion used in this condition set.
Unresolved outcome accountability · grounded
The behavioral contract leaves accountability for outcomes unresolved.
The source archetype describes the situation as follows: Accountability gap. The normalized requirement above isolates the load-bearing portion used in this condition set.
Underspecified edge failure · grounded
An underspecified edge case causes failure.
The source archetype describes the situation as follows: Edge case failure. The normalized requirement above isolates the load-bearing portion used in this condition set.
Coverage
3 of 5 conditions grounded · 2 open.
None of the 2 open conditions sit in the shared core — each falls inside one alternative branch, so grounding any one of them closes only that branch.
Mechanisms / Implementations¶
- API Specification: Defines a software service's behavior at its network boundary — the endpoints it exposes, the requests it accepts, the responses and status codes it returns, and how versions evolve — so any client can integrate against it without reading its code.
- Role Charter: Constitutes a role or governing body as a legitimate office — fixing its remit and decision authority, the path by which it answers for its actions, and how it is properly filled and vacated.
- Policy Implementation Rule: Converts a policy's intent into an operational decision rule — the concrete logic that maps a case to a categorical outcome, the exceptions and appeal paths around it, and the versioned record of how the rule changes over time.
- Testable Requirement: States a single expected behavior in a form a specific test can confirm or refute — a given precondition and stimulus paired with the exact postcondition that must result — so 'did it work?' has one unambiguous answer.
- Service-Level Definition: Specifies the quality dimension of a service as a measured commitment — the performance or availability range it promises, the signal that measures it, and the threshold that counts as meeting or breaching the promise.
- Model Specification: States the inputs a model accepts, the outputs and ranges it produces, and the assumptions and scope of validity under which those outputs can be trusted — so downstream users know where the model applies and where it must not be used.
- Clinical Protocol Definition: Specifies when a defined patient-care pathway does and does not apply — its indications and contraindications, the danger signs that halt it and the escalation they trigger, and the clinical body accountable for keeping it current.
- Type Signature: Names a function and declares, in the type system itself, exactly what kinds of value it accepts and what kind it returns — so a compiler rejects out-of-domain calls before the code ever runs.
- Input Validation: A runtime gate that checks each incoming case against the accepted input domain and, for anything malformed, incomplete, unsupported, or unsafe, rejects, defers, or escalates it before the main logic ever runs.
- Output Schema: Declares the fields, formats, and value categories a function or service is allowed to emit, so nothing outside its codomain can be returned in a well-formed response.
Related Abstractions¶
Abstractions this archetype builds on — directly (a source ingredient) or as a related pattern. Links follow the typed catalog namespace.
Built directly on (3)
- Closure: Ensures operations remain within a set.
- Function (Mapping): Relates inputs to outputs.
- Representation: Model complex ideas.
Also references 7 related abstractions
- Accountability: Responsibility for actions.
- Boundary: Defines system limits.
- Constraint: Limits possibilities to guide outcomes.
- Data Integrity: Accuracy and consistency preserved.
- Observability: Infer internal state externally.
- Relation: Describes associations or dependencies.
- Versioning: Tracks incremental changes over time.
Variants¶
Narrower or domain-specific specializations that share this archetype's core structure. Recognized variants are established; candidate variants are provisional.
Domain–Codomain Delimitation · subtype · promote to full archetype candidate
Defines the valid input space and valid output space of a function, process, model, or policy so it does not receive, produce, or promise unsupported values.
Partial Function Fallback · risk or failure variant · recognized
Defines safe behavior for inputs outside a function’s supported domain rather than allowing undefined, arbitrary, or unsafe failure.
Testable Requirement Specification · mechanism family variant · likely subtype
Expresses expected behavior as requirements that can be checked, falsified, demonstrated, or audited.
Editorial Notes¶
Problem Classification¶
Classification: Composition, Interface & Interoperability Failure → Leaky Contracts & Failed Substitutability
Problem kernel: component transformation behavior is undocumented and contested
Rationale: Inputs and outputs exist, but no stable functional contract states what relation, tolerances, side effects, and invariants users may rely on.
Independent corroboration: The earliest necessary condition in the frozen evidence is: A component, process, role, model, or policy receives inputs and produces outputs, but the expected transformation is ambiguous, inconsistent, undocumented, or contested. That is a leaky contracts and failed substitutability problem because Component behavior, acceptable variation, extension, and replacement depend on undocumented internals because stable functional and representation-independent contracts are absent.
Review outcome: Independent reviewer agreement; high confidence.