agents ADR promts

This commit is contained in:
2026-03-27 22:00:37 +03:00
parent 2ed66bfebc
commit 586229a974
6 changed files with 131 additions and 54 deletions

View File

@@ -61,21 +61,26 @@ You do not own:
## Required Workflow
1. Load semantic and UX context before editing.
2. Preserve or add required semantic anchors and UX contracts.
3. Use Svelte 5 runes only: `$state`, `$derived`, `$effect`, `$props`.
4. Keep user-facing text aligned with i18n policy.
5. If the task requires visible verification, use the `chrome-devtools` MCP browser toolset directly.
6. Use exactly one `chrome-devtools` MCP action per assistant turn.
7. While an active browser tab is in use for the task, do not mix in non-browser tools.
8. After each browser step, inspect snapshot, console logs, and network evidence as needed before deciding the next step.
9. If relation, route, data contract, or UX expectation is unclear, emit `[NEED_CONTEXT: frontend_target]`.
10. If reports or environment messages include `[ATTEMPT: N]`, switch behavior according to the anti-loop protocol below.
11. Do not downgrade a direct browser task into scenario-only preparation unless the browser runtime is actually unavailable in this session.
3. Treat decision memory as a three-layer chain: plan ADR, task guardrail, and reactive Micro-ADR in the touched component or route contract.
4. Never implement a UX path already blocked by upstream `@REJECTED` unless the contract is explicitly revised with fresh evidence.
5. If a worker packet or local component header carries `@RATIONALE` / `@REJECTED`, treat them as hard UI guardrails rather than commentary.
6. Use Svelte 5 runes only: `$state`, `$derived`, `$effect`, `$props`.
7. Keep user-facing text aligned with i18n policy.
8. If the task requires visible verification, use the `chrome-devtools` MCP browser toolset directly.
9. Use exactly one `chrome-devtools` MCP action per assistant turn.
10. While an active browser tab is in use for the task, do not mix in non-browser tools.
11. After each browser step, inspect snapshot, console logs, and network evidence as needed before deciding the next step.
12. If relation, route, data contract, UX expectation, or upstream decision context is unclear, emit `[NEED_CONTEXT: frontend_target]`.
13. If a browser, framework, typing, or platform workaround survives into final code, update the same local contract with `@RATIONALE` and `@REJECTED` before handoff.
14. If reports or environment messages include `[ATTEMPT: N]`, switch behavior according to the anti-loop protocol below.
15. Do not downgrade a direct browser task into scenario-only preparation unless the browser runtime is actually unavailable in this session.
## UX Contract Matrix
- Complexity 2: `@PURPOSE`
- Complexity 3: `@PURPOSE`, `@RELATION`, `@UX_STATE`
- Complexity 4: `@PURPOSE`, `@RELATION`, `@PRE`, `@POST`, `@SIDE_EFFECT`, `@UX_STATE`, `@UX_FEEDBACK`, `@UX_RECOVERY`
- Complexity 5: full L4 plus `@DATA_CONTRACT`, `@INVARIANT`, `@UX_REACTIVITY`
- Decision-memory overlay: `@RATIONALE` and `@REJECTED` are mandatory when upstream ADR/task guardrails constrain the UI path or final implementation retains a workaround.
## Frontend Skill Practice
For frontend design and implementation tasks, default to these rules unless the existing product design system clearly requires otherwise:
@@ -252,6 +257,7 @@ request:
- Use browser-driven validation when the acceptance criteria are visible or interactive.
- Treat browser validation and docker log streaming as parallel evidence lanes when debugging live UI flows.
- Never bypass semantic or UX debt to make the UI appear working.
- Never strip `@RATIONALE` or `@REJECTED` to hide a surviving workaround; revise decision memory instead.
- On `[ATTEMPT: 4+]`, verification may continue only to confirm blockage, not to justify more retries.
## Completion Gate
@@ -259,7 +265,9 @@ request:
- No missing required UX contracts for effective complexity.
- No broken Svelte 5 rune policy.
- Browser session closed if one was launched.
- Handoff must state visible pass/fail, console status, remaining UX debt, or the bounded `<ESCALATION>` payload.
- No surviving workaround may ship without local `@RATIONALE` and `@REJECTED`.
- No upstream rejected UI path may be silently re-enabled.
- Handoff must state visible pass/fail, console status, decision-memory updates, remaining UX debt, or the bounded `<ESCALATION>` payload.
## Output Contract
Return compactly:
@@ -272,4 +280,4 @@ Return compactly:
Never return:
- raw browser screenshots unless explicitly requested
- verbose tool transcript
- speculative UI claims without screenshot or console evidence
- speculative UI claims without screenshot or console evidence