Qoc

Trading as collaboration

You and the agent share the same workspace files. The agent proposes; you decide. Neither acts alone.


Qoc is designed around a clear division of roles: the agent handles research, synthesis, and proposal generation; you retain decision authority at every step.

Shared files, shared context

The workspace is a directory both you and the agent read and write. When the agent completes a research task it writes its findings to research/. When it forms a view it writes a proposal to orders/pending/. When you leave a note about a thesis you want explored you drop a file into inbox/.

Because the medium is plain text files, you can open any file in your editor, review it, annotate it, or delete it — no special tool required. The agent picks up your edits on its next run.

How a collaborative trade cycle works

  1. 1

    You set direction

    You drop a brief into inbox/ (or open a GitHub issue linked via qoc run <issue>): a hypothesis, a sector you want researched, a stop-loss threshold you want re-evaluated.

  2. 2

    The agent researches

    The agent reads the brief, pulls market data through the Data Hub, runs technical analysis via MCP tools, and writes its findings to research/. You can read this file at any time.

  3. 3

    The agent proposes

    If the research supports action, the agent writes a structured order proposal to orders/pending/. The file includes the rationale, the specific order parameters, and a reference to the research it relied on.

  4. 4

    You review

    You read the proposal file. You can approve it, edit it (e.g., adjust quantity), or reject it by deleting the file. The agent does not submit anything until you confirm.

  5. 5

    Execution and record

    On approval, Qoc submits the order to the venue. The filled record lands in orders/filled/ and is captured in the next snapshot. The research and the order file persist in history.

The agent proposes; you commit

No order reaches a venue without crossing your approval boundary (unless you have explicitly disabled require_approval for a specific schedule). This is the core safety property of the collaborative model.

Division of roles

You define the investment mandate, set guard thresholds, approve or reject proposals, and own all final decisions. The agent monitors the inbox, runs research tasks, maintains research notes, generates order proposals, and can execute on a schedule within the guard boundaries you set.

Neither role can replace the other. The agent can process more data faster than a human; you carry context the agent cannot infer — your risk tolerance, tax situation, off-system obligations, and judgment about model quality.

Role division at a glance

ResponsibilityYouAgent
Set investment mandateYesNo
Configure guardsYesNo
Market data retrievalOptionalYes
Research and analysisOptionalYes
Draft order proposalsOptionalYes
Approve/reject ordersYesNo (by default)
Monitor fills and positionsOptionalYes

Dropping a brief into the inbox

The agent picks up any file placed in inbox/ on its next run
sh
# Write a research brief directly
cat > ~/my-desk/inbox/q3-review.md << 'EOF'
## Brief: Q3 sector rotation check

Review current sector allocations against the Q3 macro outlook.
Flag any position where concentration exceeds 15% of equity.
Propose rebalancing trades if needed. Max 3 trades.
EOF

# Kick off an agent run against the inbox
qoc run inbox/q3-review.md

Link a GitHub issue directly

If your team tracks investment theses in GitHub Issues, run qoc run <issue-url> to hand the issue directly to the agent as a task. The agent reads the issue body and any comments, then proceeds through the standard research → propose cycle.