docs: Update handover with articles, publishing, and new lessons learned

Session 2 additions: two comparison articles written, repo published to
both GitHub and Gitea, GitHub Actions billing issue documented.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-18 15:08:47 +01:00
parent 2b5ab840f7
commit a98941d74d
2 changed files with 82 additions and 3 deletions
+45
View File
@@ -63,3 +63,48 @@
3. **JSON output from all helpers** -- Every shell function outputs valid JSON, making it trivial for agents to parse results with jq.
4. **Idempotent setup scripts** -- `setup-labels.sh` checks for existing resources before creating, making it safe to run repeatedly.
## Session: 2026-02-18 -- Articles and Gitea Publishing
### Technical Discoveries
1. **GitHub Actions billing blocks automated workflows silently**
- The `sync-to-gitea.yml` workflow was failing with: "The job was not started because recent account payments have failed or your spending limit needs to be increased"
- This was not visible unless you explicitly checked `gh run view <id>` -- the push itself succeeds, only the triggered workflow fails
- **Workaround:** Push directly to Gitea remote using 1Password token: `git push https://oauth2:${GITEA_TOKEN}@git.terraphim.cloud/...`
2. **Gitea org repos require explicit creation before push**
- `git push` to a non-existent org repo returns "Push to create is not enabled for organizations" (403)
- Must create the repo first via API: `POST /api/v1/orgs/{org}/repos` with `auto_init: false`
- Personal repos may allow push-to-create, but org repos do not by default
3. **Parallel agent execution works well for article writing**
- Launched `technical-cto` and `technical-writer` agents simultaneously
- Each produced a distinct article style without interference
- CTO agent: 402 lines, bold narrative voice
- Technical writer agent: 1289 lines, comprehensive reference with appendices
- Both independently verified code snippets against the codebase
### Debugging Approaches That Worked
1. **Check workflow run details, not just push status**
- `git push` succeeding does not mean the triggered workflow succeeded
- Always verify with `gh run list --workflow=<name>` after push
2. **Direct remote push as fallback for CI failures**
- When GitHub Actions is unavailable, adding a gitea remote and pushing with `op` token works immediately
- No need to wait for CI billing resolution
### Pitfalls to Avoid
1. **Do not assume GitHub Actions workflows are running** -- billing issues cause silent failures. The push succeeds but triggered workflows silently fail. Check `gh run list` periodically.
2. **Do not push to a Gitea org repo without creating it first** -- unlike personal namespaces, organization repos require explicit API creation before accepting pushes.
### Best Practices Discovered
1. **Dual-agent article writing** -- Using two agents with different voices (CTO narrative + technical reference) produces complementary content. The CTO article draws readers in; the technical article provides the implementation detail.
2. **Verify all code in articles against live systems** -- Both agents independently verified their code snippets against the actual codebase files. This caught zero errors because the source material (SKILL.md, test scripts) was already tested, but the verification step builds confidence.
3. **Add gitea remote for direct push** -- Having both `origin` (GitHub) and `gitea` remotes allows manual sync when GitHub Actions is down. Command: `git remote add gitea https://git.terraphim.cloud/{org}/{repo}.git`