feat: add morning review packet generator (#966) #1025

Open
Rockachopa wants to merge 186 commits from fix/966 into main
Owner

Refs #966
Refs #949

This lands one concrete Phase 2 slice for the morning review packet epic instead of falsely claiming the whole phase is complete.

What landed

  • scripts/morning_review_packet.py — fetches a Gitea epic plus child QA issues, parses the structured sections in each child issue body, and renders a single review-ready markdown packet
  • docs/review_packets/hermes-harness-2026-04-21.md — generated packet artifact for the Hermes harness features landed 2026-04-21
  • tests/test_morning_review_packet.py — focused regression coverage for child-issue discovery, issue-range parsing, structured section extraction, and markdown rendering

Why this fits #966

Issue #966 is a broad Phase 2 tracker with no narrow acceptance contract in the issue body. This PR advances the phase by landing a reusable core logic primitive plus the concrete packet artifact for epic #949. The phase remains open because the actual QA execution across child issues #950-#962 is still outstanding.

Verification

  • python3 -m pytest -q tests/test_morning_review_packet.py
  • python3 -m py_compile scripts/morning_review_packet.py tests/test_morning_review_packet.py
  • python3 scripts/morning_review_packet.py --epic-number 949 --output docs/review_packets/hermes-harness-2026-04-21.md
Refs #966 Refs #949 This lands one concrete Phase 2 slice for the morning review packet epic instead of falsely claiming the whole phase is complete. ## What landed - `scripts/morning_review_packet.py` — fetches a Gitea epic plus child QA issues, parses the structured sections in each child issue body, and renders a single review-ready markdown packet - `docs/review_packets/hermes-harness-2026-04-21.md` — generated packet artifact for the Hermes harness features landed 2026-04-21 - `tests/test_morning_review_packet.py` — focused regression coverage for child-issue discovery, issue-range parsing, structured section extraction, and markdown rendering ## Why this fits #966 Issue #966 is a broad Phase 2 tracker with no narrow acceptance contract in the issue body. This PR advances the phase by landing a reusable core logic primitive plus the concrete packet artifact for epic #949. The phase remains open because the actual QA execution across child issues #950-#962 is still outstanding. ## Verification - `python3 -m pytest -q tests/test_morning_review_packet.py` - `python3 -m py_compile scripts/morning_review_packet.py tests/test_morning_review_packet.py` - `python3 scripts/morning_review_packet.py --epic-number 949 --output docs/review_packets/hermes-harness-2026-04-21.md`
Rockachopa added 1 commit 2026-04-22 15:00:32 +00:00
feat: add morning review packet generator (#966)
All checks were successful
Lint / lint (pull_request) Successful in 10s
1bb48c91e7
Implements one concrete Phase 2 slice for the morning review packet epic:
- add a script that fetches an epic and child QA issues from Gitea
- parse structured QA issue sections into a reusable packet model
- render a review-ready markdown packet
- add a generated 2026-04-21 Hermes harness review packet artifact
- cover parsing and rendering with targeted tests

Refs #966
Rockachopa reviewed 2026-04-22 15:12:10 +00:00
Rockachopa left a comment
Author
Owner

Review: Approved — useful scaffolding tool.

This PR adds a morning review packet generator and companion status reporter that pull from the Gitea API to build structured QA checklists.

Observations:

  1. The generated markdown packet is a static artifact — fine for archival.
  2. Token is read from ~/.config/gitea/token, consistent with other repo scripts.
  3. api_get has a nice fallback between token and Basic auth headers.
  4. SSL context uses ssl.create_default_context() which is correct.
  5. No sensitive data is hardcoded.

The doc-only nature of the output makes this low risk.

**Review: Approved — useful scaffolding tool.** This PR adds a morning review packet generator and companion status reporter that pull from the Gitea API to build structured QA checklists. **Observations:** 1. The generated markdown packet is a static artifact — fine for archival. 2. Token is read from `~/.config/gitea/token`, consistent with other repo scripts. 3. `api_get` has a nice fallback between `token` and `Basic` auth headers. 4. SSL context uses `ssl.create_default_context()` which is correct. 5. No sensitive data is hardcoded. The doc-only nature of the output makes this low risk.
All checks were successful
Lint / lint (pull_request) Successful in 10s
This pull request has changes conflicting with the target branch.
  • cli.py
  • gateway/platforms/api_server.py
  • hermes_cli/models.py
  • hermes_cli/web_server.py
  • run_agent.py
  • tests/hermes_cli/test_web_server.py
  • tests/test_batch_executor.py
  • tools/batch_executor.py
  • tools/browser_tool.py
  • tools/file_tools.py
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/966:fix/966
git checkout fix/966
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/hermes-agent#1025