abc-ai/AGENTS.md
Tiara Rodney 344e9eeb0e
new
2026-02-05 02:05:37 +01:00

179 lines
6.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AGENTS
## Operational Guidance for Autonomous Agents Using specification (ABC Specification)
MUST USE `README.md` within same directory as this file as entrypoint for
specification and subsequent referenced documents within.
### Purpose of this document
This document defines how an autonomous agent must operate when using the
Abstract Base Cloud (ABC) Specification (specification) as the authoritative
source of truth. It does not redefine, summarize, or restate the ABC Pattern.
Its purpose is to establish procedures, behaviors, and decision rules that
ensure all agent actions remain compliant with the specification.
### How to Read and Interpret spec.txt
1. Treat specification as canonical; all definitions, rules, and schemas
originate there.
2. When encountering ambiguity, defer to specification rather than internal
heuristics.
3. When interpreting any rule:
- Use the identifiers in specification as binding references.
- Do not reinterpret or rephrase the rule; apply it operationally.
4. When a task requires clarification, locate the relevant section in
specification and apply its constraints directly.
### How to Apply the ABC Normative Rules
1. Use normative rules as constraints on generation and transformation.
2. For any action:
: - Identify which normative rules apply.
- Enforce them mechanically.
3. When generating constructs:
: - Ensure hierarchy, relationships, interfaces, and data flow conform to
normative rules.
4. When routing data:
: - Apply downward and upward flow rules exactly as defined.
5. When evaluating a user request:
: - Reject or correct requests that would violate normative rules.
### How to Apply the ABC Validation Rules
1. Treat validation rules as mechanical checks.
2. For any ABC architecture:
: - Validate structure.
- Validate contracts.
- Validate data flow.
- Validate instantiation semantics.
3. When a violation is detected:
: - Identify the violated rule by its identifier.
- Provide a corrective action path.
4. Never modify validation rules; only apply them.
### SECTION 5 — How to Use the ABC Schema
1. Use the schema as the machine-readable representation of an ABC architecture.
2. When generating or transforming architectures:
: - Produce JSON that conforms exactly to the schema.
3. When validating:
: - Apply schema constraints before normative or validation rules.
4. When consuming the schema:
: - Use `$defs` to resolve construct types, contracts, and rule bindings.
5. Never alter the schema; only instantiate or validate against it.
### How to Use the Code Generation Profiles
1. Profiles define how to map ABC constructs into specific IaC tools.
2. When generating code:
: - Select the appropriate profile.
- Apply profile rules exactly as written in specification.
3. When a profile conflicts with user instructions:
: - The profile takes precedence.
4. When generating code:
: - Use the ABC hierarchy as the structural backbone.
- Use Input/Output Contracts as the only wiring mechanism.
5. Never invent new profile rules; only apply those defined in specification.
### Operational Procedures for Construct Creation
1. Determine the construct type.
2. Create the construct with:
: - A unique ID.
- A valid parent (except ApplicationStack).
- A complete Input Contract.
- A complete Output Contract.
3. Instantiate children strictly top-down.
4. Ensure no lateral references are introduced.
5. Enforce immutability of Input Contracts.
### Operational Procedures for Data Flow Wiring
1. For downward flow:
: - Pass only the required subset of parent inputs/outputs.
- Ensure all downward values originate from the parents declared contracts.
2. For upward flow:
: - Expose only declared outputs.
- Aggregate or transform outputs only at the parent level.
3. Never allow:
: - Sibling-to-sibling communication.
- Access to undeclared values.
- Implicit or hidden data flow.
### Operational Procedures for Validation
1. Validate in this order:
: - Schema conformance.
- Structural validation rules.
- Contract validation rules.
- Data-flow validation rules.
- Instantiation validation rules.
2. For each violation:
: - Identify the rule ID.
- Provide a deterministic correction path.
3. Do not proceed with generation or transformation until validation passes.
### Operational Procedures for Refactoring
1. Load the existing architecture from its schema representation.
2. Identify the target change.
3. Determine which constructs, contracts, or data flows are affected.
4. Apply changes while enforcing:
: - Contract stability requirements.
- Parentchild mediation rules.
- No lateral references.
5. After refactoring:
: - Revalidate the entire architecture.
- Ensure all rule identifiers remain satisfied.
### Reasoning Patterns for Agents
Agents must use the following reasoning patterns:
Deterministic Reasoning
: Always derive outcomes from specification rather than heuristics.
Hierarchical Reasoning
: Always reason from parent → child → parent; never horizontally.
Contract-Bound Reasoning
: Only use values present in Input/Output Contracts.
Schema-Driven Reasoning
: Treat the schema as the authoritative shape of all architectures.
Rule-Bound Reasoning
: Map every decision to one or more rule identifiers.
### Forbidden Behaviors
Agents must never:
- Restate, summarize, paraphrase, or rewrite any part of specification.
- Invent new ABC rules or modify existing ones.
- Introduce lateral references between constructs.
- Generate architectures that violate any rule in specification.
- Infer missing contract fields not explicitly provided.
- Create implicit dependencies or hidden data flow.
- Generate code that does not follow the selected profile.
- Produce constructs outside the allowed hierarchy.
- Mutate Input Contracts after instantiation.
- Expose values not declared in Output Contracts.
### Agent Behavioral Contract
Agents must:
1. Treat specification as the single source of truth.
2. Apply rules without reinterpretation.
3. Produce deterministic, reproducible outputs.
4. Validate all generated artifacts before returning them.
5. Reject or correct user requests that violate the specification.
6. Maintain strict separation of hierarchy, contracts, data flow, and
instantiation.
7. Ensure all transformations preserve rule compliance.
8. Use profile mappings exactly as defined.
9. Operate without assumptions, guesses, or implicit dependencies.
10. Maintain full traceability from every action to the relevant rule(s) in
specification.