# The Agent Was a Folder

Two accounting case studies show how filesystem-defined agents, an interactive workbench and deterministic controls fit together—and when a VPS still matters.

Published: 2026-08-24
Canonical: https://darrylwong.me/posts/the-agent-was-a-folder
Topics: Agent Architecture, Professional Practice

## How two accounting agents worked without an installed autonomous-agent runtime

**By Darryl Wong · 24 August 2026**

I run full-stack autonomous-agent platforms on a VPS. They offer the features normally associated
with a “real” agent: persistent processes, memory, messaging channels, schedules, tools, and remote
access.

Yet for complex professional work, the agents that felt most capable were not those deployments.

They were folders opened in the ChatGPT/Codex desktop app.

I borrowed the filesystem-first idea associated with Vercel’s eve: permanent instructions live in a
predictable location, situational procedures live in skill directories, and ordinary files make the
agent inspectable and versionable. But I did not install eve in either case. The desktop app supplied
the model, tools, file access, interaction loop, and artifact workspace.

This is not a claim that ChatGPT is universally better than self-hosted platforms. It is an experience
report about a distinction that became clearer while building these systems:

> Agent intelligence, agent definition, interactive harness, and operations infrastructure are
> separate layers. They do not have to come from the same product.

Two private accounting projects made that distinction concrete. One is a thick deterministic agent
system. The other is a thin seven-file operating contract. Neither installs an autonomous-agent
runtime, and both have been useful for supervised professional work.

## What I mean by “the agent is a folder”

A folder-defined agent might look like this:

```text
agent-workspace/
├── AGENTS.md
├── agent/
│   ├── instructions.md
│   └── skills/
├── knowledge/
├── contracts/
├── evals/
├── scripts/
└── work/
```

The files supply identity, operating rules, domain procedures, evidence requirements, tests, and
working state. Git can show when an instruction changed, which skill was revised, and how the
architecture evolved.

But the folder is not necessarily a runtime. It does not automatically provide an event loop,
checkpointing, webhooks, authentication, per-session containers, or a messaging gateway. Some other
system must interpret the files and do the work.

In my case, that system was ChatGPT/Codex.

The resulting capability came from four layers:

```text
Model
  reasoning · coding · multimodal understanding
        │
Agent definition
  instructions · skills · knowledge · authority boundaries
        │
Interactive harness
  files · shell · browser · plugins · artifact inspection · approvals
        │
Operations runtime
  schedules · queues · channels · persistence · isolation · service delivery
```

Full-stack platforms bundle much of this. A folder-defined approach lets us choose the source of each
layer.

## Case study one: a thick financial-statement agent

The first system prepares draft Singapore FRS financial statements for professional review. It is not
just a long system prompt. The private repository contains:

- one short permanent instruction contract;
- twelve bounded accounting and document-production skills;
- a deterministic engagement state machine;
- a deterministic accounting and reconciliation engine;
- structured CSV and JSON handoff contracts;
- source and artifact hashing;
- downstream invalidation when upstream evidence changes;
- document generation and package validation;
- PDF rendering and presentation QA; and
- explicit human and auditor authority boundaries.

The workflow is staged:

```text
Intake
  → trial-balance mapping
  → statements and note schedules
  → cash-flow preparation
  → reconciliation
  → disclosure tailoring
  → Word production
  → presentation QA
  → named human approval
  → independent review
```

Each stage must produce the required versioned artifact before the next stage can pass. Missing
evidence blocks the workflow. An upstream change marks affected downstream work stale. The agent may
recommend a mapping or accounting treatment, but it cannot grant itself accounting approval, approve
the financial statements, or control the appointed auditor’s report wording.

This separation matters. A persuasive model response is not an accounting control.

### Deterministic evidence

The repository includes a synthetic non-client demonstration containing:

- 15 zero-difference accounting and cash-flow reconciliation controls;
- 39 evidence-backed disclosure-applicability decisions;
- 29 note-to-statement and movement tie-outs;
- client-specific DOCX generation;
- A4 PDF presentation QA; and
- a final stop at a named-human approval gate.

On 24 August 2026, I reran its regression suite. It executed 41 tests: 40 passed, one end-to-end Word
rendering test was skipped because the rendering tools were unavailable in that invocation, and none
failed.

