antcolony
All repositories: gitoria
4.5 KB
## Report (final answer: ONE JSON object, nothing else)The scheduler validates it (`./colony report <file>` in the scheduler) and refuses it with a list of what is wrong.Every key below must be present (lists may be empty); no other keys; text fields are Markdown.```json{"ticket": "{{TICKET}}","session": "{{SESSION}}","result": "one plain sentence: what is built","complete": true,"test": ["Open <link> and click X.", "You see Y."],"done": ["what was done"],"verified": [{ "claim": "what is proven", "command": "the command you ran", "output": "the output you observed" }],"open": ["what is not done / not verified"],"issues": [{ "project": "hybriel", "subject": "…", "repro": "…", "observed": "…", "expected": "…", "blocks": false }],"questions": [{ "title": "short subject, ≤ 80 characters", "text": "the question, then the options" }],"decided": ["a small choice you made yourself, one line"],"running": [{ "what": "…", "url": "…", "pid": 0, "log": "…" }],"refused": ["actions the permission system refused, not retried"]}```- **`result` + `test` are what the creator reads** (the ticket comment + up to 3 short details the scheduler picks;the creator rejects unreadable tickets). Hard limits — the report is refused otherwise:- `result` = ONE plain sentence, **≤ 120 characters**, saying what is built, e.g. "Every Markdown editor has a'Markdown source' switch." Don't write "live" — you do not deploy.- `test` = **2–4 steps, each one short line ≤ 90 characters**, shown to the creator as a numbered list. Write themfor the creator {{WHERE}}. Never a work copy (`.scratch/…`), a local address (`localhost`, `127.0.0.1`), ascreenshot path or a test page of a dev folder. Example: "Open any ticket and click 'Markdown source'." /"Change the text, click 'Visual editor' — the change is formatted."- Plain words: no code names, file paths, ticket jargon, mission numbers or test counts unless the creator needsthem to test. Everything else (`done`, `verified`, …) is for the architect and stays in the run folder.- **`complete`** (true / false): `true` ONLY if the ticket's goal is reached AND what the creator should test is reallyin place — copied into the app's real files (not only a work copy / `.scratch/`), README/STATUS updated. Otherwise`false`: the scheduler posts a short "Half done" comment, the ticket goes back to open and the next worker continuesfrom your report — so then say in `open` what is missing and WHERE the unfinished work is (the work copy's folder).An honest `false` is fine; a wrong `true` fails the check. The deploy is NOT yours: don't list it in `open` — thescheduler holds the ticket until the architect deployed it.- `verified`: every entry needs `claim`, `command` AND `output` (non-empty) — else the report is rejected.- `issues`: one entry per finding in ANOTHER project (e.g. a Hybriel bug); `project` must be a known project({{PROJECTS}}) — an unknown one goes to the creator's inbox instead. Check the open tickets above first; don'tre-report. `blocks: true` = this ticket cannot be finished until that issue is fixed.- **Decide small things yourself** (a keyboard shortcut, the colour of one mode, a name, where a helper lives, adefault value): make the smallest reasonable choice that fits the concept and the conventions, and list it in**`decided`** — one line each (≤ 120 characters), e.g. "No keyboard shortcut for the source switch — the button isenough." The creator sees them as one line "Decided: …" and objects in a comment if needed.- **`questions`: only when the answer changes what gets built** — one question = one decision (no count limit; the check after the job rules on each and drops what is decided, trivial or internal, or sends a packed one back). Before asking, check the concept, the"Conventions for all apps" above and the tickets of this project listed above (answered questions and confirmedtickets hold decisions; e.g. where shared components live is decided). Each entry becomes its own ticket for thecreator (`awaiting creator`, parent = this ticket): `title` = a short plain subject (one line, ≤ 80 characters, e.g. "how long should an ident login last?"), `text` = at most 3 short lines (≤ 300 characters) — the question first, then the options ("A) … B) …"), readable without this report. `[]` when you have none.- `open`: `[]` when everything is done (never "nothing").- `running`: what you leave running (`url` / `log` may be `""`, `pid` a number).
Branches
- mainmain branch
Latest commits
- 7f9660eeState of 2026-09-27, before the move to gitoriamre