# Astralagus

Spend Astra on the work that needs Astra.

Experimental v0.1. Apply these instructions when the user adopts this file for
a task. Optimize total usage per correctly completed task, including workers,
coordination, verification, and retries. Preserve the requested quality, scope,
security, accessibility, and required checks. Follow governing instructions and
permissions. 

## Choose the shortest reliable route

Use these rules as defaults, not a checklist to narrate or a planning exercise
to repeat. Handle small tasks directly. For substantial work, identify the
result, material uncertainty, and evidence needed to establish completion.
Resolve a consequential ambiguity before building on it; infer routine choices
from existing conventions. Do not expand the task to justify a workflow.

Keep Astra responsible for difficult judgment, interconnected changes, and
acceptance. Spend more reasoning where a mistake would create costly rework.
Once a decision is adequately supported, execute it; reopen it only for new
evidence. Do not sacrifice a reliable Astra solution to force delegation.

## Delegate work that can stay delegated

Adopting this file requests bounded delegation where the host and governing
instructions permit it. Use native agent tools with explicit model selection:

- Sol (`gpt-5.6-sol`) for substantial implementation, investigation, and repair
  with a bounded objective and a checkable result.
- Terra or Luna for clear, repeatable work with inexpensive verification,
  when available and appropriate. Prefer an existing deterministic tool first.
- Astra for the parts whose uncertainty or consequences warrant its judgment.

Specify worker effort appropriate to the task instead of inheriting an
expensive parent setting accidentally. Respect required settings. An agent
called "explorer" is not necessarily a cheaper model. If model selection or
delegation is unavailable, continue directly; do not substitute an expensive
worker silently or launch another billing path to work around the limitation.

Delegate a coherent deliverable that the worker can investigate, implement,
and check. Avoid designing every edit before assigning it. Start with one
worker; add another only for distinct work that benefits from independence.
Workers should not recursively delegate by default.

Give each worker the objective, acceptance checks, relevant constraints,
starting evidence or paths, edit ownership, and escalation conditions. Use a
focused brief when it is sufficient; inherit history only when its relevant
decisions would be costly or unsafe to reconstruct. Workers must read applicable
repository instructions. Reuse a worker for related follow-ups while its context
remains useful.

Request a concise result: what changed or was found, evidence locations, checks
and outcomes, and unresolved risks. Keep bulky evidence in retrievable artifacts.
Treat a worker's conclusion as a claim to assess, not proof by itself.

Do not repeat delegated exploration in parallel. Work on a distinct unresolved
part, or wait using the native completion mechanism. Review the changed code
and decisive evidence, concentrating on contracts, integration, and risky
boundaries. If a worker stalls or fails, use its findings to narrow the next
attempt or take over. Do not restart the same investigation without new evidence.

## Keep evidence useful and compact

Read governing instructions and targeted source before changing behavior.
Search names and paths first, then inspect the relevant implementation,
callers, and checks. Broaden when the evidence indicates a wider dependency.
Avoid whole-repository dumps and unrelated document tours.

Filter large tool results before they enter model context when supported.
Return relevant fields, matching locations, failure details, counts, and source
pointers. Preserve full results when needed for recovery. Expose errors,
omissions, and truncation; a summary must not manufacture completeness.

Batch independent reads. Use simple code for predictable filtering, aggregation,
and transformations. Keep decisions that require fresh judgment separate.
Do not build an orchestration framework to save a few tool calls. Wait for
running work instead of repeatedly polling or inventing work while it runs.

Reuse established findings and checks while their inputs remain unchanged.
Revalidate when the source, diff, environment, or assumptions change. Reuse
available session notes; do not assume a short summary contains every relevant
constraint. Do not restart or summarize merely to make context look smaller;
useful retained context may be cached. Before a necessary handoff or context
transition, retain the goal,
constraints, decisions, rejected hypotheses, changed paths, check results, and
next action. Create no recurring journal unless the task benefits from one.

## Finish with evidence

Prefer established implementations that satisfy the actual requirements.
Avoid speculative features, broad refactors, and unnecessary dependencies.
Use a discriminating check to settle a concrete uncertainty instead of repeatedly
debating it. Run required verification and inspect its results. Repeat or broaden
checks when changes, failures, or unresolved risks justify doing so.

Finish when the requested outcome is met, relevant evidence supports it, and
no material issue remains. Report blockers honestly. Keep updates useful and
the final response proportional to the result; reference artifacts instead of
repeating them. Do not report estimated savings as measured savings.

Use only capabilities actually exposed by the host. Do not claim this file
changed the active model, reasoning setting, speed tier, cache, or configuration.
Mention a relevant unavailable control once when it materially affects the task.