The suite tests conditions such as unbalanced trial balances, unapproved mappings, missing disclosure
evidence, note differences, artifact tampering, stale downstream work, skipped prerequisites, and
approval invalidation.

The architecture is therefore closer to this:

```text
ChatGPT/Codex
  investigation · judgement support · skill routing · human interaction
                         │
Deterministic control plane
  state · hashes · prerequisites · invalidation · approval gates
                         │
Deterministic domain engine
  mapping · schedules · reconciliation · disclosures · document generation
```

ChatGPT/Codex supplied the reasoning workbench. It did not replace the accounting invariants.

### Lesson from case one

For high-stakes professional work, unrestricted autonomy was not the goal. The valuable architecture
placed interpretation and investigation in the interactive agent while keeping arithmetic, evidence
checks, stage passage, and release authority outside model discretion.

Installing a full-stack runtime could add service infrastructure. It would not automatically improve
the accounting logic.

## Case study two: a thin corporate-tax agent

The second system is almost the opposite.

It is a portable workspace for preparing draft Singapore corporate income tax computations. Its
distribution contains only seven files:

```text
AGENTS.md
README.md
PORTABLE_README.md
agent/instructions.md
knowledge/README.md
evals/README.md
tmp/README.md
```

It has no reusable tax calculation engine and no embedded approved tax-rule database. The user opens
the folder in Codex, identifies an authorized client workspace and Year of Assessment, and asks the
agent to prepare or review the computation.

The folder contributes the professional operating contract. It requires the agent to:

- identify the correct Year of Assessment and basis period;
- reconcile revenue and accounting profit or loss to source accounts;
- reconcile brought-forward tax balances to filing evidence;
- distinguish facts, tax rules, assumptions, and reviewer judgement;
- verify current rules against official IRAS or Singapore legislation sources;
- use formula-driven schedules with visible assumptions and checks;
- preserve prior-year and filed documents;
- surface missing evidence and unresolved review points; and
- mark every output `DRAFT - FOR REVIEW` until approved.

It also prohibits the agent from claiming that a return was filed, making an election, contacting a
client, or submitting information without separate authorization and trusted confirmation.

Most implementation capability comes from the host. ChatGPT/Codex reads workbooks and source files,
researches current rules, uses installed tax and spreadsheet skills, builds formulas, renders sheets,
checks legibility, and discusses uncertain treatments with the human reviewer.

At the time of this review, the private workspace contained three `.xlsx` output artifacts and three
`.ndjson` execution records across three output folders. Those counts demonstrate workbook-producing
usage. They are not a claim of independently assessed tax correctness or completed filing.

The architecture looks like this:

```text
Seven-file workspace
  evidence rules · output contract · confidentiality · authority boundary
                         │
ChatGPT/Codex host
  model · files · Excel tools · web research · rendering · skills
                         │
Human tax professional
  judgement · review · approval · filing authority
```

### Lesson from case two

When the host already supplies strong models, spreadsheet tooling, research, file handling, and
artifact inspection, a useful domain agent may require surprisingly little application code.

The folder’s main job becomes governance: define what evidence to use, what output to produce, how to
show uncertainty, and where the agent’s authority ends.

This pattern has a real limitation. Reproducibility depends more heavily on the host’s model version,
reasoning settings, skills, plugins, context management, and available tools. The folder alone does
not create the capability.

## Two valid filesystem-agent patterns

The cases sit at opposite ends of a useful spectrum:

| Dimension | Financial-statement agent | Tax-computation agent |
| --- | --- | --- |
| Agent definition | Extensive | Minimal |
| Specialized skills | 12 bounded skills | Primarily standing instructions and host skills |
| Deterministic engine | Yes | No reusable calculation engine |
| State | Explicit engagement control plane | Directed through workspace and host task context |
| Validation | Regression suite and structured controls | Formula checks, visual review, and professional review |
| Main artifact | DOCX, PDF, and structured workpapers | Formula-driven Excel workbook |
| Dependence on host | Moderate | High |
| Eve runtime installed | No | No |

Case one is a **thick agent with a thinner host dependency**. Case two is a **thin agent with a thicker
host dependency**.

Both are legitimate. The correct choice depends on which behavior must be deterministic,
reproducible, independently testable, or continuously available.

