Technology

How we approach autonomous-agent engineering.

A proposed architecture and a set of design principles. Everything on this page is a reference model: how we think a dependable agent system should be organized, not a description of a shipped product.

Proposed reference model
On this pageIntroductionExecution lifecycleReference architectureObjective interpretationPlanning and decompositionTool selection and executionContext and memoryVerification and evaluationSafety and controlEngineering principlesDiscuss a problem
01

What an agent system needs beyond a model

A language model can propose the next step. A dependable agent system decides which proposals to accept, runs them under limits, and checks what happened.

We use “agent” in an operational sense: a system that pursues an objective through repeated cycles of planning, acting with tools and checking results. Seven concerns recur in every such system: interpreting the objective, planning, managing context, choosing and executing tools, verifying results, and enforcing safety and approval. The reference model below gives each a name, a responsibility and an interface so they can be designed, tested and replaced separately.

Conceptual architecture, not implemented capability
CONFegitech has not published a verified implementation of this architecture. There is no API, SDK or documentation to refer to, and no production deployment is implied. Where this page says what a component does, read it as what the design calls for.
02

The agent execution lifecycle

A run is a loop, not a line. After a step executes, the system observes what actually happened and compares it with what it expected. An unexpected result can send the agent back to revise its plan; a check that fails against the acceptance criteria sends it back to retry the step. The loop ends in one of three ways: the criteria are met, a person has to decide, or the run stops safely.

Agent execution lifecycleSix stages in sequence: interpret, plan, select tool, execute, observe, verify. An unexpected result at observe can revise the plan. Unmet criteria at verify send work back to execute.01Interpret02Plan03Select tool04Execute05Observe06VerifyUnexpected result: revise the planCriteria unmet: retry the step
  1. 01Interpret

    Turn the request into an objective with constraints and acceptance criteria.

  2. 02Plan

    Decompose the objective into steps with dependencies.

  3. 03Select tool

    Match the step to a permitted tool and check policy.

  4. 04Execute

    Run the step in a controlled environment and record the result.

  5. 05Observe

    Compare what happened with what was expected. An unexpected result can revise the plan.

    May revise the plan.

  6. 06Verify

    Check results against the criteria. Unmet criteria send work back to execution.

    Unmet criteria return to execute.

  • Criteria met

    The outcome is reported together with the evidence that supports it.

  • Uncertain or sensitive

    The run pauses and a person decides, with the evidence in front of them.

  • Unsafe or out of budget

    The run stops safely and reports what was done, what was not, and why.

Fig. 1Execution lifecycle. A conceptual model: the number of stages and the loops are design choices, not a description of shipped software.
03

Reference architecture

Six components and one control layer. The Planning Engine and the Verification Engine are joined by a feedback loop; the Tool Execution Layer sits inside a permission boundary; Context and Memory is a shared bus every component reads and writes under retention rules. The Safety and Control Layer is deliberately drawn apart: it is not a feature of one component but a constraint on the whole.

