# Nine research roles, a Head Manager, and no execution agent

> TradingCodex turns the Codex CLI into a research team where the Head Manager chooses the smallest useful group of agents for the question in front of you, and where the useful residue is static: snapshots, wikis, inquiry frameworks and decision records you can read and version. Nothing it produces becomes a broker action on its own, and that constraint is enforced by an absent component rather than a warning label.

**monarchjuno/tradingcodex** — Turn Codex into your investment workflow team

- Repository: https://github.com/monarchjuno/tradingcodex
- Website: https://discord.gg/Wr25KZnabh
- Stars: 372 · Forks: 65
- Language: Python
- License: Apache-2.0
- Published: 2026-09-17 · Updated: 2026-09-17 · Language: en
- Canonical page: https://hysenlabs.com/projects/monarchjuno-tradingcodex

## Research-first, local-first, paper-first

Three principles are stated in one line, and the third is the load-bearing one: research-first, local-first, and paper-first. The consequence is stated in the same paragraph, and it is the one that shapes the whole architecture: a research answer never becomes a broker action on its own.

The absence is deliberate. There is no execution agent in the team, and the skills that ship with the project end their example prompts with the words No order, which puts the constraint into the text you paste rather than leaving it to a policy file.

Local-first shows up as a workspace on your disk and a service bound to loopback, with the viewer defaulting to http://127.0.0.1:48267/.

One thing to reconcile yourself: the package description on PyPI calls this a local-first investment operating system for Codex-native research and service-gated execution, while the README says plainly that no research answer becomes a broker action. Both can be true, because execution can exist as a gated concept without an agent that performs it, but the section of the README that would explain the gate, headed The guardrail, is cut off partway through in the copy available here, so read that section in the repository before you draw your own conclusion.

There is also a TRADEMARKS.md at the root and a NOTICE file beside the Apache-2.0 LICENSE, which is worth reading before you put the name on anything public.

## The Head Manager picks the smallest useful team

The claim the project leads with is that it does not send every ticker through the same checklist. Head Manager reads the mandate, chooses the smallest useful group of agents, runs independent work in parallel when useful, and revises the team when accepted evidence exposes a new gap or conflict.

That last clause is what makes the arrangement a team rather than a pipeline. Team membership is a response to what came back, so a conflict between the news analyst and the valuation analyst can add a role rather than average two outputs.

The loop is short and is written out in the README as a text diagram: question, then Head Manager, then the smallest useful specialist wave, then accepted evidence and artifacts, then a choice among follow up, add a role, request review, synthesize or stop, and then the next question or decision.

The framing sentence is worth keeping: the next agent is chosen by the next useful question, not by a preset research DAG. A narrow question can stay direct, and only a high-consequence recommendation expands to independent portfolio, risk and judgment review.

The Head Manager is not a separate model. It inherits whichever Codex model and reasoning setting is active in your CLI, and the project recommends gpt-5.6-sol with high or xhigh reasoning for full research workflows.

## Nine roles, and one of them argues with the rest

The roster is nine named specialists, each with a stated domain. Fundamental Analyst brings business model, financials, filings and economics. Technical Analyst brings price, trend, momentum, volume, volatility and liquidity. News Analyst brings disclosures, news, chronology and narrative change. Macro Analyst covers rates, FX, commodities, policy and macro transmission. Instrument Analyst handles ETF, index, options, crypto and market-structure mechanics. Valuation Analyst produces ranges, scenarios, sensitivities and valuation gaps.

Three of them are not analysts. Portfolio Manager looks at portfolio fit, sizing, concentration and readiness. Risk Manager handles downside, restrictions, risk checks and approval readiness. And Judgment Reviewer exists to challenge the evidence independently, along with conflicts and confidence.

Judgment Reviewer is the one that changes how you read the rest. A system with nine agreeing specialists produces a consensus with no error bar; the reviewer is the role that produces one. Notice also that Risk Manager's domain is approval readiness rather than a veto, which is consistent with a research tool that never places an order.

The contrast with the alternative shape is the clearest thing in the README: an agent team that must answer everything, versus one that is allowed to answer less.

## Five static layers, and a Wiki never becomes proof

The workflow is described as dynamic, and the useful work it produces as static, readable and reusable: files and memory that make the next analysis better without hiding the evidence inside a chat or silently changing system rules.

Five layers are named. Research Memory holds source snapshots, datasets, reports, forecasts, decisions, calculations, provenance and evidence gaps. Knowledge Wiki holds reusable company, product, technology, industry and value-chain background, and is explicitly context rather than current evidence. Investment Brain holds inquiry principles, causal frames, falsifiers, limits and abstention rules for a selected analysis. Decision Memory holds prior judgments, outcomes, postmortems, lessons and explicit improvement records. Strategy holds reusable user-owned decision rules that can shape later research without granting execution authority.

The rules about how those layers relate are the part to memorise. A Wiki does not become proof. A Brain does not choose agents. An improvement record does not silently rewrite prompts, skills, policy or execution gates.

On disk the workspace is plain and versionable: a trading/ directory with research/, reports/, forecasts/ and decisions/ subdirectories, plus wikis/ for local and active wiki knowledge and investment-brains/ for user-owned inquiry frameworks. Nothing here needs a database to read, which is why the same tree can be committed and diffed.

## Attach to an empty workspace, then trust every hook

Installation attaches the tool to the folder where you want research to live, and the README is unusually firm about not cloning the source repository into that workspace. You need Git, uvx, and an installed, authenticated codex CLI.

On macOS or Linux it is three lines:

