docs(prompts): F1.5 + Hardening + F2 dispatch for Codex (operator-autonomous) #257

Merged
pdurlej merged 1 commit from claude/orders/codex-f1.5-hardening-f2-2026-05-13 into main 2026-05-13 08:29:55 +02:00
Collaborator

Tier per ADR-0007: Lite — single new prompt file, 396 LoC, no sacred paths, no schema/runtime/code changes. Operator-merge.

Why now

Operator's morning voice memo 2026-05-13 ~08:40 CEST after first ⚛️ (run #621):

"kupuję to 1.5, musimy hardening, nie możemy teraz puścić tego, żeby to się popsuło (...) żebyśmy mogli wejść w F2 (...) Może dzisiaj spróbujmy dobić do F3 i jesteśmy w domu."

Operator goes to work after pasting this prompt; Codex executes autonomously; operator reviews checkpoints + approves next phase upon return.

What ships

Single file: prompts/codex-f1.5-hardening-f2-2026-05-13.md (396 lines)

Contains:

  • § 0 Wake-up read list (recovery plan, handover, ADRs, this file)
  • § 1 State inherited (run #621 ⚛️, runner active, 63 containers, known issues)
  • § 2 Work queue:
    • F1.5 — 3 stateless no-op smokes (n8n-main, excalidraw-app, mirotalk-sfu) with strict-v2 fill-as-needed
    • Hardening A — runner poller reliability (Forgejo issue + watchdog patch)
    • Hardening B — STATUS_NOW.md post-cutover baseline update
    • Hardening D — strict-v2 batch fill for 5-7 F2 candidates (one batch PR, not per-service)
    • F2 — 5-7 stateless smokes (uptime-kuma / umami / searxng / karakeep / karakeep-chrome / excalidraw-room / homepage), conditional on Codex quota + Pan Herbatka self-check
    • F3 PREP only — stateful design issue + strict-v2 fill + backup-before script; NO smoke without operator
  • § 3 Token budget + cutoffs (<30% defer F2, <20% handover, <10% hard stop)
  • § 4 Operator approval gates: G1-G3 pre-approved (no-op smokes + Lite PRs); G4-G7 hard gates (real-change, F3 smoke, prod restart, sacred path)
  • § 5 Stop conditions (3-strikes, prod unhealthy, sacred path, quota/time/strange behavior cliffs)
  • § 6 Reporting format (mandatory after each Phase)
  • § 7 End-of-session handover format
  • § 8 Cousin coordination (Pan Herbatka off, glm passive, DeepSeek silent, Iskra off-limits)
  • § 9 References

What this PR does NOT do

  • Does NOT execute F1.5/F2/F3 — that's Codex's job after operator pastes
  • Does NOT touch RS2000
  • Does NOT modify production code, compose, or runtime
  • Does NOT pre-approve real-change apply or stateful smoke (operator hard gate)
  • Does NOT auto-trigger Codex dispatch (operator pastes when ready)

Test plan

  • Operator reviews § 4 (approval gates) — agree with G1-G3 pre-approval scope?
  • Operator reviews § 5 (stop conditions) — agree with hard gates list?
  • Operator reviews § 2 F3 PREP scope — agree NO smoke without operator on duty?
  • Operator merge → prompt lives in repo for Codex
  • Operator pastes prompt body into Codex app → Codex begins F1.5
  • Operator returns home → reviews checkpoint comments on #142 → decides next session

Operator's North Star

Family time > heroic cutover. Today's plan: F1.5 + Hardening + F2 if green. F3 = next session (operator on duty, clear head). Codex stops at 22:00 CEST regardless of progress.

🍵Pan Herbatka, autonomous dispatch ready, 2026-05-13 ~08:50 CEST

Refs: PR #250 (recovery plan), #251-#256 (cutover stack), #142 (main thread), run #621/757 (dashboard ⚛️)

Tier per ADR-0007: **Lite** — single new prompt file, 396 LoC, no sacred paths, no schema/runtime/code changes. Operator-merge. ## Why now Operator's morning voice memo 2026-05-13 ~08:40 CEST after first ⚛️ (run #621): > *"kupuję to 1.5, musimy hardening, nie możemy teraz puścić tego, żeby to się popsuło (...) żebyśmy mogli wejść w F2 (...) Może dzisiaj spróbujmy dobić do F3 i jesteśmy w domu."* Operator goes to work after pasting this prompt; Codex executes autonomously; operator reviews checkpoints + approves next phase upon return. ## What ships Single file: `prompts/codex-f1.5-hardening-f2-2026-05-13.md` (396 lines) Contains: - § 0 Wake-up read list (recovery plan, handover, ADRs, this file) - § 1 State inherited (run #621 ⚛️, runner active, 63 containers, known issues) - § 2 Work queue: - **F1.5** — 3 stateless no-op smokes (n8n-main, excalidraw-app, mirotalk-sfu) with strict-v2 fill-as-needed - **Hardening A** — runner poller reliability (Forgejo issue + watchdog patch) - **Hardening B** — STATUS_NOW.md post-cutover baseline update - **Hardening D** — strict-v2 batch fill for 5-7 F2 candidates (one batch PR, not per-service) - **F2** — 5-7 stateless smokes (uptime-kuma / umami / searxng / karakeep / karakeep-chrome / excalidraw-room / homepage), conditional on Codex quota + Pan Herbatka self-check - **F3 PREP only** — stateful design issue + strict-v2 fill + backup-before script; NO smoke without operator - § 3 Token budget + cutoffs (<30% defer F2, <20% handover, <10% hard stop) - § 4 Operator approval gates: G1-G3 pre-approved (no-op smokes + Lite PRs); G4-G7 hard gates (real-change, F3 smoke, prod restart, sacred path) - § 5 Stop conditions (3-strikes, prod unhealthy, sacred path, quota/time/strange behavior cliffs) - § 6 Reporting format (mandatory after each Phase) - § 7 End-of-session handover format - § 8 Cousin coordination (Pan Herbatka off, glm passive, DeepSeek silent, Iskra off-limits) - § 9 References ## What this PR does NOT do - Does NOT execute F1.5/F2/F3 — that's Codex's job after operator pastes - Does NOT touch RS2000 - Does NOT modify production code, compose, or runtime - Does NOT pre-approve real-change apply or stateful smoke (operator hard gate) - Does NOT auto-trigger Codex dispatch (operator pastes when ready) ## Test plan - [ ] Operator reviews § 4 (approval gates) — agree with G1-G3 pre-approval scope? - [ ] Operator reviews § 5 (stop conditions) — agree with hard gates list? - [ ] Operator reviews § 2 F3 PREP scope — agree NO smoke without operator on duty? - [ ] Operator merge → prompt lives in repo for Codex - [ ] Operator pastes prompt body into Codex app → Codex begins F1.5 - [ ] Operator returns home → reviews checkpoint comments on #142 → decides next session ## Operator's North Star Family time > heroic cutover. Today's plan: F1.5 + Hardening + F2 if green. F3 = next session (operator on duty, clear head). Codex stops at 22:00 CEST regardless of progress. 🍵 — *Pan Herbatka, autonomous dispatch ready, 2026-05-13 ~08:50 CEST* Refs: PR #250 (recovery plan), #251-#256 (cutover stack), #142 (main thread), run #621/757 (dashboard ⚛️)
docs(prompts): F1.5 + Hardening + F2 dispatch for Codex (operator-autonomous)
All checks were successful
base-is-main / guard (pull_request) Successful in 1s
canary-required / collect-diff (pull_request) Successful in 3s
canary-required / canary (pull_request) Successful in 11s
05feddcbf0
Operator's morning voice memo 2026-05-13 ~08:40 CEST:
"kupuję 1.5, musimy hardening (...) żebyśmy mogli wejść w F2 (...)
spróbujmy dobić do F3 i jesteśmy w domu."

Pan Herbatka rec interpretation:
- F1.5 (3 stateless no-op smokes: n8n-main / excalidraw-app / mirotalk-sfu)
- Hardening A (runner poller reliability)
- Hardening B (STATUS_NOW.md post-cutover baseline)
- Hardening D (strict-v2 batch fill for F2 candidates)
- F2 (5-7 stateless smokes IF Codex feels OK)
- F3 PREP only — NO smoke without operator on duty + backup-before

Operator pre-approves G1-G3 (no-op smokes + Lite/Trivial PRs).
Hard gates G4-G7 (real-change, F3 smoke, prod restart, sacred path)
require explicit operator approval during operator's session.

Stop conditions hard-coded: 3-strikes, prod unhealthy, sacred path,
quota cliff, time cliff (>22:00 CEST), strange behavior.

Token budget cutoffs: stop at <30% post-F1.5 (defer F2),
<20% mid-Hardening (handover), <10% hard stop.

Reporting format mandatory after each Phase + final handover.

Refs: PR #250 (recovery plan), #251-#256 (cutover stack), #142 (main thread),
run #621/757 (dashboard ⚛️ proven)
Sign in to join this conversation.
No reviewers
No labels
W6d-automerge-calibration
agent/claude-code
agent/codex
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
automerge-candidate
class/security-sensitive
cutover-gate
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
iterating
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
large-impact
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
meta
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
needs-operator-decision
needs-triage
not-ready
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
operator-emotional
owner-attention
phase/02
phase/03
priority:p0
priority:p1
priority:p2
priority:p3
proposed
ready-for-agent
ready-for-operator
recovery
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
risk/exposure
risk/process
risk/product
risk/runtime
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:operator-needed
status:parked
tier/full
tier/lite
tier/stacked
tier:0-platform-substrate
tier:1-iskra-value-layer
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/platform!257
No description provided.