Permission boundaryPolicy checkFailed check → replanOutcomeC3Context and MemoryShared task stateC1Objective InterpretationC2Planning EngineC4Tool Execution LayerSelect · check · runC5Verification EngineCriteria → verdictC6Safety and Control Layerpermissions · policy checks · human approval · audit log · stop control
Select a component or step through them in order.
  • C1Objective Interpretation

    Converts a request into a structured objective: goal, constraints, scope, acceptance criteria and open questions.

    Receives

    A requestPolicy defaultsRelevant context

    Produces

    A structured objectiveClarifying questions when needed

    Controls. Disallowed objectives are refused or escalated. Acceptance criteria are required before planning begins.

  • C2Planning Engine

    Breaks the objective into steps with dependencies and per-step criteria, and revises the plan when results change.

    Receives

    The structured objectiveTask contextVerification feedback

    Produces

    A step graphReplanning decisions

    Controls. Plan size and depth limits. The plan is recorded in the log, with optional human review.

  • C3Context and Memory

    Holds and supplies the task information each component needs, within a budget and under retention rules.

    Receives

    ObjectivesResults and artefactsTool outputs

    Produces

    Scoped context viewsSummaries with provenance

    Controls. Retention and deletion rules, redaction of sensitive fields and per-task scope.

  • C4Tool Execution Layer

    Matches each step to a permitted tool, checks policy, then runs the call in a controlled environment and tracks its state.

    Receives

    A plan stepThe tool registryPolicy decisions

    Produces

    Results and artefactsStep state transitionsLog entries

    Controls. Allow-listed tools, declared scopes, sandboxing, timeouts, budgets and a stop control.

  • C5Verification Engine

    Checks results against the acceptance criteria and decides: pass, retry, replan or hand off to a person.

    Receives

    ResultsAcceptance criteriaEvidence

    Produces

    A verdict with evidenceFeedback to the plannerThe outcome or a reasoned handoff

    Controls. Deterministic checks first. Actor and verifier kept separate where feasible. Human review for high-stakes work.

  • C6Safety and Control Layer

    Enforces permissions and policy, requests human approval for sensitive actions, keeps the audit log and provides the stop control.

    Receives

    Proposed actionsPolicyApprover decisions

    Produces

    Allow, deny or require-approval decisionsAudit records

    Controls. Least privilege, action classes, append-only logging and an emergency stop.

Flow: C1 → C2 → C4 → C5 → outcome. C3 is shared by all. A failed check at C5 returns to C2. C6 constrains C4 and C5.

Fig. 2Conceptual reference architecture: proposed design, not a representation of a verified production deployment.

04

Objective interpretation

Most agent failures begin before the first action, with a request that was ambiguous, under-specified or quietly out of scope. Objective interpretation converts a request into a structured objective, and it insists on one thing before planning starts: a definition of done that can be checked.

Goal
What outcome is wanted, in one sentence a person could confirm.
Constraints
What must not change, what may not be touched, budgets for cost and time.
Scope
The systems, data and tools the task may involve, and nothing beyond them.
Acceptance criteria
Checkable statements. If a criterion cannot be checked, that is itself reported.
Open questions
Ambiguities to resolve by asking, rather than by guessing.
Risk class
How much damage a wrong action could do, which sets the default level of autonomy.

Open question: how much clarification helps before it becomes an obstacle? Too few questions yields guesses; too many removes the value of delegation.

05

Planning and decomposition

A plan is the agent’s commitment about what to do and in what order. Making it explicit, as a stored graph of steps with dependencies rather than a sequence implied by a chain of calls, is what lets anyone review it and lets the system revise it deliberately.

Each step carries the capability it needs and its own checkable criterion. Steps that do not depend on one another can run in parallel. The plan is recorded, can be shown to a person for review before execution, and has limits on size and depth so that decomposition cannot run away.

Replanning triggers

  • A step fails in a way retrying will not fix.
  • A result contradicts an assumption the plan relied on.
  • New information changes the objective’s constraints.
  • A budget is being consumed faster than the plan allowed for.

Open questions

  • How do you know a plan is adequate before running it?
  • When should a plan be patched, and when replaced?
  • How is a stale plan detected?
06

Tool selection and execution

A tool is a capability with a contract: what it takes, what it returns, what it can change and what it costs. Selecting a tool means matching a plan step to a contract the agent is permitted to use, then preparing the parameters. Only after a policy check does the call reach the execution runtime.

FieldWhy it exists
Typed inputs and outputsMalformed calls can be rejected before they run, and results can be validated.
ScopeThe data and systems the tool may touch for this task.
Side-effect classWhether the tool only reads, changes something reversibly, changes something permanently, or acts outside the organization.
Cost and time limitsKeeps a loop of calls inside the run’s budget.
IdempotencyDecides whether a failed call can safely be repeated.
Failure modesLets the runtime classify an error instead of treating all errors alike.

The execution runtime treats every step as a state with allowed transitions: pending, running, awaiting approval, succeeded, failed and retryable, failed and terminal, cancelled. Because transitions are defined, a failure leads somewhere specific. The runtime also checkpoints progress, enforces timeouts and budgets, and offers a stop control that does not depend on the agent’s cooperation.

