mesh/delivery-group group feat/774-l3-reland rejected: composed together: the checker's verdict at the members' heads (b48c90fea31f): integration: mesh-self-ch…
mesh/delivery closed: a newer head of the same pull request
mesh/check failed: integration: mesh-self-check/cmd/mesh-self-check.TestTheSelfCheckWholeRunsOnTheBus: the run answered {Run:doctor-1793351737-1 At:20…
One commit with exactly the tree of the reviewed head35b4509c0a, on main12c2574c9d, so two compiled programs added and removed on the branch leave no trace in history (issue 1577).
374 lines
12 KiB
JSON
374 lines
12 KiB
JSON
{
|
|
"module": "mesh-issues",
|
|
"version": "1",
|
|
"slug": "issues",
|
|
"seats": [
|
|
{
|
|
"name": "issue-tracker",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"open",
|
|
"get",
|
|
"list",
|
|
"move",
|
|
"note",
|
|
"link",
|
|
"milestones",
|
|
"milestone-set",
|
|
"milestone-move",
|
|
"import",
|
|
"groom",
|
|
"set",
|
|
"tracking",
|
|
"reserve",
|
|
"fix-times",
|
|
"learn-fixes",
|
|
"changes"
|
|
]
|
|
}
|
|
],
|
|
"claims": [
|
|
{
|
|
"name": "issue-tracker",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"open",
|
|
"get",
|
|
"list",
|
|
"move",
|
|
"note",
|
|
"link",
|
|
"milestones",
|
|
"milestone-set",
|
|
"milestone-move",
|
|
"import",
|
|
"groom",
|
|
"set",
|
|
"tracking",
|
|
"reserve",
|
|
"fix-times",
|
|
"learn-fixes",
|
|
"changes"
|
|
]
|
|
}
|
|
],
|
|
"emits": [
|
|
"opened",
|
|
"moved",
|
|
"noted",
|
|
"linked",
|
|
"imported",
|
|
"set",
|
|
"triaged",
|
|
"ready",
|
|
"ready-to-verify",
|
|
"reserved",
|
|
"milestone-set",
|
|
"milestone-moved"
|
|
],
|
|
"consumes": [
|
|
"mesh-issues.opened",
|
|
"mesh-issues.moved",
|
|
"mesh-delivery-gate.transition",
|
|
"mesh-delivery-view.delivered"
|
|
],
|
|
"invokes": [
|
|
"claude-code.claude_code_judge",
|
|
"seat:mesh-delivery.checks",
|
|
"seat:operator-channel.notify",
|
|
"gitea.gitea_pull_reviews",
|
|
"gitea.gitea_contains",
|
|
"gitea.gitea_get_pull_request",
|
|
"records.records_status",
|
|
"records.records_list",
|
|
"records.records_read",
|
|
"mesh-knowledge.knowledge_highest"
|
|
],
|
|
"logs": [
|
|
"changes"
|
|
],
|
|
"state": [
|
|
{
|
|
"name": "issues",
|
|
"history": 2
|
|
},
|
|
"counters",
|
|
"grooming",
|
|
"reservations",
|
|
{
|
|
"name": "milestones",
|
|
"history": 5
|
|
}
|
|
],
|
|
"config": {
|
|
"first-number": {
|
|
"type": "number",
|
|
"description": "The number the first issue the tracker numbers gets, read once when its counter starts and never again; the import reads it as the boundary between the folders hq numbered and the tracker's issues.",
|
|
"minimum": 1,
|
|
"trusted": true,
|
|
"default": 365
|
|
},
|
|
"owners": {
|
|
"type": "list",
|
|
"description": "The registered places an issue's located-in may name: a repository, or a repository and a folder in it separated by a space.",
|
|
"trusted": true,
|
|
"default": [
|
|
"hq",
|
|
"mesh-catalog",
|
|
"mesh-catalog modules/adwaita",
|
|
"mesh-catalog modules/artifact-store-tools",
|
|
"mesh-catalog modules/asus-zephyrus-g14",
|
|
"mesh-catalog modules/audit-logger",
|
|
"mesh-catalog modules/avahi",
|
|
"mesh-catalog modules/baserow",
|
|
"mesh-catalog modules/blueman",
|
|
"mesh-catalog modules/bluetooth",
|
|
"mesh-catalog modules/brother",
|
|
"mesh-catalog modules/ca-trust",
|
|
"mesh-catalog modules/claude-code",
|
|
"mesh-catalog modules/claude-licence-manager",
|
|
"mesh-catalog modules/clipmenu",
|
|
"mesh-catalog modules/confluence",
|
|
"mesh-catalog modules/cups",
|
|
"mesh-catalog modules/dbus",
|
|
"mesh-catalog modules/desk-channel",
|
|
"mesh-catalog modules/disk-load",
|
|
"mesh-catalog modules/distribution",
|
|
"mesh-catalog modules/dmenu",
|
|
"mesh-catalog modules/dnsmasq",
|
|
"mesh-catalog modules/docker",
|
|
"mesh-catalog modules/docker-compose",
|
|
"mesh-catalog modules/dunst",
|
|
"mesh-catalog modules/fail2ban",
|
|
"mesh-catalog modules/feh",
|
|
"mesh-catalog modules/flatpak",
|
|
"mesh-catalog modules/fonts",
|
|
"mesh-catalog modules/forticlient",
|
|
"mesh-catalog modules/gitea",
|
|
"mesh-catalog modules/gitlab",
|
|
"mesh-catalog modules/gnome-keyring",
|
|
"mesh-catalog modules/grafana",
|
|
"mesh-catalog modules/hello-web",
|
|
"mesh-catalog modules/home-assistant",
|
|
"mesh-catalog modules/hostname",
|
|
"mesh-catalog modules/i3",
|
|
"mesh-catalog modules/i3status-rust",
|
|
"mesh-catalog modules/icecast",
|
|
"mesh-catalog modules/influxdb",
|
|
"mesh-catalog modules/invoicing",
|
|
"mesh-catalog modules/jira",
|
|
"mesh-catalog modules/kernel",
|
|
"mesh-catalog modules/keycloak",
|
|
"mesh-catalog modules/lab",
|
|
"mesh-catalog modules/lemurs",
|
|
"mesh-catalog modules/letta",
|
|
"mesh-catalog modules/local-model-consumer",
|
|
"mesh-catalog modules/localization",
|
|
"mesh-catalog modules/logrotate",
|
|
"mesh-catalog modules/mailu",
|
|
"mesh-catalog modules/marrytts",
|
|
"mesh-catalog modules/matrix",
|
|
"mesh-catalog modules/memory-pressure",
|
|
"mesh-catalog modules/mesh-build-go",
|
|
"mesh-catalog modules/mesh-build-image",
|
|
"mesh-catalog modules/mesh-build-node",
|
|
"mesh-catalog modules/mesh-catalog",
|
|
"mesh-catalog modules/mesh-cli",
|
|
"mesh-catalog modules/mesh-conditions",
|
|
"mesh-catalog modules/mesh-config",
|
|
"mesh-catalog modules/mesh-delivery",
|
|
"mesh-catalog modules/mesh-delivery-gate",
|
|
"mesh-catalog modules/mesh-files",
|
|
"mesh-catalog modules/mesh-hand-acts",
|
|
"mesh-catalog modules/mesh-healers",
|
|
"mesh-catalog modules/mesh-issues",
|
|
"mesh-catalog modules/mesh-knowledge",
|
|
"mesh-catalog modules/mesh-mail",
|
|
"mesh-catalog modules/mesh-mail-notifier",
|
|
"mesh-catalog modules/mesh-mail-reader",
|
|
"mesh-catalog modules/mesh-mail-web",
|
|
"mesh-catalog modules/mesh-provisioner",
|
|
"mesh-catalog modules/mesh-provisioner-client",
|
|
"mesh-catalog modules/mesh-reads",
|
|
"mesh-catalog modules/mesh-self-check",
|
|
"mesh-catalog modules/mesh-vault",
|
|
"mesh-catalog modules/mesh-watcher",
|
|
"mesh-catalog modules/messenger",
|
|
"mesh-catalog modules/minio",
|
|
"mesh-catalog modules/model-usage",
|
|
"mesh-catalog modules/mongodb",
|
|
"mesh-catalog modules/mosquitto",
|
|
"mesh-catalog modules/mounts",
|
|
"mesh-catalog modules/mssql",
|
|
"mesh-catalog modules/n8n",
|
|
"mesh-catalog modules/nats",
|
|
"mesh-catalog modules/netcheck",
|
|
"mesh-catalog modules/networkmanager",
|
|
"mesh-catalog modules/nextcloud",
|
|
"mesh-catalog modules/nextcloud-client",
|
|
"mesh-catalog modules/nfs-server",
|
|
"mesh-catalog modules/nftables",
|
|
"mesh-catalog modules/nm-applet",
|
|
"mesh-catalog modules/node-env",
|
|
"mesh-catalog modules/nodered",
|
|
"mesh-catalog modules/ollama",
|
|
"mesh-catalog modules/only-office",
|
|
"mesh-catalog modules/openai-consumer",
|
|
"mesh-catalog modules/openrazer",
|
|
"mesh-catalog modules/pacman",
|
|
"mesh-catalog modules/photos-eef",
|
|
"mesh-catalog modules/photos-filip",
|
|
"mesh-catalog modules/picom",
|
|
"mesh-catalog modules/polychromatic",
|
|
"mesh-catalog modules/postgres",
|
|
"mesh-catalog modules/power",
|
|
"mesh-catalog modules/powerlevel10k",
|
|
"mesh-catalog modules/records",
|
|
"mesh-catalog modules/redis",
|
|
"mesh-catalog modules/restic",
|
|
"mesh-catalog modules/rofi",
|
|
"mesh-catalog modules/route-adapter",
|
|
"mesh-catalog modules/screen-lock",
|
|
"mesh-catalog modules/searxng",
|
|
"mesh-catalog modules/sensors",
|
|
"mesh-catalog modules/showcase",
|
|
"mesh-catalog modules/slack",
|
|
"mesh-catalog modules/snapd",
|
|
"mesh-catalog modules/ssh-client",
|
|
"mesh-catalog modules/sshd",
|
|
"mesh-catalog modules/step-ca",
|
|
"mesh-catalog modules/sudo",
|
|
"mesh-catalog modules/supabase",
|
|
"mesh-catalog modules/systemd",
|
|
"mesh-catalog modules/systemd-networkd",
|
|
"mesh-catalog modules/systemd-resolved",
|
|
"mesh-catalog modules/telegram",
|
|
"mesh-catalog modules/time-sync",
|
|
"mesh-catalog modules/triggerhappy",
|
|
"mesh-catalog modules/umami",
|
|
"mesh-catalog modules/unifi",
|
|
"mesh-catalog modules/website",
|
|
"mesh-catalog modules/xclip",
|
|
"mesh-catalog modules/xdg",
|
|
"mesh-catalog modules/xorg",
|
|
"mesh-catalog modules/xterm",
|
|
"mesh-catalog modules/zfs",
|
|
"mesh-catalog modules/zsh",
|
|
"mesh-catalog modules/zsh-autosuggestions",
|
|
"mesh-catalog modules/zsh-syntax-highlighting",
|
|
"mesh-controller",
|
|
"mesh-controller modules/route-proxy",
|
|
"mesh-delivery",
|
|
"mesh-delivery modules/mesh-delivery-builder",
|
|
"mesh-delivery modules/mesh-delivery-checker",
|
|
"mesh-delivery modules/mesh-delivery-forge-bridge",
|
|
"mesh-delivery modules/mesh-delivery-indexer",
|
|
"mesh-delivery modules/mesh-delivery-teller",
|
|
"mesh-delivery modules/mesh-delivery-view",
|
|
"mesh-delivery modules/mesh-delivery-watchman",
|
|
"mesh-host",
|
|
"mesh-lab",
|
|
"mesh-media-catalog",
|
|
"mesh-sdk",
|
|
"mesh-tools",
|
|
"okioki"
|
|
]
|
|
},
|
|
"duplicate-check": {
|
|
"type": "string",
|
|
"description": "Whether a new issue is checked against the open ones for a duplicate: off stops it, anything else is on (novox/hq ADR 0278 §7).",
|
|
"trusted": true,
|
|
"default": "on"
|
|
},
|
|
"judge-model": {
|
|
"type": "string",
|
|
"description": "The model the duplicate check asks, by the agent's name for it, such as sonnet; empty is the tracker's own default.",
|
|
"trusted": true,
|
|
"default": "sonnet"
|
|
},
|
|
"forge-owner": {
|
|
"type": "string",
|
|
"description": "The owner on the forge of the repositories an issue's fixed-by names, for asking after a pull request's delivery (novox/hq ADR 0279 §3); empty asks no forge.",
|
|
"trusted": true,
|
|
"default": "novox"
|
|
},
|
|
"stuck-after": {
|
|
"type": "string",
|
|
"description": "How long a fix may be merged and not delivered before it is said stuck, as a duration such as 2h (novox/hq ADR 0281); empty is the tracker's own default.",
|
|
"pattern": "|[0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))*",
|
|
"trusted": true,
|
|
"default": "2h"
|
|
},
|
|
"worker-stale-after": {
|
|
"type": "string",
|
|
"description": "How long an issue's worker stays current with nothing done on it, as a duration such as 24h (novox/hq ADR 0284 §4); empty is the tracker's own default.",
|
|
"pattern": "|[0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))*",
|
|
"trusted": true,
|
|
"default": "24h"
|
|
},
|
|
"delivered-not-resolved-after": {
|
|
"type": "string",
|
|
"description": "How long an issue may stay in fixing once every fix it names is delivered before the operator is warned, as a duration such as 1h (novox/hq issue 483); empty is the tracker's own default.",
|
|
"pattern": "|[0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h)([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))*",
|
|
"trusted": true,
|
|
"default": "1h"
|
|
},
|
|
"decision-floor": {
|
|
"type": "number",
|
|
"description": "The highest decision number already taken somewhere the tracker cannot read, such as an open branch of hq; the decision sequence's first number is one above it, read once when the counter starts (novox/hq issue 424).",
|
|
"minimum": 0,
|
|
"trusted": true,
|
|
"default": 293
|
|
},
|
|
"research-floor": {
|
|
"type": "number",
|
|
"description": "The highest research number already taken somewhere the tracker cannot read; the research sequence's first number is one above it, read once when the counter starts (novox/hq issue 424).",
|
|
"minimum": 0,
|
|
"trusted": true,
|
|
"default": 45
|
|
}
|
|
},
|
|
"resources": [
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"place": ".",
|
|
"unknown": "program"
|
|
},
|
|
{
|
|
"id": "settings",
|
|
"trusted": true,
|
|
"type": "file",
|
|
"path": "${dir:state}/settings.json",
|
|
"mode": "0600",
|
|
"takes-config": ["first-number", "owners", "duplicate-check", "judge-model", "forge-owner", "stuck-after", "worker-stale-after", "delivered-not-resolved-after", "decision-floor", "research-floor"],
|
|
"merge": "json",
|
|
"template": "files/settings.json"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-issues",
|
|
"binary": "mesh-issues",
|
|
"loads": [
|
|
"mesh-issues"
|
|
],
|
|
"env": {
|
|
"MESH_ISSUES_SETTINGS": "${dir:state}/settings.json"
|
|
}
|
|
},
|
|
{
|
|
"name": "files",
|
|
"kind": "archive",
|
|
"from": "files"
|
|
}
|
|
]
|
|
}
|
|
}
|