sync: add complete Codex chat handoff

This commit is contained in:
Rene Fichtmueller 2026-04-29 23:00:30 +02:00
parent 0624b40e64
commit 9a83f66ee9
2 changed files with 266 additions and 4 deletions

View File

@ -1,6 +1,6 @@
# Current TIP Sync State # Current TIP Sync State
Updated: 2026-04-29 20:55 UTC Updated: 2026-04-29 21:02 UTC
## Active Policy ## Active Policy
@ -27,6 +27,12 @@ When work touches TIP, Magatama, LLM Gateway, bridges, auth, or shared Erik infr
## Latest Work ## Latest Work
- Complete Codex chat sync was added:
- `sync/history/2026-04-29-codex-complete-chat-sync.md`
- captures Ghost/blog updates, LinkedIn voice preferences, LPO/AI-fabric blog edits, Rest-Is-Not-Laziness scheduling replacement, and security notes.
- confirms no secrets were written into sync.
- confirms TIP crawler/robot planning remains TIPLLM-only.
- confirms Erik remains controller/light `erik-safe` only, with heavy crawler work assigned to Proxmox/Pi workers.
- Codex sync-start confirmation was added: - Codex sync-start confirmation was added:
- `sync/history/2026-04-29-codex-sync-start-confirmation.md` - `sync/history/2026-04-29-codex-sync-start-confirmation.md`
- confirms Codex read this TIP handoff, checked the sibling LLM Gateway handoff, and is treating `sync/` as binding. - confirms Codex read this TIP handoff, checked the sibling LLM Gateway handoff, and is treating `sync/` as binding.
@ -97,7 +103,8 @@ From 2026-04-29:
2. Read this folder first. 2. Read this folder first.
3. For BlogLLM work, treat `fo-blog-v7` as Adapter Bridge / PEFT adapter, not as a `~/.ollama` GGUF model. 3. For BlogLLM work, treat `fo-blog-v7` as Adapter Bridge / PEFT adapter, not as a `~/.ollama` GGUF model.
4. Also read `llm-gateway/sync/CURRENT.md` when work touches shared Erik infrastructure, LLM routing, bridges, auth, TIPLLM, or crawler orchestration. 4. Also read `llm-gateway/sync/CURRENT.md` when work touches shared Erik infrastructure, LLM routing, bridges, auth, TIPLLM, or crawler orchestration.
5. If testing robots, start with dry runs only: 5. For TIP robot/crawler planning, use TIPLLM only. Do not route this lane through external AI providers.
6. If testing robots, start with dry runs only:
```bash ```bash
npm run robots:verification -w packages/scraper -- --status npm run robots:verification -w packages/scraper -- --status
@ -105,7 +112,7 @@ npm run robots:verification -w packages/scraper -- --tipllm-plan --limit=3
npm run robots:verification -w packages/scraper -- --enqueue=details-fast-lane --profile=erik-safe --dry-run npm run robots:verification -w packages/scraper -- --enqueue=details-fast-lane --profile=erik-safe --dry-run
``` ```
6. Only dispatch real crawl work after deciding the target host: 7. Only dispatch real crawl work after deciding the target host:
- Erik: `erik-safe`, tiny batches only. - Erik: `erik-safe`, tiny batches only.
- Pi: `pi-fetch`. - Pi: `pi-fetch`.
- Proxmox: `proxmox-heavy`. - Proxmox: `proxmox-heavy`.
@ -118,4 +125,4 @@ There are existing uncommitted changes outside `sync/`. Some are Codex work from
- `6c42ca7 docs: add shared agent sync handoff` - `6c42ca7 docs: add shared agent sync handoff`
- `8e7c5aa docs: link llm-gateway sync handoff` - `8e7c5aa docs: link llm-gateway sync handoff`
- Pending after this update: Codex sync-start confirmation in `sync/history/`. - Pending after this update: complete Codex chat sync in `sync/history/`.

View File