Open question: where are rollbacks feasible once a tool has acted on an external system?

07

Context and memory

Context is a budget, and memory is a liability: each fact kept should earn its place and have a reason to expire. The reference model keeps three layers apart so that each can have its own scope and rules.

LayerHoldsLifetimeGoverning rule
Working contextWhat a component needs right now, assembled for one step.One step or sessionFits a size budget; built from scoped views, not raw history.
Task stateThe objective, the plan, results and artefacts so far.The taskTagged with provenance; deleted when the task closes unless policy says otherwise.
Retained memoryAnything kept beyond the task.Defined by policyNeeds a stated purpose, an owner and an expiry. Sensitive fields are minimized or redacted.

Open questions: what to summarize versus keep verbatim, and what an agent should forget.

08

Verification and evaluation

Done is a checked state. A system reports completion only after the evidence meets the criteria set at the start, and it stores that evidence with the run. The strongest check available for the task is used first.

CheckExampleStrengthCaveat
DeterministicTests pass, schema validates, totals reconcile.Repeatable and objective.Only as good as the test or rule.
Reference-basedOutput compared with a known-good result.Catches drift from a baseline.Needs a trustworthy reference.
Model-assistedA second model judges output against a rubric.Covers criteria that are hard to code.Can share the actor’s blind spots; use alongside other checks.
Human reviewA person inspects the evidence and decides.Handles judgement and context.Costs time; evidence must be presented so review is possible.

Where feasible the verifier is kept separate from the actor, because a system tends to miss its own mistakes. Evaluating the system as a whole is a different problem: task-level success against acceptance criteria, step correctness, recovery from failure, cost and time, and how often a person had to intervene. Any one of these numbers can mislead on its own, which is why we treat evaluation method as a research topic. There are no results to report today.

Open question: who checks the checker?

09

Safety and control

Autonomy is granted in proportion to what a task can break and what can be checked, never by default. The control layer enforces that proportion through permissions, approvals, logging and stop controls. It reduces and exposes risk; it does not remove it.

Action classExamplesDefault policy in the model
Read-onlySearch, query, read a file.Allowed within the task’s scope and logged.
Reversible writeEdit on a working branch, create a draft.Allowed within limits, with the change recorded so it can be undone.
IrreversibleDelete, overwrite, deploy.Requires human approval, with the evidence attached.
Externally visibleSend a message, change a record in another system.Requires human approval, or stays out of scope.

Controls the model calls for

  • Permissions granted per task, narrowly, expiring with the task.
  • Approval requests that carry evidence, not a bare yes or no.
  • An append-only log of plans, calls, policy decisions, checks and approvals.
  • Stop controls that do not rely on the agent’s cooperation.
  • Data handling rules that also cover the traces themselves.
What this does not claim
No claim of perfect safety, absolute security or zero errors. The controls are design requirements, and their effectiveness would have to be demonstrated by evaluation before anyone relied on them.

Open question: how do we design approvals that people can actually review well?

10

Engineering principles

Ten principles we design to. They are commitments about how we work, and none is a claim about results.

  1. Define done first. An objective carries acceptance criteria before work starts, so completion is checked rather than asserted.
  2. Plans are artefacts. A plan is stored in a structured, reviewable form and revised deliberately, not implied by a chain of calls.
  3. Tools are contracts. Each tool declares typed inputs and outputs, scope, side-effect class, cost and failure modes.
  4. Least privilege, by task. Access is granted per task, narrowly, and expires with it.
  5. Verify before reporting. A result is reported complete only after checks against the criteria.
  6. Separate actor and verifier where feasible. Independent checks catch errors the actor cannot see.
  7. Design for failure. Classify errors, bound retries, and stop safely with a report a person can use.
  8. Make runs observable. Plans, calls, decisions and checks leave an inspectable trace.
  9. Keep people in charge of consequence. Irreversible or externally visible actions need approval.
  10. State maturity plainly. Label every capability as planned, research, prototype or verified.

Contact

Discuss an agent architecture problem.

If you are designing, evaluating or questioning an agent system, tell us what you are working on.