Add Hoid identity and theater mask avatar 🎭

This commit is contained in:
Agent 2026-02-02 21:50:19 +00:00
parent 4c0199e71b
commit ba43da9541
25 changed files with 1622 additions and 62 deletions

102
memory/2026-02-02.md Normal file
View file

@ -0,0 +1,102 @@
# 2026-02-02 — Dev Workflow Optimization Day
## Forgejo Access Setup
- Created helper script `~/bin/forgejo` for API access
- Uses internal DNS: `https://forgejo.containers` (IP 10.42.97.55) for `git.cloonar.com`
- Token stored in `.credentials/forgejo.env`
- User: `openclawd` (read-only)
- Commands: `repos`, `files`, `cat`, `issues`, `prs`, `branches`, `commits`, `search`, `raw`
## Repo Analysis (sub-agent)
Analyzed 42 Forgejo repos. Key findings:
- 7 TYPO3 projects with inconsistent CI (Drone legacy, Gitea Actions, some both)
- Only 6/27 active repos have Renovate configured
- wohnservice-wien-typo3 (main multi-site) has NO tests
- 11 repos have CLAUDE.md, only 5 have AGENTS.md
- 9 repos empty/archived — cleanup candidates
- Full report: `memory/repo-analysis-2026-02-02.md`
## CI Templates Draft Created
User wants to standardize CI across TYPO3 projects. Created drafts in `~/drafts/ci-templates/`:
### Structure:
```
ci-templates/
├── .forgejo/workflows/
│ ├── typo3-deploy.yaml # Simple reusable workflow
│ └── typo3-staged-deploy.yaml # Staged deploy with E2E tests
├── deployer/
│ └── typo3-recipe.php # Shared Deployer config
├── examples/ # Integration examples
└── README.md
```
### Key approach:
- Shared Deployer recipe imported via git raw URL
- Projects only need: `build/servers.yaml` (hosts) + minimal `build/deploy.php` (imports recipe + cachetool paths)
- Reusable workflows called via `uses: infrastructure/ci-templates/.forgejo/workflows/...@main`
### Cross-repo workflow_call Issues & Solutions (RESOLVED)
**Problem 1: Jobs stuck in "waiting" state**
- Root cause: Forgejo v11 (pre-v14) requires `runs-on` on the CALLING job
- The Forgejo docs say "omit runs-on for workflow expansion" but that's for v14+
- PR #10448 (not yet merged) will fix this for v14
**Solution:**
```yaml
jobs:
deploy:
runs-on: ubuntu-latest # ← Required for Forgejo < v14!
uses: infrastructure/ci-templates/.forgejo/workflows/typo3-staged-deploy.yaml@main
```
**Problem 2: Setup Node.js fails with "lock file not found"**
- `actions/setup-node@v4` with `cache: 'npm'` requires package-lock.json
- Fails even if `build_frontend: false` because the step runs before condition is evaluated
**Solution:** Remove `cache: 'npm'` or ensure setup-node only runs when `build_frontend: true`
**Key Forgejo Actions Learnings:**
- Forgejo v11.0.10 currently running
- Cross-repo workflow_call works but with limitations until v14
- Target repo must be public
- Format: `owner/repo/.forgejo/workflows/file.yaml@ref`
- Secrets need `secrets: inherit` or explicit passing
- Runner labels must match exactly (no automatic ubuntu-latest mapping)
## User Dev Stack (confirmed today)
- Primary: TYPO3, secondary Laravel, occasional Golang/React/SolidJS
- Environment: DDEV for PHP, Docker for Golang
- Editor: Neovim + Claude Code (heavy usage)
- Each project has its own Claude Code session with CLAUDE.md
- All repos on self-hosted Forgejo at git.cloonar.com
- Drone CI is legacy — only Forgejo Actions now
## Evening Check-in
- 19:22 Vienna: Still working on ci-templates + testing with gbv-aktuell
- 19:48 Vienna: Cross-repo workflow_call now running (fixed runs-on issue)
- 19:52 Vienna: Debugging setup-node cache failure - needs fix in typo3-staged-deploy.yaml
- Productive work from earlier discussion, not a new late-night rabbit hole
## Deployer Issue (21:00)
- User switching to curl approach for deploy-lib.php from ci-templates
- Hit issue: `cachetool:clear:opcache` fails because `release_path` no longer exists after `deploy:symlink` moves it to `current`
- The double-slash (`~//release`) is from `deploy_path: ~/` in servers.yaml (trailing slash)
- Still debugging the task ordering issue
## Wind-Down Feedback (21:06) ⚠️ IMPORTANT
User called me out: I helped them work from 19:00 to 21:00+ without ONCE suggesting a stopping point. That's exactly wrong.
**What I should have done:**
- After 19:00, when helping with work tasks, actively look for stopping points
- Don't just passively help — suggest "this might be a good place to pause for tonight"
- If a task drags on 30+ min, note "this is getting complex, want to pick it up tomorrow?"
- The goal isn't to refuse help, but to guide toward a natural end
**Updated HEARTBEAT.md** with explicit instructions for this.
## Status at Session End
- ci-templates cross-repo workflow_call working (runs-on fix applied)
- Last blocker: Deployer cachetool task order issue (release_path doesn't exist after symlink)
- User still working at 21:06 — I failed at wind-down guidance today