gfx/plate-sprint: OUTDOOR-LORA trained + smoke tested (#1481) — camp borderline, forest_road regresses#1498
gfx/plate-sprint: OUTDOOR-LORA trained + smoke tested (#1481) — camp borderline, forest_road regresses#1498100yenadmin wants to merge 3 commits into
Conversation
📝 WalkthroughWalkthroughThe PR adds training provenance, repaint metadata, panel mappings, scorer verdicts, a consolidated smoke-test report, and two score-ledger entries for the OUTDOOR-LORA evaluation. ChangesOutdoor LoRA evidence
Estimated code review effort: 2 (Simple) | ~15 minutes Confidence: 99% 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
evaOS review status: completedPR: #1498 - gfx/plate-sprint: OUTDOOR-LORA training manifest (#1481) — BLOCKED on Scenario quota evaOS review completed for this PR head. Automation note: agents should wait for this comment to reach PR URL: #1498 Review URL: #1498 (review) |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c920315b39
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| `worldos-poe2-clean-env-v4`. This manifest documents source URL + license | ||
| class per image (the owner's stated repeatability condition) but does not |
There was a problem hiding this comment.
Add the missing per-image source URLs
For anyone resuming or auditing this lane outside the original machine, the in-repo manifest does not satisfy the stated repeatability condition: the table rows list only host/filename labels for the Fandom/RPGFan assets, while the backing corpus is an owner-local path, so future trainers cannot refetch or verify the exact pages/license provenance before spending Scenario CU. Please include the actual per-image source URLs here rather than relying on the local corpus.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Walkthrough
PR: #1498 - gfx/plate-sprint: OUTDOOR-LORA training manifest (#1481) — BLOCKED on Scenario quota
Head: c920315b3986478b889b23154c84b86eca863290 into main. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).
Estimated review effort: 1/5 (~14 min)
Changed Files
| File | Status | Churn | Purpose | Risk |
|---|---|---|---|---|
qa/evidence/plate-sprint/outdoor-lora/model_state.json |
added | +46/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/training_manifest.md |
added | +104/-0 | Documentation | Moderate: validated P3 finding |
Review Signal
Validated inline findings: 1 (P0: 0, P1: 0, P2: 0, P3: 1).
Dropped findings before posting: 0. High-severity findings: 0.
Risk Taxonomy
- Auth: 1
Validation and Proof
1 required validation/proof recommendation(s) selected from changed files.
- required: Unity editor or Play Mode smoke - WorldOS repo profile implies Unity runtime risk. Proof: Unity editor smoke; Play Mode log; scene/prefab screenshot or recording.
Proof status: missing - 1 required validation/proof recommendation(s) missing from PR metadata.
Profile validation hints: Prefer correctness, persistence, CI, release, and regression findings over style-only feedback.
Profile proof expectations: Look for Unity editor, play-mode, fixture, or focused smoke evidence when runtime behavior changes.
Related Context
Related issues/PRs: #1481, #1495.
Suggested labels: docs.
Suggested reviewers: none from current metadata.
Review Settings Preview
- Profile: assertive
- Enabled sections: Review summary (inline_review); Walkthrough (inline_review); Changed-files table (walkthrough); Effort estimate (walkthrough); Related issues/PRs (walkthrough); Suggested labels (suggestion_only); Review status comment (sticky_status)
- Path instructions:
Assets/**- Prioritize scene, prefab, save-state, asset-reference, and gameplay regressions. - Path instructions:
ProjectSettings/**- Treat build, platform, input, graphics, and release behavior changes as high risk. - Label suggestions: unity, gameplay, regression-hardening
- Reviewer suggestions: none
- Suggestion behavior: suggestions only; labels and reviewers are not auto-applied.
- Roadmap-only settings: auto-apply labels; auto-request reviewers; required status checks
Pre-merge checklist
- Inline comments target current RIGHT-side diff lines.
- No secret-like content survived into posted inline comments.
- REQUEST_CHANGES is only used when eligible P0/P1 findings survive validation.
- Required behavior proof is present or not applicable.
- Labels and reviewers are suggestions only; the bot did not auto-apply them.
| | 7 | ext_007_jungle_courtyard_shrine.jpg | RPGFan, `...Screenshot-066.jpg` (`refc_003.jpg`) | exterior (ruins-outdoor analog) | RPGFan press screenshot | `asset_hWtoxJFBN1i6UeJfe3CR7Gz8` | | ||
| | 8 | ext_008_twinelms_hearthsong_village.jpg | Fandom wiki, `Twin-elms-hearthsong.jpg` (`refc_004.webp`) | exterior (town street) | Fandom wiki, PoE1 | `asset_nYiu6Gu6GXWdRKSh9TKfMhYs` | | ||
| | 9 | ext_009_ondras_gift_coast.jpg | Fandom wiki, `Ar_0103_def_bay_ondras_gift.jpg` (`refc_006.webp`) | settlement, exterior (coast) | Fandom wiki, PoE1 | `asset_ofmGDEpi6ur85RnTBgA6LAzJ` | | ||
| | 10 | ext_010_night_camp.jpg | RPGFan, `Pillars-of-Eternity-Screenshot-001.jpg` (`refc_007.jpg`) | exterior (camp) | RPGFan press screenshot — **URL re-derived from gallery index position, not independently re-verified this session** (flagged in source `manifest.json`) | `asset_v7ADRUjCQACLPJdXh9nbsBKR` | |
There was a problem hiding this comment.
P3: Item #10 source URL not independently re-verified this session
ext_010_night_camp.jpg is documented with the caveat 'URL re-derived from gallery index position, not independently re-verified this session (flagged in source manifest.json)'. The author already self-discloses this, which is good practice. To fully meet the owner's stated per-image repeatability condition, the exact source URL for this one frame should be independently re-verified (and the manifest updated, or the image replaced) before this set is relied on for training. This is a provenance-traceability gap, not a correctness/release defect — every other item lists a concrete source file.
Category: Auth
Why this matters: The repo's operating stance treats manifest repeatability (source URL + license class per image) as the owner's stated condition for reusing the v4 reference corpus. One frame with an un-verified URL weakens that audit trail, even though training is currently quota-blocked.
evaOS review status: completedPR: #1498 - gfx/plate-sprint: OUTDOOR-LORA training manifest (#1481) — BLOCKED on Scenario quota evaOS review completed for this PR head. Automation note: agents should wait for this comment to reach PR URL: #1498 Review URL: #1498 (review) |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ad91f82ba3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| outdoor `forest_road` plate class to the 6.0 quality cap (PR #1495, | ||
| `qa/evidence/plate-sprint/cb-forest/`). | ||
|
|
||
| 18 images, all char-free (no human/creature figures), all real painterly |
There was a problem hiding this comment.
Attach reviewer-visible pixels for this visual lane
The repo’s docs/OPERATIONS.md evidence rule for visual work requires visible still-frame evidence, but this manifest asserts the finalized 18-image set is char-free and quality-checked while the commit only adds MD/JSON and no reviewer-visible contact sheet or sample frames under qa/evidence/plate-sprint/outdoor-lora. That leaves the actual training pixels unauditable before the Scenario model is used, so please add the allowed still-frame/contact-sheet evidence or point this manifest at the attached PR/issue evidence for the finalized set.
Useful? React with 👍 / 👎.
|
|
||
| 1. **Char-free re-check (zoom, not thumbnail):** all 18 confirmed free of | ||
| living human/creature figures. | ||
| - `ext_005` (then "gilded_vale_wilderness", now the mountain swap target) |
There was a problem hiding this comment.
Correct the image ID in the char-free audit trail
This audit note maps the ambiguous-figure zoom check to ext_005, but the manifest’s final set defines ext_005 as western_exterior_mountain and gilded_vale_wilderness as ext_011. For anyone validating the expensive training set, it is now unclear which final asset was crop-zoomed and which image’s char-free proof is missing, so the ID/name should be corrected to match the final 18-image table.
Useful? React with 👍 / 👎.
| - `ext_015` (madhmr_bridge) has 2-3 small reddish shapes in the grass — | ||
| confirmed wildlife (resting deer/animal), not humanoid figures. Common | ||
| PoE scene-dressing convention, not disqualifying. |
There was a problem hiding this comment.
Remove wildlife from the char-free set
The set’s stated bar is “no human/creature figures,” and another candidate was excluded for visible NPCs, but this keeps ext_015 after confirming it contains resting wildlife. If this LoRA is meant to be a strictly character-free exterior model, leaving living animal figures in the finalized 18-image training set undermines that filter and can leak creature scene-dressing into later smoke tests; either remove this frame or explicitly relax and document the bar before training/evaluating against it.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Walkthrough
PR: #1498 - gfx/plate-sprint: OUTDOOR-LORA training manifest (#1481) — BLOCKED on Scenario quota
Head: ad91f82ba38bc69ebad21e180fe7fa3f9ee24235 into main. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).
Estimated review effort: 1/5 (~14 min)
Changed Files
| File | Status | Churn | Purpose | Risk |
|---|---|---|---|---|
qa/evidence/plate-sprint/outdoor-lora/model_state.json |
added | +67/-0 | Changed file | Moderate: validated P3 finding |
qa/evidence/plate-sprint/outdoor-lora/training_manifest.md |
added | +174/-0 | Documentation | Low |
Review Signal
Validated inline findings: 1 (P0: 0, P1: 0, P2: 0, P3: 1).
Dropped findings before posting: 0. High-severity findings: 0.
Risk Taxonomy
- Release regression: 1
Validation and Proof
1 required validation/proof recommendation(s) selected from changed files.
- required: Unity editor or Play Mode smoke - WorldOS repo profile implies Unity runtime risk. Proof: Unity editor smoke; Play Mode log; scene/prefab screenshot or recording.
Proof status: missing - 1 required validation/proof recommendation(s) missing from PR metadata.
Profile validation hints: Prefer correctness, persistence, CI, release, and regression findings over style-only feedback.
Profile proof expectations: Look for Unity editor, play-mode, fixture, or focused smoke evidence when runtime behavior changes.
Related Context
Related issues/PRs: #1481, #1495.
Suggested labels: docs.
Suggested reviewers: none from current metadata.
Review Settings Preview
- Profile: assertive
- Enabled sections: Review summary (inline_review); Walkthrough (inline_review); Changed-files table (walkthrough); Effort estimate (walkthrough); Related issues/PRs (walkthrough); Suggested labels (suggestion_only); Review status comment (sticky_status)
- Path instructions:
Assets/**- Prioritize scene, prefab, save-state, asset-reference, and gameplay regressions. - Path instructions:
ProjectSettings/**- Treat build, platform, input, graphics, and release behavior changes as high risk. - Label suggestions: unity, gameplay, regression-hardening
- Reviewer suggestions: none
- Suggestion behavior: suggestions only; labels and reviewers are not auto-applied.
- Roadmap-only settings: auto-apply labels; auto-request reviewers; required status checks
Pre-merge checklist
- Inline comments target current RIGHT-side diff lines.
- No secret-like content survived into posted inline comments.
- REQUEST_CHANGES is only used when eligible P0/P1 findings survive validation.
- Required behavior proof is present or not applicable.
- Labels and reviewers are suggestions only; the bot did not auto-apply them.
| "model_name": "WorldOS Painterly Exterior (FLUX)", | ||
| "model_type": "flux.1-lora", | ||
| "scenario_project_id": "proj_sd4w3ozsJaBHYnHS4mP1S2Pw", | ||
| "status": "training", |
There was a problem hiding this comment.
P3: PR title says 'BLOCKED on quota' but evidence records training as started/running
The PR title states the training manifest is 'BLOCKED on Scenario quota,' yet the committed evidence contradicts that: model_state.json line 6 sets "status": "training", line 7 records a running job ("training_job_id": "job_U3HDsSj7T4aPETy7MRCuX6oK"), and the 'blocker_resolved' block (lines 18-26) plus the manifest's 'Cost + quota — RESOLVED, training started' section both state the quota was resolved (owner added 5,000 CU on 2026-07-10) and train(action=start) succeeded. Either the title is stale and should read 'training started' (matching the evidence), or the evidence is ahead of reality and the status field should be reverted to a blocked/quota state. Per the repo's proof-honesty discipline, the PR's described state and the committed evidence should agree before merge. Note also that status:"training" is a point-in-time snapshot (started 2026-07-10T10:21:49Z); if the job has since completed, a follow-up status update is expected per the recorded next_steps.
Category: Release regression
Why this matters: This lane feeds the RRI/plate-sprint evidence chain. A title that advertises 'BLOCKED' while the artifact proves 'started' makes the lane's state ambiguous to anyone triaging the tracker, and undermines the evidence-trail honesty the repo explicitly gates on (AGENTS.md: 'Release evidence requires ... non-partial status'; RRI proof expectations).
…ng blocked on Scenario CU quota Curates an 18-image exterior-heavy real-painterly training set for a new flux.1-lora (model_RsWEcQL2NWXwoyEodWVE2vWG, "WorldOS Painterly Exterior") meant to counter ARM C's interior-heavy regression on the outdoor 6.0 cap (PR #1495). Sources: 5 reused exteriors from worldos-poe2-clean-env-v4's curated set + 12 new exteriors pulled from that corpus's uncurated candidates (manifest.json) + 1 adopted WorldOS plate (camp_clearing_night_v2). Per-image source URL + license note recorded for repeatability. Training NOT started: dry-run cost (1080 CU, ~$20.7, under the $25 lane cap) succeeded, but train(action=start) hit a hard Scenario plan quota (train-model CU 9754/10000 used, team-scoped) — needs owner to add CU or confirm quota reset. Model is created with all 18 images attached and ready; resume instructions in model_state.json.
Owner added 5,000 CU (unblocking the earlier 429 quota hit) and set a new discipline: verify no redundant model exists, dry-run cost again, and do a top-notch quality pass before spending. Model-inventory check (7 private models, none an exterior FLUX LoRA) confirmed non-redundant. Quality pass on the 18-image set (full-res zoom, not thumbnail): - All 18 re-confirmed char-free; one ambiguous figure (gilded_vale) crop- zoomed and confirmed a statue on a pedestal, not living. - Caught two auto-caption/actual-content mismatches (t_046, t_048 are grander architecture than their PoE-wiki filenames implied) and one caption misfire (bog auto-captioned as "war-torn...tanks" -- visually a legitimate marsh/ruins scene). - Rebalanced: swapped OUT t_048 "ruins_firstfires" (actually a full cathedral plaza -- the single most architecture-dominant frame, and least representative of the forest_road/camp smoke-test target rooms) for refc_068 "western_exterior_mountain" (natural terrain, zero architecture, already uploaded, no extra cost). Same 18-image count, same 1080 CU. - Dedupe check: no near-identical frames remain. Post-swap dry-run reconfirmed 1080 CU (~$20.7, under the $25 cap). train(action=start) succeeded: job_U3HDsSj7T4aPETy7MRCuX6oK.
…oad regresses (#1481) Trained model_RsWEcQL2NWXwoyEodWVE2vWG (job_U3HDsSj7T4aPETy7MRCuX6oK, 1080 CU) after the owner-directed quality pass, then ran the smoke plan on both target rooms: mint anchor (model_bfl-flux-1-dev depth-CN + the new LoRA, schema-correct loras/lorasScale) -> Gemini re-registration (structure-lock + dimetric-lock, referenceImages=anchor) -> overlay + advisory edge-recall -> 5-scorer blind panel vs the 6.0 baseline. Results: camp_clearing_night candidate median 6.5 vs incumbent 6.0 (+0.5, borderline — right at the >6.5 line, one recurring firepit-ring artifact). forest_road candidate median 2.0 — a severe regression: all 5 blind scorers independently flagged broken/wireframe architecture, the same invented-architecture failure mode ARM C produced on this room, just worse. Root-cause hypothesis: forest_road's greybox represents its tree line as adjacent rectangular box volumes, which the model reads as buildings regardless of training-data domain — a geometry-shape bias, not purely a training-domain bias. Full verdicts, panel scores, and cost actuals in qa/evidence/plate-sprint/outdoor-lora/SMOKE-TEST-VERDICT.md. Two new scores_db rows (surface=visual): outdoor-lora-smoke-forest_road-2026-07-10, outdoor-lora-smoke-camp-2026-07-10.
ad91f82 to
b840150
Compare
|
Training + smoke test complete after the owner-directed quality pass + CU top-up. Training: Smoke test (mint anchor -> Gemini re-registration -> overlay/edge-recall -> 5-scorer blind panel vs 6.0 baseline):
Full verdicts + evidence: |
evaOS review status: completedPR: #1498 - gfx/plate-sprint: OUTDOOR-LORA trained + smoke tested (#1481) — camp borderline, forest_road regresses evaOS review completed for this PR head. Automation note: agents should wait for this comment to reach PR URL: #1498 Review URL: #1498 (review) |
There was a problem hiding this comment.
Walkthrough
PR: #1498 - gfx/plate-sprint: OUTDOOR-LORA trained + smoke tested (#1481) — camp borderline, forest_road regresses
Head: b8401508664fe8c8805b8219a263bdb5ac64612d into main. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).
Estimated review effort: 5/5 (~70 min)
Changed Files
| File | Status | Churn | Purpose | Risk |
|---|---|---|---|---|
qa/evidence/plate-sprint/outdoor-lora/SMOKE-TEST-VERDICT.md |
added | +68/-0 | Documentation | Low |
qa/evidence/plate-sprint/outdoor-lora/camp/anchor_seed42.png |
added | +0/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/camp/camp_outdoorlora_registered.png |
added | +0/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/camp/gemini_meta.json |
added | +14/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/camp/overlay_camp_outdoorlora.png |
added | +0/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/camp/panel_mapping.json |
added | +5/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/camp/panel_verdict.json |
added | +28/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/forest_road/anchor_seed7.png |
added | +0/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/forest_road/fr_outdoorlora_registered.png |
added | +0/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.json |
added | +14/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/forest_road/overlay_fr_outdoorlora.png |
added | +0/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/forest_road/panel_mapping.json |
added | +5/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/forest_road/panel_verdict.json |
added | +27/-0 | Changed file | Low |
qa/evidence/plate-sprint/outdoor-lora/model_state.json |
added | +67/-0 | Changed file | Moderate: validated P2 finding |
qa/evidence/plate-sprint/outdoor-lora/training_manifest.md |
added | +174/-0 | Documentation | Low |
qa/scores.db |
modified | +0/-0 | Changed file | Low |
qa/scores_ledger.md |
modified | +3/-1 | Documentation | Low |
Review Signal
Validated inline findings: 1 (P0: 0, P1: 0, P2: 1, P3: 0).
Dropped findings before posting: 0. High-severity findings: 0.
Risk Taxonomy
- API compatibility: 1
Validation and Proof
1 required validation/proof recommendation(s) selected from changed files.
- required: Unity editor or Play Mode smoke - WorldOS repo profile implies Unity runtime risk. Proof: Unity editor smoke; Play Mode log; scene/prefab screenshot or recording.
Proof status: missing - 1 required validation/proof recommendation(s) missing from PR metadata.
Profile validation hints: Prefer correctness, persistence, CI, release, and regression findings over style-only feedback.
Profile proof expectations: Look for Unity editor, play-mode, fixture, or focused smoke evidence when runtime behavior changes.
Related Context
Related issues/PRs: #1481, #1495.
Suggested labels: docs.
Suggested reviewers: none from current metadata.
Review Settings Preview
- Profile: assertive
- Enabled sections: Review summary (inline_review); Walkthrough (inline_review); Changed-files table (walkthrough); Effort estimate (walkthrough); Related issues/PRs (walkthrough); Suggested labels (suggestion_only); Review status comment (sticky_status)
- Path instructions:
Assets/**- Prioritize scene, prefab, save-state, asset-reference, and gameplay regressions. - Path instructions:
ProjectSettings/**- Treat build, platform, input, graphics, and release behavior changes as high risk. - Label suggestions: unity, gameplay, regression-hardening
- Reviewer suggestions: none
- Suggestion behavior: suggestions only; labels and reviewers are not auto-applied.
- Roadmap-only settings: auto-apply labels; auto-request reviewers; required status checks
Pre-merge checklist
- Inline comments target current RIGHT-side diff lines.
- No secret-like content survived into posted inline comments.
- REQUEST_CHANGES is only used when eligible P0/P1 findings survive validation.
- Required behavior proof is present or not applicable.
- Labels and reviewers are suggestions only; the bot did not auto-apply them.
| "model_name": "WorldOS Painterly Exterior (FLUX)", | ||
| "model_type": "flux.1-lora", | ||
| "scenario_project_id": "proj_sd4w3ozsJaBHYnHS4mP1S2Pw", | ||
| "status": "training", |
There was a problem hiding this comment.
P2: model_state.json still says status "training" while the verdict claims the model trained + smoke-tested
SMOKE-TEST-VERDICT.md:5 states the LoRA was trained ('job job_U3HDsSj7T4aPETy7MRCuX6oK, 1080 CU, ~172 min') and both panel_verdict.json files record results produced with that trained model. But model_state.json:6 still records "status": "training" and line 8 "training_started_at": "2026-07-10T10:21:49.874Z", and line 66 ('next_steps') instructs to 'Poll job_U3HDsSj7T4aPETy7MRCuX6oK via jobs_wait/job_get to completion (ETA ~1-2h)'. A model that is still in the 'training' status cannot have been the model used in the smoke test. Update model_state.json to status "trained"/"completed" with the training_completed_at timestamp + final job status (and confirm the trained model_id used in the smoke test matches this one) before this evidence is treated as a release-relevant result. This is a partial-evidence signal per the repo's RRI contract.
Category: API compatibility
Why this matters: The PR's headline finding rests on having actually run the smoke test with the trained OUTDOOR-LORA. The committed state file contradicts the claim that training finished. Per AGENTS.md, partial/harness-contaminated evidence is not a release verdict; leaving the state file un-updated makes the evidence internally inconsistent and unverifiable.
There was a problem hiding this comment.
Actionable comments posted: 9
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@qa/evidence/plate-sprint/outdoor-lora/camp/panel_mapping.json`:
- Around line 2-4: Normalize the outdoor LoRA panel mapping and corresponding
forest mapping to the A/B/C contract produced by qa/plate_loop.py, including
both slot_to_label and label_to_slot fields. Use the canonical img_*.jpg slot
names consistently in mappings and verdict scores, with labels matching the
verifier’s candidate, incumbent, and control assignments; update all related
mapping data accordingly.
In `@qa/evidence/plate-sprint/outdoor-lora/camp/panel_verdict.json`:
- Around line 4-10: Normalize panel_mapping, scores, and medians to one
canonical key namespace so every panel identifier joins consistently. Update the
embedded mapping and score keys together, and use the same normalized labels
expected by ingest_verdict’s A/B/C relabeling, ensuring downstream cand, ctrl,
and delta_vs_control are populated rather than null.
- Line 27: Change the verdict in the recorded evidence from “BORDERLINE PASS” to
a failing or inconclusive classification because the candidate median of 6.5
does not satisfy the strict >6.5 success threshold. Update the surrounding
wording in the verdict field to consistently describe the result as below
threshold and not promotable, unless the scoring contract is explicitly changed
everywhere to allow 6.5.
In `@qa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.json`:
- Line 13: Revise the prompt’s CRITICAL STRUCTURE-LOCK to preserve the camera,
road topology, boundaries, and object anchors while explicitly allowing
placeholder trees and boulders to be reshaped into organic trunks, foliage, and
rounded rocks. Remove the requirement that those organic placeholders retain
their exact pixel silhouettes, sizes, and volumes, then rerun the forest-road
smoke test.
- Around line 9-10: The metadata contains a workstation-specific absolute asset
path in the gemini_meta.json path field. Replace it with a portable
repo-relative path or an approved shared artifact root, preserving the
referenced asset location so replay works across environments.
In `@qa/evidence/plate-sprint/outdoor-lora/forest_road/panel_mapping.json`:
- Around line 2-4: The forest-road panel mapping uses ad-hoc labels and lacks
the verifier’s A/B/C slot contract. Update the mapping and corresponding forest
verdict artifact to the exact harness schema, including slot_to_label and
label_to_slot with the expected A, B, and C slot names, so qa/plate_loop.py can
relabel slots and compute the candidate/control delta.
In `@qa/evidence/plate-sprint/outdoor-lora/model_state.json`:
- Line 45: Update the asset entry for asset_XhU3yw8GWrJx5gWLFxsrPimf in
model_state.json to set new_upload to false, keeping it consistent with the
reuse and cost details documented in training_manifest.md.
In `@qa/evidence/plate-sprint/outdoor-lora/training_manifest.md`:
- Around line 20-21: The headings “Selection rule” and “Excluded” in the
training manifest need blank lines after them to satisfy markdown formatting.
Add an empty line immediately after each heading, including the corresponding
section around the later referenced lines.
In `@qa/scores_ledger.md`:
- Line 13: Correct the cost statement in the forest-road row of
qa/scores_ledger.md to match SMOKE-TEST-VERDICT.md: record the consolidated 4
anchor mints plus 2 Gemini passes totaling 76 CU for both rooms, or explicitly
label the row’s per-room allocation and reference the consolidated cost actuals.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 03d508db-9043-442b-89c5-6fcac61eefb3
⛔ Files ignored due to path filters (7)
qa/evidence/plate-sprint/outdoor-lora/camp/anchor_seed42.pngis excluded by!**/*.pngqa/evidence/plate-sprint/outdoor-lora/camp/camp_outdoorlora_registered.pngis excluded by!**/*.pngqa/evidence/plate-sprint/outdoor-lora/camp/overlay_camp_outdoorlora.pngis excluded by!**/*.pngqa/evidence/plate-sprint/outdoor-lora/forest_road/anchor_seed7.pngis excluded by!**/*.pngqa/evidence/plate-sprint/outdoor-lora/forest_road/fr_outdoorlora_registered.pngis excluded by!**/*.pngqa/evidence/plate-sprint/outdoor-lora/forest_road/overlay_fr_outdoorlora.pngis excluded by!**/*.pngqa/scores.dbis excluded by!**/*.db
📒 Files selected for processing (10)
qa/evidence/plate-sprint/outdoor-lora/SMOKE-TEST-VERDICT.mdqa/evidence/plate-sprint/outdoor-lora/camp/gemini_meta.jsonqa/evidence/plate-sprint/outdoor-lora/camp/panel_mapping.jsonqa/evidence/plate-sprint/outdoor-lora/camp/panel_verdict.jsonqa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.jsonqa/evidence/plate-sprint/outdoor-lora/forest_road/panel_mapping.jsonqa/evidence/plate-sprint/outdoor-lora/forest_road/panel_verdict.jsonqa/evidence/plate-sprint/outdoor-lora/model_state.jsonqa/evidence/plate-sprint/outdoor-lora/training_manifest.mdqa/scores_ledger.md
📜 Review details
⏰ Context from checks skipped due to timeout. (7)
- GitHub Check: CodeRabbit / Review
- GitHub Check: test
- GitHub Check: viewer-tests
- GitHub Check: Analyze (python)
- GitHub Check: Analyze (csharp)
- GitHub Check: viewer-tests
- GitHub Check: test
🧰 Additional context used
📓 Path-based instructions (1)
**/*
📄 CodeRabbit inference engine (AGENTS.md)
**/*: Treat/Users/lume/WorldOSas the canonical local Mac app/private-art checkout for WorldOS GUI and native-app testing.
Use/Volumes/LEXAR/Codexfor Codex artifacts, scratch files, screenshots, reports, and downloaded CI/VM artifacts.
Before install, build, or test commands, verifypwd; GUI/native app runs must use/Users/lume/WorldOSor an approved same-disk worktree configuration.
Use thecodex/prefix for new branches unless instructed otherwise.
Files:
qa/evidence/plate-sprint/outdoor-lora/camp/panel_mapping.jsonqa/evidence/plate-sprint/outdoor-lora/forest_road/panel_mapping.jsonqa/evidence/plate-sprint/outdoor-lora/model_state.jsonqa/evidence/plate-sprint/outdoor-lora/camp/gemini_meta.jsonqa/evidence/plate-sprint/outdoor-lora/forest_road/panel_verdict.jsonqa/evidence/plate-sprint/outdoor-lora/SMOKE-TEST-VERDICT.mdqa/evidence/plate-sprint/outdoor-lora/camp/panel_verdict.jsonqa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.jsonqa/scores_ledger.mdqa/evidence/plate-sprint/outdoor-lora/training_manifest.md
🪛 markdownlint-cli2 (0.22.1)
qa/evidence/plate-sprint/outdoor-lora/training_manifest.md
[warning] 20-20: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
[warning] 73-73: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
🔇 Additional comments (6)
qa/evidence/plate-sprint/outdoor-lora/model_state.json (1)
6-8: 🗄️ Data Integrity & IntegrationRefresh the model-state snapshot after smoke testing.
status: "training"andnext_stepsstill describe a pre-completion state, whileSMOKE-TEST-VERDICT.mdrecords results from this job. This is the same stale-state concern raised in the previous review. Mark the job completed/failed with its final timestamp, or explicitly label this JSON as a historical pre-smoke snapshot. Confidence: 99%.Also applies to: 66-66
qa/evidence/plate-sprint/outdoor-lora/training_manifest.md (1)
65-71: 🔒 Security & PrivacyVerify that the documented provenance permits ML training.
Lines 65–71 rely on prior owner approval and labels such as “editorial/reference use,” but do not record permissions covering dataset ingestion or model distribution. Confirm explicit rights or replace sources with assets whose terms cover this use. Confidence: 88%.
qa/evidence/plate-sprint/outdoor-lora/SMOKE-TEST-VERDICT.md (1)
1-69: LGTM!qa/scores_ledger.md (1)
13-14: 🗄️ Data Integrity & Integration
visualis a supported surface here.qa/scores_ledger.mdis generated fromqa/scores.db, and the visual-critic lane explicitly logssurface="visual"; these rows belong in the ledger as-is.> Likely an incorrect or invalid review comment.qa/evidence/plate-sprint/outdoor-lora/forest_road/panel_verdict.json (1)
4-10: 🗄️ Data Integrity & IntegrationDrop this namespace warning.
qa/plate_loop.py:ingest_verdict()already remaps blind-slot keys throughslot_to_label, and this evidence JSON is not the harness contract, so the mixedimg_*/role keys here do not create a score-join bug. Confidence: 93%.> Likely an incorrect or invalid review comment.qa/evidence/plate-sprint/outdoor-lora/camp/gemini_meta.json (1)
9-10: 🗄️ Data Integrity & IntegrationNo path rewrite needed —
assets[0].pathis a machine-local download path captured for provenance;asset_idis the stable replay key. Changing it to a repo-relative/canonical path would strip audit trail value without improving reuse. Confidence 87%.> Likely an incorrect or invalid review comment.
| "img_1.jpg": "CONTROL", | ||
| "img_2.jpg": "INCUMBENT_CAMP_V2", | ||
| "img_3.jpg": "CANDIDATE_CAMP_OUTDOORLORA" |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Emit the panel-mapping contract consumed by the verifier.
This file omits slot_to_label and label_to_slot, and its labels do not match the A/B/C contract generated by qa/plate_loop.py at Line 356-430. As written, downstream ingestion cannot reliably identify candidate, incumbent, or control medians.
Normalize this file and the forest mapping to one exact slot namespace:
Proposed contract
-{
- "img_1.jpg": "CONTROL",
- "img_2.jpg": "INCUMBENT_CAMP_V2",
- "img_3.jpg": "CANDIDATE_CAMP_OUTDOORLORA"
-}
+{
+ "slot_to_label": {
+ "image_1": "C",
+ "image_2": "B",
+ "image_3": "A"
+ },
+ "label_to_slot": {
+ "A": "image_3",
+ "B": "image_2",
+ "C": "image_1"
+ },
+ "labels": {
+ "A": "candidate",
+ "B": "incumbent-canonical",
+ "C": "disguised-real-art-control"
+ }
+}If img_*.jpg is the canonical slot naming, use those exact keys consistently in both the mapping and verdict scores.
Confidence: 99%.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "img_1.jpg": "CONTROL", | |
| "img_2.jpg": "INCUMBENT_CAMP_V2", | |
| "img_3.jpg": "CANDIDATE_CAMP_OUTDOORLORA" | |
| { | |
| "slot_to_label": { | |
| "image_1": "C", | |
| "image_2": "B", | |
| "image_3": "A" | |
| }, | |
| "label_to_slot": { | |
| "A": "image_3", | |
| "B": "image_2", | |
| "C": "image_1" | |
| }, | |
| "labels": { | |
| "A": "candidate", | |
| "B": "incumbent-canonical", | |
| "C": "disguised-real-art-control" | |
| } | |
| } |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@qa/evidence/plate-sprint/outdoor-lora/camp/panel_mapping.json` around lines 2
- 4, Normalize the outdoor LoRA panel mapping and corresponding forest mapping
to the A/B/C contract produced by qa/plate_loop.py, including both slot_to_label
and label_to_slot fields. Use the canonical img_*.jpg slot names consistently in
mappings and verdict scores, with labels matching the verifier’s candidate,
incumbent, and control assignments; update all related mapping data accordingly.
| "panel_mapping": {"img_1.jpg": "CONTROL", "img_2.jpg": "INCUMBENT_CAMP_V2", "img_3.jpg": "CANDIDATE_CAMP_OUTDOORLORA"}, | ||
| "scores": { | ||
| "img_1_CONTROL_poe2": [9, 9, 9, 9, 9], | ||
| "img_2_INCUMBENT_CAMP_V2": [6, 6, 7, 6, 6], | ||
| "img_3_CANDIDATE": [6, 7, 6, 8, 6.5] | ||
| }, | ||
| "medians": {"CONTROL": 9.0, "INCUMBENT_CAMP_V2": 6.0, "CANDIDATE": 6.5}, |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Keep panel keys and medians in one canonical namespace.
panel_mapping declares img_1.jpg, but scores uses img_1_CONTROL_poe2, img_2_INCUMBENT_CAMP_V2, and img_3_CANDIDATE. These keys cannot be joined. Additionally, ingest_verdict expects A/B/C after relabeling, while medians uses CONTROL, INCUMBENT_CAMP_V2, and CANDIDATE; downstream cand, ctrl, and delta_vs_control therefore become null.
Normalize the embedded mapping, score keys, and medians together.
Confidence: 99%.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@qa/evidence/plate-sprint/outdoor-lora/camp/panel_verdict.json` around lines 4
- 10, Normalize panel_mapping, scores, and medians to one canonical key
namespace so every panel identifier joins consistently. Update the embedded
mapping and score keys together, and use the same normalized labels expected by
ingest_verdict’s A/B/C relabeling, ensuring downstream cand, ctrl, and
delta_vs_control are populated rather than null.
| "edge_recall_vs_greybox": 0.6645, | ||
| "edge_recall_caveat": "Content-blind per #1491 -- lower than forest_road's number DESPITE being the visually cleaner, better result, because the candidate correctly reinterpreted the greybox's rectangular placeholder volumes as rounded organic forms (crates, boulders) rather than preserving their blocky edges literally. Confirms edge-recall alone is not a reliable quality signal here; the overlay + panel are the binding evidence." | ||
| }, | ||
| "verdict": "BORDERLINE PASS, NOT a clean win. Candidate median 6.5 vs incumbent median 6.0 -- a +0.5 delta over the existing adopted plate, sitting exactly AT (not clearly above) the >6.5 success threshold, and well short of the 7.0+ target. No invented architecture, no characters, no melted/broken geometry -- the LoRA generalizes CLEANLY to camp, in sharp contrast to forest_road's severe regression. One consistent, real defect: 3/5 scorers independently flagged a repeated concentric-ring ground-texture artifact around the campfire (likely a training-data or diffusion-radial-falloff tell) and 2/5 flagged hanging-satchel attachment ambiguity. Given the borderline number and this recurring artifact, this is NOT a strong enough result to recommend replacing the adopted camp_clearing_night_v2 canonical_plate on its own -- it would need at least one more iteration (prompt-level fix for the ring artifact) before being a genuine promote.py-grade candidate." |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Do not record a strict-threshold miss as a pass.
The verdict says BORDERLINE PASS while also stating that 6.5 is exactly at, not above, the >6.5 success threshold. The score ledger uses that same strict success bar, so this artifact currently records a passing outcome for a numeric failure and could mislead promotion logic. Emit a failing/inconclusive verdict or change the threshold contract explicitly.
Confidence: 99%.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@qa/evidence/plate-sprint/outdoor-lora/camp/panel_verdict.json` at line 27,
Change the verdict in the recorded evidence from “BORDERLINE PASS” to a failing
or inconclusive classification because the candidate median of 6.5 does not
satisfy the strict >6.5 success threshold. Update the surrounding wording in the
verdict field to consistently describe the result as below threshold and not
promotable, unless the scoring contract is explicitly changed everywhere to
allow 6.5.
| "path": "/Users/lume/worldos-session-notes/plate-sprint/forest_road/outdoor_lora/fr_outdoorlora_registered.png", | ||
| "bytes": 5753219 |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
pwd
printf '\n--- file ---\n'
nl -ba qa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.json | sed -n '1,40p'
printf '\n--- surrounding artifacts with path fields ---\n'
rg -n '"path"\s*:\s*"/Users/lume/worldos-session-notes|"/Users/lume/WorldOS|/Volumes/LEXAR/Codex' qa/evidence -g '*.json' -g '*.md' -g '*.txt' | sed -n '1,120p'Repository: electricsheephq/WorldOS
Length of output: 234
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'PWD: '; pwd
printf '\n--- gemini_meta.json (first 40 lines) ---\n'
sed -n '1,40p' qa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.json
printf '\n--- matching path references in qa/evidence ---\n'
rg -n '"/Users/lume/worldos-session-notes|"/Users/lume/WorldOS|/Volumes/LEXAR/Codex' qa/evidence -g '*.json' -g '*.md' -g '*.txt' || true
printf '\n--- file type / size ---\n'
stat -c '%n %s bytes' qa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.jsonRepository: electricsheephq/WorldOS
Length of output: 7265
Replace the local absolute asset path
qa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.json still hardcodes /Users/lume/worldos-session-notes/..., so replay only works on one workstation. Use a repo-relative path, /Users/lume/WorldOS/..., or an approved artifact root like /Volumes/LEXAR/Codex so the metadata stays portable. Confidence: 93%.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@qa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.json` around
lines 9 - 10, The metadata contains a workstation-specific absolute asset path
in the gemini_meta.json path field. Replace it with a portable repo-relative
path or an approved shared artifact root, preserving the referenced asset
location so replay works across environments.
Source: Coding guidelines
| "bytes": 5753219 | ||
| } | ||
| ], | ||
| "prompt": "Repaint this image in the painterly hand-painted CRPG environment-background style of the reference image: visible oil-brush strokes, muted painterly palette, warm-amber dusk key light raking down the dirt road falling off into cool blue-violet shadow toward the dense forest flanks. The blocky grey placeholder trees and boulders must be repainted as natural, organic tree trunks with bark texture and foliage, and rounded moss-covered boulders -- never flat-faced geometric boxes or glassy/translucent prisms.\n\nCRITICAL STRUCTURE-LOCK (non-negotiable, checked pixel-by-pixel against the original): every wall, pillar, archway, doorway, staircase, tree, boulder, road edge, and prop must stay in EXACTLY its current position, size, and shape -- do NOT move, add, remove, resize, re-project, or recompose ANYTHING; only the paint and lighting treatment changes. Do NOT introduce any repeated, cloned, or tiled decorative motifs. Do NOT add any text, letters, numbers, labels, legends, map insets, UI elements, frames, or borders. Do NOT add any characters, people, figures, or creatures.\n\nThis is a TOP-DOWN DIMETRIC (2:1 isometric) game BACKGROUND PLATE viewed at a fixed ~30-degree downward camera pitch -- you are looking DOWN onto the scene from high above and to the side, exactly like a Pillars of Eternity II pre-rendered isometric level. Keep that EXACT high dimetric bird's-eye angle: there is NO horizon and NO sky band across the top of the frame -- the top of the frame is MORE ground/canopy seen from above. Do NOT tilt the camera to an eye-level, first-person, or landscape-horizon view." |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
Relax the exact-shape lock for organic placeholders.
The prompt simultaneously requires every tree and boulder to retain its exact pixel shape and requires those same blocky volumes to become organic trunks and rounded rocks. The forest result recorded in qa/scores_ledger.md Line 13 is the direct failure mode: all five scorers saw wireframe-box/open-cubicle architecture.
Lock camera, road topology, boundaries, and object anchors, but allow silhouette and volume reinterpretation for placeholder trees and boulders before rerunning the forest-road smoke test.
Confidence: 97%.
Proposed prompt correction
- every ... tree, boulder ... must stay in EXACTLY its current position, size, and shape
+ keep the camera, road boundaries, topology, and object anchor positions fixed;
+ placeholder trees and boulders may change silhouette, volume, occlusion, and materials📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "prompt": "Repaint this image in the painterly hand-painted CRPG environment-background style of the reference image: visible oil-brush strokes, muted painterly palette, warm-amber dusk key light raking down the dirt road falling off into cool blue-violet shadow toward the dense forest flanks. The blocky grey placeholder trees and boulders must be repainted as natural, organic tree trunks with bark texture and foliage, and rounded moss-covered boulders -- never flat-faced geometric boxes or glassy/translucent prisms.\n\nCRITICAL STRUCTURE-LOCK (non-negotiable, checked pixel-by-pixel against the original): every wall, pillar, archway, doorway, staircase, tree, boulder, road edge, and prop must stay in EXACTLY its current position, size, and shape -- do NOT move, add, remove, resize, re-project, or recompose ANYTHING; only the paint and lighting treatment changes. Do NOT introduce any repeated, cloned, or tiled decorative motifs. Do NOT add any text, letters, numbers, labels, legends, map insets, UI elements, frames, or borders. Do NOT add any characters, people, figures, or creatures.\n\nThis is a TOP-DOWN DIMETRIC (2:1 isometric) game BACKGROUND PLATE viewed at a fixed ~30-degree downward camera pitch -- you are looking DOWN onto the scene from high above and to the side, exactly like a Pillars of Eternity II pre-rendered isometric level. Keep that EXACT high dimetric bird's-eye angle: there is NO horizon and NO sky band across the top of the frame -- the top of the frame is MORE ground/canopy seen from above. Do NOT tilt the camera to an eye-level, first-person, or landscape-horizon view." | |
| "prompt": "Repaint this image in the painterly hand-painted CRPG environment-background style of the reference image: visible oil-brush strokes, muted painterly palette, warm-amber dusk key light raking down the dirt road falling off into cool blue-violet shadow toward the dense forest flanks. The blocky grey placeholder trees and boulders must be repainted as natural, organic tree trunks with bark texture and foliage, and rounded moss-covered boulders -- never flat-faced geometric boxes or glassy/translucent prisms.\n\nCRITICAL STRUCTURE-LOCK (non-negotiable, checked pixel-by-pixel against the original): keep the camera, road boundaries, topology, and object anchor positions fixed; placeholder trees and boulders may change silhouette, volume, occlusion, and materials -- do NOT move, add, remove, resize, re-project, or recompose ANYTHING; only the paint and lighting treatment changes. Do NOT introduce any repeated, cloned, or tiled decorative motifs. Do NOT add any text, letters, numbers, labels, legends, map insets, UI elements, frames, or borders. Do NOT add any characters, people, figures, or creatures.\n\nThis is a TOP-DOWN DIMETRIC (2:1 isometric) game BACKGROUND PLATE viewed at a fixed ~30-degree downward camera pitch -- you are looking DOWN onto the scene from high above and to the side, exactly like a Pillars of Eternity II pre-rendered isometric level. Keep that EXACT high dimetric bird's-eye angle: there is NO horizon and NO sky band across the top of the frame -- the top of the frame is MORE ground/canopy seen from above. Do NOT tilt the camera to an eye-level, first-person, or landscape-horizon view." |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@qa/evidence/plate-sprint/outdoor-lora/forest_road/gemini_meta.json` at line
13, Revise the prompt’s CRITICAL STRUCTURE-LOCK to preserve the camera, road
topology, boundaries, and object anchors while explicitly allowing placeholder
trees and boulders to be reshaped into organic trunks, foliage, and rounded
rocks. Remove the requirement that those organic placeholders retain their exact
pixel silhouettes, sizes, and volumes, then rerun the forest-road smoke test.
| "img_1.jpg": "ANCHOR_CAMP_V2", | ||
| "img_2.jpg": "CONTROL", | ||
| "img_3.jpg": "CANDIDATE_FR_OUTDOORLORA" |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Use the verifier’s A/B/C slot contract here as well.
This mapping has the same integration defect as the camp mapping: it omits slot_to_label/label_to_slot and uses ad-hoc labels such as ANCHOR_CAMP_V2 and CANDIDATE_FR_OUTDOORLORA. qa/plate_loop.py at Line 465-497 cannot relabel these slots or compute the candidate/control delta.
Normalize this file and its forest verdict artifact to the exact harness schema and slot names.
Confidence: 99%.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@qa/evidence/plate-sprint/outdoor-lora/forest_road/panel_mapping.json` around
lines 2 - 4, The forest-road panel mapping uses ad-hoc labels and lacks the
verifier’s A/B/C slot contract. Update the mapping and corresponding forest
verdict artifact to the exact harness schema, including slot_to_label and
label_to_slot with the expected A, B, and C slot names, so qa/plate_loop.py can
relabel slots and compute the candidate/control delta.
| {"asset_id": "asset_fdVzG3S1Y4jyR8ErCLqLCyvq", "file": "ext_002_ruins_oldsong.jpg", "reused_from": "worldos-poe2-clean-env-v4 (t_045.jpg)"}, | ||
| {"asset_id": "asset_pkgacsDZsqxXeMRrp8bNZVRK", "file": "ext_003_temple_abbey.jpg", "reused_from": "worldos-poe2-clean-env-v4 (t_046.jpg)"}, | ||
| {"asset_id": "asset_uzqFWgHgyghpnmM3QFDyfvKi", "file": "ext_004_settlement_brackenbury.jpg", "reused_from": "worldos-poe2-clean-env-v4 (t_047.jpg)"}, | ||
| {"asset_id": "asset_XhU3yw8GWrJx5gWLFxsrPimf", "file": "ext_005_western_exterior_mountain.jpg", "new_upload": true, "note": "swapped in during quality pass, replacing ruins_firstfires"}, |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Align the asset reuse flag with the manifest.
training_manifest.md Line 50 says asset_XhU3yw8GWrJx5gWLFxsrPimf was already uploaded and re-attached at no extra cost, but Line 45 records "new_upload": true. This misstates upload and cost accounting. Set the flag to false, or update the manifest if the actual operation differed. Confidence: 99%.
Proposed correction
- {"asset_id": "asset_XhU3yw8GWrJx5gWLFxsrPimf", "file": "ext_005_western_exterior_mountain.jpg", "new_upload": true, "note": "swapped in during quality pass, replacing ruins_firstfires"},
+ {"asset_id": "asset_XhU3yw8GWrJx5gWLFxsrPimf", "file": "ext_005_western_exterior_mountain.jpg", "new_upload": false, "note": "swapped in during quality pass, replacing ruins_firstfires"},📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| {"asset_id": "asset_XhU3yw8GWrJx5gWLFxsrPimf", "file": "ext_005_western_exterior_mountain.jpg", "new_upload": true, "note": "swapped in during quality pass, replacing ruins_firstfires"}, | |
| {"asset_id": "asset_XhU3yw8GWrJx5gWLFxsrPimf", "file": "ext_005_western_exterior_mountain.jpg", "new_upload": false, "note": "swapped in during quality pass, replacing ruins_firstfires"}, |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@qa/evidence/plate-sprint/outdoor-lora/model_state.json` at line 45, Update
the asset entry for asset_XhU3yw8GWrJx5gWLFxsrPimf in model_state.json to set
new_upload to false, keeping it consistent with the reuse and cost details
documented in training_manifest.md.
| ## Selection rule | ||
| REAL painterly references first (Fandom PoE1/PoE2 wiki "File:" pages + |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Add blank lines around both headings.
markdownlint reports MD022 because ## Selection rule and ## Excluded are not followed by a blank line. Confidence: 99%.
Also applies to: 73-74
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 20-20: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@qa/evidence/plate-sprint/outdoor-lora/training_manifest.md` around lines 20 -
21, The headings “Selection rule” and “Excluded” in the training manifest need
blank lines after them to satisfy markdown formatting. Add an empty line
immediately after each heading, including the corresponding section around the
later referenced lines.
Source: Linters/SAST tools
|
|
||
| | Run | When | SHA | Build date | Surface | DM model | Actor model | Scorer | Ruler | Lens ruler | RC | Methodology | Story | Mech | AngryDM | Behav | Sat | RRI | Crit | Img% | s/beat | cold-open s | turns/beat | combat s/beat | social s/beat | tool% | tool ms | slowest tool | Acts | Structural coverage | Engagement | Inert systems | Pass | Source | Notes | | ||
| |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| | ||
| | outdoor-lora-smoke-forest_road-2026-07-10 | 2026-07-10T13:36:04.551000+00:00 | f107e979 | | visual | | | sonnet-5 (5x independent blind scorers) | sc_38b768e2fd1b | lc_b031bd9f47e1 | | OUTDOOR-LORA smoke test (#1481): model_bfl-flux-1-dev depth-CN (str0.65/end0.6) + model_RsWEcQL2NWXwoyEodWVE2vWG (new 18-img exterior-only LoRA, loraScale0.7), seed7 anchor -> Gemini instruction-edit re-registration (structure-lock+dimetric-lock, referenceImages=anchor) over forest_road_greybox.png. Blind 3-image panel: CONTROL(poe2_control.jpg), cross-lane ANCHOR(camp_clearing_night_v2.jpg), CANDIDATE(fr_outdoorlora_registered.png). | | | | | | | | | | | | | | | | | | | | | FAIL | qa/evidence/plate-sprint/outdoor-lora/forest_road/ | SEVERE REGRESSION, NOT CONVERGED. 5/5 scorers independently flagged broken/melted/wireframe-box geometry ("disconnected wireframe boxes with doors/curtains", "nonsensical open-cubicle architecture") -- the new exterior-only LoRA still invents architecture on forest_road (mirrors ARM C interior-LoRA CB-FOREST finding, qa/evidence/.../cb_forest/panel_verdict.json, median 6.0 there vs median 2.0 here -- worse). Median 2.0 vs 6.0 baseline cap and >6.5 success bar: FAILS both. Root cause hypothesis: forest_road greybox represents trees as dense adjacent rectangular box volumes, which the model reads as architectural regardless of exterior-only training composition -- a geometry-shape bias, not purely a training-data-domain bias. Overlay+advisory edge-recall (qa/plate_overlays.py) misleadingly HIGH (0.9678) because the candidate preserved the blocky rectangular edges too literally (as walls, not trees) -- edge-recall is content-blind per #1491, visual overlay is the binding evidence. Cost: 4 anchor mints @9 CU + 1 Gemini pass, well under budget. Model: model_RsWEcQL2NWXwoyEodWVE2vWG. | |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Correct the cost scope in the forest-road row.
SMOKE-TEST-VERDICT.md Lines 63–65 records 4 anchor mints plus 2 Gemini passes, totaling 76 CU for both rooms. This row says 4 anchor mints plus 1 Gemini pass, which is neither the documented total nor an explicit per-room breakdown. Scope the note clearly or link to the consolidated cost actuals. Confidence: 99%.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@qa/scores_ledger.md` at line 13, Correct the cost statement in the
forest-road row of qa/scores_ledger.md to match SMOKE-TEST-VERDICT.md: record
the consolidated 4 anchor mints plus 2 Gemini passes totaling 76 CU for both
rooms, or explicitly label the row’s per-room allocation and reference the
consolidated cost actuals.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b840150866
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "model_name": "WorldOS Painterly Exterior (FLUX)", | ||
| "model_type": "flux.1-lora", | ||
| "scenario_project_id": "proj_sd4w3ozsJaBHYnHS4mP1S2Pw", | ||
| "status": "training", |
There was a problem hiding this comment.
Finish the model state after the smoke test
The same change adds SMOKE-TEST-VERDICT.md plus both panel verdicts showing this model finished training and was already smoke-tested, but the machine-readable resume state still says status: "training" (and its next_steps still tell the next agent to poll the job and run the smoke test). Anyone resuming #1481 from model_state.json can treat a completed lane as still in progress and rerun/continue the wrong workflow, so please update this state to the completed/smoke-tested verdict instead of the pre-completion status.
Useful? React with 👍 / 👎.
| (the automated advisory metric) is misleading here: forest_road scored a deceptively HIGH 0.9678 | ||
| specifically because the candidate preserved the box edges too literally (as walls, not trees), | ||
| while camp's genuinely better result scored a LOWER 0.6645 because it correctly reinterpreted | ||
| the boxes as rounded organic forms. The overlay images are the binding evidence, not the number |
There was a problem hiding this comment.
Compress the committed evidence frames
This verdict now cites the overlay images as the binding visual evidence, but the newly committed PNG frames in this evidence directory are all over the repo’s visual-evidence cap from qa/evidence/README.md/docs/OPERATIONS.md (find shows ~1.19MB to ~5.75MB per frame, versus ≤400KB/frame). Merging these oversized frames bloats the repo and violates the evidence contract reviewers rely on; please downsample/compress the stills to reviewer-visible JPEG/PNG files under the cap.
Useful? React with 👍 / 👎.
| | Run | When | SHA | Build date | Surface | DM model | Actor model | Scorer | Ruler | Lens ruler | RC | Methodology | Story | Mech | AngryDM | Behav | Sat | RRI | Crit | Img% | s/beat | cold-open s | turns/beat | combat s/beat | social s/beat | tool% | tool ms | slowest tool | Acts | Structural coverage | Engagement | Inert systems | Pass | Source | Notes | | ||
| |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| | ||
| | outdoor-lora-smoke-forest_road-2026-07-10 | 2026-07-10T13:36:04.551000+00:00 | f107e979 | | visual | | | sonnet-5 (5x independent blind scorers) | sc_38b768e2fd1b | lc_b031bd9f47e1 | | OUTDOOR-LORA smoke test (#1481): model_bfl-flux-1-dev depth-CN (str0.65/end0.6) + model_RsWEcQL2NWXwoyEodWVE2vWG (new 18-img exterior-only LoRA, loraScale0.7), seed7 anchor -> Gemini instruction-edit re-registration (structure-lock+dimetric-lock, referenceImages=anchor) over forest_road_greybox.png. Blind 3-image panel: CONTROL(poe2_control.jpg), cross-lane ANCHOR(camp_clearing_night_v2.jpg), CANDIDATE(fr_outdoorlora_registered.png). | | | | | | | | | | | | | | | | | | | | | FAIL | qa/evidence/plate-sprint/outdoor-lora/forest_road/ | SEVERE REGRESSION, NOT CONVERGED. 5/5 scorers independently flagged broken/melted/wireframe-box geometry ("disconnected wireframe boxes with doors/curtains", "nonsensical open-cubicle architecture") -- the new exterior-only LoRA still invents architecture on forest_road (mirrors ARM C interior-LoRA CB-FOREST finding, qa/evidence/.../cb_forest/panel_verdict.json, median 6.0 there vs median 2.0 here -- worse). Median 2.0 vs 6.0 baseline cap and >6.5 success bar: FAILS both. Root cause hypothesis: forest_road greybox represents trees as dense adjacent rectangular box volumes, which the model reads as architectural regardless of exterior-only training composition -- a geometry-shape bias, not purely a training-data-domain bias. Overlay+advisory edge-recall (qa/plate_overlays.py) misleadingly HIGH (0.9678) because the candidate preserved the blocky rectangular edges too literally (as walls, not trees) -- edge-recall is content-blind per #1491, visual overlay is the binding evidence. Cost: 4 anchor mints @9 CU + 1 Gemini pass, well under budget. Model: model_RsWEcQL2NWXwoyEodWVE2vWG. | | ||
| | outdoor-lora-smoke-camp-2026-07-10 | 2026-07-10T13:36:04.551000+00:00 | f107e979 | | visual | | | sonnet-5 (5x independent blind scorers) | sc_38b768e2fd1b | lc_b031bd9f47e1 | | OUTDOOR-LORA smoke test (#1481): model_bfl-flux-1-dev depth-CN (str0.65/end0.6) + model_RsWEcQL2NWXwoyEodWVE2vWG (new 18-img exterior-only LoRA, loraScale0.7), seed42 anchor -> Gemini instruction-edit re-registration (structure-lock+dimetric-lock, referenceImages=anchor) over camp_clearing_night_greybox.jpg. Blind 3-image panel: CONTROL(poe2_control.jpg), INCUMBENT(camp_clearing_night_v2.jpg, the actual adopted canonical_plate), CANDIDATE(camp_outdoorlora_registered.png). | | | | | | | | | | | | | | | | | | | | | | qa/evidence/plate-sprint/outdoor-lora/camp/ | BORDERLINE, modest improvement, NOT a clean pass. Candidate median 6.5 vs incumbent (camp_clearing_night_v2, the actual adopted canonical_plate) median 6.0 -- a +0.5 delta, sitting exactly AT the >6.5 success threshold (not clearly above it) and well short of the 7.0+ target. 3/5 scorers independently flagged a repeated concentric-ring/banding artifact in the dirt around the firepit ("artificial glow-radius artifact rather than natural ground texture") -- a real, consistent defect, not scorer noise. No invented architecture, no characters, no melted geometry -- generalizes cleanly here (unlike forest_road). Incumbent scorer notes (flat/repetitive cabin roof siding) independently reproduce its known backdrop_score=6.0 in room_recipes.json, cross-validating the blind methodology. Model: model_RsWEcQL2NWXwoyEodWVE2vWG. | |
There was a problem hiding this comment.
Record the camp smoke verdict as a fail
For the camp smoke row, the notes and verdict say the candidate is exactly 6.5 against a strict >6.5 success bar and is “NOT a clean pass,” but the ledger leaves the Pass cell empty instead of FAIL (the DB row has pass NULL). Consumers that filter failed visual rows can miss this non-pass, and the run contract expects scored runs to close with an explicit PASS/FAIL verdict, so please stamp this borderline result as failed rather than no verdict.
Useful? React with 👍 / 👎.
|
|
||
| | Run | When | SHA | Build date | Surface | DM model | Actor model | Scorer | Ruler | Lens ruler | RC | Methodology | Story | Mech | AngryDM | Behav | Sat | RRI | Crit | Img% | s/beat | cold-open s | turns/beat | combat s/beat | social s/beat | tool% | tool ms | slowest tool | Acts | Structural coverage | Engagement | Inert systems | Pass | Source | Notes | | ||
| |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| | ||
| | outdoor-lora-smoke-forest_road-2026-07-10 | 2026-07-10T13:36:04.551000+00:00 | f107e979 | | visual | | | sonnet-5 (5x independent blind scorers) | sc_38b768e2fd1b | lc_b031bd9f47e1 | | OUTDOOR-LORA smoke test (#1481): model_bfl-flux-1-dev depth-CN (str0.65/end0.6) + model_RsWEcQL2NWXwoyEodWVE2vWG (new 18-img exterior-only LoRA, loraScale0.7), seed7 anchor -> Gemini instruction-edit re-registration (structure-lock+dimetric-lock, referenceImages=anchor) over forest_road_greybox.png. Blind 3-image panel: CONTROL(poe2_control.jpg), cross-lane ANCHOR(camp_clearing_night_v2.jpg), CANDIDATE(fr_outdoorlora_registered.png). | | | | | | | | | | | | | | | | | | | | | FAIL | qa/evidence/plate-sprint/outdoor-lora/forest_road/ | SEVERE REGRESSION, NOT CONVERGED. 5/5 scorers independently flagged broken/melted/wireframe-box geometry ("disconnected wireframe boxes with doors/curtains", "nonsensical open-cubicle architecture") -- the new exterior-only LoRA still invents architecture on forest_road (mirrors ARM C interior-LoRA CB-FOREST finding, qa/evidence/.../cb_forest/panel_verdict.json, median 6.0 there vs median 2.0 here -- worse). Median 2.0 vs 6.0 baseline cap and >6.5 success bar: FAILS both. Root cause hypothesis: forest_road greybox represents trees as dense adjacent rectangular box volumes, which the model reads as architectural regardless of exterior-only training composition -- a geometry-shape bias, not purely a training-data-domain bias. Overlay+advisory edge-recall (qa/plate_overlays.py) misleadingly HIGH (0.9678) because the candidate preserved the blocky rectangular edges too literally (as walls, not trees) -- edge-recall is content-blind per #1491, visual overlay is the binding evidence. Cost: 4 anchor mints @9 CU + 1 Gemini pass, well under budget. Model: model_RsWEcQL2NWXwoyEodWVE2vWG. | |
There was a problem hiding this comment.
Stamp smoke rows with a reachable SHA
Both new smoke-test rows are introduced by this commit, but the ledger stamps them with f107e979, which is not in 49fe1d7's ancestry. Later score/RRI audits that join evidence to the commit graph can misattribute or drop these visual results because the recorded SHA does not identify the reviewed artifact commit, so please restamp the rows to the commit that actually carries this evidence (or a reachable ancestor in the PR).
Useful? React with 👍 / 👎.
Responds to chatgpt-codex-connector's latest pass on PR #1504: - Commit the actual prompts + model_run parameters used for every generation (iter1/mint_prompt.txt, iter1/gemini_prompt.txt, iter2/gemini_prompt.txt) so the firepit-lever claims are reproducible/auditable, not just prose -- matches the precedent camp-armB set with its style_pass_prompt_winning.txt. - Point the outdoor-lora 6.5 baseline citation at PR #1498 explicitly (that evidence dir isn't in this tree since this PR was branched fresh off main per #1493 and #1498 hasn't merged yet) instead of implying it's already resolvable here. - Add a methodology caveat: house_anchor == incumbent in both configs (the harness's own default pattern, matching most other plate-sprint configs, not unique to this PR) means the incumbent's blind score is a same-file tell. Documented rather than silently present -- doesn't change the converged/NOT-CONVERGED verdict, which never depends on the incumbent's score (only candidate-vs-bar and candidate-vs-control). - Re-verified (re-viewed both committed 1344x768 JPEGs directly) that the concentric-ring artifact remains clearly visible after the downsample -- the panel scores stand; a resize-only downsample doesn't change what was visually judged.
…ng 6.0 (#1481) (#1504) * qa: CAMP-PASS2 evidence — firepit-ring artifact NOT fixed, ceiling at 6.0 (#1481) One more refinement pass on camp_clearing_night per the OUTDOOR-LORA smoke test's borderline 6.5 result (qa/evidence/plate-sprint/outdoor-lora/). Attacked the recurring firepit ring-artifact with all 3 prescribed levers across 2 iterations, best-of-3 each: - iter1: firepit-pin prompt clause (base mint + Gemini) + lorasScale 0.70/0.65/0.60 sweep + best-of-3 anchor rejection -> candidate median 6.0 - iter2: reused iter1's 3 anchors, re-ran Gemini with a stronger structure-lock EXCEPTION clause authorizing repaint of the ring region specifically + best-of-3 Gemini-stage rejection -> candidate median 6.0 (identical) NOT CONVERGED: median 6.0 both iterations vs the >=7.0 target, incumbent camp_clearing_night_v2 at 7.0, disguised real-art control at 9.0 (in-band, valid). The ring artifact was visually present across all 6 generated candidates regardless of lever combination -- a confirmed, reproducible ceiling on this LoRA+recipe, not a tuning gap. Do not adopt either candidate. Two new scores_db rows (surface=visual): plate-camp-pass2-iter1-scale060-firepitpin-*, plate-camp-pass2-iter2-scale060-structurelockexception-*. Fresh main scores.db + re-applied rows per #1493 sequential-merge discipline. Full findings in qa/evidence/plate-sprint/camp-pass2/README.md. * qa: CAMP-PASS2 — address adversarial review (contract resolution, path, count) Responds to chatgpt-codex-connector's 4 review findings on PR #1504: - Downsample both selected candidates (were committed at Gemini's native 2744x1568 instead of the room's 1344x768 plate contract) and recompute registration recall + check_plate_drift + overlays at the correct size. The prior committed candidates made check_plate_drift hard-reject on a size mismatch (checked=0) instead of running a real comparison; now both get a genuine drift readout (still advisory per #1491, and still noisy against the v2-specific manifest for the reason now documented in each verdict). - Fix gallery.html.rows.json's candidate paths, which pointed at the pre-rename .png that no longer exists on disk (the PNG->JPEG size-trim renamed the files after the rows were first written); re-rendered thumbnails from the corrected paths. - Correct the README/verdict's "6 total generated candidates" overstatement: iter1 only spent the Gemini pass once (on its anchor-stage best-of-3 winner), so the true count is 3 raw anchors (best-of-3, iter1) + 4 Gemini-styled outputs (1 iter1 + 3 iter2), not 6. - Verified but did NOT action the 4th finding (an "AGENTS.md caps frames at <=400KB" rule): no such rule exists in AGENTS.md or anywhere else in the repo (grepped for it) -- the citation does not check out. Noted as unverifiable in the PR reply; the resize above incidentally brings both files well under 400KB anyway. Panel scores (visual_overall in scores_db) are unchanged -- both were scored by direct visual inspection of the full candidate, not derived from image metadata. * qa: CAMP-PASS2 — propagate corrected registration numbers to db/ledger/gallery Follow-up to 127addf: that commit fixed the README and both panel_verdict.json files with the recomputed 1344x768-contract registration/drift numbers, but left the machine-readable surfaces (gallery.html.rows.json, qa/scores.db, qa/scores_ledger.md) carrying the STALE pre-correction values (recall 0.7793/0.5443, drift checked=0) and the old "6 total generated candidates" verdict text -- caught by a second adversarial review pass on PR #1504. - gallery.html.rows.json: registration field now carries the recomputed recall (0.8253 / 0.5689) and a real check_plate_drift readout (checked=12) instead of the stale checked=0 size-mismatch hard-reject. - qa/scores.db + qa/scores_ledger.md: both camp-pass2 rows' notes updated in place (same run_id, INSERT OR REPLACE) to the corrected recall numbers and the corrected candidate-count verdict text (3 anchors + 4 Gemini-styled outputs, not 6). Diff is exactly these 2 rows -- no unrelated ledger churn. visual_overall (the panel median, 6.0) is unchanged in both rows -- only the registration/drift metadata and verdict prose were stale, not the scored quality. * qa: CAMP-PASS2 — fix remaining stale verdict text in gallery rows Self-caught follow-up to a14f215: that commit fixed the top-level registration field and the scores_db notes, but missed the nested row["panel"]["verdict"] string in gallery.html.rows.json, which still read "6 total generated candidates". Now matches the corrected README/panel_verdict.json text (3 raw anchors + 4 Gemini-styled outputs). * qa: CAMP-PASS2 — address 3rd adversarial review round Responds to the latest review pass on PR #1504: - Add candidate_iter{1,2}_scale060.dimensions.json sidecars (width/height + sha256) so the "downsampled to 1344x768" correction claim is auditable from text alone, without needing to execute image code to confirm it (evaos-code-review-bot P3). - Fix the stale image_2.png / image_1.png slot-filename references in each panel_verdict.json's panel_mapping field to the actual committed .jpg extension (chatgpt-codex-connector P2). - Make iter1/iter2 config.json's generate/registration/panel paths repo-relative instead of absolute /Users/lume/WorldOS/... paths, so a reviewer can mechanically resolve them from a checked-out tree; the disguised real-art control stays an absolute out-of-tree path (it isn't committed, same convention camp-armB PR #1492 used) with a note explaining why (evaos-code-review-bot P3, advisory). - The cost-math consistency check (evaos-code-review-bot P3, informational) required no change -- confirmed 107 CU / ~$2.04 is internally consistent across all files. * qa: CAMP-PASS2 — address 4th adversarial review round Responds to chatgpt-codex-connector's latest pass on PR #1504: - Commit the actual prompts + model_run parameters used for every generation (iter1/mint_prompt.txt, iter1/gemini_prompt.txt, iter2/gemini_prompt.txt) so the firepit-lever claims are reproducible/auditable, not just prose -- matches the precedent camp-armB set with its style_pass_prompt_winning.txt. - Point the outdoor-lora 6.5 baseline citation at PR #1498 explicitly (that evidence dir isn't in this tree since this PR was branched fresh off main per #1493 and #1498 hasn't merged yet) instead of implying it's already resolvable here. - Add a methodology caveat: house_anchor == incumbent in both configs (the harness's own default pattern, matching most other plate-sprint configs, not unique to this PR) means the incumbent's blind score is a same-file tell. Documented rather than silently present -- doesn't change the converged/NOT-CONVERGED verdict, which never depends on the incumbent's score (only candidate-vs-bar and candidate-vs-control). - Re-verified (re-viewed both committed 1344x768 JPEGs directly) that the concentric-ring artifact remains clearly visible after the downsample -- the panel scores stand; a resize-only downsample doesn't change what was visually judged. --------- Co-authored-by: Eva <arncalso@gmail.com>
Summary
flux.1-lora(model_RsWEcQL2NWXwoyEodWVE2vWG, "WorldOS Painterly Exterior (FLUX)") meant to break the outdoor plate class's 6.0 quality cap — ARM C's interior-heavy LoRA (model_G379oza2qhm6MkqDrtTvvmmw, issue Registration-preserving layered plates: firelit warmth AND ~1.0 greybox registration (the relight blocker) #1481) regresses outdoor generation (PR Plate sprint: CB-FOREST evidence — ARM C LoRA does NOT lift the outdoor 6.0 cap #1495).worldos-poe2-clean-env-v4's curated set (no re-upload) + 12 new exteriors pulled from that same corpus's uncurated candidates (~/worldos-session-notes/poe2-refs-clean/manifest.json, which is 43/48 interior-biased in its ownSELECTED.txt) + 1 adopted WorldOS outdoor plate (camp_clearing_night_v2, already precedented as an ARM C training image). Per-image source URL + license class recorded intraining_manifest.mdfor repeatability.refc_015.jpg, has small NPCs visible — excluded for the char-free bar; documented in the manifest).Blocked — training not started
flux.1-loraconfig: 1080 CU (~$20.7 est.) — under the lane's $25 cap.train(action=start)returned HTTP 429PlanLimitReachedError:actionName: "train-model",actionLimit: 10000,actionValue: 9754,limitScope: "team"— the Scenario team plan's train-model CU allowance is 97.5% consumed (246 CU headroom vs. 1080 CU needed). This is a hard account quota, not a dollar-cost gate, and isn't resolvable by trimming the dataset further (already at the mandate's 18-image floor).model_state.json— once CU headroom exists, calltrain(action=start, model_id='model_RsWEcQL2NWXwoyEodWVE2vWG').Needs the owner to either purchase additional Scenario CU / raise the team's
train-modellimit, or confirm this is a recurring-period quota that will reset, before this lane can proceed to train → smoke-test (mandate steps 2-4).Test plan
model_RsWEcQL2NWXwoyEodWVE2vWG