-
df20b8f18d
wave-10: close out claim mapping and redirect URI, live in production
main
Matt Mabrey
2026-09-09 13:34:32 -07:00
-
cc64c88c3e
T10.10: audit manage_users.py promote
feat/okta-oidc-auth
Matt Mabrey
2026-09-03 16:27:13 -07:00
-
dc13f9b0e3
T10.8: verification (390px/1440px, full suite, per-task done-when)
Matt Mabrey
2026-09-03 15:22:03 -07:00
-
d6eae0d846
T10.9: rollback-aware deploy runbook for the Okta cutover
Matt Mabrey
2026-09-03 14:25:18 -07:00
-
d7d1e93dd8
T10.6 - record what was built in wave-10.md
Matt Mabrey
2026-09-03 13:48:08 -07:00
-
f023192b74
T10.6 - deployment docs and env var reference describe Okta, not the never-shipped LDAP config
Matt Mabrey
2026-09-03 13:47:48 -07:00
-
78d1942a0e
T10.7 - add an explicit validation note (22/22, 26/26, 71/71)
Matt Mabrey
2026-09-03 13:34:30 -07:00
-
45aff9c423
T10.7 - record the real browser-suite verification
Matt Mabrey
2026-09-03 13:33:17 -07:00
-
290c9b078c
T10.7 - a fake-OIDC-provider test seam, mirroring ldap_fake.py
Matt Mabrey
2026-09-03 12:11:24 -07:00
-
72b10283fc
T10.5: login becomes an Okta redirect, not a form
Matt Mabrey
2026-09-03 11:27:26 -07:00
-
77f8f9f800
Fix T10.2: install SessionMiddleware, required by Authlib
Matt Mabrey
2026-09-03 11:13:28 -07:00
-
73da684b99
T10.4: remove the local password path entirely
Matt Mabrey
2026-09-03 10:57:50 -07:00
-
c74289aa0d
D16: Okta admin bootstrap and break-glass posture; correct T10.4 scope
Matt Mabrey
2026-09-03 10:35:58 -07:00
-
7ed3cbec4c
T10.3: identity matching and JIT provisioning for Okta sign-in
Matt Mabrey
2026-09-03 10:16:50 -07:00
-
a9e5ee3892
T10.2: Okta login-redirect and callback routes
Matt Mabrey
2026-09-03 10:11:49 -07:00
-
0ee35ae4ed
T10.1: Okta OIDC client dependency and config (wave 10)
Matt Mabrey
2026-09-03 09:57:55 -07:00
-
044862acba
Wave 10: task breakdown for the Okta OIDC build
Matt Mabrey
2026-09-02 17:38:35 -07:00
-
31c548318b
D15: retire D13/D14 (LDAPS, never deployed), move straight to Okta OIDC
Matt Mabrey
2026-09-02 17:20:01 -07:00
-
8f117680b0
Merge branch 'fix/alembic-transaction-per-migration': truthful migration logs
n.siegfried
2026-09-01 15:35:36 -07:00
-
-
6034c08bad
Alembic runs one transaction PER MIGRATION, not one for the whole chain
fix/alembic-transaction-per-migration
n.siegfried
2026-09-01 15:35:36 -07:00
-
-
17cabbd032
Merge branch 'fix/import-row-hazards': imports reject rows, never 500
n.siegfried
2026-09-01 15:26:38 -07:00
-
-
222c0b1c29
CR-005/D6 fix - a bad CSV row rejects by line number instead of 500ing Postgres
fix/import-row-hazards
n.siegfried
2026-09-01 15:26:37 -07:00
-
-
c99666796a
DEPLOYMENT: a pre-deploy backup sequence for the D13 auth change
feat/ldaps-directory-auth
Cody Schaefer
2026-08-24 11:55:33 -05:00
-
60b5b0c1f2
DEPLOYMENT: the Portainer variable list was missing two entries
Cody Schaefer
2026-08-24 11:51:47 -05:00
-
c6a100405d
T10.8 - document that a pre-D13 local SQLite database rejects new sign-ins
Cody Schaefer
2026-08-24 11:44:16 -05:00
-
25bc5bcd3f
member_of could not tell a failed search from a non-member
Cody Schaefer
2026-08-24 11:37:59 -05:00
-
b97ccd7ad8
Fix test env isolation: a popped variable comes back from .env
Cody Schaefer
2026-08-24 10:09:03 -05:00
-
3f4cd7ac92
Make a refused sign-in visible in the log
Cody Schaefer
2026-08-24 10:07:17 -05:00
-
332b74e5de
T10.2 - actually implement the startup line the docs send people to
Cody Schaefer
2026-08-24 10:05:00 -05:00
-
eecd724e02
T10.7 - close four more done-when boxes offline; token_version was mis-specified
Cody Schaefer
2026-08-24 09:51:58 -05:00
-
24fff382c8
T10.7 - cover the throttle and local is_active; tick what was verified
Cody Schaefer
2026-08-24 09:42:45 -05:00
-
d261024139
T10.6 - before/after login screenshots at 390px and 1440px
Cody Schaefer
2026-08-24 09:35:20 -05:00
-
79787b3e9f
T10.7 - full suite result recorded: 1284/1288 across 40 files
Cody Schaefer
2026-08-24 09:31:43 -05:00
-
e0008670fc
T10.5 closed, not built - the required group stays an env var
Cody Schaefer
2026-08-24 09:27:07 -05:00
-
c47b2ae210
T10.7 D13 - the suite runs without a domain controller
Cody Schaefer
2026-08-24 09:18:05 -05:00
-
dc0cee240e
T10.8 D13/D14 - documentation matches what the code now does
Cody Schaefer
2026-08-24 08:26:31 -05:00
-
8d49fb9248
T10.9 fix - the CLI's auth failure said nothing useful
Cody Schaefer
2026-08-21 16:00:50 -05:00
-
495d87dd72
Fix T8.6 migration: boolean default that Postgres rejects outright
Cody Schaefer
2026-08-21 15:51:43 -05:00
-
c5540ce6da
T10.9 D14 - the CLI authenticates against the domain; create-admin/create removed
Cody Schaefer
2026-08-21 15:40:56 -05:00
-
9f91e9e26b
T10.3 fix - the drop migration was deleting every project membership
Cody Schaefer
2026-08-21 15:36:44 -05:00
-
ab7bce9f5b
T10.6 D13 - strip the password UI; "Forgot password?" goes to Okta
Cody Schaefer
2026-08-21 15:30:16 -05:00
-
8cfb4c1008
T10.3 D13 - drop users.password_hash and every path that touched it
Cody Schaefer
2026-08-21 15:26:43 -05:00
-
0de746bc62
T10.4 D13 - provision on first sign-in without trampling existing accounts
Cody Schaefer
2026-08-21 15:11:38 -05:00
-
2a3c4a83fa
T10.2 D13 - login binds against the domain instead of comparing a hash
Cody Schaefer
2026-08-21 15:09:00 -05:00
-
e31234beef
Merge branch 'docs/bl-026-027': the outage's two lessons, backlogged
n.siegfried
2026-08-21 12:20:32 -07:00
-
-
6057d05b98
BL-026 / BL-027 - the two lessons of the Aug 21 outage, logged
docs/bl-026-027
n.siegfried
2026-08-21 12:20:30 -07:00
-
-
0577660c86
T10.1 D13 - the LDAPS client, verified against the live domain
Cody Schaefer
2026-08-21 14:06:49 -05:00
-
64eac0cbbb
Merge branch 'fix/material-items-boolean-default': the Postgres deploy hotfix
n.siegfried
2026-08-21 12:05:27 -07:00
-
-
8f280d4bd1
D6 hotfix - the material_items migration crashed Postgres at deploy
fix/material-items-boolean-default
n.siegfried
2026-08-21 12:05:27 -07:00
-
-
3c9343dfc8
D13 / wave 10 - the decision and the task file, before any code
Cody Schaefer
2026-08-21 13:54:01 -05:00
-
-
a8e28bf3ab
Merge branch 'feat/wp-suite-r3-housekeeping': the Aug 20 decisions, built
n.siegfried
2026-08-21 10:28:09 -07:00
-
-
29c4cd313e
S13 - already fixed at T1.6; the records said otherwise, now corrected
feat/wp-suite-r3-housekeeping
n.siegfried
2026-08-20 18:26:40 -07:00
-
8fe7b25cd8
BL-025 - the last tint of the second brand blue, and the grep that missed it
n.siegfried
2026-08-20 18:24:43 -07:00
-
560f0cb3cc
BL-024 - the last 21 native dialogs, onto the shared kit
n.siegfried
2026-08-20 18:23:46 -07:00
-
24f60151e5
BL-021 - the critical-reopen mail reaches the PM and CM, at last
n.siegfried
2026-08-20 18:17:31 -07:00
-
031dc6b995
D12 - the productivity factor, on the dashboard (was BL-023)
n.siegfried
2026-08-20 18:14:15 -07:00
-
0f28a27441
CR-014 - bodies carry customer context and the link carries the content
n.siegfried
2026-08-20 18:11:37 -07:00
-
16afc56c0a
CR-011 transport - pin the EHLO name; DNS trouble was stalling every send 5s
n.siegfried
2026-08-20 18:05:43 -07:00
-
8efe624d5d
F6 - strict 2.0: the creator fits two screens at rest (closes BL-022)
n.siegfried
2026-08-20 17:52:28 -07:00
-
24476c86a6
Decisions of 2026-08-20 (evening), recorded
n.siegfried
2026-08-20 17:45:58 -07:00
-
-
cc761c8f7d
Merge branch 'feat/wp-suite-r2-implementation': the R2 plan, complete
n.siegfried
2026-08-20 17:34:17 -07:00
-
-
fb89b1f6e1
S8 fix - help centre glossary classes leaked onto the Issue (hold) status pill
feat/wp-suite-r2-implementation
n.siegfried
2026-08-20 15:59:30 -07:00
-
8663d81af3
C4/D11 follow-up - the integration review's seven confirmed findings
n.siegfried
2026-08-20 12:09:40 -07:00
-
8cf8c0f882
D11 - merge origin/Micron-Assets: the Micron asset picker, adapted to R2
n.siegfried
2026-08-20 11:45:32 -07:00
-
-
2a5f6b3549
C4 fix - five undefined token names rendered surfaces transparent
n.siegfried
2026-08-20 11:27:12 -07:00
-
454bfa0fe1
T9.7 + wave 9 exit - all 65 items, reconciled
n.siegfried
2026-08-19 14:29:29 -07:00
-
23ee0b052f
T9.9 - C4 + the backlog sweep: nine entries closed, each re-measured first
n.siegfried
2026-08-19 14:27:26 -07:00
-
771672273d
T9.8 - D7: archiving stops reading as deletion - for project admins
n.siegfried
2026-08-19 13:58:51 -07:00
-
6201fcfb4a
T9.6 - C2: the 390px pass, measured on all seven pages
n.siegfried
2026-08-19 13:47:17 -07:00
-
0dcea8d725
T9.5 - C1+S8: the help-tip is real, the audit is written, BL-001 is dead
n.siegfried
2026-08-19 13:37:10 -07:00
-
b83f2fd8d5
T9.3 - S6: one icon system - monochrome text glyphs, one meaning each
n.siegfried
2026-08-19 13:15:59 -07:00
-
b44afa7672
T9.4 - S7: one sample-data affordance, confirmed, and fenced off the project
n.siegfried
2026-08-19 13:05:56 -07:00
-
c2a1cc7c26
T9.2 - CR-017: Actual Hours is still there, still optional, still counted
n.siegfried
2026-08-19 12:53:00 -07:00
-
eb1497d574
T9.1 - CR-008: the export, finally walked through
n.siegfried
2026-08-19 12:51:44 -07:00
-
bf28489954
Wave 8 exit - kitting has structure, and material moves on the record
n.siegfried
2026-08-19 12:34:02 -07:00
-
898e5dab94
T8.5 - CR-013/D6: the material request is structure, not features
n.siegfried
2026-08-19 12:33:34 -07:00
-
190144c539
T8.6 - D6: the material list uploads the way the location list does
n.siegfried
2026-08-19 12:24:21 -07:00
-
b9d5f8ef92
T8.4 - CR-012: the delivery location is the shared vocabulary plus fifty feet
n.siegfried
2026-08-19 12:11:05 -07:00
-
829fa22236
T8.3 - CR-011: material moves, the field hears about it once
n.siegfried
2026-08-19 12:05:24 -07:00
-
96387105f4
T8.2 - CR-010: the warehouse owner is an account, on the package
n.siegfried
2026-08-19 12:00:14 -07:00
-
79c4a36c70
T8.1 - CR-009: kitting statuses are a set, and Micron EUV is not kitting
n.siegfried
2026-08-19 11:55:39 -07:00
-
b1a7fe04bc
Wave 7 exit - the creator is a page, the hold clears, QA is in the loop
n.siegfried
2026-08-19 11:47:23 -07:00
-
7f712b7e00
T7.9 - S1 (creator): errors at the field, and the last 40 native dialogs gone
n.siegfried
2026-08-19 11:46:25 -07:00
-
82a8f30074
T7.10 - D5: one analytics implementation, and its report on the admin console
n.siegfried
2026-08-19 11:29:27 -07:00
-
e3de3c7c00
T7.8 - B6: the wizard's actions ride the viewport, not the page
n.siegfried
2026-08-19 11:14:33 -07:00
-
c084f730b3
T7.7 - CR-007/D8: the sheet travels with the package, and opens offline
n.siegfried
2026-08-19 11:09:35 -07:00
-
2486f87010
T7.6 - CR-014/D2/D9/D10: the Ready for QA gate, notification only, shipped off
n.siegfried
2026-08-19 10:54:07 -07:00
-
5d27a1e086
T7.5 - A6: the sidebar answers the stand-up question
n.siegfried
2026-08-19 10:28:02 -07:00
-
60434d452c
T7.4 - A2: one warning, said once, visible from anywhere
n.siegfried
2026-08-19 10:20:12 -07:00
-
2b597e68d8
T7.3 - CR-015/A1/D4: the hold clears when the constraints do
n.siegfried
2026-08-19 10:05:57 -07:00
-
755c976841
T7.2 - F6/D3: the form gets structure - a section rail, one section open
n.siegfried
2026-08-19 09:38:31 -07:00
-
7ef1fcdd96
Add Micron asset picker to work package creator
Micron-Assets
Cody Schaefer
2026-08-18 14:56:55 -05:00
-
-
-
12d19446d5
T7.1 - B7: dissolve the creator iframe, and D1 give it back its sample data
n.siegfried
2026-08-18 14:26:27 -05:00
-
0dbc240900
Wave 7 prep - record the Aug 18 decisions as D1-D10 and amend the waves
n.siegfried
2026-08-18 13:29:58 -05:00
-
d092db3920
T7.1 prep - measure the iframe boundary before dissolving it
n.siegfried
2026-08-17 00:28:25 -05:00
-
7e33a3cbfd
Wave 6 exit - the work package's general information
n.siegfried
2026-08-17 00:26:29 -05:00
-
815f266039
T6.5 - A7: cards say their state, the footer says what it is showing
n.siegfried
2026-08-17 00:24:27 -05:00
-
4d186ea6a0
T6.3/T6.4 - CR-004 and CR-018: picked not typed, and totals that add up
n.siegfried
2026-08-17 00:24:00 -05:00
-
ce2d008897
T6.1/T6.2 - CR-001 and CR-003: the schedule driver and the urgency
n.siegfried
2026-08-16 14:21:57 -05:00
-
7893a56ea2
Wave 5 exit - record what shipped and where the counts landed
n.siegfried
2026-08-16 14:05:16 -05:00