Back to Oh My Openagent

F3 real manual QA - APPROVE

.omo/evidence/20260721-ulw-loop-gajae-adoption/f3.md

4.19.13.4 KB
Original Source

F3 real manual QA - APPROVE

What was tested

A fresh build and a fresh temp git repo were used independently of todo 6:

  • npm run build in packages/omo-codex/plugin/components/ulw-loop.
  • Built CLI lifecycle in session f3-main.
  • Adversarial gate mismatch probe in session f3-mismatch.
  • Steering batch idempotency replay + fresh second item in session f3-steer.
  • Legacy checkpoint --no-advance then complete-goals flow in session f3-legacy.
  • Real ~/.codex/config.toml SHA before/after comparison.
  • Temp repo cleanup.
  • Reviewer-fix built-CLI QA for rejected batch durability, accepted batch replay, conflict flags, and all validation error code cases.

Transcript

text
F3_WORK=/var/folders/nj/hqfr8ndn5q56cqw7jqgbrck40000gn/T/tmp.VfgpZWlTLZ
CODEX_CONFIG_BEFORE=780c740e287bda48609b5c9d5ee3ee2fc20434ce1a58c36692ec07e279a161d5  /Users/yeongyu/.codex/config.toml

$ F3 fresh lifecycle in session f3-main
main auto-advance next=G002-goal-beta
main second next=G003-goal-gamma
main aggregate=complete

$ F3 adversarial: gate mismatch off by one
mismatch_exit=1 code_line=ULW_LOOP_VALIDATION_BATCH_GATE_MISMATCH

$ F3 adversarial: deduped first batch item + fresh second item
dedup=true freshAccepted=true accepted=true

$ F3 adversarial: --no-advance then complete-goals legacy flow
noAdvanceNext=true
completeGoalsGoal=G002-goal-beta:in_progress
F3_CLEANUP=removed /var/folders/nj/hqfr8ndn5q56cqw7jqgbrck40000gn/T/tmp.VfgpZWlTLZ
CODEX_CONFIG_AFTER=780c740e287bda48609b5c9d5ee3ee2fc20434ce1a58c36692ec07e279a161d5  /Users/yeongyu/.codex/config.toml

$ reviewer-fix QA after independent review
rejected_exit=1 accepted=false reasons=unknown pending id
rejected_goals_byte_identical=true
steering_rejected_count=1
steering_rejected_message=index 1: unknown pending id; index 2: split_subgoal requires target
accepted_batch=true results=3 order=G003,G001-goal-alpha,G002-goal-beta
replay_dedup=true,true,true ledger_count_before=3 ledger_count_after=3
conflict_exit=1 code=ULW_LOOP_STEERING_BATCH_CONFLICT goals_same=true
member_unknown_exit=1 code=ULW_LOOP_VALIDATION_BATCH_MEMBER_UNKNOWN
final_not_member_exit=1 code=ULW_LOOP_VALIDATION_BATCH_FINAL_NOT_MEMBER
overlap_exit=1 code=ULW_LOOP_VALIDATION_BATCH_OVERLAP
duplicate_invalid_exit=1 code=ULW_LOOP_VALIDATION_BATCH_INVALID
too_small_invalid_exit=1 code=ULW_LOOP_VALIDATION_BATCH_INVALID
REVIEW_FIX_QA_CLEANUP=removed /var/folders/nj/hqfr8ndn5q56cqw7jqgbrck40000gn/T/tmp.q8CGMWc1hV exists=no

What was observed

  • Fresh lifecycle completed aggregate status successfully.
  • Gate mismatch failed with the required ULW_LOOP_VALIDATION_BATCH_GATE_MISMATCH code.
  • Batched steer replay deduped item 1 and accepted fresh item 2 in the same successful batch.
  • --no-advance omitted next; complete-goals then started G002-goal-beta.
  • Real Codex config hash was unchanged.
  • Temp repo was removed.
  • Reviewer-fix QA additionally confirmed rejected batch goals byte-identical plus exactly one indexed steering_rejected, accepted batch replay appended no audit/mutation, conflicting --kind/--proposals-json failed with the required typed code and no mutation, and all validation branch codes matched the approved names.

Why it is enough

This independently re-exercised the real built CLI and all F3 adversarial requirements after the todo-6 fixes, using a different temp repo from todo 6.

What was omitted

No published package, real plugin cache, PR, or live Codex app-server/TUI was used.