Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
fc8c1a1
- update document based on feedback from Binta
elipe17 Apr 30, 2026
99098e2
- update language
elipe17 Apr 30, 2026
1c80abe
Add STT program participation models
mattcoleanderson Jul 7, 2026
5c799a3
create serializers, admin, and views
mattcoleanderson Jul 7, 2026
ff2ffd2
update stt population for program participation
mattcoleanderson Jul 10, 2026
c865c80
use program participation for ssp checks
mattcoleanderson Jul 10, 2026
b9af1a0
Document STT proram participation API
mattcoleanderson Jul 10, 2026
21999c5
Merge branch 'develop' into 5370-create-new-models-to-define-an-stts-…
mattcoleanderson Jul 13, 2026
9d5ecb2
populate program and section models
mattcoleanderson Jul 15, 2026
74566df
Merge branch 'develop' into 5370-create-new-models-to-define-an-stts-…
mattcoleanderson Jul 15, 2026
f7c424f
add section inline to program admin view
mattcoleanderson Jul 15, 2026
2c194ee
Merge branch 'develop' into docker-migration-updates
elipe17 Jul 16, 2026
5244cb4
move program and section models to data files
mattcoleanderson Jul 20, 2026
9a4dd8a
Merge branch 'develop' into 5370-create-new-models-to-define-an-stts-…
mattcoleanderson Jul 20, 2026
1ab5e8c
- First pass added new grafana dashboard for go parser metrics
elipe17 Jul 22, 2026
9981953
- Add validation step specific metrics to track lagging validation ph…
elipe17 Jul 23, 2026
b1f6d7d
Merge branch 'develop' into 5370-create-new-models-to-define-an-stts-…
mattcoleanderson Jul 23, 2026
d35d71a
- Update metric generation to occur once per run to prevent lots of s…
elipe17 Jul 23, 2026
89d1666
Add program codes to program model
mattcoleanderson Jul 23, 2026
df51248
add section_ref field as transitional field to datafiles
mattcoleanderson Jul 23, 2026
223ee7f
- Add wall clock vs worker clock metric gathering and visualizations
elipe17 Jul 23, 2026
f923562
add migration to backfill datafile records with the correct section_r…
mattcoleanderson Jul 24, 2026
fc85e99
- Rename functions
elipe17 Jul 24, 2026
94e8008
update section_ref with new datafile entries
mattcoleanderson Jul 24, 2026
b5d6e58
- Encapsulate metrics server into its own struct to keep main clean
elipe17 Jul 24, 2026
1cb3d37
populate stt program participation
mattcoleanderson Jul 24, 2026
b3b97dc
update docs
mattcoleanderson Jul 24, 2026
39e6010
- First pass at tracking api/tdp-cli requests
elipe17 Jul 24, 2026
66c258a
add section_ref to admin view
mattcoleanderson Jul 24, 2026
51b449a
consolidate program participation backfill migrations
mattcoleanderson Jul 24, 2026
0cdcc16
revert submission reminder change
mattcoleanderson Jul 24, 2026
42327e6
- Move helper constsants and functions into class scope
elipe17 Jul 27, 2026
d967b05
- Update so that attribution context is set in the authentication class
elipe17 Jul 27, 2026
cc872b0
Merge branch 'develop' into 5900-track-api-client-reqs
elipe17 Jul 27, 2026
7d5a6f4
- Update test
elipe17 Jul 27, 2026
efa7497
Merge branch '5900-track-api-client-reqs' of https://github.com/raft-…
elipe17 Jul 27, 2026
ea0ec5d
Merge branch 'develop' into go-parser-prom-metrics
elipe17 Jul 27, 2026
dd7e982
- Remove stt and group query from middleware path
elipe17 Jul 29, 2026
617ab76
Merge branch 'develop' of https://github.com/raft-tech/TANF-app into …
elipe17 Jul 29, 2026
5dca13f
- linting
elipe17 Jul 29, 2026
3e010a0
Merge branch 'develop' of https://github.com/raft-tech/TANF-app into …
elipe17 Jul 29, 2026
de8a3e7
- Remove unnecessary metrics that weren't even being counted
elipe17 Jul 29, 2026
dfc4c21
- Fixconfigure script was corrupting the client scopes after realm im…
elipe17 Jul 29, 2026
4eb7ee1
- remove erroneous tests
elipe17 Jul 29, 2026
238892a
- Update tests
elipe17 Jul 29, 2026
3a857ef
- UPdated error report generator to allow hiding specific columns
elipe17 Jul 29, 2026
a60a98c
- Update error reports to include Record Pre Checks on the critical tab
elipe17 Jul 31, 2026
4de7db1
Retain files for fiscal period revalidation
mattcoleanderson Jul 31, 2026
68e2fcd
Preserve uploads when fiscal period changes
mattcoleanderson Jul 31, 2026
b218530
- Remove internal variable name all together
elipe17 Aug 3, 2026
51c5edb
Merge branch 'develop' into 5370-create-new-models-to-define-an-stts-…
mattcoleanderson Aug 4, 2026
8704b57
- Fix column order errors
elipe17 Aug 4, 2026
dbbdaa1
Merge branch 'develop' into 5927-hide-unused-columns
elipe17 Aug 4, 2026
427ec16
fix backend test failures
mattcoleanderson Aug 4, 2026
102f9fc
Merge branch 'develop' into 5603-file-submission-error-message-and-fo…
mattcoleanderson Aug 4, 2026
8a2582b
Merge branch 'develop' of https://github.com/raft-tech/TANF-app into …
elipe17 Aug 4, 2026
79ffe6c
- disable nginx basic auth on api endpoints
elipe17 Aug 5, 2026
7e55412
- fake commit
elipe17 Aug 5, 2026
bbb8875
- revert fake commit
elipe17 Aug 5, 2026
469caa9
Add sprint summary for 2026-08-04
kennymcnett Aug 5, 2026
cfd9123
- Added todo
elipe17 Aug 5, 2026
5a17849
- Update session cookie domain to be host only
elipe17 Aug 6, 2026
264b2a9
- fake commit
elipe17 Aug 6, 2026
866a0ce
- revert fake commit
elipe17 Aug 6, 2026
c5e586a
- UPdate dashboard to show file throughput per minute
elipe17 Aug 6, 2026
2b67ef6
Merge branch 'develop' into go-parser-prom-metrics
elipe17 Aug 6, 2026
6ac8087
- Added logic to reports task to validate that all the STTs listed in…
elipe17 Aug 6, 2026
8ee19b0
replace configure-idps script for dev-local
jtimpe Aug 7, 2026
720effd
deployment changes to implement keycloak-config-cli
jtimpe Aug 7, 2026
c2f053a
validate keycloak-config-cli changes
jtimpe Aug 7, 2026
418131c
Merge branch 'develop' into 5370-create-new-models-to-define-an-stts-…
mattcoleanderson Aug 7, 2026
f06952b
pin keycloak-config-cli version
jtimpe Aug 7, 2026
dfd0b34
rm configure-idps
jtimpe Aug 7, 2026
a9e0b79
Merge branch 'develop' into 5900-track-api-client-reqs
raftmsohani Aug 7, 2026
0917f21
Merge pull request #5947 from raft-tech/5370-create-new-models-to-def…
mattcoleanderson Aug 7, 2026
475c7d1
Merge branch 'develop' into bug/kc-scope-errors
elipe17 Aug 7, 2026
0fa06f5
make grafana client secret optional (for now)
jtimpe Aug 7, 2026
e8ce509
Merge pull request #5995 from raft-tech/bug/kc-scope-errors
elipe17 Aug 7, 2026
b2f0d08
Merge pull request #6006 from raft-tech/sprint-summary-2026-08-04
kennymcnett Aug 7, 2026
8da35ce
Fix duplicate result screen (#5990)
raftmsohani Aug 7, 2026
4621068
fix deployment
jtimpe Aug 7, 2026
24e5f79
make prod/staging realm config var substitution changes
jtimpe Aug 7, 2026
e74f988
fix secrets check
jtimpe Aug 7, 2026
0dbe39e
fix git config
jtimpe Aug 10, 2026
0f7cea2
update docs
jtimpe Aug 10, 2026
737aada
Merge branch 'develop' into 5992-report-program-type-validation
elipe17 Aug 10, 2026
b964572
Merge branch 'develop' into 5999-parent-domain-scope
elipe17 Aug 10, 2026
f9ea8a9
Merge branch 'develop' into go-parser-prom-metrics
elipe17 Aug 10, 2026
7ec8468
Merge branch 'develop' into bug/disable-basic-auth-on-api-endpoint
elipe17 Aug 10, 2026
37aef70
5383 django query optimization (#5997)
raftmsohani Aug 10, 2026
73cffa9
Merge branch 'develop' into bug/disable-basic-auth-on-api-endpoint
elipe17 Aug 10, 2026
459b63c
Merge pull request #6005 from raft-tech/bug/disable-basic-auth-on-api…
elipe17 Aug 10, 2026
1568ae8
Merge branch 'develop' into go-parser-prom-metrics
elipe17 Aug 10, 2026
9b9a85e
import realm config on startup instead of cf task
jtimpe Aug 10, 2026
c8ea82b
Merge branch 'develop' into 5999-parent-domain-scope
elipe17 Aug 10, 2026
0858db4
Merge pull request #6007 from raft-tech/5999-parent-domain-scope
elipe17 Aug 10, 2026
83998a9
Merge branch 'develop' into go-parser-prom-metrics
elipe17 Aug 10, 2026
0a47294
Merge pull request #5976 from raft-tech/go-parser-prom-metrics
elipe17 Aug 11, 2026
5ad593b
Merge branch 'develop' of https://github.com/raft-tech/TANF-app into …
elipe17 Aug 11, 2026
2472225
Merge branch 'develop' of https://github.com/raft-tech/TANF-app into …
elipe17 Aug 11, 2026
8201bf5
- Update logic to attribute correct info to token on unauthorized end…
elipe17 Aug 11, 2026
887c95f
Merge branch '5900-track-api-client-reqs' of https://github.com/raft-…
elipe17 Aug 11, 2026
92296f6
Merge branch 'develop' into 5992-report-program-type-validation
elipe17 Aug 11, 2026
525f0b3
Merge pull request #5981 from raft-tech/5900-track-api-client-reqs
elipe17 Aug 12, 2026
3313a82
Merge branch 'develop' into 5927-hide-unused-columns
elipe17 Aug 12, 2026
6ec8cb4
Merge pull request #5996 from raft-tech/5927-hide-unused-columns
elipe17 Aug 12, 2026
0056c8c
initial history table paginiation implementation technical doc
mattcoleanderson Aug 12, 2026
7589274
Merge branch 'develop' into 5992-report-program-type-validation
elipe17 Aug 12, 2026
d9ba20d
Merge pull request #6009 from raft-tech/5992-report-program-type-vali…
elipe17 Aug 12, 2026
6072ecd
Merge branch 'develop' into 5958-keycloak-config-cli
jtimpe Aug 12, 2026
6e653ae
update docs
jtimpe Aug 12, 2026
b4b86c4
set the broker connection retry settings explicitly
jtimpe Aug 12, 2026
b24d327
fix APP_URL for nightly scan
jtimpe Aug 13, 2026
afda345
lazy load mirage.js so faker ips aren't included in production bundle
jtimpe Aug 13, 2026
b48d0c1
fill in missing data to fix pa11y tests where mirage is used
jtimpe Aug 13, 2026
0320efd
fix subissions allowed while errors present
mattcoleanderson Aug 14, 2026
9bd1f60
Merge branch 'develop' into 5603-file-submission-error-message-and-fo…
mattcoleanderson Aug 14, 2026
5180ae9
prevent submission while files are revalidating if quarter or year ch…
mattcoleanderson Aug 18, 2026
71893b6
Merge pull request #6010 from raft-tech/5958-keycloak-config-cli
jtimpe Aug 18, 2026
912dfcf
fix the sub character encoding bug
jtimpe Aug 18, 2026
988834b
add go parser sub character fix
jtimpe Aug 18, 2026
b0a6967
5983 implement admin navigation and interactivity (#6019)
raftmsohani Aug 19, 2026
18f169a
Merge branch 'develop' into 5603-file-submission-error-message-and-fo…
mattcoleanderson Aug 19, 2026
e5b3f42
increase nginx buffer size
jtimpe Aug 19, 2026
6b4e4df
change buf size
jtimpe Aug 19, 2026
9b1160d
Add sprint summary for 2026-08-18
kennymcnett Aug 19, 2026
9010374
update codex config
jtimpe Aug 19, 2026
2d878fe
Merge pull request #6039 from raft-tech/update-codex-config
jtimpe Aug 20, 2026
23e5570
Merge branch 'develop' into 6026-python-parser-skip-sub-characters
jtimpe Aug 20, 2026
ca4829b
Merge pull request #6034 from raft-tech/6026-python-parser-skip-sub-c…
jtimpe Aug 20, 2026
367284a
Merge branch 'develop' into 6036-ams-headers-too-big
jtimpe Aug 20, 2026
36f7803
Merge branch 'develop' into 6004-resolve-zap-ip-inclusion
jtimpe Aug 21, 2026
16a3e85
Merge pull request #6028 from raft-tech/6004-resolve-zap-ip-inclusion
jtimpe Aug 21, 2026
3899e40
Merge branch 'develop' into fix-zap-nightly
jtimpe Aug 21, 2026
f664a18
Merge pull request #6027 from raft-tech/fix-zap-nightly
jtimpe Aug 21, 2026
ae3e4fc
Merge branch 'develop' into fix-crash-on-redis-connection-lost
jtimpe Aug 21, 2026
802dfbb
Merge pull request #6025 from raft-tech/fix-crash-on-redis-connection…
jtimpe Aug 21, 2026
dcd43a3
Merge branch 'develop' into 6036-ams-headers-too-big
jtimpe Aug 21, 2026
933d3d9
Merge branch 'develop' into 5603-file-submission-error-message-and-fo…
mattcoleanderson Aug 21, 2026
65ff2ad
change error message on validation
mattcoleanderson Aug 21, 2026
3833b0e
custom error message if submit is clicked and no files are selected
mattcoleanderson Aug 21, 2026
8a4df4f
Merge pull request #6037 from raft-tech/6036-ams-headers-too-big
jtimpe Aug 21, 2026
1c8792e
remove has-invalid-file from corrected inputs
mattcoleanderson Aug 21, 2026
4efb58d
discard selected tanf file from redux if an fra selector is changed
mattcoleanderson Aug 21, 2026
85ad92c
Merge branch 'develop' into 5603-file-submission-error-message-and-fo…
mattcoleanderson Aug 21, 2026
64b9997
added data migration notes
mattcoleanderson Aug 21, 2026
0341017
Merge branch 'develop' into 5538-design-proper-pagination-for-history…
mattcoleanderson Aug 21, 2026
2e4cce9
Merge commit from fork
jtimpe Aug 21, 2026
1742f82
fix settings.DEBUG inversion
jtimpe Aug 21, 2026
d0ff082
Parity w/ Test env
reitermb Aug 21, 2026
ebece0f
Update uswds3.css
reitermb Aug 21, 2026
8f3e565
Merge pull request #6038 from raft-tech/sprint-summary-2026-08-18
kennymcnett Aug 21, 2026
4f283c1
Merge branch 'develop' into kc-4.23
reitermb Aug 21, 2026
ce1c345
blank space fix
reitermb Aug 21, 2026
f33dc51
Merge branch 'kc-4.23' of https://github.com/raft-tech/TANF-app into …
reitermb Aug 21, 2026
cf64d52
Merge pull request #6043 from raft-tech/kc-4.23
reitermb Aug 21, 2026
3e3290b
Merge branch 'develop' into hotfix-4.23.2-svds
jtimpe Aug 21, 2026
b6b6edf
fix the default value for LOGIN_GOV_SET_AUDIENCE
jtimpe Aug 21, 2026
f5b43dc
Merge branch 'develop' into 5603-file-submission-error-message-and-fo…
mattcoleanderson Aug 26, 2026
b802962
update history pagining design doc to include useFileUploadForm in mi…
mattcoleanderson Aug 26, 2026
fb45f01
Merge branch 'develop' into 5538-design-proper-pagination-for-history…
mattcoleanderson Aug 26, 2026
5910562
uploadedFiles now defaults to an empty list if now file is selected
mattcoleanderson Aug 26, 2026
e8f5941
trigger CI
mattcoleanderson Aug 27, 2026
da1b3c0
Merge pull request #6023 from raft-tech/5538-design-proper-pagination…
mattcoleanderson Aug 27, 2026
1e6644c
Merge branch 'develop' into 5603-file-submission-error-message-and-fo…
mattcoleanderson Aug 27, 2026
e5c0f18
Merge branch 'develop' into fix-set-audience-default
jtimpe Aug 27, 2026
a136b7a
Merge pull request #6044 from raft-tech/fix-set-audience-default
jtimpe Aug 27, 2026
86a567a
exclude pia from quarter validation
mattcoleanderson Aug 27, 2026
a208ef0
Merge branch 'develop' into 5603-file-submission-error-message-and-fo…
mattcoleanderson Aug 27, 2026
6e2a568
Merge branch 'develop' into hotfix-4.23.2-svds
jtimpe Aug 31, 2026
def8494
Merge pull request #6042 from raft-tech/hotfix-4.23.2-svds
jtimpe Aug 31, 2026
fd01c61
Merge branch 'develop' into 5603-file-submission-error-message-and-fo…
mattcoleanderson Sep 1, 2026
1664966
mocked generate_jwt_from_jwks
mattcoleanderson Sep 2, 2026
b55556d
Merge pull request #5998 from raft-tech/5603-file-submission-error-me…
mattcoleanderson Sep 2, 2026
17bba13
5842 implement metadata driven admin form contract (#6001)
raftmsohani Sep 2, 2026
7c0978e
Add sprint summary for 2026-09-01
kennymcnett Sep 2, 2026
ebd949c
Merge branch 'develop' into docker-migration-updates
jtimpe Sep 3, 2026
a737d88
add downloaded_at field to feedback report model
mattcoleanderson Sep 4, 2026
1d0d119
add downloaded request to feedback report view for updating downloade…
mattcoleanderson Sep 4, 2026
97a59a8
tests for new downloaded@model
mattcoleanderson Sep 4, 2026
83b1ae3
Merge branch 'develop' into 6013-feedback-report-download-statistics
mattcoleanderson Sep 4, 2026
25ac48e
calculate feedback report downloaded count and total count in queryset
mattcoleanderson Sep 4, 2026
45561cb
update feedback_report.downloaded_at when stt succesfully downloads a…
mattcoleanderson Sep 4, 2026
e078213
create DownloadStatisticsModal and wire it into the AdminFeedbackRepo…
mattcoleanderson Sep 4, 2026
a1afcb1
cypress tests for feedbackreport download statistics
mattcoleanderson Sep 4, 2026
1872254
fix button styling and eslint error
mattcoleanderson Sep 4, 2026
14bab66
5986 isolate tdp admin authentication in a separate keycloak realm (#…
raftmsohani Sep 8, 2026
a1683d0
removew new downloaded endpoint and update the downloaded_at field wi…
mattcoleanderson Sep 8, 2026
e59f94b
Merge branch 'develop' into 6013-feedback-report-download-statistics
mattcoleanderson Sep 8, 2026
8f16f30
Merge branch 'develop' into docker-migration-updates
jtimpe Sep 8, 2026
4d4aba0
Merge pull request #6067 from raft-tech/sprint-summary-2026-09-01
kennymcnett Sep 8, 2026
c7b7cb7
Merge branch 'develop' into docker-migration-updates
jtimpe Sep 8, 2026
6d34b45
Merge pull request #5820 from raft-tech/docker-migration-updates
jtimpe Sep 9, 2026
31b5295
Update bug report template to remove assignees
victoriaatraft Sep 9, 2026
b1565b0
Update labels in design deliverable issue template
victoriaatraft Sep 9, 2026
d73ca76
Change labels in research synthesis issue template
victoriaatraft Sep 9, 2026
24d5041
Update labels for research planning issue template
victoriaatraft Sep 9, 2026
15a3e43
Update labels for research facilitation issue template
victoriaatraft Sep 9, 2026
b7314e6
Add user story template for issue tracking
victoriaatraft Sep 9, 2026
4c9c7c2
Create story template for issues
victoriaatraft Sep 9, 2026
19c8787
Fix label casing in story template
victoriaatraft Sep 9, 2026
ea0e3e2
5946 add transition log for file state (#6030)
raftmsohani Sep 10, 2026
6fad1f5
6048 Implemented feedback login required
raftmsohani Sep 10, 2026
ce9a62a
Merge branch 'develop' into template-updates
victoriaatraft Sep 10, 2026
2aef317
Merge pull request #6092 from raft-tech/template-updates
victoriaatraft Sep 10, 2026
16e4883
Merge branch 'develop' into 6048-require-login-for-feedback-submissions
raftmsohani Sep 14, 2026
4a81fa9
Fix failing test
raftmsohani Sep 14, 2026
e4ed12e
Fixes typos in text, docs and comments.
Sep 3, 2026
d9bc4cf
Merge pull request #6094 from raft-tech/chore/fix-typos
Heiko-Raft Sep 14, 2026
7ec5158
Merge branch 'develop' into 6048-require-login-for-feedback-submissions
raftmsohani Sep 15, 2026
55b5d86
Merge branch 'develop' into 6013-feedback-report-download-statistics
mattcoleanderson Sep 15, 2026
1670e0c
5987 update stuck files admin email to report only current year stuck…
raftmsohani Sep 15, 2026
1d459e8
Merge branch 'develop' into 6013-feedback-report-download-statistics
mattcoleanderson Sep 15, 2026
2b37762
5973 expose datafile lifecycle state in the api need this for admin…
raftmsohani Sep 16, 2026
b6e4e45
Merge branch 'develop' into 6013-feedback-report-download-statistics
mattcoleanderson Sep 16, 2026
d817ed1
add Downloaded at column to regional user Feedback Reports view
mattcoleanderson Sep 16, 2026
d294597
Merge pull request #6073 from raft-tech/6013-feedback-report-download…
mattcoleanderson Sep 16, 2026
a4365bf
Merge branch 'develop' into 6048-require-login-for-feedback-submissions
raftmsohani Sep 17, 2026
af74d4c
Remove leftover code
raftmsohani Sep 17, 2026
bde1aae
Merge pull request #6098 from raft-tech/6048-require-login-for-feedba…
jtimpe Sep 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
128 changes: 127 additions & 1 deletion .circleci/build-and-test/jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,19 @@
- docker-set-registry-owner
- docker-compose-check
- docker-compose-up-backend
- run:
name: Configure accelerated stale-submission E2E timeout
command: |
cd tdrs-backend
STALE_PARSE_TIMEOUT_SECONDS=60 \
STALE_PARSE_CHECK_INTERVAL_SECONDS=5 \
GO_PARSER_SHADOW_MODE=false \
docker-compose up -d --force-recreate web celery
docker-compose exec -T celery sh -c '
test "$STALE_PARSE_TIMEOUT_SECONDS" = 60 &&
test "$STALE_PARSE_CHECK_INTERVAL_SECONDS" = 5 &&
test "$GO_PARSER_SHADOW_MODE" = false
'
- docker-compose-up-frontend
- install-nodejs-machine
- install-yarn-packages:
Expand Down Expand Up @@ -88,9 +101,122 @@
command: |
cd tdrs-backend
docker-compose exec web python manage.py loaddata cypress/users cypress/data_files cypress/regions cypress/profile_editing_regions cypress/profile_editing_users cypress/feature_flags
- run:
name: Verify stale-submission lifecycle processing
command: |
cd tdrs-backend
# Celery can initially start before a fresh database has the
# django-celery-beat tables. Remove the schedule created by that
# initial default-configured beat, then restart it after migrations
# so the accelerated interval is persisted before Cypress runs.
docker-compose stop celery
docker-compose exec -T web python manage.py shell -c "
from django_celery_beat.models import PeriodicTask

PeriodicTask.objects.filter(name='Mark Stale Data Files Stuck').delete()
"
celery_start_time="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
docker-compose start celery
for lifecycle_probe_attempt in $(seq 1 60); do
celery_logs="$(docker-compose logs --since "$celery_start_time" --no-color celery 2>/dev/null)"
if [[ "$celery_logs" == *"DatabaseScheduler: Schedule changed"* ]]; then
break
fi
if [ "$lifecycle_probe_attempt" -eq 60 ]; then
docker-compose logs --no-color --tail=300 celery
exit 1
fi
sleep 2
done
docker-compose exec -T celery python manage.py shell -c "
from django.conf import settings
from django_celery_beat.models import IntervalSchedule, PeriodicTask
from tdpservice.data_files.tasks import mark_stale_files_stuck

interval, _ = IntervalSchedule.objects.get_or_create(
every=5,
period=IntervalSchedule.SECONDS,
)
schedule = PeriodicTask.objects.get(name='Mark Stale Data Files Stuck')
schedule.interval = interval
schedule.crontab = None
schedule.solar = None
schedule.clocked = None
schedule.enabled = True
schedule.args = '[60]'
schedule.save()
result = mark_stale_files_stuck.delay(60)
marked_count = result.get(timeout=15)
assert isinstance(marked_count, int)
print(
'Lifecycle smoke task completed; '
f'marked {marked_count} file(s); '
f'Django timeout setting={settings.STALE_PARSE_TIMEOUT_SECONDS!r}.'
)
"
- run:
name: Run Cypress e2e tests
command: cd tdrs-frontend; yarn test:e2e-ci
command: |
cd tdrs-frontend
export CYPRESS_ADMIN_URL=http://localhost:3000/admin
export CYPRESS_STUCK_TIMEOUT_TEST=true

# Exercise lifecycle timeouts and reparsing before the upload-heavy
# suite puts sustained load on the single parser and LocalStack.
yarn test:e2e-ci --spec cypress/e2e/data-files/submission_lifecycle.feature

# The timeout scenario revokes a deliberately long parser task.
# Reset the disposable worker so that task cannot delay later specs.
cd ../tdrs-backend
docker-compose restart celery
cd ../tdrs-frontend

remaining_specs="$(find cypress/e2e -type f -name '*.feature' ! -path '*/submission_lifecycle.feature' | sort | paste -sd, -)"
test -n "$remaining_specs"
yarn test:e2e-ci --spec "$remaining_specs"
- run:
name: Show backend logs after an E2E failure
when: on_fail
command: |
cd tdrs-backend
docker-compose logs --no-color --tail=500 web celery localstack
docker-compose exec -T web python manage.py shell -c "
from django.conf import settings
from django_celery_beat.models import PeriodicTask
from django.db.models import Q
from tdpservice.data_files.models import DataFile

schedule = PeriodicTask.objects.get(name='Mark Stale Data Files Stuck')
print(
'Stale lifecycle diagnostics:',
{
'django_timeout': settings.STALE_PARSE_TIMEOUT_SECONDS,
'schedule_args': schedule.args,
'schedule_enabled': schedule.enabled,
'schedule_last_run_at': schedule.last_run_at,
'schedule_total_run_count': schedule.total_run_count,
},
)
files = DataFile.objects.filter(
Q(original_filename='long_running_tanf_active_case.txt')
| Q(original_filename__startswith='accepted_tanf_reparse_')
)
for data_file in files:
summary = getattr(data_file, 'summary', None)
print(
'Lifecycle DataFile:',
{
'id': data_file.id,
'filename': data_file.original_filename,
'state': data_file.state,
'state_changed_at': data_file.state_changed_at,
'parse_token': data_file.current_parse_token,
'summary_status': getattr(summary, 'status', None),
},
)
"
docker-compose exec -T celery sh -c \
"find /tmp -maxdepth 1 -type f -name '*.log' -size -5M -print -exec tail -n 200 {} \\;"
- store_artifacts:
path: tdrs-frontend/cypress/screenshots/
- store_artifacts:
Expand Down
15 changes: 6 additions & 9 deletions .codex/config.toml
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
# Codex configuration for the TANF-app repository.
# Reference: https://developers.openai.com/codex/config-advanced

model = "gpt-5.5"
model = "gpt-5.6"
model_provider = "openai"

# Sandbox: allow writing within the workspace but not outside it.
sandbox_mode = "workspace-write"
approval_policy = "on-request"
default_permissions = "tdp-workspace"
approval_policy = "on-request"
default_permissions = "tdp-workspace"

[permissions.tdp-workspace]
extends = ":workspace"

# ---------------------------------------------------------------------------
# Filesystem permissions
# ---------------------------------------------------------------------------
[permissions.tdp-workspace.filesystem]
glob_scan_max_depth = 12

[permissions.tdp-workspace.filesystem.":workspace_roots"]
"." = "write"
"**/.env" = "deny"
"**/.env.*" = "deny"
"**/*.tfvars" = "deny"
Expand Down
9 changes: 4 additions & 5 deletions .gitconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@
allowed = ./tdrs-backend/plg/mimir/manifest.yml:*
allowed = ./tdrs-backend/plg/tempo/manifest.yml:*
allowed = ./tdrs-backend/plg/deploy.sh:*
allowed = .*tdrs-backend/docker-compose.yml:[0-9]+: - LOGIN_GOV_JWT_KEY=[$][{]JWT_KEY[}]
allowed = .*tdrs-backend/docker-compose.yml:[0-9]+: - AWS_SECRET_ACCESS_KEY=test
allowed = ./tdrs-backend/docker-compose.yml:106
allowed = ./tdrs-backend/docker-compose.yml:362
allowed = ./tdrs-backend/docker-compose.yml:364
allowed = ./tdrs-backend/docker-compose.yml:[0-9]+: - LOGIN_GOV_JWT_KEY=[$][{]JWT_KEY[}]
allowed = .*tdrs-backend/docker-compose.yml:[0-9]+: - LOGIN_GOV_JWT_KEY=[$][{]JWT_KEY:-[}]
allowed = ./tdrs-backend/docker-compose.yml:[0-9]+: - JWT_KEY=[$][{]JWT_KEY[}]
allowed = ./tdrs-backend/docker-compose.yml:[0-9]+: - AWS_SECRET_ACCESS_KEY=test
allowed = ./tdrs-services/parser/cloudgov_start.sh:69
patterns = (A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}
patterns = (\"|')?(AWS|aws|Aws)?_?(SECRET|secret|Secret)?_?(ACCESS|access|Access)?_?(KEY|key|Key)(\"|')?\\s*(:|=>|=)\\s*(\"|')?[A-Za-z0-9/\\+=]{40}(\"|')?
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Bug Report template
about: Template for bug reporting
title: ''
labels: bug, dev
assignees: kennymcnett, reitermb, victoriaatraft, elipe17
assignees:

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Design Deliverable issue template
about: Template for dev-ready design issues
title: ''
labels: Design Deliverable, Research & Design
labels: Design Deliverable
assignees: ''

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Research facilitation issue template
about: Template for research facilitation issues (1 per research session)
title: ''
labels: Research & Design, Research Facilitation
labels: UX Research
assignees: ''

---
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/research-planning-issue-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Research planning issue template
about: Template for research planning issues
title: ''
labels: Research & Design, Research Planning
labels: UX Research
assignees: ''

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Research synthesis issue template
about: Template for research synthesis issues
title: ''
labels: Research & Design, Research Synthesis
labels: UX Research
assignees: ''

---
Expand Down
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/story-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Story template
about: Template for story with dev / design tickets as sub issues
title: ''
labels:
task: Story
assignees: ''

---

### Background

Briefly describe the problem or need this story is addressing.

### User Story

As a [type of user], I want to [goal/action], so that I can [benefit/outcome].

### Why It Matters

Briefly explain the user or business value.

### Acceptance Criteria
* [ ] [Expected outcome 1]
* [ ] [Expected outcome 2]
* [ ] [Expected outcome 3]
* [ ] UX recommendations or approved designs are implemented, if applicable
* [ ] Testing Checklist has been run and all tests pass
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ tdrs-backend/plg/grafana_views/user_views/*
/mediafiles/*
__pycache__/
/.vscode/
/.codex/
venv
*.sqlite3
*.sqlite3-journal
Expand Down
21 changes: 17 additions & 4 deletions Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,11 @@ tasks:
queue="go-parser-integration-$(date +%s)-$$"
post_parse_queue="${queue}-post-parse"
container="tdrs-backend-go-parser-integration-$(date +%s)-$$"
post_parse_container="tdrs-backend-post-parse-integration-$(date +%s)-$$"

cleanup() {
docker rm -f "${container}" >/dev/null 2>&1 || true
docker rm -f "${post_parse_container}" >/dev/null 2>&1 || true
docker compose -f docker-compose.yml exec -T redis-server \
redis-cli DEL "${queue}" "${post_parse_queue}" >/dev/null 2>&1 || true
docker compose -f docker-compose.yml exec -T postgres \
Expand All @@ -168,6 +170,15 @@ tasks:
-e GO_PARSER_POST_PARSE_QUEUE="${post_parse_queue}" \
go-parser

docker compose -f docker-compose.yml run --rm --detach \
--name "${post_parse_container}" \
-e DB_NAME="${db_name}" \
-e DJANGO_SETTINGS_MODULE=tdpservice.settings.go_parser_integration \
-e DJANGO_CONFIGURATION=GoParserIntegration \
-e GO_PARSER_SHADOW_MODE=false \
celery \
bash -c "./wait_for_services.sh && exec celery -A tdpservice.settings worker --loglevel=INFO --pool=solo --without-gossip --without-mingle --without-heartbeat -Q '${post_parse_queue}' -n 'post-parse@%h'"

docker compose -f docker-compose.yml exec web sh -c "DB_NAME=${db_name} CELERY_GO_PARSER_QUEUE=${queue} DJANGO_SETTINGS_MODULE=tdpservice.settings.go_parser_integration DJANGO_CONFIGURATION=GoParserIntegration pytest -c pytest-go-parser.ini --basetemp=/tmp/tdp-pytest-go-integration tdpservice/parsers/test/integration {{.PYTEST_ARGS}}"

backend-pytest-go-integration-active:
Expand Down Expand Up @@ -442,12 +453,13 @@ tasks:
desc: Run Cypress E2E tests locally (Cypress on host, app in docker)
dir: tdrs-frontend
cmds:
- STALE_PARSE_TIMEOUT_SECONDS=60 STALE_PARSE_CHECK_INTERVAL_SECONDS=5 GO_PARSER_SHADOW_MODE=false CLAMAV_NEEDED=True docker compose -f ../tdrs-backend/docker-compose.yml up -d --force-recreate web celery
- docker compose -f docker-compose.local.yml up -d --build tdp-frontend
- |
if command -v corepack >/dev/null 2>&1; then
corepack prepare yarn@4.6.0 --activate && env -u ELECTRON_RUN_AS_NODE yarn test:e2e
corepack prepare yarn@4.6.0 --activate && CYPRESS_STUCK_TIMEOUT_TEST=true env -u ELECTRON_RUN_AS_NODE yarn test:e2e
else
env -u ELECTRON_RUN_AS_NODE npx --yes @yarnpkg/cli-dist@4.6.0 test:e2e
CYPRESS_STUCK_TIMEOUT_TEST=true env -u ELECTRON_RUN_AS_NODE npx --yes @yarnpkg/cli-dist@4.6.0 test:e2e
fi

frontend-e2e-ci-local:
Expand All @@ -457,14 +469,15 @@ tasks:
CYPRESS_TOKEN: '{{.CYPRESS_TOKEN | default "local-cypress-token"}}'
cmds:
- task: backend-up
- STALE_PARSE_TIMEOUT_SECONDS=60 STALE_PARSE_CHECK_INTERVAL_SECONDS=5 GO_PARSER_SHADOW_MODE=false CLAMAV_NEEDED=True docker compose -f ../tdrs-backend/docker-compose.yml up -d --force-recreate web celery
- task: e2e-env-var-setup
- docker compose -f docker-compose.local.yml up -d --build tdp-frontend
- env -u ELECTRON_RUN_AS_NODE npx cypress verify || env -u ELECTRON_RUN_AS_NODE npx cypress install --force
- |
if command -v corepack >/dev/null 2>&1; then
CYPRESS_TOKEN={{.CYPRESS_TOKEN}} env -u ELECTRON_RUN_AS_NODE yarn test:e2e-ci
CYPRESS_TOKEN={{.CYPRESS_TOKEN}} CYPRESS_STUCK_TIMEOUT_TEST=true env -u ELECTRON_RUN_AS_NODE yarn test:e2e-ci
else
CYPRESS_TOKEN={{.CYPRESS_TOKEN}} env -u ELECTRON_RUN_AS_NODE npx --yes @yarnpkg/cli-dist@4.6.0 test:e2e-ci
CYPRESS_TOKEN={{.CYPRESS_TOKEN}} CYPRESS_STUCK_TIMEOUT_TEST=true env -u ELECTRON_RUN_AS_NODE npx --yes @yarnpkg/cli-dist@4.6.0 test:e2e-ci
fi

frontend-e2e-cmd:
Expand Down
Loading