Problem
The HTML report generated by owloop go / owloop run is mostly mechanical numbers and, in a real end-to-end run, even those numbers are wrong or misleading.
Observed report: /home/xyz/EricCao/xyzrobotics/xyz-data-website/.owloop/reports/owloop_report_latest.html
Specific defects
-
Spec status is wrong
- All 5 specs are shown as
pending even though every one of them completed successfully.
- There is no per-spec summary of what changed or whether its acceptance criteria passed.
-
Diff summary is not the actual diff of this run
- The report lists unrelated files such as
backend/app/api/poster.py, frontend poster-template-sort changes, Docker files, and bitbucket-pipelines.yml.
- The real owloop commits touched only 8 files (
+338 / -297), but the report claims 25 files (+476 / -11).
- Root cause: the report appears to be computed against
master (or the wrong base) and includes commits that have nothing to do with the owloop run.
-
Commits section shows the wrong commits
- It displays the last 5 commits on
master (merge PRs from other work), not the 5 commits created by owloop on the owloop branch.
-
No AI-generated human-readable summary
- The user cannot tell from the report what was actually accomplished.
- There is no explanation of:
- which service modules were extracted
- which duplicate patterns were removed
- which API files were refactored
- what verification results were (pytest, ruff, mypy)
- what blockers or learnings were recorded
Why this matters
The report is the main artifact the user reviews after an autonomous run. If it is inaccurate and lacks context, the user has to manually run git log, git diff, and inspect each commit to understand what happened — defeating the purpose of an autonomous loop.
Suggested improvements
-
Fix the base / branch for diff and commit listings
- Report should compare the owloop branch against its merge base, not against
HEAD of the current checkout.
- Commits table should list only commits created by the current owloop run.
-
Correct spec status
- Each spec should show
complete / failed / in-progress based on actual execution.
- Include iteration count and token cost per spec.
-
Add an AI-generated "What changed" summary
- After the loop finishes, ask the agent to produce a short paragraph summary per spec:
- What was the goal
- What files were changed
- What duplicate code was removed / what service was extracted
- Verification results
- Include this summary at the top of the report.
-
Add a "Key learnings / blockers" section
- Surface
<learning> tags collected during the run so the user sees caveats (e.g. "bulk_save_objects site left untouched because helper uses db.session.add").
-
Sanity-check numbers
- Diff stat, token total, and commit count should be cross-checked and flagged if they look inconsistent (e.g. spec status pending but loop status completed).
Related
Problem
The HTML report generated by
owloop go/owloop runis mostly mechanical numbers and, in a real end-to-end run, even those numbers are wrong or misleading.Observed report:
/home/xyz/EricCao/xyzrobotics/xyz-data-website/.owloop/reports/owloop_report_latest.htmlSpecific defects
Spec status is wrong
pendingeven though every one of them completed successfully.Diff summary is not the actual diff of this run
backend/app/api/poster.py, frontend poster-template-sort changes, Docker files, andbitbucket-pipelines.yml.+338 / -297), but the report claims 25 files (+476 / -11).master(or the wrong base) and includes commits that have nothing to do with the owloop run.Commits section shows the wrong commits
master(merge PRs from other work), not the 5 commits created by owloop on the owloop branch.No AI-generated human-readable summary
Why this matters
The report is the main artifact the user reviews after an autonomous run. If it is inaccurate and lacks context, the user has to manually run
git log,git diff, and inspect each commit to understand what happened — defeating the purpose of an autonomous loop.Suggested improvements
Fix the base / branch for diff and commit listings
HEADof the current checkout.Correct spec status
complete/failed/in-progressbased on actual execution.Add an AI-generated "What changed" summary
Add a "Key learnings / blockers" section
<learning>tags collected during the run so the user sees caveats (e.g. "bulk_save_objects site left untouched because helper uses db.session.add").Sanity-check numbers
Related