Software units

Give your agent the implementation context for a feature. Software units connect architectural responsibilities to source files, specifications, dependencies, and checks.

Why software units exist

When work spans several files, the agent needs to know which responsibility each part implements. Software units connect high-level specifications to the files that implement them.

A named, versioned Unit represents one architectural responsibility: a file or a focused set of files. It links Unit Type rules, specifications, dependencies, commits, and verification state.

The implementation layer between specifications and code

Navigate from intended behavior to implementation responsibility and source files.

PRODUCT INTENT

Requirements and specifications

Requirements explain the behavior and outcome. Focused UI, API, data and other specifications describe the product contract in detail.

Why and what should exist

IMPLEMENTATION CONTEXT

Software unit

Stable identity, architectural role, Unit Type rules, file boundary, dependencies, linked specifications and current verification state.

What this code means and how it should change

IMPLEMENTATION

Source files and commits

Repository paths identify the files that implement the Unit. Commits show how that implementation changes over time.

Where the behavior is implemented

One responsibility connects specifications to files

As example, an approval dialog links to the product behavior, UI, API and data it implements. Its software unit identifies the files that belong to that responsibility.

Requirement REQ-24 Approve an expense, UI-08 Approval dialog, API-15 Approve expense and D-12 Expense link to software unit U-42 Approval dialog. The unit maps to ApprovalDialog.vue, useApprovalDialog.ts and ApprovalDialog.test.ts in /components/approvals/.

Architecture guidance reaches the same files

The unit belongs to a subsystem and follows a Unit Type. The subsystem Code Manifest, type rules and Unit-Specific Implementation Guidelines explain how its code should be built.

The same U-42 Approval dialog belongs to the Frontend subsystem and follows the UI component Unit Type. The subsystem Code Manifest, Unit Type rules and the unit’s own implementation guidelines all guide changes to its source files.

Illustrative example. Each project defines its own Unit Types, allowed specification links and file composition rules.

What lives inside a software unit

Identity and lifecycle

A stable key, name, subsystem, project domain, lifecycle status and branch-aware revisions preserve the Unit's identity as the implementation evolves.

Files and boundaries

Normalized repository paths define the files that belong to the Unit. One Unit can represent a single file or a composite implementation artifact.

Architecture contract

The subsystem Code Manifest, Unit Type rules and Unit-Specific Implementation Guidelines tell people and agents how this implementation role should be built.

Connected evidence

Related specifications, dependencies, consumers, commits, sync state, verification results and Findings expose the wider implementation context.

One concept, different code shapes

Unit boundaries follow architectural responsibility, not a universal file count or folder convention. Unit Type rules define the right shape for each project.

FRONTEND · COMPOSITE

Sign-up form component

/components/auth/SignupForm.vue
/components/auth/useSignupForm.ts
/components/auth/SignupForm.test.ts

A composite Unit can group the component, its behavior, and tests when the Unit Type permits it.

BACKEND · SINGLE ROLE

Register user action

/app/Actions/Users/
RegisterUserAction.php

A single-file Unit still follows its type’s naming, placement, dependency, and behavior rules.

INTEGRATION · COMPOSITE

Billing provider adapter

/billing/BillingClient.ts
/billing/billing-contract.ts
/billing/BillingClient.test.ts

Files belong together when they implement one responsibility; imports alone do not define a Unit.

These examples are illustrative. Each project defines its own Unit Types and composition rules.

Software units through the project lifecycle

Use units for onboarding, feature work, and maintenance in the selected branch.

1
EXISTING CODEBASE

Discover implementation structure

Connect repositories by subsystem and branch. Unit Discovery can map selected files to existing or new Units, select applicable Unit Types and refresh direct dependencies.

2
FEATURE PLANNING

Define the affected implementation

Connect product specifications to the Units that implement them. For new behavior, define the intended Unit role and boundary before or during implementation.

3
IMPLEMENTATION

Deliver focused context

Supply the manifest, type and unit guidance, specifications, files, and dependencies relevant to implementation.

4
REVIEW & MAINTENANCE

Trace and verify the result

Inspect commits that touched the Unit, check alignment with linked specifications and compliance with implementation rules, then turn confirmed problems into Findings.

FILE PATH → FOCUSED CONTEXT

Give a coding agent an implementation anchor, not a repository dump

MCP provides trace-file tool to resolve a mapped path to its units and connected context.

Use Reqode MCP as the source of truth.
Update /components/auth/SignupForm.vue for CR-123.
REQODE RESOLVES

The context that applies now

  • Current project, subsystem and branch
  • Owning software unit and Unit Type
  • Subsystem, type and Unit-specific rules
  • Linked specifications, files and direct dependencies