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:
parent
68dcc2f2f4
commit
3e9b82af4d
|
|
@ -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
|
||||||
Loading…
Reference in New Issue