|
| 1 | +name: Propose a new loop |
| 2 | +description: Propose a new LOOP-NN for a surface the catalog does not audit yet. |
| 3 | +title: "[new loop]: " |
| 4 | +labels: ["enhancement"] |
| 5 | +body: |
| 6 | + - type: markdown |
| 7 | + attributes: |
| 8 | + value: | |
| 9 | + A loop is one complete audit-and-fix system in one markdown file. Before |
| 10 | + proposing one, check whether the surface is already covered by an |
| 11 | + existing loop - sharpening an existing loop is usually the better change. |
| 12 | +
|
| 13 | + The contract is [PROTOCOL.md](https://github.com/AetherAI3/agentic-loops/blob/master/PROTOCOL.md) |
| 14 | + section 14, and `python tools/validate_loops.py` checks it locally. |
| 15 | +
|
| 16 | + - type: input |
| 17 | + id: domain |
| 18 | + attributes: |
| 19 | + label: Domain |
| 20 | + description: The surface this loop audits, in the same register as the existing domains. |
| 21 | + placeholder: Data Architecture & Persistence |
| 22 | + validations: |
| 23 | + required: true |
| 24 | + |
| 25 | + - type: textarea |
| 26 | + id: gap |
| 27 | + attributes: |
| 28 | + label: What does the catalog miss today? |
| 29 | + description: > |
| 30 | + Name the bug class that no current loop would find. If an existing loop |
| 31 | + is close, say which, and why extending it is worse than a new loop. |
| 32 | + validations: |
| 33 | + required: true |
| 34 | + |
| 35 | + - type: dropdown |
| 36 | + id: risk |
| 37 | + attributes: |
| 38 | + label: Risk class |
| 39 | + description: PROTOCOL.md section 6. Pick the least invasive class that can still do the job. |
| 40 | + options: |
| 41 | + - read-only |
| 42 | + - read-only to branch (opens a branch only after a gate) |
| 43 | + - branch-mutating |
| 44 | + - infra-touching |
| 45 | + validations: |
| 46 | + required: true |
| 47 | + |
| 48 | + - type: textarea |
| 49 | + id: dag |
| 50 | + attributes: |
| 51 | + label: Sketch the Execution DAG |
| 52 | + description: Numbered nodes, with the parallelizable ones marked. |
| 53 | + placeholder: | |
| 54 | + 1. Scope capture |
| 55 | + 2. [P] Static scan |
| 56 | + 3. [P] Runtime probe |
| 57 | + 4. Findings merge |
| 58 | + 5. Adversarial verification + AUDIT-ARTIFACT |
| 59 | + validations: |
| 60 | + required: true |
| 61 | + |
| 62 | + - type: textarea |
| 63 | + id: adversary |
| 64 | + attributes: |
| 65 | + label: Who is the hostile reviewer? |
| 66 | + description: > |
| 67 | + Every loop has an adversarial persona whose job is to break the loop's |
| 68 | + own findings. A vague adversary is the most common reason a loop reports |
| 69 | + confident nonsense. Name the persona and what it attacks. |
| 70 | + placeholder: > |
| 71 | + A platform SRE who assumes every green check is a check that never ran, |
| 72 | + and demands the run id and timestamp for each one. |
| 73 | + validations: |
| 74 | + required: true |
| 75 | + |
| 76 | + - type: textarea |
| 77 | + id: exit |
| 78 | + attributes: |
| 79 | + label: Quantitative exit criteria |
| 80 | + description: > |
| 81 | + Numbers, not adjectives. PROTOCOL.md section 12 - a FAIL with an artifact |
| 82 | + beats a silent success. |
| 83 | + validations: |
| 84 | + required: true |
| 85 | + |
| 86 | + - type: checkboxes |
| 87 | + id: checklist |
| 88 | + attributes: |
| 89 | + label: Before you open this |
| 90 | + options: |
| 91 | + - label: This loop would run on any repo with no edits beyond the target. |
| 92 | + required: true |
| 93 | + - label: I have read PROTOCOL.md section 14 and can fill in every section. |
| 94 | + required: true |
0 commit comments