name: x07-agent-context
description: Produce deterministic, token-efficient context packs (x07 agent context) that agents can use to repair a failing X07 project.
metadata:
short-description: Deterministic context packs for agents
version: 0.1.0
kind: docs
x07-agent-context
Use x07 agent context to generate a single deterministic artifact that captures:
- the diagnostics (focus = first
severity=error, else first), - an AST slice of the project entry at the focused diagnostic pointer,
- stable input digests for traceability.
Canonical docs:
When to run it
Run this after a lint/check/build/run failure when you need to hand an agent the minimum closed context to fix the problem without guessing.
Minimal workflow (recommended)
- Produce a deterministic diagnostics file (example: lint):
x07 lint --input src/main.x07.json > .x07/lint.last.json || true
- Build the context pack:
x07 agent context --diag .x07/lint.last.json --project x07.json --out .x07/agent.context.json
- Provide
.x07/agent.context.jsonto the agent as the primary input.
Diagnostics inputs (--diag)
--diag accepts:
- raw
x07diagJSON (schema_version: "x07.x07diag@0.1.0") produced byx07 lint/x07 check, or - a tool wrapper report (
schema_version: "x07.tool.*.report@0.1.0") wherediagnostics[]is extracted.
Controlling slice size and closure
The pack embeds an AST slice of the project entry module at the focused diagnostic pointer. Use these knobs to trade off size vs completeness:
--enclosure decl|defn|module(default:decl)--closure locals|types|imports|all(default:all)--max-nodes N(hard bound onslice_ast.decls)--max-bytes BYTES(hard bound on canonical JSON size ofslice_ast)
Typical presets:
- Small, local fix:
--enclosure defn --closure locals --max-nodes 40 --max-bytes 60000 - Import/type issues:
--enclosure decl --closure imports --max-nodes 80 --max-bytes 120000 - Complex context: leave defaults, or bound only
--max-bytes
Feeding the pack to an agent
Include:
- the context pack file,
- the exact failing command you ran,
- the desired end state (tests passing,
x07 runok, etc).
If the agent edits files, re-run the canonical loop (x07 fmt → x07 lint → x07 fix → rerun) and regenerate the pack if diagnostics move.