## Why the desktop app felt more powerful than my VPS agents

My VPS platforms remain more autonomous. But the desktop app often feels more capable during complex
supervised work because practical capability is multiplicative:

```text
Effective capability ≈
  model reasoning
  × context quality
  × tool quality
  × verification
  × human feedback bandwidth
```

A platform can have excellent memory, schedules, and messaging while still underperforming if it uses
a weaker model, exposes noisy tools, truncates useful context, or makes intermediate artifacts hard to
inspect.

The ChatGPT desktop app is designed around parallel projects, files, computer use, plugins, scheduled
tasks, and long-running work. In these accounting cases, the tight interaction loop also mattered. I
could provide a missing source, inspect a workbook, review a rendered page, correct an assumption, or
stop an unsafe path before a small error compounded.

What felt like greater “agent intelligence” was partly model capability and partly a better harness
for human-agent collaboration.

## What the VPS still does better

This does not make full-stack platforms obsolete. A VPS remains the natural home when the system must:

- remain continuously available;
- receive arbitrary webhooks and external events;
- serve multiple users through stable APIs or messaging channels;
- run private-network automations;
- use custom queues, retries, and service-level controls;
- enforce infrastructure-level tenant isolation;
- use local models or switch providers freely; or
- continue operating without an interactive human workspace.

OpenClaw emphasizes an always-on, multi-channel personal-agent gateway. NanoClaw emphasizes small,
understandable multi-agent infrastructure with container isolation. Hermes emphasizes persistent
memory, learned skills, messaging, schedules, and provider flexibility. Eve provides a framework for
durable sessions, sandboxed compute, approvals, subagents, evaluations, and deployable channels.

Those are operations advantages. They should not be confused with domain intelligence.

## The hybrid architecture I now prefer

The useful conclusion is not “desktop or VPS.” It is to assign each layer deliberately:

```text
                    Shared agent definition
             instructions · skills · contracts · tests
                              │
                 ┌────────────┴────────────┐
                 │                         │
          ChatGPT/Codex                 VPS runtime
          reasoning                     schedules
          investigation                 webhooks
          artifact creation             messaging
          human review                  queues and retries
          interactive approval          persistent services
```

Use the strongest interactive environment for ambiguous work requiring judgement. Put arithmetic and
high-risk invariants in deterministic code. Deploy only the workflows that genuinely require
continuous autonomy.

The folder can remain the shared source of truth between the cockpit and the engine room.

## Conclusion

My experience does not show that ChatGPT is universally better than self-hosted agent platforms. It
shows that, for supervised professional work, a strong interactive harness combined with a
filesystem-defined domain agent can provide more practical capability than an always-on platform
whose model, tools, context engineering, and review interface are weaker.

The first accounting case needed substantial deterministic machinery. The second needed little more
than a carefully bounded operating contract. The same host made both useful because it could interpret
the folder, access the necessary tools, produce inspectable artifacts, and keep a human professional
inside the decision loop.

ChatGPT/Codex is the better cockpit for this class of work. The VPS is still the better engine room.
The agent can be the folder that connects them.

---

## Method and limitations

This is an experience report, not a controlled product benchmark. The case-study repositories and
client materials are private. Architecture descriptions, artifact counts, and test results have been
sanitized. No client names, balances, tax positions, or identifying records are included.

Results depend on model selection, reasoning effort, available tools, installed skills, prompt and
context quality, task type, and human supervision. The accounting systems prepare drafts for
professional review; they are not autonomous accountants and do not independently approve or file
financial or tax documents.

Product descriptions are current as of 24 August 2026.

## Public sources

- Vercel, [Introducing eve](https://vercel.com/blog/introducing-eve)
- OpenAI, [ChatGPT desktop app](https://learn.chatgpt.com/docs/app)
- OpenAI, [Long-running work](https://learn.chatgpt.com/docs/long-running-work)
- OpenClaw, [Features](https://docs.openclaw.ai/concepts/features)
- NanoClaw, [What is NanoClaw?](https://docs.nanoclaw.dev/introduction)
- Nous Research, [Hermes Agent](https://github.com/NousResearch/hermes-agent)


## Sources

- [Read the source Gist](https://gist.github.com/oruenboi/f3851ba29998b8e9415ba6824a8714ff)
