Skip to content

Generated HTML report is inaccurate and lacks AI summary of completed work #76

Description

@caoergou

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

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. 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.
  2. Correct spec status

    • Each spec should show complete / failed / in-progress based on actual execution.
    • Include iteration count and token cost per spec.
  3. 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.
  4. 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").
  5. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions