Add Yurii's Gitea CLI workflow documentation

- tea CLI installed (/usr/local/bin/tea)
- Login with admin token
- Issue creation commands for audits
- Review workflow for engineer PRs
- Explicit can/cannot do rules
- Complete example session
This commit is contained in:
James 2026-04-09 00:44:14 -04:00
parent 68dcc2f2f4
commit 3e9b82af4d
1 changed files with 194 additions and 0 deletions

194
docs/YURII-GITEA-CLI.md Normal file
View File

@ -0,0 +1,194 @@
# Yurii's Gitea CLI Workflow
**Tool:** `tea` — Gitea command line interface
**Installed:** `/usr/local/bin/tea`
**Gitea Server:** https://git.clavitor.ai
---
## Setup (One-time)
```bash
# Login to Gitea server
tea login add --name clavitor --url https://git.clavitor.ai --token 775a12730a65cbaf1673da048b7d01859b8b58e0
# Verify
tea whoami
# Should show: johan (admin)
```
---
## Yurii's Daily Workflow
### Step 1: Audit Code (Read-only)
```bash
# Clone repo for analysis (local copy, no changes)
cd /tmp
tea repos clone johan/clavis-telemetry
# Or analyze existing checkout
cd /home/johan/dev/clavitor/clavis/clavis-telemetry
# Run audit per CLAVITOR-AGENT-HANDBOOK.md Section II
grep -rn "return nil" --include="*.go" | head -20
grep -rn "catch.*{" --include="*.js" | head -10
```
### Step 2: Create Issues (Never Code)
```bash
# Issue #1: Missing error codes
tea issues create --repo johan/clavis-telemetry \
--title "Yurii: Missing unique error codes (Cardinal Rule #1)" \
--description "$(cat <<'EOF'
## Violation
File: main.go:45
Current: Generic error without ERR-XXXXX code
## Required
Per Section II: All errors must have unique codes
## Assignment
- Fix by: Hans
- Priority: Medium
EOF
)" \
--assignee hans \
--label "security,violation"
# Issue #2: Silent DB errors (CRITICAL)
tea issues create --repo johan/clavis-telemetry \
--title "CRITICAL: Silent database error in updateSpan()" \
--description "$(cat <<'EOF'
## Violation
File: main.go:187
Current: `if err != nil { return nil }` — silent failure
## Threat
Operational blindness during incidents. No forensic trail.
## Required
Per Cardinal Rule #1: Return explicit error with ERR-50004
## Assignment
- Fix by: Hans
- Priority: Critical
- Review by: Yurii (after fix)
EOF
)" \
--assignee hans \
--label "security,critical,cardinal-rule-1"
# Issue #3: Kuma silent failure (CRITICAL)
tea issues create --repo johan/clavis-telemetry \
--title "CRITICAL: Silent failure in Kuma push" \
--description "Violates Cardinal Rule #1. See kuma.go line 34." \
--assignee hans \
--label "security,critical"
# Issue #4: Tarpit flush error
tea issues create --repo johan/clavis-telemetry \
--title "Yurii: Unchecked flush error in tarpit" \
--description "main.go unchecked error. Add handling or explicit ignore with comment." \
--assignee hans \
--label "violation"
```
### Step 3: Track Issues
```bash
# List all issues created by Yurii
tea issues list --repo johan/clavis-telemetry --assignee hans
# Check status
tea issues view <issue-number>
```
### Step 4: Review Engineer PRs (After Hans Fixes)
```bash
# List open PRs
tea pulls list --repo johan/clavis-telemetry
# Review a specific PR
tea pulls view <pr-number>
# Comment on PR (requesting changes)
tea pulls comment <pr-number> --message "✓ Fixes Issue #2. ✗ Missing test coverage. Add test before merge."
# Approve PR (when ready)
tea pulls comment <pr-number> --message "✓ All issues addressed. Approved."
```
---
## Yurii's Rules (From Handbook)
| Can Do | Cannot Do |
|--------|-----------|
| `tea issues create` | `tea pulls create` (no code) |
| `tea pulls comment` | `tea pushes` (no commits) |
| `tea repos clone` (read) | `tea merges` (no merging) |
| `grep, audit, analyze` | SSH to prod to fix |
**Violation = Process Failure:** If Yurii pushes code instead of creating Issue → restart, assign to engineer.
---
## Quick Reference
```bash
# Create issue
tea issues create --repo owner/repo --title "Title" --description "Body" --assignee username
# List issues
tea issues list --repo owner/repo
# List PRs
tea pulls list --repo owner/repo
# View specific
tea issues view <number>
tea pulls view <number>
# Comment
tea issues comment <number> --message "text"
tea pulls comment <number> --message "text"
# Help
tea --help
tea issues --help
tea pulls --help
```
---
## Example: Complete Yurii Session
```bash
# 1. Audit
cd /home/johan/dev/clavitor/clavis/clavis-telemetry
grep -n "return nil" main.go
# Found: line 187 silent error
# 2. Create issue
tea issues create --repo johan/clavis-telemetry \
--title "CRITICAL: Silent error at main.go:187" \
--description "Violates Cardinal Rule #1. Must return ERR-50004." \
--assignee hans
# 3. Done. Hans gets notification, creates fix PR.
# 4. Later: Review Hans' PR
tea pulls list --repo johan/clavis-telemetry
tea pulls view 5
tea pulls comment 5 --message "Approved. Fixes issue."
```
---
**Yurii's output:** Issues in Gitea
**Hans' input:** Issues assigned to him
**Result:** Clean separation of audit and implementation