1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153---
title: "July 2026 Development Report"
date: 2026-07-01
description: "Monthly development progress report for July 2026"
author: "Equalify Team"
---
# July 2026 Development Report
**Reporting period:** Jun 8 – Jul 7, 2026
**Sources:** [#629](https://github.com/EqualifyEverything/equalify/issues/629), [#632](https://github.com/EqualifyEverything/equalify/issues/632), [#634](https://github.com/EqualifyEverything/equalify/issues/634), [#638](https://github.com/EqualifyEverything/equalify/issues/638), [#639](https://github.com/EqualifyEverything/equalify/issues/639)
**Contributors:** T. Daniel, C. Aitken
## Executive Summary
July focused on infrastructure preparation and platform hardening, with 32 tasks completed across 73 code commits at a 53% completion rate. The team selected Terraform as the infrastructure-as-code framework and produced initial deployment scripts, advancing the goal of making Equalify deployable by any institution. Significant stability work included completing the stale blockers migration to resolve the 20-million-record performance bottleneck, delivering dark mode, refactoring hardcoded configuration values to a centralized environment file, and adding AI disclosure language to LLM-generated blocker summaries.
## Highlights
- **Selected Terraform as the infrastructure-as-code framework** and created initial deployment scripts, establishing the foundation for institutional self-deployment
- **Completed the stale blockers migration**, resolving the 20-million-record database performance bottleneck identified in last month's analysis
- **Delivered dark mode**, providing users with a low-light interface option for improved accessibility and comfort
- **Refactored all hardcoded configuration values** to a centralized environment file, a prerequisite for multi-institution deployment
- **Added AI disclosure language** to LLM-generated blocker summaries, ensuring transparency about machine-generated content as discussed at the May DASE meeting
## Key Metrics
| Metric | Value |
|--------|-------|
| Tasks completed | **32** |
| Tasks remaining | 39 |
| New tasks added | 11 |
| Completion rate | **53%** |
| Code commits | **73** |
| Repositories with activity | **6** |
| Issue edits (activity) | 28 |
| Source issues | 5 |
## Completed Work
### Team
- Selected Terraform as the infrastructure-as-code framework after evaluating available options and tradeoffs.
- Resolved performance lag in the Audit Summary view.
- Improved the Audit table by replacing the hover marker for non-scanned days with a more visually distinct indicator.
- Delivered site onboarding features, including the Lambda-based crawling service, integration into the Build Audit workflow, external linked CSV support for WordPress plugin URL synchronization, and CSV-based user import.
- Addressed outstanding documentation issues.
- Published the May 2026 development report.
### T. Daniel
- Fixed table CSS styling issues across the platform.
- Refactored all hardcoded paths, regions, and service names to a centralized environment configuration file.
- Added disclosure language to AI-generated blocker summaries indicating the content is LLM-generated, as discussed at the May 27 DASE meeting.
- Fixed chart label clipping and added commas to tooltip values for improved readability.
- Resolved a duplicate audits display issue.
- Audited and added missing documentation for May features, covering crawl and WordPress plugin integration, LLM summaries, the stats page, and audit sharing and disclaimer functionality.
- Delivered basic dark mode support.
- Created initial Terraform scripts for infrastructure provisioning.
- Produced a version 1 deployment configuration.
- Obtained a clean AWS account for testing infrastructure-as-code deployments.
### C. Aitken
- Investigated slow blockers table fetching and identified root performance constraints.
- Completed database schema version control and Hasura metadata version control implementation.
- Conducted detailed view performance investigation and scalability audit.
- Completed the stale blockers migration on production, moving historical blocker data to a separate table and caching scan-level blocker counts, resolving the 20-million-record performance bottleneck.
- Identified and fixed an Unknown URLs bug traced to the stale blockers migration, reported by AHS Marketing Communications.
- Investigated and resolved the audit timeout bug reported in issue #635 by improving scan handling for large audits and increasing the page load timeout to 30 seconds.
- Migrated the frontend build system to Vite 8.0 for improved build performance.
- Added a deprecation notice to the Equalify Reflow WordPress Plugin, directing users toward the current CSV-based integration.
## Notable Events
- **Team:** Selected Terraform as the infrastructure-as-code framework for provisioning Equalify instances, completing the evaluation phase and enabling work on deployment scripts.
- **T. Daniel:** Obtained a clean AWS testing account to support Terraform script validation and multi-environment deployment testing.
- **C. Aitken:** Completed the stale blockers migration on production, resolving the performance bottleneck documented in the May 2026 Stale Blocker Analysis.
## Risks & Blockers
- **Audit timeouts (#635):** Resolved during this period by improving scan handling for large audits and raising the page load timeout to 30 seconds; the team will monitor for recurrence.
- **Color contrast discrepancy (#637):** Equalify and Axe Monitor report significantly different color contrast findings for the same site. Under investigation.
- **Clean testing environment dependency:** Initial Terraform scripts require a provisioned AWS testing environment for validation; coordination with university IT is in progress.
- **Production Hasura URL configuration:** The production Hasura endpoint URL requires correction to ensure reliable API access.
## In Progress & Upcoming
### Development
- Complete follow-up work on remote CSV feed synchronization for audits (issue #628). *(C. Aitken)*
- Investigate and resolve reported anomalous scan behavior. *(C. Aitken)*
- Implement semantic versioning with standardized commit message formats and surface current version in the user interface. *(C. Aitken)*
- Add the Hono framework to the backend API. *(C. Aitken)*
- Investigate the color contrast findings discrepancy (#637). *(C. Aitken)*
- Conduct testing and debugging across the platform. *(T. Daniel)*
### Operations
- Continue Terraform script development once testing environment is available. *(T. Daniel)*
- Provision clean AWS account for infrastructure testing (coordinate with Dean). *(C. Aitken)*
- Correct the production Hasura URL configuration. *(C. Aitken)*
- Integrate database schema and Hasura metadata version control into the CI/CD pipeline. *(C. Aitken)*
- Coordinate meeting with Helen and Michael to align on documentation workflow and communications responsibilities. *(C. Aitken)*
### Newly Identified Work
- Write infrastructure-as-code build scripts to provision all required components (Lambdas, database, service relationships) for an Equalify instance.
- Determine deployment strategy for pushing code updates to provisioned infrastructure.
- Produce technical documentation for provisioning and deployment.
- Create a developer-focused introduction and high-level usage guide for the platform.
## Development Activity
### Contributor Activity
| Contributor | Commits |
|------------|--------|
| C. Aitken | 34 |
| T. Daniel | 34 |
| B. Bertuccelli-Booth | 4 |
### Active Repositories
| Repository | Commits |
|-----------|--------|
| [equalify](https://github.com/EqualifyEverything/equalify) | 54 |
| [equalify-docs](https://github.com/EqualifyEverything/equalify-docs) | 9 |
| [equalify-hub](https://github.com/EqualifyEverything/equalify-hub) | 4 |
| [handbook](https://github.com/EqualifyEverything/handbook) | 3 |
| [equalify-reflow](https://github.com/EqualifyEverything/equalify-reflow) | 2 |
| [.github](https://github.com/EqualifyEverything/.github) | 1 |
### Recent Commit Highlights
- Added deprecation pages for the retired WordPress plugin and removed legacy WordPress plugin references from Reflow documentation, guiding users toward the current CSV-based integration.
- Improved Hub resilience by handling GitHub 404 errors gracefully (clearing cache rather than serving deleted content) and simplified the dashboard layout with a cleaner title and configurable URL.
- Updated user documentation comprehensively, adding coverage for shared audit banners, LLM-generated summaries, administration system settings and stats tabs, Build Audit options, and a previously missing section.
- Added per-job PII approval and denial API endpoints to the Reflow service.
- Created partnership documentation and revised the organizational handbook to reflect updated mission, maintenance, and project management details.
- Improved the scanning experience for large audits by increasing the timeout threshold to 30 seconds.
- Upgraded the frontend build tooling to Vite version 8 for improved performance.
- Fixed a bug where URL text was lost when an audit URL row was deleted.
## Planned Sprints
### FOSS Deployment Sprint (1-2 weeks)
This sprint focuses on making Equalify deployable by any institution on AWS. The team will create Terraform-based build and deployment scripts for provisioning all required infrastructure components, determine how code updates are pushed to provisioned environments, and produce both technical deployment documentation and a developer-focused introduction to the platform.
### Design and Maintenance Sprint (1-2 weeks)
This sprint will establish a cohesive visual direction for the platform, including alignment on an overall palette, branding guidelines, a component design system for interface consistency, extended dark mode support, mobile-responsive layouts, and general code and style cleanup. The sprint will also include planning discussions for roll-up reporting across multiple audits and more fine-grained user-to-audit group permissions.