```bash
cd /path/to/an/empty-workspace
uvx --refresh --from tradingcodex tcx attach . && ./tcx doctor
./tcx service ensure
```

On native Windows PowerShell the same three steps use tcx.cmd. Nothing is installed into a global site-packages; uvx resolves the package for the command, which is why --refresh is there.

The step that deserves attention comes after. You have to fully restart Codex, reopen and trust the workspace, and trust every TradingCodex hook when Codex prompts you. If hooks are presented one at a time, approve each project hook before starting a new task.

That is the permission model in practice: the agent's ability to run is granted by you in Codex's own prompt, one hook at a time. The viewer URL is printed by ./tcx service status, the release default being http://127.0.0.1:48267/, and end users need no Node, npm or separate frontend server.

## Six skills, and the viewer refuses to continue the work

You start by picking a skill that matches the work, and each is a prompt you paste into a new Codex task. $tcx-plan frames the outcome, scope, constraints and stop conditions, with the example Clarify a 3-year MSFT quality-compounder mandate. No order.

$tcx-workflow runs the dynamic research with the smallest useful team, for example Analyze MSFT as a medium-term quality compounder. Include contrary evidence. No order. The instruction to include contrary evidence is the workflow-level expression of the Judgment Reviewer role.

$tcx-memory replays prior judgment and tests whether lessons still hold, with the example Review the last MSFT thesis against what was known then, which is the postmortem discipline of Decision Memory turned into a prompt. $tcx-wiki moves stable context out of live evidence, $tcx-brain shapes inquiry with user-owned heuristics, falsifiers and limits, and $tcx-strategy turns decision rules into a reusable method, for example entry, sizing and invalidation rules for quality compounders.

The viewer is for inspection only. It shows Episodes, Library, Wiki and System posture, and it is read-only: continuing, narrowing or stopping the work happens in Codex.

The full skill directory carries the exact invocation rules, boundaries and deeper examples, and the guide is hosted alongside the project pages.

## Django and whitenoise instead of a frontend toolchain

The stack explains the install experience. There is no Node build for end users because the frontend is served by whitenoise from Django, and the project ships manage.py and an apps/ directory, which is an ordinary Django layout. The API layer is django-ninja, with pydantic for models, nh3 for HTML sanitising, markdown-it-py for rendering, PyYAML for configuration and PyArrow pinned to exactly 25.0.0, the one dependency in the list with an exact pin.

The package is split in two: tradingcodex_cli provides the tcx command through tradingcodex_cli.__main__:main, and tradingcodex_service holds the service that serves the viewer. The version is not written in pyproject.toml at all; it is read as an attribute from tradingcodex_service.version.TRADINGCODEX_VERSION, so one place owns it.

Python support runs 3.11 to 3.14, and the classifiers claim Development Status 5, Production/Stable, which is a strong claim for a project whose latest three releases, v2.1.1, v2.1.2 and v2.1.3, all landed on 2026-07-24, the same day as the last push.

The rest of the tree is documentation and packaging: guidebook/, docs/, installation.md, install.sh, tests/ and workspace_templates/, the last being what gets laid down when you attach to a folder.

## Conclusion

Adopt tradingcodex if you already live in the Codex CLI and want an investment research process that leaves files you can read, version and argue with later, and if you can accept a Python 3.11 to 3.14 environment with a Django service on port 48267. Do not adopt it to place trades, because the design has no execution agent and the package description's phrase about service-gated execution refers to a guardrail section this material truncates. Verify first that you will trust every TradingCodex hook Codex prompts you for, since approving them is how the agent gets to run at all.

## FAQ

### Can Codex be used for trading?

Through TradingCodex it is used for research, not for placing orders. The project describes itself as research-first, local-first and paper-first, states that a research answer never becomes a broker action on its own, and has no execution agent. Its skill examples end with the words No order.

### What do I need installed to use tradingcodex?

Git, uvx, and an installed, authenticated codex CLI. You then attach the tool to an empty workspace with uvx --refresh --from tradingcodex tcx attach ., run ./tcx doctor and ./tcx service ensure, fully restart Codex, and trust the workspace and every TradingCodex hook it prompts for.

### How does tradingcodex decide which agents to use?

Head Manager reads the mandate and chooses the smallest useful group, running independent work in parallel where that helps, and revises the team when accepted evidence exposes a gap or conflict. The next agent is chosen by the next useful question rather than a preset research DAG, so a narrow question can stay direct.

### What is the difference between the Wiki, the Brain and Decision Memory in tradingcodex?

They stay deliberately separate. Knowledge Wiki is reusable background context and never becomes proof, Investment Brain holds inquiry principles, causal frames, falsifiers and limits and does not choose agents, and Decision Memory keeps prior judgments, outcomes and postmortems without silently rewriting prompts, skills or policy.

### Do I need Node or a frontend server to run tradingcodex?

No. The README states that end users do not need Node, npm or a separate frontend server, and the service serves the read-only viewer itself, with the URL printed by ./tcx service status and defaulting to http://127.0.0.1:48267/.

## Sources

- [License: Apache-2.0](https://github.com/monarchjuno/tradingcodex/blob/main/LICENSE)
- [monarchjuno/tradingcodex on GitHub](https://github.com/monarchjuno/tradingcodex)
- [Project website](https://discord.gg/Wr25KZnabh)
- [README](https://github.com/monarchjuno/tradingcodex/blob/main/README.md)
- [Releases](https://github.com/monarchjuno/tradingcodex/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/monarchjuno-tradingcodex
