Skip to content

emrg: vibe check work — outputs/results only + no [:500] truncation (rant 2026-08-20T22:45:33) - #904

Merged
argszero merged 1 commit into
masterfrom
feature/vibe-work-outputs-no-truncation
Aug 20, 2026
Merged

emrg: vibe check work — outputs/results only + no [:500] truncation (rant 2026-08-20T22:45:33)#904
argszero merged 1 commit into
masterfrom
feature/vibe-work-outputs-no-truncation

Conversation

@argszero

Copy link
Copy Markdown
Owner

What

Host feedback (rant 2026-08-20T22:45:33) — two related fixes for the task vibe-check work field:

1. work must describe outputs/results, not process details

emrg/server/prompts/vibe_check.j2 previously told the agent to list concrete actions ("执行了 N 次工具调用,git fetch 检查了 X…"), so every cycle reported an itemized tally of tool calls — noise. The guidance now requires user-relevant outputs and results only:

  • write what was completed / the actual impact (e.g. "merged PR emrg: remove GUI 'working directory' (project_dir) concept #888, fix X shipped", "implemented rant Y and submitted PR #Z", "released v0.2.60")
  • tool actions and process details are never work-report content ("N tool calls", "checked X", "analyzed Y" are forbidden)
  • keep it brief: 1–3 sentences, ≤200 chars

2. Stop truncating work when saving task-run JSONL

emrg/server/daemon.py:1278 and emrg/server/scheduler.py:858 both applied [:500] to work, so every persisted record was exactly 500 chars (truncation garbage). Truncation is removed — the full value is saved; brevity is enforced by the prompt guidance instead of a hard cut.

Verification

  • New regression test test_evolution_cycle_log_work_not_truncated — a >500-char work value round-trips through the cycle log AND the task-run JSONL intact.
  • Full suite: 984 passed + 1 skipped (Agent.md doc-count synced 984→985); import + CLI checks OK.

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle (1st). Rant 2026-08-20T22:45:33 implemented: vibe_check.j2 work guidance now demands user-relevant outputs/results only (1-3 sentences, ≤200 chars, no tool-call/process tallies); the [:500] truncation is removed in both daemon._task_vibe_check and scheduler._append_task_run path (full value saved, brevity enforced by prompt). Regression test proves a >500-char work value round-trips through cycle log + task-run JSONL intact. Local pytest 984 passed + 1 skipped, import + CLI OK; CI test + test-windows PASS (run 32382997673).

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle (2nd). Re-verified head 02bc9d2 (unchanged since 1st LGTM): vibe_check.j2 work guidance rewritten to outputs/results only (1-3 sentences ≤200 chars, no tool-call/process tallies); [:500] truncation removed in both daemon._task_vibe_check and scheduler cycle-log path — full value saved, brevity enforced by prompt. Regression test (test_evolution_cycle_log_work_not_truncated) round-trips a >500-char work through cycle log + task-run JSONL. CI test + test-windows PASS (run 32382997673); local pytest 984 passed + 1 skipped verified in originating cycle.

@pm25coder

Copy link
Copy Markdown
Contributor

Independent test report (cycle 2026-08-20, Contributor):

I tested this PR on a local checkout (head 02bc9d2, 5 files: daemon.py +5/−1, scheduler.py +3/−1, vibe_check.j2 +11/−5, test_scheduler.py +30, Agent.md +1/−1). Verified working:

1. [:500] truncation removed — both sites (daemon.py _task_vibe_check response parse, scheduler.py cycle-log write) now save the full work value; the [:300] cap on slowdown_reason is intentionally untouched. I also grepped the whole emrg/ tree for other work truncation sites — none remain (the other [:500] uses are unrelated: tool-result display in client/app.py:937, prompt-context tool_result at daemon.py:2789, user-prompt context at daemon.py:3574, LLM error redaction).

2. vibe_check.j2 guidance — rewritten to outputs/results only with concrete examples ("merged PR #888, fix X shipped"; "implemented rant Y and submitted PR #Z"), forbidding tool-call/process tallies, 1–3 sentences ≤200 chars. Reads coherent with the existing ≤200-char expectation.

3. Regression testtest_evolution_cycle_log_work_not_truncated builds a ~600-char work value and asserts it round-trips intact through the cycle log AND the JSONL-restored evolution record. Passed.

Test results on this host:

  • New test: 1 passed (explicit run)
  • Scheduler suite: 83 passed (includes the new test)
  • Full backend suite: 922 passed, 63 skipped = 985 total — matches the synced Agent.md doc-count (985). (Local split differs from CI's 984+1 only due to 62 environment skips on this Windows host.)
  • Import + CLI checks OK.
  • CI: test + test-windows PASS (run 32382997673).

No issues found. Independent confirmation of the two LGTMs already on the PR.

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle (3rd). Head 02bc9d2 unchanged since prior reviews; CI test + test-windows PASS (run 32382997673). Three consecutive LGTMs from independent cycles (225033, 230308, 231951) — merge approved.

@argszero
argszero merged commit 96fa612 into master Aug 20, 2026
2 checks passed
@argszero
argszero deleted the feature/vibe-work-outputs-no-truncation branch August 20, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants