From: marcus.heller@intralink-systems.com To: dev-team@intralink-systems.com Date: Mon, 03 Feb 2025 08:47:12 -0500 Subject: Kickoff: Project Halyard All, Quick note to confirm the project Halyard kickoff meeting is Thursday at 2pm in conf room B. We'll be going over the initial architecture proposal and divvying up workstreams. Please make sure you've read the brief that Sandra circulated last week. If you didn't get it, ping sandra.okafor@intralink-systems.com and she'll resend. Also looping in the QA lead - welcome to the thread, priya.nair@intralink-systems.com. - Marcus Marcus Heller | Engineering Manager marcus.heller@intralink-systems.com | ext. 4201 --- From: priya.nair@intralink-systems.com To: dev-team@intralink-systems.com Date: Mon, 03 Feb 2025 09:15:44 -0500 Subject: Re: Kickoff: Project Halyard Thanks for the invite Marcus. I've read the brief - looks straightforward from a QA perspective, though I have some questions about the integration test strategy. I'll save them for Thursday. Is Danny joining too? I usually loop in danny.walsh@intralink-systems.com for anything touching the auth layer. - Priya --- From: marcus.heller@intralink-systems.com To: dev-team@intralink-systems.com CC: danny.walsh@intralink-systems.com Date: Mon, 03 Feb 2025 09:34:02 -0500 Subject: Re: Kickoff: Project Halyard Good call - added Danny. He's also been working with the contractor we brought on for the API work, so relevant all around. The contractor's contact is joel.ferreira@hexbridge.io if anyone needs to reach him directly, though for now route questions through Danny. - Marcus --- From: danny.walsh@intralink-systems.com To: dev-team@intralink-systems.com Date: Mon, 03 Feb 2025 10:02:19 -0500 Subject: Re: Kickoff: Project Halyard Thanks for the add. Quick heads up: Joel is on Pacific time so don't expect responses from joel.ferreira@hexbridge.io before noon our time. I'll put together a short summary of where the API work stands before Thursday. Should I send it to this list or to halyard-core@intralink-systems.com? - Danny Danny Walsh | Senior Developer danny.walsh@intralink-systems.com | ext. 4318 --- From: sandra.okafor@intralink-systems.com To: dev-team@intralink-systems.com Date: Mon, 03 Feb 2025 10:28:55 -0500 Subject: Re: Kickoff: Project Halyard Send to halyard-core@intralink-systems.com - I set it up last week specifically to keep this project's traffic organized. Everyone on this thread is already subscribed. If anyone else needs adding let me know. Also Marcus - facilities confirmed the room but said if we go over 8 people we'll need to switch to the Lakeview room on 4. Current headcount is 6 so we should be fine, but cc'ing facilities@intralink-systems.com just in case. - Sandra Sandra Okafor | Project Coordinator sandra.okafor@intralink-systems.com | ext. 4105 --- From: tom.brightwell@intralink-systems.com To: halyard-core@intralink-systems.com Date: Tue, 04 Feb 2025 08:15:30 -0500 Subject: Architecture proposal - comments Hi all, I've been through Sandra's brief and I have a few concerns about the proposed data layer. Specifically the plan to use a shared cache between the user service and the reporting module feels risky. I've sketched out an alternative and put it in the shared drive. Can people take a look before Thursday? Looping in our DBA, roberto.figueroa@intralink-systems.com, since this affects the schema quite a bit. - Tom Tom Brightwell | Backend Developer tom.brightwell@intralink-systems.com | ext. 4422 --- From: roberto.figueroa@intralink-systems.com To: halyard-core@intralink-systems.com Date: Tue, 04 Feb 2025 09:50:14 -0500 Subject: Re: Architecture proposal - comments Tom, Looked at your sketch. The schema changes are manageable but I want to talk through the migration path - we can't take the users table offline during business hours. Also I noticed the proposal doesn't account for the archiving job that runs nightly. That goes through a separate service maintained by ops. CC'ing lisa.tran@intralink-systems.com from the ops team. Roberto --- From: lisa.tran@intralink-systems.com To: halyard-core@intralink-systems.com Date: Tue, 04 Feb 2025 11:12:08 -0500 Subject: Re: Architecture proposal - comments Hi, Thanks for the loop-in Roberto. The archiving job is pretty sensitive - any schema changes need a two-week notice so we can update the ETL scripts. Please keep ops@intralink-systems.com in the loop going forward. Happy to join Thursday's call if useful. - Lisa Lisa Tran | Operations Engineer lisa.tran@intralink-systems.com | ext. 4567 --- From: marcus.heller@intralink-systems.com To: halyard-core@intralink-systems.com Date: Tue, 04 Feb 2025 12:00:33 -0500 Subject: Re: Architecture proposal - comments Lisa - yes please join Thursday. Roberto, can you and Tom sync for 30 mins beforehand so you're not hashing out the migration details in the main meeting? I've updated the invite. Current attendee list: - marcus.heller@intralink-systems.com - sandra.okafor@intralink-systems.com - tom.brightwell@intralink-systems.com - danny.walsh@intralink-systems.com - priya.nair@intralink-systems.com - roberto.figueroa@intralink-systems.com - lisa.tran@intralink-systems.com - joel.ferreira@hexbridge.io (remote) That's 8 - Sandra, we might need that Lakeview room after all. - Marcus --- From: sandra.okafor@intralink-systems.com To: halyard-core@intralink-systems.com CC: facilities@intralink-systems.com Date: Tue, 04 Feb 2025 12:22:17 -0500 Subject: Re: Architecture proposal - comments On it - I've emailed facilities@intralink-systems.com to switch the booking. Will confirm once I hear back. - Sandra --- From: danny.walsh@intralink-systems.com To: halyard-core@intralink-systems.com Date: Wed, 05 Feb 2025 09:05:44 -0500 Subject: API status summary All, Here's where things stand with the API work ahead of tomorrow's meeting. Joel (joel.ferreira@hexbridge.io) has completed the initial endpoint stubs for the user and billing modules. Auth endpoints are in progress - we're using the same token pattern as the existing platform so it should be a clean integration. Outstanding questions: 1. Rate limiting strategy - Joel flagged this, needs a decision from Marcus 2. Error response format - need sign-off from priya.nair@intralink-systems.com before Joel standardizes across endpoints 3. API versioning - tom.brightwell@intralink-systems.com had opinions on this, let's get it on the Thursday agenda Full status doc is in the shared drive. Questions to me or directly to joel.ferreira@hexbridge.io. - Danny --- From: priya.nair@intralink-systems.com To: halyard-core@intralink-systems.com Date: Wed, 05 Feb 2025 10:30:19 -0500 Subject: Re: API status summary On error response format - I'll put together a short spec today and send it to danny.walsh@intralink-systems.com and joel.ferreira@hexbridge.io before EOD. That way Joel can review overnight and we can finalize Thursday. Also flagging: I still don't have access to the test environment. Someone with admin access needs to add qa-team@intralink-systems.com. Marcus, can you raise that with IT? Their helpdesk is it-support@intralink-systems.com. - Priya --- From: marcus.heller@intralink-systems.com To: it-support@intralink-systems.com CC: priya.nair@intralink-systems.com Date: Wed, 05 Feb 2025 10:55:02 -0500 Subject: Access request - Halyard test environment Hi, Can you please grant environment access to qa-team@intralink-systems.com for the Halyard test environment (halyard-test.intralink-systems.com)? This is needed ahead of QA starting integration testing next week. Approving manager: marcus.heller@intralink-systems.com Requestor contact: priya.nair@intralink-systems.com Thanks, Marcus --- From: it-support@intralink-systems.com To: marcus.heller@intralink-systems.com CC: priya.nair@intralink-systems.com Date: Wed, 05 Feb 2025 13:41:08 -0500 Subject: Re: Access request - Halyard test environment Hi Marcus, Access granted for qa-team@intralink-systems.com. Priya, you should be able to log in now. Please use your standard SSO credentials. If you have issues contact helpdesk@intralink-systems.com or call ext. 1000. Note: access will expire in 90 days and will need to be renewed by the approving manager. - IT Support --- From: tom.brightwell@intralink-systems.com To: halyard-core@intralink-systems.com Date: Wed, 05 Feb 2025 14:20:55 -0500 Subject: API versioning - my take Since Danny put it on the agenda - my position is that we should version from day one even if v1 is the only version for the foreseeable future. Retrofitting versioning later is painful. I wrote this up more fully last year for a different project - I can dig it out if useful. roberto.figueroa@intralink-systems.com might remember the discussion, we went back and forth on it for the payments API. - Tom --- From: roberto.figueroa@intralink-systems.com To: halyard-core@intralink-systems.com Date: Wed, 05 Feb 2025 15:08:27 -0500 Subject: Re: API versioning - my take I remember it. I was wrong, Tom was right, versioning from the start saved us a significant headache six months later. Strong +1. Joel should be aware too - cc'ing joel.ferreira@hexbridge.io. Roberto --- From: joel.ferreira@hexbridge.io To: halyard-core@intralink-systems.com Date: Wed, 05 Feb 2025 13:15:44 -0800 Subject: Re: API versioning - my take Agreed, versioning from day one is easy to add now and painful to add later. I can have the stubs updated to include /v1/ paths by end of week. Also received Priya's error spec - looks good, I'll implement it across the board. If there are edge cases I'll follow up with priya.nair@intralink-systems.com directly. - Joel Joel Ferreira | Contract Developer joel.ferreira@hexbridge.io --- From: sandra.okafor@intralink-systems.com To: halyard-core@intralink-systems.com Date: Wed, 05 Feb 2025 16:45:00 -0500 Subject: Thursday logistics confirmed All, Lakeview room on 4 is confirmed for 2pm tomorrow. Facilities replied to facilities@intralink-systems.com and I've updated the calendar invite. Dial-in for Joel: the meeting link is in the invite. Joel, if you have trouble joining ping me at sandra.okafor@intralink-systems.com and I'll sort it out. See everyone tomorrow. - Sandra --- From: marcus.heller@intralink-systems.com To: halyard-core@intralink-systems.com Date: Fri, 07 Feb 2025 09:30:00 -0500 Subject: Thursday meeting - notes and actions All, Thanks for a productive meeting. Notes below. DECISIONS: - Shared cache approach rejected; Tom's alternative approved pending Roberto's migration plan. roberto.figueroa@intralink-systems.com to circulate plan by Feb 14. - API versioning: /v1/ paths confirmed. joel.ferreira@hexbridge.io to update stubs by Feb 10. - Error response spec: Priya's spec adopted as written. - Rate limiting: 100 req/min per token for now, revisit at first milestone. ACTIONS: - roberto.figueroa@intralink-systems.com: migration plan, due Feb 14 - joel.ferreira@hexbridge.io: update API stubs, due Feb 10 - danny.walsh@intralink-systems.com: review updated stubs and sign off - priya.nair@intralink-systems.com: begin integration test plan - lisa.tran@intralink-systems.com: confirm ETL update timeline with ops team - tom.brightwell@intralink-systems.com: begin data layer implementation Next sync is Feb 20. Sandra will send the invite. Any corrections to these notes, reply to marcus.heller@intralink-systems.com. - Marcus Marcus Heller | Engineering Manager marcus.heller@intralink-systems.com | ext. 4201 --- From: lisa.tran@intralink-systems.com To: halyard-core@intralink-systems.com CC: ops@intralink-systems.com Date: Fri, 07 Feb 2025 11:02:44 -0500 Subject: Re: Thursday meeting - notes and actions Marcus, Spoke with the ops team. ETL update will take approximately 10 days once we have the final schema. Roberto, please send the migration plan to ops@intralink-systems.com as well as the halyard list when it's ready. - Lisa --- From: roberto.figueroa@intralink-systems.com To: halyard-core@intralink-systems.com Date: Fri, 14 Feb 2025 16:55:02 -0500 Subject: Migration plan - DRAFT All, Draft migration plan attached. Key points: - Migration runs in three phases to avoid downtime - Phase 1 can run any weekend; phases 2 and 3 require a maintenance window - Estimated total downtime: 12 minutes across two weekends - Ops needs 10 days after receiving this to update ETL scripts Sending to ops@intralink-systems.com separately per Lisa's request. Please review and send comments to roberto.figueroa@intralink-systems.com by Feb 18. If no objections I'll mark it final. Roberto Roberto Figueroa | Database Administrator roberto.figueroa@intralink-systems.com | ext. 4290 --- From: tom.brightwell@intralink-systems.com To: roberto.figueroa@intralink-systems.com CC: halyard-core@intralink-systems.com Date: Mon, 17 Feb 2025 10:15:33 -0500 Subject: Re: Migration plan - DRAFT Roberto, One question on phase 2 - the plan references a foreign key constraint on the sessions table that I don't think exists in the current schema. Can you confirm? If it's not there we might be able to cut phase 2 down significantly. - Tom --- From: roberto.figueroa@intralink-systems.com To: tom.brightwell@intralink-systems.com CC: halyard-core@intralink-systems.com Date: Mon, 17 Feb 2025 11:40:09 -0500 Subject: Re: Migration plan - DRAFT Good catch. That constraint was removed in a patch last August. I'll revise the plan - should simplify things considerably. Updated draft to halyard-core@intralink-systems.com by EOD. Roberto --- From: danny.walsh@intralink-systems.com To: halyard-core@intralink-systems.com Date: Mon, 17 Feb 2025 14:22:18 -0500 Subject: API stubs reviewed - approved with minor notes Joel, Reviewed the updated stubs. Overall looks great. Two minor things: 1. The /v1/users/search endpoint returns a 200 with an empty array for no results - should be a 404. Please check with priya.nair@intralink-systems.com on whether the spec addresses this. 2. Timeout behavior on the billing endpoints is undefined. Can you add a note in the docs? Not blocking but worth capturing. Otherwise approved. Good work. - Danny (Forwarding to halyard-core@intralink-systems.com for visibility, direct replies to danny.walsh@intralink-systems.com and joel.ferreira@hexbridge.io) --- From: joel.ferreira@hexbridge.io To: danny.walsh@intralink-systems.com CC: priya.nair@intralink-systems.com, halyard-core@intralink-systems.com Date: Mon, 17 Feb 2025 12:18:55 -0800 Subject: Re: API stubs reviewed - approved with minor notes Danny, On point 1 - you're right, 404 is more correct. Priya, does the spec need updating or is this covered under the general error handling section? On point 2 - I'll add a note. Default is 30s, consistent with the rest of the platform. - Joel --- From: priya.nair@intralink-systems.com To: joel.ferreira@hexbridge.io CC: danny.walsh@intralink-systems.com, halyard-core@intralink-systems.com Date: Tue, 18 Feb 2025 09:05:22 -0500 Subject: Re: API stubs reviewed - approved with minor notes Joel, The spec should be updated - the general section doesn't cover empty result sets explicitly. I'll push an update today. I'll send the revised spec to joel.ferreira@hexbridge.io and danny.walsh@intralink-systems.com directly. - Priya --- From: marcus.heller@intralink-systems.com To: halyard-core@intralink-systems.com Date: Thu, 20 Feb 2025 09:00:00 -0500 Subject: Feb 20 sync - agenda All, Agenda for today's 2pm sync: 1. Migration plan status (Roberto) 2. API stubs sign-off (Danny/Joel) 3. Integration test plan update (Priya) 4. Data layer progress (Tom) 5. Any blockers If you have additions send them to marcus.heller@intralink-systems.com before 1pm. - Marcus --- From: sandra.okafor@intralink-systems.com To: halyard-core@intralink-systems.com Date: Thu, 20 Feb 2025 09:45:12 -0500 Subject: Re: Feb 20 sync - agenda Room is the same Lakeview on 4. Joel, same dial-in as before - if you've lost the link email sandra.okafor@intralink-systems.com. - Sandra