learning_ai_common_plat/docs/devops/gitea-runner
root 0f2956884c docs(tracker): add comprehensive production roadmap
Covers 6 phases with full checklists:
- Phase 0: current shipped state (fully documented)
- Phase 1: production hardening (health fixes, rate limiting, tests, security)
- Phase 2: Linear/Jira-parity rich items (markdown, attachments, sub-tasks,
           relationships, custom fields, activity log, drag-and-drop Kanban)
- Phase 3: Agent & automation API (claim, PR-link, webhook in/out, SDK, AI triage)
- Phase 4: multi-source intake (public, Slack, email-to-tracker, GitHub/Gitea sync)
- Phase 5: analytics & intelligence (cycle time, SLA alerting, reports)
- Phase 6: mobile & accessibility (PWA, WCAG 2.1 AA, dark mode)

Includes:
- 15 known bugs/gaps table with severity ratings (B-001..B-015)
- Submission guide for public users, internal team, and coding agents
- Full agent API usage examples (claim, PR-link, status update)
- Release schedule through 2026-09-13

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 10:40:46 +00:00
..
_PLAN_B_GITHUB_RUNNER.md docs(devops): group Gitea runner docs under gitea-runner/ subfolder 2026-05-24 18:33:45 -07:00
ACT_RUNNER_SETUP.md docs(devops): group Gitea runner docs under gitea-runner/ subfolder 2026-05-24 18:33:45 -07:00
CODEX_DELEGATION_PROMPT.md docs(devops): group Gitea runner docs under gitea-runner/ subfolder 2026-05-24 18:33:45 -07:00
PUBLISH_WORKFLOW.md docs(devops): group Gitea runner docs under gitea-runner/ subfolder 2026-05-24 18:33:45 -07:00
README.md docs(devops): group Gitea runner docs under gitea-runner/ subfolder 2026-05-24 18:33:45 -07:00
ROADMAP.md docs(tracker): add comprehensive production roadmap 2026-05-25 10:40:46 +00:00

Gitea Actions Runner — Hostinger VM rollout

This folder contains everything needed to set up the canonical CI/CD pipeline for @bytelyst/* package publishing: a self-hosted act_runner on the Hostinger Gitea, paired with a matching runner on the corp Mac local Gitea.

File map

File Purpose Audience
CODEX_DELEGATION_PROMPT.md 🎯 Start here. The bootstrap prompt to hand to Codex on the Hostinger VM + a one-liner. Human delegator
ROADMAP.md Master execution tracker. Phased checklist (P0 → P6) Codex updates with commit hashes as it executes. Codex + human reviewer
ACT_RUNNER_SETUP.md Implementation detail for installing act_runner on Hostinger VM. Referenced from roadmap P1P3. Codex
PUBLISH_WORKFLOW.md The actual publish-packages.yml workflow + propagation strategy. Referenced from roadmap P4P5. Codex
_PLAN_B_GITHUB_RUNNER.md Alternative path (GitHub Actions self-hosted runner). Kept for reference; not used. Reference only

One-liner to hand off

Read docs/devops/gitea-runner/CODEX_DELEGATION_PROMPT.md in learning_ai_common_plat, then execute the prompt within. Begin with P0.

Why this lives in its own folder

docs/devops/ is filling up with multi-doc workstreams (Azure setup, KV rotation, single-VM deployment, E2EE, etc.). To prevent future roadmaps and delegation prompts from colliding with each other, each multi-doc workstream gets its own subfolder. Pattern to follow when you start a similar workstream:

docs/devops/<workstream-slug>/
  README.md                       # this file — index
  CODEX_DELEGATION_PROMPT.md      # paste-to-codex bootstrap
  ROADMAP.md                      # phased checklist with checkboxes + commit hashes
  <DETAIL_DOC_1>.md               # implementation detail
  <DETAIL_DOC_2>.md
  _PLAN_B_<alternative>.md        # discarded alternatives (underscore prefix = deprioritized)

Architecture summary (1-paragraph)

The same v* git tag pushed to two Gitea instances (corp Mac local + Hostinger) triggers each Gitea's own act_runner to build @bytelyst/* packages inside the same pinned Docker image (node:20-bookworm@sha256:...) from the same lockfile. Deterministic builds → byte-identical tarballs → matching SHA512 integrity → lockfiles portable across both registries. No sync script. No GitHub Organization migration. No third-party billing entanglements. See ROADMAP.md §🎯 Outcome for the invariant.