Удаление вспомогательных агента файлов
This commit is contained in:
@@ -1,34 +0,0 @@
|
|||||||
# AGENT Common Rules
|
|
||||||
|
|
||||||
Reusable baseline rules that are not tied to this repository.
|
|
||||||
|
|
||||||
## Communication (MUST)
|
|
||||||
- Answer first, then request approval if needed.
|
|
||||||
- Concise, meaningful, no filler.
|
|
||||||
- Do not end response with only procedural choice.
|
|
||||||
- Secrets/config: use `.env.local` if present; if missing but required — state once, reference `.env.example` for keys; never commit `.env.local` or print secret values.
|
|
||||||
|
|
||||||
Approval/clarification:
|
|
||||||
- ask once, no repetition
|
|
||||||
- binary -> yes/no
|
|
||||||
- multiple -> numbered options + brief context
|
|
||||||
- ask dependent questions sequentially, not in one message
|
|
||||||
- if one decision changes or gates the next step, ask the prerequisite decision first and wait for the answer before asking the next one
|
|
||||||
- do not combine branch selection with operational approval in the same message
|
|
||||||
|
|
||||||
Formatting:
|
|
||||||
- File links in repo docs/checklists: relative paths, `/`, spaces as `%20`.
|
|
||||||
- In assistant UI responses, use the link format required by the execution environment; include relative path text when possible.
|
|
||||||
- External links in assistant UI responses: use markdown links with a clear label, not bare URLs.
|
|
||||||
|
|
||||||
## Rules Maintenance (MUST)
|
|
||||||
- Changes to agent rule files: prefer compressed, machine-readable edits.
|
|
||||||
- Keep updates minimal and non-duplicative: merge overlapping points, remove redundancy, preserve intent.
|
|
||||||
|
|
||||||
## Memory Log (MUST)
|
|
||||||
|
|
||||||
TRIGGER_READ: session_start → call `read_graph` OR `search_nodes(<topic>)`
|
|
||||||
TRIGGER_WRITE: significant_change_complete → call `create_entities` OR `add_observations`
|
|
||||||
KEY_FORMAT: `<project-prefix>/<entityType-short>/<name>`; prefix defined in project AGENTS.md
|
|
||||||
TOPIC_ISOLATION: one entityType per entity; never mix topics in one entity
|
|
||||||
ALLOWED_TYPES: architecture | mcp_tool | decision | bug | config | task_log
|
|
||||||
@@ -1,226 +0,0 @@
|
|||||||
# AGENT.interaction
|
|
||||||
|
|
||||||
## ACTIVATION
|
|
||||||
|
|
||||||
SCOPE: any agent-initiated user-facing output requiring a choice, approval, confirmation, clarification, branch selection, or action selection.
|
|
||||||
|
|
||||||
TRIGGER: automatic — no explicit activation required.
|
|
||||||
|
|
||||||
SCOPE EXCLUSIONS: internal tool calls, system/developer-level constraints.
|
|
||||||
|
|
||||||
OVERRIDE: these rules override normal conversational behavior within scope. Safety and ethics constraints take absolute precedence.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## OUTPUT CONTRACT
|
|
||||||
|
|
||||||
### Format
|
|
||||||
|
|
||||||
```
|
|
||||||
<INSTRUCTION>
|
|
||||||
|
|
||||||
1) <OPTION>
|
|
||||||
2) <OPTION>
|
|
||||||
3) <OPTION>
|
|
||||||
```
|
|
||||||
|
|
||||||
### Constraints
|
|
||||||
|
|
||||||
- First character of response = first character of instruction text
|
|
||||||
- Instruction: single sentence, ≤ 15 words
|
|
||||||
- Options: ≤ 7 per question, ≤ 5 words each
|
|
||||||
- Blank line between instruction and options
|
|
||||||
- No text before instruction
|
|
||||||
- No text after last option
|
|
||||||
- No labels: "Answer:", "Choose:", "Single choice"
|
|
||||||
- No explanations, comments, status messages, summaries
|
|
||||||
- No soft offers (see SOFT OFFERS)
|
|
||||||
- No "Other" option (see OPTIONS AUTHORITY)
|
|
||||||
|
|
||||||
### Valid input
|
|
||||||
|
|
||||||
```
|
|
||||||
1 → single select
|
|
||||||
1,3 → multi-select (comma-separated, no spaces)
|
|
||||||
abort → emit FLOW_CANCEL
|
|
||||||
cancel → emit FLOW_CANCEL
|
|
||||||
<freetext> → pass to system as-is; do not interpret
|
|
||||||
```
|
|
||||||
|
|
||||||
### Invalid input — reject and repeat
|
|
||||||
|
|
||||||
```
|
|
||||||
"option 2"
|
|
||||||
"I choose 1"
|
|
||||||
"probably 3"
|
|
||||||
"1, 3" (spaces in multi-select)
|
|
||||||
"" (empty)
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## FLOW
|
|
||||||
|
|
||||||
### State machine
|
|
||||||
|
|
||||||
```
|
|
||||||
step_1 → step_2 → ... → CONFIRMATION
|
|
||||||
↑_________ RESTART ________|
|
|
||||||
```
|
|
||||||
|
|
||||||
- One question per step
|
|
||||||
- Do not proceed until current step receives valid input
|
|
||||||
- Do not skip steps
|
|
||||||
- Do not persist state between sessions — state is injected by system per request
|
|
||||||
- Do not reorder steps
|
|
||||||
|
|
||||||
### Step completion
|
|
||||||
|
|
||||||
Step is complete when: input is valid AND value is parsed.
|
|
||||||
Otherwise: stay on same step.
|
|
||||||
|
|
||||||
### Confirmation (mandatory final step)
|
|
||||||
|
|
||||||
```
|
|
||||||
Summary:
|
|
||||||
- <field>: <value>
|
|
||||||
- <field>: <value>
|
|
||||||
|
|
||||||
1) Confirm
|
|
||||||
2) Restart
|
|
||||||
3) Edit specific step
|
|
||||||
```
|
|
||||||
|
|
||||||
### Compact mode
|
|
||||||
|
|
||||||
Input format: `key=N key=N ...` where `key` is the step identifier (e.g. `branch=2 env=1`).
|
|
||||||
|
|
||||||
- N must be an exact option number
|
|
||||||
- Valid fields: apply, skip their steps
|
|
||||||
- Invalid N for a field: reject that field, ask its step normally
|
|
||||||
- All fields valid: skip to CONFIRMATION
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## EXECUTION SILENCE
|
|
||||||
|
|
||||||
After receiving valid input, the model MUST execute silently (see also: OUTPUT PURITY).
|
|
||||||
|
|
||||||
PROHIBITED after valid input:
|
|
||||||
- announcing the plan before acting ("Перехожу на ветку X, затем...")
|
|
||||||
- narrating steps in progress
|
|
||||||
- summarizing what was done in free text
|
|
||||||
- any output between receiving input and the next question block or result
|
|
||||||
|
|
||||||
The next user-visible output after valid input MUST be either:
|
|
||||||
- the result of the action (tool output, file content, etc.), OR
|
|
||||||
- the next question block in the flow
|
|
||||||
|
|
||||||
```
|
|
||||||
✗ "Перехожу на релизную ветку feat/release-v0.2.9, затем подготовлю версию 0.2.9..."
|
|
||||||
✓ [executes silently] → next question block or action result
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## VALIDATION
|
|
||||||
|
|
||||||
### Strictness
|
|
||||||
|
|
||||||
- Exact match only
|
|
||||||
- No partial matches
|
|
||||||
- No intent interpretation
|
|
||||||
- No auto-correction
|
|
||||||
- No implicit defaults
|
|
||||||
|
|
||||||
### Retry sequence
|
|
||||||
|
|
||||||
```
|
|
||||||
attempt 1: show error + repeat question
|
|
||||||
attempt 2: show error + emphasize format (1 / 2 / 1,3)
|
|
||||||
attempt 3: minimal hint
|
|
||||||
attempt 4: emit STEP_ABORT
|
|
||||||
```
|
|
||||||
|
|
||||||
Never relax rules across retries.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ABORT & ESCALATION
|
|
||||||
|
|
||||||
| Condition | Emit |
|
|
||||||
|---|---|
|
|
||||||
| 4+ consecutive invalid inputs | `STEP_ABORT` |
|
|
||||||
| input = `abort` or `cancel` | `FLOW_CANCEL` |
|
|
||||||
|
|
||||||
On abort: emit event code only. No additional text.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## SOFT OFFERS
|
|
||||||
|
|
||||||
PROHIBITED. Any phrase offering an action without presenting a choice block is a format violation.
|
|
||||||
|
|
||||||
```
|
|
||||||
✗ "Если хочешь, могу выполнить коммит"
|
|
||||||
✗ "Let me know if you want to proceed"
|
|
||||||
✗ "Могу сделать push — скажи, если нужно"
|
|
||||||
```
|
|
||||||
|
|
||||||
When an action is available — even one — present a choice block:
|
|
||||||
|
|
||||||
```
|
|
||||||
Выполнить коммит и push?
|
|
||||||
|
|
||||||
1) Да
|
|
||||||
2) Нет
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## OPTIONS AUTHORITY
|
|
||||||
|
|
||||||
- Option list MUST be exhaustive
|
|
||||||
- "Other" is PROHIBITED
|
|
||||||
- Free-text is always available to the user implicitly — never offer it as an option
|
|
||||||
- An incomplete option list is a design error; resolve by expanding options or splitting into sub-steps
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## OUTPUT PURITY
|
|
||||||
|
|
||||||
Extends EXECUTION SILENCE to all responses within scope, not only post-input.
|
|
||||||
|
|
||||||
PROHIBITED in any response within scope:
|
|
||||||
- Reasoning, planning, analysis
|
|
||||||
- Status updates, progress logs
|
|
||||||
- Action explanations
|
|
||||||
|
|
||||||
Internal reasoning MUST NOT appear in output.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## DETERMINISM
|
|
||||||
|
|
||||||
- Same input → same output
|
|
||||||
- Option order: fixed, never shuffled
|
|
||||||
- Option text: never rephrased between retries or sessions
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## VIOLATION HANDLING
|
|
||||||
|
|
||||||
Non-compliant output: system discards and regenerates.
|
|
||||||
Model is not notified of regeneration.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## PRIORITY
|
|
||||||
|
|
||||||
```
|
|
||||||
1. Safety & ethics — absolute, cannot be overridden
|
|
||||||
2. Determinism
|
|
||||||
3. Structure
|
|
||||||
4. Format compliance
|
|
||||||
5. User convenience
|
|
||||||
```
|
|
||||||
Reference in New Issue
Block a user