factory AGENTS.md

Repository instructions for Factory, including its development commands and rules for how coding agents receive and handle work. They also cover handoffs, protected branches, and merging.

In plain words
What is it for?
Use them when choosing a task, changing event-runtime code, running checks, handing off work, or preparing changes for review.
Why use it?
They reduce mistakes such as taking unassigned work, skipping required project conventions, or merging changes automatically.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/watt-mind/factory/agents-md
Clone the repo
git clone --depth 1 https://github.com/watt-mind/factory

Made for: Codex, OpenCode.

Per session 6,550 This file is loaded in full into every session.
When invoked 6,550 The same file — it is already loaded in full.
Security scan C 2 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.06550 $0.06550
Opus 5 $0.03275 $0.03275
Sonnet 5 $0.01310 $0.01310
Haiku 4.5 $0.00655 $0.00655

Measured 2d ago against content hash 52a9f9313f63, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

factory AGENTS.md scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

The file watcher is the bounded readiness gate; never replace it with a fixed sleep. Attach the fallback driver using `$profile/DevToolsActivePort`. If readiness or attachment fails, preserve the exact error and the last

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

for i in $(seq 60); do curl -sf localhost:4222 >/dev/null && break; sleep 2; done
AGENTS.md · 270 lines

How it starts

The opening of the file, as written. The whole thing — 270 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Commands

  • bun run lint — ESLint over root JS and event-runtime/web TSX (bun run lint:fix to autofix). CI runs it with a --max-warnings ratchet (WM-607); see docs/ci.md.
  • bun test --timeout 20000 --max-concurrency=4 event-runtime/lib — fast unit tests.
  • bun run check — generated-tree drift check (shared/ vs. emitted output).

Agent operating floor

Non-negotiable for every agent in this repo, in any harness. Full protocol: $FACTORY_ROOT/docs/protocol.md. If that path doesn't exist where you're running (a cloud sandbox, someone else's machine), this block is the whole contract — follow it as written and don't infer the rest.

Event-runtime code follows the documented house conventions. For module shape, dependency injection, adapter contracts, fail-closed boundaries, and tests, read docs/event-runtime-conventions.md before changing event-runtime/.

Work comes from the control plane, and only when it's ready. A ticket is dispatchable only if it is Todo + ai:agent-ready + unassigned. Triage and Backlog are not queues to pull from.

An ad-hoc request gets a ticket too — file it, don't wait to be asked. A request typed into a chat session is not exempt from the control plane; if it isn't tracked, it is invisible to every other agent and to tomorrow. The trip wire is your first file edit: before it, either find the issue that already covers this or create one, and say in one line which it is ("Tracking as OPS-91"). Commits still carry their (ISSUE-ID). Skip the ticket only for ordinary questions, read-only lookups with no actionable finding, and inconsequential edits — and the human can always say "no ticket", which settles it. Sessions drift: one that began as a question and turned into a change trips the wire at that moment, not at the end.

Read the full file on GitHub · 270 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 270 lines · 6,550 tokens per session scan C 52a9f9313f63

Subscribe to this mod's changes

factory AGENTS.md is an instructions file published in the GitHub repository watt-mind/factory (10 stars, last pushed 2d ago), licensed Apache-2.0. It adds 6,550 tokens to every session, about $0.0328 per session on Opus 5. A static security scan graded it C with 2 findings (recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.