@ -0,0 +1,255 @@
# 2026-04-29 Codex Complete Chat Sync
## Scope
This handoff captures the complete relevant Codex chat state from this conversation so Claude, Codex, and laptop sessions can continue from the same operational context.
It intentionally does **not** persist secrets. Ghost API keys were shared in chat for one-off operations, but no key values are written here.
## Binding User Preferences
- Rene wants public copy to be **1000% anti-AI**:
- no generic LinkedIn templates.
- no polished AI cadence.
- no repeated "Everyone talks about..." default hooks.
- more Rene voice: direct, nerdy, slightly rough, honest, technical where useful.
- prefer imperfect human rhythm over clean marketing symmetry.
- English is preferred for LinkedIn teasers unless Rene asks otherwise.
- Teasers should respect LinkedIn practical length:
- stay comfortably below the post limit.
- put the useful hook before the "see more" fold.
## Ghost / Blog Work Completed In This Chat
### NOG Meetings Blog
Blog:
```text
https://blog.fichtmueller.org/nog-meetings-unvarnished-truth-commercialization/
```
Codex created English LinkedIn teaser variants around:
- NOG meetings as Rene's second life.
- honest critique without abandoning the community.
- commercialization, travel culture, alcohol, status, missing accountability, fellowship safety.
No blog update was performed for this post in this chat.
### Mental Health / Boris Reply
Rene shared a long message from Boris responding to:
```text
https://blog.fichtmueller.org/unspoken-costs-mental-health-tech-infrastructure/
```
Context added by Rene:
- In 2011 Rene attempted suicide.
- At that time he had effectively multiple parallel lives:
- actual life.
- private escape / affair.
- job running in his head around 20 hours per day.
Codex drafted a direct personal reply to Boris. It should remain private unless Rene chooses to send/publish it.
Important voice note:
- Keep this kind of writing plain and personal.
- Do not over-polish.
- Avoid therapy-speak and leadership-post framing.
### AI Fabric Optics Blog
Blog:
```text
https://blog.fichtmueller.org/ai-fabric-optics-gpu-cluster-networking/
```
Codex created a LinkedIn teaser and then updated the published Ghost post with FLEXOPTIX links.
Inserted section:
```text
// where sourcing gets real
```
Links added:
```text
https://www.flexoptix.net/en/transceiver?fo_tra_protocols_category=InfiniBand
https://www.flexoptix.net/en/supported-vendors/index/name/Nvidia+(ex.+Mellanox)-compatible
```
Live readback confirmed the section was visible. Ghost appended tracking refs to outbound links on the rendered page.
### LPO Blog
Blog:
```text
https://blog.fichtmueller.org/linear-drive-optics-lpo-killing-dsp/
```
Rene asked for fact/professional review. Codex checked and corrected the article via Ghost Admin API.
Key corrections applied:
- Replaced absolute "every pluggable module contains a DSP" wording with "most modern high-speed DSP-based pluggable optical modules..."
- Corrected FEC wording so it is not incorrectly always "in module".
- Made reach claims less absolute.
- Updated standards wording to:
```text
LPO MSA specifications plus OIF CEI-112G-LINEAR-PAM4 / EEI work
```
- Marked the 32% latency number as illustrative:
```text
Illustrative 32% lower end-to-end latency in this model
```
- Added FLEXOPTIX LPO link:
```text
https://www.flexoptix.net/en/transceiver?fo_tra_type=LPO
```
Live readback confirmed:
- updated standards line.
- illustrative latency wording.
- FLEXOPTIX LPO link.
Codex then created several LinkedIn teaser versions. Rene rejected duplication with the earlier AI Fabric teaser. Final direction:
- more nerdy.
- less LinkedIn.
- anti-AI.
- English.
Latest preferred teaser style example:
- DSP as "signal therapist" / "insurance".
- LPO removes DSP/retimer.
- host/SerDes/board/fiber must actually be good.
- "Mystery fiber from 2009 with three patch fields and a dust biography? Please no."
### Personal Replacement Blog
Rene wanted to replace an unloved scheduled/published placeholder-style blog.
The obvious bad post was:
```text
testr
```
Rene deleted `testr`.
Codex drafted a personal blog:
```text
Rest Is Not Laziness
```
It was initially published live by mistake:
```text
https://blog.fichtmueller.org/rest-is-not-laziness/
```
Rene clarified it should replace the scheduled post shown in Ghost:
```text
EO: Two Years in a Peer Group, One Lesson
```
After explicit confirmation, Codex:
- overwrote the scheduled EO post with `Rest Is Not Laziness`.
- preserved the scheduled publish time.
- deleted the accidentally live duplicate.
- reset the slug from `rest-is-not-laziness-2` back to:
```text
rest-is-not-laziness
```
Final scheduled state:
- Title: `Rest Is Not Laziness`
- Status: scheduled
- Publish time: `2026-05-16T06:00:00.000Z`
- Berlin time: `2026-05-16 08:00 CEST`
- Ghost preview/internal URL remained the old post UUID path:
```text
https://blog.fichtmueller.org/p/cec9727d-63ca-4a9c-b5c3-7b0aba620c02/
```
## Security / Secret Handling Note
Rene pasted Ghost Content/Admin API keys into chat. Codex used the Admin key only for one-off Ghost Admin API operations.
Important:
- Do not write those key values into repo files, sync files, shell history notes, or training material.
- Rotate the Ghost Admin API key because it appeared in chat.
- Future work should use a proper secret store or short-lived environment injection.
## Sync / TIP Instruction From Rene
Rene explicitly requested:
- Read `sync/CURRENT.md` and latest `sync/history/` first.
- Treat them as binding state.
- Write new findings, decisions and open points back into `sync/`.
- Push only `sync/` to Gitea.
- For TIP:
- TIPLLM-only for robot/crawler planning.
- Erik only cautiously as controller / tiny safe runner.
- heavy crawlers on Proxmox/Pis.
Codex read:
- `sync/CURRENT.md`
- `sync/history/2026-04-29-codex-sync-start-confirmation.md`
- `sync/history/2026-04-29-fo-blog-v7-tip-handoff.md`
- `sync/history/2026-04-29-codex-full-session-handoff.md`
- sibling `llm-gateway/sync/CURRENT.md`
## Current Worktree / Git Decision
The TIP repo has many existing non-sync changes and untracked files. These are outside this chat-sync task.
Decision:
- do not revert.
- do not stage.
- do not commit.
- only stage/commit/push `sync/`.
## Operational Safety During This Sync
No crawler jobs were started.
No robot queues were enqueued.
No PM2 services were restarted.
No Erik deployment or load test was performed.
## Open Points
- Rotate Ghost Admin API key.
- Continue to use `sync/` as the handoff source before any TIP/LLM/crawler work.
- Before any real crawler dispatch, choose the target:
- Erik: `erik-safe`, tiny batches only.
- Pi: `pi-fetch`.
- Proxmox: `proxmox-heavy`.
- Keep robot/crawler planning TIPLLM-only.
- For future BlogLLM work, remember from current sync:
- active model is `fo-blog-v7`.
- it is an Adapter Bridge / PEFT adapter, not a normal `~/.ollama` GGUF manifest.