Skip to content

Report workflow - #157

Open
woodseowl wants to merge 50 commits into
mainfrom
report-workflow
Open

Report workflow#157
woodseowl wants to merge 50 commits into
mainfrom
report-workflow

Conversation

@woodseowl

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR reshapes the project “report workflow” UX by promoting status-based CTAs in the Workflow panel, relocating report editing into the report page, and adding project-name search to the projects listing. It also updates authorization/policy rules and expands automated coverage around these flows.

Changes:

  • Redesign Workflow panel actions to be status-aware CTAs (with backwards actions behind the gear modal) and remove the project page “Report” tab.
  • Enhance the report page into the “finalization” surface (inline report editing, “Complete Review” action, and report viewers visibility rules).
  • Add a search input to ViewProjects and apply name filtering across tab queries, with accompanying feature tests/spec docs.

Reviewed changes

Copilot reviewed 23 out of 26 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
tests/Unit/Policies/ProjectPolicyTest.php Updates expectations for update-report-viewers authorization during InProgress.
tests/Feature/RouteAccessTest.php Makes Livewire update-route unauth rejection test tolerant of 403/419 responses.
tests/Feature/Livewire/WorkflowTest.php Adds coverage for Workflow CTAs and report viewer visibility by status; verifies Report tab removal.
tests/Feature/Livewire/ViewProjectsTest.php Adds feature coverage for name search filtering behavior in the projects list.
tests/Feature/Livewire/ReportCompletionTest.php Adds feature coverage for “Complete Review” gating and status advancement.
resources/views/livewire/projects/workflow.blade.php Implements status-based CTAs and adjusts verifier section behavior/display.
resources/views/livewire/projects/view-projects.blade.php Adds search input and changes “My Projects” tab visibility logic.
resources/views/livewire/projects/update-report.blade.php Adds “site purpose” field and updates labels for report fields.
resources/views/livewire/projects/show-project.blade.php Adds collapsible “details” UI and removes the “Report” tab/panel.
resources/views/livewire/projects/report.blade.php Adds “Complete Review” control and relocates report viewers + report data on report page.
resources/views/livewire/projects/report-viewers.blade.php Tweaks layout of viewer list and removal controls.
resources/views/livewire/projects/report-data.blade.php Moves report editing UI inline and changes how report fields are displayed/edited.
public/build/manifest.json Updates built asset hash reference.
docs/superpowers/specs/2026-06-02-workflow-report-redesign.md Adds workflow/report redesign spec documentation.
docs/superpowers/specs/2026-06-02-projects-search-filter-design.md Adds projects search/filter spec documentation.
app/Policies/ProjectPolicy.php Adds updateReport/completeReport abilities and relaxes updateReportViewers status gating.
app/Models/Project.php Adds isReportReady() helper used by completion flow and policy.
app/Livewire/Projects/ViewProjects.php Adds $search filtering across project queries and adds hasMyProjects() helper.
app/Livewire/Projects/UpdateReport.php Changes report update behavior to dispatch events instead of redirecting.
app/Livewire/Projects/ReportData.php Adds event listener to refresh project after report updates.
app/Livewire/Projects/Report.php Adds “complete review” action and refresh-on-update behavior.
app/Livewire/Forms/ReportForm.php Adds site_purpose field to report form model/update.
.ai/mcp/mcp.json Re-formats MCP server config JSON.
.ai/guidelines/application-overview.md Updates workflow documentation to include verification phases and updated progression.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread app/Livewire/Projects/ViewProjects.php
Comment thread app/Livewire/Projects/ViewProjects.php
Comment thread app/Livewire/Projects/ViewProjects.php
Comment thread app/Livewire/Projects/ViewProjects.php
Comment thread app/Livewire/Projects/UpdateReport.php Outdated
Comment on lines +20 to +26

return redirect()->route('project.show', ['project' => $this->form->project, 'tab' => 'report']);
$this->dispatch('close-edit');
$this->dispatch('report-updated');
Comment on lines +44 to +48
### Report Viewers

- Moved from the Report tab into the bottom of the Workflow panel
- Visible from `InProgress` onward
- Same add/remove functionality as today
Comment on lines +56 to +61
- Inline editing of the 4 report fields using the same form as the current Report Data component:
- URLs included in review
- URLs excluded from review
- Testing notes and procedure
- Summary and Overall Findings (required)
- The `update-report` Livewire component is reused/adapted here
Comment on lines +50 to +57
## Testing

Feature test: `ViewProjectsSearchTest`

1. **Happy path** — user has projects; setting `$search` to a matching term returns only matching projects in the computed property.
2. **No match** — setting `$search` to a non-matching term returns an empty result set.

Tests assert against the computed query results directly, not UI interaction.
Comment thread app/Policies/ProjectPolicy.php Outdated
Comment thread tests/Feature/Livewire/ReportCompletionTest.php
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