perf+qa: alwaysLoad engine tools + finish-tool for honest gave_up (validated on .app) - #574
Conversation
…ax) + finish-tool for honest gave_up LATENCY (secondary lever, ~14-19s/beat, zero-risk): alwaysLoad:true on clawdnd-engine in the generated dm.mcp.json (play.sh + play_party.sh) + repo .mcp.json — un-defers the ~15 engine tools so the DM stops burning ~2 ToolSearch round-trips/beat re-discovering them. Cache-stable static manifest (pi-style progressive-disclosure, owner's 'always-equipped tools' idea). alwaysLoad verified real in claude 2.1.160 (binary-safe grep: alwaysLoad/ENABLE_TOOL_SEARCH/shouldDefer). GAVE_UP (honest, not gamed): add finish(satisfaction,verdict) terminal tool to palette_server.js (reason=finish => gave_up=false for a SATISFIED end; give_up stays for genuine blocks); scorer prefers structured status.satisfaction over the brittle verdict regex; prompt: finish-when-satisfied / give_up-only-when-blocked + keep latency-patience + mandatory 'Satisfaction: N/10'; finish added to codex enabled_tools. Reverted the audit-mode prompt-v1 (canonical was already clean). Research: workflow wf_6190c02a-dfe (4 clusters, cross-verified). Harness: KEEP hand-rolled + borrow pi progressive-disclosure; reject adopt-pi (no MCP) / nanoclaw (wrong category). NOT VALIDATED YET — effort lever (medium vs default) pending engine-duo sweep. Do not merge until validated.
… default on) — match play.sh, no ToolSearch tax in the duo harness
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (8)
📝 WalkthroughWalkthroughThe PR introduces a ChangesPlaytest finish flow
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
Comment |
… skill + ledger/model/flag/finish fixes (#578) Skillify backlog (5 HIGH items, from the wf_ed9a8ad2 discovery workflow, gap-checked): 1. NEW skill .claude/skills/worldos-latency-forensics — SDK duration_api_ms measurement method (true tool-exec ~1-4%, beats are generation-bound), quality-cost lever taxonomy (neutral: alwaysLoad/streaming/scene_context/prose-trim; trading: effort), REFUTED hypotheses (Haiku-helper, --tools, --fast). 2. worldos-dev SKILL.md: re-add the ⚠ Support-VM-lane callout (heavy sweeps, not local); ledger drift fix (canonical is scores_db.py -> scores_ledger.md, SCORECARD legacy); palette now 9-tool with finish() (finish=satisfied/gave_up=false vs give_up=blocked, #574); + DISCIPLINE: 'QA must exercise the flag' (run_duo ignored CLAWDND_LEAN_BEATS -> confounded A/Bs) and 'DM latency is reasoning not the GUI/harness'. 3. docs/MODEL-TIERING-STRATEGY.md: supersede the stale proposal with the MEASURED state (generation-bound; effort is the lever; ONE model/campaign, never switch mid-campaign=cache; Opus story 4.4-4.5 vs Sonnet 4.2). Model choice left OPEN (owner's call; models are options, not bolted-on); Haiku-helper REFUTED. 4. Ledger-drift banner on qa/SCORECARD.md (LEGACY -> scores_db.py) + qa/SCORING.md + qa/QA_TOOLS.md refs. Doc-only. The 5th HIGH item (verify-subagent-factual-claims) lands in the user-global verification-before-completion skill, separately. Co-authored-by: Eva <arncalso@gmail.com>
Validated on the built .app (finishval-vet): gave_up=FALSE + satisfaction 7 SELF-REPORTED + pass, 0 critical, DM writing praised.
Latency verdict: DM beat (~100-126s medium) ≈ original Opus-high; NOT the GUI/harness (pure claude -p reasoning). Effort kept at medium (quality).
Summary by CodeRabbit
New Features
finishtool for playtests, allowing players to formally conclude sessions with satisfaction ratings (1–10) and verdict feedback.Improvements