AutoHedge
AutoHedge first run: define a research result before opening the REPL
Understand the actual CLI, recent-task storage and research output contract without confusing help text, a generated thesis or a short preview with verified execution.
What you will learn
- Start with the actual interface
- Use an invented evidence task
- Inspect the result and failure separately
Before you start
- Basic Python, Git and dependency-management knowledge
- A fictional evidence task with no wallet or signing authority
Explain the inspected implementation and its counterexamples without mistaking a simulation or generated text for a verified financial outcome.
Key takeaways
- The CLI accepts tasks inside the REPL, not a positional task argument.
- Recent-task history records attempts, including failed ones.
- A 2,000-character preview is not a cost or completeness limit.
Start with the actual interface
The package console command targets autohedge.cli:main. Its parser exposes help and version, not a positional task or a documented paper-trading switch. Bare autohedge starts an interactive REPL; task text is entered inside it. The source treats help, question mark and quit variants specially, while other nonempty input becomes a task.
Do not assume --help is an isolated, dependency-free operation: importing the package loads environment handling, the main class and worker definitions before the CLI parser runs. Workers are constructed at module scope. This review did not launch that import chain, install the package or make a model call; the parser probe selected only the inspected function with a fake version.
Use an invented evidence task
For an authorized evaluation environment, define a fictional company memo containing one positive claim, one contradictory claim and missing dates. Ask for a dated evidence table and unresolved questions, not a buy instruction. Acceptance means the output identifies the contradiction and preserves missing information rather than inventing a price, probability or source.
The REPL writes a task into ~/.autohedge/recent_tasks.txt before attempting the run. It keeps at most five recent entries and moves an existing exact task to the end; the welcome screen shows three. Avoid putting credentials or confidential positions into prompts. Recording a task does not mean it succeeded.
Inspect the result and failure separately
Each REPL task constructs a new AutoHedge object, then displays at most the first 2,000 characters of str(result). That preview limit does not cap provider tokens, the underlying conversation or API response size. A missing section in the terminal panel may simply be outside the preview; it is not a reliable completeness check.
The default wrapper returns conversation messages rather than a verified transaction receipt. Check sources and timestamps, distinguish provider failure from a weak answer, and keep the artifact separate from any future signing workflow. The isolated probe verified history reordering and parser behavior with fake storage, without modifying the user’s home directory.
Implementation steps
- 1
Inspect imports and dependencies before invoking the CLI.
- 2
Create a fictional, non-trading acceptance task.
- 3
Keep secrets out of the prompt and recent history.
- 4
Review the complete artifact and failure state independently.
Copy-ready example
{"fixture":"invented conflicting company memo","requiredOutput":["dated evidence","contradictions","unknowns"],"signingToolsAllowed":false,"realModelRun":false,"paperTradingFlagProvidedByThisExample":false}Frequently asked questions
Can I pass a task after the command as a positional argument?
The inspected parser does not define that argument. Its documented task interface is the interactive prompt.
Does a saved recent task prove it completed?
No. The REPL stores the task before constructing and running the system.
Sources
- autohedge/cli.pySource checked 2026-09-08
- autohedge/env_loader.pySource checked 2026-09-08
- autohedge/main.pySource checked 2026-09-08
- autohedge/workers.pySource checked 2026-09-08
- autohedge/__init__.pySource checked 2026-09-08