nandi/oripublic Fork 0
5d476ff5f3dc3b7db3afaccaedc7d9661981449e
Commits
Clone
git clone https://git.rickub.com/nandi/ori.git
git clone ssh://git@rickub.com/nandi/ori.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

forked from bots-garden/ori

2026-09-18-ticket-0005-format.md · 22 lines · 1.4 KBmarkdown Blame HistoryRaw
🛟 Updated. f5c963a k33g yesterday1# 2026-09-18 — Ticket 0005 task format
2
3## Done
4
5`.tickets/issues/0005-create-a-native-ui-to-connect-the-webapp.yaml` tasks rewritten from a hand-made `text/done` shape to IssueSpec's task schema. Verified with IssueSpec's own parser (all 15 tickets parse). Ticket stays `open`: task 8 (launch the window with the GUI toolchain and confirm the iframe embed) is still open — see `summary.md` "Not yet established".
6
7## How to validate a ticket file (recipe)
8
9```bash
10cat > /tmp/v.mjs <<'EOF2'
11import { parseIssueDocument } from '/Users/k33g/CodeBerg/issuespec/src/core/yaml.ts';
12import { readFileSync } from 'node:fs';
13const f = process.argv[2]; try { const r = parseIssueDocument(readFileSync(f,'utf8'), f); console.log('OK', r.tasks.length, 'tasks'); } catch (e) { console.log('INVALID:', e.message); process.exitCode = 1; }
14EOF2
15(cd ~/CodeBerg/issuespec && npx --no-install esbuild /tmp/v.mjs --bundle --platform=node --format=cjs --outfile=/tmp/v.cjs)
16for f in .tickets/issues/*.yaml; do printf '%s: ' "$f"; node /tmp/v.cjs "$f"; done
17```
18`--format=esm` fails ("Dynamic require of process") because of the `yaml` package; use cjs.
19
20## Trap
21
22When closing a ticket's checklist by hand, copy the shape from a tool-written task (e.g. ticket 0001) — `priority` is always written (`none`), `closedAt` only while `state: closed`. Reference: `~/CodeBerg/issuespec/docs/en/reference/ticket-files.md` § Task.