ops(alpha): self-hosted loop live (520 autonomous), briefing turn killed, tool-widening filed
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# TASK: mopac-redmine-go — Redmine Go CLI, TOP PRIORITY (Redmine 506)
|
||||
|
||||
## Context
|
||||
Charles's strict self-hosting directive: "working out of redmine with a
|
||||
go cli." The PMO (and every vertical) must STOP using python glue for
|
||||
Redmine updates — this CLI replaces it the moment it lands. Jumped to
|
||||
the top of the queue 2026-08-29 by direct order.
|
||||
|
||||
## Scope
|
||||
1. New repo `ukrrs/mopac-redmine-go` (create via Gitea API if absent —
|
||||
tea token pattern; clone to ~/projects/meta/MOPAC/redmine-go).
|
||||
AGPLv3 LICENSE first commit.
|
||||
2. Stdlib-only Go library + CLI binary `mred`:
|
||||
- Config: URL + API key via env (`MRED_URL`, `MRED_KEY`) or
|
||||
`--config` env-file (0600 discipline), key never logged.
|
||||
- Commands (JSON-friendly flags, machine-parseable `-o json`):
|
||||
- `issue list -p MOPAC [--status open|all] [--version Beta] [--limit N]`
|
||||
- `issue show ID [--with journals]`
|
||||
- `issue create -p PROJ -s SUBJECT [--desc FILE|-] [--tracker feature]`
|
||||
`[--priority immediate] [--category X] [--version V] [--due DATE]`
|
||||
`[--parent ID] [--est HOURS] [--note TEXT]`
|
||||
- `issue update ID [--status done] [--priority ...] [--category ...]`
|
||||
`[--version ...] [--due ...] [--done-ratio 100] [--desc FILE|-]`
|
||||
`[--note TEXT]` (note = journal)
|
||||
- `version list|create -p PROJ -n NAME [--due DATE] [--status open|closed]`
|
||||
- `category list|create -p PROJ -n NAME`
|
||||
- `relation create FROM TO --type blocks|relates`
|
||||
- Exit codes: 0 ok, 1 usage/config, 2 API error (status in stderr,
|
||||
one line, parseable).
|
||||
3. Library surface usable by the harness later (`redmine.Client`) —
|
||||
no copy-paste temptation.
|
||||
4. Fake-Redmine test suite (table-driven; the harness repo's fake server
|
||||
pattern is a good reference): create/update/note/relations/versions
|
||||
round-trips, key-redaction, error mapping.
|
||||
5. Docs standard: README with verified quickstart (against the fake
|
||||
server), command reference table, status table.
|
||||
|
||||
## Build discipline
|
||||
ALL DEV IN DOCKER (digest-pinned builder; dev.sh/Makefile family
|
||||
pattern). NEVER broad pkill. Atomic conventional commits, push origin
|
||||
main. TDD red/green.
|
||||
|
||||
## Deliverable
|
||||
`REPORT-20260829-1400-redmine-cli.md` in `~/.coordinate/inbox-pmo/`:
|
||||
command surface, test results, and EXACT PMO replacement mappings (the
|
||||
python operations I use today -> mred one-liners) so the PMO switches on
|
||||
acceptance with zero downtime.
|
||||
Reference in New Issue
Block a user