How should I scope an architecture review to simplify a private Python/JavaScript harness? #211689
🏷️ Discussion TypeQuestion BodyI’m developing a private software project using Python and JavaScript, mainly on Windows. It includes document-processing/reference workflows, an audit workflow and a web interface, spread across several repositories. AI coding tools have helped me build a substantial amount of working functionality. I also have tests, CLI tools, logs, review steps and safeguards. My concern is that the supporting harness has become too large and too specific to its original arrangement. Moving or simplifying one part can affect shared helpers, file paths, configuration, serialized records, tests and workflow steps elsewhere. The problems I want to address are:
I want to preserve the useful functionality, outputs and safeguards while making the structure substantially lighter. I would value an experienced engineer’s perspective rather than adding another large framework or doing a wholesale rewrite. For this discussion, I’m asking for advice on how to prepare and scope that review:
The repositories are private, so I have not included source code, client material or internal reports here. I can prepare sanitized examples and diagrams for a focused technical discussion. This is a request for architectural feedback and review-scoping advice, not for someone to implement the project through this thread. I’m seeking independent human engineering judgment. Guidelines
|
Replies: 3 comments 7 replies
|
Really appreciate you taking the time to explain this. You've actually touched on one of my biggest concerns. I've already had to rebuild this twice, so I'm trying to be extremely careful about what I start pulling apart. The last thing I want is to remove something I thought was just supporting infrastructure, only to discover half the system depends on it. Your point about separating the core logic from the harness makes a lot of sense, but I'm interested in how you'd actually approach that in an existing system. Would you start by mapping out all the dependencies, or would you focus on establishing tests around the current working behaviour before touching anything? And with multiple repositories interacting, how would you decide which components to decouple first? Is there a particular way you'd identify what's genuinely essential to the architecture versus complexity that's just accumulated during development? I'm also curious what you'd consider sufficient evidence that a component is truly independent and safe to separate. I'm not against putting in the work to restructure things. I just want to make sure I'm doing it for the right reasons rather than creating another rebuild for myself. Really appreciate the insight. This is exactly the kind of perspective I've been missing. |
|
@christoferpedrosanchezzuzunaga-eng Dude, THANK YOU! I've been wracking my brain for 3 weeks trying to figure out how to properly utilise the relay system I've been imagining, but everything I tried just added another ridiculous amount of layers. To clarify the inverted triangles, I pictured each one as a stage where different tools branch out to do their jobs, then converge into a single final output. That output becomes the shared base and the input for the next stage, where another set of tools branches out and eventually produces the next output. Almost like a series of electrical relay sections, where tools can be switched in and out without everything being directly connected to everything else. I've got 466 tests across the project now, and tbh I'm exhausted from it. Your explanation has genuinely given me a eureka moment. I think I've finally got a direction for simplifying what I've been trying to achieve. Would you recommend defining and locking down those output-to-input contracts first, then gradually introducing event-driven communication where it makes sense? My biggest worry is turning the relay system into another layer of scaffolding! Seriously appreciate your insight. |
|
( I got the help i needed from seniors ) |
Completely agree, Cameron. When working with regulated IP and commercial pipelines, keeping architecture discussions private is the smart move.
I'd be glad to continue the conversation in private, dude. You can reach out directly to my email: christoferpedrosanchezzuzunaga@gmail.com, or let me know if you prefer LinkedIn.
Feel free to clean up this thread whenever you're ready!